commit 84e6658efaf9b64292d1b386c51f91a75f792be1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 30 12:22:08 2026 -0400

    Make OpenAFS 1.8.16
    
    Update version strings for the 1.8.16 release.
    
    Change-Id: I41e1e0a3305ca85d859fa6b876008a0c3432f88d
    Reviewed-on: https://gerrit.openafs.org/16786
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 083536eb89797be662229c0033f9a5b4f5089321
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 30 12:19:42 2026 -0400

    Update NEWS for OpenAFS 1.8.16
    
    Change-Id: I49e1f32d5d17fb5f86e08e86c1938065dd8c997a
    Reviewed-on: https://gerrit.openafs.org/16785
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8507608e3f07b0c0e76062a29ebae12740406d28
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 15 16:49:50 2026 +0000

    RedHat: Add packaging support for Amazon Linux
    
    Add support to build RPMs for the Amazon Linux distribution.
    
    The 'amzn' macro is set when building on Amazon Linux. The values at
    this time can be '1', '2', or '2023', which indicate the major releases.
    Update our platform conditionals in the spec file and the custom
    openafs-kmodtool to support this macro.
    
    Amazon Linux 2023 added a "1:" epoch to the version of its kernel
    packages, which isn't visible in the 'uname -r' output. For example:
    
        $ uname -r
        6.1.166-197.305.amzn2023.x86_64
        $ rpm -q --provides kernel | grep kernel-x86_64
        kernel-x86_64 = 1:6.1.166-197.305.amzn2023
    
    We need to match that version in our various fields; for example, if we
    declare Requires for kernel "6.1.166-197.305.amzn2023" (without an
    epoch), we're requiring a version that doesn't exist, so our package is
    unusable. We must require kernel "1:6.1.166-197.305.amzn2023" instead.
    
    To fix this, introduce the `kernel_epoch` shell variable in
    `openafs-kmodtool` to support the kernel version epoch, and set it to
    "1:" for amzn2023.  The new "kernel_epoch" is not set for other
    RHEL-like distributions (e.g. RHEL, Fedora, Rocky, Alma Linux).
    
    Note: The kernel_epoch is not to be confused with the existing epoch
    macro. The latter is a placeholder for the openafs package version, not
    the kernel version.
    
    FIXES 135591
    FIXES 135592
    Reviewed-on: https://gerrit.openafs.org/16777
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 88ac75b008aa38fc77ca96cf6caa9d7f20ea4167)
    
    Change-Id: I6668454d0faa22634e7ecf01cba29063dfd0cf6e
    Reviewed-on: https://gerrit.openafs.org/16783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9045e297006dab4bed9e66aa45d2a911fe8b810d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sat Apr 25 10:36:01 2026 -0400

    RedHat: Remove kmod debuginfo pkg on newer distros
    
    Starting with RHEL 8 and Fedora 28, building the kmod debuginfo package
    is done automaticaly when building the kmod package. Currently, we
    always define an explicit separate debuginfo package for the kmod, which
    is redundant, and generates numerous warnings because we're effectively
    making the same package twice. For example:
    
        $ make rpm
        [...]
        rpmbuild --rebuild [...] packages/openafs-*.src.rpm
        [...]
        package kmod-openafs-debuginfo already exists
        File listed twice: /usr/lib/debug
        File listed twice: /usr/lib/debug/.build-id/6b/160aa196a99d8416e273152499541bfbd8791b
        File listed twice: /usr/lib/debug/.build-id/6b/160aa196a99d8416e273152499541bfbd8791b.debug
        File listed twice: /usr/lib/debug/lib
        File listed twice: /usr/lib/debug/lib/modules
        File listed twice: /usr/lib/debug/lib/modules/6.12.0-124.49.1.el10_1.x86_64
        [...]
    
    Remove the explicit kmod debuginfo package for RHEL 8+ and Fedora 28+ to
    avoid these warnings.
    
    Reviewed-on: https://gerrit.openafs.org/16776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit ab01859f59c89a4235d3d8de164ececa00d60960)
    
    Change-Id: I6122812831687b37d326de0f6d2de650c5d6d6fc
    Reviewed-on: https://gerrit.openafs.org/16782
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8c3d856b94591328423e148773546c2684af90bd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Apr 25 19:56:21 2026 -0400

    RedHat: Remove macros in comment
    
    rpmbuild expands macros before processing comments, which is intentional
    but can lead to surprises.  Remove macros from the comment added in
    commit ece5b1727a94 (RedHat: Set source_date_epoch to the current system
    time) to fix the rpmbuild warning message:
    
       warning: Macro expanded in comment on line 17: %source_date_epoch_from_changelog to 1 and update the %changelog
    
    Reviewed-on: https://gerrit.openafs.org/16775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 938b710347d198a33a03dfb1c5612109ed6837be)
    
    Change-Id: I245f35e08d20f2cf9b57b8c70fc873ec392d8a3c
    Reviewed-on: https://gerrit.openafs.org/16781
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1ef1cf3b31c1c2452227cc49c551d0f50c07bc60
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Apr 11 12:13:44 2026 -0400

    RedHat: Set source_date_epoch to the current system time
    
    Modern versions of rpmbuild (since 2016) support reproducible builds by
    extracting the timestamp of the last entry of the changelog to use as a
    build timestamp, called `source_date_epoch`. The `source_date_epoch`
    timestamp is used to clamp the modification times of the files generated
    (instead of the current system time), to set timestamps in the package
    metadata (e.g., BUILDTIME), and to set the SOURCE_DATE_EPOCH environment
    variable during the build.  The SOURCE_DATE_EPOCH environment variable is
    honored by the OpenAFS build system by embedding a timestamp in the
    version string displayed by `rxdebug -version`.
    
    Extracting the `source_date_epoch` timestamp from the %changelog works
    well for downstream packaging, but is not ideal for our in-tree spec
    file. Since this is used for development and as a reference for
    packagers, the %changelog is not updated for each release. As a result,
    the packages built with the in-tree spec file contain very old build
    dates.
    
    This change modifies our in-tree spec file to disable the default
    behavior of extracting the `source_date_epoch` timestamp from the
    changelog. Instead, set the `source_date_epoch` to the current system
    time by default. Support is also added to allow the builder to specify
    the `source_date_epoch` on the command line or in a macro file (e.g.,
    ~/.rpmmacros).
    
    For example, to specify the timestamp from a tag name:
    
        $ rpmbuild --define "source_date_epoch $(git log -1 --format=%ct openafs-stable-1_9_3pre1)" ...
    
    To specify the timestamp from the mtime of a file:
    
        $ rpmbuild --define "source_date_epoch $(date +%s -r path/to/filename)" ...
    
    Include a comment to encourage downstream packagers to set the
    `source_date_epoch_from_changelog` to 1 and update the %changelog on each
    release.
    
    Reviewed-on: https://gerrit.openafs.org/16772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit ece5b1727a940e8185f0386b66e874ed0640909b)
    
    Change-Id: I08100fcb2c5fc7547de416026f790c9735e9bbaf
    Reviewed-on: https://gerrit.openafs.org/16780
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0b3d8b86df95e78aaa0c05e9439ccaf21d872077
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Nov 11 15:10:32 2025 -0500

    Make OpenAFS 1.8.16pre1
    
    Update version strings for the 1.8.16pre1 release.
    
    Change-Id: I2f75a0ffd5c9aa6a68b1d4be70527402ecd1193a
    Reviewed-on: https://gerrit.openafs.org/16740
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e60980e977d9b8d6b407ff0c02d4c89968167f07
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Apr 1 14:12:10 2026 -0600

    Update NEWS for OpenAFS 1.8.16pre1
    
    Change-Id: I0562b97e7dd64b4620280f068fd501ee630a37d3
    Reviewed-on: https://gerrit.openafs.org/16739
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 61a4b70259300c14b91d172e61d196f44648dfad
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 9 18:35:01 2023 -0600

    libtool: Make libfoo.krb depend on libfoo
    
    During parallel builds, we can run the final 'libtool --mode=link'
    step for, say, pam_afs.la and pam_afs.krb.la in parallel. When libtool
    runs --mode=link for these libraries, it effectively does the
    following (amongst many other steps):
    
    - rm -rf .libs/"$libname".*
    - mkdir .libs/"$libname".lax
    - mkdir .libs/"$libname".lax/libopr_pic.a
    
    The 'rm -rf' cleans up any lingering files from previous runs in the
    .libs dir (e.g. .libs/pam_afs.a, .libs/pam_afs.lai, etc etc). The
    '.lax' directory is used as a temporary space to extract object files
    in dependant libs. And of course it creates various other files in
    there named like .libs/pam_afs.lai.
    
    But if we're building a library called pam_afs.krb.la, then some of
    our temporary files will be named like .libs/pam_afs.krb.lax, which
    get deleted when building pam_afs.la when it deletes
    ".libs/pam_afs.*". So, if we build pam_afs.la while the libtool
    command for pam_afs.krb.la is using .libs/pam_afs.krb.lax, the
    temporary files can get deleted out from under us, causing rare
    confusing libtool errors. For example:
    
        /bin/sh ../../libtool --quiet --mode=link --tag=CC gcc  -rpath /usr/local/lib \
                -module -no-undefined -o pam_afs.la [...]
        /bin/sh ../../libtool --quiet --mode=link --tag=CC gcc  -rpath /usr/local/lib \
                -module -no-undefined -o pam_afs.krb.la [...]
        ../../libtool: line 1719: cd: .libs/pam_afs.krb.lax/libopr_pic.a: No such file or directory
        make[3]: *** [Makefile:76: pam_afs.krb.la] Error 1
        make[3]: *** Waiting for unfinished jobs....
    
    Fortunately, most of the libraries we build don't have dots in their
    name, and so avoid this issue. But we do have a few libraries that
    build a ".krb" variant, and so can be impacted by this. This includes
    pam_afs.krb, libauth.krb, and libkauth.krb.
    
    To make sure these libraries don't encounter this problem, make the
    .krb variant depend on the non-.krb variant, so the libraries aren't
    built in parallel.
    
    Reviewed-on: https://gerrit.openafs.org/15328
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit d93871b054e814bf0d5b02dc0d06c17845ee4edd)
    
    Change-Id: I955d41d2e43440f201d81c544995109a89fe5df0
    Reviewed-on: https://gerrit.openafs.org/16758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3f4168147dd3905a24bcef445f5c9ac553ba5d69
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Mar 25 16:20:30 2026 -0400

    macOS: Package some LWP binaries as x86_64 only
    
    Many commands built with LWP currently fail on macOS arm64 (Apple
    Silicon) on 1.8.x:
    
       $ fs mkmount <path> <volname>
       Segmentation fault: 11
       $ fs mkmount <path> <volname>
       Bus error: 10
    
    To avoid this, use the 'lipo' utility to convert a few LWP programs to
    "thin" x86_64 binaries when we build our macOS packages, if we're
    building universal binaries (ARCHFLAGS="-arch x86_64 -arch arm64").
    These will run fine on arm64 under automatic Rosetta2 x86_64 amulation,
    and do not exhibit the same issues with LWP. Save the original binaries
    in a "bin.orig" directory, so they are still available if needed. Do
    this for the following binaries:
    
    - bos
    - cmdebug
    - fs
    - xstat_cm_test
    - xstat_fs_test
    - backup
    
    This is a 1.8-only commit. On the master branch, this issue is moot
    because most binaries have been converted to pthreads in commits such as
    3ded79e52b (venus: Build fs and friends as pthreaded programs).
    Converting these programs to pthreads would be a rather large change in
    the middle of the stable 1.8 series, so at least for now, perform this
    smaller macOS-only targeted fix for 1.8 instead.
    
    Thanks to Ganesh Chaudhari <gangovind@in.ibm.com> for reporting the
    issue.
    
    Change-Id: Ib81d2ddf3ed11188442e22981de092be1101e0a7
    Reviewed-on: https://gerrit.openafs.org/16753
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7e3397d4c1187ee691937b1bb73185d818af3c06
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 23 19:50:56 2026 -0400

    Fix -Wdiscarded-qualifiers warnings from strrchr()
    
    In recent versions of GCC (e.g. GCC 14) and of glibc (e.g., 2.43), the
    strrchr() function has been updated to follow ISO C23 rules, which can
    trigger the discarded-qualifiers warning when the strrchr() input is a
    `const char *` but the function return is assigned to a type `char *`.
    
    Assigning this result to a `char *` discards the const qualifier, which
    causes the following build failure when building with the
    --enable-checking configure option (which adds -Werror to the CFLAGS):
    
      compile_et.c:170:7: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
        170 |     p = strrchr(whoami, '/');
            |       ^
      cc1: all warnings being treated as errors
    
    Change the strrchr() destination pointer from `char *` to `const char *`
    in the locations where the input string is a const char *.
    
    Add a new local variable in compile_et.c for the destination pointer,
    since the `char *` variable is reused in the affected function.
    
    Reviewed-on: https://gerrit.openafs.org/16750
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit a2887dbec96a3da5af5ff932032b936930b305f7)
    
    Change-Id: I0780580fcec7429ce10cf8cb2be6855d2f55de48
    Reviewed-on: https://gerrit.openafs.org/16751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit befbc5ee733045f522dd74c7b60e46dbce7b5bff
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Mar 6 12:25:13 2026 -0700

    Linux: Use __getname()/__putname() to alloc name
    
    The Linux 7.0 commit:
       'fs: hide names_cache behind runtime const machinery'
       (7ca83f8ebe867)
    make names_cachep a private symbol within namei support.  The commit:
       'struct filename: use names_cachep only for getname() and friends'
       (c3a3577cdb351)
    instructs users of names_cachep to simply allocate the memory via
    kmalloc.
    
    The Linux provided macros __getname() and __putname() perform the
    required memory allocation/free, switching from names_cachep to kmalloc
    in c3a3577cdb351.  These two macros have been available since at least
    2.6.18, so there is no need to add a specific autoconf test for them.
    
    Relocate afs_putname() to be ahead of afs_getname() and update to use
    __putname() to release the name.
    
    Update afs_getname() to use __getname() to obtain the storage for the
    name and call afs__putname() to release the name.
    
    Reviewed-on: https://gerrit.openafs.org/16699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 2453ac257f8b6993cbb95bee077c332e01dc3551)
    
    Change-Id: Id4291990b50b2e5b86d55d4afa32d7d00f875491
    Reviewed-on: https://gerrit.openafs.org/16738
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 348b82ebb224061fe1dec3701e0c8e367254f207
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Mar 10 14:24:54 2026 -0600

    Linux: Use set_default_d_op() to set dentry ops
    
    The Linux 6.17 commit:
        'new helper: set_default_d_op()' (05fb0e666495c)
    replaced the way that the default dentry_operations is set on a
    super_block. The s_d_op member was renamed to __s_d_op and a new helper
    function set_default_d_op() is now used to set the default
    dentry_operations.
    
    The OpenAFS commit 'linux: 2.6.38: New d_op handling' (08bb83d950) added
    an autoconf test for using the s_d_op member in the super_block struct.
    With the above Linux commit, the test for STRUCT_SUPER_BLOCK_HAS_S_D_OP
    fails, and the __s_d_op member in the super_block is not set during
    afs_fill_super(), but instead dp->d_op is set during various vfs
    operations. Doing so sets the dentry ops for the dentry, but does not
    set the flag DCACHE_OP_REVALIDATE on the dentry, and so Linux never
    calls our d_revalidate function, causing dentries to not get properly
    revalidated.
    
    To fix this, add a new autoconf test for set_default_d_op(), and use
    that function when available. Add a comment for the autoconf test for
    the super_block member s_d_op to note the change.  Add an additional
    build time check to ensure that we don't accidentally revert to the
    pre-2.6.38 behavior after Linux 2.6.38
    
    In afs_fill_super(), use set_default_d_op() to initialize the
    super_block with the afs_dentry_operations.
    
    The dentry->d_op member only needs to be updated when set_default_d_op()
    is not available and the super_block does not have the s_d_op member.
    
    Note: This commit fixes a reported problem with stale dentries that was
    discovered on a Linux 6.17 system.
    
    Reviewed-on: https://gerrit.openafs.org/16700
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit a99b2ff4c04a9b1a4ba3ab5fac1b37bfd5d43568)
    
    Change-Id: Ic454c52ca88c82a9efa62a486ec05300a95c6cb0
    Reviewed-on: https://gerrit.openafs.org/16729
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2a3548515dbb607f74ed4dbe1c13ec653d47ed64
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 23 14:42:40 2026 -0700

    Linux: implement aops->migrate_folio
    
    When the address_space_operations method writepages() was implemented in
    the openafs commit:
     'linux: convert aops->writepage to writepages' (b2c039541d66e)
    there should have been an implementation for the
    aops->migrate_folio method added as well (though it isn't mandatory).
    
    Linux provides a fallback if the filesystem has not implemented the
    migrate_folio method, however the fallback will issue a WARN_ONCE()
    kernel message:
    
    [ 1692.812667] afs_file_aops [libafs] does not implement migrate_folio
    [ 1692.812745] WARNING: CPU: 1 PID: 62 at mm/migrate.c:1053 move_to_new_folio+0x1a8/0x260
    [ 1692.812768] Modules linked in: libafs(PO)
     ... followed by registers and a stack trace ...
    
    Since openafs doesn't use folio->private, the Linux provided function
    migrate_folio() can be used.
    
    Move the preprocessor check that defines LINUX_WRITEPAGES_USES_FOLIOS
    towards the top of the file and add an include for linux/migrate.h.
    
    Initialize aops->migrate_folio element in the afs_file_aops structure
    to use migrate_folio().
    
    Note: the migrate_folio method is not documented as being mandatory for
    a filesystem to implement, however as noted above a kernel warning is
    issued if a filesystem doesn't implement the method.
    
    Looking a several of the other Linux filesystems, the commit messages
    associated with converting writepage -> writepages do mention having
    to add a aops->migrate_folio call.  See the Linux commits:
      'ceph: Remove ceph_writepage()' (19a2881104354) and
      'orangefs: Remove orangefs_writepage()' (506382dbbedc0)
    
    Most in-tree Linux filesystems use filemap_migrate_folio(), which we
    cannot use because it is GPL-only. migrate_folio() is almost identical
    to filemap_migrate_folio(); the only differences that are
    filemap_migrate_folio() handles the folio's folio->private (which we do
    not use), and migrate_folio() BUG()s if the folio's "writeback" flag is
    set (which should not happen; Linux waits for writeback to finish before
    migrating pages).
    
    Reviewed-on: https://gerrit.openafs.org/16689
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit daa3eef78addb187ced13355bff01a83f8d16f01)
    
    Change-Id: I53108b95e8eb695d951425e7b2d20e0b244736e7
    Reviewed-on: https://gerrit.openafs.org/16709
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0bd855886c7b3b094634ac390a3389895fbc3ae0
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 23 14:43:51 2026 -0700

    Linux: Pass 3rd parameter to filemap_alloc_folio()
    
    The Linux 6.19 commit:
        'mm/filemap: Add NUMA mempolicy support to filemap_alloc_folio()'
        (7f3779a3ac3e4)
    added a new parameter for future NUMA work.  Existing callers can pass a
    NULL for the new parameter.
    
    Add a new configure test to determine if filemap_alloc_folio uses 3
    parameters.
    
    Add a small wrapper for filemap_alloc_folio(), afs_filemap_alloc_folio()
    that uses the appropriate set of parameters for filemap_alloc_folio().
    Update afs_page_cache alloc() to use the wrapper.
    
    Reviewed-on: https://gerrit.openafs.org/16684
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 19451d31904be9bda1321f3a1ad3bdc2f31d3251)
    
    Change-Id: Idcb2096ecb84b7cb2d47744f67bc6da9f81d0f97
    Reviewed-on: https://gerrit.openafs.org/16708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 444b4533f00657fe8c5835d45596cb011ad81f60
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 5 11:14:10 2026 -0700

    Linux: Use sockaddr_unsized for socket->ops->bind
    
    The Linux 6.19 commits:
        'net: Add struct sockaddr_unsized for sockaddr of unknown length'
        (bf33247a90d3e)
    and
        'net: Convert proto_ops bind() callbacks to use sockaddr_unsized'
        (0e50474fa5148)
    updated the socket->ops->bind() method's signature to use a
    'struct sockaddr_unsized *' parameter instead of 'struct sockaddr *'.
    The only external change is that callers need to switch from casting
    to a (struct sockaddr *) to casting to a '(struct sockaddr_unsized *)'
    
    Add a new configure check to see if socket->ops->bind() requires a
    sockaddr_unsized parameter.
    
    The rx/LINUX rxk_NewSocket_Host is the only location where a call to
    socket->ops->bind() is made.  Add a C macro to handle the different
    casts depending on the results of the configure test.
    
    Notes:
    
    The only other socket->ops change was the connect() method and openafs
    does not use that method.
    
    For reference, see the Linux source for o2net_open_listening_sock() in
    fs/ocfs2/cluster/tcp.c, where the only change was in the cast used in
    the sock->ops->bind() call.
    
    Reviewed-on: https://gerrit.openafs.org/16683
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f880d753f4fd866be99c732019b93861eb37769e)
    
    Change-Id: I99e27e59d629fef5168d7da69dcc57c080996496
    Reviewed-on: https://gerrit.openafs.org/16707
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6a81d2779a8808e67a0a576171f14fb8c88a1da0
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 5 11:13:09 2026 -0700

    Linux: Move afs_root()/_fill_super() in osi_vfsops
    
    Move afs_root() and afs_fill_super() functions ahead of the code that
    references them. For afs_fill_super(), this eliminates the need to have
    the preprocessor conditionals around the forward declaration of
    afs_fill_super().
    
    Move the afs_fs_type structure towards the bottom of the file, so that
    a data structure isn't intermixed with the functions.
    
    There are no functional changes in this commit.
    
    Reviewed-on: https://gerrit.openafs.org/16673
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit a369df49f842b6f269b8fa2710176a1e9ff92591)
    
    Change-Id: I80ae5a6264b6e2c2e83a408f20cab4571af8f280
    Reviewed-on: https://gerrit.openafs.org/16706
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c1c2307bc74840af646570f2b84f265e125bf459
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 20 13:46:19 2026 -0600

    LINUX: Log warning on recursive folio writeback
    
    Since commit 4a587356a3 (linux-mmap-antirecursion-20081020) our page
    writeback functions have returned AOP_WRITEPAGE_ACTIVATE when detecting
    a recursive writeback request (afs_linux_writepage_sync() at the time,
    now afs_linux_prepare_writeback()). At the time, the recursion was noted
    as following this code path:
    
    afs_linux_writepage_sync -> afs_DoPartialWrite -> afs_StoreAllSegments
    -> osi_VM_StoreAllSegments -> filemap_fdatawrite -> [writeback]
    
    Since commit 5e0e1ea254 (linux-mmap-antirecursion-fix-20090512), the
    vcache was flaged as "in writeback" in afs_linux_writepage_sync()
    itself, rather than in osi_VM_StoreAllSegments(). But checks to avoid
    recursive calls were effectively in both afs_linux_writepage_sync()
    (which returned AOP_WRITEPAGE_ACTIVATE) and osi_VM_StoreAllSegments()
    (which just skipped the writeback).
    
    Later, in commit 95b857399d (Linux: mmap: Apply recursion check only to
    recursion cases), the check was restricted to catch only actual
    recursion, so writeback in different processes didn't trigger this.
    
    Since then, it's not clear if afs_linux_prepare_writeback() ever
    actually catches the recursion case and returns AOP_WRITEPAGE_ACTIVATE.
    With the current code, the above recursion code path now looks like
    this:
    
    afs_linux_end_writeback -> afs_linux_dopartialwrite ->
    afs_DoPartialWrite -> afs_StoreAllSegments -> osi_VM_StoreAllSegments ->
    filemap_fdatawrite -> [writeback]
    
    But now it shouldn't be possible for osi_VM_StoreAllSegments() to
    recurse into writeback, since avc->pagewriters will be non-empty when we
    call it from afs_linux_end_writeback(), and so osi_VM_StoreAllSegments()
    will return early. Handling the errors for this recursion is a strange,
    questionably-handled corner case in the page handling code for modern
    Linux with folios, so it would be nice to remove the
    AOP_WRITEPAGE_ACTIVATE code paths if they're not needed.
    
    However, it's hard to be sure there aren't other code paths that can
    also trigger similar recursion deadlocks. So for now, log a message with
    a stack trace when it happens, so we can try to do something about it if
    the log message is actually seen.
    
    Reviewed-on: https://gerrit.openafs.org/16697
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 1b3b3bc08e36ab5e0ee69e725d9834bfdeb4a4d8)
    
    Change-Id: I25d8518a70d1d51c37c9d6e5232bea327d437122
    Reviewed-on: https://gerrit.openafs.org/16705
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4f53f2859ce2508ae5600a91e116af2eff5c9c99
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 5 11:06:59 2026 -0700

    Linux: Avoid write_cache_pages() for ->writepages
    
    The Linux 6.18 commit:
        'mm: remove write_cache_pages' (7bebb41b96b5a)
    removed the Linux function write_cache_pages() without replacement.
    
    Within the OpenAFS kernel module, the function afs_linux_write_pages()
    implements the address_space_operations method ->writepages(). The
    afs_linux_write_pages() function calls write_cache_pages() and passes
    the callback function afs_linux_writefolio_cb() to handle the actual
    writing of individual folios.
    
    write_cache_pages() was a simple function that used writeback_iter() to
    iterate over dirty pages then called the provided callback function to
    perform the actual writing:
    
        aops->writepages (afs_linux_write_pages)
            -> write_cache_pages
               for folio in writeback_iter
               -> afs_linux_writefolio_cb(folio)
    
    With the removal of write_cache_pages(), the OpenAFS kernel module must
    iterate over the folios that need to be written. However,
    writeback_iter() is exported as GPL only and cannot be used by the
    OpenAFS kernel module.
    
    Without writeback_iter(), the function afs_linux_write_pages() will need
    to scan the mapping, in order to find the dirty folios directly.
    
    The aops->writepages() method is called to handle writing dirty folios
    from the page cache.  It is passed 2 parameters: a mapping and a
    writeback control, and is generally called in 2 situations:
      1 - To verify that the entire mapping is written to stable storage
          (typically after a sync, fsync, msync, unmount, etc) - WB_SYNC_ALL
      2 - During background pagecache cleaning - WB_SYNC_NONE
    
    In the first case, the entire specified range within the mapping needs
    to be scanned to locate and write out any dirty folios.  In the second
    case the mapping is being processed in chunks of folios and only a
    suggested number of pages are to be written out (the decision of exactly
    how many and which folios to be written is left to the individual file
    system).
    
    The writeback control determines if an entire range of folios within the
    mapping needs to be processed (WB_SYNC_ALL) or we can skip writeout for
    some pages (WB_SYNC_NONE).
    
    For the first case (WB_SYNC_ALL), the scan for dirty folios starts at
    the specified starting folio and continues up to and including the
    specified ending folio.
    
    For the second case (WB_SYNC_NONE), the scan starts at
    mapping->writeback_index and ends when the specified number of folios
    has been written, or we reach the end of the range.  If the end of the
    range is reached, we set the mapping->writeback_index to 0 before
    returning.
    
    The process for scanning and writing dirty folios within the mapping is
    mostly the same for both cases.
    
      Get a batch of folios tagged with "PAGECACHE_TAG_DIRTY" to look at (or
        in some cases, tag all dirty folios with PAGECACHE_TAG_TOWRITE, then
        look for PAGECACHE_TAG_TOWRITE pages).
      Look at each folio within the batch, if it's not within the provided
        mapping or it's not dirty, get the next folio from the current
        batch.
      Check the folio to see if it's currently already within a writeback.
        If so and WB_SYNC_ALL then wait for that writeback to finish.
        Otherwise the writepages call is part of a background cleanup and
        the folio can be skipped and a future aops->writepages call will
        handle it.
      Clear the dirty bit on the folio (and if it wasn't dirty skip
        additional processing on the folio).
      Call afs_linux_writefolio_cb() to actually handle the writing of the
        folio (this clears the PAGECACHE_TAG_TOWRITE/_DIRTY tag when we call
        folio_start_writeback()).  Mark the mapping if there was an error.
      Decrement the writeback control's number of pages to be written.
      If WB_SYNC_NONE, check to see if the writeback control request has
        been satisfied by writing out the requested number of pages.  If
        the writeback control is cyclic, update the mapping with the new
        starting point.  And exit.
      Continue processing the folios in batches.
    
    Update afs_linux_write_pages() with the new logic if the Linux kernel
    provides filemap_get_folios_tag() and doesn't have write_cache_pages()
    (LINUX_NEED_CUSTOM_WRITE_CACHE_PAGES). Remove the conditional around
    including pagevec.h to ensure the fbatch structure gets picked up.
    (pagevec.h was present in 2.6.12).
    
    Note:
    
    write_cache_pages() was introduced in 2.6.21 with the commit:
      'consolidate generic_writepages and mpage_writepages' (0ea9718016251)
    The callback used by write_cache_pages() was changed to use a folio in
    6.2 with the commit:
      'fs: convert writepage_t callback to pass a folio' (d585bdbeb79aa)
    filemap_get_folios_tag() was introduced with the 6.3 commit:
      'filemap: add filemap_get_folios_tag()' (247f9e1feef4)
    folio_batch_next() as introduced in 6.8 with the commit:
      'pagevec: add ability to iterate a queue' (535c5d9dadb32)
    
    Written in collaboration with adeason@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/16648
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 030378b1f430c36de90208dbca55056e05bbb2e3)
    
    Change-Id: Id3ccda56e28a3230842175073911bbea2be3ac97
    Reviewed-on: https://gerrit.openafs.org/16704
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 63a3503240c06187fa87514e5ea421cece483422
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 8 16:43:19 2026 -0700

    Linux: Introduce LINUX_WRITE_CACHE_PAGES_USES_FOLIOS
    
    To clarify what is actually being tested, rename the autoconf test and
    variable:
        LINUX_WRITEPAGES_USES_FOLIOS => LINUX_WRITE_CACHE_PAGES_USES_FOLIOS
    
    Add a define in osi_vnodeops.c for LINUX_WRITEPAGES_USES_FOLIOS.  This
    allows future commits to add new cases that also define
    LINUX_WRITEPAGES_USES_FOLIOS.
    
    There are no functional changes in this commit.
    
    Reviewed-on: https://gerrit.openafs.org/16650
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 5a2421f942ddee757093d9bba07d31c55610bc47)
    
    Change-Id: If404489eba41f4633de0cebe0d3c44336ae61032
    Reviewed-on: https://gerrit.openafs.org/16703
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 11849e96820eca64d91742a8c521614e1e99d9fa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 20 11:57:49 2026 -0600

    LINUX: Re-dirty folio on writepages recursion
    
    Commit b2c039541d (linux: convert aops->writepage to writepages)
    introduced afs_linux_writefolio_cb(), and returned early when
    afs_linux_begin_writeback() detects recursion and returns
    AOP_WRITEPAGE_ACTIVATE. This follows similar existing logic in
    afs_linux_writepage(), but in this code path where write_cache_pages()
    calls afs_linux_writefolio_cb(), there is not much special handling for
    the AOP_WRITEPAGE_ACTIVATE return code (write_cache_pages() just unlocks
    the page).
    
    In afs_linux_writefolio_cb(), when we see AOP_WRITEPAGE_ACTIVATE and
    return, the page has not actually been written out and we never called
    folio_start_writeback() on the page. write_cache_pages() calls our
    afs_linux_writefolio_cb() after calling folio_clear_dirty_for_io(), so
    the dirty flag has been cleared on the page at this point. (Via:
    write_cache_pages -> writeback_iter -> writeback_get_folio ->
    folio_prepare_writeback -> folio_clear_dirty_for_io.) And
    folio_clear_dirty_for_io() clearly states in its comments that we are
    supposed to call either folio_start_writeback() or folio_mark_dirty()
    afterwards, in order to ensure coherence between the page's dirty flag
    and the page's dirty xarray tag.
    
    Also in this AOP_WRITEPAGE_ACTIVATE code path, we never folio_put() our
    extra folio_get()'d reference from earlier in this function, since we
    don't go through our 'goto done' destructor.
    
    So, to make sure the page is properly still marked as dirty in the
    AOP_WRITEPAGE_ACTIVATE case, call folio_mark_dirty() on it. Also release
    the extra reference with folio_put().
    
    Also return a normal success, instead of returning the special value
    AOP_WRITEPAGE_ACTIVATE. Our caller, write_cache_pages(), just unlocks
    the page and ignores the error, so returning this special value doesn't
    do anything special here, and just perpetuates a weird inconsistent
    calling convention.
    
    Reviewed-on: https://gerrit.openafs.org/16696
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 291a26a23bcf18b09f0c571d793273cc5e909123)
    
    Change-Id: I8d2890070f9f87bfb51454f35a1a35fdb2b4edff
    Reviewed-on: https://gerrit.openafs.org/16702
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c02a8f451b48766aa163e729abe40d145751b2dc
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 8 09:38:31 2026 -0700

    Linux: Use get_tree_nodev
    
    The Linux 6.18 commit:
        'fs: Remove mount_nodev' (56ecfd9175b99)
    removed the mount_nodev() function that is used to handle the mount
    process.
    
    The OpenAFS Linux kernel module must use the newer mount APIs that were
    introduced with the Linux 5.0 commit:
        'introduce fs_context methods' (f3a09c92018a9)
    And the helper that was added with the Linux 5.2 commit:
        'convenience helper get_tree_nodev()' (2ac295d4f0c09)
    
    The newer mount API requires a filesystem to implement the methods
    defined within the fs_context_operations structure.  Of these methods,
    the only one needed for OpenAFS is the .get_tree() method which will
    simply return the result of a get_tree_nodev() call.
    
    Add an autoconf test for get_tree_nodev(), which is the replacement for
    mount_nodev() but using the newer mount APIs.
    
    Add a fs_context_operations structure that sets the get_tree method to
    point to afs_fc_get_tree(), which simply returns the value from
    get_tree_nodev().
    
    Add a function (afs_init_fs_context) to handle the file_system_type's
    init_fs_context method.  afs_init_fs_context() will update the
    fs_context to point to the afs_fs_context_ops.
    
    Update the afs_fs_type structure to initialize the init_fs_context and
    parameters members.
    
    Notes:
    The other methods within the fs_context_operations struct would only be
    applicable if OpenAFS was using private storage in the the fs_context,
    or needed to process command line parameters.
    
    The commit is retroactive back to Linux 5.2 since that is when the
    Linux kernel introduced get_tree_nodev().
    
    Reviewed-on: https://gerrit.openafs.org/16646
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 8d1ccc2b22a63053a0f15bd432033ca57a2110e7)
    
    Change-Id: I231a1d85cc3fdcfb1b4c06a3916e36dcd338d187
    Reviewed-on: https://gerrit.openafs.org/16701
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d23608f72a7456dfe7194363491b0fa6685c4f5e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jan 29 20:05:21 2026 +0100

    Make OpenAFS 1.8.15
    
    Update version strings for the 1.8.15 release.
    
    Change-Id: If51c61988374058caf789c5fb9e7446982dc7937
    Reviewed-on: https://gerrit.openafs.org/16687
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b2519eeb09bcd93f2eda3eb34ea522489d83abf3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Nov 11 15:10:32 2025 -0500

    Make OpenAFS 1.8.15pre1
    
    Update version strings for the 1.8.15pre1 release.
    
    Change-Id: I83ca4b0c6a72affaf3529cb6503cff2e1d31454d
    Reviewed-on: https://gerrit.openafs.org/16617
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0928123c3a83f3d6e36a1ac0d2466d851b1281a7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 6 20:28:01 2025 -0500

    Update NEWS for OpenAFS 1.8.15pre1
    
    Change-Id: I7bbbc4cf98d60c4296c3719fb204d667235b64e5
    Reviewed-on: https://gerrit.openafs.org/16613
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5bbc578f0852c6f953fbae679fa33671e15e16cb
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Dec 11 17:38:43 2025 -0500

    DARWIN: Use AFS_LDRULE for privhelper
    
    The OpenAFS macOS (DARWIN) build process supports a builder-supplied
    ARCHFLAGS with multiple values.  This allows building a single package
    that can install and run on any supported architecture (currently x86_64
    and arm64).  Executables created this way are known as "Universal"
    binaries.
    
    However, since its introduction (120871f03f38 "DARWIN: Add 'privhelper'
    tool for PrefPane"), the privhelper has only been built for the native
    platform.  This is because its makefile ignores ARCHFLAGS.
    
    This results in the following symptoms:
    - If the package is built on x86 but installed on arm64:
      The org.openafs.privhelper will be x86-only and so requires and runs
      under Rosetta 2.
      If the OpenAFS cache manager is started using the prefpane (via the
      privhelper), this also results in the afsd threads running as x86 under
      Rosetta 2.
      However, both the prefpane and Cache Manager seems to work correctly
      under Rosetta 2.
    
    - If the package is built on arm64 but installed on x86:
      The org.openafs.privhelper will be arm-only and will fail to start.
      Therefore any prefpane operation requiring the privhelper will either
      fail or hang.
      However, the Cache Manager will work correctly.
    
    Modify the makefile to use AFS_LDRULE, so we respect ARCHFLAGS, CFLAGS,
    and any other related flags.
    For example, now ARCHFLAGS='-arch arm64 -arch x86_64' will build a universal
    package (including a universal privhelper) that will run natively
    regardless of the architecture of the build host or the install host.
    
    Reviewed-on: https://gerrit.openafs.org/16654
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    (cherry picked from commit 755cdbe546581746af1c819468d584c9cd414bf0)
    
    Change-Id: I9a750c36f7d06750eb15922f1e1baded9d9f8953
    Reviewed-on: https://gerrit.openafs.org/16662
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a6a13a72042ccd7e966484bdf79068d1297e7e1f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 17 20:39:50 2025 -0600

    afs: Save local copy of afs_fakestat_enable
    
    Since commit 629d080654 ("This is mostly a rewrite..."),
    afs_InitFakeStat() does nothing if afs_fakestat_enable is 0; it does not
    even set state->valid and leaves it uninitialized. When
    afs_PutFakeStat() is called later on (or one of the EvalFakeStat
    functions), as its caller must do, if afs_fakestat_enable is now
    non-zero, we will assert that state->valid is non-zero. But state->valid
    is uninitialized, and so may be zero; if it's zero, we'll panic the
    machine.
    
    Normally, the value of afs_fakestat_enable cannot change while we're
    running. But it does change at least once: during the startup sequence,
    afsd calls the AFSOP_SET_FAKESTAT syscall (if -fakestat or -fakestat-all
    are passed), which sets afs_fakestat_enable.
    
    Most code paths calling afs_InitFakeStat() / afs_PutFakeStat() are not
    possible until afsd has finished its startup sequence, since /afs is not
    mounted and files aren't accessible. But pioctls can be issued before
    /afs is mounted (with a NULL avc), and all pioctls call
    afs_InitFakeStat() and afs_PutFakeStat().
    
    So, if someone runs a pioctl while 'afsd -fakestat' is running its
    startup sequence, it is possible for afs_fakestat_enable to be 0 while
    afs_InitFakeStat() is called, and nonzero when afs_PutFakeStat() is
    called, potentially causing a failed assert. This is possibly most
    likely with the PSetTokens/PSetTokens2 pioctls, since those operations
    involve taking other locks (such as afs_xuser), which may involve
    dropping AFS_GLOCK, allowing the value of afs_fakestat_enable to change
    in another afsd process.
    
    To fix this, change afs_InitFakeStat() to always initialize the 'state'
    struct, and remember the value of afs_fakestat_enable in a new struct
    afs_fakestat_state field called 'fakestat_enable'. Change other code
    paths using struct afs_fakestat_state to use state->fakestat_enable
    instead of the afs_fakestat_enable global; this helps ensure consistent
    behavior in the code that uses the struct afs_fakestat_state, even if
    the value of the afs_fakestat_enable global changes.
    
    While we're doing this, change all users of afs_fakestat_enable to try
    to avoid reading the value of afs_fakestat_enable multiple times in the
    same code path, and instead store a local copy of the value once. It
    should not be possible for the value of afs_fakestat_enable to actually
    change in these other code paths, but do this for consistency and extra
    safety.
    
    After this commit, there are still a few code paths remaining that read
    afs_fakestat_enable multiple times. Some callers do something like this:
    
        if (afs_fakestat_enable) {
            afs_InitFakeStat(&fakestate);
            afs_TryEvalFakeStat(...);
            afs_PutFakeStat(&fakestate);
        }
    
    And dentry_revalidate_common() calls afs_InitFakeStat(), and then later
    calls parent_vcache_dv(), which also itself calls afs_InitFakeStat().
    
    Those code paths are also effectively re-reading afs_fakestat_enable
    (since afs_InitFakeStat() itself reads afs_fakestat_enable). But fixing
    those involves either rearranging the afs_InitFakeStat() calls or
    changing the afs_InitFakeStat() API. Fixing those cases is left for
    future commits; this commit just handles these easier cases.
    
    FIXES 135594
    
    Reviewed-on: https://gerrit.openafs.org/16631
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d6f04a42dea931de50e027e66926889cb7e05072)
    
    Change-Id: I122fa459c1f9f30fa9613887eb9f08225a83f2a2
    Reviewed-on: https://gerrit.openafs.org/16653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a7170839e03b3da7673ec7536e627883d6f997d6
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Fri Jan 31 20:22:39 2025 -0800

    revert: Deorbit AIX-specific QuickStartGuide bits
    
    This reverts commit c16ec571273b03e9d4f4905efdeaa2182bbe0c6a,
    which removed the AIX-specific documentation from the Quick Start
    guide.  With the AIX port working again, bring this documentation
    back into the Quick Start Guide.
    
    Reviewed-on: https://gerrit.openafs.org/16216
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit c9eb881d7fd0ab2da2cc2f76d36de545f26719e3)
    
    Change-Id: I1a9854ce3ae09c299e8dd0b959ed3ded8fb862b3
    Reviewed-on: https://gerrit.openafs.org/16635
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1a6417dd54adf686323ed214c0abbc702fbe32fa
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Tue Dec 10 19:05:20 2024 -0800

    cf: Set default --with-aix-soname to 'svr4'
    
    OpenAFS builds both shared and static libraries by default. On most
    platforms, each library is built as a shared library libfoo.so.x.y.z,
    and as a static library libfoo.a. libtool refers to this as the 'svr4'
    style of libraries on AIX.
    
    On AIX, traditionally libraries are built with the shared library,
    static library, and various versions and 64-bit variants and such all
    contained in the same libfoo.a. libtool refers to this as the 'aix'
    style of libraries on AIX.
    
    libtool defaults to the 'aix' style on AIX, and so this is how libtool
    attempts to build our libraries on AIX. For many of our libraries, even
    though the build completes successfully, this results in broken
    binaries because our Makefile rules assume the shared and static library
    files have different names.
    
    For example, here is the install rule for librokenafs:
    
    install: $(SHARED_LIBS) librokenafs.a
             $(LT_INSTALL_DATA) librokenafs.la $(DESTDIR)$(libdir)/librokenafs.la
             $(RM) $(DESTDIR)$(libdir)/librokenafs.la
             $(INSTALL_DATA) librokenafs.a $(DESTDIR)$(libdir)/librokenafs.a
    
    On AIX, the LT_INSTALL_DATA step will install the shared library
    librokenafs.a into $(DESTDIR)$(libdir). Then the INSTALL_DATA step will
    install the static library librokenafs.a into the same location,
    deleting the shared library file.
    
    When the user tries to run an executable, they get an error, because the
    shared library librokenafs is not installed at all:
    
    $ /opt/openafs/bin/pts
    exec(): 0509-036 Cannot load program /opt/openafs/bin/pts because of the following errors:
            0509-150   Dependent module /opt/openafs/lib/librokenafs.a(librokenafs.so.2) could not be loaded.
            0509-152   Member librokenafs.so.2 is not found in archive
    
    To avoid this, the user can run configure with --with-aix-soname=svr4 to
    build all of our shared libraries in the 'svr4' style. In the above
    example, this causes LT_INSTALL_DATA to install the shared librokenafs
    as librokenafs.so.* into $(DESTDIR)$(libdir), and then the static
    library is installed as librokenafs.a like normal. The resulting
    binaries can then run without issue.
    
    To make it so users don't need to specify --with-aix-soname=svr4 to get
    a working build, change the default behavior to --with-aix-soname=svr4
    by passing aix-soname=svr4 to LT_INIT.
    
    However, just specifying LT_INIT([aix-soname=svr4]) alone does not work,
    due to a bug in libtool: https://savannah.gnu.org/support/?111161
    
    To workaround this bug, also explicitly turn on shared and static
    libraries by default in LT_INIT, even though they are already on by
    default. Using --disable-shared or --disable-static should still be
    honored as normal; the LT_INIT arguments just specify the default
    values.
    
    Ideally, we would install our shared libraries in the 'aix' style, so a
    single libfoo.a contains all of the necessary .o and .so files for that
    library. However, changing our build system to do this is difficult. And
    historically, OpenAFS has built shared libraries on AIX in the 'svr4'
    style; that is how we built shared libraries in OpenAFS 1.6 and earlier,
    before we converted to using libtool.
    
    Reviewed-on: https://gerrit.openafs.org/15983
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit b0e852bc1ab776cbfba770b23db7c07b662c958e)
    
    Change-Id: I831d71ace97f6b3a1eaa47df5e0fd1ed3ceb3850
    Reviewed-on: https://gerrit.openafs.org/16634
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 367adc7ef8433b7f73bff5834feac9b3d34c8f70
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sun Nov 24 11:10:14 2024 -0800

    lwp: Ignore and clean the rw test utility
    
    The lwp test utility "rw" is not built by default.  But if someone
    builds it explicitly, we should clean it during an clean pass.
    Also add it to a .gitignore file.
    
    Reviewed-on: https://gerrit.openafs.org/15972
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 65a891b126ad3e7d6de463eae830035d3bbe6712)
    
    Change-Id: I53f5fb8eb65cfacf3d389c4ab13cbe2cb4ede5df
    Reviewed-on: https://gerrit.openafs.org/16633
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 63e5034c311155361e19bb18666447a2bd9b7213
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Fri Dec 27 12:11:47 2024 -0800

    export: Call execerror as /usr/sbin/execerror
    
    On AIX, there are two kernel extensions, and each
    is loaded by a utility in src/export, cfgexport,
    and cfgafs.  This utility calls the AIX "sysconfig"
    system call to load the extension into the kernel.
    Historically this usually works so error messages
    are not often seen, though the programs have
    facilities to display error messages.
    
    Error messages from the loading of kernel extensions
    are displayed using the execerror utility. Beginning
    with AIX 4.2, this utility was moved from
    /etc/execerror to /usr/sbin.  The AFS cfg utlities
    were never updated.  If an error occurs during
    loading of one of the extensions, the user receives
    the following misleading error:
    
    SYS_KLOAD: No such file or directory
    
    This error is not actually the result of the failed
    extension load, but actually the result of the next
    source code line:
    
    perror("SYS_KLOAD");
    
    This error is actually a statement that the utility
    cannot find execerror.
    
    Update the utilities to call execerror from the
    correct location starting with AIX 4.2.
    
    Reviewed-on: https://gerrit.openafs.org/16006
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 3b605e621fee7403f20722d0c9b9f742ee998515)
    
    Change-Id: Ia7f66a606b4f898a821cf18da4bad66126671eb9
    Reviewed-on: https://gerrit.openafs.org/16129
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e555c9cf3c2b6966559e34d646245cdc93c237ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 18 17:18:53 2023 -0500

    export: Modernize code
    
    Update the source code in src/export in various ways to use more
    modern conventions:
    
    - Get rid of K&R-style arguments. (An exception is error() and
      sys_error() in cfgexport.c, which use old-style arguments as a cheap
      imitation of varargs functions.)
    
    - Declare various local functions and globals as 'static'
    
    - Declare static functions before they are called (or move them, for
      small functions like usage())
    
    - Declare functions as returning 'int' if they had no type
    
    - Declare all unspecified types as 'int' (function return types,
      arguments, and variables)
    
    - Include string.h for memset(), strcmp(), etc, and stdlib.h for
      exit()
    
    - Don't declare our own malloc()
    
    - Remove a few unused or #ifdef'd out functions
    
    Reviewed-on: https://gerrit.openafs.org/15449
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 3e360702426986424b9fdd69215c6fbb92f37e9a)
    
    Change-Id: Ie1c4a1082e68d7cad36f49b6493394ba0bbbce69
    Reviewed-on: https://gerrit.openafs.org/16128
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6fc9cf88a05b11183e737a3e8f0a64227c30cf97
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 7 16:25:35 2025 -0600

    rx: Include rx_lwp.h et al in fallback rx_atomic.h
    
    In rx_atomic.h, our "fallback" implementation of atomics uses a global
    lock, using our afs_kmutex_t/MUTEX_ENTER() abstractions, but rx_atomic.h
    doesn't include any headers to define afs_kmutex_t et al. Most callers
    include rx_lwp.h or an equivalent before rx_atomic.h, but this is not
    guaranteed, and tests/rx/atomic-t.c (for example) does not do this.
    
    If someone tries to build OpenAFS on a platform that doesn't have a more
    specific rx atomic implementation, this means that building atomic-t
    fails:
    
        In file included from /.../tests/rx/atomic-t.c:34:
        /.../include/rx/rx_atomic.h: In function ‘rx_atomic_set’:
        /.../include/rx/rx_atomic.h:402:5: error: implicit declaration of function ‘MUTEX_ENTER’ [-Werror=implicit-function-declaration]
             MUTEX_ENTER(&rx_atomic_mutex);
             ^~~~~~~~~~~
        /.../include/rx/rx_atomic.h:402:18: error: ‘rx_atomic_mutex’ undeclared (first use in this function); did you mean ‘rx_atomic_set’?
             MUTEX_ENTER(&rx_atomic_mutex);
                          ^~~~~~~~~~~~~~~
                          rx_atomic_set
    
    To fix this, include rx_lwp.h in the "fallback" branch of rx_atomic.h
    (or rx_kmutex.h for the kernel, or rx_pthread.h for pthreads). This
    should ensure that our locking abstractions are defined appropriately so
    we can use the rx_atomic_mutex global lock.
    
    Reviewed-on: https://gerrit.openafs.org/16062
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 18b4243772c361c460ee255f7ddabbecbee5071c)
    
    Change-Id: Ia8a3b69568d37d941f69d05a8fe9cc64d593676c
    Reviewed-on: https://gerrit.openafs.org/16127
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 53c4464883ec27f89bf34a50bb1b6c6f78f5da3c
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Dec 2 16:43:57 2024 -0800

    rx: Use sys/atomic_op.h on AIX 4.1+
    
    Since commit 4505af8002 (aix: add atomic support), rx_atomic.h has used
    sys/atomic_op.h on AIX 6.1 and newer, but sys/atomic_op.h is available
    as far back as AIX 4.1. So, use sys/atomic_op.h on AIX 4.1+, so older
    versions of AIX can use proper atomics instead of the fallback
    implementation.
    
    Reviewed-on: https://gerrit.openafs.org/15975
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit e79985dbf21acec5915e5ee75a42a34db0540848)
    
    Change-Id: I1e7ce32aa76b18bb084111141dbf214019b75db5
    Reviewed-on: https://gerrit.openafs.org/16126
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 63163f26ef43920a93633c562a624257cb6684c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 30 19:17:10 2022 -0600

    rx: Fix rx_atomic.h style nits
    
    Fix a few style nits in rx_atomic.h that have crept up over the years:
    
    - Make function definitions begin with a bare "{" line
    - Indent preprocessor directives
    - Add comments to the #endif of large #if blocks
    - Fix style of multi-line comments
    
    Reviewed-on: https://gerrit.openafs.org/15280
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1f2a35871b5e9b93c766be04c196522112ff5009)
    
    Change-Id: Ieae8bee059c060a8f4044fa371058e79f2441efc
    Reviewed-on: https://gerrit.openafs.org/16125
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>

commit eb6753d93b930ad7d65772a9751117f6969a5e92
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 23 20:27:26 2025 -0500

    LINUX: Zero code on EEXIST in afs_linux_read_cache
    
    In afs_linux_read_cache(), if we get a -EEXIST error from
    afs_add_to_page_cache_lru(), we'll effectively ignore the error, and go
    through the surrounding while() loop again to retry getting the relevant
    page. But when we do so, 'code' is still set to -EEXIST. So if
    find_get_page() now returns non-NULL, we'll break out of the while()
    loop, and continue through the rest of the function with 'code' still
    set. We won't update the given page, and we'll never set 'code' to
    anything else, eventually returning the confusing error -EEXIST.
    
    While triggering this may be a hard race to hit (it would require the
    backing page to suddenly exist between find_get_page() and
    afs_add_to_page_cache_lru()) and hasn't been known to actually happen,
    this seemingly could cause a afs_linux_readpage()/afs_linux_read_folio()
    to fail unexpectedly, possibly causing a spurious SIGBUS, which would be
    hard to identify.
    
    To avoid this, set 'code' to 0 after examining 'code' after the
    afs_add_to_page_cache_lru() call. Add some braces around the nearby 'if'
    to help make it clear this is outside of that block.
    
    This issue appears to have existed since this function was introduced in
    commit f75d84c404 (Add support for blocking readahead).
    
    Reviewed-on: https://gerrit.openafs.org/16590
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit aef55ce9e114fc1a8e16b82eadde5ead583d7b0d)
    
    Change-Id: I868d76873a8b12a98a036c69144674a4bde3f703
    Reviewed-on: https://gerrit.openafs.org/16616
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ec0be688f46ae7becf39bd1b24ea06f199212035
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 3 16:04:31 2025 -0500

    afs: Pass relative cb time to CBHash in afs_create
    
    Currently, after calling an RPC that returns a CallBack promise, various
    vnode operations call something like this to queue the callback
    information locally:
    
        afs_QueueCallback(tvc, CBHash(CallBack.ExpirationTime), volp);
    
    CBHash takes a relative time in seconds, and converts it to 128-second
    units, for use with our local 128-second buckets for tracking callback
    timeouts.
    
    Most callers just pass the CallBack.ExpirationTime returned from the
    relevant RPC. But in afs_create() since OpenAFS 1.0, we add the 'now'
    timestamp (the time when we started calling the RPC) to
    CallBack.ExpirationTime, making it an absolute timestamp, causing us to
    queue the callback in an arbitrary bucket. If we queue it in a bucket
    further in the future than it's supposed to be, we won't clear the
    CStatd flag on the vcache until much later than we're supposed to.
    
    For example:
    
    Say we create a file at time 1748960984, and we get an ExpirationTime of
    14516 (about 4 hours). In afs_create(), tvc->cbExpires is correctly
    calculated to be 1748975500, but CBHash is given 1748975500, not 14516.
    So afs_QueueCallBack is given a hash index of 13663871, and so we queue
    the callback to bucket 127 (13663871 % CBHTSIZE == 127; assume 'base' is
    0). If we gave the correct relative time 14516 to CBHash, we'd get a
    bucket of 113.
    
    We won't process the callback expiration (via afs_CheckCallbacks()) until
    we get to timeout bucket 127. We advance to the next timeout bucket
    about every 127 seconds (via afs_BumpBase()), so that means we won't
    process the callback for 16129 seconds. But the callback promise was
    only good for 14516 seconds; plus an extra 180 seconds or so for the
    viced ServerBias, so about 14696 seconds. That means there is a window
    of over 1000 seconds where the fileserver thinks the callback promise
    has expired, but the client thinks the callback is still valid. If
    someone else modifies the file during that window, the client won't see
    a callback break, and so will serve stale data to users.
    
    This situation is perhaps unlikely, since it requires the newly-created
    file to be untouched for between about 4 and 4.5 hours (the fileserver
    uses different callback times for different file usage, but a
    newly-created file can't have any other users, so should always get a
    callback of 4 hours). Also, the queued callback gets put in effectively
    a random timeout bucket, and we must put it in a timeout bucket further
    away than the correct bucket (if we put it in a closer bucket, we'll
    just check the expiration time too early, and then move it to the
    correct bucket). The correct bucket will be about 113 away, and there
    are only 128 buckets. So we have a 113/128 == 88% chance of not
    triggering the problem; only a 12% chance that the issue is possible at
    the current time.
    
    However, if the fileserver ever returns a shorter callback expiration
    time for a newly-created file, this issue could be much more likely to
    occur.
    
    To fix this, pass a relative time to the CBHash call for
    afs_QueueCallback (the untouched CallBack.ExpirationTime) in
    afs_create(), like we do for all other CBHash callers.
    
    Also initialize 'now' to the current time before our do/while retry
    loop, to make sure 'now' is initialized. Otherwise, some compilers
    complain that 'now' may be used uninitialized, even though this
    shouldn't actually be possible:
    
        .../src/afs/VNOPS/afs_vnop_create.c: In function ‘afs_create’:
        .../src/afs/VNOPS/afs_vnop_create.c:452:48: error: ‘now’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
               tvc->cbExpires = CallBack.ExpirationTime + now;
                                ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
        cc1: all warnings being treated as errors
    
    Reviewed-on: https://gerrit.openafs.org/16601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9a1ae4f4ad6af62b24c4fe4a3a78bea052177043)
    
    Change-Id: I4d63ddbc8017216669d60cf0c1bb19d066ec37ae
    Reviewed-on: https://gerrit.openafs.org/16612
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0d3c54b6a02dc4b4d9a2e627f3a55be7fc653fc2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 18 14:11:10 2025 -0500

    lwp: Install compat header /usr/include/lock.h
    
    Commit 60da5c6988 (lwp: Rename lock.h to afs/afs_lock.h) renamed lwp's
    lock.h to afs/afs_lock.h, but old software (for example, dumpscan) may
    still try to include lock.h. For now, provide a lock.h header that just
    includes afs/afs_lock.h, to allow such software to potentially still
    build, but is otherwise unnecessary.
    
    This commit deliberately names the file in src/lwp something besides
    lock.h (old_lock_compat.h), to make sure nothing in the OpenAFS tree
    accidentally includes the header.
    
    Reviewed-on: https://gerrit.openafs.org/16550
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 8a88905d315d81d7ceeebe0640d5bfbfe3e3f759)
    
    Change-Id: I204e5d16edd24cf1e5af6c99b066cd8b464c6c90
    Reviewed-on: https://gerrit.openafs.org/16611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b95afb6c3acf0439fd011434ca12de2268c72881
Author: Alex Dehnert <adehnert@mit.edu>
Date:   Sat Aug 23 12:18:06 2025 -0400

    lwp: Rename lock.h to afs/afs_lock.h
    
    OpenAFS installs a /usr/include/lock.h, which is a very generic name for
    an OpenAFS-specific file. It seems prudent to avoid using such a generic
    name to avoid conflicts.
    
    In particular, Python 3.13 *also* introduces a "lock.h" file, which means that
    software that builds with OpenAFS and Python is likely to break (see
    https://github.com/mit-athena/python-afs/issues/6#issuecomment-3089981708).
    Python is renaming their lock.h, probably starting in Python 3.15, but it would
    be good to deconflict on machines with 3.13 and 3.14 as well as other projects
    that might use that name.
    
    This change was partially automated, using the following commands:
    git grep --name-only '"lock.h"' src/vol | xargs sed -i -e 's%^#include "lock.h"%#include <afs/afs_lock.h>%'
    git grep --name-only '<lock.h>' | xargs sed -i -e 's%^#include <lock.h>%#include <afs/afs_lock.h>%'
    find . -name Makefile.in | xargs sed -i -e 's#${TOP_INCDIR}/lock.h#${TOP_INCDIR}/afs/afs_lock.h#'
    
    Reviewed-on: https://gerrit.openafs.org/16496
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 60da5c6988f4192c98ad643141e14991b3166c6e)
    
    Change-Id: I6d0d5514c0e3f567620d1da78738637c52286f9b
    Reviewed-on: https://gerrit.openafs.org/16610
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5f5d5c48c00b509827166211abde2a7b87f2ae44
Author: Alex Dehnert <adehnert@mit.edu>
Date:   Sat Aug 2 13:07:00 2025 -0400

    bucoord: Remove unneeded lock.h include
    
    dump.c doesn't appear to use anything from lock.h, so remove the
    include. Note that it still includes lock.h indirectly (dump.c ->
    afs/tcdata.h -> afs/budb.h -> ubik.h -> lock.h), so even if it did
    depend on something we wouldn't expect an error.
    
    Reviewed-on: https://gerrit.openafs.org/16495
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Alex Dehnert <adehnert@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 675071c170a64dcc3b734cf551a45ba2444d21b0)
    
    Change-Id: I6fb658abb3d394499e673b618d90aa85d003450f
    Reviewed-on: https://gerrit.openafs.org/16605
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c379ff006d8b7db425f7648321c549ab24919d92
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Oct 23 15:15:38 2025 -0600

    linux: remove implied def HAVE_LINUX_FILEMAP_GET_FOLIO
    
    Commit:
      Linux: Use struct kiocb * for aops write_begin/end (1ad827ded0ed9)
    added 2 implied defines in osi_vnodeops, one for
    HAVE_LINUX_WRITE_BEGIN_END_FOLIO and one for HAVE_LINUX_FILEMAP_GET_FOLIO.
    The HAVE_LINUX_FILEMAP_GET_FOLIO was not needed, and causes a build
    failure:
    
      osi_vnodeops.c:4056:10: error: "HAVE_LINUX_FILEMAP_GET_FOLIO" redefined [-Werror]
       4056 | # define HAVE_LINUX_FILEMAP_GET_FOLIO
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This is because the configure test for __filemap_get_folio() succeeds
    (linux 6.15 and later) and the test for write_begin/end functions take a
    kiocb also succeeds (6.17 or later).
    
    Remove the unnecessary define.
    
    Reviewed-on: https://gerrit.openafs.org/16589
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 503ef823970695eb646a323f38b9c07d52971e69)
    
    Change-Id: I6a5768ac8e8f7cce79c5fbd67d5dcebfb4aead98
    Reviewed-on: https://gerrit.openafs.org/16604
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a765a9ddd412c8d1e5cb0f5cf497a8606251811e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Oct 21 13:55:48 2025 -0600

    Linux: Use struct kiocb * for aops write_begin/end
    
    The Linux 6.17 commit:
        fs: change write_begin/write_end interface to take struct kiocb *
        (e9d8e2bf23206)
    changed the address_space_operations members write_begin and write_end
    to use a 'struct kiocb *' instead of a 'struct file *' as the first
    parameter.
    
    The passed kiocb structure contains a pointer (ki_filp) to the file
    structure that is associated with the operation.
    
    Update the afs_linux_write_begin() and afs_linux_write_end() to accept
    a 'struct kiocb *' instead of a 'struct file *', and obtain the file
    pointer directly from kiocb.
    
    Add an autoconf test to determine if aops->write_begin()/aops->write_end
    uses a struct kiocb * as the first parameter.
    
    Reviewed-on: https://gerrit.openafs.org/16558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    (cherry picked from commit 1ad827ded0ed970540b6836250f2395ae31b84bc)
    
    Change-Id: I59d37422a280716dac3398c039fc728911a7bef2
    Reviewed-on: https://gerrit.openafs.org/16603
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 175cb545c4f3d26c41f21f8578e69b350204000a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 19 16:33:56 2024 -0500

    xdr: Set 0 _len with NULL _val
    
    When passing a struct to an RPC with an OUT opaque or array arg, a few
    callers give a NULL _val (to indicate that xdr should allocate the
    memory for us), but leave _len uninitialized. This is okay, because xdr
    ignores the _len when _val is NULL, but set _len to 0 in these cases
    just in case, and to be more consistent with other callers.
    
    Reviewed-on: https://gerrit.openafs.org/16240
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 22f87bcb04d9127f8c8c11ebb3b8cd96028c3d4a)
    
    Change-Id: I45820542940ce66e7b392f060cd4b867c8f2ee2a
    Reviewed-on: https://gerrit.openafs.org/16267
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d87b1ebf71367d36c1580c3b4980addfc8af0502
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 17 14:34:37 2024 -0500

    afs: Always "goto out" in PGetVolumeStatus
    
    A few error code paths in PGetVolumeStatus were "return"ing directly,
    without going through the "goto out" destructor, allowing our allocated
    memory to be leaked. Fix these to go through the "goto out" destructor.
    
    Reviewed-on: https://gerrit.openafs.org/16238
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 801c18bf8a973846e4d7be3bc04dc92f14eb9da2)
    
    Change-Id: I9f1e8445a3dabb847adb0674611dc853c6629f88
    Reviewed-on: https://gerrit.openafs.org/16262
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 73f313faa9c7f33fa297898a52f54096a4a85be5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 18 16:08:46 2023 -0500

    viced: Give an actual 'prname' to hpr_NameToId
    
    In MapName_r(), we cast 'uname' (a char*) into a prname* when
    populating a 'namelist' to give to hpr_NameToId(). A 'prname' is just
    an rxgen-derived typedef for char[PR_MAXNAMELEN], which looks similar
    to a char*, but is a fixed-size array.
    
    MapName_r() passes the given 'namelist' to hpr_NameToId(), which calls
    ubik_PR_NameToID() -> PR_NameToID() -> xdr_namelist() -> xdr_array()
    -> xdr_prname() -> xdr_vector(). That will send exactly PR_MAXNAMELEN
    characters of the given name to the wire, even if the string is only a
    few characters long. If the given string is significantly shorter than
    PR_MAXNAMELEN characters, then we may send uninitialized data from the
    stack on the wire.
    
    The ptserver should ignore any data after the trailing NUL byte in the
    string, but the data will still be exposed on the wire, possibly
    allowing others to see the uninitialized stack data.
    
    To fix this, copy the given string into a local blanked 'prname', and
    use that instead, avoiding the cast.
    
    Also fix the 'ptclient' program, which uses a proper 'prname' array,
    but doesn't initialize all of the memory, causing a similar problem.
    Just change a malloc() to calloc() to fix it.
    
    All other callers of PR_NameToID pass a properly-initialized 'prname'
    (or an array of them), or use strncpy() to copy the given string,
    which fills the given array with NUL bytes. However, change several
    callers to memset() or calloc() the relevant memory, to try to avoid
    similar mistakes in the future (for example, if someone changes a
    strncpy() call to strlcpy()).
    
    The issue in the fileserver calling hpr_NameToId() was introduced in
    commit 8a040cfd848410b75b4e5ac5498f00f073932598 (viced: remove static
    local realms), included in OpenAFS 1.8.0, since the given string was
    no longer NUL-filled by strncpy().
    
    FIXES 135444
    
    Reviewed-on: https://gerrit.openafs.org/16147
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit c57eddb1f24eba22902fe7726c54baedef642e06)
    
    Change-Id: I92c279ae33ae7de9ce58be4d7cb3cf0ac57bada9
    Reviewed-on: https://gerrit.openafs.org/16207
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fb1cfa3b830c04b28a18081654a2fdd01955f4ef
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 18 16:03:08 2023 -0500

    viced: Protect vlConn in TryLocalVLServer
    
    In TryLocalVLServer(), 'vlConn' is a static rx_connection that is
    initialized just once. But no locks are held in this function, and so
    theoretically one thread could try to use vlConn while another is
    setting it, which is not safe.
    
    This function is only used for RXAFS_GetVolumeInfo, an old RPC that
    isn't called by anything in OpenAFS. Maybe this RPC can be disabled
    entirely, but for now at least protect vlConn with FS_LOCK to make
    sure it doesn't cause a segfault or memory corruption.
    
    Some other races are possible with 'down' and 'lastDownTime', but
    these just determine whether we exit early, and so racing on those is
    not such a big problem.
    
    FIXES 135444
    
    Reviewed-on: https://gerrit.openafs.org/16146
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 035cb883454eb5a6fac3dc1e3f8ef17a9f3f169e)
    
    Change-Id: I1210f01cc42ae563c0b62aa9788018015dadc06c
    Reviewed-on: https://gerrit.openafs.org/16206
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a9b4ce2ec32994d5873eadeeb58fe73d35e30862
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 18 16:10:27 2023 -0500

    viced: calloc stats in SRXAFS_GetStatistics64
    
    Since it was introduced in commit
    b651ece9bdb2ea9dc19907a5686e9d084f3c03d6
    (large-partition-support-20080305), SRXAFS_GetStatistics64 allocates
    the stats memory with malloc(), and never sets the STATS64_BOOTTIME
    stat. As a result, the value for STATS64_BOOTTIME contains
    uninitialized heap data when sent over the wire.
    
    To fix this, change the stats to be calloc'd instead of malloc'd.
    
    FIXES 135444
    
    Reviewed-on: https://gerrit.openafs.org/16145
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit d9f6a21326bb609d7c5e1d0d80ad792b9fe786cc)
    
    Change-Id: I32ffdcc4b2e14a6d3f4dc8cd903bb5b65d1813b0
    Reviewed-on: https://gerrit.openafs.org/16205
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eed2428e0b3c876b5405362cc9d2f3e3c4f4830b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu May 15 11:29:19 2025 -0600

    Make OpenAFS 1.8.14
    
    Update version strings for the 1.8.14 release.
    
    Change-Id: I4b311614411b3f7b6f507d4e501dd5a796f2deaa
    Reviewed-on: https://gerrit.openafs.org/16560
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6fd90b8544e8d25206eede0ad3cdbb272d30d1ff
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Aug 20 15:54:30 2025 -0700

    Make OpenAFS 1.8.14pre1
    
    Update version strings for the first 1.8.14 prerelease.
    
    Change-Id: Ifcfb5b8ac3c69035d2d3db37db5bbb9e13aa769f
    Reviewed-on: https://gerrit.openafs.org/16514
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9550449a4e19a3584990e2bb1aee299cead0d05b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu May 15 11:29:19 2025 -0600

    Update NEWS for OpenAFS 1.8.14pre1
    
    Change-Id: I9aef918229d455f919e8f8a7df6daec0d86a2c6b
    Reviewed-on: https://gerrit.openafs.org/16298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b97de39abc3718e8dded53ca4f5787f1df3a2d42
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Aug 28 09:58:11 2025 -0600

    Linux: Use a stable dentry name in d_revalidate
    
    Accessing a stable dentry name (dentry.d_name) directly requires taking
    the d_lock, which can only be held for a short periods of time and
    cannot be easily used in d_revalidate
    
    The Linux 4.13 commit:
        dentry name snapshots (49d31c2f389ac)
    provides a utility function, take_dentry_name_snapshot(), that creates a
    safe copy of the dentry name.
    
    Update the d_revalidate function to obtain a stable dentry name instead
    of making multiple accesses to the dentry name directly in an unsafe
    manner.
    
    Create wrapper functions get_stable_dentry_name() and
    release_stable_dentry_name() for take_dentry_name_snapshot() and
    release_dentry_name_snapshot() to help deal with backward compatibility
    with Linux versions prior to the 49d31c2f389ac commit.
    
    For Linux versions where take_dentry_name_snapshot is available, use the
    take_dentry_sname_snapshot but also return a pointer to the name that
    was obtained (name_snapshot.name).
    
    For Linux versions prior that do not have the take_dentry_name_snapshot
    the wrapper function simply returns a pointer to the dentry's
    d_name.name, so the existing behavior of accessing the d_name remains
    the same.
    
    Add configure checks to determine if take_dentry_name_snapshot exists,
    and if so check the datatype used within the name_snapshot structure
    to see if it is a qstr or not.  (Some distributions backported the
    49d31c2f389ac commit for older Linux kernels, but the name_snapshot
    structure uses a char * instead of a qstr).
    
    Add a compile time check to ensure that Linux provides
    take_dentry_name_snapshot() after 4.13 so errors during 'configure'
    don't cause us to silently use the unsafe code path by mistake.
    
    Note: This commit doesn't address the issues of using an unstable d_name
    for Linux versions that do not provide the take_dentry_name_snapshot().
    For these versions of Linux, there are problems within the Linux code
    base itself surrounding the use of the dentry's name.
    
    Reviewed-on: https://gerrit.openafs.org/16528
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 84534b5cf468f93ff1e83c8148af90b011124815)
    
    Change-Id: I5ea5fadd6c4d9319d902ddf34e23182b1d41e585
    Reviewed-on: https://gerrit.openafs.org/16543
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2f4302f8a0298687bbf557078d061b532a1cfa0a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Aug 26 14:32:26 2025 -0600

    Linux: Restore using d_name.name in d_revalidate
    
    The commit:
        Linux-6.14: Handle dops.d_revalidate with parent (0306f3fdac736)
    updated afs_linux_dentry_revalidate to use the 'name' parameter that was
    introduced in Linux 6.14.  The change however is incorrectly using the
    'name' parameter (the name that the dentry is expected to have) by not
    using the qstr length of 'name'.  The original code had used dentry
    parameter's 'd_name.name' field as a NUL terminated string.
    
    Both the 'name' and 'd_name.name' are NUL terminated qstr (according to
    the porting documentation and existing Linux code usage).  However
    'name' can at times be a pointer to a longer path string where 'name'
    points to the leading part of that path, and the qstr length determines
    the length of the leading part. To properly use the 'name' parameter,
    the qstr length must be used instead of relying on the entire length of
    the NUL terminated string.
    
    Update afs_linux_dentry_revalidate to use the parent's dentry
    d_name.name field (restoring the way the dentry's name was obtained to
    what it was prior to the 0306f3fdac736 commit).
    
    Note: historically, openafs has been using the dentry d_name.name as
    a NUL terminated string from at least the initial git commit.  And
    within Linux, the dentry d_name.name has also been treated as a NUL
    terminated string (current as of 6.16 and going back to at least 2.6.18)
    
    It should be noted that the dentry d_name is unstable when d_revalidate
    is called.  A future commit will update the code to use a stable
    dentry d_name.
    
    This commit addresses a problem with excessive DNS queries that was
    reported to the openafs-info mailing list.  Initial analysis and
    identification of the mistake where done by <jaltman@auristor.com> and
    <marc@auristor.com>.
    Ref:  https://lists.openafs.org/pipermail/openafs-info/2025-August/043532.html
    
    Reviewed-on: https://gerrit.openafs.org/16527
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bcb468db3b0a6b9597aa017b37c237ec78808870)
    
    Change-Id: I9c100baf5cc847c306718f1b996cbbe57699235c
    Reviewed-on: https://gerrit.openafs.org/16542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f0f09aaa9180589a72b1dcf92396f393d0902f65
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 28 16:59:29 2025 -0400

    CellServDB update 16 Aug 2025
    
    Update all three copies in the tree, and the rpm specfile.
    
    Note: The CellServDB file internal comments mention '15 Aug 2025'.
    But the notification email was sent 16 August, and the CellServDB URL
    also specifies CellServDB-2025-08-16.
    
    Reviewed-on: https://gerrit.openafs.org/16529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 75a3a91f5086c011e91bf638e2cc8c03ee373266)
    
    Change-Id: Ibc6dab9f4a99d693ea03891ed7222fed9a07a85a
    Reviewed-on: https://gerrit.openafs.org/16537
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fdfbadd0daef0d05b578f150e84368f03a2e0e81
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 21 10:55:10 2025 -0500

    DARWIN: Handle ',' and '/' openssl x509 delims
    
    Our logic for extracting MACOS_TEAM_ID from our application signing cert
    assumes that the output from 'openssl x509 -noout -subject' looks like
    this:
    
        $ security find-certificate -c xxxx -p | openssl x509 -noout -subject
        subject=UID=SKMME9E2Y8, CN=Developer ID Application: Org (SKMME9E2Y8), OU=SKMME9E2Y8, O=org, C=US
    
    That is, the components are delimited by commas.
    
    But current macOS uses an 'openssl' from LibreSSL, and the output looks
    like this:
    
        $ security find-certificate -c xxxx -p | openssl x509 -noout -subject
        subject= /UID=SKMME9E2Y8/CN=Developer ID Application: Org (SKMME9E2Y8)/OU=SKMME9E2Y8/O=Org/C=US
    
    That is, the components are delimited by slashes. So currently, this
    build logic extracts the MACOS_TEAM_ID as something like
    "SKMME9E2Y8/O=Org/C=US", which is incorrect. Nothing notices the
    error, and the build proceeds, eventually building binaries with the
    garbage team id, and so our XPC security checks may always fail for the
    menu helper and backgrounder.
    
    To fix this, try to accommodate both output styles, delimited by either
    commas or slashes. Add a check to see if the extracted MACOS_TEAM_ID
    contains extra components, and fail if so, since that suggests we didn't
    extract it properly.
    
    Reviewed-on: https://gerrit.openafs.org/16517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 1877621fbcaab3c441c89beff005316602b9ff6d)
    
    Change-Id: I31c210b7196f11886bcbc3d2fc3b96962111b2ab
    Reviewed-on: https://gerrit.openafs.org/16520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b70b8e650b5c793730466a2296ee4da2f98ecf58
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Aug 19 12:07:56 2025 -0600

    Linux: only allow one-page folios for writepages
    
    Add a check to ensure that large folio support hasn't been
    inadvertently set on for the address space that is passed to writepages.
    This should only happen if OpenAFS explicitly enables large folio
    support.
    
    The current OpenAFS support for folios is folio-aware, but does not take
    advantage of large folios.
    
    In order to support large folios (a folio with multiple contiguous
    pages) a filesystem must opt-in by explicitly setting the min_order on a
    inode's address space during inode's creation/initialization (e.g.
    calling mapping_set_large_folios, mapping_set_folio_order_range, etc.).
    
    Add an osi_Assert at the beginning of afs_linux_writefolio_cb that
    checks to see if the folio is a large folio.
    
    Reviewed-on: https://gerrit.openafs.org/16513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8784992541997e2399515dc6270c59bfe7c72710)
    
    Change-Id: I72b3610bab3ecbd970f8836990e669e5ece3057f
    Reviewed-on: https://gerrit.openafs.org/16519
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    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>

commit e22cc4ffebbc6dd367673eebb8e0c1b63b4b6027
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Mar 14 12:01:11 2025 -0400

    DARWIN: Correct size of arm64 LWP jmp_buf_type to 64-bits
    
    Since the introduction of arm64 support, the LWP jmp_buf_type has been
    32 bits.  This causes LWP programs to fail whenever an LWP stack happens
    to be allocated above the 4G line:
    
      stackcheck = 50462976: stack = 50462976
      topstack = 0x50013ff0: stackptr = 0x150008000: stacksize = 0xc000
      Fri Mar 14 10:22:04 2025 LWP: stack overflow in process IO MANAGER!
      from Overflow_Complain()
      Abort trap: 6
    
    This is due to 32-bit truncation of the LWP context topstack value, as
    seen in the output above: topstack is reported as 0x50013ff0, but it
    should be 0x150013ff0.
    
    Define the size of jmp_buf_type to be uint64 for AFS_ARM64_DARWIN_ENV.
    
    Note: This problem is most frequently observed in cmdebug and bos.
    
    Reviewed-on: https://gerrit.openafs.org/16343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit e0721171d52a85c6835c81d2d83feb8ef8f7a8b4)
    
    Change-Id: I927d8c4eeaced4993bf0a936f56477ba5ea94776
    Reviewed-on: https://gerrit.openafs.org/16518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5e5a92d03d14100eb626ee128d17d31b7f490dca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 3 19:56:27 2025 -0600

    DARWIN: Ensure -arch arm64e for MODLD on arm64
    
    Currently, we translate '-arch arm64' into '-arch arm64e' in ARCHFLAGS
    when linking our kernel module in MODLD. But if we don't have ARCHFLAGS
    set at all, we'll use the default arch, which is 'arm64' on arm64 (not
    arm64e). So, if we build without ARCHFLAGS set, the resulting kernel
    module won't load, because it's the wrong arch.
    
    To fix this, if ARCHFLAGS is empty, set it to '-arch arm64e' explicitly
    for arm64.
    
    Reviewed-on: https://gerrit.openafs.org/16211
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f5a16cfb7b19efb2858d1fbd82fbaa2573f28371)
    
    Change-Id: I8703b27abd0ed8da5ae51c55ed6f97ba66125a84
    Reviewed-on: https://gerrit.openafs.org/16512
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ebab601bcad47543317209c726af1569fc654408
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jul 1 15:16:46 2025 -0400

    DARWIN: Remove logging AFS mount status in checkAfsStatus()
    
    Since commit 4731c8060921 (macos: AFSBackgrounder: improve detection of
    afs mount status), checkAfsStatus() logs the AFS mount status when afs
    is not mounted, but this is unnecessary and clutters the log.
    
    Remove logging the AFS mount status in checkAfsStatus().
    
    Reviewed-on: https://gerrit.openafs.org/16413
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Gaurav Saxena <gsaxena@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit c86634dba3b30c870641f577bb84b0517e4045bf)
    
    Change-Id: I6111930b2f3ea8c09cf456424c433ba5794d855f
    Reviewed-on: https://gerrit.openafs.org/16505
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a31b416054f7e5de2188ecfb1e59fe7223921197
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 31 11:27:53 2025 -0600

    linux: convert aops->writepage to writepages
    
    As part of the transition from pages to folios, the Linux 6.16 commit:
    'fs: Remove aops->writepage' (6b0dfabb35550)
    
    removes the writepage member from the address space operations and now
    requires the writepages member.
    
    An earlier Linux commit converted the underlying support of writepages
    to use folios. The Linux 6.3 commit:
    'fs: convert writepage_t callback to pass a folio' (d585bdbeb79aa)
    
    requires the callback function passed to write_cache_pages() to expect a
    folio instead of a page.
    
    Since the aops->writepages member predates Linux 2.6.18, testing for
    its presence is not an accurate check. Instead, we check to see if the
    write_cache_pages() function takes a callback that uses folios (the
    d585bdbeb79aa commit).
    
    To implement this, afs_linux_write_pages() is added for
    afs_file_aops.writepages. This function calls write_cache_pages(), which
    uses the new afs_linux_writefolio_cb() callback to process the folios.
    The callback's implementation is based on the logic from
    afs_linux_writepage() but is updated to operate directly on folios. This
    ensures that multi-page folios are handled correctly, rather than only
    processing the head page of a folio.
    
    Note, this change is retroactive back to linux 6.3.
    
    Note, According to the Linux documentation for write_cache_pages, the
    return value from the writepages should either be 0, or a negative error
    code.  However the existing writepage code can return a positive value
    (the residual for a partial write). For this commit, the existing
    behavior of returning a residual is preserved.
    
    Reviewed-on: https://gerrit.openafs.org/16437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit b2c039541d66e0760e7afe8b60539a00778fbfe2)
    
    Change-Id: I98d9e4f49fb881a3c076f2caad54649750aca7a6
    Reviewed-on: https://gerrit.openafs.org/16502
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3e57d358defc12eb573331b2ca9940abedf93f4f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 31 09:03:10 2025 -0600

    Linux: Rename page->index to page->__folio_index
    
    The Linux 6.16 commit:
        'mm: rename page->index to page->__folio_index' (acc53a0b4c156)
    
    simply renamed the field.
    
    Add a autoconf test for page->__folio_index.
    
    Create a getter wrapper function, afs_page_index(), that returns
    page->__folio_index/page->index.
    
    Update code that references the page->index with afs_page_index().
    
    Note: Older code that is not conditionally not built for Linux 6.16
    (e.g. afs_linux_bypass_readpages and afs_linux_readpages) was not
    updated to use the wrapper.
    
    Reviewed-on: https://gerrit.openafs.org/16439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 24fdeefe16688d6a5cb7499a22df49d2c5ff9011)
    
    Change-Id: Ide2f3a6513a006887db2cc6d7fdef2df33dec347
    Reviewed-on: https://gerrit.openafs.org/16501
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c226a7073270f6f8669581dd31ce787905cc0ded
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 31 10:46:14 2025 -0600

    Linux: Use __readahead_folio
    
    The linux 6.16 commit:
      'filemap: remove readahead_page()' (c09b997342bcd)
    
    removed the readahead_page() function.  As a replacement, the function
    __readahead_folio() is functionally equivalent, except it returns a
    folio instead of a page.
    
    The Linux 5.17 commit:
      'mm/filemap: Add readahead_folio()' (9bf70167e3c61)
    
    added __readahead_folio() and updated readahead_page() to be just a
    wrapper for __readahead_folio().  The function readahead_folio() is also
    just a wrapper around __readahead_folio(), however readahead_folio() is
    not a direct replacement for readahead_page() as it performs a folio_put
    before returning the folio.  Using __readahead_folio() allows the same
    logic to be used for pages or folios.
    
    Add an autoconf test for __readahead_folio.
    
    Create a compatibility wrapper, afs_readahead_folio, for
    __readahead_folio() / readahead_page().
    
    Add compatibility wrappers:
        afs_FolioLocked for folio_test_locked/PageLocked
        afs_unlock_folio for folio_unlock/unlock_page.
    
    These compatibility wrappers are for when code is working with folios
    but are referencing the head page of a folio instead of referencing the
    folio directly.
    
    The Linux functions: folio_test_locked, page_folio, folio_unlock,
    folio_page were introduced in 5.16.
    
    Note: With this change, on Linux 5.17 and later the build will use
    __readahead_folio instead of readahead_page.  However the actual
    behavior will be the same since readahead_page was nothing more than a
    wrapper for __readahead_folio.
    
    Add curly braces to near by if statements.
    
    Reviewed-on: https://gerrit.openafs.org/16438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 414dfa79a820ef1248a08ba9f9ebbccb44074774)
    
    Change-Id: I22126d996246e77cdd8649797cf37dc827edeb81
    Reviewed-on: https://gerrit.openafs.org/16500
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 691e90fa1c58d9afb2e26fe6b9022329364ac048
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 31 10:20:13 2025 -0600

    linux: refactor afs_linux_writepage
    
    In preparation for a future commit, refactor afs_linux_writepage() by
    moving the code that handles locking/obtaining the credential structure,
    and unlocking the vcache/releasing the credential structure into their
    own functions, afs_linux_begin_writeback() and afs_linux_end_writeback().
    
    As a precaution, set the pointer to the creds to NULL after freeing it.
    
    There are no functional changes other than setting *acredp = NULL after
    the free.
    
    Reviewed-on: https://gerrit.openafs.org/16436
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit eb0bd53b8d03d764861a45cf91faeecda415f5d7)
    
    Change-Id: I7b78fd3d37c3fb53ca03f27c7dbc360f69c24a20
    Reviewed-on: https://gerrit.openafs.org/16499
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a580c6388ae08b8af0fa03d866f7db5e9c87a209
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jul 7 16:57:23 2025 -0600

    linux: change lookup_one_len to lookup_noperm
    
    The linux 6.16 commit:
        'VFS: rename lookup_one_len family to lookup_noperm and remove
         permission check' (fa6fe07d15363)
    
    Renamed the lookup_one_len() function to lookup_noperm().
    
    Create a wrapper, afs_lookup_noperm(), to call lookup_noperm() if
    available, otherwise use lookup_one_len().
    
    Add an autoconf test to determine the presence of lookup_noperm().
    
    The only location that uses afs_lookup_noperm is afs_linux_sillyrename.
    Within this context, the code does not require the permission check that
    was part of lookup_one_len().
    
    Reviewed-on: https://gerrit.openafs.org/16435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit d3c424dcaba6ed8415a7617f0ae3622fe84e988a)
    
    Change-Id: Ibe202694162f79defdf546eb4907504856263a4f
    Reviewed-on: https://gerrit.openafs.org/16498
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit b13960792ddf931f553a1d203014b88c5ba122a8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 30 19:04:52 2022 -0600

    rx: Use add_and_fetch for rx_atomic_add_and_read
    
    Our implementation for rx_atomic_add_and_read that uses the __sync
    builtins currently uses __sync_fetch_and_add. But __sync_fetch_and_add
    returns the original value, where rx_atomic_add_and_read is supposed
    to return the new (added) value. Fix it to use __sync_add_and_fetch,
    which rx_atomic_inc_and_read already uses.
    
    This function has been broken in this way since it was introduced, in
    commit 2758aa7171 (rx: Add the add_and_read function to our atomics),
    but has never been used.
    
    Reviewed-on: https://gerrit.openafs.org/15278
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d051e9c62f7af40e7d673cec01070336c033b48e)
    
    Change-Id: I9971019e7d0744f51e05515455c11449c86883f7
    Reviewed-on: https://gerrit.openafs.org/16124
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 38cd96ca14b0253fb4181972cbc8b9348fb93ccc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 14 01:45:57 2024 -0600

    volser: Add simple shutdown signal handler
    
    Currently, the volserver process doesn't register any signal handlers
    for a shutdown sequence. When the fileserver process group is shutdown,
    the bosserver sends a SIGTERM to the volserver process, and the
    volserver process immediately dies. If any volumes are attached by the
    volserver at the time (e.g., for dumping or restoring a volume), the
    volume is not cleanly detached, and usually must be salvaged later on
    before it can be used. This can be confusing to administrators, since a
    volume may need salvage even though we never logged a reason why the
    volume got in an unclean/broken state.
    
    To improve this situation, add a signal handler to the volserver so we
    can go through a shutdown process. In the future, we can add a more
    complex shutdown process that may interrupt running volume transactions,
    or wait for transactions to go away, or something else. But for now,
    just as a first step, add a very simple shutdown process that just logs
    what transactions are being interrupted, so we at least give a clue as
    to why some volumes were not cleanly detached.
    
    With this commit, the volserver now logs some messages if transactions
    are running when it's shutdown. For example, a VolserLog may look like
    this:
    
        Mon Jan 13 10:11:32 2025 Volserver shutting down on signal 15
        Mon Jan 13 10:11:32 2025 Interrupting transaction 2 for volume 536871057 partition /vicepa; volume may need salvage
        Mon Jan 13 10:11:32 2025 Interrupting transaction 1 for volume 536871052 partition /vicepa; volume may need salvage
        Mon Jan 13 10:11:32 2025 Volserver shutdown complete
    
    With this commit, the volserver process also exits with code 0 on a
    normal shutdown, instead of being terminated by the SIGTERM signal. The
    BosLog entry for shutting down a volserver process used to look like
    this:
    
        Mon Jan 13 10:11:32 2025 dafs:vol exited on signal 15
    
    and with this commit, now looks like this:
    
        Mon Jan 13 10:11:32 2025 dafs:vol exited with code 0
    
    This commit just adds the signal handler for the pthreaded volserver;
    don't bother adding a code path for the obsolete LWP volserver.
    
    Reviewed-on: https://gerrit.openafs.org/16083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit e127edeff69c5b8cc3865658b93b548b6b1d8569)
    
    Change-Id: Iedb1048f89573ec526012e1f2eb46647d38e03ea
    Reviewed-on: https://gerrit.openafs.org/16123
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d6a035c6977d84683f7504197e55dc624bd823e3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 11 16:57:32 2017 -0500

    afsd: Correctly detect invalid cache dirs
    
    afsd has quite a bit of logic for searching through an existing
    OpenAFS cache dir, and removing extra cache files. Part of this logic
    currently looks similar to this:
    
        if ((vFileNum = GetDDirNumber(currp->d_name, maxDir)) >= 0) {
            /* we found a valid D1234 dir */
    
        } else if ((vFileNum = GetDDirNumber(currp->d_name, 1 << 30)) >= 0) {
            /* the D1234 dir we found isn't valid, but only because its
             * number was too big */
        }
    
    That is, we check if we found a valid D1234 dir, and whether or not
    the number for the the dir was too high. We go into different code
    paths for these, because for fully-valid dirs, we process them like
    normal. For too-big dirs, we don't want to keep the dir, but we still
    look inside it to potentially find valid cache files.
    
    The problem is, GetDDirNumber doesn't actually use its second
    argument; it is passed to doGetXFileNumber, where the 'maxNum'
    argument is never used. Instead, we always check the interpreted
    number against 'cacheFiles'; that's valid for V1234 files, but not for
    D-dirs.
    
    So, if doSweepAFSCache encounters a D-dir that is only invalid because
    the number for it is too large, it will process it as if it were a
    normal valid dir. That means we access cache_dir_list[vFileNum] for
    that dir, but the 'cache_dir_list' array is only 'maxDir' members
    long, so writing to that part of the array overwrites some other part
    of memory.
    
    As a result, if afsd is started with a cache that has D-dirs that are
    much larger than the max dirs needed for the current cache, it can
    easily abort or segfault as a result of memory corruption. This can
    happen if a client's cache size is greatly reduced (or some other
    cache parameters are changed), and the client is restarted with the
    same cache dir.
    
    Reviewed-on: https://gerrit.openafs.org/12612
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 9c1804495d404b4d5b325a7b87789dd54c7fd446)
    
    Change-Id: I26c2148d090eacba5086fa7c1ea792e4faf6cbb5
    Reviewed-on: https://gerrit.openafs.org/16103
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7d014c0b9c96e68e3e3cea3505701f84de175784
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Jan 24 14:39:20 2023 +0000

    fs: Avoid unnecessary lstat() for -literal
    
    Currently, GetLastComponent() always stats (lstat) the file received as
    an argument. However, the status information about this file is only
    used when 'literal' is false. That said, skip lstat() when 'literal' is
    true.
    
    While here, zero out 'statbuff' at the beginning of GetLastComponent()
    just to make sure it won't be used uninitialized in the future.
    
    Reviewed-on: https://gerrit.openafs.org/14840
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit a0852d93e5b6643a3dcfc535e5e89fed1ad89568)
    
    Change-Id: I8ecde79d55be6869fd242170ec331710bb2756ad
    Reviewed-on: https://gerrit.openafs.org/16102
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 22eceec767012a0b91ab8e2ea831c8c09ae647f9
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jun 18 10:30:53 2025 -0400

    macos: Add support for macOS 26 (Tahoe)
    
    This commit introduces the new set of changes/ files required
    to successfully build and package the OpenAFS source code on
    MacOS 26 "Tahoe".
    
    Reviewed-on: https://gerrit.openafs.org/16396
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 6a6f9851f335702b6a1477850afc38a829aa174b)
    
    Change-Id: Ibc7a6e6e62ee0fb6bc0a634c2d42ee890145fd4d
    Reviewed-on: https://gerrit.openafs.org/16433
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 59c1b416655d3d8c986e44968f8a073627ef6ebb
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 21 21:35:04 2024 -0500

    macos: Set 'ret' in AFSBackgrounder's renewTicket
    
    On macOS 14 (Sonoma):
    
    If the AFSBackgrounder is running and enabled for automatic renewal of
    Kerberos tickets, AND if there is no current Kerberos ticket, then the
    renewal task will 1) fail to prompt for a Kerberos principal and
    password and 2) throw an exception and crash.
    
    Because the launchd task will automatically restart AFSBackgrounder, it
    will crash repeatedly until either a ticket is manually obtained (via
    kinit) or the AFSBackgrounder is disabled (by unchecking the
    Backgrounder checkbox in the OpenAFS preference pane), or the prefpane
    'Enable auto-renew' box is unchecked.
    
    The root cause for this crash is undefined behavior in renewTicket():
    since commit 62cccc4547bd (macos: avoid KLRenewInitialTickets crash in
    Lion), stack variable 'ret' is never assigned a value before we test it
    for 0.
    
    In previous versions of macOS (10.7 (Lion) through 13 (Ventura)), this
    code has worked as expected, prompting the user for a Kerberos principal
    and password.  However, with the version of Xcode (Apple clang version
    15.0.0 (clang-1500.1.0.2.5)) introduced by macOS 14 (Sonoma), the
    compiler elides all code after the errant 'if (ret == 0)', including
    the Kerberos prompt logic (krb5_cc_get_principal).
    
    Mitigate the undefined behavior by ensuring 'ret' has a defined value
    before it is tested. Set it to the error code of krb5_cc_default(), so
    we won't do anything if krb5_cc_default() fails.
    
    Reviewed-on: https://gerrit.openafs.org/15971
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 9585f92d785779ae1d0e798f81b896743c1236bd)
    
    Change-Id: I9b1844ad87d427e8c6b29da36bc31b2d2fc13e50
    Reviewed-on: https://gerrit.openafs.org/16260
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 63c3006bf72dc602e48d111df4b53e0b618c0176
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Jan 13 17:59:29 2025 -0500

    macos: Support building solely with Xcode headers
    
    Since commit 677b03881481 (macos: tell the compiler the system include
    path), and macOS 10.15 (Catalina), OpenAFS has required two sets of
    system headers to build:
    
      Xcode.app             for the xcodeproj components
      Command Line Tools    for afs.kext
    
    In order to make installing the Command Line Tools optional, support
    building afs.kext with Xcode headers if the Command Line Tools are not
    present.
    
    Reviewed-on: https://gerrit.openafs.org/16136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit cc85ba4f375d482719f0e8dcf216b2f45be7fd3f)
    
    Change-Id: If688173b6a59a560bda801155d9c3bbec8a7733b
    Reviewed-on: https://gerrit.openafs.org/16190
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6183778941259a8f806105436be8aff7c3134ca1
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Tue Jan 28 15:27:34 2025 +0100

    macos: Add support for MacOS 15.X (Sequoia)
    
    This commit introduces the new set of changes/ files required
    to successfully build and package the OpenAFS source code on
    MacOS 15.X "Sequoia".
    
    [mbarbosa: added missing components to sysname.m4]
    
    Reviewed-on: https://gerrit.openafs.org/15865
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f9e7b18e14f1ec783d5f4b05dd63ed27659d2f34)
    
    Change-Id: I047dc326777bfac777f995304c873e08aa3ccfaf
    Reviewed-on: https://gerrit.openafs.org/16189
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eb66d957d84386dceb17217d95842e301d2a259a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Dec 13 16:22:26 2024 -0500

    macos: Autodetect kernel headers path for afs.kext
    
    Commit 72b2670a9e2e (macos: add support for MacOS 10.14) added
    *_darwin_180 to the existing Darwin stanza in src/cf/osconf.m4.
    This specified (as for previous releases):
    
      KROOT=
      KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
    
    However, at some point around Mojave 10.14.*, kernel headers were no
    longer suplied at that path by the operating system installation.
    Instead, developers were expected to install the Command Line Tools for
    Xcode (in this case, Xcode 10) to install the kernel headers at:
    
      /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/
          System/Library/Frameworks/Kernel.framework/Headers/
    
    This causes OpenAFS builds on Mojave 10.14 to fail with:
    
      ... fatal error: 'sys/types.h' file not found
      #include <sys/types.h>
               ^~~~~~~~~~~~~
      1 error generated.
    
    Later, OpenAFS added support for this new path with commit 677b03881481
    (macos: tell the compiler the system include path), but implemented it
    only for macOS 10.15 Catalina (*_darwin_190):
    
      KROOT='/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
      KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
    
    To fix this, test for what path exists instead of hard-coding these
    paths for specific versions. If none of them exist, disable building the
    kernel module, or throw an error if it was specifically enabled (similar
    to Linux's header-detection logic). That way, if there are no headers
    available, we throw an error much earlier during configure, instead of
    later during the build. Add this logic in a new autoconf macro,
    OPENAFS_MACOS_KINCLUDES. To make the logic slightly simpler, change
    KINCLUDES to be expanded in 'configure' itself instead of during 'make'.
    
    NOTE: Although kernel headers are also available by installing Xcode,
    the OpenAFS build system currently only uses Xcode kernel headers for
    the Xcode project components (OpenAFS prefpane, afscell, and the aklog
    plugin).  The OpenAFS build system currently uses Command Line Tools
    kernel headers to build the macOS cache manager kernel extension (kext).
    
    Thanks to Ben Huntsman for reporting the issue.
    
    Reviewed-on: https://gerrit.openafs.org/15990
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit bb656d901334e110ec4cfc9cfb9f932273d738ea)
    
    Change-Id: If955a1317a996b07690e87dcc373435b58adefa5
    Reviewed-on: https://gerrit.openafs.org/16188
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 65ec7801f28d56b30a01559b9cfe99effd398d71
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 5 17:46:12 2023 -0400

    macos: Stop passing -sdk to xcodebuild
    
    The following OpenAFS macOS platform-specific components are built
    with 'xcodebuild --sdk ${OSXSDK} --project ...':
    
      src/platform/DARWIN/
        AFSPreference/OpenAFS.xcodeproj
        AklogAuthPlugin/AklogAuthPlugin.xcodeproj
        afscell/afscell.xcodeproj
    
    The value of OSXSDK is hardcoded at configure time (in
    src/cf/sysname.m4) for each major macOS version and platform.
    
    However, in recent years, this hardcoded approach has become unsuitable
    because SDK versions are more likely to change their minor number when
    Xcode is updated for a minor version macOS update.  For example, Xcode
    versions intended for macos 14 (Sonoma, AFS_DARWIN230_ENV) have
    increased the SDK version several times:
    
       macosx14.0
       macosx14.2
       macosx14.4
       macosx14.5
    
    A similar situation has been observed for most recent versions of macOS,
    at least back to 10.14 Mojave.
    
    If the hardcoded OSXSDK version is not correct, xcodebuild will fail
    with (for example, on 14 Sonoma):
       xcodebuild: error: SDK "macosx14.0" cannot be located.
       make[4]: *** [OpenAFS.prefPane] Error 64
    
    To fix this, just don't pass -sdk at all, and xcodebuild will use
    whatever sdk is installed (or, if there are multiple sdks installed, the
    sdk that was specified as the default with xcode-select). Remove the
    OSXSDK variable, since that's all it's used for.
    
    At least for now, keep the existing method of hard-coding the sdk for
    macOS 10.13 (AFS_DARWIN170_ENV) and earlier, to preserve existing
    behavior. Use the new variable XCODEBUILD_FLAGS to specify the sdk on
    these versions.
    
    [adeason@sinenomine.net: Remove OSXSDK, introduce XCODEBUILD_FLAGS.]
    
    Reviewed-on: https://gerrit.openafs.org/16150
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 989206eab791ad1356f112cfe774f74cac5d2621)
    
    Change-Id: If58e699c2617fd828ae84a97176264549122e6f8
    Reviewed-on: https://gerrit.openafs.org/16187
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d4c8ea9057df13a725c0639f4a783d56e14d31fe
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jan 28 19:53:26 2025 -0500

    macos: Remove SDKROOT from AklogAuthPlugin project
    
    An attempt to build AklogAuthPlugin with the default SDK fails:
    
      xcodebuild --project AklogAuthPlugin.xcodeproj
    
      error: unable to find sdk 'macosx10.6' (in target 'AklogAuthPlugin'
             from project 'AklogAuthPlugin')
      warning: There are no architectures to compile for because the
             VALID_ARCHS build setting is an empty list. (in target
             'AklogAuthPlugin' from project 'AklogAuthPlugin')
      ** BUILD FAILED **
    
    Remove the SDKROOT=macosx10.6 specification from the project file.
    
    Reviewed-on: https://gerrit.openafs.org/16151
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 2e149f1c9dbac198e646d63cec54dd2ca83c4e8d)
    
    Change-Id: I173056eee67c8e00c4b87420ebf2daea76ba6b42
    Reviewed-on: https://gerrit.openafs.org/16186
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f09826d1651f54529dc04cccb8815f7ea41cd194
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jan 22 15:30:37 2025 -0500

    DARWIN: Allow use of CAST_USER_ADDR_T again
    
    CAST_USER_ADDR_T is a Darwin-supplied typedef to assist in address
    handling between userspace and kernelspace.
    
    Commit 81099c479e14 (macos 10.6 64 bit support) disabled AFS_COPYIN's
    use of CAST_USER_ADDR_T in AFS_DARWIN100_ENV (10.6 Snow Leopard) and
    higher to prevent issues caused by that release's support for mixed
    32-bit or 64-bit userspace and kernelspace. Although this could generate
    type-mismatch warnings for AFS_COPYIN, they were ignored.
    
    However, in recent versions of Xcode (around the release of macOS 14),
    this warning is now reported as an error:
    
      src/afs/afs_syscall.c:373:5: error: incompatible pointer to integer
                             conversion passing 'caddr_t' (aka 'char *') to
                             parameter of type 'user_addr_t' (aka 'unsigned long long')
                             [-Wint-conversion]
         AFS_COPYIN(cmarg, (caddr_t) dst, sizeof *dst, code);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    To eliminate this error, reinstate use of CAST_USER_ADDR_T for modern
    macOS releases (AFS_DARWIN190_ENV 10.15 Catalina and up) which support
    only 64-bit userspace and kernelspace.
    
    Thanks to Ganesh Chaudhari for reporting the issue and providing a
    preliminary fix.
    
    Reviewed-on: https://gerrit.openafs.org/16142
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit bac7955a2e892dce1e22629b5858641e7a32bf25)
    
    Change-Id: If412eed17f0ac688dba8be569ebc389ee55cda00
    Reviewed-on: https://gerrit.openafs.org/16185
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 58ae3117f0f691ffe621c1f219813193975a6742
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Wed Jan 15 15:54:03 2025 -0500

    DARWIN: Cast arguments to afs_syscall_pioctl()
    
    In recent versions of Xcode (around the release of macOS 14), mismatched
    argument types are now flagged as errors instead of warnings:
    
        src/afs/afs_syscall.c:659:22: error: incompatible integer to pointer
                                      conversion passing 'afs_int32' (aka 'int') to
                                      parameter of type 'char *' [-Wint-conversion]
    
          afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3,
                             ^~~~~~~~~~
    
        src/afs/afs_syscall.c:659:46: error: incompatible integer to pointer
                                      conversion passing 'afs_int32' (aka 'int') to
                                      parameter of type 'caddr_t' (aka 'char *')
                                      [-Wint-conversion]
    
          afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3,
                                                     ^~~~~~~~~~
    
    Add approriate casts to parameters 1 and 3.
    
    [mvitale: commit message details]
    
    Reviewed-on: https://gerrit.openafs.org/16141
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 0eb223a36de2f80e11d81fafba10ded6912d3327)
    
    Change-Id: Ic77003be33fb73ea49d844b95ebd5318eb3e2908
    Reviewed-on: https://gerrit.openafs.org/16184
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 26346652864be952f6b7da7e322302be9f9fe604
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Wed Jan 15 17:02:24 2025 -0500

    DARWIN: Correct function signature of afs_mount
    
    Since commit bb33cbb6eb15 (macos-rollup-20051013) the function signature
    for afs_mount has been incorrect, resulting in a warning.
    
    In recent versions of Xcode (around the release of macOS 14), this is
    now flagged as an error:
    
      /src/afs/DARWIN/osi_vfsops.c:607:4: error: incompatible function
                      pointer types initializing 'int (*)(struct mount *, vnode_t,
                      user_addr_t, vfs_context_t)' (aka 'int (*)(struct mount *,
                      struct vnode*, unsigned long long, struct vfs_context *)')
                      with an expression of type 'int (struct mount *, vnode_t *,
                      user_addr_t, vfs_context_t)' (aka 'int (struct mount *,
                      struct vnode **, unsigned long long, struct vfs_context *)')
                      [-Wincompatible-function-pointer-types]
       afs_mount,
       ^~~~~~~~~
    
    To eliminate the build error, correct the function signature by
    declaring 'devvp' as a vnode_t, not a vnode_t*. (The devvp argument is
    not used in afs_mount(), so changing the type has no impact on the rest
    of the function.)
    
    [mvitale: commit message details]
    
    Reviewed-on: https://gerrit.openafs.org/16140
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 41bf672ebc79093d278c75bb8b41659820b2f616)
    
    Change-Id: Ie03e9bb133f5aab8d96703583328562765df36be
    Reviewed-on: https://gerrit.openafs.org/16183
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0479d5e88e859aed5c55d080e88f4b99c110c822
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Wed Jan 15 16:50:44 2025 -0500

    DARWIN: Specify 'int' return type for PFI
    
    In recent versions of Xcode (around the release of macOS 14), clang
    yields this error (previously a  warning):
    
      src/afs/DARWIN/osi_vfsops.c:534:11: error: type specifier missing,
         defaults to 'int'; ISO C99 and later do not support implicit int
         [-Wimplicit-int]
       typedef (*PFI) ();
    
    Explicitly specify 'int' for PFI.
    
    [mvitale: commit message details; use 'int' rather than 'void' to match
    corresponding XNU typedef]
    
    Reviewed-on: https://gerrit.openafs.org/16139
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3beeb7a6806066e8c07ebf9f9f1fbe407161fb51)
    
    Change-Id: Ic83f516e42f200202b4a14ac6105905787eaf634
    Reviewed-on: https://gerrit.openafs.org/16182
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9fb0ae28652f0b093150702c30bc58b87f6bd750
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Wed Jan 15 16:31:35 2025 -0500

    DARWIN: Skip NULL func ptrs in osi_vnodeops.c
    
    In recent versions of Xcode (around the release of macOS 14), clang now
    reports these former warnings as errors:
    
        src/afs/DARWIN/osi_vnodeops.c:163:12:
            error: incompatible function pointer types initializing
            'int (*)(void*)' with an expression of type 'void (*)()'
            [-Wincompatible-function-pointer-types]
    
         {NULL, (void (*)())NULL}
                ^~~~~~~~~~~~~~~~
    
        src/afs/DARWIN/osi_vnodeops.c:206:12:
            error: incompatible function pointer types initializing
            'int (*)(void*)' with an expression of type 'void (*)()'
            [-Wincompatible-function-pointer-types]
    
         {NULL, (void (*)())NULL}
                ^~~~~~~~~~~~~~~~
    
    To avoid these errors, simply do not specify the function pointer, and
    let the rest of the struct value get filled in with zeroes.
    
    Also specify a return type for afs_vop_pathconf(), to avoid this error
    (which clang formerly flagged as a warning):
    
        src/afs/DARWIN/osi_vnodeops.c:1841:1:
            error: type specifier missing, defaults to 'int'; ISO C99 and
            later do not support implicit int [-Wimplicit-int]
    
         afs_vop_pathconf(ap)
         ^
    
    [mvitale, adeason: commit message details]
    
    Reviewed-on: https://gerrit.openafs.org/16138
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3f64facc10e34145f316decf19e24665682f8db9)
    
    Change-Id: Id0694a0559bf9208e2bf29b5f2aaeb03ff5d0097
    Reviewed-on: https://gerrit.openafs.org/16181
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8d29c0fe7864d68fbf92423be02f95d8a171fb59
Author: GANESH CHAUDHARI <gangovind@in.ibm.com>
Date:   Wed Jan 15 16:17:18 2025 -0500

    DARWIN: Define return type for getinode()
    
    In recent versions of Xcode (around the release of macOS 14), clang now
    flags the lack of a return type for these functions as errors instead of
    warnings:
    
      src/afs/DARWIN/osi_inode.c:30:1:
        error: type specifier missing, defaults to 'int'; ISO C99 and
        later do not support implicit int [-Wimplicit-int]
    
       getinode(fs, dev, inode, vpp, perror)
       ^
    
      src/afs/DARWIN/osi_inode.c:60:1:
        error: type specifier missing, defaults to 'int'; ISO C99 and
        later do not support implicit int [-Wimplicit-int]
    
       igetinode(vfsp, dev, inode, vpp, va, perror)
       ^
    
    Eliminate the errors by explicitly declaring each function as return
    type 'int'.
    
    [mvitale: commit message details]
    
    Reviewed-on: https://gerrit.openafs.org/16137
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6e0b549fd54ab3815d65425330b9bb66fbed3626)
    
    Change-Id: I18d6054a51f31f53b998b254d50d469b463efc1c
    Reviewed-on: https://gerrit.openafs.org/16180
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e4b9b8defd04bc6e804f97ebb14edac734c3942e
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jan 22 12:28:29 2025 +0000

    DARWIN: Set parent of volume root vnodes
    
    Vnodes that lack a parent can lead to inaccurate ENOENT errors on macOS.
    To prevent this issue from occurring, ensure that the parent of volume
    root vnodes is always set when evaluating them.
    
    Thanks to gangovind@in.ibm.com, who originally brought attention to some
    of the side effects of this problem.
    
    This commit is the product of collaborative efforts by
    mbarbosa@sinenomine.net, adeason@sinenomine.net, and kaduk@mit.edu.
    
    Reviewed-on: https://gerrit.openafs.org/16032
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit fc3255eff69fda9a782961e636064e0699f7d966)
    
    Change-Id: Ib68358647ec10017b2f0ac7956b8fd649592ed1d
    Reviewed-on: https://gerrit.openafs.org/16179
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 72dd3dc79f77c8d4dfceaaddbc9b2993ca297249
Author: Andrew Deason <adeason@dson.org>
Date:   Mon May 25 16:48:37 2020 -0500

    afs: Remove 'retry' arg from afs_FindVCache
    
    Since OpenAFS 1.0, afs_FindVCache has had an optional 'retry' output
    arg. The relevant functionality appears to have been specific to Irix
    versions before 5.3, but even OpenAFS 1.0 only had param.h files and
    general build logic for Irix 6.2 and later.
    
    With commit 13e44b2b (afs: Refactor osi_vnhold/AFS_FAST_HOLD), the
    unused 'retry' argument has now been removed from the lower-level
    osi_vnhold function, so now remove it from afs_FindVCache and related
    comments, and remove the associated logic to handle a non-zero
    'retry'.
    
    Reviewed-on: https://gerrit.openafs.org/14231
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1c3d360de6045eb38e0348e2bc5e7b40a3d5b1de)
    
    Change-Id: Ibfcbba21ade3718a09181aebeffe785c3ebda5e3
    Reviewed-on: https://gerrit.openafs.org/16251
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 73040e891713bce762d93514e01b2c698eae45dc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 10 12:42:44 2019 -0500

    afs: Remove useless afs_GetVCache arguments
    
    The 'avc' argument in afs_GetVCache has never been used, all the way
    back to OpenAFS 1.0. The 'cached' argument was set correctly, but none
    of its callers ever looked at the result of 'cached'. Remove these
    useless arguments.
    
    afs_LookupVCache and afs_GetRootVCache also had the same 'cached'
    argument, which was also never used by callers. Remove it for those,
    as well.
    
    Reviewed-on: https://gerrit.openafs.org/13681
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3b0a9ff6af68c88d656aefe2242f12a7a9e04969)
    
    Change-Id: I1a5dab9e3f1e5316438f614d0a89be6f18936ba2
    Reviewed-on: https://gerrit.openafs.org/16250
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b469c8917515656b01962a849d574dffcfa0601a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 3 15:55:06 2025 -0500

    DARWIN: Use 'cp -n' for privhelper 'backup' task
    
    Commit 75da4edd3c (DARWIN: Convert prefpane backup ops to privhelper)
    converted the backup-related prefpane operations to use our privhelper
    binary. But this also changed our behavior to always overwrite an
    existing .afscommander_bk backup file, where previously we left any
    existing .afscommander_bk file alone.
    
    To preserve the original behavior, pass '-n' to our 'cp' command, so we
    don't clobber an existing file.
    
    Reviewed-on: https://gerrit.openafs.org/16414
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4ff4f85d0921a1c9dba31a31e34e68a7b59bd7fa)
    
    Change-Id: I0ec60871fd16463b4d64a09b6c24d67e908e2960
    Reviewed-on: https://gerrit.openafs.org/16444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 78f5daf8bd79603c53630ba6eb712ab87ebc5dc5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 27 13:33:18 2025 -0500

    LINUX: Remove test for DCACHE_NFSFS_RENAMED
    
    The symbol DCACHE_NFSFS_RENAMED has existed in Linux for a long time,
    well before the 2.6 version series. This is before our minimum supported
    Linux kernel version of 2.6.18, so we don't need to check for it
    anymore. Remove the configure test, and remove all references to
    HAVE_DCACHE_NFSFS_RENAMED (assuming it's always true).
    
    Keep the afs_linux_clear_nfsfs_renamed() et al abstractions, since they
    may help keep the code more readable, but fix their formatting while
    we're here.
    
    Reviewed-on: https://gerrit.openafs.org/16409
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f0f3fe56769b219f4741457948394b7f1b0b5b7a)
    
    Change-Id: I95b1fa2fff35bac5dfe1b0d3fced6744ca87e9e7
    Reviewed-on: https://gerrit.openafs.org/16432
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 39ce8f11df2d650bb4d86c76c127c292880a5c76
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 2 12:18:19 2025 -0500

    LINUX: Use folio_page() to convert folio to page
    
    A few pieces of code are currently converting a folio into a page via
    &folio->page. But the macro folio_page() can do this for us; use that
    instead, so we don't need to know the details of how folios/pages are
    stored together.
    
    The macro folio_page() was introduced in Linux commit 7b230db3b8d3 (mm:
    Introduce struct folio), and so should always be available when folios
    themselves are.
    
    Reviewed-on: https://gerrit.openafs.org/16389
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f168b1432175ef1d624cd80736864828c5efbe18)
    
    Change-Id: I0c7acd39e493963ebcb28c83fbda8452296edbd2
    Reviewed-on: https://gerrit.openafs.org/16431
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0c44e9f27fd0e058b59a9b63d755036829590e81
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue May 27 13:46:54 2025 -0600

    Linux: Use __filemap_get_folio()
    
    The Linux 6.15 commit:
        mm: Remove grab_cache_page_write_begin() (e33ce6bd4ea2)
    removed grab_cache_page_write_begin() which had been a wrapper for
    __filemap_get_folio().  The functions __filemap_get_folio() and
    filemap_get_folio() were introduced in the Linux 5.16 commit:
        mm/filemap: Add filemap_get_folio (3f0c6a07fee6)
    
    Add a new configure test for __filemap_get_folio().
    
    The function afs_linux_write_begin() can only use __filemap_get_folio
    after the Linux 6.12 commit:
        fs: Convert aops->write_begin to take a folio (1da86618bdce3)
    (HAVE_LINUX_WRITE_BEGIN_END_FOLIO)
    
    Replace the call to grab_cache_page_write_begin() with
    __filemap_get_folio() and use folio_unlock()/folio_put() to release the
    folio.
    
    Note: The function grab_cache_page_write_begin() was introduced in
    Linux 2.6.29 where it renamed __grab_cache_page() and added additional
    parameters.  It was added in the Linux 2.6.29 commit:
        fs: symlink write_begin allocation context fix (54566b2c1594)
    
    To handle kernels older than 2.6.29, OpenAFS has had its own version of
    grab_cache_page_write_begin() that simply front-ended
    __grab_cache_page().
    
    Add an additional preprocessor check to not build with the openafs
    version of grab_cache_page_write_begin if __filemap_get_folio() is
    available.
    
    NOTE: To summarize the timeline of when Linux features where added or
    changed:
    
      Linux 2.6.9 added the grab_cache_page_write_begin
      Linux 5.16  added the __filemap_get_folio as a replacement for
                  grab_cache_page_write_begin for use with folios
      Linux 6.12  converted aops->write_begin to use a folio
      Linux 6.15  removed grab_cache_page_write_begin
    
    Reviewed-on: https://gerrit.openafs.org/16374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f1b8ca0d664f018a6393e54133413ec4fe9f4e28)
    
    Change-Id: I992de9b4ac77ab502ba6da2ee902b2540bbad0bb
    Reviewed-on: https://gerrit.openafs.org/16430
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d946ce6f218a2013bc002fb44ad23b89f2d21212
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 26 10:07:20 2025 -0600

    Linux: Refactor afs_linux_write_end()/begin()
    
    Refactor afs_linux_write_end() and afs_linux_write_begin() to separate
    the folio and non-folio related code.  This allows reducing some of the
    preprocessor statements that are within the body of the functions.
    
    The non-folio related code should be stable, while the folio related
    code will see changes in the near future.
    
    There are no intended functional changes in this commit. The new folio
    variant of afs_linux_write_begin() now avoids setting the *foliop output
    argument on error to be safe, but this should not cause any visible
    change in behavior.
    
    Reviewed-on: https://gerrit.openafs.org/16387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 53eef69e274aa25b1768442f334a88676abf0011)
    
    Change-Id: I051499b61e035185883eb97fe1a5a6363e50a6b0
    Reviewed-on: https://gerrit.openafs.org/16429
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 16070e998960f7fe0c15dfa13b88c7b1fa36dce2
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sun Jun 1 07:22:08 2025 -0600

    Linux: Use folio_wait_locked()
    
    The Linux 6.15 commit:
        mm: Remove wait_on_page_locked() (d96e2802a802)
    removed the compatibility wrapper wait_on_page_locked().  The
    replacement is folio_wait_locked().
    
    The Linux 5.16 commits:
        mm/filemap: Add folio_wait_locked() (6baa8d602e84d)
        mm: Add folio_put() (b620f63358cd3)
    added folio_wait_locked, updated wait_on_page_locked to be just a
    wrapper for folio_wait_locked(), and added folio_put().
    
    Introduce wrapper functions afs_page_wait_locked() and afs_put_page().
    If folio_wait_locked() is available, these 2 wrappers will take a page
    and and use the associated folio interface, otherwise use the older
    page related interfaces.
    
    Since they were added in the same Linux version, assume that folio_put()
    is available if folio_wait_locked() is available, to avoid an extra
    configure test.
    
    Reviewed-on: https://gerrit.openafs.org/16375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit aadc02227fdd3728404c8763ae4842dee88a6668)
    
    Change-Id: I2c1e494b885614dd8ca5177fe4b61f8a725cb1ba
    Reviewed-on: https://gerrit.openafs.org/16428
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 62e2df3182bea9ea7d5e86d4d3a0dfc955bc3753
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 26 10:12:57 2025 -0600

    cf: check for dentry flag macros/enums
    
    Linux 6.15 commit:
        dcache: convert dentry flag macros to enum (b2b4483b5d05)
    converted the dentry flag macros to an enum.
    
    Because these flags are now enums, a preprocessor #ifdef can no longer
    be used to test to see if the symbol is present, so a different form
    of test is needed.
    
    Introduce a new autoconf test, AC_CHECK_LINUX_SYMBOL that takes a
    symbol and an include and tries to assign the symbol to an integer
    variable.
    
    Add a new autoconf file, 'linux-kernel-symbol.m4' to hold the individual
    tests.
    
    Use the new AC_CHECK_LINUX_SYMBOL to test for the DCACHE_NEED_AUTOMOUNT
    and DCACHE_NFSFS_RENAMED flags.
    
    Reviewed-on: https://gerrit.openafs.org/16377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit bb4e15e58af92371c08b5cc41a1682cd8c96fd2f)
    
    Change-Id: If45498d60c695d6d8bf860338b9c9442ddc08bc4
    Reviewed-on: https://gerrit.openafs.org/16427
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eeb4f7012ce8b22ff24d073e52e837ef36507afb
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 26 10:08:49 2025 -0600

    linux: Make iops mkdir return a struct dentry *
    
    The Linux 6.15 commit:
    'Change inode_operations.mkdir to return struct dentry *' (88d5baf69082)
    changed the signature for the return value for mkdir member of the
    inope_operations structure.
    
    The new return value for mkdir needs to be as follows:
    
        NULL if the directory was created and no other dentry was used
        ERR_PTR() if an error occured
        non-NULL pointer to a different dentry was used.
    
    OpenAFS does not use a different dentry, so returning NULL or ERR_PTR
    is sufficient.
    
    Introduce a new autoconf check to determine if the inode_ops.mkdir needs
    to return a pointer to a dentry.
    
    Update afs_linux_mkdir to use ERR_PTR() on the return value.
    
    Reviewed-on: https://gerrit.openafs.org/16373
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 0c0280ed1324252c487409f0db9a8e215575fef4)
    
    Change-Id: I96af366fc70076980ba0ba10e4b30f1db0f65e78
    Reviewed-on: https://gerrit.openafs.org/16419
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e76b520f1316e7059a7855078f117ce194734317
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sun Jun 1 06:57:55 2025 -0600

    Linux: Add required MODULE_DESCRIPTION
    
    The Linux 6.15 commit:
        "modpost: require a MODULE_DESCRIPTION()" (6c6c1fc09de3)
    changed the Linux build process to require the MODULE_DESCRIPTION.
    
    Add a MODULE_DESCRIPTION() to the kernel modules, including the code
    template used in autoconf tests.
    
    Reviewed-on: https://gerrit.openafs.org/16372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f2705de3ded4e194bd447d88013076e707ff33d1)
    
    Change-Id: I7fefbb6c1960948dee6424f11789af19b07d3e84
    Reviewed-on: https://gerrit.openafs.org/16418
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b00bf7c50baf5e301f7f58b56e06dc28ea52e69d
Author: Götz Waschk <goetz.waschk@desy.de>
Date:   Thu Jun 5 10:00:00 2025 +0200

    Update kmodtool to accommodate two-digit EL major releases
    
    With the advent of EL10, we need to update our tooling to not
    accept EL6-9 only.
    
    Reviewed-on: https://gerrit.openafs.org/16392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit b065ba37a7c92d0faea1ceb3ea7df8ad45015570)
    
    Change-Id: I753a664c9685cb58a86e9c8c3055b0e3d0ca8e93
    Reviewed-on: https://gerrit.openafs.org/16422
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b2a37b479501859d564f9f7a618afe59e983783a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jul 1 14:33:14 2025 -0600

    Redhat: Disable using lto when building rpms
    
    Several Linux distros (fedora 33, RHEL9, etc.) are injecting the lto
    option into the compiler flags when building rpms. This option results
    in several warnings associated with code analysis that are now being
    reported at link time instead of compile time.  An initial review
    of the warnings show that at least some are false positives. Some
    warnings have already been addressed by ignoring them during the compile
    phase (e.g. format-truncation in v5der.c) but are now showing up again
    in the link phase.  Other warnings are due incorrect analysis (e.g.
    reports of trying to free non-heap objects within afs_xdr_string).
    
    Disable the use of lto when building rpms until further analysis can be
    done to 1) determine how to suppress these warnings and 2) test to
    ensure that lto does not introduce any runtime bugs.
    
    To disable the option, add '%global _lto_cflags %nil' to the
    openafs.spec file per:
        https://fedoraproject.org/wiki/LTOByDefault
    
    Note: that SuSE has been disabling the lto option within their openafs
    rpm spec file.
    
    Reviewed-on: https://gerrit.openafs.org/16406
    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>
    (cherry picked from commit e9065b19f387648baa893898785075036bff9b5b)
    
    Change-Id: Ia3c9f79876020a4623043e9ac59df562d691817c
    Reviewed-on: https://gerrit.openafs.org/16426
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d36881fc666031a1bfc9beb627e3dbfd598cb2ae
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue May 27 10:35:49 2025 -0600

    Linux: dkms set dkms.conf CLEAN parameter to true
    
    The dkms 3.1.8 commits:
        (754f26f93a50) "dkms: omit deprecation warning for CLEAN=true"
        (cdad56500434) "dkms: deprecate CLEAN"
        (f93a40aec3b9) "dkms: stop running the CLEAN command"
    made the CLEAN parameter obsolete and cause dkms to issue a deprecation
    message (without failing the build) if the value of CLEAN is not the
    literal string `true`. Since dkms v0.2.18, dkms performs builds in a
    temporary build directory that created and populated prior to the build
    step.
    
    The dkms.conf generated by openafs.spec currently includes the
    statement:
        CLEAN="if [ -e src/libafs/Makefile ]; then make -C src/libafs clean; else true; fi"
    
    With commit 754f26f93a50, dkms (version 3.1.8 and newer) emits a
    deprecation message because the value for this CLEAN setting is not
    `true`.
    
        ....
        Building module(s)...
        Signing module /var/lib/dkms/openafs/1.9.2-1.224.g7f45a8.el9/build/openafs.ko
        Deprecated feature: CLEAN (/var/lib/dkms/openafs/1.9.2-1.224.g7f45a8.el9/source/dkms.conf)
        Installing /lib/modules/5.14.0-70.26.1.el9_0.x86_64/extra/openafs.ko.xz
    
    Researching the history of dkms, the original commit (tag v0.22.04)
    would perform the build [for the openafs kernel module] within the
    openafs source tree, which would require performing some sort of clean,
    with the next commit (tag v0.23.18), dkms was changed to first copy the
    source for the openafs into a fresh temporary build area then do the
    build withing that directory, so performing a clean before the build is
    unnecessary.
    
    Update the RedHat/openafs.spec.in file to create dkms.conf with:
        CLEAN=true
    
    NOTE: Prior to 3.1.8, the value for CLEAN= is a command that is executed
    before the build step, so setting the value to true simply executes the
    'true' command.
    
    Reviewed-on: https://gerrit.openafs.org/16386
    Reviewed-by: Michael Laß <bevan@bi-co.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 8849df9f895feac6231d05a07f9c9e8a53f5b0a6)
    
    Change-Id: I9d6d4e9ba4fcd26540005deeb34218be01352e5d
    Reviewed-on: https://gerrit.openafs.org/16423
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1e1f172222dd64e30c696168cf021b156cc3c155
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri May 23 14:59:05 2025 -0600

    Linux: Use `yes` for dkms's NO_WEAK_MODULES parm
    
    The dkms 3.1.9 commit:
        (65ad4814d67f) "Update man pages"
    added a check for the NO_WEAK_MODULES parameter, enforcing its value to
    be either `yes` or `no` (case insensitive).  Any other value causes dkms
    to fail with an error (from an alma9 system with dkms 3.2.1 installed):
    
      dkms.conf: Error! Unsupported NO_WEAK_MODULES value 'true'
    
      Error! Bad conf file.
      File: /var/lib/dkms/openafs/1.8.13.2-1.el9/source/dkms.conf does not represent a valid dkms.conf file.
      warning: %posttrans(kernel-core-5.14.0-570.12.1.el9_6.x86_64) scriptlet failed, exit status 8
    
      Error in POSTTRANS scriptlet in rpm package kernel-core
    
    To fix, update the dkms.conf file generated by the openafs.spec file to
    use `yes` instead of `"true"` for the NO_WEAK_MODULES parameter.
    
    Reviewed-on: https://gerrit.openafs.org/16385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f35d900c0a7c1e7acb3aab87c533eef83322eb72)
    
    Change-Id: I178a31940cf6f8875db57774430e37ad50d6f412
    Reviewed-on: https://gerrit.openafs.org/16420
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8f494cabb7b68521d71ea8955f161e36e4429f5e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 20 18:17:56 2020 -0400

    redhat: add make to the build requirements
    
    `make` is not necessarily installed, even if when all the other build
    requirements are installed.
    
    Add `make` to the list build requirements to complete the build
    requirements. With this change it is possible to build the packages
    after running the `yum-builddep` to install all of the needed build
    requirements.
    
    Reviewed-on: https://gerrit.openafs.org/14119
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit be50d9a517bda9f421414341bca34c0100d61ba0)
    
    Change-Id: I5f83a1b7d0b7e2ed2727f1d0f9c4f37adbc0bb8f
    Reviewed-on: https://gerrit.openafs.org/16417
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d65bec9cbe1093f0749a0af2c84e848f5dee769e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 20 17:53:22 2020 -0400

    redhat: fix rpmbuild warnings
    
    Fix warnings issued by recent versions of rpmbuild:
    
        warning: Macro expanded in comment on line 110: %{afsvers}/...
        warning: extra tokens at the end of %endif directive in line 1469:
                 %endif  # build_userspace
        warning: line 331: It's not recommended to have unversioned Obsoletes:
                 Obsoletes: openafs-client-compat
    
    The first two warnings are just issues with comments, which apparently
    are not completely ignored by rpmbuild.  The third issue is a warning
    about an unversioned "Obsoletes" directive. Remove the old Obsoletes for
    openafs-client-compat, which was obsoleted no later than the 1.4.x
    series (more than 10 years ago).
    
    While here clean up the spec by removing the old cvs $Revsion$ keyword
    from the comments at the top of the file, and removing an old commented
    out setup directive.
    
    Reviewed-on: https://gerrit.openafs.org/14118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 30a47c3282cb405459a6fced1fe5b4c77f4afd64)
    
    Change-Id: Ia331c087bc2ff83086f5da845d02a852f955ae65
    Reviewed-on: https://gerrit.openafs.org/16416
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 76944d626a2f7a53a53d3b8aa9d1ee938b9463b6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 9 08:58:28 2025 -0400

    ktime: Add day validation to ktime_DisplayString()
    
    The ktime_DisplayString() function will crash when the given 'day' has a
    value outside the valid range of 0 to 6.  Add an check to ensure the
    given 'day' is in range, and if not, return EINVAL instead of crashing.
    
    Add unit tests to check out of range day input values.
    
    The ktime_DisplayString() function is generally unsafe and should be
    avoided in new code, since it does not check the input buffer length.
    Use of this function in within OpenAFS is currently limited to the 'bos
    getrestart' command in the bos client.
    
    Reviewed-on: https://gerrit.openafs.org/16362
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 39f7a56e334ff8c2ae2116aa71b9f17dde18cc94)
    
    [1.8: This does not contain the changes to tests/util/ktime-t.c from
    master, since 1.8 does not contain relevant prereq changes to the unit
    tests.]
    
    Change-Id: I41c46405701babd4e0a6189d864f13b642541aeb
    Reviewed-on: https://gerrit.openafs.org/16442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2cd4ad30c90062dcac7471718b8a1bd6629a3de8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jul 17 22:07:45 2019 -0400

    rx: add missing CLEAR_CALL_QUEUE_LOCK to LWP rx_GetCall
    
    In all other places where we remove an rx_call from a queue, we also
    CLEAR_CALL_QUEUE_LOCK.  This isn't necessary in the LWP
    (non-RX_ENABLE_LOCKS) version of rx_GetCall because rx_call does not
    have member call_queue_lock for LWP.  However, for the sake of
    consistency for future maintainers, add a CLEAR_CALL_QUEUE_LOCK here as
    well; it is a no-op for LWP.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13695
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dc99144da54d12e8a168c3dfb0255e2a40ba321f)
    
    Change-Id: I868de3f99939bde8216c4e64c93cce96b4fa5356
    Reviewed-on: https://gerrit.openafs.org/16122
    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: Benjamin Kaduk <kaduk@mit.edu>

commit c5708080a6a1f21bbcfe954277215e38d0598dd3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 14 23:15:29 2019 -0400

    rx: clear call_queue_lock after removing call from queue
    
    The call_queue_lock is set to either rx_serverPool_lock or
    rx_freeCallQueue_lock, depending on whether an rx_call resides in the
    rx_incomingCallQueue or the rx_freeCallQueue, respectively.  This value
    is used by rxi_ResetCall to lock the appropriate queue before removing a
    call.  Therefore, the call_queue_lock should be cleared after a call is
    removed from a queue.
    
    This issue has no known external symptoms; however, repairing this is
    helpful to developers examining core files.
    
    Repair two instances where the call_queue_lock is not cleared.
    
    Reviewed-on: https://gerrit.openafs.org/13641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e87c40f4546ee9c31b2eaad2a24be9fb9a0b25b1)
    
    Change-Id: I10a56e2e50779f101a8191835f8a809c17f5ceaf
    Reviewed-on: https://gerrit.openafs.org/16096
    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: Benjamin Kaduk <kaduk@mit.edu>

commit ba0a5099a5521d176562d13ad580747ba8fb5f40
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 10 10:54:20 2020 -0500

    tests: skip vos tests when a vlserver is already running
    
    The vos tests start a temporary vlserver process, which is problematic
    when the local system already has an installed vlserver. Attempt to
    temporarily bind a socket to the vlserver port, and if unable to bind
    with an EADDRINUSE error, assume the vlserver is already running and
    skip these tests.
    
    Reviewed-on: https://gerrit.openafs.org/14021
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bf1b3e2fc12a7502cfd74eb109eeb7131f7230d3)
    
    Change-Id: I6e69ead0680aac0cf1a9bc2cb0687fc0b425ecf0
    Reviewed-on: https://gerrit.openafs.org/16093
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0ed2d4a1266c90b9c672666b0ac5f029df5a20ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 29 17:22:42 2023 -0500

    doc: Update example output for 'fs getfid'
    
    The output for 'fs getfid' was changed in commit d390df097c (fs getfid
    output changed for consistency with Windows implementation), but the
    manpage still had the old output in its examples. Update the manpage
    to reflect the current behavior of 'fs getfid'.
    
    Reviewed-on: https://gerrit.openafs.org/15587
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 4dfae3fe35037bee671934ba34269364920841b3)
    
    Change-Id: I787b4a639e8881f059cb4f547025b664842aa67e
    Reviewed-on: https://gerrit.openafs.org/16082
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 82063bde8f61fc0a997fe88ec64bbfc26fbdb97c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 2 21:55:55 2024 -0500

    packaging: Check for nonzero $? for command failure
    
    In a few perl scripts (that happen to be for macOS), we check whether
    '$? >> 8' is zero to see whether a command failed. But the value of
    '$? >> 8' is just the exit code of the process. If it instead, for
    example, was killed by a signal, there is no exit code, and '$? >> 8'
    may not be accurate (the terminating signal is in '$? & 127'). We should
    check if $? is nonzero at all to see if an error happened.
    
    To avoid any possible issues, update all of our checks for command
    failure to check if $? is nonzero, instead of '$? >> 8'. In notarize.pl,
    print out the whole status in addition to the exit code, just to be
    clear in case the command somehow terminates from a signal.
    
    Reviewed-on: https://gerrit.openafs.org/15980
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 9ef6aac17a7fca5bd1ca6b77459f3d7b48bbf018)
    
    Change-Id: I481131f2ab0ff0cfc82e6452facfd8b508a4e56c
    Reviewed-on: https://gerrit.openafs.org/16078
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1ed9d09b0caa9701eb4c3b0eda45ce449b1cdea5
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Dec 16 06:42:04 2024 -0800

    DARWIN: Add --with-macos-* packaging options
    
    To create the OpenAFS client for macOS, the current process involves
    building the code, signing the binaries, creating the package, and
    notarizing it. Each step is typically performed separately and requires
    distinct parameters and credentials, making this process cumbersome and
    difficult to follow.
    
    To simplify this process, introduce the following '--with' options:
    
    --with-macos-app-key
    --with-macos-inst-key
    --with-macos-keychain-profile
    
    These options allow users to specify the credentials needed for signing
    and notarizing the package upfront.
    
    With these enhancements, users will be able to perform the entire
    workflow - building, signing, creating, and notarizing the package -
    with a single 'make packages' command, significantly simplifying this
    process.
    
    Reviewed-on: https://gerrit.openafs.org/15977
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit e316a38ba960dce3a5b6b022a5bf5dee4081c95f)
    
    Change-Id: Ie4c54672d6033a3c976a00a3004845b1f61e3e1b
    Reviewed-on: https://gerrit.openafs.org/16077
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f82998dbad1f1b5aa55449127e15d32306665328
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Dec 12 14:51:11 2024 -0800

    DARWIN: Use notarytool for notarization
    
    At WWDC 2021, Apple introduced notarytool, a new utility for interacting
    with the Apple notary service. Concurrently, Apple deprecated altool for
    notarization purposes, with plans to discontinue its functionality on
    November 1, 2023.
    
    Currently, notarize.pl relies on the deprecated altool, which is no
    longer supported. This commit updates this script to use notarytool,
    ensuring it remains fully functional for notarizing the OpenAFS package.
    
    Note that the arguments for notarize.pl have changed. Users can no
    longer provide a plain password or keychain reference using the
    @keychain prefix. Instead, a keychain profile for the credentials must
    be created first, with the profile name provided as an argument.
    This change is mandated by the new notarytool workflow.
    
    Additionally, update pkgbuild.sh.in, as this script calls notarize.pl
    if the --apple-id option is provided. Since notarize.pl now requires a
    keychain profile name instead of an Apple ID and password, remove the
    --apple-id option from pkgbuild.sh.in and introduce a new option,
    --keychain-profile, which specifies the name of the keychain profile to
    be used by notarize.pl.
    
    Reviewed-on: https://gerrit.openafs.org/15976
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 519a170da3aa0a4a5511e87b0cc232c763a92ff1)
    
    Change-Id: I44f26a3a22ae443618f31db9c6387ba86b0d62e9
    Reviewed-on: https://gerrit.openafs.org/16076
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f7392a3579b9c452ceb9b95c7c96603e01146f4e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Dec 18 21:20:43 2024 -0500

    DARWIN: Ignore more build artifacts
    
    Several build artifacts are missing from the gitignore rules when
    building on macOS. For example:
    
        $ git status --porcelain
        ?? src/libafs/afs.x86_darwin_210.plist
        ?? src/platform/DARWIN/PrivilegedHelper/org.openafs.privhelper
    
    Update the gitignore rules to ignore generated darwin plist files and
    the prefpane "privileged helper" binary.
    
    Reviewed-on: https://gerrit.openafs.org/16002
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit c4939de47dc2c84d4acaf5a5deec46298f3dabe9)
    
    Change-Id: I9eb4e8a4d0a075c841f98b9b3caee6e3abd95260
    Reviewed-on: https://gerrit.openafs.org/16075
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6317152ffdd3901e0101eaab811bb2da799aa0c9
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Nov 23 05:30:37 2024 -0800

    DARWIN: Convert prefpane write ops to privhelper
    
    Convert the prefpane logic for writing to config files to use
    privhelper, so it can work with macOS 10.8+. With this commit, the
    "CellServDB Editor" and "Parameter" tabs in the prefpane should now
    work.
    
    Specifically, define the privhelper task "write". Define a new variant
    to TaskUtil's executePrivTask() called executePrivTaskWrite() to use the
    new task type, and convert the prefpane code to use it.
    
    Most files are straightforward, but converting writeAfsdOption() is a
    little awkward due to the repeated checking of useAfsdConfVersion. Just
    remove the writeAfsdOption() method and make the caller choose between
    writeNewAfsdOption() and writeOldAfsdOption().
    
    The new "write" task takes a new argument (data) to indicate what data
    to write to the config file in question. Like the "backup" task, it also
    takes a "filename" argument that is checked against our list of config
    files.
    
    Reviewed-on: https://gerrit.openafs.org/15960
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 14777a2db4ec171df0709185aebe89e10e06336f)
    
    Change-Id: I166f82676e054b32dc5b0906de4a4c557677f1f2
    Reviewed-on: https://gerrit.openafs.org/16074
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3753ee04d6e382575eebb439f9ca6fa7621ef43d
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Nov 23 03:44:04 2024 -0800

    DARWIN: Convert prefpane backup ops to privhelper
    
    Convert the prefpane logic to backup various config files to privhelper,
    so it can work with macOS 10.8+.
    
    Specifically, define the new privhelper task "backup". Define a new
    variant to TaskUtil's executePrivTask() called executePrivTaskBackup()
    to use the new task type, and convert the prefpane code to use it.
    
    Remove the backupFile() method, since it's now unused.
    
    The new "backup" task has an argument (filename), so we don't need to
    define separate tasks for each file we want to backup. But check the
    given filename against a short list of files we know we deal with, just
    to make sure we don't accidentally mess with some other system file,
    since we're running as root.
    
    Reviewed-on: https://gerrit.openafs.org/15959
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 75da4edd3cc6adb810e31a9cb1558f75f418bd08)
    
    Change-Id: Ibdabe3d2002388961724d75aa6164157d653413c
    Reviewed-on: https://gerrit.openafs.org/16073
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3c93a59ab9540d2d0fb207ffb238b6830aad9f78
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Mar 30 18:51:39 2021 -0400

    macos: AFSBackgrounder: improve detection of afs mount status
    
    The OpenAFS preferences for MacOS provide two ways to start or stop the
    cache manager:
     - Preference pane button:      [Startup] or [Shutdown]
     - AFS Menu item:               'Startup AFS' or 'Shutdown AFS'
    
    Only one choice (startup or shutdown) is displayed in each UI element,
    based on the current state of the cache manager according to
    checkAfsStatus().
    
    Unfortunately, checkAfsStatus() determines cache manager state by
    issuing a 'df' command and searching the output for AFS_FS_MOUNT "AFS".
    This heuristic is fragile and easily fooled by any "AFS" string in the
    output.
    
    For example, the OpenAFS installer .dmg mounts itself as "OpenAFS".  The
    presence of "AFS" causes checkAfsStatus to believe that AFS is mounted.
    Therefore the OpenAFS GUI will display only the "Shutdown" choice,
    regardless of the true state of AFS.  If AFS is already shutdown, it is
    impossible to start the cache manager via the GUI until the installer
    image is ejected.
    
    Modify checkAfsStatus to use a more robust method of determining the
    state of AFS:  Iterate over the mounted devices to search for a mounted
    AFS filesystem.
    
    Reviewed-on: https://gerrit.openafs.org/14587
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 4731c80609217e2594e8503a0b80f2e53ec27a6d)
    
    Change-Id: I36683cc9763e77aa4960f9eb3e4ee297d8217efa
    Reviewed-on: https://gerrit.openafs.org/16072
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cb46c15c392cb1ac0c9b838534dd7d73d58377a7
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Jun 11 16:58:20 2022 -0700

    DARWIN: Convert prefpane start/stop to privhelper
    
    Convert the logic to "start/stop OpenAFS" in the prefpane to use
    privhelper, so it can work with macOS 10.8+.
    
    Specifically, define these new privhelper tasks:
    
    - afsd_start
    - afsd_stop
    
    And convert our start/stop-related code in the prefpane to use them.
    
    Reviewed-on: https://gerrit.openafs.org/15958
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 56915e96d89e87e24feda33b22c7c807c72931b0)
    
    Change-Id: Iaf0210e645865ec611e891e7952a67ecb0f13e51
    Reviewed-on: https://gerrit.openafs.org/16071
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 756c0c891914b1acbf6658680ad56a5a8195f403
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Nov 23 03:31:54 2024 -0800

    DARWIN: Convert prefpane startup ops to privhelper
    
    Convert the logic for the "start at login" option in the prefpane to use
    privhelper, so it can work with macOS 10.8+.
    
    Specifically, define these new privhelper tasks:
    
    - startup_enable
    - startup_disable
    - startup_check
    
    And convert our startup-related logic in the prefpane to use them.
    
    Get rid of our now-unused method executeTaskWithAuth() and related
    methods.
    
    Reviewed-on: https://gerrit.openafs.org/15957
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 89eafda9608a18883e788a62051db4293a39346d)
    
    Change-Id: I5f92242369db4192f7aee8fcdaea8d0369f9f55c
    Reviewed-on: https://gerrit.openafs.org/16070
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cb12f107f92e681d25f53c716fcb148c50762aff
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Nov 23 06:46:52 2024 -0800

    DARWIN: Add 'privhelper' tool for PrefPane
    
    The prefpane for macOS runs as the logged-in user, but needs root access
    for some operations: starting/stopping the client, editing various
    configuration files like CellServDB, etc. We currently use functions
    like AuthorizationExecuteWithPrivileges() to run commands with root
    privileges directly, but this approach no longer works as of macOS 10.8
    (Mountain Lion); the relevant functions have been removed.
    
    Instead, a new approach exists as of macOS 10.6 (Snow Leopard). The
    prefpane application itself cannot gain root privileges, but we can
    provide another daemon process that runs as root, and the PrefPane sends
    requests to that process to perform the privileged operations we need.
    
    In this commit, create a separate helper program called PrivilegedHelper
    (privhelper for short) that serves this purpose. Define the
    executePrivTask() method in TaskUtil to handle communicating with
    privhelper over XPC.
    
    This commit does not define any of the tasks that privhelper will
    actually perform; this just implements privhelper itself. Later commits
    will add and use various privileged tasks in privhelper.
    
    In order for privhelper to be able to run as root, both privhelper and
    the prefpane itself must be code signed and the relevant apple team id
    must be specified in their Info.plist when they are built, as well as
    inside privhelper.c. Currently, we have
    no way of specifying code signatures info during the build, since all code
    signing is done when generating packages (via pkgbuild.sh) after
    binaries are built. For now, just put a commented-out section in
    src/platform/DARWIN/AFSPreference/Info.plist and
    src/platform/DARWIN/PrivilegedHelper/privhelper-info.plist and a
    placeholder in src/platform/DARWIN/PrivilegedHelper/privhelper.c to show
    how to add this information. The package builder must add their own team
    id to these before privhelper can work properly.
    
    The privhelper tool checks that the calling user has authorization to
    run commands as root (via AuthorizationCopyRights()), and that the
    calling process is either our AFSBackgrounder menu bar or the prefpane.
    We use xpc_connection_set_peer_code_signing_requirement() for this where
    available, but fallback to using SecCodeCheckValidity() with
    SecCodeCreateWithXPCMessage() or
    xpc_dictionary_get_audit_token()/SecCodeCopyGuestWithAttributes() if
    needed.
    
    Reviewed-on: https://gerrit.openafs.org/15956
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 120871f03f38538cbaf3b25d6b2bca08d0f4652d)
    
    Change-Id: I9e107cf22c1ad10af1386ec8c706bde2b4eeb08e
    Reviewed-on: https://gerrit.openafs.org/16069
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3c0a326a4044740da5cd726a4c9c16187ad62b1d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 20 14:53:35 2018 -0500

    Log binding ip address and port during startup
    
    Many daemons currently have the ability to bind to a specific ip
    address using the -rxbind parameter. The behavior can be a little
    unintuitive, however, since we only bind to the ip address we find via
    NetInfo/NetRestrict processing, and only if we end up with a single ip
    address. Since that processing involves examining the set of ip
    addresses available, this can have confusing results if, for instance,
    a daemon starts up while an administrator is changing the local ip
    configuration.
    
    If a daemon binds to a different ip address than the administrator
    expects, this can be very confusing, especially since for most daemons
    we don't log our bound ip anywhere. To help alleviate this, change the
    startup code for all of our daemons to log what ip we are trying to
    bind to (or "0.0.0.0" if none), along with our local port.
    
    Reviewed-on: https://gerrit.openafs.org/13272
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 02dede5d40a55421ab4f093c1c90b8f785a40ec1)
    
    Change-Id: I2d54e17ae7c69bd4c842422f53434519d1f332e5
    Reviewed-on: https://gerrit.openafs.org/16095
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4f1e057ea304036cc2d301bb3b8853bd759b6226
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 7 11:17:43 2018 -0500

    Call rx_InitHost once during daemon startup
    
    Currently, a few daemons calls rx_InitHost in different places, and
    under different conditions. For example, vlserver calls rx_InitHost
    only when we -rxbind to a specific ip address, and then also makes an
    additional rx_Init call. Other daemons always call rx_InitHost, or
    just call rx_InitHost sometimes and don't make an extra rx_Init call.
    
    To try to make the various daemons behave a little more consistently,
    change the startup code to always call rx_InitHost, and to only call
    it once. Note that rx_InitHost is the same as calling rx_Init with
    INADDR_ANY as the ip address, and calling rx_Init* after a previous
    rx_Init* call is effectively a no-op.
    
    Reviewed-on: https://gerrit.openafs.org/13271
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 78ed034603781a979687a45c08eb8b13e515e8bf)
    
    Change-Id: I8dc6a2d7e6561b96b8389bb8f131a4a17995bf94
    Reviewed-on: https://gerrit.openafs.org/16094
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ef3da57b8c3bfdf4bf3dc0dcd9458ace0ddc2709
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Apr 25 11:43:01 2025 -0600

    ubik: Use typedef for ubik_call function parameter
    
    One of ubik_Call()/ubik_CallIter()/ubik_Call_SingleServer() parameters
    is a function pointer (aproc). A function signature for this parameter
    is not specified which leads to a strict-prototype warning which has
    been addressed by suppressing the check by adding the
    -Wno-strict-prototypes compiler flag for the files that need it.
    
    A new C standard (C23) is coming out and newer versions of C compilers
    (e.g. gcc 15) are using the new standard (or an extension of that
    standard) as their default. The C23 standard has removed the ability to
    declare functions with unspecified parameters; now any function that is
    declared as:
    
       int foo();
    
    is treated as:
    
       int foo(void);
    
    Building with gcc-15 results in the following types of compile time
    errors (even when -Wno-strict-prototypes is used):
    
      ubikclient.c: In function ‘CallIter’:
      ubikclient.c:391:10: error: too many arguments to function ‘aproc’; expected 0, have 17
        391 |         (*aproc) (tc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13,
            |         ~^~~~~~~  ~~
      ubikclient.c: In function ‘ubik_Call’:
      ubikclient.c:577:18: error: too many arguments to function ‘aproc’; expected 0, have 17
        577 |                 (*aproc) (tc, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11,
            |                 ~^~~~~~~  ~~
    
    To avoid this error, we must declare the parameters for the 'aproc'
    function pointer.
    
    Define a typedef, ubik_call_func, that can be used to define the data
    type for the function parameter and can also be used as a cast on the
    function parameter when calling ubik_Call() ubik_CallIter() or
    ubik_Call_SingleServer().
    
    Update the function prototypes and definitions for ubik_Call()
    ubik_CallIter() and ubik_Call_SingleServer(), and add casts where
    needed.
    
    Define "UBIK_LEGACY_CALLITER" in ubik_db_if.c, so it can also use the
    ubik_call_func typedef for its ubik_Call_SingleServer variant.
    
    Remove the -Wno-strict-prototypes for the files that were updated. The
    CFLAGS_NOSTRICT_PROTOTYPES autoconf var is now unused, so remove it.
    
    Some minor whitespace/indentation cleanup.
    
    Note: This problem occurred on Fedora 42 which comes with gcc 15.
    
    Reviewed-on: https://gerrit.openafs.org/16370
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit eddd5a060e9ed5acf10ee23359d54e22d4681592)
    
     Conflicts:
            doc/process/compiler-warnings.md  - updated CODING instead
            src/cf/osconf.m4 - Due to differences with master
    
    Change-Id: I75c40c3cc443a3b7c9039a248abed1a864746aae
    Reviewed-on: https://gerrit.openafs.org/16380
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a5c933d058c15da2daa4943213f305659244f6e7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 9 15:36:51 2022 -0600

    Inhibit -Wstrict-prototypes warnings via CFLAGS
    
    Currently, we inhibit various -Wstrict-prototypes warnings via
    "#pragma GCC diagnostic warning". Some older compilers (like gcc 4.1
    on RHEL5) don't understand the pragma, but still need the warning
    inhibited in order to build with --enable-checking. So just inhibit
    this warning via command-line CFLAGS instead of using #pragma
    directives.
    
    Reviewed-on: https://gerrit.openafs.org/15219
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 2a9550a830f2371db6c160eece532f4e87ea6cc0)
    
    Change-Id: I562b6467d02e06a3ee197a3d47d0c223a21d99bd
    Reviewed-on: https://gerrit.openafs.org/16395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit 1aa5e50da42d14bae8093ada7a0ddc57599b376b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Apr 24 13:21:12 2025 -0600

    lwp: Replace the typedefed bool datatype with int
    
    A new C standard (C23) is coming out and newer versions of C compilers
    (e.g. gcc 15) are using the new standard (or an extension of that
    standard) as their default.  The C23 standard has added a native C data
    type `bool`.  This causes a build error when code tries to use
    a typedef to define a `bool` data type:
    
     iomgr.c:50:23: error: ‘bool’ cannot be defined via ‘typedef’
       50 | typedef unsigned char bool;
          |                       ^~~~
     iomgr.c:50:23: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
     iomgr.c:50:1: warning: useless type name in empty declaration
       50 | typedef unsigned char bool;
    
    There are just a few locations where `bool` is used as a data type.
    Replace the use of the `bool` data type with an `int`.
    
    Note: This problem occurred on Fedora 42 which comes with gcc 15.
    
    Reviewed-on: https://gerrit.openafs.org/16369
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bf64c84058493ee6fe2b1b2fb27b73787aaed318)
    
    Change-Id: Ib959f8c72189df0a797b905388bdd33627ca1ca1
    Reviewed-on: https://gerrit.openafs.org/16379
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit 2de59286f74d84d9c7030cdacbd0995dc6894584
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Apr 17 17:07:16 2025 -0600

    afs: Set 0555 perms on /afs dynroot directory
    
    When -dynroot is given to afsd, our synthetic /afs directory is created
    with permission mode bits of 0755, and cannot be changed by chmod() or
    anything else.
    
    On Red Hat Enterprise Linux 9, the 'filesystem' RPM (at least for
    version 3.16-5) includes an entry for the /afs directory, to make sure
    the empty mountpoint exists, which specifies perm mode bits of 0555:
    
      %attr(0555, root,root) /afs
    
    If that 'filesystem' RPM is installed/updated while /afs is mounted, the
    process will fail, since it tries to set the permissions of /afs to
    0555:
    
      Upgrading : filesystem-3.16-5.el9.x86_64 1/2 Error unpacking rpm package filesystem-3.16-5.el9.x86_64
      Verifying : filesystem-3.16-5.el9.x86_64 1/2
      Verifying : filesystem-3.16-2.el9.x86_64 2/2
      Installed products updated. Failed: filesystem-3.16-2.el9.x86_64 filesystem-3.16-5.el9.x86_64
      Error: Transaction failed
    
    There is no need for the mode bits to specifically be 0755, so to avoid
    this issue, just change the permissions for -dynroot /afs to be 0555
    instead. This causes RPM to see that the permissions on the dir are
    already what it expects, so it doesn't try to change the permissions.
    
    Add some text to the -dynroot option in the afsd(8) manpage, documenting
    what the mode bits are for the directory.
    
    This commit does not add any way to change what the mode bits are for
    /afs when -dynroot is enabled, since there aren't any reasons to need to
    set them besides the situation with the 'filesystem' RPM. If this
    becomes an issue, future commits can add a way to change the mode bits.
    
    Additional background for the issue with the 'filesystem' RPM is
    described in the Red Hat ticket:
      https://issues.redhat.com/browse/RHEL-83649
    
    [adeason@sinenomine.net: commit message phrasing, afsd manpage update.]
    
    Reviewed-on: https://gerrit.openafs.org/16368
    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>
    (cherry picked from commit 28bb52f5f3f9fbd3ad3c6a128b82b96a050d7c55)
    
    Change-Id: Ie00fc21adc3779448da83665cb3743cdeab99159
    Reviewed-on: https://gerrit.openafs.org/16378
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit 75ac27459b8d4eb0d8992c03d5697344c77fbd97
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 29 16:57:22 2023 -0500

    fs: Report errors more consistently from GetCell()
    
    Errors from GetCell() are reported a bit oddly in its three callers:
    
    - In WhichCellCmd() (and GetFidCmd() before change
      Idd4727304061e1ec4eeddd98bd9eaab5de96e2b6), we print an odd "no such
      cell" error for ENOENT, and a more normal message for all other
      errors.
    
    - In BadName() (and GetFidCmd() after change
      Idd4727304061e1ec4eeddd98bd9eaab5de96e2b6), we don't print an error
      at all, sometimes making it not obvious that an error has occurred.
      (BadName() is called from 'fs cleanacl'.)
    
    The ENOENT message can be confusing to users, since ENOENT is the
    error code we get if the given path doesn't exist. This is easy to see
    with 'fs whichcell':
    
        $ fs whichcell notexist
        fs: no such cell as 'notexist'
    
    The VIOC_FILE_CELL_NAME pioctl also never returns ENOENT itself, so
    this only happens if the given file doesn't exist. This behavior goes
    back to OpenAFS 1.0.
    
    To improve this, change GetCell() to report errors itself. So now
    errors are reported from it consistently, and are printed for all
    callers. For example:
    
        $ fs whichcell notexist
        fs: Failed to get cell for 'notexist'
        fs: File 'notexist' doesn't exist
    
    The message is a little redundant, but this lets us use the existing
    error reporting from Die() while still providing context for what is
    failing, since it may not be obvious for 'fs cleanacl' or 'fs getfid'.
    
    Reviewed-on: https://gerrit.openafs.org/15586
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4baeaf1d9fd630653e047f043feb3a2eb6d7d3c2)
    
    Change-Id: Ia1f222e0d897bd3543b0fe41124dac91154637b2
    Reviewed-on: https://gerrit.openafs.org/16081
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0e531f08bf55eddfafd6a45f783e25d54cd1ab67
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 29 16:46:14 2023 -0500

    fs: Still print fid for 'getfid' if GetCell fails
    
    Currently, 'fs getfid' fails if we cannot get the cell for the given
    file via GetCell(). This GetCell call was added in commit d390df097c (fs
    getfid output changed for consistency with Windows implementation) to be
    more similar to the WINNT 'fs getfid', but the WINNT 'fs getfid' still
    prints the fid if getting the cell fails (and has since it was
    introduced in commit 5520747790 (windows-fs-getfid-20090511)).
    
    GetCell() shouldn't normally fail if getting the fid succeeded, but in
    case it does, don't prevent us from printing the fid. Change 'fs
    getfid' to just say the cell is "unknown-cell" and keep going.
    
    Reviewed-on: https://gerrit.openafs.org/15585
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 93036c852d957ae3587e691920a61e1c026cea1d)
    
    Change-Id: Ic81715a3a1ab9160b5b96f19b78211cac00bc748
    Reviewed-on: https://gerrit.openafs.org/16080
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 406cfb4e0945099caa38867c183cc4356bf28b30
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 29 16:16:49 2023 -0500

    fs: Get parent dir cell for 'fs getfid -literal'
    
    After we get the fid for the requested path, 'fs getfid' then gets the
    cell for the path:
    
        GetCell(ti->data, cell);
    
    But ti->data is the full path requested, whether -literal was given or
    not. If the given path ends with a broken symlink/mountpoint or
    nonexistent fid, we've already gotten the fid (if -literal was given)
    but we'll still exit with an (often confusing) error:
    
        $ fs getfid symlink.broken -literal
        fs: no such cell as 'symlink.broken'
    
    In addition, if we use 'fs getfid -literal' to get the fid of a
    cross-cell mountpoint object, we'll get the wrong cell. We'll report
    the cell of the mountpoint's target, instead of the cell of the
    reported fid:
    
        $ fs getfid /afs/example.com -literal
        File /afs/example.com (1.16777244.1) located in cell example.com
    
    To fix these, pass 'parent_dir' to GetCell() when -literal is given.
    To do this, we need to not free parent_dir until later, so reorganize
    the 'parent_dir' and 'last_component' vars to be freed at the end of
    the loop, and change the 'continue' code paths to goto the end of the
    loop instead.
    
    With this, the cell is now reported properly for these cases:
    
        $ fs getfid symlink.broken -literal
        File symlink.broken (536871063.22.865) located in cell example.com
    
        $ fs getfid /afs/example.com -literal
        File /afs/example.com (1.16777244.1) located in cell dynroot
    
    Reviewed-on: https://gerrit.openafs.org/15584
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit cad39264b6651b6f2824c46ea73d77764235f3d9)
    
    Change-Id: Ib1f1d3a821ec6b14b91d5ac7d777fbc3c9e6cc68
    Reviewed-on: https://gerrit.openafs.org/16079
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f3ef73920004c97723e0596bc1c03312d99c50cb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 4 13:20:05 2024 -0500

    RedHat: Retry umount /afs on systemd shutdown
    
    When systemd tries to stop openafs-client.service during system
    shutdown, our 'umount /afs' will fail if someone else is accessing
    /afs. The openafs-client.service unit is then marked as deactivated
    (and failed), and the shutdown sequence proceeds.
    
    After all services have been stopped, systemd-shutdown tries to kill
    all remaining processes with SIGTERM and then SIGKILL, waiting
    DefaultTimeoutStopSec seconds (default: 90) for them to die. If there
    are unkillable processes running (for example, afsd), this results in
    at least a 3-minute delay.
    
    It's hard to make sure there are no processes accessing /afs during
    the shutdown sequence, since that could include processes outside of
    defined systemd units. So some processes may be shutting down in
    parallel with openafs-client.service, and so it's a race whether there
    are /afs-using processes when we try to umount /afs.
    
    To avoid the most common cases of this, retry our umount during
    openafs-client's ExecStop for $UMOUNT_TIMEOUT seconds (default: 30),
    to give other /afs-using processes a chance to go away. Only do this
    if the system is shutting down (according to 'systemctl
    is-system-running'), so users don't see a long delay running
    'systemctl stop openafs-client' during normal system operation.
    
    Written in collaboration with cwills@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/15633
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit bd2a7530ad3649141a6fffd028aa3e95a6ea2f75)
    
    Change-Id: Ida56b8a7512f0fd01470321e973bb67b1a092e44
    Reviewed-on: https://gerrit.openafs.org/16107
    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: Benjamin Kaduk <kaduk@mit.edu>

commit 67c4148d0ad237434e03b8830707764889a20771
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 12 15:41:36 2024 -0600

    RedHat: Make client unit start/stop more robust
    
    Our openafs-client.service systemd unit currently has some unfortunate
    behaviors:
    
    - If someone runs 'systemctl stop openafs-client' and someone is using
      /afs, our umount will fail, and systemd will consider the
      openafs-client unit failed and deactivated. Trying to stop the unit
      again won't do anything, and trying to start the unit will fail
      because of our 'fs sysname' check. The client can then only be
      stopped by manually running umount/rmmod.
    
    - If our kernel module is already initialized (because afsd failed
      during startup, or someone 'umount'd /afs without unloading the
      kernel module), running 'systemctl start openafs-client' will try to
      start afsd with an already-initialized kernel module, which will
      either fail or cause errors/panics.
    
    To improve this situation, change our startup sequence to unload the
    kernel module if it's already loaded (and then load it again right
    afterwards). This should guarantee that we won't use an
    already-initialized kernel module when we run afsd. This also means we
    will fail during startup if the kernel module cannot be unloaded for
    any reason (for example, if the client is already running but the 'fs
    sysname' check somehow didn't detect this).
    
    Also change our 'fs sysname' check to return success if the client is
    already running, instead of failure. This means that after a failed
    'stop', the user can run 'start' and then 'stop' again to try and stop
    the client. Just running 'stop' again still won't do anything, which
    is not ideal, but that's just how systemd works.
    
    Move our 'afsd -shutdown' and 'rmmod' steps into ExecStopPost, so they
    may get run in some additional corner cases for a
    partially-initialized service.
    
    Add --verbose to a few commands, to make it a little clearer what's
    happening in what order in systemd logs.
    
    If we cannot unload the openafs kernel module when stopping (because,
    for example, we couldn't 'umount /afs' because it was in use), log some
    information about how the user can actually get the client stopped.
    
    Reviewed-on: https://gerrit.openafs.org/15647
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f951a9bf9b26e22475715b3ba82b00a30d379272)
    
    Change-Id: I55197bfb8a67b5458ea88468c9a8f25903e388b6
    Reviewed-on: https://gerrit.openafs.org/16106
    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: Benjamin Kaduk <kaduk@mit.edu>

commit 012ccd7f6d10eab3747ca0a61ee556ba54b0d781
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jan 30 09:05:14 2024 -0700

    RedHat: Introduce client systemd helper script
    
    Move the logic in our Exec* commands in our openafs-client.service
    unit file into a helper script: openafs-client-systemd-helper.sh. This
    makes it easier to control our increasingly-complex startup/shutdown
    checks (and makes them easier to read), and reduces the clutter in our
    openafs-client.service unit file.
    
    This commit does not intentionally change any of our startup/shutdown
    behavior yet; this just moves the existing logic into a script.
    
    Update openafs.spec.in to install the helper script.
    
    Reviewed-on: https://gerrit.openafs.org/15634
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 0abbab24d27ecdd2bebecfb6ff8e471eda5b6cc2)
    
    Change-Id: Ic12498338ea668ead0700ab00e8065a3c00434b2
    Reviewed-on: https://gerrit.openafs.org/16105
    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: Benjamin Kaduk <kaduk@mit.edu>

commit 533f4241cc1617e8081236609399e2e41a8048a6
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jan 22 15:06:56 2024 -0700

    RedHat: Use KillMode=process for systemd client
    
    Our openafs-client.service systemd unit file contains a deprecated
    option, KillMode=none. Using this option results in the following
    message with systemd version 246 or later:
    
        /lib/systemd/system/openafs-client.service:22: Unit configured to
            use KillMode=none. This is unsafe, as it disables systemd's
            process lifecycle management for the service. Please update your
            service to use a safer KillMode=, such as 'mixed' or
            'control-group'. Support for KillMode=none is deprecated and
            will eventually be removed.
    
    Without this option, if someone runs 'systemctl stop openafs-client'
    and the client fails to shutdown (e.g., because files are accessing
    /afs), systemd will try to kill all of our afsd processes. Our afsd
    processes usually either cannot be killed, or will cause unstable
    behavior if they are killed (because e.g. AFSDB requests cannot be
    fulfilled).
    
    If systemd cannot kill all of our afsd processes, it will wait for a
    timeout before reporting an error. By default, it waits 90 seconds
    before sending SIGTERMs, and another 90 seconds before sending
    SIGKILLs. This means that by default, if someone is using /afs,
    'systemctl stop openafs-client' will hang for 3 minutes (!), even
    though we know immediately that we cannot stop the client.
    
    One way to avoid this is using KillMode=none, which skips killing our
    processes and waiting for any timeouts. To avoid using a deprecated
    option, switch to using KillMode=process.
    
    With KillMode=process, after a failed 'stop', systemd will only try to
    kill the 'main' pid run by ExecStart. The 'main' pid is detected by
    systemd either automatically by some heuristic (with
    GuessMainPID=yes), or by a pid file (when PIDFile= is set). If we
    disable GuessMainPID and don't set PIDFile, systemd will not try to
    terminate any of our processes on shutdown.
    
    systemd will still try to kill our other remaining processes using
    SIGKILL, but we can disable that with SendSIGKILL=no. To be safe, also
    specify KillSignal=SIGCONT to make sure systemd doesn't actually
    forcibly kill any of our afsd processes.
    
    None of this matters during a successful client shutdown, since then
    all of our afsd processes go away after a successful unmount, and
    there's nothing to cleanup.
    
    Our behavior during a failed 'stop' is still not ideal. After a failed
    'stop', systemd will flag the service as "failed (Result: exit-code)".
    This is similar to a service that is stopped successfully
    (deactivated), and running 'systemctl stop' on it again does nothing.
    Running 'systemctl start openafs-client' will try to start the service
    again, but this will fail because of the ExecStartPre check that runs
    'fs sysname', and the service will still be considered
    failed/deactivated. The only way to fix the situation is for an
    administrator to run the shutdown sequence manually, unmounting /afs
    and removing the kernel module themselves, and then starting the
    client again.
    
    That behavior is unfortunate, but seems difficult or impossible to
    avoid with a single systemd service.
    
    Reviewed-on: https://gerrit.openafs.org/15613
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit df3b8129ce9ce3c211e3cfa2033ac72e008f3895)
    
    Change-Id: Ifbdcad1e39ce77a63121972d4561424e243ab4d1
    Reviewed-on: https://gerrit.openafs.org/16104
    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: Benjamin Kaduk <kaduk@mit.edu>

commit 9ee4b7e44a1c544105b60f5812dd2de6aa89d50d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Feb 25 20:09:12 2025 -0700

    afs: Init structures via designated initializers
    
    When the Linux kernel is configured with CONFIG_RANDSTRUCT=y, the
    following error occurs when building the openafs kernel module:
    
     src/libafs/MODLOAD-6.12.0-SP/rand-timer-kernel.c:46:5: error: positional initialization of field in ‘struct’ declared with ‘designated_init’ attribute [-Werror=designated-init]
       46 |     timer_seed,
          |     ^~~~~~~~~~
    
    When the Linux kernel is configured with CONFIG_RANDSTRUCT=y, the Linux
    build uses a Linux kernel-specific GCC plugin
    (scripts/gcc-plugins/randomize_layout_plugin.c) that analyzes structures
    and will add the designated_init attribute to any structure that is
    determined to be a "pure operations struct" (i.e. contains only function
    pointers or nested pure ops structs/unions).  This is done so the plugin
    can then randomize the layout. This causes some of our structures to be
    flagged with the designated_init attribute, which triggers
    -Werror=designated-init when we don't use designated initializers.
    
    Within the Linux specific directory, src/afs/LINUX, the code already
    uses designated initializers, however some of the shared code within
    src/afs or that is included in the build for the kernel module still use
    positional initialization when initializing pure operations structures.
    
    Update the shared code that is used when building the Linux kernel
    module to use designated initializers via the AFS_STRUCT_INIT macro.
    
    Use a consistent alignment, and add trailing comma on the last
    element, change 0 to NULL where applicable.
    
    There are no functional changes within this commit.
    
    Note: For consistency, all the initializers for rx_securityOps are being
    updated even though not all of the files are part of the Linux kernel
    module (e.g. rxkad_server.c).
    
    Note: This error was discovered by an automated process that is used
    by the Gentoo organization to test building packages with a hardened
    Linux kernel.
    
    Reviewed-on: https://gerrit.openafs.org/16290
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit e94c183faef42e5ffe85c157ede008f2817bdefd)
    
    [cwills@sinenomine.net changes to rxgk not applicable to 1.8.x]
    
    Change-Id: I56ebb7d34718eef6c5bfbba98e3fb4e350a5129f
    Reviewed-on: https://gerrit.openafs.org/16383
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4d224c7df7b5e0bf0e17400ad6ef6a05695a60dd
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Feb 26 08:03:18 2025 -0700

    Convert HAVE_STRUCT_LABEL_SUPPORT to AFS_STRUCT_INIT
    
    The OpenAFS coding style allows the use of designated initializers for
    structs, however not all supported platforms have compilers that support
    it.
    
    The preprocessor define HAVE_STRUCT_LABEL_SUPPORT has been available for
    use so structure initialization can be set up to support compilers that
    do have designated initializers support.
    
    The typical use is:
    
        struct foo x = {
        #ifndef HAVE_STRUCT_LABEL_SUPPORT
            val1,
            val2,
            ...
        #else
            .mem1 = val1,
            .mem2 = val2,
            ...
        #endif
        };
    
    This results in extra lines of code where errors can easily be
    introduced.
    
    Create a macro, AFS_STRUCT_INIT, that uses designated initializers when
    available, so the above example would be:
    
        struct foo x = {
            AFS_STRUCT_INIT(.mem1, val1),
            AFS_STRUCT_INIT(.mem2, val2),
            ...
        };
    
    Convert the initialization of structures that are using the
    HAVE_STRUCT_LABEL_SUPPORT define to use AFS_STRUCT_INIT.
    
    Note, there is still a requirement that the order of initializers match
    the order of the elements within the structure, but it should be easier
    to verify that the initializers are in the proper order.
    
    Use a consistent alignment, and add trailing comma on the last
    element.
    
    There are no functional changes made by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/16289
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 7c28b99490b75475ed9130526c536ae0e354e064)
    
    Change-Id: I8faa4b497f2962bdd0a4ecb559e8b9288fd5c796
    Reviewed-on: https://gerrit.openafs.org/16382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5f85032cdb7f0148dc6165773acb6d6ffe4b6914
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Feb 7 11:10:27 2025 -0700

    Linux-6.14: Handle dops.d_revalidate with parent
    
    The Linux 6.14 commit:
      '5be1fa8abd7b0 Pass parent directory inode and expected name to
        ->d_revalidate()'
    added 2 parameters to the dentry_operations.d_revalidate method.  These
    new parameters are being provided as a convenience so a filesystem's
    d_revalidate function can avoid some boilerplate code for obtaining the
    dentry's ->d_parent and ->d_name.  The caller ensures that these two
    values are stable.
    
    Add a new autoconf test to determine if dentry_operations.d_revalidate
    has the new parameters.
    
    Update afs_linux_dentry_revalidate() to accept the new parameters.
    
    Reviewed-on: https://gerrit.openafs.org/16253
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 0306f3fdac736e15620f5802bdce510d25bb2450)
    
    Change-Id: I640c338de22201da88327a7bc0d6bdb2bccd23bc
    Reviewed-on: https://gerrit.openafs.org/16277
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 02603ec7bb2b6dadd9fc6f30f1d180732673f3d9
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Feb 14 15:18:52 2025 -0700

    LINUX: Refactor afs_linux_dentry_revalidate()
    
    The signature for Linux's dentry_operations.d_revalidate method has
    undergone several changes, leading to increased use of #if directives in
    afs_linux_dentry_revalidate().
    
    To make the code more maintainable for future changes involving the
    parent inode and the dentry's name, split out most of our logic in
    afs_linux_dentry_revalidate() into a new function,
    dentry_revalidate_common(). Keep the logic for getting the parent and
    checking for LOOKUP_RCU in the caller, afs_linux_dentry_revalidate().
    
    Written in collaboration with adeason@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/16258
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 4702930f8dd87a6cad1d59ef8c127003fded1f31)
    
    Change-Id: Iae781913ec933e79ca47cdf043e729e50c1b2a6d
    Reviewed-on: https://gerrit.openafs.org/16276
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e4ca30af436776c48005c71997930cdf7bf61abd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 25 13:25:37 2022 -0500

    FBSD: Fallback to $CC for assembler
    
    FreeBSD 13 no longer ships with a standalone assembler (e.g.
    /usr/bin/as). But clang can be used as an assembler, so just set AS to
    $CC if we don't find an assembler.
    
    Reviewed-on: https://gerrit.openafs.org/15161
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 1435b686a953c3f22d180ad239ec85dda3658273)
    
    Change-Id: Id8840263dd553f12cc1ee4787e74fa7056a0a5e9
    Reviewed-on: https://gerrit.openafs.org/16166
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ff293c06967445ed57f1e35922f6c1c31169e600
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jan 15 13:40:23 2025 -0700

    cf: Invoke AC_PROG_RANLIB with AC_REQUIRE
    
    With libtool 2.5.3, the libtool commit:
    "libtoolize: Fix conflicting warnings about AC_PROG_RANLIB" (3e6c628)
    
    added an AC_REQUIRE([AC_PROG_RANLIB]), which resulted in the following
    messages when running ./regen.sh
    
    Running autoconf
    configure.ac:16: warning: AC_REQUIRE: 'AC_PROG_RANLIB' was expanded before it was required
    configure.ac:16: https://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required
    src/cf/libtool.m4:1577: _LT_CMD_OLD_ARCHIVE is expanded from...
    src/cf/libtool.m4:153: _LT_SETUP is expanded from...
    src/cf/libtool.m4:62: LT_INIT is expanded from...
    src/cf/afs-libtool.m4:18: AFS_LT_INIT is expanded from...
    src/cf/osconf.m4:2: OPENAFS_OSCONF is expanded from...
    acinclude.m4:7: OPENAFS_CONFIGURE_COMMON is expanded from...
    configure.ac:16: the top level
    Running autoconf for configure-libafs
    configure-libafs.ac:12: warning: AC_REQUIRE: 'AC_PROG_RANLIB' was expanded before it was required
    configure-libafs.ac:12: https://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required
    src/cf/libtool.m4:1577: _LT_CMD_OLD_ARCHIVE is expanded from...
    src/cf/libtool.m4:153: _LT_SETUP is expanded from...
    src/cf/libtool.m4:62: LT_INIT is expanded from...
    src/cf/afs-libtool.m4:18: AFS_LT_INIT is expanded from...
    src/cf/osconf.m4:2: OPENAFS_OSCONF is expanded from...
    acinclude.m4:7: OPENAFS_CONFIGURE_COMMON is expanded from...
    configure-libafs.ac:12: the top level
    
    According to the autoconf documentation for AC_REQUIRE, if we expand a
    macro using AC_REQUIRE, we're always supposed to expand the macro using
    AC_REQUIRE, and never expand it normally. With libtool 2.5.3, LT_INIT
    expands AC_PROG_RANLIB via AC_REQUIRE, and so we must also use
    AC_REQUIRE for our AC_PROG_RANLIB calls. So, change all of our
    AC_PROG_RANLIB calls to use AC_REQUIRE.
    
    We currently call AC_PROG_RANLIB in both OPENAFS_CONFIGURE_COMMON and
    OPENAFS_OSCONF (called from OPENAFS_CONFIGURE_COMMON). We don't interact
    with RANLIB outside of OPENAFS_OSCONF, so just get rid of the duplicate
    AC_PROG_RANLIB call in OPENAFS_CONFIGURE_COMMON instead of converting it
    to AC_REQUIRE.
    
    Reviewed-on: https://gerrit.openafs.org/16090
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit b8ab76cca297d7ccbf15defd3f6a391c8a786db0)
    
    Change-Id: I038dfb62c92930c21edb08402aacd88c7fec20b2
    Reviewed-on: https://gerrit.openafs.org/16131
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3698acbf03ea096001921f44ec6bb6185bc3daef
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 22 11:08:39 2021 -0700

    autoconf: use AC_CHECK_TOOL for as and ld
    
    Some platforms use the GNU target triplet as a prefix to the toolchain
    utilities (e.g. x86_64-pc-linux-gnu-as) to allow the use of alternative
    toolchains, cross-compiling, etc.
    
    The Gentoo Linux distribution has a mode of building packages
    (-native-symlinks) where the toolchain utilities only exist as their
    prefixed names (e.g. 'as' does not exist, but 'x86_64_pc-linux-gnu-as'
    does). This results in configure failing to locate the tools when using
    AC_CHECK_PROGS.  (Gentoo uses the --host and --build configure
    parameters to specify the prefix names for the tools).
    
    Replace AC_CHECK_PROGS with AC_CHECK_TOOL for the toolchain related
    commands 'as' and 'ld'.
    
    AC_CHECK_TOOL works like AC_CHECK_PROGS but it will also look for
    the program with a prefix (specified by using configure's --host
    parameter).
    
    Note: libtool.m4 runs AC_CHECK_TOOL for ar.
    
    Reviewed-on: https://gerrit.openafs.org/14544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 268025f841f1a2bd16b802459a8b590939331bcd)
    
    Change-Id: I158ccd7f473b2257c35812de35749c09f97a490b
    Reviewed-on: https://gerrit.openafs.org/16130
    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: Benjamin Kaduk <kaduk@mit.edu>

commit efc5dc5a407955844e513c3f8ad7711ddfc92077
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 1 12:17:01 2021 -0600

    cf: Fix typo in test for enable-shared/with-swig
    
    The commit cf: Disable swig if shared libraries are disabled (0e84b7405)
    contains a typo in a test: "x$enable_shared" != "yes".  This causes
    configure to exit due to incorrectly testing --enable-shared.
    
    Update swig.m4 to correct the typo.
    
    Reviewed-on: https://gerrit.openafs.org/14628
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a73d337a55d4800b67b0ce3c60cb1d5f5fbc7519)
    
    Change-Id: I4467f8923df376400ac228c31e75f20f356cb81a
    Reviewed-on: https://gerrit.openafs.org/16101
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0eed823e2f942eb9d8426c434763b827cc7be6be
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Apr 26 16:17:39 2021 -0600

    cf: Disable swig if shared libraries are disabled
    
    When building with the option --disable-shared and swig is also enabled
    (either explicitly, or autodetected) a build failure occurs when trying
    to link libuafs/PERLUAFS/ukernel.so
    
    Update the configure test for swig to disable the swig autodetection
    when --disable-shared was specified, as well as emitting a notice
    message stating that the swig autodetection has been disabled.
    
    If --with-swig=yes was specified along with --disable-shared, generate a
    configure error stating --with-swig is incompatible with
    --disable-shared.
    
    Reviewed-on: https://gerrit.openafs.org/14606
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0e84b740c75dc7befaa976cf09703b3439296131)
    
    Change-Id: I0a8ef6396827c6f53320f89d2b523903e39e0636
    Reviewed-on: https://gerrit.openafs.org/16100
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8de21fd7614f43ba0a45d1ff25b2411102db2ac8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Apr 7 10:51:58 2021 -0600

    cf: Run AFS_LT_INIT after setting CC
    
    Since libtool support was introduced for 1.8.x in commit 69f26ece (Add
    libtool support), we've run LT_INIT or AFS_LT_INIT early on in
    configure.ac.
    
    If CC isn't set, AFS_LT_INIT defaults to using gcc when it's available.
    On Solaris, we set CC and CFLAGS ourselves later (in osconf.m4) to use
    the Solaris Studio compiler, but this doesn't change the compiler that
    AFS_LT_INIT already chose. As a result, on Solaris if no value for CC is
    given during configure and gcc is available, some libtool commands will
    try to use gcc with CFLAGS intended for the Solaris Studio compiler,
    which will fail.
    
      /bin/sh ../../libtool --quiet --mode=link --tag=CC ... -mt ...
      gcc: error: unrecognized command line option '-mt'; did you mean '-t'?
    
    To fix this, move AFS_LT_INIT into osconf.m4 after our platform-specific
    macros have had a chance to set CC. Also move our checks for AR, AS,
    etc. to after AFS_LT_INIT, since AFS_LT_INIT sets those.
    
    Note.  Without GCC installed on a Solaris system, libtool will find the
    Solaris Studio compiler (assuming that PATH is set up correctly) and the
    build will proceed successfully. Just installing the GCC package is
    sufficient to break the build.
    
    This commit fixes a regression from 1.6.x where having the GCC package
    installed on the system would not break the build.
    
    Reviewed-on: https://gerrit.openafs.org/14585
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0a58d21881d7e91deccb416e8d2c272e14b412dd)
    
    Change-Id: I6a961a3a5586c6c68ddfc90a758af16b3b45adb8
    Reviewed-on: https://gerrit.openafs.org/16097
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ef0b3fc53c69b54f1c941c942b0d8079f6bf8952
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 15 14:51:55 2023 -0400

    fsint: Move RXAFS_StoreACL function declaration
    
    Commit 8f1eba056fd (CVE-2018-7168 RXAFS_StoreACL deprecate 134 introduce
    164) added RXAFS opcode 164 as RXAFS_StoreACL. This change sensibly
    added the new opcode 164 between opcodes 163 (RXAFS_DFSSymlink) and 220
    (RXAFS_FsCmd) in the afsint.xg file.
    
    Unfortunately, the rx rpc call statistics reported over the wire by
    RXSTATS_RetrieveProcessRPCStats() are given by function index (not
    opcode).  The function index is determined by the function position in
    the xg file when rxgen generates the RPC stubs.  This means following
    RXAFS RPCs stats are off-by-one in the returned stats block:
    
    RXAFS_FsCmd
    RXAFS_InlineBulkStatus
    RXAFS_GiveUpAllCallBacks
    RXAFS_GetCapabilities
    RXAFS_CallBackRxConnAddr
    RXAFS_GetStatistics64
    
    Since the RPC call statistics are reported by function index and not
    opcode, rxstat clients (e.g., rxstat_get_process) report incorrect stats
    when there is a mismatch between the rxstat client and the fileserver.
    
    Move the declaration of RXAFS_StoreACL (164) to be after the last
    function in afsint.xg file, so the function indices generated by rxgen
    are not changed for existing functions and the next available function
    index is assigned to the new RXAFS_StoreACL (164) RPC.
    
    Note: The RXSTATS_RetrieveProcessRPCStats() RPC has a parameter to
    indicate the stat client version, which could be used in the future to
    support an improved interface, since relying on the function indices is
    not very robust.
    
    Reviewed-on: https://gerrit.openafs.org/15572
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 23333c98badd32d5276c571f3106f2de46711b1a)
    
    Change-Id: I80b399052a2634c834aff009820c221c480f6f5b
    Reviewed-on: https://gerrit.openafs.org/16230
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d6179c2ef0126b9f56061bc9fd5a052c11c5b1d9
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri Feb 23 20:10:27 2018 -0500

    CVE-2018-7168 RXAFS_StoreACL deprecate 134 introduce 164
    
    There exist in the wild AFS3 clients that improperly construct access
    control lists which are then stored to directories via RXAFS_StoreACL
    (opcode 134).  These clients add negative access control entries (if any)
    to the normal rights list.
    
    As there is no method by which a fileserver can determine that the
    ACL is improperly constructed, the only method to defend the storage of
    broken ACLs is to identify clients that are known to properly construct
    ACLs by introducing a new RXAFS_StoreACL opcode (164).
    
    This change:
    
     * Renames RXAFS opcode 134 to RXAFS_OldStoreACL
    
     * Introduces RXAFS opcode 164 as RXAFS_StoreACL
    
     * Implements SRXAFS_OldStoreACL and SRXAFS_StoreACL in the fileserver
       via a common_StoreACL() function that accepts the executed opcode
       as input.
    
     * To avoid breaking changes in stable release branches,
       SRXAFS_OldStoreACL will still be allowed by default, with an option
       to cause it to be failed by default with error EPERM/UAEPERM.
       A follow-up commit will cause SRXAFS_OldStoreACL to fail by default
       on the master branch.
    
     * When opcode 134 is called, the a FileLog entry will be generated
       at log level 0 instead of 1 and the entry will contain the string
       "CVE-2018-7168".
    
     * Modifies the format of the ACL logged to the FileLog and the audit
       stream.  Previously the AFSOpaque format was used directly.  The
       problem with this format is that it uses newlines as the ACE
       separator.  Since the FileLog and file audit log is intended to
       be one line per log entry, the newlines break the file formats.
       This change replaces the newlines with spaces for display purposes
       unless the process is unable to allocate the additional memory.
    
     * Introduces a new fileserver command line switch -cve-2018-7168-enforce
       which when specified causes SRXAFS_OldStoreACL RPCs to be failed.
    
    [kaduk@mit.edu: switch en/disable-by-default behavior and fix argument parsing]
    
    FIXES: 134485
    Reviewed-on: https://gerrit.openafs.org/12942
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8f1eba056fd2d2792a7d2b61d5dbcdd799bc173d)
    
     Conflicts:
            src/viced/afsfileprocs.c
    
    [cwills@sinenomine.net] - On master, this commit was applied before the
    2024 SA related commits.  On 1.8.x, the 2024 SA commits are applied
    before this commit.  -- Ensured that the changes made with the 2024 SA
    commits were not regressed.
    
    OPENAFS-SA-2024-002
    
    Change-Id: I19106cd8815c08d60528f7f41978f3c691e9efd2
    Reviewed-on: https://gerrit.openafs.org/16228
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 489d54469e343d020e08137b871ad7dca3754ce0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jun 19 18:10:30 2020 -0400

    viced: Set HashTable size at startup
    
    Currently, our HashTable for FileEntry structs is a fixed size
    (FEHASH_SIZE, 512). If we have a large number of callbacks, this can
    lead to very long hash chains, which can cause the fileserver to
    consume high amounts of CPU when finding, deleting, or especially
    adding new callbacks. This is especially bad since callbacks are
    managed under the global H_LOCK.
    
    To improve this, use our configured callback limit (-cb) to build an
    appropriately-sized HashTable at initialization, instead of using a
    hard-coded size. We compute this by dividing the -cb value by the
    desired hash chain length (FE_CHAIN_TARGET, 16), then rounding up to
    the nearest power of 2 at least as big as the old FEHASH_SIZE, 512.
    
    For DAFS, a copy of our HashTable is included in the fsstate.dat file
    on disk, so changing our hashtable size potentially changes the data
    in fsstate.dat. However, we currently do not read in the hashtable
    data from fsstate.dat, since it's not very useful; we only write it
    out in case other utilities or older fileservers need it.
    
    Older fileservers, however, will not read an fsstate.dat with a
    hashtable that does not have exactly FEHASH_SIZE. So if we have a
    differently-sized hash table, we're breaking compatibility with those
    fileservers anyway, so don't write out our hashtable data at all.
    
    This commit also changes the format of the callback.dump file, since
    it did not allow for a variable-length hashtable. We create a new
    MAGICV3 magic to define the new format, and add some logic to the
    'cbd' utility to understand it. We still write out our hashtable to
    this file since it's for debugging, and the hashtable data may be
    useful in that context.
    
    Move FEHash to callback.c, since it now relies on the callback.c-only
    FEhashsize, and move FEHASH_SIZE_OLD along with it.
    
    [adeason@sinenomine.net: Don't write out non-old-sized hashtable. Move
    FEHash &co to callback.c. Various other minor edits.]
    
    Reviewed-on: https://gerrit.openafs.org/14731
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 2b9ba03ef77b23343b7be3b78435cad70c101637)
    
    Change-Id: I4a6a52cd8f90cd868662eccc37c2e41335841baa
    Reviewed-on: https://gerrit.openafs.org/16023
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cb3f7bf81bdaa888b38d406ae0dcb364dd65a2b3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Apr 7 22:50:13 2021 -0400

    DARWIN: Use -Werror=objc-method-access for objc
    
    The default Xcode compiler options are insufficient to fail the build if
    a method is not found. For example, a typo in the name of method
    'componentsJoinedByString' results in the following build warning:
    
    /TaskUtil.m:70:62: warning: instance method '-componentsJoinedBySting:'
              not found (return type defaults to 'id') [-Wobjc-method-access]
              NSLog(@"Task failed: %@ %@ status:%d.", taskName,
                    [args componentsJoinedBySting:@", "], status);
    
    Because this is only flagged as a warning, the build completes
    successfully.  When this code runs, the AFSBackgrounder merely logs a
    runtime exception every time it passes through the erroneous code.  This
    is a silent failure, unless you happen to know how to check for
    AFSBackgrounder log messages:
    
      $ log show --predicate 'process=="AFSBackgrounder"'
    
    Add compiler flag '-Werror=objc-method-access' to all of our xcode-built
    project files to treat this case as an error instead of a warning, so
    the build will fail.
    
    [adeason@sinenomine.net: Update all xcode project files.]
    
    Reviewed-on: https://gerrit.openafs.org/14586
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 13ef51154413fde3662d90d125eed1c50bb7af40)
    
    Change-Id: I70618e15201a3b55e3f220f70285af264e3a0fbc
    Reviewed-on: https://gerrit.openafs.org/16068
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6f8c5093a4f82b627277f1291071667bef53f0d3
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 21 06:05:12 2024 -0800

    DARWIN: Use NSUInteger for indexGreaterThanIndex return value
    
    The indexGreaterThanIndex function returns the closest index from the
    index set that is greater than a specified index. This function is
    typically used in a loop to iterate through a list of items until it
    returns NSNotFound, indicating the end of the list.
    
    In AFSCommanderPref.m, the following pattern is being used:
    
    int index = 0;
    do {
        ...
    } while((index = [... indexGreaterThanIndex:index]) != NSNotFound);
    
    The issue arises because indexGreaterThanIndex returns an NSUInteger,
    while the loop uses an int for index. If NSNotFound is cast to an int,
    it becomes -1, causing the loop to never terminate and leading to a
    crash.
    
    To fix this problem, change the type of index from int to NSUInteger to
    ensure proper comparison and termination of the loop when NSNotFound is
    returned.
    
    Reviewed-on: https://gerrit.openafs.org/15961
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit d76df7cb24a7d5c12dcbe2a60cf34d1a6f158c76)
    
    Change-Id: I270bdf5fefbb32062e56e2e6f3908669738ef819
    Reviewed-on: https://gerrit.openafs.org/16067
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit df76aa14e71d26d5d2e43e41d9de56a7fa5cfcf7
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Jul 22 02:25:02 2024 -0700

    DARWIN: Set workIPArray to nil in commitModify
    
    Address potential memory issues by setting workIPArray to nil after
    releasing it in commitModify. This prevents dangling pointers and
    ensures consistency with rollbackModify, which already includes this
    safeguard. Without this change, PrefPane can crash upon closing the
    window used for setting IP addresses of cells in the CellServDB.
    
    Reviewed-on: https://gerrit.openafs.org/15962
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit e45d0bd1e1ff500ace7b50ad7ea83d8ddf8b7e1c)
    
    Change-Id: I68082b1679a50a87a161dd03cf56ef88197fe0e6
    Reviewed-on: https://gerrit.openafs.org/16066
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fe009bb0537c80074b4a56ce871e9043216baf32
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Aug 10 13:28:19 2020 -0400

    viced: Ignore on-disk fsstate HashTable data
    
    Currently, if the fileserver tries to restore fsstate.dat and the
    included FE hashtable does not match our in-memory size (FEHASH_SIZE),
    we'll discard the entire state file. This is unnecessary, since we
    could just add the FEs to our hashtable ourselves; the on-disk
    hashtable data is not required.
    
    Furthermore, loading the hashtable from disk isn't even terribly
    efficient when the hashtable sizes do match, since any indices need to
    be converted from the on-disk values to in-memory values
    (fe_OldToNew). So if we're processing the FE hashtable indices anyway,
    we might as well just add them to the hashtable like normal, and
    ignore the values on disk.
    
    So, ignore loading the "fehash" data from the fsstate file, and just
    add file entries to our hashtable as we read them in. This ends up
    being slightly faster, simpler, and more flexible, since we don't need
    to worry about reflecting any changes to our hashtable in the
    fsstate.dat file.
    
    At least for now, we still write our hashtable data to fsstate.dat, in
    case other utilities (or older fileservers) need it.
    
    [adeason@sinenomine.net: Converted to always ignore on-disk hashtable
    data.]
    
    Reviewed-on: https://gerrit.openafs.org/14738
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit f3629f87daa0c9067fbeb66d48ba1deb6fafac06)
    
    Change-Id: Icea91fe2ea266ae9fb53beb12dd7b664a4b30cb9
    Reviewed-on: https://gerrit.openafs.org/16022
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 77b66bca167d1d2492bbf5f0bd6a901a347a72dd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Aug 1 16:29:36 2021 -0500

    viced: Log some basic fs_stateRestore stats
    
    Log how long it took to restore our fsstate.dat data, and how many
    FEs/CBs we loaded. This may be of interest to anyone looking at the
    impact of different relevant options (such as -fs-state-verify), and
    how much callback state is being restored.
    
    Note that we're not adding any new messages, just adding some
    additional info to an existing message.
    
    Reviewed-on: https://gerrit.openafs.org/14737
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit ef7aeddec1cd6ba060a076f2c81569a1726769cc)
    
    Change-Id: Icecb66b80164e6c60ef2daedaf14545efafd65dc
    Reviewed-on: https://gerrit.openafs.org/16021
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cf029a06fd5f8e05f38b8b16c3989cfbfc4795d5
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 17 23:41:14 2020 -0400

    viced: Log more state restore errors
    
    Some code paths in our state-restoring logic don't log the specific
    reason why restoring state failed. These cases shouldn't happen often,
    but try to at least log something for them, to try to make sure we
    always give a reason.
    
    [adeason@sinenomine.net: Added more messages.]
    
    Reviewed-on: https://gerrit.openafs.org/14728
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 28bc6daa260e4ef27bead542aa32ebc2e72215f4)
    
    Change-Id: I1d8051d6ca9c67d2866b8e01500bd24465fc6248
    Reviewed-on: https://gerrit.openafs.org/16020
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d7eea35237b54907e63c021362a8bd74f9edb000
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 17 18:17:52 2020 -0400

    viced: Raise fsstate loop detection limits
    
    When verifying the sanity of host and callback state at startup and
    shutdown, dafileserver attempts to detect loops in various structures
    by imposing arbitrary hard-coded limits (e.g.
    FS_STATE_HCB_MAX_LIST_LEN, 100000 callbacks per host).
    
    However, it is possible for AFS clients with heavy RW workloads to
    legitimately exceed some of these limits, if the dafileserver itself
    is configured with -cb higher than 100000, for instance.
    
    When this occurs, the dafileserver will falsely invalidate the
    fsstate.dat file at shutdown:
    
      "cb_stateVerifyFCBList: error: list length exceeds 100000 (h->index=1);
       assuming there's a loop"
    
    The dafileserver will then refuse to load the invalid fsstate.dat file
    at startup, defeating the callback preservation feature just when it
    is most sorely needed - when there are hundreds of thousands of
    callbacks.
    
    These arbitrary limits are unnecessary, since we already know the
    number of structures we're processing for all of these cases (CBs,
    FEs, and hosts). So just get rid of the hard-coded limits, and use the
    actual limit for the relevant structure instead:
    
    For CBs and FEs, we can never have more than 'cbstuff.nblks' entries
    whether we're loading or saving state, so just use that limit for
    simplicity.
    
    For hosts, the number of entries is either in the dump file (when
    restoring state), or just in our 'hostCount' global (when saving
    state). To make sure a corrupted state file doesn't cause the host
    limit to be unreasonably high, impose a new, higher, arbitrary limit
    on the number of hosts (FS_STATE_H_MAX_LIST_LEN, set to 100M).
    
    [adeason@sinenomine.net: Raise limits for _all_ structures.]
    
    Reviewed-on: https://gerrit.openafs.org/14727
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit c5e3b430d8d2f2c3c408df76fffe9ed7c648dbc1)
    
    Change-Id: I5fa86b82f829d48f508c07b2b13245bd1993c5d5
    Reviewed-on: https://gerrit.openafs.org/16019
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e30903a9d66f37fdf00603586529ce077f69da85
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 17 17:27:51 2020 -0400

    viced: Set FS_STATE_DUMP_MODE earlier
    
    When the fileserver saves its callback state to disk on shutdown,
    fs_stateCreateDump sets state->mode to FS_STATE_DUMP_MODE. But this is
    after some code paths have already looked at state->mode, such as
    fs_stateSave -> h_stateVerify -> h_Enumerate_r -> h_stateVerifyHost ->
    h_stateVerifyAddrHash. This doesn't cause any problems right now,
    since the value of FS_STATE_DUMP_MODE is 0, and we zero the whole
    'state' struct when it is initialized.
    
    This is confusing, though, so move the assignment of
    FS_STATE_DUMP_MODE to earlier in the state-saving process, before
    anything looks at it.
    
    To try to avoid possible uninitialized use of state->mode in the
    future, change the FS_STATE_*_MODE constants so that none of them are
    0, and make sure that code checking the 'mode' checks that the mode is
    a valid constant.
    
    [adeason@sinenomine.net: Added state mode checking.]
    
    Reviewed-on: https://gerrit.openafs.org/14726
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 900d89380dea5703a365aed61e998c5f1004b056)
    
    Change-Id: I76ca239c9c28cfb524631ce5f5688eeb443b846a
    Reviewed-on: https://gerrit.openafs.org/16018
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a8ac4758226b7e750a66e53a7326bd4ad317dc2c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 17 11:58:25 2020 -0400

    viced: Use calloc for fsstate data
    
    Internal struct fs_dump_state contains a number of pointer members to
    other internal headers that are allocated via malloc, and later zeroed
    or read in from disk. Use calloc instead (and remove some of the
    now-redundant memsets) to make sure we never accidentally use the
    uninitialized memory.
    
    While here, also use sizeof the member names rather than the member
    types.
    
    [adeason@sinenomine.net: Removed some memsets.]
    
    Reviewed-on: https://gerrit.openafs.org/14725
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 95d3cbe7071b461ff64cfe248d11af7a0f12512d)
    
    Change-Id: Ia918e380ca55b921e6899136ed995a8ba548dfed
    Reviewed-on: https://gerrit.openafs.org/16017
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1560c512f2eabfedd13e5df95148ea71e1a89138
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun Jun 21 21:44:17 2020 -0400

    viced: Fix minor log message mistakes
    
    Fix a few minor mistakes/typos that have crept up in viced over time:
    
    - In PrintCallBackStats, struct FEs and struct CBs are 64 bytes, not
      16 bytes. Show the actual size of the structs.
    
    - A log message in cb_stateDiskEntryToFE is missing the trailing
      newline.
    
    - In cb_stateVerifyHCBList, a log message mentions the non-existent
      cb_stateVerifyFCBList (instead of cb_stateVerifyHCBList)
    
    Reviewed-on: https://gerrit.openafs.org/14724
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3ccf8eaeb0bc19be8e11241740d0bfd7325711d1)
    
    Change-Id: I8e12d7b1ec5369e58d5760759c7e9ffae638cbed
    Reviewed-on: https://gerrit.openafs.org/16016
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 73ed44db3a87a10cfd5b87bd1baa8bc492fdb9c7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 5 14:56:24 2024 -0500

    rx: Add rxi_GetLocalAddr() prototype
    
    Commit 91378d93b9 (rx: Don't send packets to localhost if -rxbind set)
    added the rxi_GetLocalAddr() function, but missed the prototype. Add the
    function prototype to fix a GCC missing-prototype warning when building
    the linux kernel module.
    
    Fixes the build error when building the kernel module for Linux 6.8
    or later when the tree was configured with --enable-checking:
    
      .../src/libafs/MODLOAD-6.8.0-49-generic-SP/rx.c:9693:1: error: no
          previous prototype for ‘rxi_GetLocalAddr’ [-Werror=missing-prototypes]
      9693 | rxi_GetLocalAddr(struct sockaddr_in *sin)
           | ^~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
    
    Reviewed-on: https://gerrit.openafs.org/15978
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit d6a2b4b44ddaec54f78737ab1971ffe4d3c28117)
    
    Change-Id: Ief384e4e46b5e46196a88cebd1db6cd30de02f82
    Reviewed-on: https://gerrit.openafs.org/16012
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2f094fe573d0fafdcbc078585e8a0542f9255ac1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 11 16:16:33 2024 -0600

    rx: Don't send packets to localhost if -rxbind set
    
    For some platforms (SOLARIS, FBSD), shutting down the libafs client
    currently involves sending a packet to localhost to wakeup the listener
    thread. If rx is bound to a specific host address (the -rxbind option
    was passed to afsd), this won't work, because rx won't receive packets
    sent to localhost. This results in the client hanging forever when
    trying to 'umount afs', until a packet is otherwise sent to the rx
    socket.
    
    To fix this, send the packet to the bound host address instead, if
    -rxbind was given. Otherwise, send the packet to localhost, like before.
    
    Introduce the small helper function rxi_GetLocalAddr() to consolidate
    the logic of what address to use.
    
    Reviewed-on: https://gerrit.openafs.org/15906
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 91378d93b9dbaf8e7ae8b3d0f655de63397cd545)
    
    Change-Id: Ibeb50ff00311f0c34095405ba4a136e648a37018
    Reviewed-on: https://gerrit.openafs.org/16011
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 61722ff2c8ee9deb451701ba54c8df8c2456d2b9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 11 15:34:50 2024 -0600

    rx: Introduce 'rx_host' internal global
    
    Remember what local address we're bound to (as passed to rx_InitHost(),
    which is given when -rxbind is passed to various programs), like we do
    for our local port with rx_port. Store this in a new internal global
    variable, rx_host.
    
    This commit just introduces the new variable, but does not use it.
    Future commits will add code that make use of this information.
    
    Reviewed-on: https://gerrit.openafs.org/15905
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 1cb8deb64fb54562ce25aef17e4c7be7a7b65444)
    
    Change-Id: Iace31cdd823283de4024c9de77d017d09b05125b
    Reviewed-on: https://gerrit.openafs.org/16065
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ae8b53feda27cf5daa0d79d425ed56f3f707a176
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 3 11:48:10 2025 -0700

    Avoid rxi_tracename overflow
    
    When processing the -trace option for the vlserver (and a couple of
    other places), we can easily overflow the rxi_tracename array if the
    given string is too big. While the way this global setting works in
    general isn't the best, at least for now just prevent the buffer
    overflow by doing a simple bounds check with strlcpy.
    
    Reviewed-on: https://gerrit.openafs.org/14753
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit a794383f5e035231797a3683ae67dbf9e9d7bcd3)
    
     Conflicts:
            src/rx/test/testserver.c - added the "extern char rxi_tracename"
                from the master commit:
                "rx: Cleanup and build src/rx/test" (236cb51b833d)
    
    Change-Id: I456a1db092f5180c11f4a6f5ad872e11799a1103
    Reviewed-on: https://gerrit.openafs.org/16010
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6527bbe4f6074f63ffdd23d3357058cf31624914
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 6 13:49:59 2023 -0600

    LINUX: Block non-fatal signals when sleeping
    
    Currently, when sleeping on LINUX, we either block all signals
    (afs_osi_Sleep), or do not block signals at all (afs_osi_SleepSig).
    The only caller of afs_osi_SleepSig() is afs_read(), with the
    intention that a user can interrupt the process while it's waiting for
    data from an unresponsive server.
    
    This can cause problems when afs_read() is called during a paging
    request. In this case, if we are interrupted by a signal, we'll return
    an error (EINTR) from afs_linux_readpage(), which causes a SIGBUS to
    be sent to the process if it's not already dying.
    
    If we're interrupted by a fatal signal, the process is already dying
    so this is fine. But if we're interrupted by a non-fatal signal with
    an installed signal handler, the SIGBUS almost always causes the
    process to die immediately (and maybe dump core), where it otherwise
    would have been fine.
    
    This can be very confusing to a user when it happens, since it's not
    immediately obvious that AFS was involved at all; the dumped core
    often just shows the SIGBUS generated during a mundane memory load or
    store. This situation is most easily seen when running golang out of
    /afs, but has also been seen with git and other programs. Anything
    that makes heavy use of signals while data is being fetched from /afs
    is likely to trigger the behavior.
    
    This problem in general may not be specific to Linux, since the
    relevant code path is in cross-platform code (afs_read ->
    afs_osi_SleepSig). But notably, this does not happen on Solaris[1];
    other platforms may have their own quirks that prevent this from
    becoming a problem.
    
    To avoid this for Linux, block all signals except SIGKILL when we're
    sleeping via afs_osi_SleepSig(). This allows the process to be killed
    if needed, but prevents interruption from any non-fatal signal.
    
    Ideally we would put our process in TASK_KILLABLE state, using
    functions like wait_event_killable() or wait_event_state() instead of
    blocking signals. But these functions have evolved over time, making
    this approach complex or even impossible for various Linux versions in
    our current design. Future commits may improve this; for now, do the
    simpler fix and just block signals.
    
    We could theoretically still allow non-fatal signals to interrupt
    sleeps when called from a syscall like read(). But this is difficult
    with the current structure of our Linux integration (syscall i/o is
    implemented on top of the paging system, like most Linux filesystems),
    and other filesystems tend to not do this.
    
    Also, interrupting a stalled afs_read() in general doesn't currently
    work very well anyway. The only callers of afs_osi_SleepSig() look
    like this, to wait for a background fetch (BOP_FETCH) to complete:
    
        while (!code && tdc->mflags & DFFetchReq) {
            /* other locks, etc */
            ReleaseReadLock(&tdc->lock);
            code = afs_osi_SleepSig(&tdc->validPos);
            ObtainReadLock(&tdc->lock);
        }
    
    A signal will cause afs_osi_SleepSig() to return, but then we must
    wait to get tdc->lock. The background BOP_FETCH operation will keep
    tdc->lock write-locked for the entire fetch from the fileserver
    (afs_CacheFetchProc()), so we won't be able to continue until the
    fetch completes.
    
    Future commits may improve this, but for now just avoid the
    unnecessary SIGBUS errors.
    
    [1] On Solaris, the equivalent code path (afs_GetOnePage()) does not
    go through afs_read() with noLock==0, but instead calls
    afs_GetDCache() to handle fetching data. It does call afs_ustrategy()
    to fill a page, which does technically call afs_read(), but with
    noLock==1, and so avoids the case where we submit a BOP_FETCH and
    wait for it. Fetching data from the network happens in the
    afs_GetDCache() call, and so does not use afs_osi_SleepSig().
    
    Reviewed-on: https://gerrit.openafs.org/15637
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit addee4295946fc9af6027fc555b27945d2edead9)
    
    Change-Id: Id6676f1e899538c9407ad85a02238666a1463def
    Reviewed-on: https://gerrit.openafs.org/16008
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4608f1478b9d2d85cd69264abda697c4d9970c0c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 6 13:32:48 2023 -0600

    LINUX: Refactor afs_osi_Sleep
    
    Instead of having afs_osi_Sleep() call afs_osi_SleepSig() directly,
    have both afs_osi_Sleep() and afs_osi_SleepSig() call a common helper
    function, afs_linux_sleep(). This makes it easier for future commits
    to alter the behavior for the _Sleep and _SleepSig variants.
    
    This commit should incur no noticeable change in behavior. We now
    manipulate the signal mask outside of AFS_GLOCK, but this doesn't matter
    because 'current' and the signal mask are unrelated to any of our locks.
    The signal mask is protected by SIG_LOCK (a wrapper from osi_machdep.h
    for various different locks for different kernel versions), and is
    handled in this commit the same as it was before.
    
    Reviewed-on: https://gerrit.openafs.org/15636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4f0244e2950d93101368bc78367b67b1ec2ef264)
    
    Change-Id: I9633eab087bc3af15e4db3d11bf24b746f8c3868
    Reviewed-on: https://gerrit.openafs.org/16007
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 141469dc16e2af16750ed89b9fa1443385b50e79
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jul 31 08:26:59 2024 +0000

    volinfo: Refuse zero and non-numeric -volumeid
    
    Currently, volinfo/volscan offers an optional -volumeid parameter,
    allowing users to specify the id of a single volume to generate output
    for. If this option is omitted, volinfo/volscan processes every volume
    in the specified partition, or all local partitions if no partition is
    specified. Internally, when the -volumeid parameter is not provided, its
    corresponding variable defaults to 0, which volinfo/volscan interprets
    as an indication to process all volumes.
    
    Unfortunately, if an invalid volume id is specified (e.g., a volume name
    instead of a number), volinfo/volscan incorrectly treats it as 0 and
    processes all volumes instead of validating the input and notifying the
    user. This issue occurs because strtoul(), the function used to convert
    the volume id string to a number, returns 0 when it fails to perform a
    valid conversion, leading volinfo/volscan to misinterpret invalid volume
    ids as 0.
    
    This commit fixes this issue by adding validation for the -volumeid
    option. It parses the result from strtoul() and returns an error if the
    volume id is invalid. This ensures that users are properly informed when
    an invalid id is provided, preventing unintended processing of all
    volumes in the given partition.
    
    Reviewed-on: https://gerrit.openafs.org/15771
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 4f8a5b1a2295ba37eb4cb0eda2c459f07ac4f09a)
    
    Change-Id: I068bd2ffa5e1e055b0e7fb3de874cc0bad0a3b71
    Reviewed-on: https://gerrit.openafs.org/15817
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2374d31de562a6aeec05ada7d9a0b8a3a8226f41
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 18 13:34:14 2023 -0500

    AIX: Don't specify -qlanglvl=stdc99 for libuafs
    
    Commit beff42414ae (aix-5-update-20041207) added -qlanglvl=stdc99 to
    our CFLAGS for libuafs, apparently to handle __file__ (or __FILE__) in
    afs_osi_pag.c.
    
    The clang-based xlc 17.1 on AIX does not understand this argument,
    which causes an error:
    
          CC  .../src/libuafs/afs_osi_pag.lo
        .ibm-clang: error: unknown argument: '-qlanglvl=stdc99'
    
    afs_osi_pag.c doesn't directly use __FILE__.  Various other files in
    src/afs indirectly reference __FILE__, so this probably is not needed
    at all anymore. Just remove it.
    
    Reviewed-on: https://gerrit.openafs.org/15447
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 895d82bae8737677134fc0b5b36104acb4d2b24b)
    
    Change-Id: I5a304393bf15ee6e08d9ae0df7ebfede3e7c5967
    Reviewed-on: https://gerrit.openafs.org/15812
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5cc6b04664ba1e952c16ed6accd71b16785aebcd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 18 13:10:08 2023 -0500

    AIX: Declare syscall()
    
    In various places, we make direct libafs syscalls. On platforms with a
    dedicated libafs syscall number, this involves passing AFS_SYSCALL to
    a generic OS-provided function that issues the given syscall (usually
    called syscall()).
    
    On AIX, there is no generic syscall() function for issuing system
    calls. Instead, system calls are treated like function calls, and are
    translated into system calls at link-time. So our calls to e.g.
    lpioctl() and lsetpag() are issuing system calls on AIX, and we have
    no userspace definition of these functions.
    
    Along with lpioctl() and lsetpag(), libafs also defines a system call
    confusingly named 'syscall'. Since this is our system call, of course
    the system headers provide no declaration for it, and so this causes
    errors when building using the clang-based xlc 17.1, such as:
    
            .../src/volser/volmain.c:195:2: error: call to undeclared function 'syscall'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                    syscall(AFS_SYSCALL /* AFS_SYSCALL */ , 28 /* AFSCALL_CALL */ , a3,
                    ^
    
    To avoid these errors, declare a prototype for syscall(). But be clear
    that this is a function (technically a system call) provided by
    OpenAFS, not by the OS.
    
    Ideally our prototype would match the definition of syscall() in
    afs_syscall.c, but our various callers pass a varying number of
    arguments (as is normal for syscall() on other platforms). So at least
    for now, declare it as a function with unspecified args.
    
    Reviewed-on: https://gerrit.openafs.org/15446
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 9c4ce09091a953a7062e8e451c0a4b5d4393db51)
    
    Change-Id: I5c4d51119feade1b3caab238daf87e1e5d4a2050
    Reviewed-on: https://gerrit.openafs.org/15811
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 82332cc6d045fe112d6d6d14c57e5e6a4c3bc016
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 18 12:43:19 2023 -0500

    AIX: Avoid COMPAT_43 for clang
    
    We currently define COMPAT_43 for AIX. This causes some socket-related
    structures and functions to be defined to be compatible with BSD 4.3,
    but causes us to not get function prototypes for recvmsg() and
    sendmsg(). When using the clang-based XLC 17.1, this causes errors:
    
        .../src/rx/rx_lwp.c:414:12: error: call to undeclared function 'recvmsg'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
            code = recvmsg(socket, msg_p, flags);
                   ^
        .../src/rx/rx_lwp.c:432:12: error: call to undeclared function 'sendmsg'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
            while (sendmsg(socket, msg_p, flags) == -1) {
                   ^
    
    To avoid this, don't define COMPAT_43. To try to make sure we don't
    change anything when using the old xlc, still define COMPAT_43 when
    we're not using clang.
    
    Reviewed-on: https://gerrit.openafs.org/15445
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 8207d4d74e6b243ace853f2c5fb6d44f22c7710f)
    
    Change-Id: Ifb1ddb117456c7674a07c2ebd692ac3e88428529
    Reviewed-on: https://gerrit.openafs.org/15810
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3869465a75650373915495aec6a0428e7fd21db7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 22 11:18:04 2023 -0400

    macos: Remove vestigial AFS_MOUNT_AFS references
    
    Commit 6b96a49eb6 "Retire AFS_MOUNT_AFS" removed all AFS_MOUNT_AFS
    references.  However, a few were inadvertently reintroduced with the
    following commits:
    
    f379e1b255 "macos: Add support for MacOS 14.X (Sonoma)"
    e5a97ef2b4 "macos: Add support for MacOS 13.0 (Ventura)"
    7a862f940b "macos: Add support for MacOS 12.0"
    39b74c2c37 "macos: Refactor param.x86_darwin_200.h"
    acc955bc17 "macos: add support for MacOS 11.0"
    
    Remove them.
    
    No functional change is incurred by this commit.
    
    [mmeffie: Remove ones added by 14.x too]
    
    Reviewed-on: https://gerrit.openafs.org/15453
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 3eb74d2b95d6651f96ce112fe2db455d4bc56b2a)
    
    Change-Id: Ifa69eafc10c5c73a0286912d6609f70855d666d9
    Reviewed-on: https://gerrit.openafs.org/15809
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b558769b77043acb2719b24d48643abbd717bef1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 29 15:29:14 2021 -0600

    LINUX: Test for rcu_read_unlock with rcu_read_lock
    
    If we're going to call rcu_read_lock(), we're also going to need to
    call rcu_read_unlock(). Make sure both functions are available before
    saying that rcu_read_lock is available.
    
    Without this, trying to use rcu_read_lock/unlock can result in errors
    during the kernel build for kernels where rcu_read_unlock calls
    rcu_read_unlock_strict (a GPLONLY function). This started in Linux
    commit aa40c138cc8f (rcu: Report QS for outermost PREEMPT=n
    rcu_read_unlock() for strict GPs), which was included in Linux 5.10.
    
    Reviewed-on: https://gerrit.openafs.org/14876
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit d9a9245f51b6ffaafa6021e4abe64bbfec0ee17b)
    
    Change-Id: I5da58531269ff87c0f5d6fd889157abe87960571
    Reviewed-on: https://gerrit.openafs.org/15808
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 11f4ffc7f623d286d260dab9346709f163c1f462
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 8 16:04:58 2023 -0500

    Remove almost all bcopy/bzero/bcmp calls
    
    Get rid of some remaining references to bcopy, bzero, and bcmp. In a
    few places (such as ka-forwarder.c, and linked_list.c), these were
    being called without including strings.h, which causes errors on AIX
    when using the clang-based xlc 17.1 compiler.
    
    Remove references even inside comments or documentation, to make it
    easier to make sure they've all been removed.
    
    Leave some references inside platform-specific or kernel code, since
    those are more likely to need bcopy() et al, and tend to only impact
    that platform.
    
    Note that most references to bcopy() et al were removed by commit
    c5c521af0e
    (convert-from-bsd-to-posix-string-and-memory-functions-20010807).
    
    Reviewed-on: https://gerrit.openafs.org/15432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 4fee9a2f9eceb88937f45b44340e567d8c945773)
    
    Change-Id: Ia209f518f2db9d1e6d87f0e825b6fad361f2901c
    Reviewed-on: https://gerrit.openafs.org/15807
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c9afe7026d9ad30ffe662723bd55f51a0df79010
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Apr 5 14:54:24 2024 -0400

    make-release: create SHA256 checksums too
    
    Check for utilities to create both MD5 and SHA256 message digest files.
    
    Search the PATH plus some common directories for the message digest
    utilities.
    
    Exit with an error at the end of make-release when one or more message
    digest files are not generated.
    
    In addition, omit the path component in the generated files by running
    the message digest utilities in the directory containing the files being
    checked.
    
    Before:
    
        $ make dist
        ...
        $ cat packages/openafs-1.9.1-333-g4bf33-doc.tar.gz.md5
        920793bcd7bd9bc8fbff9016ed2cc8bb  packages/openafs-1.9.1-333-g4bf33-doc.tar.gz
    
    After:
    
        $ make dist
        ...
        $ cat packages/openafs-1.9.1-333-g4bf33-doc.tar.gz.md5
        920793bcd7bd9bc8fbff9016ed2cc8bb  openafs-1.9.1-333-g4bf33-doc.tar.gz
    
    [mmeffie: Add change directories, search PATH, update commit message.]
    
    Reviewed-on: https://gerrit.openafs.org/14566
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 407c6371572b1b7e815f30c0718e14b1c6b385e5)
    
    Change-Id: I2fd0150267cb243b26fd515ab9a68c83ff3c0e70
    Reviewed-on: https://gerrit.openafs.org/15806
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e0626c45c6eac5aa560d6883ceab7993135d50f5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 16 09:41:41 2020 -0400

    make-release: Run git describe once
    
    Run git describe once at the beginning of make-release to find the
    version information used to derive the tarball file names and saved in
    the .version file.
    
    This is a cleanup and refactoring change to prepare for a future commit.
    
    Reviewed-on: https://gerrit.openafs.org/14150
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 188ca8bf5276084a6892e5cfba3e24e478804382)
    
    Change-Id: Ifb226ed80edd74dd66e5f88282b058492b52d5a0
    Reviewed-on: https://gerrit.openafs.org/15805
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 44895df543526d29eddca4a7e8f0a21b2e158a12
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 27 11:29:24 2020 -0400

    make-release: Create output directory if needed
    
    Automatically create the --dir directory if it does not already exist,
    which makes this script slightly easier to use. Remove the now
    uneeded mkdir from the top-level makefile.
    
    Reviewed-on: https://gerrit.openafs.org/14115
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d0753c0ace8e43a7dc1db35c3f41130352278c04)
    
    Change-Id: I91f8658b42835a6045eab3fafeab2bb977cbdb2d
    Reviewed-on: https://gerrit.openafs.org/15804
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7e87a0ea550cd2580b2facee36820eb71cd8cfb8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 16 07:21:51 2020 -0400

    make-release: Remove unused optional version argument
    
    The make-release help shows an optional version argument, but in fact
    the version info is always generated from the git tag name argument,
    which makes sense when creating releases.
    
    Continue to throw away the second positional argument just in case
    someone is still passing a second argument, but issue a warning if they
    do.
    
    Reviewed-on: https://gerrit.openafs.org/14149
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d20d392091a13c3944973bcb0ce84783a4e0d179)
    
    Change-Id: Iabdc3e9fe966da35744974c769da86c65380424f
    Reviewed-on: https://gerrit.openafs.org/15803
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 24ddb358e4e2c18a9fab649f1ea1b8250ec148b8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 16 07:37:39 2020 -0400

    make-release: Clean up whitespace and spelling
    
    Fix whitespace errors, convert tabs to spaces, fix spelling errors, and
    fix pod markup in the make-release script.
    
    Reviewed-on: https://gerrit.openafs.org/14148
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 46eb00ffa1c6d7deda2c1b1b4fa1780b36e64417)
    
    Change-Id: I13e48e28c4b9e30a550c4912609b7ac9a58ba952
    Reviewed-on: https://gerrit.openafs.org/15802
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 16b53b79ae420f66445ffd463fb8217a42a7e011
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 18 15:47:37 2023 -0500

    rx: Print free and allocated counters as unsigned values
    
    Commit b967654434 (rxdebug-print-values-unsigned-20090512) changed the
    output of rxdebug to print counters as unsigned values.  However, that
    commit missed changing the format of the "free" and "allocated" packets
    counters.
    
    Change the printf format specifiers of the "free" and "allocated" packet
    counters to print them as unsigned values.
    
    The free packets counter is stored as an afs_int32, which maybe a long
    on some platforms.  This counter was previously cast to an int type in
    commit 1d93f2da22eb (rx-warnings-and-prototyping-20010623) to avoid a
    format specifier warning.  Update the cast to an unsigned int to be
    clear this is an unsigned value.
    
    Reviewed-on: https://gerrit.openafs.org/15608
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit bee056613311c2a95f946c8eb25b6def97e7ec29)
    
    Change-Id: I14376240c059bb833648609e131719ada6bb74a8
    Reviewed-on: https://gerrit.openafs.org/15801
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 659f08df7f4bf8ff298ef37ac551a989f1fd9871
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Aug 15 16:08:18 2024 -0600

    rx: Remove includes for MIN/MAX in rx_packet.h
    
    The commit:
        "opr: replace MIN/MAX macros with opr_min/opr_max"
           (Change I2d7b54193ec91f7ead9c5c5f714d9a8bc7533bf7)
    replaced all uses of the MIN and MAX macros with opr_min and opr_max.
    
    The include for sys/param.h and sys/sysmacros.h in rx_packet.h are no
    longer needed for MIN/MAX.
    
    Remove the preprocessor conditionals and the includes for param.h and
    sysmacros.h.
    
    Reviewed-on: https://gerrit.openafs.org/15823
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d299dfbfe90482b26b5f5551eb5be1b8e76d6ac4)
    
    Change-Id: Ic1dec6f69bb8f9fd6eaffd0d893f0b2113193ae7
    Reviewed-on: https://gerrit.openafs.org/15855
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9de1b31c4891897169ae3dc36032760bd653ffde
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 20 18:31:43 2022 -0500

    rx: Use atomics for rx_securityClass refcounts
    
    Currently, the refCount in struct rx_securityClass is not protected by
    any locks. Thus, if two threads create or destroy a connection using
    the same rx_securityClass at the same time (or call rxs_Release), the
    refCount can become inaccurate. If the refCount is undercounted, we
    can prematurely free it while it's still referenced by other
    connections or services, leading to segfaults, data corruption, etc.
    
    For client connections, this can happen between any threads that
    create and destroy a connection using the same security class struct.
    For server connections, only two threads can race in this way: the rx
    listener thread (which creates connections), and the rx event thread
    (which destroys idle connections in rxi_ReapConnections).
    
    To fix this, ideally we would change the refCount field to be an
    rx_atomic_t. However, struct rx_securityClass is declared in the
    public installed rx.h header, which cannot include rx_atomic.h. So
    instead, change refCount users to go through a few new functions:
    rxs_Ref(), rxs_DecRef(), and rxs_SetRefs(). These functions interpret
    the refCount as an rx_atomic_t, and so allows callers to use safe
    refcounting without needing to call rx_atomic_* functions directly.
    
    Rename the existing refCount field to refCount_data, and declare it as
    a char[8]. This gives us enough space to use it as an rx_atomic_t, but
    avoids using rx_atomic_t in a public header, and discourages callers
    from manipulating the refCount directly.
    
    Thanks to mvitale@sinenomine.net for helping investigate the relevant
    issue.
    
    Reviewed-on: https://gerrit.openafs.org/15158
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 9d7b94493c3d0230c15417436885a4211caeb411)
    
    [cwills@sinenomine.net] Changes to rxgk/rxgk_client.c and
    rxgk/rxgk_server.c are not applicable to 1.8.x
    
    Change-Id: I37d6944daa155a47ba1b8a0e717af7b5753a7b41
    Reviewed-on: https://gerrit.openafs.org/15850
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0f610fb5ad52ad5d188ea0104e9cadb7fac0fae1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 12 14:42:33 2022 -0500

    rxkad: Consolidate refCount decrement
    
    To make code changes easier, all rxkad code that deals with
    incrementing/decrementing the rx_securityClass refCount should be done
    in the same place. Right now, there's only one incrementing code path,
    but there are two decrement code paths that are duplicated. Change the
    rxkad_DestroyConnection refCount-handling logic to just call
    rxkad_Close(), since the behavior is identical.
    
    Reviewed-on: https://gerrit.openafs.org/15153
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f2831d109d7a111a1dbdce33e02bcea560127206)
    
     Conflicts:
            src/rxkad/rxkad_common.c
                In 1.8.x, the function rxkad_DestroyConnection() still needs to
                return a value, because the master commit
                'rx: Do not ignore RXS_* op errors' (635594d6cceba) is not
                in 1.8.x.
    
    Change-Id: I097976505ee16d3f8209aa1ff3a82d675ff95ec8
    Reviewed-on: https://gerrit.openafs.org/15851
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit 1d73cc339095e13b99f83ffff81079cc4d300189
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 23 15:46:16 2019 -0500

    Do not build shared-only libs for --disable-shared
    
    Commit 0f1e54c4 (Pass -shared when linking some shared libraries)
    changed some of our linking rules to pass -shared to libtool when
    linking. When building with the --disable-shared configure option,
    this causes those linker rules to fail, since shared libraries are
    disabled. Before commit 0f1e54c4, we could build with --disable-shared
    successfully.
    
    To allow us to build again with --disable-shared, just don't build the
    relevant shared-only libraries at all, when shared libraries are
    disabled. To accomplish this, introduce a new substitution variable,
    SHARED_ONLY, which allows certain lines in Makefiles to become
    commented-out when shared libraries are disabled. Update all of the
    shared-only libraries to be built conditionally based on this
    variable.
    
    Except for libuafs.la, which appears to be not referenced by anything.
    Just remove the rules for that instead.
    
    Reviewed-on: https://gerrit.openafs.org/13927
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 10d176afd23bbf684017a7946dffb1d592ea04fa)
    
    Change-Id: I1f4c6601a6af2fd8b47469fac32db3dbe377a8e9
    Reviewed-on: https://gerrit.openafs.org/16099
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit de1d0ce9c3705670c1f0c974006b5bbc7c747864
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 7 13:02:21 2020 -0600

    libtool: Serialize building libfoo.la and libfoo.a
    
    We have a few libraries where we have separate targets to build
    libfoo.la (to get libfoo.so) and libfoo.a. Currently, these targets
    can be built in parallel, and both are built with libtool. This can
    cause problems because of two behaviors with libtool:
    
    - When running --mode=link for libfoo.a or libfoo.la, it effectively
      runs 'rm -rf .libs/libfoo.*' to clean up its work area.
    
    - When running --mode=link for libfoo.a, libtool sets up some scratch
      space in .libs/libfoo.ax to unpack various static libs.
    
    So when 'make libfoo.a' is running, libtool creates a .libs/libfoo.ax
    dir, and unpacks various object files inside of it. If while that is
    running, 'make libfoo.la' runs, it causes libtool to remove that
    directory and all its contents. This causes 'make libfoo.a' to fail
    with confusing messages like this (for libafsrpc.a):
    
        /bin/sh ../../libtool --quiet --mode=link --tag=CC  gcc -static   -O  -o libafsrpc.a [...]
        find: '.libs/libafsrpc.ax/libopr_pic.a': No such file or directory
        ar: .libs/libafsrpc.ax/libfsint_pic.a/afscbint.cs.o: No such file or directory
        make[3]: *** [Makefile:59: libafsrpc.a] Error
    
    To avoid this, prevent building libfoo.la and libfoo.a at the same
    time, by just making libfoo.la depend on libfoo.a. Do this for all of
    the libraries we build in this way: libafshcrypto, libkopenafs,
    libafsauthent, and libafsrpc.
    
    Reviewed-on: https://gerrit.openafs.org/14017
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 48d181ca1f4d753a51305d0352dadefed4323c00)
    
    Change-Id: Idca8ff9d69441325a835e6f866a2cc7732d5e258
    Reviewed-on: https://gerrit.openafs.org/16117
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6e2b61ddfbb26d4316134a5cb6d5e4de24f5c8cd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 15 11:43:30 2025 -0700

    tests: Fix manpage tests for objdir builds
    
    The manpage tests have a couple of problems when running for objdir
    builds:
    
    - We try to specify './tests-lib/perl5' as a directory to find our
      helper library. However, the cwd when we're running the tests is in
      an objdir build, where the helper library is in the srcdir. Fix this
      by using the SOURCE env var specified by the tests wrapper.
    
    - All of these tests specify the directory in which to find the man
      pages in a subdir of BUILD, but our manpages are located in the src
      dir (since they are built by regen.sh, not by configure/make). Fix
      this by specifying a SOURCE-based directory instead.
    
    To avoid needing to make the same change for each of these tests, also
    refactor the manpage tests so each test only needs to specify the
    subdirectory and command name, and get rid of some of the common
    boilerplate.
    
    Reviewed-on: https://gerrit.openafs.org/13940
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0b8b6683fb525bbeaf118014beb2371e0cf23d90)
    
     Conflicts:
            tests/bozo/bos-man-t
            tests/bucoord/backup-man-t
            tests/kauth/kas-man-t
            tests/ptserver/pts-man-t
            tests/venus/fs-man-t
            tests/volser/vos-man-t
    
    cwills@sinenomine.net
    conflicts are due the different order  of commits.  In master the
    commit:
        "tests: Fix manpage tests for objdir builds" (0b8b6683fb525)
    is applied before
        "tests: Accommodate c-tap-harness 4.7" (624219a1b2192).
    In 1.8.x the commit:
        "tests: Accommodate c-tap-harness 4.7" (0453c15b2a2cb)
    is already present.
    
    Change-Id: I065c6e4e16619bd90c8cf8d28fa5b5cddd67c410
    Reviewed-on: https://gerrit.openafs.org/16092
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cd6331800578ae6d34c56964bd55fdb1a5149cd4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 15 11:23:00 2025 -0700

    tests: Fix most tests for objdir builds
    
    Fix a few miscellaneous issues with building and running our tests in
    objdir builds:
    
    - Our C tests use -I$(srcdir)/../.. in the CFLAGS, so we can #include
      <tests/tap/basic.h>. However, basic.h actually gets copied from
      src/external/c-tap-harness/tests/tap/ to tests/tap/ during the
      build, and so basic.h is available in the objdir, not srcdir. For
      objdir builds, this causes building the tests to fail with failing
      to find basic.h. Fix this to use TOP_OBJDIR as the include path
      instead.
    
    - Our 'make check' in tests/ tries to run ./libwrap; but our cwd will
      be in the objdir for objdir builds, and libwrap is a script in our
      srcdir. Fix this to run libwrap from the srcdir path.
    
    - In tests/opr/softsig-t, it tries to find the 'softsig-helper' binary
      in the same dir as 'softsig-t'. However, softsig-t is just a script
      in the srcdir, but softsig-helper is a binary built in the objdir.
      Fix this to use the BUILD env var provided by the tests wrapper, by
      default.
    
    Reviewed-on: https://gerrit.openafs.org/13939
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f4ab3767b7e65028b93e731da6f09ee385c51daf)
    
    [cwills@sinenomine.net] - A change is required in tests/opr/softsig-t
    
    The change is required due to different order of commits.  In master the
    commit:
        "tests: Fix most tests for objdir builds" (f4ab3767b7e65)
    is applied before
        "tests: Accommodate c-tap-harness 4.7" (624219a1b2192).
    In 1.8.x the commit:
        "tests: Accommodate c-tap-harness 4.7" (0453c15b2a2cb)
    is already present.
    
    Change-Id: Ide0d2028ec936f047e6cda5e29257cb0d263fde8
    Reviewed-on: https://gerrit.openafs.org/16091
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 84affc46686ff9c3f67b6c66117e6dd654f19638
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 16 12:48:21 2019 -0500

    Pass -shared when linking some shared libraries
    
    Currently, we use $(LT_LDLIB_shlib) to build most of our shared
    libraries. This invokes libtool, passing our various flags like
    PTH_LDFLAGS and PTH_CFLAGS (since all of our shared-library code is for
    pthreads). Notably, we do NOT pass the -shared flag; the -shared flag
    tells libtool to only build a shared library, and to not also build a
    static library (on systems where libtool supports building shared and
    static libraries simultaneously). Because of this, our LT_LDLIB_shlib
    invocations build both, which is reasonably correct for our per-module
    convenience libraries (that end up getting linked statically into the
    binaries that we install), but is not entirely correct for the public
    libraries that we install.  Specifically, for ABI compatibility
    purposes, we must provide both shared and static libraries of the public
    libraries that we install, and since libtool on AIX does not build (or
    install) a static library at all with --mode-link unless -static is
    passed, we have separate rules to build the shared and static libraries
    for final installation.
    
    This can cause install errors with parallel make (on non-AIX systems),
    and possibly other errors, when we go to install the relevant library
    into TOP_LIBDIR.  For example, in src/kopenafs, we have the following
    rules:
    
        ${TOP_LIBDIR}/libkopenafs.${SHLIB_SUFFIX}: libkopenafs.la
                ${LT_INSTALL_DATA} libkopenafs.la ${TOP_LIBDIR}/libkopenafs.la
                ${RM} ${TOP_LIBDIR}/libkopenafs.la
    
        ${TOP_LIBDIR}/libkopenafs.a: libkopenafs.a
                ${INSTALL_DATA} libkopenafs.a $@
    
    The rule to install libkopenafs.so will invoke libtool to do the
    install, which will install libkopenafs.so, libkopenafs.so.X.Y, and
    libkopenafs.a (from .libs/libkopenafs.a, not the libkopenafs.a we
    built separately). If we are running the rule to install libkopenafs.a
    in parallel, it may fail with an error like so:
    
        /usr/bin/install -c -m 644 libkopenafs.a /home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a
        /usr/bin/install: cannot create regular file '/home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a': File exists
        make[3]: *** [Makefile:35: /home/buildbot/openafs/fedora26-x86_64/build/lib/libkopenafs.a] Error 1
    
    Even without that error, this confusion means that the libkopenafs.a
    installed into TOP_LIBDIR may be the one from
    src/kopenafs/libkopenafs.a, or the one from libtool's
    src/kopenafs/.libs/libkopenafs.a; it depends on what order the rules
    are run. If those libraries are different, that could potentially
    cause all sorts of other problems.
    
    To avoid this, we can pass -shared to libtool when building our shared
    libraries. We used to pass -shared when building shared libraries,
    since -shared is almost always one our SHLIB_LDFLAGS set in
    src/osconf.m4. However, ever since commit 2c3a517e (Retire
    Makefile.shared), SHD_CFLAGS, SHD_LDFLAGS, and SHD_CCRULE have all
    been unused, and SHD_LDFLAGS was the only place where we used
    SHLIB_LDFLAGS. As a result, we never use SHLIB_LDFLAGS anywhere, and
    so we never pass -shared to anything.
    
    However, we cannot pass -shared to libtool when building all of our
    shared libraries, since we do need the static library for our per-module
    convenience libraries. For example, liboafs_rx.la has no
    separately-built static library (librx.a is for LWP, liboafs_rx.{so,a}
    is for pthreads), but liboafs_rx needs to be linked statically into all
    of our command-line tools.
    
    So to fix this, introduce a new linking rule, called
    LT_LDLIB_shlib_only, which causes the given library to be built only
    as a shared library (by giving -shared to libtool), and not as a
    static library. Update the build rules to use this new linking rule
    for the libraries that need it, and leave the others alone. Since the
    only use of LT_LDLIB_shlib_missing is also used for a public library
    (afshcrypto), also pass -shared in that rule.
    
    Also remove SHD_* and SHLIB_LDFLAGS variables, since they are unused.
    
    Reviewed-on: https://gerrit.openafs.org/13786
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0f1e54c47c179bdbd69799170d9740e3e58e86db)
    
    Change-Id: I9254ae91fe160a17fcfa4cbb55d0fe6909eb2302
    Reviewed-on: https://gerrit.openafs.org/16098
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8c7330cc8c9b20cb1c023564da1272b03853164b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 8 13:57:05 2024 -0400

    doc: Add section 3 man pages to AdminRef
    
    The section 3 man pages are missing in the AdminRef document, so add
    section 3 to the Makefile and perl script which generates the AdminRef
    doc.
    
    Currently, the only man page in section 3 is the AFS::ukernel, so only
    one page is missing.
    
    Reviewed-on: https://gerrit.openafs.org/15828
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7dc8a7ddc204766f1c083919c8732920b0552a68)
    
    Change-Id: I960a671f1b02789f7427dba15459e9f2568d152b
    Reviewed-on: https://gerrit.openafs.org/16026
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 239f3d538e2293332b94e14c42f5c953d49464b9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 8 14:49:15 2024 -0400

    doc: Add AdminRef .gitignore file
    
    Add a .gitignore file to the AdminRef directory to ignore generated
    files.
    
    Reviewed-on: https://gerrit.openafs.org/15826
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 1bcc1e54a5a87da91c3108d836921361ac13c3d8)
    
    Change-Id: Ie3d84c0ad13ec2ad70d01c542fcab7a273b6b6c2
    Reviewed-on: https://gerrit.openafs.org/16118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d9acc8f7fa86f42ae223b951a8464c4f63a7d194
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat May 11 16:09:15 2024 -0500

    doc: Fix doc/xml for objdir builds
    
    Fix various issues so that building the documentation in doc/xml works
    for objdir builds:
    
    - set srcdir=@srcdir@ like all other Makefile's, so VPATH is set
      correctly via Makefile.config
    
    - Pass "--path '@abs_builddir@'" to all xml/xsl processors, so they
      can find the generated version.xml (otherwise they only look in
      srcdir)
    
    - Pass --output when building PDFs, so the generated PDF doesn't go in
      srcdir
    
    - Specify $(srcdir) for $(BOOK).xml and generate-xml.pl
    
    - Change generate-xml.pl to find pod2refentry in srcdir instead of '.'
    
    Reviewed-on: https://gerrit.openafs.org/15856
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit d86c4d632edd25bf1f6e4c1dc44c10eff309bf4a)
    
    Change-Id: Ic628aa4d32b5d978a16d9fdc9125908b9f96b12f
    Reviewed-on: https://gerrit.openafs.org/16027
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3df74018300b8894a6cbfdb39bbb204cb2320586
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 8 14:40:28 2024 -0400

    doc: Sort man page entries in AdminRef
    
    The AdminRef is a collection of OpenAFS man pages in a single document.
    Unfortunately, the man pages are not listed in any particular order, but
    rather just the order found by reading the unsorted directory entries.
    
    Change the generate-xml script so the man pages are in sorted order in
    the generated AdminRef document.  Instead of writing the man page
    references after processing each page, save each entry in a list, and
    then sort the list after all the pages have been processed.
    
    Also, check the exit code of the pod2refentry script so errors are not
    ignored while generating the AdminRef document.
    
    Reviewed-on: https://gerrit.openafs.org/15827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 6ff968264fd31abb7ab6e80dfb8d4906a83fa960)
    
    Change-Id: I6e4617b86b06d8721bf3dbf595217058511ec6b7
    Reviewed-on: https://gerrit.openafs.org/16025
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6c696aaa639dfc63f97920d1c37e35fd457254e3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 12 15:35:01 2021 -0500

    doc: Look in $srcdir for documentation sources
    
    In several places, we look for documentation source files in e.g.
    'doc/man-pages', 'doc/xml', etc. But if we are running an objdir
    build, those directories won't exist relative to the current working
    directory; we need to look in $srcdir to find them.
    
    So, if we're running an objdir build, our man pages and other
    documentation won't be installed. We don't report any error in this
    case (the relevant steps are just skipped), since building the
    documentation is optional, in case the doc sources are not present.
    
    To fix this, look in $srcdir in the various places that reference doc
    source files. Fixing the 'for' loops in the 'dest' and 'install'
    targets in doc/man-pages requires some extra cd'ing around, because $M
    is used as part of another path in the body of the loop.
    
    Reviewed-on: https://gerrit.openafs.org/14622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0881560e77d9d9f545eeaeeec730739dcece7c2f)
    
    Change-Id: Ibb843e1d4acc373442b77e5f0884402828fcc992
    Reviewed-on: https://gerrit.openafs.org/16115
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 97ce58c6f02418d0d78bd79ec0aad1aeb50a2779
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 16 11:37:32 2025 -0700

    Make OpenAFS 1.8.13.2
    
    Update version strings for the 1.8.13.2 release.
    
    Change-Id: Ia1c6187bf8620c87cdb0b3b2198cd3967d85e333
    Reviewed-on: https://gerrit.openafs.org/16110
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ab080eb409accd25ea8ed0ded66d8f402721ac63
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 16 11:34:31 2025 -0700

    Update NEWS for OpenAFS 1.8.13.2
    
    Change-Id: I548d478d7887893ae7323e04ef8602e29ae9f312
    Reviewed-on: https://gerrit.openafs.org/16109
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6e32ca812974708006e1f9a92f0e0101c53e21a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 7 13:24:29 2025 -0600

    LINUX: Symlink src/libafs/AFS_cvn.c
    
    Currently, make_kbuild_makefile.pl generates a Makefile for building our
    Linux kernel module by listing our various objects in 'openafs-objs',
    and symlinking the relevant source file from src/foo/bar.c into
    MODLOAD-*/bar.c. For example, src/libafs/MODLOAD-*/afs_init.c is a
    symlink to src/afs/afs_init.c.
    
    We determine where each source file lives by looking at our Makefile
    rules. This works for all of our source files, except
    AFS_component_version_number.c, which has no single location in the
    tree, but is built inside every subsystem. For
    AFS_component_version_number.c, we don't make a symlink, but instead
    copy the rules from Makefile.version so that
    AFS_component_version_number.c is generated locally, and does not use a
    symlink like our other source files.
    
    The rules in Makefile.version look like this:
    
    AFS_component_version_number.o: AFS_component_version_number.c
    AFS_component_version_number.c: [...]/src/config/Makefile.version
            [logic to generate AFS_component_version_number.c]
    
    But for the Linux build before Linux 6.13, that doesn't work as-is
    because the Linux buildsystem is not running in our MODLOAD directory,
    but inside the Linux source tree. So, to make this work,
    make_kbuild_makefile.pl modifies the rules so they look like this:
    
    /path/to/src/libafs/MODLOAD-x.y.z/AFS_component_version_number.o: /path/to/src/libafs/MODLOAD-x.y.z/AFS_component_version_number.c
    /path/to/src/libafs/MODLOAD-x.y.z/AFS_component_version_number.c: [...]/src/config/Makefile.version
            [logic to generate AFS_component_version_number.c]
    
    Which works, before Linux 6.13. After the build runs, our source files
    look like this, for example:
    
      $ ls -l src/libafs/MODLOAD-*/AFS_component_version_number.c src/libafs/MODLOAD-*/afs_init.c
      -rw-r--r-- 1 [...] src/libafs/MODLOAD-x.y.z/AFS_component_version_number.c
      lrwxrwxrwx 1 [...] src/libafs/MODLOAD-x.y.z/afs_init.c -> /path/to/src/afs/afs_init.c
    
    With Linux 6.13, Linux changed how the kbuild process builds external
    kernel modules with this commit:
    
     'kbuild: change working directory to external module directory with M='
     (13b25489b6f8)
    
    which is followed by additional follow-up changes within the merge
    commit:
    
     Merge tag 'kbuild-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
    
     Pull Kbuild updates from Masahiro Yamada:' (6a34dfa15d6e)
    
    With these changes, our working directory is now src/libafs/MODLOAD-*
    when building the openafs kernel module, and we try to build
    AFS_component_version_number.o instead of
    /path/to/.../AFS_component_version_number.o. As a result, 'make' doesn't
    know how to generate AFS_component_version_number.c, and the build
    fails:
    
      make[8]: *** No rule to make target 'AFS_component_version_number.o', needed by 'openafs.o'.  Stop.
      make[7]: *** [/usr/src/linux-6.13/Makefile:1989: .] Error 2
      make[6]: *** [/usr/src/linux-6.13/Makefile:251: __sub-make] Error 2
      make[5]: Leaving directory '/usr/src/linux-6.13/'
      FAILURE: make exit code 2
      make[4]: Leaving directory '/home/../openafs/src/libafs/MODLOAD-6.13.0-rc2-SP'
      make[4]: *** [Makefile.afs:283: openafs.ko] Error 1
    
    To fix this, change make_kbuild_makefile.pl to create a symlink for
    AFS_component_version_number.c just like it does for all other source
    files. Use a target of src/libafs/AFS_component_version_number.c, and
    make sure that AFS_component_version_number.c is generated for the
    'setup' libafs target.
    
    We have to hard-code this special case for
    AFS_component_version_number.c, since none of our Makefile rules specify
    a full path to AFS_component_version_number.c as a dependency for
    AFS_component_version_number.o. But otherwise,
    AFS_component_version_number.c is now treated the same as all other
    source files.
    
    With this commit, our source files now look like this:
    
      $ ls -l src/libafs/MODLOAD-*/AFS_component_version_number.c src/libafs/MODLOAD-*/afs_init.c
      lrwxrwxrwx 1 [...] src/libafs/MODLOAD-x.y.z/AFS_component_version_number.c -> /path/to/src/libafs/AFS_component_version_number.c
      lrwxrwxrwx 1 [...] src/libafs/MODLOAD-x.y.z/afs_init.c -> /path/to/src/afs/afs_init.c
    
    Remove the make_kbuild_makefile.pl code that copies the Makefile.version
    rules, since AFS_component_version_number.c is not generated locally
    anymore.
    
    Written in collaboration with cwills@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/16034
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 5b01ee836dae38235a84151dfec1a42166b7f13f)
    
    Change-Id: Ic94d525a24b53195f010d3530d6f15cb4ad1e430
    Reviewed-on: https://gerrit.openafs.org/16063
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 47a0d3b41db980934bb6dd67141cdae5dc6dd0c9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Nov 16 16:48:09 2024 -0500

    Make OpenAFS 1.8.13.1
    
    Update version strings for the 1.8.13.1 release.
    
    Change-Id: I1ac3c3bb0463d1bb6ab1b8e81ea2cb89ec0a4cf4
    Reviewed-on: https://gerrit.openafs.org/15969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b116bb57c3193a67dae4f245df6e835ff4437dfe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Nov 16 16:12:40 2024 -0500

    Update NEWS for OpenAFS 1.8.13.1
    
    Change-Id: Id2642ebd55fe52d7809a5a4c7ef2d272629da78b
    Reviewed-on: https://gerrit.openafs.org/15968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c7831070c877331cf16ae440161f11c35d0ea05d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 8 21:16:21 2024 -0700

    Linux: Use folios for aops->write_begin/end
    
    Linux-6.12 commit 'fs: Convert aops->write_begin to take a folio'
    (1da86618bdce3) changed the address_space_operations's members
    write_begin and write_end to use a folio instead of a page.
    
    Add configure check to test the signature for aop's write_begin and
    write_end members to see if they take a folio parameter.
    
    Update the afs_linux_write_begin and afs_linux_write_end functions to
    use a folio instead of a page.
    
    Reviewed-on: https://gerrit.openafs.org/15898
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 1ccc87bbdca3a616ecef9eb25b6555f5fd2b579f)
    
    Change-Id: Id0fd216e2a27ef3fe157b5d453ae21455148a1e4
    Reviewed-on: https://gerrit.openafs.org/15966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b77eebc613ea771ef6065106837406a34a6a9f58
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Nov 7 16:59:41 2024 -0700

    Linux: Refactor afs_linux_write_begin() variants
    
    The function afs_linux_write_begin() has 2 preprocessor selected
    implementations, one to handle the case where write_begin has a flag
    parameter and the other where it doesn't.
    
    Refactor the code to combine the 2 implementations using preprocessor
    conditionals for the function declaration and within the body of the
    function as needed.
    
    There are no functional changes.
    
    This refactoring is in preparation for additional changes that will be
    made to the afs_linux_write_begin() function.
    
    Reviewed-on: https://gerrit.openafs.org/15897
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    (cherry picked from commit 2f96f95229b997a1b523f84fcb20b0d2082f0849)
    
    Change-Id: Id0a8809fcbf3d415154b607223b9480ac45cd6cd
    Reviewed-on: https://gerrit.openafs.org/15965
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1a6fa84c97943047cde7e4ad3cee274200595504
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 8 21:32:46 2024 -0700

    Linux: Define Clear/Set PageError macros as NOPs
    
    The Linux 6.12 commit 'mm: remove PG_error' (09022bc196d23) removed
    the PG_error page flag and the associated ClearPageError() and
    SetPageError() functions (via removing the PAGEFLAG(Error, ...) macro).
    The PG_error flag has not been used by core VFS/MM Linux code for some
    time, possibly ever, and so our calls to these functions do not have any
    practical effect, since we also do not check for the PG_error flag.
    While we could simply remove these calls, play it safe and keep them
    around until ClearPageError()/SetPageError() are removed.
    
    The specific semantics of the PG_error flag are not completely well
    defined in the Linux kernel, which appears to be one of the motivations
    for its removal. Some Linux commits that mention some details on how the
    flag is not useful for read errors include:
    
      7edf1ec5b249 ceph: don't SetPageError on readpage errors
      41a638a1b3fc affs: convert affs_symlink_read_folio() to use the folio
      2b2553f12355 btrfs: stop setting PageError in the data I/O path
    
    Add a configure test to see if ClearPageError()/SetPageError() are
    available in the Linux kernel; if they are not, define
    ClearPageError()/SetPageError() as no-ops.
    
    Reviewed-on: https://gerrit.openafs.org/15876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit ec146905313aaef5998b7bdfe44e86ce541a73cf)
    
    Change-Id: I2c65a2a9efe380cd2ba211ae033392fc0597b898
    Reviewed-on: https://gerrit.openafs.org/15964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b151451269ec41b5723484596e7dd40f9ab8824a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 12 20:29:24 2024 -0600

    ptserver: Add xdr_namelist to liboafs_prot.la.sym
    
    Commit 1f5e1ef9e3 (OPENAFS-SA-2024-003: Run xdr_free for retried RPCs)
    added a couple of references to xdr_namelist, which currently causes a
    build failure on AIX:
    
        /bin/sh ../../libtool --quiet --mode=link --tag=CC   xlc_r [...]  -o pts pts.o  ../../src/ptserver/liboafs_prot.la [...]
        ld: 0711-317 ERROR: Undefined symbol: xdr_namelist
        ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
        make: 1254-004 The error code from the last command is 8.
    
    To avoid this, add xdr_namelist to liboafs_prot.la.sym.
    
    Reviewed-on: https://gerrit.openafs.org/15954
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 4f82b5bd49a3c83c990d64d06cb6389969826208)
    
    Change-Id: I8a7272d1b94bd02295ef63b70a4247a4cf6e70f6
    Reviewed-on: https://gerrit.openafs.org/15955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c1beae2622fe6fbdda2353a7da2090fc23595617
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Nov 8 14:03:53 2024 -0800

    Make OpenAFS 1.8.13
    
    Update version strings for the 1.8.13 release.
    
    Change-Id: Ic7f75226f3ba0f51f17c8e123c8cdbdab3ff6c7f
    Reviewed-on: https://gerrit.openafs.org/15949
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7ad61adb706bd53be287f8620ac67720434b3c24
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Nov 8 13:57:28 2024 -0800

    Update NEWS for OpenAFS 1.8.13
    
    Change-Id: I8e25f6d4719f403b07a8faad733d858a8872620f
    Reviewed-on: https://gerrit.openafs.org/15948
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 37e585f0841803cdf3a1f99770034890ba162d7c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 15 21:07:17 2020 -0500

    OPENAFS-SA-2024-003: xdr: Initialize memory for INOUT args
    
    CVE-2024-10397
    
    Currently, there are a few callers of RPCs that specify some data for
    an INOUT parameter, but do not initialize the memory for that data.
    This can result in the uninitialized memory being sent to the peer
    when the argument is processed as an IN argument. Simply clear the
    relevant data before running the RPC to avoid this.
    
    The relevant RPCs and arguments are:
    
    - For RMTSYS_Pioctl, the 'OutData' argument.
    
    - For BUDB_GetVolumes, the 'volumes' argument.
    -- via DBLookupByVolume -> bcdb_LookupVolume -> ubik_BUDB_GetVolumes
    -- and via bc_Restorer -> bcdb_FindVolumes -> ubik_BUDB_GetVolumes
    
    - For KAA_Authenticate_old / KAA_Authenticate, this can happen with
      the 'answer' argument in ka_Authenticate if KAA_AuthenticateV2 or
      KAA_Authenticate return RXGEN_OPCODE, but the server manages to
      populate oanswer.SeqLen with non-zero.
    
    For all of these, make sure the memory is blanked before running the
    relevant RPC. For ka_Authenticate, reset oanswer.SeqLen to 0 to avoid
    sending any data, but still blank 'answer' and 'answer_old' just to be
    safe.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15925
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c4e28c2afe743aa323be57ef3b0faec13027e678)
    
    Change-Id: If44320c1efde98c53eed88099cd978ef89f4c0d8
    Reviewed-on: https://gerrit.openafs.org/15947
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4871f8ad2775e97bb85ff7efc33a4ad8d3f6d9d1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 16 10:55:15 2020 -0500

    OPENAFS-SA-2024-003: sys: Don't over-copy RMTSYS_Pioctl output data
    
    CVE-2024-10397
    
    Here, 'OutData' only has OutData.rmtbulk_len bytes in it. We know that
    OutData.rmtbulk_len is at most data->out_size, but it could be
    smaller. So, only copy OutData.rmtbulk_len bytes, not data->out_size,
    since data->out_size could be more than the number of bytes we have
    allocated in OutData.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15924
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f31a79d749abc8e64a8d9ac748bb2b5457875099)
    
    Change-Id: Ic05751d05c7c8862770188131110cc602c9b93b7
    Reviewed-on: https://gerrit.openafs.org/15946
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 25ad3931d5c03ead625a96e6b626febeb3e20453
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 16 10:52:03 2020 -0500

    OPENAFS-SA-2024-003: Run xdr_free for retried RPCs
    
    CVE-2024-10397
    
    A few areas of code retry the same RPC, like so:
    
        do {
            code = VL_SomeRPC(rxconn, &array_out);
        } while (some_condition);
        xdr_free((xdrproc_t) xdr_foo, &array_out);
    
    Or try a different version/variant of an RPC (e.g.
    VLDB_ListAttributesN2 -> VLDB_ListAttributes).
    
    If the first RPC call causes the output array to be allocated with
    length N, then the subsequent RPC calls may fail if the server
    responds with an array larger than N.
    
    Furthermore, if the subsequent call responds with an array smaller
    than N, then when we xdr_free the array, our length will be smaller
    than the actual number of allocated elements. That results in two
    potential issues:
    
    - We'll fail to free the elements at the end of the array. This is
      only a problem if each element in the array also uses
      dynamically-allocated memory (e.g. each element contains a string or
      another array). Fortunately, there are only a few such structures in
      any of our RPC-L definitions: SysNameList and CredInfos. And neither
      of those are used in such a retry loop, so this isn't a problem.
    
    - We'll give the wrong length to osi_free when freeing the array
      itself. This only matters for KERNEL, and only on some platforms
      (such as Solaris), since the length given to osi_free is ignored
      everywhere else.
    
    To avoid these possible issues, change the relevant retry loops to
    free our xdr-allocated arrays on every iteration of the loop, like
    this:
    
        do {
            xdr_free((xdrproc_t) xdr_foo, &array_out);
            code = VL_SomeRPC(rxconn, &array_out);
        } while (some_condition);
        xdr_free((xdrproc_t) xdr_foo, &array_out);
    
    Or like this:
    
        do {
            code = VL_SomeRPC(rxconn, &array_out);
            xdr_free((xdrproc_t) xdr_foo, &array_out);
        } while (some_condition);
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15923
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1f5e1ef9e35f6b5e8693c91199c976d5e030c0d0)
    
    Change-Id: I77ce3a904d502784cbf356e113972dfab838256e
    Reviewed-on: https://gerrit.openafs.org/15945
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit a82212ab20f0635a40c52648a52a1e9eaccc4937
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 15 20:30:14 2020 -0500

    OPENAFS-SA-2024-003: xdr: Ensure correct string length in xdr_string
    
    CVE-2024-10397
    
    Currently, if a caller calls an RPC with a string output argument,
    like so:
    
    {
        char *str = NULL;
        code = RXAFS_SomeCall(&str);
        /* do something with 'str' */
        xdr_free((xdrproc_t) xdr_string, &str);
    }
    
    Normally, xdr_free causes xdr_string to call osi_free, specifying the
    same size that we allocated for the string. However, since we only
    have a char*, the amount of space allocated for the string is not
    recorded separately, and so xdr_string calculates the size of the
    buffer to free by using strlen().
    
    This works for well-formed strings, but if we fail to decode the
    payload of the string, or if our peer gave us a string with a NUL byte
    in the middle of it, then strlen() may be significantly less than the
    actual allocated size. And so in this case, the size given to osi_free
    will be wrong.
    
    The size given to osi_free is ignored in userspace, and for KERNEL on
    many platforms like Linux and DARWIN. However, it is notably not
    ignored for KERNEL on Solaris and some other less supported platforms
    (HPUX, Irix, NetBSD). At least on Solaris, an incorrect size given to
    osi_free can cause a system panic or possibly memory corruption.
    
    To avoid this, change xdr_string during XDR_DECODE to make sure that
    strlen() of the string always reflects the allocated size. If we fail
    to decode the string's payload, replace the payload with non-NUL bytes
    (fill it with 'z', an arbitrary choice). And if we do successfully
    decode the payload, check if the strlen() is wrong (that is, if the
    payload contains NUL '\0' bytes), and fail if so, also filling the
    payload with 'z'. This is only strictly needed in KERNEL on certain
    platforms, but do it everywhere so our behavior is consistent.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15922
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7d0675e6c6a2f3200a3884fbe46b3ef8ef9ffd24)
    
    Change-Id: Ieb8827474a7458ce80176b14ce87f3402aed7a86
    Reviewed-on: https://gerrit.openafs.org/15944
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0ff2cd9e0f5656e8327c5fe47935998de3669678
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 15 23:18:53 2020 -0500

    OPENAFS-SA-2024-003: Check sanity on lengths of RPC returned arrays
    
    CVE-2024-10397
    
    Various RPCs return a variable-length array in an OUT argument, but
    are only supposed to return specific sizes. A few instances of this
    include the following (but this is not an exhaustive list):
    
    - AFSVolListOneVolume should only return a single volintInfo.
    
    - PR_NameToID should return the same number of IDs as names given.
    
    - VL_GetAddrsU should return the same number of addresses as the
      'nentries' OUT argument.
    
    Some callers of these RPCs just assume that the server has not
    violated these rules. If the server responds with a nonsensical array
    size, this could cause us to read beyond the end of the array, or
    cause a NULL dereference or other errors.
    
    For example, some callers of VL_GetAddrsU will iterate over 'nentries'
    addresses, even if the 'blkaddrs' OUT argument contains fewer entries.
    Or with AFSVolListOneVolume, some callers assume that at least 1
    volintInfo has been returned; if 0 have been returned, we can try to
    access a NULL array.
    
    To avoid all of this, add various sanity checks on the relevant
    returned lengths of these RPCs. For most cases, if the lengths are not
    sane, return an internal error from the appropriate subsystem (or
    RXGEN_CC_UNMARSHAL if there isn't one). For VL_GetAddrsU, if
    'nentries' is too long, just set it to the length of the returned
    array.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15921
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c732715e4ee78ed1e2414c813ae5a4b3574107a0)
    
    Change-Id: I2cfc0723f4c3a2692238fa1e59145aceee17e0d6
    Reviewed-on: https://gerrit.openafs.org/15943
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit d253a52d3b59bd691eae8863ea2f06d99ad18550
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 4 23:04:06 2020 -0500

    OPENAFS-SA-2024-003: xdr: Prevent XDR_DECODE buffer overruns
    
    CVE-2024-10397
    
    When making an RPC call from a client, output arguments that use
    arrays (or array-like objects like strings and opaques) can be
    allocated by XDR, like so:
    
    {
        struct idlist ids;
    
        ids.idlist_val = NULL;
        ids.idlist_len = 0;
        code = PR_NameToID(rxconn, names, &ids);
        /* data inside ids.idlist_val[...] */
        xdr_free((xdrproc_t) xdr_idlist, &ids);
    }
    
    With this approach, during XDR_DECODE, xdr_array() reads in the number
    of array elements from the peer, then allocates enough memory to hold
    that many elements, and then reads in the array elements.
    
    Alternatively, the caller can provide preallocated memory, like so:
    
    {
        struct idlist ids;
        afs_int32 ids_buf[30];
    
        ids.idlist_val = ids_buf;
        ids.idlist_len = 30;
        code = PR_NameToID(rxconn, names, &ids);
        /* data inside ids.idlist_val[...] */
    }
    
    With this approach, during XDR_DECODE, xdr_array() reads in the number
    of array elements from the peer, and then reads in the array elements
    into the supplied buffer. However, in this case, xdr_array() never
    checks that the number of array elements will actually fit into the
    supplied buffer; the _len field provided by the caller is just ignored.
    In this example, if the ptserver responds with 50 elements for the 'ids'
    output argument, xdr_array() will write 50 afs_int32's into
    'ids.idlist_val', going beyond the end of the 30 elements that are
    actually allocated.
    
    It's also possible, and in fact very easy, to use xdr-allocated
    buffers and then reuse them as a preallocated buffer, possibly
    accidentally. For example:
    
    {
        struct idlist ids;
    
        ids.idlist_val = NULL;
        ids.idlist_len = 0;
        while (some_condition) {
            code = PR_NameToID(rxconn, names, &ids);
        }
    }
    
    In this case, the first call to PR_NameToID can cause the buffer for
    'ids' to be allocated by XDR, which will then be reused by the
    subsequent calls to PR_NameToId. Note that this can happen even if the
    first PR_NameToID call fails; the call can be aborted after the output
    array is allocated.
    
    Retrying an RPC in this way is effectively what all ubik_Call*
    codepaths do (including all ubik_* wrappers, e.g. ubik_PR_NameToID).
    Or some callers retry effectively the same RPC when falling back to
    earlier versions (e.g. VL_ListAttributesN2 -> VL_ListAttributesN).
    
    To prevent this for arrays and opaques, change xdr_array (and
    xdr_bytes) to check if the _len field for preallocated buffers is
    large enough, and return failure if it's not.
    
    Also perform the same check for the ka_CBS and ka_BBS structures. These
    are mostly the same as opaques, but they have custom serialization
    functions in src/kauth/kaaux.c. ka_BBS also has two lengths: the actual
    length of bytes, and a 'max' length. ka_CBS isn't used for any RPC
    output arguments, but fix it for consistency.
    
    For strings, the situation is complicated by the fact that callers
    cannot pass in how much space was allocated for the string, since
    callers only provide a char**. So for strings, just refuse to use a
    preallocated buffer at all, and return failure if one is provided.
    
    Note that for some callers using preallocated arrays or strings, the
    described buffer overruns are not possible, since the preallocated
    buffers are larger than the max length specified in the relevant
    RPC-L. For example, afs_DoBulkStat() allocates AFSCBMAX entries for
    the output args for RXAFS_InlineBulkStatus, which is the max length
    specified in the RPC-L, so a buffer overrun is impossible. But since
    it is so easy to allow a buffer overrun, enforce the length checks for
    everyone.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15920
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 13413eceed80d106cbed5ffb91c4dfbc8cccf55c)
    
    Change-Id: I1010d2fa309d4a441ebaf285168c2e7e887753b9
    Reviewed-on: https://gerrit.openafs.org/15942
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit c18640c6b98b10cd6f78c63195ff822689cb5348
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 13 15:30:50 2024 -0500

    OPENAFS-SA-2024-003: xdr: Set _len for prealloc'd opaque/array OUT args
    
    CVE-2024-10397
    
    Currently, a few RPCs with arrays or opaque OUT arguments are called
    with preallocated memory for the arg, but also provide a _len of 0 (or
    an uninitialized _len). This makes it impossible for the xdr routine to
    tell whether we have allocated enough space to actually hold the
    response from the server.
    
    To help this situation, either specify an appropriate _len for the
    preallocated value (cm_IoctlGetACL, fsprobe_LWP), or don't provide a
    preallocated buffer at all and let xdr allocate a buffer for us
    (PGetAcl).
    
    Note that this commit doesn't change xdr to actually check the value of
    the given _len; but now a future commit can do so without breaking
    callers.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15919
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b2b1110ddd9e19670dbc6a3217dc2a74af432f82)
    
    Change-Id: Ibdee49b79da1476c4e606bcad5fb3d08eb259ad7
    Reviewed-on: https://gerrit.openafs.org/15941
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 40440c3eb628ff1772588bdc99d7496292097bbd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 13 15:28:38 2024 -0500

    OPENAFS-SA-2024-003: xdr: Avoid prealloc'd string OUT args
    
    CVE-2024-10397
    
    Currently, several callers call RPCs with string OUT arguments, and
    provide preallocated memory for those arguments. This can easily allow a
    response from the server to overrun the allocated buffer, stomping over
    stack or heap memory.
    
    We could simply make our preallocated buffers larger than the maximum
    size that the RPC allows, but relying on that is error prone, and
    there's no way for XDR to check if a string buffer is large enough.
    
    Instead, to make sure we don't overrun a given preallocated buffer,
    avoid giving a preallocated buffer to such RPCs, and let XDR allocate
    the memory for us.
    
    Specifically, this commit changes several callers to
    RXAFS_GetVolumeStatus(), and one caller of BOZO_GetInstanceParm(), to
    avoid passing in a preallocated string buffer.
    
    All other callers of RPCs with string OUT args already let XDR allocate
    the buffers for them.
    
    FIXES 135043
    
    Reviewed-on: https://gerrit.openafs.org/15918
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 00a1b266af51a828a022c23e7bb006a39740eaad)
    
    Change-Id: Ib174d008eaf1fd10d42702bcdb607e45b26acf58
    Reviewed-on: https://gerrit.openafs.org/15940
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit fec84e347768080e4370e5aeb05886bfe19ae54b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 10 17:51:17 2023 -0500

    xdr: Avoid xdr_string maxsize check when freeing
    
    The maxsize argument in xdr_string() is garbage when called by
    xdr_free(), since xdr_free() only passes the XDR handle and the xdr
    string to be freed. Sometimes the size check fails and xdr_string()
    returns early, without freeing the string and without setting the object
    pointer to NULL.
    
    Usually this just results in leaking the string's memory. But since
    commit 9ae5b599c7 (bos: Let xdr allocate rpc output strings), many
    callers in bos.c rely on xdr_free(xdr_string) to set the given string
    to NULL; if this doesn't happen, subsequent calls to BOZO_ RPCs can
    corrupt memory, often causing the 'bos' process to segfault.
    
    We only need the maxsize check when encoding or decoding, so avoid
    accessing the maxsize agument when the op mode is XDR_FREE.
    
    In general, xdr_free() can only safely be used on xdr 2-argument xdr
    functions, so must be avoided when freeing xdr opaque, byte, and union
    types.
    
    This change makes it safe to use xdr_free() to free xdr strings, but in
    the future, we should provide a typesafe and less fragile function for
    freeing xdr strings returned from RPCs.  Currently, xdr_free(xdr_string)
    is only called by the bos client and the tests.
    
    Reviewed-on: https://gerrit.openafs.org/15343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bbb1e8adfed6804ac6fbae0a073dc6927096e16a)
    
    Change-Id: I1f190d28acab5fa1621919f283571fcacb495ce4
    Reviewed-on: https://gerrit.openafs.org/15939
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 21941c0ab2d28fa3a074f46e4d448d518a7c1b8a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 5 23:40:24 2024 -0600

    OPENAFS-SA-2024-002: Avoid uninitialized memory when parsing ACLs
    
    CVE-2024-10396
    
    Several places in the tree parse ACLs using sscanf() calls that look
    similar to this:
    
        sscanf(str, "%d dfs:%d %s", &nplus, &dfs, cell);
        sscanf(str, "%100s %d", tname, &trights);
    
    Some callers check whether the scanf() returns negative or 0, but some
    callers do not check the return code at all. If only some of the fields
    are present in the sscanf()'d string (because, for instance, the ACL is
    malformed), some of the arguments are left alone, and may be set to
    garbage if the relevant variable was never initialized.
    
    If the parsed ACL is copied to another ACL, this can result in the
    copied ACL containing uninitialized memory.
    
    To avoid this, make sure all of the variables passed to sscanf() and
    similar calls are initialized before parsing. This commit does not
    guarantee that the results make sense, but at least the results do not
    contain uninitialized memory.
    
    Reviewed-on: https://gerrit.openafs.org/15917
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ac602a0a5624b0f0ab04df86f618d09f2a4ad063)
    
    Change-Id: I00245c12993683eb3b58d51cf77742f758bac120
    Reviewed-on: https://gerrit.openafs.org/15938
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit a9ede52673b8c8abbfc2577ac6987a8a5686206f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 4 20:50:50 2024 -0800

    OPENAFS-SA-2024-002: make VIOCGETAL consumers stay within string bounds
    
    CVE-2024-10396
    
    After the preceding commits, the data returned by the VIOCGETAL
    pioctl (a RXAFS_FetchAcl wrapper) will safely be NUL-terminated.
    However, the callers that attempt to parse the ACL string make
    assumptions that the returned data will be properly formatted,
    and implement a "skip to next line" functionality (under various
    names) that blindly increments a char* until it finds a newline
    character, which can read past the end of even a properly
    NUL-terminated string if there is not a newline where one is
    expected.
    
    Adjust the various "skip to next line" functionality to keep
    the current string pointer at the trailing NUL if the end of the
    string is reached while searching for a newline.
    
    Reviewed-on: https://gerrit.openafs.org/15916
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a4ecb050540528a1bff840ff08d21f99e6ef3fbf)
    
    Change-Id: Id2d8c0164cfaa7d03a9e37b29ff58b88cf815483
    Reviewed-on: https://gerrit.openafs.org/15937
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit a96a3160f5425125588f39f5ac612df3ef9b9a8a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 4 20:50:50 2024 -0800

    OPENAFS-SA-2024-002: verify FetchACL returned only a string
    
    CVE-2024-10396
    
    Supplement the previous commit by additionally verifying that
    the returned ACL string occupies the entire XDR opaque, rejecting
    any values returned that have an internal NUL prior to the end
    of the opaque.
    
    Reviewed-on: https://gerrit.openafs.org/15915
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7e13414e8ea995d438cde3e60988225f3ab4cbcd)
    
    Change-Id: I107f89e3d8a5c3c5cd67f6296742bfca7cace0e1
    Reviewed-on: https://gerrit.openafs.org/15936
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 64068705b15661a8d4e0b9f9f2ad4aec34ed51a7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 4 20:33:16 2024 -0800

    OPENAFS-SA-2024-002: verify FetchACL returned a valid string
    
    CVE-2024-10396
    
    Analogously to how a call to RXAFS_StoreACL() with a malformed
    ACL string can cause a fileserver to perform invalid memory operations,
    a malformed ACL string returned in response to a call to RXAFS_FetchACL()
    can cause a client to perform invalid memory operations.
    
    Modify all the in-tree callers of the RPC to verify that the ACL
    data, which is conveyed as an XDR 'opaque' but whose contents
    are actually expected to be a string, is a valid C string.  If
    a zero-length opaque or one without a trailing NUL is received,
    treat that as an error response from the fileserver rather than
    returning success.
    
    The Unix cache manager's pioctl handler already has logic to cope with a
    zero-length reply by emitting a single NUL byte to userspace.  This
    special-casing seems to have been in place from the original IBM import,
    though it does so by confusingly "skipping over" a NUL byte already put
    in place.  For historical compatibility, preserve that behavior rather
    than treating the zero-length reply as an error as we do for the other
    callers.  It seems likely that this location should treat a zero-length
    reply as an error just as the other call sites do, but that can be done
    as a later change.
    
    Reviewed-on: https://gerrit.openafs.org/15914
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0b1ccb0dbc3b7673558eceff3d672971f5bb0197)
    
    Change-Id: Ifbce762d76641f08b5fc5e79b4c8dad07c1a135a
    Reviewed-on: https://gerrit.openafs.org/15935
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit bb01d76a2095baa65880bdc5d504e7a198958265
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 21 00:41:49 2024 -0500

    OPENAFS-SA-2024-002: viced: Avoid unchecked ACL in StoreACL audit log
    
    CVE-2024-10396
    
    Currently in SRXAFS_StoreACL, if CallPreamble() or check_acl() fail, we
    will jump to Bad_StoreACL, which will pass the ACL string from the
    client to osi_auditU. Since check_acl() hasn't yet checked if the given
    ACL contains a NUL byte, the ACL may be an unterminated string. If
    auditing is enabled, this can cause garbage to be logged to the audit
    log, or cause the fileserver to crash.
    
    To avoid this, set 'rawACL' to NULL at first, only setting it to the
    actual ACL string after check_acl() has succeeded. This ensures that all
    code accessing 'rawACL' is guaranteed to be using a terminated string.
    
    This may mean that we pass a NULL AUD_ACL to osi_auditU. Our auditing
    code explicitly checks for and handles handles NULL strings, so this is
    fine.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15913
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c9eae1e8b26144063e5d1db23d47ee82c4b9ef3a)
    
    Change-Id: Ieda6f910d875c4b5179011e5e93e5694d3f4ce47
    Reviewed-on: https://gerrit.openafs.org/15934
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit ee020f7cba7d82bc3d4b468210b5052af53c5db5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 21 00:29:34 2024 -0500

    OPENAFS-SA-2024-002: viced: Introduce 'rawACL' in StoreACL
    
    CVE-2024-10396
    
    Change our StoreACL implementation to refer to the 'AccessList' argument
    via a new local variable called 'rawACL'. This makes it clearer to
    users that the data is a string, and makes it easier for future commits
    to make sure we don't access the 'AccessList' argument in certain
    situations.
    
    Update almost all users in StoreACL to refer to 'rawACL' instead of
    'AccessList'. Change the name of 'AccessList' to 'uncheckedACL' to make
    sure we don't miss any users. Update our check_acl() call to use
    'uncheckedACL' (and not 'rawACL'), because it must use an AFSOpaque to
    check the ACL.
    
    Change RXStore_AccessList() and printableACL() to accept a plain char*
    instead of a struct AFSOpaque.
    
    This commit should not incur any noticeable behavior change. Technically
    printableACL() is changed to run strlen() on the given string, but this
    should not cause any noticeable change in behavior:
    
    This change could cause printableACL() to process less of the string
    than before, if the string contains a NUL byte before the end of the
    AFSOpaque buffer. But this doesn't matter, since the all of our code
    after this treats the ACL as a plain string, and so doesn't look at any
    data beyond the first NUL. It's not possible for printableACL() to
    process more data than before, because check_acl() has already checked
    that the ACL string contains a NUL byte, so we must process
    AFSOpaque_len bytes or fewer.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15912
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit eb8b93a971c6293cdfbf8cd3d9a6351a8cb76f81)
    
    [1.8: printableACL() does not exist in this branch.]
    
    Change-Id: I65b518acab26be0bb1854c29e46c90e5fee52d41
    Reviewed-on: https://gerrit.openafs.org/15933
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit d66caf8c04878724001839317637445708edef2c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 19 15:55:42 2023 -0500

    OPENAFS-SA-2024-002: acl: Error on missing newlines when parsing ACL
    
    CVE-2024-10396
    
    In acl_Internalize_pr(), each line in an ACL granting rights (positive
    or negative) is sscanf()'d with "%63s\t%d\n", and then we try to
    advance 'nextc' beyond the next newline character.
    
    However, sscanf()'ing "%63s\t%d\n" does not guarantee that there is a
    newline in the given string. Whitespace characters in sscanf() are not
    matched exactly, and may match any amount of whitespace (including
    none at all). For example, a string like "foo 4" may be parsed by
    sscanf(), but does not contain any newlines.
    
    If this happens, strchr(nextc, '\n') will return NULL, and we'll
    advance 'nextc' to 0x1, causing a segfault when we next try to
    dereference 'nextc'.
    
    To avoid this, check if 'nextc' is NULL after the strchr() call, and
    return an error if so.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15911
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 96ab2c6f8a614d597a523b45871c5f64a50a7040)
    
    Change-Id: I666dfb2c401410865c1f98d9db1b342b52c8f628
    Reviewed-on: https://gerrit.openafs.org/15932
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1e6e813188ecce62eb7af19385d911f63469bdb6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 19 15:44:08 2023 -0500

    OPENAFS-SA-2024-002: acl: Do not parse beyond end of ACL
    
    CVE-2024-10396
    
    The early parsing code in acl_Internalize_pr() tries to advance
    'nextc' to go beyond the first two newlines in the given ACL string.
    But if the given ACL string has no newlines, or only 1 newline, then
    'nextc' will point beyond the end of the ACL string, potentially
    pointing to garbage.
    
    Intuitively, it may look like the ACL string must contain at least 2
    newlines because we have sscanf()'d the string with "%d\n%\d".
    However, whitespace characters in sscanf() are not matched exactly
    like non-whitespace characters are; a sequence of whitespace
    characters matches any amount of whitespace (including none). So, a
    string like "1 2" will be parsed by "%d\n%d\n", but will not contain
    any newline characters.
    
    Usually this should result in a parse error from acl_Internalize_pr(),
    but if the garbage happens to parse successfully, this could result in
    unrelated memory getting stored to the ACL.
    
    To fix this, don't advance 'nextc' if we're already at the end of the
    ACL string.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15910
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 35d218c1d17973c1412ea5dff1e23d9aae50c4c7)
    
    Change-Id: I7a7d136676e548adba5fa8d0003b5f8342332a86
    Reviewed-on: https://gerrit.openafs.org/15931
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit a07e50726df09c49dfe7b953c3e49eb98f310c09
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 18 16:14:07 2023 -0500

    OPENAFS-SA-2024-002: viced: Free ACL on acl_Internalize_pr error
    
    CVE-2024-10396
    
    Currently, we don't free 'newACL' if acl_Internalize_pr() fails. If
    acl_Internalize_pr() has already allocated 'newACL', then the memory
    associated with newACL will be leaked. This can happen if parsing the
    given ACL fails at any point after successfully parsing the first
    couple of lines in the ACL.
    
    Change acl_FreeACL() to make freeing a NULL acl a no-op, to make it
    easier to make sure the acl has been freed.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15909
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f4dfc2d7183f126bc4a45b5cabc78c3de020925f)
    
    Change-Id: If1554aa899542761ec6e6611394f2ee4f9379f22
    Reviewed-on: https://gerrit.openafs.org/15930
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit f74f960a18f559e683d6a1f5104e43c3ca93ecb8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 18 16:13:57 2023 -0500

    OPENAFS-SA-2024-002: viced: Refuse ACLs without '\0' in SRXAFS_StoreACL
    
    CVE-2024-10396
    
    Currently, the fileserver treats the ACL given in RXAFS_StoreACL as a
    string, even though it is technically an AFSOpaque and could be not
    NUL-terminated.
    
    We give the ACL opaque/string to acl_Internalize_pr() to parse, which
    will run off the end of the allocated buffer if the given ACL does not
    contain a '\0' character. Usually this will result in a parse error
    since we'll encounter garbage, but if the partially-garbage ACL
    happens to parse successfully, some uninitialized data could make it
    into the stored ACL.
    
    In addition, if the given ACL is an opaque of length 0, we'll still
    give the opaque pointer to acl_Internalize_pr(). In this case, the
    pointer will point to &memZero, which happens to contain a NUL byte,
    and so is treated like an empty string (which is not a valid ACL). But
    the fact that this causes no problems is somewhat a coincidence, and
    so should also be avoided.
    
    To avoid both of these situations, just check if the given ACL string
    contains a NUL byte. If it doesn't, or if it has length 0, refuse to
    look at it and abort the call with EINVAL.
    
    FIXES 135445
    
    Reviewed-on: https://gerrit.openafs.org/15908
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e15decb318797f1d471588dc669c3e3b26f1b8b3)
    
    Change-Id: I0f447310db5a988b21e19bb5158bb564d4ea3d94
    Reviewed-on: https://gerrit.openafs.org/15929
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 57b655e4837d8660ebcc25d95efb09118adaff07
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 10 12:40:15 2020 -0600

    OPENAFS-SA-2024-001: afs: Throttle PAG creation in afs_genpag()
    
    CVE-2024-10394
    
    Currently, we only throttle PAG creation in afs_setpag(). But there
    are several callers that call setpag() directly, not via afs_setpag;
    notably _settok_setParentPag in afs_pioctl.c. When setpag() is called
    with a PAG value of -1, it generates a new PAG internally without any
    throttling. So, those callers effectively bypass the PAG throttling
    mechanism, which allows a calling user to create PAGs without any
    delay.
    
    To avoid this, move our afs_pag_wait call from afs_setpag() to
    afs_genpag(), which all code uses to generate a new PAG value. This
    ensures that PAG creation is always throttled for unprivileged users.
    
    FIXES 135062
    
    Reviewed-on: https://gerrit.openafs.org/15907
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0358648dbed7656e7bda30f6f0ea6e8e01bf6527)
    
    Change-Id: I7f8f475a913c6f62ca2c7a6fb00239e51a8a8c62
    Reviewed-on: https://gerrit.openafs.org/15928
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 20c22347b41eea2ebbdc0ab15f16c822af44df51
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 10 12:01:50 2020 -0600

    OPENAFS-SA-2024-001: afs: Introduce afs_genpag()
    
    CVE-2024-10394
    
    Currently, several areas in the code call genpag() to generate a new
    PAG id, but the signature of genpag() is very limited. To allow for
    the code in genpag() to return errors and to examine the calling
    user's credentials, introduce a new function, afs_genpag(), that does
    the same thing as genpag(), but accepts creds and allows errors to be
    returned.
    
    Convert all existing callers to use afs_genpag() and to handle any
    errors, though no errors are ever returned in this commit on its own.
    
    To ensure there are no old callers of genpag() left around, change the
    existing genpag() to be called genpagval(), and declare it static.
    
    FIXES 135062
    
    Reviewed-on: https://gerrit.openafs.org/14090
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f701f704c7bc93cf5fd7cffaaa043cef6a99e77f)
    
    Change-Id: I675d6cb111ca74638a3b856a3c989dcb2fe6d534
    Reviewed-on: https://gerrit.openafs.org/15927
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 04c4bd974e519cec15e9a7aece1feab11eee31c5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 16 12:42:17 2024 -0400

    Make OpenAFS 1.8.12.2
    
    Update version strings for the 1.8.12.2 release.
    
    Change-Id: Ia7bc4b532b6cd8ba53ba2e8cfce5a2fb37fd71ed
    Reviewed-on: https://gerrit.openafs.org/15860
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 91556bcf318473bdda11bb5d5f832cd53ba4c6a1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 16 12:39:15 2024 -0400

    Update NEWS for OpenAFS 1.8.12.2
    
    Change-Id: I8361ff682f4000b5d4713a552e56dae24c1a72ac
    Reviewed-on: https://gerrit.openafs.org/15859
    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: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7ce5fc35e60de92c5daecfb054af450a87800b8b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Sep 9 10:04:20 2024 -0600

    Linux: Test for missing generic_file_splice_read
    
    In commit:
        'Linux 6.5: Replace generic_file_splice_read' (0e06eb78f2)
    we check the version of Linux to determine to use the newer
    filemap_splice_read() or the older generic_file_splice_read().
    
    openSUSE 15.6 uses a Linux 6.4 kernel, but is also including the
    Linux 6.5 commit:
        'splice: Remove generic_file_splice_read()' (c6585011bc)
    When this commit included in Linux 6.4, the kernel module fails to
    build.
    
    In order to handle the case where Linux distributions are including the
    (c6585011bc) commit in earlier kernels, we need to see if
    generic_file_splice_read() is present; if not, we should use the newer
    filemap_splice_read().
    
    With the (0e06eb78f2) commit there was a preference for using
    generic_file_splice_read() over filemap_splice_read() until Linux 6.5
    (which contained additional updates surrounding filemap_splice_read()).
    See the (0e06eb78f2) commit for additional details.
    
    With this commit, we are still preferring generic_file_splice_read()
    when it is available on kernels less than Linux 6.5.
    
    Reviewed-on: https://gerrit.openafs.org/15846
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 8d4d197f0a3880e4dde3580ee9cd84bc20d587ee)
    
    Change-Id: I900a30d8090b06e23c6b7f2daced3a9533a02d1b
    Reviewed-on: https://gerrit.openafs.org/15858
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d17a07767d703287595f3c96e72e0ecc8455bbf0
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Sep 12 10:05:55 2024 -0600

    uss: Replace strcat with safer method
    
    The grammar.y file uses a series of strcat's to build the accesslist
    from the parsed tokens.  There is no checking to see if the result
    exceeds the size of the output buffer.
    
    Replace the strcpy/strcat's with a simple snprintf that concatenates
    the tokens, and check to see if the snprintf failed.
    
    If there was an error concatenating the tokens, emit a message.
    
    NOTE: With --enable-checking a build error occurs on an Ubuntu 24.04
    system, where the default _FORTIFY_SOURCE is set to 3 (hardened).  The
    build produces the following:
        ...
        inlined from ‘yyparse’ at ./grammar.y:130:26:
        /usr/include/.../string_fortified.h:130:10: error: ‘__builtin___strcat_chk’ writing 2 bytes into a region of size 0 overflows the destination [-Werror=stringop-overflow=]
        130 | return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest));
        ...(repeated for the other uses of strcat)...
    
    The build error can be duplicated by setting _FORTIFY_SOURCE to 3.
    
    Reviewed-on: https://gerrit.openafs.org/15845
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 00b31c7bae017cbda9d9cf9b7d61299f882d9f12)
    
    Change-Id: If5dcf75098443e03e9c843039f22e8b414c34d66
    Reviewed-on: https://gerrit.openafs.org/15857
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4766fac3bc2b7f02f84db9149b20b6d1a15a220c
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Aug 13 14:29:10 2024 -0600

    Remove MIN and MAX macro definitions
    
    A prior commit:
        "opr: replace MIN/MAX macros with opr_min/opr_max"
           (Change I2d7b54193ec91f7ead9c5c5f714d9a8bc7533bf7)
    replaced all uses of the MIN and MAX macros with opr_min and opr_max.
    
    As a cleanup and to resolve a failure when building the Linux kernel
    module with Linux 6.11, remove all the defines for MIN and MAX.
    
    The Linux 6.11 commit:
        'minmax: make generic MIN() and MAX() macros available everywhere'
        (1a251f52cf)
    standardized and consolidated the definitions of the MIN and MAX macros
    within the Linux kernel by defining them in an include file that is
    widely used already (linux/minmax.h).
    
    With the above Linux commit, the kernel module fails with a redefined
    error from the compiler:
        "./include/linux/minmax.h:329: error: "MIN" redefined [-Werror]"
    
    Reviewed-on: https://gerrit.openafs.org/15814
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 8e8ee623d1a21dc8476cde4b6b9d9e292b36691d)
    
    [mmeffie: The MIN/MAX macros are still present in the deprecated afsweb
              component.]
    
    Change-Id: I096c386682afbf7de07f7bb882ab9442cbdeb13a
    Reviewed-on: https://gerrit.openafs.org/15854
    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: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7295796c9cb46d8007750ba8f14c675d2b950952
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Sep 9 13:15:47 2024 -0600

    opr: replace MIN/MAX macros with opr_min/opr_max
    
    Introduce new macros, opr_min() and opr_max(), to avoid collisions with
    existing MIN()/MAX() macros defined elsewhere.
    
    Within OpenAFS, the MIN/MAX macros are defined in the platform specific
    param.h include file.  This same file is where AFS_{platform}_ENV is
    defined, which is used throughout the OpenAFS source to determine which
    platform specific headers are to be used.  This can lead to collisions
    if platform provided headers define MIN or MAX.
    
    Introduce opr_min and opr_max, using the same definitions that have been
    used for MIN and MAX.  Put the definitions in opr.h, which is already
    included in most of the code that uses the MIN or MAX macros.
    
    Replace all uses of MIN and MAX with opr_min and opr_max.
    
    Add or move the include for afs/opr.h as needed.
    
    Note, this commit does not replace the min()/max() macros.
    
    A later commit will remove the defines for MIN and MAX (which will
    correct a Linux 6.11 build failure due to a collision).
    
    Reviewed-on: https://gerrit.openafs.org/15813
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 915c5cff168344797e011ee81913d4026c0cea80)
    
    [mmeffie: Add an opr.h include in src/rx/rx.c. The MIN/MAX macros are
              still present in the deprecated afsweb component.]
    
    Change-Id: I05fa833e00f31f07af55cebeb00a996a280bdcef
    Reviewed-on: https://gerrit.openafs.org/15853
    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: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9e64b7d068f42e02980442e8e65114577176df19
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 7 18:20:11 2021 -0400

    rx: Define symbolic names for Rx magic numbers
    
    Since the original IBM code import, the magic number '6' has been used
    to specify the number of consecutive lost keepalives (ping acks) that
    indicate a dead connection.  By implication, this also defines the
    minimum number of seconds (at the minimum keeplive periodicity of 1
    second) before a connection may be considered dead.
    
    Define and use symbolic names for both uses of '6', and document their
    relationship.  Both have the same assigned value '6', but
    RX_PINGS_LOST_BEFORE_DEAD is use as an ordinal count, while
    RX_MINDEADTIME is expressed in units of seconds.
    
    The magic number '12' is used in a couple of places for the default
    value of rx_connDeadTime.  Give this constant a name
    (RX_DEFAULT_DEAD_TIME) and use it.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14621
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b4a4a2ae9c9546482dd94c7a89793b1bfa1714cd)
    
    Change-Id: I87c2de0c1a14a9414a86e6fc0744139a120fbab9
    Reviewed-on: https://gerrit.openafs.org/15852
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eb5430d2d7258418edb2166804d194336b20e276
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 16 09:30:17 2024 -0400

    Make OpenAFS 1.8.12.1
    
    Update version strings for the 1.8.12.1 release.
    
    Change-Id: Ib56bd2f56155890b036523c0a3dcf70b312b4751
    Reviewed-on: https://gerrit.openafs.org/15824
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 66bce637571b5c72fee92cd0def6729e2c4201f7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 15 12:41:35 2024 -0400

    Update NEWS for OpenAFS 1.8.12.1
    
    Change-Id: Ia1917f20ecff66fa7bae28c02dbc703fa44b1737
    Reviewed-on: https://gerrit.openafs.org/15822
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit c788883d620843692bafaa50aa8fc57e99fefa68
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 6 10:42:57 2024 -0600

    Linux 6.10: Move 'inline' before func return type
    
    With Linux 6.10 commit:
        "kbuild: turn on -Wextra by default" (f5982cceb3)
    there are additional compiler warnings that can turn
    into build errors when --enable-checking is used.
    
        "error: ‘inline’ is not at beginning of declaration
        [-Werror=old-style-declaration]"
    
    The error is due to the return type preceding the "inline" keyword
    in function declarations.
    
    Fix the declarations for file_can_read_pages() and
    afs_linux_readpage_fastpath() to have the proper ordering of the
    static/inline keywords attributes so they precede the return type.
    
    Just a note that the `static` and `inline` keywords must precede a
    function's return type.
    
    Reviewed-on: https://gerrit.openafs.org/15768
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 7097eec17bc01bcfc12c4d299136b2d3b94ec3d7)
    
    Change-Id: Ifce9c6b0b110788a054f0bad6066505e4bd86d40
    Reviewed-on: https://gerrit.openafs.org/15800
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e24033ddabddbc3da34818811d07ee99ef60da65
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jun 12 14:24:01 2024 -0600

    afs: avoid empty-body warning
    
    With Linux 6.10 commit:
        "kbuild: turn on -Wextra by default" (f5982cceb3)
    there are additional compiler warnings that can turn
    into build errors when --enable-checking is used.
    
        "error: suggest braces around empty body in an ‘if’
         statement [-Werror=empty-body]"
    
    when there is an empty body, e.g.
        if (foo)
            ;
    
    Most cases are due to the macros afs_PutCell and afs_PutServer which are
    "empty" macros.
    
    Update the afs_PutCell and afs_PutServer macros so they expand to
      do {} while(0)
    
    Add a comment at the definitions for afs_PutCell and afs_PutServer to
    document the reason for keeping them.
    
    Add braces to conditionals that have an empty body.
    
    There are no functional changes with this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15766
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit d8b56f21994ce66d8daebb7d69e792f34c1a19ed)
    
    Change-Id: I0617aeba36b638ae36678043216e2b4c145921b7
    Reviewed-on: https://gerrit.openafs.org/15799
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f08f7e821addad639667fd81d84fa7b81115cff8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jun 12 13:56:44 2024 -0600

    Linux-6.10: remove includes for asm/ia32_unistd.h
    
    The Linux 6.10 commit:
        "x86/syscall/compat: Remove ia32_unistd.h" (e2d168328e)
    
    Removed the header ia32_unistd.h since it was just a wrapper for the
    unistd_32_ia32.h.
    
    The commit:
        "linux-afs-translator-xen-20060731" (29dd792381)
    added an ia32_unistd.h include to several files; all were not needed
    (as they didn't reference any of the contents from the header file, e.g
    _NR_ia32_*).
    
    The commit:
        "amd64-hook-ia32-table-20030519" (831e172463)
    added an include for ia32_unistd.h to osi_module.c.
    
    A later commit:
        "osi-probe-syscall-20050129" (f126dbdbe2)
    removed many of the references to defines from ia32_unistd.h, but did
    not remove the include for the header.
    
    Currently the only remaining files (linux-kernel-syscall-probe.m4,
    LINUX/osi_probe.c and LINUX/osi_syscall.c) continue to reference the
    items from ia32_unistd.h, but only when building older kernels that
    either don't have LINUX_KEYRING_SUPPORT or when
    ENABLE_LINUX_SYSCALL_PROBING is enabled (in both cases, these are only
    applicable for older kernels where the asm/ia32_unistd.h file would be
    present).
    
    For the files that don't have references (i.e. _NR_ia32_*), we can
    simply remove the include for asm/ia32_unistd.h.  For the remaining set
    of files, we can leave the include for asm/ia32_unistd.h since the code
    already has preprocessor conditionals so it's only included for older
    Linux kernels where the header file will be present.
    
    We noted above, the include for asm/ia32_unistd.h is already conditional
    on the checks for LINUX_KEYRING_SUPPORT and ENABLE_LINUX_SYSCALL_PROBING
    so we do not need to add any additional configure checks.
    
    Reviewed-on: https://gerrit.openafs.org/15763
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 03b280649f5e22ed74c217d7c98c3416a2fa9052)
    
    Change-Id: Ifdd7c831e46796a3c3f1f80c973f4319dc791ecc
    Reviewed-on: https://gerrit.openafs.org/15798
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f1b890fbb916db6be5d8a50748b2563d43478771
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jun 12 14:16:43 2024 -0600

    Linux-6.10: define a wrapper for vmalloc
    
    The Linux 6.10 commit:
        "mm: vmalloc: enable memory allocation profiling" (88ae5fb755)
    changed vmalloc from a function to a wrapper macro.
    
    This change results in build errors:
        "error: implicit declaration of function ‘vmalloc’; did you mean
           ‘kmalloc’? [-Werror=implicit-function-declaration]"
    
    when vmalloc is passed as a parameter to the afs_atomlist_create() and
    afs_lhash_create() functions.
    
    Add a little wrapper function around vmalloc() to use for the parameter
    to afs_atomlist_create() and afs_lhash_create().
    
    Note: A configure test was not needed for this change since the name
    and functionality of Linux's vmalloc did not change.
    
    Reviewed-on: https://gerrit.openafs.org/15765
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 658942f2791fad5e33ec7542158c16dfc66eed39)
    
    Change-Id: Iece75aea9c8dbc072e1dfa83cf82aee88ac647dd
    Reviewed-on: https://gerrit.openafs.org/15797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e5766258ef6dbddbc3885d5b298679af262d03aa
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jun 12 14:13:59 2024 -0600

    Linux-6.10: Use filemap_alloc_folio when avail
    
    The Linux 6.10 commit:
        "mm: remove page_cache_alloc()" (3f2ae4ebd5)
    removed the page_cache_alloc(), with a note that callers would be using
    filemap_alloc_folio instead.
    
    The function filemap_alloc_folio() was introduced in Linux 5.15 commit:
        "mm/filemap: Add filemap_alloc_folio" (bb3c579e25)
    
    Add a configure check for filemap_alloc_folio and update the function
    afs_linux_read_cache() to use a wrapper that calls filemap_alloc_folio()
    if available otherwise calls page_cache_alloc().
    
    Minor whitespace/style cleanup
    
    Note: The function filemap_alloc_folio() was introduced in Linux 5.15,
    so this change affects builds using the Linux kernel 5.15 and later.
    
    Reviewed-on: https://gerrit.openafs.org/15764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 0f6a3a402f4a66114da9231032bd68cdc4dee7bc)
    
    Change-Id: Iabb894a606816e8ae43a4a8028ac054cc643f84f
    Reviewed-on: https://gerrit.openafs.org/15796
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2facd94cdc040818a28c6bbbc6f1d1dcc5d07d35
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jul 11 12:53:35 2024 -0400

    Make OpenAFS 1.8.12
    
    Update version strings for the 1.8.12 release.
    Add final updates to NEWS.
    
    Change-Id: I88fa115c20fc412541b00ed48b411e09785710f2
    Reviewed-on: https://gerrit.openafs.org/15783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d8eab602c3279378f344cdde2f14fe05707ac71d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu May 30 16:56:18 2024 -0400

    Make OpenAFS 1.8.12pre1
    
    Update version strings for the first 1.8.12 prerelease.
    
    Change-Id: I0a314eb7d96183c40c995b9415aaf1c679defee5
    Reviewed-on: https://gerrit.openafs.org/15759
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1ccee780e109c06917612390c54978bb13fce767
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu May 23 20:20:11 2024 -0400

    Update NEWS for OpenAFS 1.8.12pre1
    
    Add news items for the upcoming 1.8.12 pre-release.
    
    Change-Id: Iab9167e93526f7f5b83a7bc47341a76c8ad54c52
    Reviewed-on: https://gerrit.openafs.org/15753
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 308ee38a30549afd38ad1f83bb537fd6b43513a8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu May 30 12:54:57 2024 -0400

    afs: Correct comment typo in DNew()
    
    Commit aed4a0c4b91c5ce185547e83bfff443f3d3831f9 "afs: avoid panic in
    DNew when afs_WriteDCache fails" introduced Doxygen comments for DNew().
    However, due to a cut-and-paste error, the name of the second parameter
    is incorrect.
    
    Correct the Doxygen comments.
    
    No functional change is incurred by this commit; it is just
    documentation.
    
    Reviewed-on: https://gerrit.openafs.org/15757
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit abb15d449ca6792d9145c13c01d573ce32545916)
    
    Change-Id: Ie540b13a040ac47bbaa2f753a9bbd21c046d4b49
    Reviewed-on: https://gerrit.openafs.org/15758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4022359253fb6a645b01f99b820b7331c019115a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 19 14:41:55 2019 -0400

    afs: avoid panic in DNew when afs_WriteDCache fails
    
    afs_WriteDCache may fail for an IO error, or if interrupted (EINTR).
    Unfortunately, DNew will panic in this case, crashing the entire
    machine.
    
    In order to avoid an outage in this case, don't panic.  Instead, reflect
    the error back to the caller of DNew.
    
    While here, add Doxygen comments to DNew.
    
    Reviewed-on: https://gerrit.openafs.org/13804
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit aed4a0c4b91c5ce185547e83bfff443f3d3831f9)
    
    Change-Id: I634ce4b3c7c8b6029c5236b51f6ab8c0a5463ce9
    Reviewed-on: https://gerrit.openafs.org/15744
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 837e6a4ad28588f22b4e9ace9bfa4bb4f412485c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Feb 5 17:49:03 2020 -0500

    dir: check DNew return code
    
    Commit 0284e65f97861e888d95576f22a93cd681813c39 'dir: Explicitly state
    buffer locations for data' changed DNew and DRead to return a return
    code.  However, the callers of DNew were not modified to check the new
    return code.  (This commit applied only to the implementations dealing
    with AFS directories, in afs/afs_buffer.c and dir/dir.c.  The ubik
    implmentations of DNew and DRead, dealing with ubik databases, were not
    modified.)
    
    Modify all (non-ubik) callers of DNew to check the return code.  In
    addition, modify code as needed so return codes are properly propagated
    to the callers.
    
    While here, add Doxygen comments for AddPage and FindBlobs.
    
    Reviewed-on: https://gerrit.openafs.org/13801
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6bd94fe29d1aa6ce61ba02e681defea79770ccdd)
    
    Change-Id: I8d036748fa18365b843a69f2f0710eab31aa723d
    Reviewed-on: https://gerrit.openafs.org/15743
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit db39f77f0ec931816ba5cc265e87954173b435e2
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun Mar 3 20:20:58 2019 -0500

    dir: check afs_dir_Create return code in afs_dir_MakeDir
    
    afs_dir_MakeDir() ignores the return code from afs_dir_Create() for the
    '.' and '..' ("dot" and "dotdot") directories.  This has been the case
    from the earliest implementation (MakeDir() calling Create()) in the
    original IBM import.
    
    Instead, check the return codes to prevent the possibility of creating
    malformed directories.
    
    Reviewed-on: https://gerrit.openafs.org/13800
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit dcce956df4fc8d368962cb36d8b3c801be69a85a)
    
    Change-Id: Ib7066ab307fe6ab0e78407566d0fd32bd6827859
    Reviewed-on: https://gerrit.openafs.org/15742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3ff310182926ab783f0f07fa8667d1ebaabbc5de
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 25 15:58:49 2024 -0500

    afs: Reintroduce and use DFlushDCache()
    
    This reverts commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39 (afs:
    Remove DFlushDCache()). This also re-adds the caller of DFlushDCache()
    removed by commit 4045f3d5350955de91e019b09ad2ed7941f6dadb
    (disconnected-shadow-directory-fixes-20090121), and the prototype
    removed by commit 5ad1e6cb904b953fbb04603f3ce1466dcc38cd48 (dir:
    Prototype and function name cleanup).
    
    The removal of the DFlushDCache() call in commit 4045f3d535 seems like
    a mistake. If the directory in question has dirty pages in memory, we
    need to flush those to the cache before making a copy of the
    directory's data, because we read the existing dir's data from the
    cache. If we don't flush, afs_MakeShadowDir() might make a copy of the
    dcache that is missing updates to the directory blob.
    
    Reviewed-on: https://gerrit.openafs.org/15740
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 799d789fbaefc8c4dbcb803b885deb35f4947d26)
    
    Change-Id: I3bffab4bae4214503591ac102aba59c7072b39af
    Reviewed-on: https://gerrit.openafs.org/15741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit de7bc4890e4368b88f20e15a7d795fc1c54cef29
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Apr 15 08:22:37 2024 -0600

    Linux-6.9: file_lock mbrs moved to file_lock_core
    
    In the Linux 6.9 commit:
     'filelock: split common fields into struct file_lock_core' (a69ce85ec9)
    several fields were relocated into a new structure, file_lock_core,
    which was added as a member the file_lock structure.  The names where
    changed (fl_x to flc_x).
    
    Add a configure test to determine if the new members (flc_type, flc_pid,
    and flc_flags) are available as part of the file_lock_core structure.
    
    Add static inline getter/setter routines to handle accessing the
    flc_type or flc_pid members in the file_lock_core structure, or the
    fl_type, fl_pid members in the file_lock structure as appropriate. Add
    static inline function to clear FL_SLEEP in the flc_flag in the
    file_lock_core structure or the fl_flag in the file_lock structure as
    appropriate.
    
    Minor surrounding white space cleanup.
    
    Reviewed-on: https://gerrit.openafs.org/15708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9937cce3f35f4e3aad0802189457bf16b84d7ab4)
    
    Change-Id: I51343e1c2e360b68eabe2cc4069c25948b6c0729
    Reviewed-on: https://gerrit.openafs.org/15739
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 95e67f9c3e6e605da07081b9521ed2eaa2add648
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Mar 15 16:24:05 2024 -0600

    tests: rx/perf wait for server init before client
    
    The rx/perf test can occasionally fail due to the rxperf server not
    being fully initialized before the client started. This can cause test
    errors, even without changes to the rx code.
    
     C_TAP_VERBOSE=1 make check TESTS="rx/perf"
     ...
     rx/perf
    
     1..4
     ok 1 - Started rxperf server
     not ok 2 - single threaded client ran successfully
     RPC: threads   30, times       1, write bytes  1048576, read bytes...
     ok 3 - multi threaded client ran succesfully
     ok 4 - Server exited succesfully
     FAILED 2 (exit status 1)
    
    Add a routine that waits for the rx_perf server to become available.
    Loop several times trying the connection via the rx_perf client, with
    a short delay between retries.  If the connection cannot be established,
    fail the test.
    
    Clean up trailing whitespace on a couple of lines.
    
    Note: This failure was observed in an OpenAFS buildbot worker that
    included a make tests, and which would occasionally fail when there was
    no rx related code changes. The intermittent failure could be duplicated
    on a slower virtual test system, but would not fail on a faster system.
    
    Thanks to mmeffie@sinenomine.net for the 'wait_for_server' contribution.
    
    Reviewed-on: https://gerrit.openafs.org/15676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 6ace773fdcff0486663a0cc4381d7b6ce2352c04)
    
    Change-Id: I75c6cd1e4e724d4803b62e2f74e5307cb8fcb14d
    Reviewed-on: https://gerrit.openafs.org/15736
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4fc27548be88947ef58e2a3a3654a08ec6c334d9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 9 10:57:26 2024 -0400

    rxperf: Add -o option to rxperf client
    
    Add the -o (output) option to the rxperf client specify the output file.
    
    If not specified, the output is written to stdout, as before.
    
    Reviewed-on: https://gerrit.openafs.org/15731
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e6bc50524e1bde199f6643d9784fe331577bee90)
    
    Change-Id: I94a2f43c70f9cb5236c3ab4c5d2de66906eb68b3
    Reviewed-on: https://gerrit.openafs.org/15735
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit dfb6b53a6802e90f6bc2cd3cd39da467ce8e4488
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Apr 3 11:36:54 2024 -0600

    Linux: Define afs_thread_wrapper() as static
    
    When building against a Linux 6.8 kernel, functions that are missing
    prototypes or declarations are flagged.
    
    We can add the static attribute to functions that are not referenced
    outside of the file that implements them to avoid having these functions
    flagged by the compiler.
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    This is an openafs-1.8.x specific commit.
    
    The function afs_thread_wrapper() in LINUX/osi_misc.c on the master
    branch was changed to a static function with commit:
     'afs: Drop GLOCK for various Rx calls' (d5e1428a3b)
    However this is a larger change than needed to fix the build problem and
    the commit could have a significant impact for 1.8.x since it is
    changing rx locking.  To avoid introducing such a change, just change
    the afs_thread_wrapper() to static as a 1.8.x specific commit.
    
    There are no functional changes in this commit.
    
    Change-Id: I4edc61e6a4989c16ccf41b935e205dbf209bf2a5
    Reviewed-on: https://gerrit.openafs.org/15727
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d1a42401fddc51bd2f16da39dfebe0f60fc670ad
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 29 17:58:17 2024 -0700

    Linux: Remove weak attribute for key_type_keyring
    
    The reference to the Linux symbol key_type_keyring uses a weak
    attribute to assist in determining if the symbol is exported.  This
    method was introduced in commit: 'keyring-updated-20080310' (b7fb842b1c)
    as a way to detect if the symbol was exported by the Linux kernel.  A
    later commit: 'linux-keyring-export-check-20090701' (4ca66112c2)
    introduced an autoconf test that eliminated the need for using the weak
    attribute, but the commit did not remove the attribute.
    
    On a Debian-12 system on ARM64 the use of the weak attribute in this
    case causes an error when loading the kernel module:
      "ERROR: could not insert 'openafs': Exec format error".
    The error is due to the Linux module loader not supporting the
    relocation entry type in the openafs kernel module for the
    key_type_keyring.  Further investigation showed that this problem could
    occur with gcc-12 on a ARM64 system (see below for additional
    information).
    
    The code in osi_groups.c uses a pointer, __key_type_keyring, to the
    key_type_keyring.  When this symbol is exported by the Linux kernel, the
    loader would resolve the address and __key_type_keyring would contain
    the address.  If the key_type_keyring symbol was not exported,
    __key_type_keyring would be set to NULL (due to the weak attribute
    associated with key_type_keyring).
    
    Remove the weak attribute for key_type_keyring when the configure
    test, introduced in the 4ca66112c2 commit, determines that the symbol
    is exported (EXPORTED_KEY_TYPE_KEYRING is defined).  When the symbol
    isn't exported (pre Linux 2.6.22), just set the pointer,
    __key_type_keyring to NULL.
    
    NOTE:
    
    The load error was reported on the openafs IRC channel by "clarkb"
    
    The problem of loading the openafs kernel module was also observed
    on a NixOS system as well, and is described in the NixOS ticket
    
      https://github.com/NixOS/nixpkgs/issues/284501
    
    A Debian-11 system did not have a problem loading the openafs kernel
    module. Investigation of the differences between Debian-11 and Debian-12
    showed that the problem is due to a series of fixes in the toolchain
    (in particular gcc-12) to address 'Cortex-A53 erratum #843419', which
    deals with how the ARM64 ADRP instruction is used. With gcc-12, the
    code generated uses a R_AARCH64_ADR_GOT for this particular case (which
    isn't supported by the Linux kernel module loader).  Gcc-11 created a
    R_AARCH64_ABS64 relocation entry type for the symbol.
    
    Reviewed-on: https://gerrit.openafs.org/15668
    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: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2f260825b96b76556aba82fc364c841357a23a7d)
    
    Change-Id: Ifce08cb01f0b642ee9c2d90480b8a1766dfc52ff
    Reviewed-on: https://gerrit.openafs.org/15728
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7b4802efaf29ef76969c8b931a31e93dd4fbb000
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Mar 11 09:05:33 2024 -0600

    Linux 6.8: Use roken's strlcpy() in kernel module
    
    The Linux 6.8 commit 'string: Remove strlcpy()' (d26270061a) removed the
    the strlcpy function from the Linux kernel.  The replacement function,
    strscpy(), cannot be used as a drop-in replacement as its currently a
    Linux kernel specific function and there are differences in the returned
    value.
    
    We can use roken's strlcpy() (provided in roken/strlcpy.c).
    
    Create a configure test to that defines its own strlcpy() to test
    if the kernel doesn't provide one itself. Note, we need to use a
    different function signature for strlcpy() from what the kernel might
    have otherwise the test build succeeds when the kernel does provide a
    strlcpy().
    
    Update the OpenAFS kernel specific roken.h to define the prototype for
    strlcpy when it's not present in the Linux kernel.  We need to match the
    defines used in the 'real' roken.h so the roken/strlcpy.c can build
    properly. Add defines for ROKEN_LIB_FUNCTION, ROKEN_LIB_CALL and
    ROKEN_LIB_VARIABLE to the kernel roken.h
    
    Update Linux's osi_machdep.h to include roken.h so the strlcpy protoype
    is available.
    
    Update the Linux MakefileProto to include the strcpy-kernel object
    when building the kernel module.
    
    Reviewed-on: https://gerrit.openafs.org/15646
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 30b18c165752e6d0ce7b6daa6a90453f5e5e6d17)
    
    Change-Id: I8013623e8f735d15bb7d4ac84ed0867f12b77783
    Reviewed-on: https://gerrit.openafs.org/15706
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6333fae573f8a7b7656e9c1b05d445a37b951b88
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Mar 5 08:37:47 2024 -0700

    Linux 6.8: Remove ctl_table sentinels
    
    The Linux 6.8 commit 'sysctl: Remove the now superfluous sentinel
    elements from ctl_table array' (c8a65501d3) was a clean up commit
    that removed the sentinel entry in the ctl_table array (e.g. the
    "null" entry at the end of the table).
    
    As of Linux 6.8, including the sentinel entry (.procname =) in the
    ctl_table is unnecessary, but doesn't yet break anything.  But it is
    likely that including the sentinel will start to cause runtime errors in
    future Linux versions very soon, so avoid the sentinel when we can, to
    avoid possible problems in the future.
    
    Define a new macro that can be used as the last entry of a ctl_table
    that will either add a "null" entry, or nothing.
    
    There is not a specific build test we can use within configure, so we
    must explicitly test the Linux version to decide if we need to use a
    sentinel or not when defining the macro.  We are selecting 6.8 to match
    the version where the Linux kernel is removing the sentinels from the in
    kernel filesystems.
    
    Note: See the Linux merge commits 'Merge tag 'sysctl-6.8-rc1' of
    git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux' (a05aea98d4)
    for more details behind the staged removal of the sentinels in the
    ctl_table structures and the potential future change for removing the
    actual check for the sentinel within the Linux kernel.
    
    Reviewed-on: https://gerrit.openafs.org/15645
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 35c8c1bf0b1cb48178f676ba5bcf16ad59c5a33b)
    
    Change-Id: I34cb7586003e10a6c7438d7205123d57af30585e
    Reviewed-on: https://gerrit.openafs.org/15705
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 18a2a932df9c1b6b3c7513a6c161d4259f052ca9
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 12 12:31:30 2024 -0700

    Linux 6.8: use hlist iteration for dentry children
    
    Linux 6.8 commit 'dentry: switch the lists of children to hlist'
    (da549bdd15) replaces the dentry lists d_subdirs/d_child with the hlist
    d_children/d_sib.
    
    Add an autoconf test for a d_children member in the dentry structure.
    
    Define a macro that uses the applicable Linux function for iterating
    over a dentry's children.
    
    Reviewed-on: https://gerrit.openafs.org/15632
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8e0bbe6a07523dd2e7efb3c9d1b4ad9e19fc9bb7)
    
    Change-Id: Ief4c334c4ef3e54822e068dcdf654541e86b9176
    Reviewed-on: https://gerrit.openafs.org/15704
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fef1fc6f740c6f7395cf51ce99ed296652579c7d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Mar 5 07:40:08 2024 -0700

    rxgen: Declare generated PKG_OpCodeStats()
    
    The function {PKG}_OpCodeStats() is generated by rxgen, however a
    prototype for the function is not generated.
    
    The functions h_ProcMainBody_setup() and h_HeadofOldStyleProc_setup()
    in rpc_parse.c emit prototypes for {PKG}_ExecuteRequest() and
    {PKG}_TranslateOpCode(), but do not emit a prototype for
    {PKG}_OpCodeStats().
    
    Update rxgen to emit a function prototype for {PKG}_OpCodeStats() in the
    generated header file.
    
    Use a variable to point to "PackagePrefix[PackageIndex]" in
    h_ProcMainBody_setup to improve readability.
    
    {PKG}_OpCodeStats(), specifically RXSTATS_OpCodeStats(), is flagged due
    to a missing prototype when building against a Linux 6.8 kernel (which
    sets the -Wmissing-declarations and -Wmissing-prototypes compiler flags
    as default). Linux 6.8 commit:  'Makefile.extrawarn: turn on
    missing-prototypes globally' (0fcb70851f). When building against a
    kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15631
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 26bb4d143b31ba027cf2721ac731df67a174c43b)
    
    Change-Id: I9072d22d142b5b7a2f59b0cfc4026066ef1d9501
    Reviewed-on: https://gerrit.openafs.org/15703
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 57e0192a690942c2a0f4f1f685cfadf2106b763a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 7 15:43:35 2021 -0600

    rxgen: Declare generated PKG_TranslateOpCode()
    
    Ever since commit 5c77a6ca (rxgen: add *TranslateOpcode functions to
    XDR code), rxgen generates a PKG_TranslateOpCode function in the
    relevant .xdr.c source, which can translate an RPC opcode into the RPC
    name. But we never declare this function in a header file, making it
    impossible to use without compiler warnings (unless the caller
    declares the function itself).
    
    To make it possible to actually use this function, declare this
    function in the generated header file.
    
    Reviewed-on: https://gerrit.openafs.org/14871
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9b2c27fc6d299cb0b23eca3e8cb25b7e0c41b11a)
    
    Change-Id: I2479ff7f6579769b3319b2939ffde60fe570c880
    Reviewed-on: https://gerrit.openafs.org/15702
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4c92936aefede187e57a9a433c0c192af2fc5e84
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 15:30:23 2024 -0700

    rx: Add static attribute to internal functions
    
    When building against a Linux 6.8 kernel, functions that are missing
    prototypes or declarations are flagged.
    
    We can add the static attribute to functions that are not referenced
    outside of the file that implements them to avoid having these functions
    flagged by the compiler.
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    There are no functional changes in this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15626
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 55adceba2d561ec4e89235de329782a68e603a11)
    
    Change-Id: I1b2a6e1c07bd4b75b7b83e177f17865eb903e488
    Reviewed-on: https://gerrit.openafs.org/15701
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 195f154aaf2d8aff1f6debdb47c0db8f07cb5c5e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 29 17:53:31 2024 -0700

    afs: Add static attribute to internal functions
    
    When building against a Linux 6.8 kernel, functions that are missing
    prototypes or declarations are flagged.
    
    We can add the static attribute to functions that are not referenced
    outside of the file that implements them to avoid having these functions
    flagged by the compiler.
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    There are no functional changes in this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit efee796f28b53bf3ffc03186f81790c36c23c94c)
    
    Change-Id: I0d923a65731f825d6c190056b0ccc3d362236706
    Reviewed-on: https://gerrit.openafs.org/15700
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 90b8dcff36e9b03ec01550ad1a070a0ab7db8c46
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Feb 9 09:01:33 2024 -0700

    afs: fix 'ops' variable may be used uninitialized
    
    When the function rxfs_storeInit() has the static attribute, gcc flags
    the variable 'ops' as possibly uninitialized.
    
    In function 'afs_CacheStoreDCaches',
        inlined from 'afs_CacheStoreVCache' at
         .../src/afs/afs_fetchstore.c:630:14:
         .../afs/afs_fetchstore.c:535:17: error: 'ops' may be used
         uninitialized [-Werror=maybe-uninitialized]
          535 |         code = (*ops->destroy)(&rock, code);
              |                ~^~~~~~~~~~~~~~
         ...src/afs/afs_fetchstore.c: In function 'afs_CacheStoreVCache':
         ...src/afs/afs_fetchstore.c:567:22: note: 'ops' was declared here
          567 |     struct storeOps *ops;
              |                      ^~~
         cc1: all warnings being treated as errors
    
    This is a false positive report by the gcc compiler.
    
    The function rxfs_storeInit() returns a 0 only when it has successfully
    assigned a value to the ops variable, and afs_CacheStoreDcaches() is
    only called if the return value from rxfs_storeInit() is 0.
    
    The ops variable is only used within a block that is within a for loop,
    which could leave a stray value if the variable isn't initialized within
    that loop.
    
    Assigning a NULL to ops is sufficient to avoid the compiler error, and
    relocating the declaration of the ops variable into the block where it
    is actually used ensures that it's always initialized before its use
    within the loop.
    
    Clean up whitespace in the statement that follows the new location for
    the ops variable.
    
    Note, this commit is being added before a commit that adds the static
    attribute to the rxfs_storeInit() function which also "fixes" the
    compiler error (see: afs: Add static attribute to internal functions).
    
    Reviewed-on: https://gerrit.openafs.org/15630
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 36e4c02ff27b9d66755b9544778896b9b1e5c391)
    
    Change-Id: I9d8a07e576c6bf889f8f182c6fc0d34dc997c004
    Reviewed-on: https://gerrit.openafs.org/15699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 09f9660fbbb4f3c20ba9f2283169818372c3f474
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Feb 7 19:34:29 2024 -0700

    rx: Add function prototypes to rx_prototypes.h
    
    The prototype for rxk_NewSocketHost() is not in a header file, but is
    defined in the referencing .c file. The ARCH/rx_knet.c files that
    implement rxk_NewSocketHost() do not have a prototype (but when the
    rx_kcommon.c implementation is used it does have a prototype, since
    rx_kcommon.c is the "referencing .c file").
    
    Add the prototype for rxk_NewSocketHost() to rx_prototypes.h and
    remove the prototype from rx_kcommon.c
    
    The prototypes for the functions rx_DebugOnOff() and rx_StatsOnOff()
    are defined within rx_prototypes.h, but are within a preprocessor
    conditional for AFS_NT40_ENV, however the implementation for these
    2 functions do not have the preprocessor conditional.
    
    Rearrange the prototypes for rx_DebugOnOff() and rx_StatsOnOff() so they
    are outside the AFS_NT40_ENV preprocessor conditional.
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    There are no functional changes in this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15624
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8528c36b96fe2935f42188caabf4feed0d5dbcbd)
    
    Change-Id: Ieae8be7f89f5c675c6580d8cfb02ea77ce4088f7
    Reviewed-on: https://gerrit.openafs.org/15698
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 53752b01bc734f4bd5f5da24ac116c7fcb2ac07f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 12 09:43:29 2024 -0700

    afs: Remove SRXAFSCB* protos from afs_prototypes.h
    
    The prototypes for the afscbint RPC functions (SRXAFSCB_*) implemented
    in afs_callback.c are defined in 2 locations, afs_protypes.h and
    afscbint.h (which is generated by rxgen).
    
    Remove the protoypes for the SRXAFSCB_* functions from afs_prototypes.h
    as they are redundant and are currently out of sync (the prototypes
    for SRXAFSCB_GetCellByNum() and SRXAFSCB_TellMeAboutYourself() are
    not present in afs_prototypes.h).  Also remove a redundant prototype for
    afs_RXCallBackServer() which was prototyped both before and in the
    middle of the SRXAFSCB* prototypes.
    
    Since afs_callback.c only pulled in afs_prototypes.h and not afscbint.h,
    add an include for afscbint.h to ensure that the all the prototypes for
    the SRXAFSCB_* functions are present.
    
    The 2 functions listed above are flagged due to missing prototypes when
    building against a Linux 6.8 kernel (which sets the
    -Wmissing-declarations and -Wmissing-prototypes compiler flags as
    default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15644
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fae4003b403420d0b548920c7837a2d2b6e432ae)
    
    Change-Id: I7d435455fc60cc10200ee91d0d76534367ab5883
    Reviewed-on: https://gerrit.openafs.org/15697
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 96932160fa8ef1cf4422e9e1d1ca2a449f8ffe93
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 12 08:59:32 2024 -0700

    afs: Add afs_xioctl prototyes to afs_prototypes.h
    
    Several .c files have external function prototypes for the afs_xioctl
    function, while the implementing files do not have the prototype.
    
    Move these prototypes into afs_prototypes.h so that the prototypes are
    available to both the caller and the implementation.
    
    Because the file holding the implementation does not have a prototypes,
    afs_xioctl() is being flagged when building against a Linux 6.8 kernel
    (which sets the -Wmissing-declarations and -Wmissing-prototypes compiler
    flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a Linux kernel with CONFIG_WERROR=y, the build
    fails.
    
    Note that the function afs_xioctl() has platform specific
    implementations.
    
    Reviewed-on: https://gerrit.openafs.org/15643
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 575d986aa6c18ac27ea42fb66ae8b8cb0e27fe6c)
    
    Change-Id: If746111fdcf6a00459f524711623d322d5fc7942
    Reviewed-on: https://gerrit.openafs.org/15696
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c04c2d07226583846c3949a4855c7db4316438da
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 15 09:00:05 2024 -0700

    afs: Move function prototypes into headers
    
    Several .c files contain external function prototypes, while the
    implementing files do not have these prototypes.
    
    Move these prototypes into header files so that the prototypes are
    available to both the caller and the implementation.
    
    Because the file holding the implementation does not have prototypes,
    these functions are flagged when building against a Linux 6.8 kernel
    (which sets the -Wmissing-declarations and -Wmissing-prototypes compiler
    flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Add the prototypes for the following to afs_prototypes.h:
      exporter_add
      afs_syscall (AFS_LINUX_ENV)
      BlobScan
    
    Remove the prototypes from the .c files where they are referenced.
    
    Reviewed-on: https://gerrit.openafs.org/15642
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 85781d7e83ae4501d8ab267bf55ef63f90f63101)
    
    Change-Id: I74333e99e08af88bebdcbff4767d79397acac358
    Reviewed-on: https://gerrit.openafs.org/15695
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8b516820abf1edace60276152e9ed18a0b30fc13
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Feb 12 08:25:47 2024 -0700

    afs: Add includes to pick up function prototypes
    
    The functions defined in LINUX/osi_crypto.c, osi_pagecopy.c,
    osi_probe.c, and osi_syscall.c have function prototypes defined in
    existing header files, however either due to missing includes or
    preprocessor conditionals that skip the includes, these function
    prototypes are not being pulled in.
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Add the necessary includes to osi_crypto.c and osi_pagecopy.c and
    re-arrange the includes in osi_probe.c and osi_syscall.c to ensure that
    the function prototypes are present when building the Linux kernel
    module.
    
    Reviewed-on: https://gerrit.openafs.org/15641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3683f15278e34e13d7272928eaf666f0acc4e1e9)
    
    Change-Id: Iac704fc98d0d685358224049f383d68aa7a105f8
    Reviewed-on: https://gerrit.openafs.org/15694
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 25e17fe7196fd4a46e6a9408d135812ca53ddf80
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 8 11:50:16 2024 -0700

    afs: Declare init_hckernel_mutex()
    
    The function init_hckernel_mutex() (in rand.c) is flagged due to a
    missing prototype when building against a Linux 6.8 kernel (which sets
    the -Wmissing-declarations and -Wmissing-prototypes compiler flags as
    default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Add a function prototype for init_hckernel_mutex() to afs_osi.h and
    remove the prototype from afs_osi.c
    
    There are no functional changes with this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ccc2af429710104793fb4659b10697cceab182b3)
    
    Change-Id: Ic5eb4584a980657a01a1cb4411c0c1f03b1f3560
    Reviewed-on: https://gerrit.openafs.org/15693
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b1c93f13870e24795b857cb483320871703d00e8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Feb 7 15:25:10 2024 -0700

    Linux 6.8: Add function prototypes for krb5
    
    The external files for heimdal/krb5 do not provide function prototypes
    in a header file that is used when building files that we use from
    heimdal/krb5 (e.g. crypto.c).
    
    These functions are flagged due to missing prototypes when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    We cannot modify the external source files, however there is the local
    OpenAFS include file, krb5_locl.h, that does contain OpenAFS specific
    changes.
    
    Add declarations to krb5_locl.h for the functions defined in the
    heimdal/krb5 source.
    
    There are no functional changes with this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15621
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 612927dd1dd44bbd08eda790de12b24213583156)
    
    Change-Id: Iaae28186a24c3c5ca4407de9563c8cfed9644921
    Reviewed-on: https://gerrit.openafs.org/15692
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 15357006d9e8e45ac0be9e0c7e87456ee3857d90
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 30 20:44:48 2024 -0600

    roken: Declare ct_memcmp in hcrypto kernel roken.h
    
    Currently, we build roken's ct.c for our kernel module to provide
    ct_memcmp(). We declare a prototype for ct_memcmp() in krb5_locl.h,
    and all of our kernel callers of ct_memcmp() include krb5_locl.h, so
    all callers get a prototype and avoid "implicit declaration" compiler
    warnings.
    
    However, roken's ct.c itself does not include krb5_locl.h, so it
    doesn't get a prototype for ct_memcmp(). This is dangerous, since if
    the prototype ever slightly differs from the implementation for any
    reason, it could cause a variety of issues.
    
    This also causes warnings when building against a Linux 6.8 kernel
    (which sets the -Wmissing-declarations and -Wmissing-prototypes
    compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    We cannot change ct.c, since it is an external source file. To fix
    this, instead move the prototype of ct_memcmp() to our stub
    kernel-only roken.h header, which is included by ct.c. Make
    krb5_locl.h also include roken.h when building kernel code, so all of
    the ct_memcmp() callers also get the prototype.
    
    While we're here, add some informative comments and an include guard
    to our previously-blank roken.h stub.
    
    Written in collaboration with cwills@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/15620
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit be236069e9d26339ed5f9939965bca0dd3f8bf4e)
    
    Change-Id: I1112881938b0585263871f8f83d63b8909b12f0d
    Reviewed-on: https://gerrit.openafs.org/15691
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5d2c4a0a8ada4a87d7f39dc21dbce14b3b2a978f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 15:52:57 2024 -0700

    afs: Add declaration for RXAFS_ResidencyCmd()
    
    The function RXAFS_ResidencyCmd() is 'manually' defined within the
    afsint.xg, so a prototype for the function is not defined.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Add a prototype for RXAFS_ResidencyCmd
    
    There are no functional changes with this commit
    
    The function RXAFS_ResidencyCmd() was introduced with commit:
    'rename-residency-from-mrafs-to-osd-20090427' (8655541d1e)
    
    Reviewed-on: https://gerrit.openafs.org/15619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1d6cfbc5f627abf3808aae97afb72662301483b5)
    
    Change-Id: I42d0868b83e119b0c3348a3af8aaf5961c040bb2
    Reviewed-on: https://gerrit.openafs.org/15690
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 73844a4939a7b8198bf11d4dcbce9e28b621bd11
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 8 16:10:57 2024 -0700

    afs: Remove afs_DbgDisconFiles()
    
    The function afs_DbgDisconFiles() is not referenced anywhere within the
    source tree.
    
    Remove the function afs_DbgDisconFiles().
    
    The commit: 'disconnected-rw-20080922' (433afd4779) introduced
    afs_DbgDisconFiles(), but the function was never used.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15640
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 32bb90047782f41df521bba5ab4aba8b4ed34203)
    
    Change-Id: I61d06515845dbb18a370f7856285596514242e99
    Reviewed-on: https://gerrit.openafs.org/15689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit be8001f1d64a2d9da4fdaeff59fdc40e205d4526
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 8 12:22:13 2024 -0700

    afs: Remove SRXAFSCB_FetchData/StoreData
    
    Commit 'client-64bit-file-size-support-20011031' (971b18bc42) introduced
    the RPC functions SRXAFSCB_FetchData() and SRXAFSCB_StoreData with RPC
    numbers of 65536 and 65537 respectively.
    
    Commit 'more-64bit-file-size-support-20011031' (c5b1a3775f) removed the
    references from afscbint.xg, but did not remove the actual code. The
    65536 RPC number was reassigned to SRXAFSCB_GetCE64, and the commit:
    'This is mostly a rewrite of src/afs/afs_cell.c, and associated changes'
    (629d08065) assigned the 65537 RPC to SRXAFSCB_GetCellByNum.
    
    Remove the 2 functions since there are no references other than the
    prototype in afs_prototypes.h.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    Reviewed-on: https://gerrit.openafs.org/15639
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 379f7fc51d411990189ec28e48c91edc87d76120)
    
    Change-Id: I1a3539227d22e6df89d78245634dfeb14943035a
    Reviewed-on: https://gerrit.openafs.org/15688
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bb7eaafb2e87d313eeb0a7bedebe2aa7a797b005
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 08:56:31 2024 -0700

    afs: Remove DFlushDCache()
    
    The function DFlushDcache() is not referenced anywhere within the
    source tree.
    
    Remove the function DFlushDCache().
    
    The commit: 'disconnected-shadow-directory-fixes-20090121' (4045f3d535)
    removed the code reference to DFlushDCache() and the commit:
    "dir: Prototype and function name cleanup" (5ad1e6cb90) removed the
    function prototype.  The function was introduced in the commit:
    "disconnected-flush-before-shadowing-20090119" (e1cc987ea5).
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     "Makefile.extrawarn: turn on missing-prototypes globally" (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15615
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 432ac5810e51bb5bb2cf1df0bfebc64d1c4d7a39)
    
    Change-Id: Ib8ab79c76c633632215e02235f47fdb1d744e721
    Reviewed-on: https://gerrit.openafs.org/15684
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bd2828f1ab4c88b95a5d075e29a942922aa86dba
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 09:28:02 2024 -0700

    afs: Remove dummy_PSetAcl()
    
    The function dummy_PSetAcl() is not referenced anywhere within the
    source tree.
    
    Remove the function dummy_PSetAcl().
    
    The commit: 'doxygen-comments-20081010' (4b72f8765c)
    introduced the function, but dummy_PSetAcl() has never been referenced
    or defined within a header file.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15618
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 05ca98687d882c72915e91430e29a4f2a36c502c)
    
    Change-Id: Ie4420a365e07d2d8564530e004df75330e86bea5
    Reviewed-on: https://gerrit.openafs.org/15687
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cc8053e86eef75bff308e7606f2618e9fdc4ec5d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 09:13:27 2024 -0700

    afs: Remove afs_osi_UnmaskUserLoop()
    
    The function afs_osi_UnmaskUserLoop() is not referenced anywhere within
    the source tree.
    
    Remove the function afs_osi_UnmaskUserLoop().
    
    The commit: 'darwin-afsdb-handler-signal-mask-20040728' (9728182c00)
    introduced the function, but afs_osi_UnmaskUserLoop() has never been
    referenced or defined within a header file.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Reviewed-on: https://gerrit.openafs.org/15617
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 587cfce29cb4e014e5b8d96e0433c5e7d2c6729a)
    
    Change-Id: I0fe91a41e8f00773cb1d5976a8c3e39e4415f6bc
    Reviewed-on: https://gerrit.openafs.org/15686
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4881af8e3cf3f7d09670ba4b5bb9b644a329530d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 12 09:09:39 2024 -0700

    afs: Remove afs_MemExtendEntry()
    
    The function afs_MemExtendEntry() is not referenced anywhere within
    the source tree.
    
    Remove the function afs_MemExtendEntry().
    
    The commit: 'memcache: add extend-entry function' (f821c7e5c8)
    introduced the function, but afs_MemExtendEntry() has never been
    referenced or defined within a header file.
    
    This function is flagged due to a missing prototype when building
    against a Linux 6.8 kernel (which sets the -Wmissing-declarations and
    -Wmissing-prototypes compiler flags as default). Linux 6.8 commit:
     'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f).
    
    When building against a kernel with CONFIG_WERROR=y, the build fails.
    
    Note, afsMemExtendedEntry() was a wrapper for the function
    _afs_MemExtendedEntry(), which is still used.
    
    Reviewed-on: https://gerrit.openafs.org/15616
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit eab2a4ae758876bb7547d289f936f9cfc4227cf5)
    
    Change-Id: I37f241a6df33ab15249c6708d5ca820353c8b413
    Reviewed-on: https://gerrit.openafs.org/15685
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ef7b8c578790d84c89f09c3236f1718725770e75
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Feb 7 14:51:23 2024 -0700

    cf: Add function prototypes for linux conftest
    
    The Linux 6.8 commit:
      'Makefile.extrawarn: turn on missing-prototypes globally' (0fcb70851f)
    
    added the compiler flags -Wmissing-declarations and -Wmissing-prototypes
    as defaults for all kernel modules builds.  This change causes configure
    to fail for various Linux kernel tests.
    
    Update the template used to create the conftest.c file to provide a
    function declaration for conftest().
    
    Use a 'static' attribute when defining functions used within tests.
    
    Note: 2 configure tests (LINUX_INIT_WORK_AS_DATA and
    LINUX_IOP_CREATE_TAKES_MODE_T) defined nested functions.  Relocate the
    nested functions to outside the body of conftest() to avoid compiler
    errors due to nested function definitions.
    
    Reviewed-on: https://gerrit.openafs.org/15614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1440843b80e28db908bd8c264b8adbfb2c95b4d9)
    
    Change-Id: I38acb7b0cb08dec8e9bca5f3792fbf981884a74c
    Reviewed-on: https://gerrit.openafs.org/15683
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 05ac6149f2f7998b6110c403d26757151b8e8ffe
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 11 15:36:54 2021 -0500

    afs: remove dead ICL (fstrace) code
    
    The ICL code (afs/afs_icl.c) which supports fstrace includes a number of
    functions that have been dead code since the original IBM code import.
    Some of these seem to have been intended to support fine-grained event
    tracing, but the implementation was never completed.
    
    Remove the dead code.  No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ba58d9912cff07a6f2af7275017cf70115f1a88d)
    
    Change-Id: Ic0a6d5dac200e7e130fa8df66005bdaf291cf088
    Reviewed-on: https://gerrit.openafs.org/15682
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9f052c137d1184a783c8ac3182c3544b275484f5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Jan 9 12:50:03 2021 -0600

    afs: Remove SRXAFSCB_GetDE
    
    The GetDE RPC has been commented out from afscbint.xg effectively
    since it was introduced, but we still define the SRXAFSCB_GetDE server
    stub for it.
    
    This is useless, but also potentially dangerous, since the stub
    routine just returns success, without populating the output arguments.
    One of the output arguments is a string, and so if this RPC is
    actually run, the rxgen-generated server code will try to xdr_string()
    that string. Since we never set it to anything, this will result in
    xdr_string trying to dereference a NULL pointer.
    
    None of this actually happens currently, since the GetDE RPC is
    commented out. But to avoid the above situation if it's ever
    uncommented, remove the useless SRXAFSCB_GetDE function.
    
    Reviewed-on: https://gerrit.openafs.org/14488
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 444a971edc47c34efbefed6e332ee6e843ae072b)
    
    Change-Id: I83846d79ce3143571923cb6023075620091f093d
    Reviewed-on: https://gerrit.openafs.org/15681
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1e1bf8ebcd3c18b05326cd7b26a471db804aeaeb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 24 23:22:01 2018 -0500

    LINUX: Minor osi_vfsop.c cleanup
    
    - Fix the formatting on afs_mount/afs_get_sb definitions
    
    - Declare a couple of functions static that are not referenced outside
      of this file
    
    Reviewed-on: https://gerrit.openafs.org/13282
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fa15fbda0aa0c3810695d9b867d3258b60e76b7c)
    
    Change-Id: I8a32475bf2ddb9c7206aef679947021925697c5a
    Reviewed-on: https://gerrit.openafs.org/15680
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fca6fd911e493a344c040a95ea4ab820e2828802
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 12:50:52 2018 -0500

    afs: Make afs_AllocDCache static
    
    Nothing using afs_AllocDCache outside of afs_dcache.c. Declare the
    function static, to ensure that nobody else uses it, and to maybe
    allow for more compiler optimization.
    
    Reviewed-on: https://gerrit.openafs.org/13226
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4ab70de9641807bd06056f0c1ac79550453b9574)
    
    Change-Id: I6fd9e31c4b2e862174402f731a77c91599893223
    Reviewed-on: https://gerrit.openafs.org/15679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1a36b929773ea369a5b14a48759949fe6acbe3b7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 7 12:48:22 2024 -0500

    Make OpenAFS 1.8.11
    
    Update version strings for the 1.8.11 release.
    Add final updates to NEWS.
    
    Change-Id: Id66da29a5001f18e8816bcb214f70544474bfaef
    Reviewed-on: https://gerrit.openafs.org/15671
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 33fabe9e0b3c8b608bff82f3fda9ba2f8b3775a7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 11:09:52 2018 -0600

    roken: Use srcdir for roken-post.h
    
    roken-post.h is a source file, not a generated file in the objdir.
    Specify $(srcdir) so we can work with objdir builds.
    
    Reviewed-on: https://gerrit.openafs.org/13387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 345a739b7bb6c9c142a2b0fe584fed6c44d6c655)
    
    Change-Id: Ie02f0aaf373bebe74b0eaf8969b712c146a462f8
    Reviewed-on: https://gerrit.openafs.org/15638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 47c4fb427a02809a73a8f7024e49ff5f58d2be06
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Aug 3 17:35:02 2023 +0200

    Make OpenAFS 1.8.11pre1
    
    Update version strings for the first 1.8.11 prerelease.
    
    Change-Id: I161717ae5670a3261ebbc1fe8fe9c13c18868e74
    Reviewed-on: https://gerrit.openafs.org/15527
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 85d4e2dce876d4bf8b7ebbdafb8b5d357badca2f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 21 13:23:10 2023 -0400

    Update NEWS for 1.8.11 pre-release
    
    Add NEWS items for the upcoming 1.8.11 release.
    
    Change-Id: I0b690b0aa273c05f33e68e1ba086863703266b3b
    Reviewed-on: https://gerrit.openafs.org/15551
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1f63ffef477d63984dbd65bc83955c0e36f9fc44
Author: Indira Sawant <indira.sawant@ibm.com>
Date:   Wed Dec 20 18:20:53 2023 -0800

    util: Clear owner when unlocking recursive mutex
    
    A race condition where the pthread_recursive_mutex_t::owner that is maintained
    by AFS doesn’t match with the thread that is trying to unlock.
    
    This leads to AFS file server and ptserver crash due to assertion failure
    where it was trying to unlock the grmutex.
    
    We saw the race more often when our customer migrated their machines from
    Power8 to Power9 systems and increased the SMT value from 2 to 4.
    
    fileserver        Assertion failed! file keys.c, line 911.
    ptserver          Assertion failed! file userok.c, line 78.
    
    File: keys.c
    
     889 int
     890 afsconf_GetKeyByTypes(struct afsconf_dir *dir, afsconf_keyType type,
     891                       int kvno, int subType,struct afsconf_typedKey **key)
     892 {
     893     int code = 0;
     894     struct subTypeList *subTypeEntry;
     895
     896     LOCK_GLOBAL_MUTEX;
     897
    …
     910 out:
     911     UNLOCK_GLOBAL_MUTEX;   <<<<
     912     return code;
     913 }
    
    Consider a following situation,
    cpu0 , cpu1 and T0, T1 and T2 are the cpus and timestamps respectively,
    
    T0: thread1 locks grmutex performs some operations and unlocks the same,
    thus has itself set as pthread_recursive_mutex_t::owner. Since presently we do
    not reset it, thus, pthread_recursive_mutex_t::owner = thread0.
    T1: thread0 starts on cpu0.
    T2: thread1 starts on cpu1.
    T3: thread0 tries to lock AFS grmutex and acquires corresponding pthread_mutex,
    now before thread0 updates pthread_recursive_mutex_t::owner, a context switch
    happens.
    T3: thread1 on cpu1 tries to acquire grmutex and sees itself as the
    pthread_recursive_mutex_t::owner, possibly as it was not reset and updated yet.
    So thread1 thinks itself as the owner and proceeds.
    T4: thread0 updates the pthread_recursive_mutex_t::owner this time it is also
    synced across the cpu caches.
    T5: thread1 tries to unlock the grmutex and crashes because now it’s not the
    owner of the mutex.
    
    Debugging:
    
    We implemented a circular log to store certain values related to grmutex which
    helped in debugging us this further.
    
    ({  \
       time_t t; \
       time(&t); \
       LOG_EVENT("%s: Unlocking TID %u: %s:%d owner %lu " \
                 "locked %d  pthread_self %u times_inside %d\n", \
                  ctime(&t), (unsigned)grmutex.mut.__data.__owner,\
                  __func__    , __LINE__, \
                  grmutex.owner, grmutex.locked, (unsigned)pthread_self(), \
                  grmutex.times_inside); \
       opr_Verify(pthread_recursive_mutex_unlock(&grmutex)==0); \
    })
    
    $614 =   "Mon Sep 11 19:35:34 2023\n: Locking TID 136896:
    afsconf_GetKeyByTypes:896 owner 140735030161776 locked 1
    pthread_self 2305880432 times_inside 1\n\000 2\n",
    
    $615 =   "Mon Sep 11 19:35:34 2023\n: Unlocking TID 136896:
    afsconf_IsLocalRealmMatch:602 owner 140735030161776 locked 1
    pthread_self 1836773744 times_inside 2\n",
    
    $617 =   "Mon Sep 11 19:35:34 2023\n: Unlocking TID 136896:
    afsconf_GetKeyByTypes:911 owner 140735030161776 locked 1
    pthread_self 2305880432 times_inside 1\n\000\061\n",
    
    Solution:
    
    This problem was resolved after resetting thread_recursive_mutex_t::owner in
    global mutex unlock function.
    
    Thanks to Todd DeSantis for helping with debugging, review and verification of
    this problem.
    
    Signed-off-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-on: https://gerrit.openafs.org/15604
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e4fda3481dc9ec651377493afbc95bd40f4f1fb2)
    
    Change-Id: I400892121d1b1f63adcd6848e774ede1c4ec5da9
    Reviewed-on: https://gerrit.openafs.org/15609
    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>

commit 6edf9d350c6ffd9d5e51fb8106701c1bc2f6a4d9
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Nov 9 10:38:29 2023 -0700

    Linux 6.7: convert to inode a/mtime accessor funcs
    
    The Linux 6.7 commit "fs: new accessor methods for atime and mtime"
    (077c212f03) is a follow up to the Linux 6.6 commit "fs: add ctime
    accessors infrastructure" (9b6304c1d5)
    
    With the above 6.7 commit, the inode's i_atime and i_mtime are renamed
    to __i_atime and __i_mtime and accessing these members should use the
    new accessor functions.
    
    This commit is similar to the OpenAFS commit "Linux 6.6: convert to
    ctime accessor functions" (072c7934cd1)
    
    Add autoconf tests to detect when we need to use the new accessors and
    introduce new wrapper functions to get and set an inode's atime and
    mtime.
    
    Note, unlike the (072c7934cd1) commit, we need to add support for
    reading an inode's atime and mtime, so this commit has the getters for
    the atime and mtime members.
    
    Reviewed-on: https://gerrit.openafs.org/15597
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8962767a7e27f8db9dc9001999edf573be706d66)
    
    Change-Id: If5f58df74f37749b7dfdc52172a8e9573d849ecd
    Reviewed-on: https://gerrit.openafs.org/15600
    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: Benjamin Kaduk <kaduk@mit.edu>

commit fd527549c2d2b29a955f8c0427ac67c5d49ef38c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Sep 15 15:01:56 2023 -0400

    dir: Introduce struct DirEntryFlex
    
    The directory package as implemented in AFS-2 allocates space for each
    directory entry as a DirEntry struct followed by 0-8 contiguous
    DirXEntry structs, as needed. This is implemented by:
    
     - afs_dir_NameBlobs    calculates the number of blocks needed
     - FindBlobs            allocates and returns index of entry
     - afs_dir_GetBlob      returns pointer to 1st DirEntry struct
    
    After this, we populate DirEntry (and any contiguous DirXEntry blocks)
    with open code.  Most existing code writes the entry's name via a string
    copy operation to DirEntry->name, which is only 16 bytes long.
    Therefore, for dir entry names that are 16 bytes or longer, OpenAFS
    routinely does string copies that look like buffer overruns.  This has
    not previously caused problems because the OpenAFS code has arranged for
    a sufficiently large amount of contiguous memory to be available.
    However, this remains undefined behavior in the C abstract virtual
    machine; thus compilers are not required to produce safe operation.
    
    Recent changes in the OpenAFS build chain have made this approach no
    longer viable:
    
    1) Linux 6.5 commit df8fc4e934c12b 'kbuild: Enable
    -fstrict-flex-arrays=3' modified the hardening of several kernel
    string operations when running with CONFIG_FORTIFY_SOURCE=y.
    
    2) gcc 13 commit 79a89108dd352cd9288f5de35481b1280c7588a5
    '__builtin_dynamic_object_size: Recognize builtin' provides some
    enhancements to _builtin_object_size.  The Linux commit above will now
    use these when the kernel is built with gcc 13.
    
    When OpenAFS is built under Linux 6.5 or higher and gcc 13 or higher,
    the hardened strlcpy will BUG for directory entry names longer than 16
    characters.
    
    Since there are multiple places where OpenAFS writes directory names,
    there are several symptoms that may manifest.  However, the first one is
    usually a kernel BUG at cache manager initialization if running with
    afsd -dynroot _and_ there are any cell names 15 characters or longer in
    the client CellServDB.  (A 15-character cellname reaches the 16
    character limit when -dyrnoot adds the RW mountpoint ".<cellname>".)
    
    Address this by using flexible arrays (standardized with C99). A
    flexible array is a variable-length array that is declared with no size
    at all, e.g., name[].
    
    Create an autoconf test to determine whether the compiler supports
    flexible arrays.
    
    Create a new struct DirEntryFlex.  If the compiler supports
    flexible arrays, define name[]; otherwise retain the name[16]
    definition.
    
    Whenever we write a directory name, use DirEntryFlex so that any
    hardening will be satisfied that there is sufficient space for the name.
    
    However, the actual guarantee that this is true is still provided by the
    OpenAFS directory routines mentioned above - all of these remain
    unchanged.
    
    The DirEntry struct remains unchanged for continued use in OpenAFS, as
    well as for any out-of-tree users of the directory package.
    
    Reviewed-on: https://gerrit.openafs.org/15573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit e2ec16cf941b0aadfbd54fc2f52edd58b62e232d)
    
    Change-Id: Ibf6d3549ba1e941c957e98ef4875152d865c9358
    Reviewed-on: https://gerrit.openafs.org/15599
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9ff262312619f25ca4b36e853e6f79782108f21b
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Sep 18 18:41:23 2023 -0400

    dir: Allow 256-byte directory entry names in salvager
    
    Since the original IBM code import, the DirOK test for directory entry
    names has been off-by-1; it says that directory names of length MAXENAME
    256 are "too-long".
    
    Modify DirOK to properly validate directory entry names during salvage.
    While here, remove MAXENAME in favor of AFSNAMEMAX.
    
    Reviewed-on: https://gerrit.openafs.org/15574
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 319c1ca87af66425048e498e300e7d8e714fc98a)
    
    Change-Id: Ie4355f9867372f99e4cb283a209953fcda949397
    Reviewed-on: https://gerrit.openafs.org/15598
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 56763a199f92101c35d6b9b733302cb08fe0cdbe
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Nov 2 09:46:34 2023 -0600

    Linux: Fix to use time_t instead of time64_t
    
    In commit 'Linux 6.6: convert to ctime accessor functions' (072c7934cd)
    the functiom afs_inode_set_ctime was defined to use time64_t when it
    should have used a time_t as the data type for the sec parameter.
    See the commit 'LINUX 5.6: define time_t and use timespec/timespec64'
    (78049987aa).
    
    The time64_t data type was introduced in Linux 3.17.  A build failure
    will occur when building on kernels prior to Linux 3.17.
    
    Reviewed-on: https://gerrit.openafs.org/15595
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit a2f77c53073b3999887eb689f396a414b191aba7)
    
    Change-Id: Ie14d9ebbcce6a5d2db0fc38eb4d97aa30f574da9
    Reviewed-on: https://gerrit.openafs.org/15596
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 519918dfed42fd3dc338facdb88f8be205a00383
Author: Ganesh Chaudhari <gangovind@in.ibm.com>
Date:   Fri Oct 20 16:16:16 2023 +0530

    macos: Add support for MacOS 14.X (Sonoma)
    
    This commit introduces the new set of changes/ files required
    to successfully build and package the OpenAFS source code on
    MacOS 14.X "Sonoma".
    
    Signed-off-by: GANESH CHAUDHARI <gangovind@in.ibm.com>
    Reviewed-on: https://gerrit.openafs.org/15591
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f379e1b255ebb5094c5acc11a9234d5a321818c2)
    
    Change-Id: I913bf9ae5eda0ae571c727e95f9f3ac113df9f64
    Reviewed-on: https://gerrit.openafs.org/15602
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 88d3cbbf7e86cc628011c0ba414225400136d57a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jan 26 19:30:04 2023 +0100

    CellServDB update 31 October 2023
    
    Update all three copies in the tree, and the rpm specfile.
    
    Reviewed-on: https://gerrit.openafs.org/15601
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 26fdb47dba4852f3525db00c6eb72863d92d74fa)
    
    Change-Id: I4468ff651da06236543e0c7ac7aee247ed03cfa3
    Reviewed-on: https://gerrit.openafs.org/15603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4f1d8104d17d2b4e95c7abaf5498db6b80aefa8f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Sep 18 12:23:01 2023 -0600

    Linux 6.6: Pass request_mask to generic_fillattr
    
    The Linux 6.6 commit: "fs: pass the request_mask to generic_fillattr"
    (0d72b92883) added an additional parameter to Linux's
    generic_fillattr() function.
    
    For openafs, generic_fillattr() is called from the inode_operations
    method "getattr", which is implemented in afs_linux_getattr(). The value
    for the request_mask parameter is an existing parameter that is passed
    to the inode_operations "getattr" method.
    
    Add an autoconf test for 4 parameters to the generic_fillattr function
    and update afs_linux_getattr() to pass the request_mask to
    generic_fillattr().
    
    Reviewed-on: https://gerrit.openafs.org/15561
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4fed232b80fb1ad6c0e1dfb42ed8d8e1e6821dd7)
    
    Change-Id: I5cddc56c5e605a6c5e4f7f3691eafec8ca589d2c
    Reviewed-on: https://gerrit.openafs.org/15590
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6413fdbc913834f2884989e5811841f4ccea2b5f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Oct 5 14:44:49 2023 -0600

    Linux 6.6: convert to ctime accessor functions
    
    The Linux 6.6 commit "fs: add ctime accessors infrastructure"
    (9b6304c1d5) added accessor functions for an inode's ctime member.
    A follow on commit "fs: rename i_ctime field to __i_ctime" (13bc244578)
    changed the name of the inode member ctime to __i_ctime to indicate it's
    a private member.
    
    Add an autoconf test for the ctime accessor function
    'inode_set_ctime()'.
    
    Add an afs_inode_set_ctime to LINUX/osi_machdep.h that is either defined
    as a macro to Linux's inode_set_ctime, or implements a static inline
    function to set a inode's ctime.
    
    Convert the setting of an inode's ctime to use afs_inode_set_ctime().
    
    For more information behind the Linux change, see the commit message
    for:
     "Merge tag 'v6.6-vfs.ctime'
      of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs" (615e95831)
    
    Reviewed-on: https://gerrit.openafs.org/15560
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 072c7934cd1b99052882f02294f7036d422b6cf1)
    
     Conflicts:
            src/cf/linux-kernel-func.m4 (context)
    
    Change-Id: I729408d12a7946f5778b036ca7e2c14299f3ce8e
    Reviewed-on: https://gerrit.openafs.org/15589
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6de0a646036283266e1d4aeb583e426005ca5ad4
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Aug 29 14:58:10 2023 -0600

    linux: Replace fop iterate with fop iterate_shared
    
    The Linux 6.5 commit:
      'vfs: get rid of old '->iterate' directory operation' (3e32715496)
    removed the filesystem_operations iterate method.  The replacement
    method, iterate_shared, was introduced with the Linux 4.6 commit:
      'introduce a parallel variant of ->iterate()' (6192269444)
    
    The above commits indicate that the iterate_shared is an "almost"
    drop-in replacement for iterate.  The vfs documentation for
    iterate_shared has caveats on the implementation (serializing in-core
    per-inode or per-dentry modifications and using d_alloc_parallel if
    doing dcache pre-seeding).  A wrapper is provided to assist filesystems
    with the migration from iterate to iterate_shared.  Until it can be
    verified that afs_linux_readdir meets the above requirements, we will
    use the wrapper (ref 3e32715496 commit)
    
    Add configure tests for the iterate_shared file_operations member and
    for the wrap_directory_iterator function.
    
    Update osi_vnodeops.c to use iterate_shared and the wrapper if they are
    both available.
    
    Reviewed-on: https://gerrit.openafs.org/15528
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7437f4d37719ea53711e06ac9675dad1abd6769e)
    
    Change-Id: Id00cfab2c0b51c2167fe19cd9cf7f136450ff174
    Reviewed-on: https://gerrit.openafs.org/15558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5b647bf17a878271e1ce9882e41663770ee73528
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Sep 6 11:41:55 2023 -0600

    LINUX: Pass an array of structs to register_sysctl
    
    The Linux 6.6 commit "sysctl: Add size to register_sysctl" (9edbfe92a0)
    renamed the Linux function register_sysctl() to register_sysctl_sz() and
    added a size parameter. For backward compatibility, a macro,
    register_sysctl, is provided. The macro calculates the size of the
    ctl_table being registered and passes the size to register_sysctl_sz.
    However, in order to perform the size calculation, an array of ctl_table
    structures must be passed as the 2nd parameter.
    
    This change only affects the autoconf test used to determine if Linux
    provides register_sysctl.
    
    Update the autoconf test for register_sysctl to use an actual ctl_table
    structure for the 2nd parameter instead of a NULL.
    
    Reviewed-on: https://gerrit.openafs.org/15559
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 76879b28798840fa0df441c328ada9667f06b154)
    
    Change-Id: I9209d9fbc4514ab658f373510decfc2e81a5dc5f
    Reviewed-on: https://gerrit.openafs.org/15575
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2ebafdc5349c7ae4418a98c244b6959388c50bf2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 2 16:02:57 2023 -0500

    rx: Check for callNumber before NULL server call
    
    In rxi_ReceiveServerCall(), we compare the callNumber in the given
    packet to the callNumber on the conn's channel. If the packet's
    callNumber is smaller, it indicates the packet is for an earlier call
    that has since ended, and we ignore it.
    
    However, we perform this check after checking whether we need to
    allocate a new call (conn->call[channel] is NULL), or use an existing
    call. If we allocate a new call, we don't check the conn's callNumber
    at all, and unconditionally set it to the callNumber in the packet.
    
    This means that if a server call ends and is successfully
    rxi_FreeCall()'d, the server will accept any callNumber on the same
    channel. If the server sees an old DATA packet from an earlier call
    after this happens, it means the server can effectively re-run an RPC
    that has already completed successfully, or that the client has
    already seen fail.
    
    A server can see a DATA packet for an old call under a variety of
    situations, which is, after all, why we check it (dup'd/delayed
    packets, the client could still be trying to run an old call, etc).
    Seeing one for a freed call is less likely since that usually requires
    more time to have passed, but is still possible.
    
    Checking the callNumber was effectively moved in commit 99b43273c0
    (rx: prevent connection channel assignment race) in the 1.7.x series.
    This commit makes the check similar to how it was in 1.6.x and
    earlier.
    
    Reviewed-on: https://gerrit.openafs.org/15524
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 448e82b45268e8b339bdaa6ab0cd5858a04250a9)
    
    Change-Id: I4a0c8a578cef32da8411bd33610aed9c67dc47c6
    Reviewed-on: https://gerrit.openafs.org/15562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 00f13c45d637249a0d698458e08c1b8e2da8e219
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jun 21 13:56:29 2023 -0600

    cf: Use static allocated structs for cf tests
    
    The Linux kernel module build will issue a warning when a stack frame
    exceeds a specific size via the -Wframe-larger-than= compiler flag (with
    a default size of 2048 bytes on most architectures).
    
    At least one distribution, Oracle's Linux with the Unbreakable
    Enterprise Kernel (UEK), hardens this check by changing the warning to
    an error (-Werror=frame-larger-than=).
    
    Several of the openafs autoconf tests use objects that are allocated on
    the stack when testing for structures, or members of a structure.
    When the warning is changed to an error, configure fails in several
    locations when testing against Linux's task_struct structure, which
    exceeds 2048 bytes in size.
    
       openafs/conftest.dir/conftest.c:72:1: error: the frame size of 9984
       bytes is larger than 2048 bytes [-Werror=frame-larger-than=]
    
    Update the autoconf Linux tests that allocate structures to use a
    statically allocated structure instead of one allocated on the stack.
    
    Reviewed-on: https://gerrit.openafs.org/15477
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit a939eb7ffd2517a127aeb02ebd962e00e9acb960)
    
    Change-Id: Ib1d5b8218981890751187fbcf724dd6643356e98
    Reviewed-on: https://gerrit.openafs.org/15549
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4212d485cb2e0b1fa06b73bd21ca38ea8e3a8fa6
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu May 25 15:51:10 2023 -0600

    clang: Don't redefine printf in salvage.c
    
    The Gentoo distribution changed the default fortify_source setting for
    clang (to match the default being used for gcc).  This change causes the
    following build error:
    
        src/dir/salvage.c:26:9: error: 'printf' macro redefined
            [-Werror,-Wmacro-redefined]
                ^
        /usr/include/bits/stdio2.h:89:11: note: previous definition is here
              ^
        1 error generated.
    
    If the fortify_source level is greater than 1, glibc can define printf
    as a macro.  The clang compiler has a default check for macro
    redefinitions (-Wmacro-redefined), while gcc does not provide this
    option.
    
    Remove the:
       #define printf Log
    in src/dir/salvage.c and update callers to use Log() instead of
    printf().
    
    Clean up lines that split the call to Log and its first parameter.  Fix
    the indentation for Log's parameters.
    
    There are no functional changes with this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit df7f841f3852b5417a1d4ebc981780f2d7651b60)
    
    Change-Id: I9a7d9e70184eb1dbd04f2b1a0e9a668138baaabe
    Reviewed-on: https://gerrit.openafs.org/15548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d19554327fa92cee4eb2d914304fed02e20543e7
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Sep 24 15:59:47 2019 -0600

    Retire the AFS_PTR_FMT macro
    
    Originally '%x' was commonly used as the printf specifier for formatting
    pointer values.
    
    Commit 37fc3b01445cd6446f09c476ea2db47fea544b7d introduced the
    AFS_PTR_FMT macro to support platform-dependent printf format specifiers
    for pointer representation. This macro defined the format specifier as
    '%p' for Windows, and '%x' for non-Windows platforms.
    
    Commit 2cf12c43c6a5822212f1d4e42dca7c059a1a9000 changed the printf
    pointer format specifier from '%x' to '%p' on non-Windows platforms as
    well, so at this point '%p' is the printf pointer format specifier for
    all supported platforms.
    
    Since the AFS_PRT_FMT macro is no longer platform-dependent, and all C89
    compilers support the '%p' specifier, retire the macro to simplify the
    printf format strings.
    
    Reviewed-on: https://gerrit.openafs.org/13830
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit a133f1b1e7eb605c36ac16a6ed115bef03e8a004)
    
    [cwills@sinenomine.net] As part of the 1.8.x pullup, remove AFS_PTR_FMT
    from the files in src/xstat
    
    Change-Id: I1fbb6a9b1c957adf45ca528d744a373809d1b780
    Reviewed-on: https://gerrit.openafs.org/15547
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e644e2fc7db3cf9186184fc3586b8c8320f458a5
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun Mar 3 20:51:45 2019 -0500

    dir: check afs_dir_MakeDir return code in DirSalvage
    
    Since the original IBM import, DirSalvage() has ignored the return code
    from afs_dir_MakeDir() (f.k.a. MakeDir).  This has been safe because, as
    the comment states, afs_dir_MakeDir returns no (non-zero) error code.
    
    In preparation for a future commit, add a check for the return from
    afs_dir_MakeDir and remove the comment.
    
    Reviewed-on: https://gerrit.openafs.org/13799
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0639ca8d221231309d59882a63e5a95a10cfdac3)
    
    Change-Id: I13def0fdda5911b16704ba426c4fe2df389311a2
    Reviewed-on: https://gerrit.openafs.org/15546
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a367bed24fdc519b78e252e7a48f8d0666b1c7dd
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jan 30 14:04:05 2020 -0500

    dir: distinguish logical and physical errors on reads
    
    The directory package (src/dir) salvage routines DirOK and DirSalvage
    check a global variable 'DErrno' to distinguish logical errors (e.g.
    short read) from physical errors (e.g. EIO).  However, since the
    original IBM import, this logic has not worked correctly because there
    is no longer any code that sets the value of DErrno - its value is
    always zero.
    
    Instead, modify all implementations of ReallyRead to optionally return
    the errno for low-level IO errors.
    
    Also, create a new userspace-only variant - DReadWithErrno() - of the
    src/dir/buffer.c version of DRead (the version called by DirOK and
    DirSalvage, and the only caller of ReallyRead) to return the ReallyRead
    errno upon request.
    
    Also create an analogous variant of afs_dir_GetBlobs,
    afs_dir_GetBlobsWithErrno().
    
    Finally, convert DirOK and DirSalvage to use the new variants and
    replace DErrno with equivalent logic.  Remove all other references to
    DErrno.
    
    Reviewed-on: https://gerrit.openafs.org/13798
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 735fa5fb090ee0efc2161597a3974f6fa45126f6)
    
    Change-Id: Ic7b87d1de71feb7ae741b43d534a3d94cd277125
    Reviewed-on: https://gerrit.openafs.org/15545
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit af227457d470bf8e618c63397c4429578f1c85b7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Mar 4 01:37:53 2019 -0500

    afs: refactor directory checking in DRead
    
    Commit d566c1cf874d15ca02020894ff0af62c4e39e7bb
    'dread-do-validation-20041012' modified directory checking (in the
    afs_buffer.c implementation of DRead()) to use size information passed
    to DRead, rather than obtained from the cache via afs_CFileOpen.
    
    Because this directory checking does not require any information from
    the cache buffers or the cache partition, we can make the check right
    away, before searching the cache buffers or calling afs_newslot.
    
    To clarify and simplify, move the directory sanity checking logic to the
    beginning of DRead.  Remove the afs_newslot cleanup logic which is no
    longer needed.
    
    While here, add Doxygen comments for DRead.
    
    Reviewed-on: https://gerrit.openafs.org/13803
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 1aa7d3c199e77e3ebdffe9cea4dee8ee82e81fcd)
    
    Change-Id: I53f4d330c5a4c44ae8619619ba9584006375bf29
    Reviewed-on: https://gerrit.openafs.org/15544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 08a90850fd792718ec5abdda172ab0214abfced6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 7 22:48:23 2023 -0600

    vol: Re-evaluate conditons for cond vars
    
    Most users of cond vars follow this general pattern when waiting for a
    condition:
    
        while (!condition) {
            CV_WAIT(cv, mutex);
        }
    
    But a few places in src/vol do this:
    
        if (!condition) {
            CV_WAIT(cv, mutex);
        }
    
    It is important to always re-check for the relevant condition after
    waiting for a CV, even if it seems like we only need to wait exactly
    once, because pthread_cond_wait() is allowed to wake up its caller
    spuriously even the CV hasn't been signalled. On Solaris, this can
    actually happen if the calling thread is interrupted by a signal.
    
    In VInitPreAttachVolumes() for DAFS, currently this can cause a
    segfault if CV_WAIT returns while 'vq' is empty. We will try to
    queue_Remove() the head of the queue itself, resulting in vq.head.next
    being set to NULL, which will segfault when we try to pull the next
    item off of the queue.
    
    We generally cannot be interrupted by a signal when using opr's
    softsig, because signals are only delivered to the softsig thread and
    blocked in all other threads. It is technically possible to trigger
    this situation on Solaris by sending the (unblockable) SIGCANCEL
    signal, though this would be very unusual.
    
    To make sure issues like this cannot happen and to avoid weird corner
    cases, adjust all of our CV waiters to wait for a CV using a while()
    loop or similar pattern. Spurious wakeups may be impossible with LWP,
    but just try to make all code use a similar structure to be safe.
    
    Thanks for mvitale@sinenomine.net for finding and investigating the
    relevant issue.
    
    Reviewed-on: https://gerrit.openafs.org/15327
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9bc06a059121207b354fdf97f65029d8c2b3df30)
    
    Change-Id: Ib1fdf06570e441b4a322a1e9b90ff084e07ad1fb
    Reviewed-on: https://gerrit.openafs.org/15543
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 088a77b99ba2104ed120e1fcdaf385767c477fc8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 18 19:17:26 2022 -0400

    build: package ltmain.sh in the libafs_tree
    
    Commit 0a58d2188[1] "cf: Run AFS_LT_INIT after setting CC" moved the
    location of LT_INIT (libtool initialization) to a common macro, so it is
    now expanded in configure-libafs.  This breaks the linux DKMS packaging,
    which uses configure-libafs to build the kernel module, since the
    ltmain.sh aux file is not included in the dkms package.
    
    For now, just include the ltmain.sh aux file in the libafs_tree files to
    fix DKMS build.  Later, we should restructure the autoconf macros so the
    LT_INIT macro is not expanded in the configure-libafs configure script,
    since we do not need libtool to build the kernel module.
    
    Thanks to Alex T Prengel for reporting this issue on the openafs-info
    mail list.
    
    1) 0a58d21881d7e91deccb416e8d2c272e14b412dd cf: Run AFS_LT_INIT after setting CC
    
    Reviewed-on: https://gerrit.openafs.org/15076
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 76f26c63c7fe9661dfcf267cf75638747c81b7ef)
    
    Change-Id: I595811dec056b8ec4a7cf36f6f96532a1e452e4e
    Reviewed-on: https://gerrit.openafs.org/15542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1d5b5244a63883ada1250d38c7536bd9d3751320
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 17 18:32:41 2022 -0700

    afs: Use literal NULL for NULL function pointer
    
    The clang compiler complains that this function pointer cast is not a
    prototype.
    
       .../osi_file.c:141:27: error: this function declaration is not a
          prototype [-Werror,-Wstrict-prototypes]
        afile->proc = (int (*)())0;
                              ^
                               void
    
    Just use NULL instead of trying to create a cast to 0.
    
    Reviewed-on: https://gerrit.openafs.org/14902
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 689fb56fca57274e73c8394e8588650449565cd8)
    
    Change-Id: I61cf49178a80d011b0169a729c3a08e9829cddad
    Reviewed-on: https://gerrit.openafs.org/15541
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d50ced2a17e05884ea18bb3dfcde6378b2531dc7
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Feb 17 18:27:02 2022 -0700

    cf: Avoid nested C functions built by autoconf
    
    Currently, two of the Linux-related autoconf macros try to compile code
    containing nested C functions (AC_CHECK_LINUX_OPERATION and
    LINUX_KMEM_CACHE_CREATE_CTOR_TAKES_VOID).  For example, the
    AC_CHECK_LINUX_OPERATION check for 'follow_link' generates this code
    where 'op' is a nested function inside 'conftest':
    
       #include <linux/module.h>
       #include <linux/fs.h>
       void conftest(void)
       {
           struct inode_operations ops;
           const char *op(struct dentry *dentry, void **link_date) {
               return (const char *)0;
           };
           ops.follow_link = op;
       }
    
    Nested functions are a gcc-specific feature, and are not supported by
    other compilers (e.g. clang), causing these checks to always fail when
    using clang, leading to incorrect configure results.
    
    To fix this, change AC_CHECK_LINUX_OPERATION and
    LINUX_KMEM_CACHE_CREATE_CTOR_TAKES_VOID macros to just define the
    relevant function as a proper top-level function.
    
    (these were discovered by forcing a clang build of both the Linux kernel
    and the openafs kernel module)
    
    Reviewed-on: https://gerrit.openafs.org/14901
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a4878a5e26b9997e40a3b197cea5f8c3b24f2539)
    
    Change-Id: Ie186658167a3f9e162fe85722aa0792cbe4fcfda
    Reviewed-on: https://gerrit.openafs.org/15540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f900670194a356cb7cc3adb43bbde2c044a6e06d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed May 25 12:54:50 2022 -0600

    ukernel: Fix AFS_GUNLOCK panic in rx_ServerProc
    
    At the beginning of UKERNEL's rx_ServerProc a call to AFS_GUNLOCK
    panics with 'afs global lock not held'.
    
    The commit 'afs: Drop GLOCK for various Rx calls' (d5e1428a3b) altered
    afs_RXCallBackServer so the global lock is released prior to calling
    rx_ServerProc, and to reacquire the lock after rx_ServerProc returns.
    
    Remove the AFS_GUNLOCK at the start and the AFS_GLOCK at the end of
    UKERNEL's rx_ServerProc.
    
    Reviewed-on: https://gerrit.openafs.org/14963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 07076d63edfb9fe7a2311958e9410d5eadb227d9)
    
    Change-Id: If7b0b755e693cb5d892d3300c47fbbdaf76f2f59
    Reviewed-on: https://gerrit.openafs.org/15539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e5d871ab40d111f943f8736ddf25064c04a371d5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 19 12:52:30 2021 -0400

    vlserver: Use bounded string copy in FindByName()
    
    Although the volname string passed to FindByName() is currently always
    limited 65 characters (including the terminating nul), to be on the safe
    side, use the bounded strlcpy() function when coping the volname to the
    temporary tname local variable to avoid the possibility of overwriting
    the stack with an unbounded strcpy().
    
    Reviewed-on: https://gerrit.openafs.org/14763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 494ec08cd04da6f96be02c7dc22d9bb0c409d63b)
    
    Change-Id: I87b225de7d4ce81a4017f47f2d5088ebffd7c66a
    Reviewed-on: https://gerrit.openafs.org/15538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 883a1a27e6a2f062064f0b4e0440685b1a7de519
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 19 11:47:04 2021 -0400

    bozo: Log a warning if the bosserver is not started in restricted mode
    
    Log a warning to the BosLog when the bosserver is not started in
    restricted mode to encourage admins to enable restricted mode.
    
    Also, log a notice when restricted mode is enabled to reassure admins
    restricted mode is enabled on start up.
    
    Reviewed-on: https://gerrit.openafs.org/14762
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d91b92e308dc2ac2e489581839c1fc1bf9147e16)
    
    Change-Id: Id35b089855797541bbc2f59982b3da7b4fab824e
    Reviewed-on: https://gerrit.openafs.org/15537
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 92ba67d5a6c62b84150de20e83af5db24e5665df
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 15:28:44 2019 -0500

    afs: Let afs_ShakeLooseVCaches run longer
    
    Currently, when afs_ShakeLooseVCaches runs osi_TryEvictVCache, we
    check if osi_TryEvictVCache slept (i.e. dropped afs_xvcache/GLOCK). If
    we sleep over 100 times, then we stop trying to evict vcaches and
    return.
    
    If we have recently accessed a lot of AFS files, this limitation can
    severely reduce our ability to keep our number of vcaches limited to a
    reasonable size. For example:
    
    Say a Linux client runs a process that quickly accesses 1 million
    files (a simple 'find' command) and then does nothing else. A few
    minutes later, afs_ShakeLooseVCaches is run, but since all of the
    newly accessed vcaches have dentries attached to them, we will sleep
    on each one in order to try to prune the attached dentries. This means
    that afs_ShakeLooseVCaches will evict 100 vcaches, and then return,
    leaving us with still almost 1 million vcaches. This will happen
    repeatedly until afs_ShakeLooseVCaches finally works its way through
    all of the vcaches (which takes quite a while, if we only clear 100 at
    once), or the dentries get pruned by other means (such as, if Linux
    evicts them due to memory pressure).
    
    The limit of 100 sleeps was originally added in commit 29277d96
    (newvcache-dont-spin-20060128), but the current effect of it was
    largely introduced in commit 9be76c0d (Refactor afs_NewVCache). It
    exists to ensure that afs_ShakeLooseVCaches doesn't take forever to
    run, but the limit of 100 sleeps may seem quite low, especially if
    those 100 sleeps run very quickly.
    
    To avoid the situation described above, instead of limiting
    afs_ShakeLooseVCaches based on a fixed number of sleeps, limit it
    based on how long we've been running, and set an arbitrary limit of
    roughly 3 seconds. Only check how long we've been running after 100
    sleeps like before, so we're not constantly checking the time while
    running.
    
    Log a new warning if we exit afs_ShakeLooseVCaches prematurely if
    we've been running for too long, to help indicate what is going on.
    
    Reviewed-on: https://gerrit.openafs.org/14254
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cd65475e95e25c8e7071e099a682bdcc03d2cce1)
    
    Change-Id: I6c8e440a3c4dec5e6d769f40d9638a3edc6ad333
    Reviewed-on: https://gerrit.openafs.org/15536
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee32460bf2b9f226a699c7f801b597cee2c0d8cb
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 2 11:18:16 2020 -0700

    afs: Fix EIO error when reading a 4G or larger file
    
    When reading a file with a file length of >= 4G, the cache manager is
    failing the read with an EIO error.
    
    In afs_GetDCache, the call to IsDCacheSizeOK is passed a parameter that
    contains only the lower 32bits of the file length (which requires a 64
    bit value). This results in the EIO error if the length is over 2^32 -1.
    
    The AFSFetchStatus.Length member needs to be combined with the
    AFSFetchStatus.Length_hi to obtain the full 64bit file length.
    
    Fix the calls to IsDCacheSizeOK to use the full 64bit file length.
    
    Commit "afs: Check dcache size when checking DVs
    7c60a0fba11dd24494a5f383df8bea5fdbabbdd7" - gerrit 13436 - added the
    IsDCacheSizeOK function and the associated calls.
    
    As a note, the AFSFetchStatus.DataVersion is the lower 32 bits of the
    full 64bit version number, AFSFetchStatus.dataVersionHigh contains
    the high order 32bits.  The function IsDCacheSizeOK is passed just the
    32bit component, the only use of the parameter is in an error message.
    
    Reviewed-on: https://gerrit.openafs.org/14002
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bebae936b4ef3bf47624c0ff0baae5521bad804e)
    
    Change-Id: I68f3ee04af25c7e99e0795804226ba5075af0ea8
    Reviewed-on: https://gerrit.openafs.org/15535
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 652211e8d06835172e209a99ad08644eda21dab3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 29 18:17:21 2019 -0500

    afs: Skip IsDCacheSizeOK for CDirty/VDIR
    
    IsDCacheSizeOK currently can incorrectly flag a dcache as corrupted,
    since the size of a dcache may not match the size of the underlying
    file in a couple of RW conditions:
    
    - If someone is writing to a file beyond EOF, the intermediate
      'sparse' area may be populated by 0-length dcaches until the data is
      written to the fileserver.
    
    - Directories may be modified locally instead of being fetched from
      the fileserver, which can sometimes result in a directory blob of
      differing sizes.
    
    To avoid false positives detecting dcache corruption, just skip the
    IsDCacheSizeOK check for directories, and any file with pending writes
    (CDirty).
    
    Also add some extra information to the logging messages when this
    "corruption" is detected, so false positives may be more easily
    detected in the future.
    
    Reviewed-on: https://gerrit.openafs.org/13747
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e6b97b337bc97fdb1c8e4f1a0572c62dfc82d979)
    
    Change-Id: I177020c37ba92d8730fe4c68ca610f1b39c3d69b
    Reviewed-on: https://gerrit.openafs.org/15533
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b46d63252b7b8575dd7a79fbd779725f63202afc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 16:21:25 2019 -0600

    afs: Check dcache size when checking DVs
    
    Currently, if the dcache for a file has nonsensical length (due to
    cache corruption or other bugs), we never notice, and we serve
    obviously bad data to applications. For example, the vcache metadata
    for a file may say the file is 2k bytes long, but the dcache for that
    file only has 1k bytes in it (or more commonly, 0 bytes).
    
    This situation is easily detectable, since the dcache and vcache refer
    to the same version of the same file (when the DVs match), and so we
    can check if the two lengths make sense together. So to avoid giving
    bad data to userspace applications, perform a sanity check on the
    lengths at the same time we check for DV matches (to see if the dcache
    looks "fresh" and not stale). If the lengths do not make sense
    together, we just pretend that the dcache is old, and so we'll ignore
    it and fetch a new copy from the fileserver.
    
    Also check the size of the data fetched from the fileserver for a
    newly-fetched dcache in afs_GetDCache, to avoid returning a bad dcache
    if the dcache isn't already present in the cache.
    
    Reviewed-on: https://gerrit.openafs.org/13436
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7c60a0fba11dd24494a5f383df8bea5fdbabbdd7)
    
    Change-Id: I197d197f3f2eaf0473c76c60c9df842a3bed934a
    Reviewed-on: https://gerrit.openafs.org/15532
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b7ac4842a146fb4250095aa22419f5859e92dae8
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Aug 11 14:00:18 2018 -0400

    volser: warn if older version of volume is restored
    
    Volume restores work by overwriting vnodes with the data in the given
    volume dump. If we restore a partial incremental dump from an older
    version of the volume, this generally results in a partly-corrupted
    volume, since directory vnodes may contain references that don't exist
    in the current version of the volume (or are supposed to be in a
    different directory).
    
    Currently, the volserver does not prevent restoring older volume data
    to a volume, and this doesn't necessarily always result in corrupted
    data (for instance, if we are restoring a full volume dump over an
    existing volume). But restoring old volume data seems more likely to
    be a mistake, since reverting a volume back to an old version, even
    without corrupting data, is a strange thing to do and may cause
    problems with our methods of cache consistency.
    
    So, log a warning when this happens, so if this is a mistake, it
    doesn't happen silently. But we still do not prevent this action, since
    it's possible something could be doing this intentionally. We detect
    this just by checking if the updateDate in the given header is older
    than the current updateDate for the volume on disk.
    
    Note: Restoring a full dump file (-overwrite f) will not result in
    corrupted data. In this scenario, the restore operation removes the
    volume on disk first (if present). After that, the dump file is
    restored. In this case, we do not log anything (the volume is not
    corrupted).
    
    Reviewed-on: https://gerrit.openafs.org/13251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8375a7f7dd0e3bcbf928a23f874d1a15a952cdef)
    
    Change-Id: Ic119b0a7b1eac5e01fabbadc0aa679d5f2617d53
    Reviewed-on: https://gerrit.openafs.org/15531
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Indira Sawant <indira.sawant@ibm.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 538f450033a67e251b473ff92238b3124b85fc72
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sun Jul 9 18:45:15 2023 -0600

    hcrypto: rename abort to _afscrypto_abort
    
    The Linux 6.5 commit:
        panic: make function declarations visible (d9cdb43189)
    added a declaration for abort into panic.h.
    
    When building the Linux kernel module, the build fails with the
    following:
    
      src/crypto/hcrypto/kernel/config.h:95:20: error: static declaration of
          ‘abort’ follows non-static declaration
        95 | static_inline void abort(void) {osi_Panic("hckernel aborting\n"
             );}
           |                    ^~~~~
        ...
                     from ./include/linux/wait.h:9,
                     from /openafs/src/afs/sysincludes.h:118,
                     from /openafs/src/crypto/hcrypto/kernel/config.h:30:
        ./include/linux/panic.h:36:6: note: previous declaration of ‘abort’
             with type ‘void(void)’
        36 | void abort(void);
           |      ^~~~~
    
    Update the declaration in hcrypto/kernel/config.h to change the function
    name from abort to _afscrypto_abort and use a preprocessor define to
    map abort to _afscrypto_abort.
    
    Reviewed-on: https://gerrit.openafs.org/15501
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c4c16890d9d2829f6bef1ef58feafb30b1d59da3)
    
    Change-Id: I54cc9156b98320d04fe6f7bb595a150d5ba87b49
    Reviewed-on: https://gerrit.openafs.org/15523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 63801cfd1fc06ec3259fcfd67229f3a3c70447ed
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 13 10:54:22 2023 -0600

    Linux 6.5: Use register_sysctl()
    
    The linux 6.5 commit:
        "sysctl: Remove register_sysctl_table" (b8cbc0855a)
    removed the Linux function register_sysctl_table().  The replacement
    function is register_sysctl(), which offers a simpler interface.
    
    Add an autoconf test for the Linux function register_sysctl and add a
    call to register_sysctl when available.
    
    Notes:
    The Linux function register_sysctl was added in Linux 3.3 with the
    commit:
        'sysctl: Add register_sysctl for normal sysctl users' (fea478d410)
    with a note that it is a simpler interface.
    
    The function register_sysctl_table was marked as deprecated with the
    Linux 6.3 commit:
        'proc_sysctl: enhance documentation' (1dc8689e4c)
    
    Reviewed-on: https://gerrit.openafs.org/15500
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fb31d299e6caa015f6288ba9186da6277d3d6a8d)
    
    Change-Id: I60f68f1dd95c32bada7179e98250fd44d7c2ddf3
    Reviewed-on: https://gerrit.openafs.org/15522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d15c7ab50c92671052cbe9a93b0440c81156d8aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 18 22:56:48 2019 -0500

    LINUX: Make sysctl definitions more concise
    
    Our sysctl definitions are quite verbose, and adding new ones involves
    copying a bunch of lines. Make these a little easier to specify, by
    defining some new preprocessor macros.
    
    Reviewed-on: https://gerrit.openafs.org/13700
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1b0bb8a7fcbd69d513ed30bb76fd0693d1bd3319)
    
    Change-Id: Ib656634ed956b845c89656069aa297253acce785
    Reviewed-on: https://gerrit.openafs.org/15521
    Tested-by: BuildBot <buildbot@rampaginggeek.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>

commit fef245769366efe8694ddadd1e1f2ed5ef8608f4
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sun Jul 9 18:52:23 2023 -0600

    Linux 6.5: Replace generic_file_splice_read
    
    The Linux 6.5 commit:
        'splice: Remove generic_file_splice_read()' (c6585011bc)
    replaces the function generic_file_splice_read() with the function
    filemap_splice_read().
    
    The Linux function 'filemap_splice_read()' was introduced with the
    Linux 6.3 commits:
    
        'splice: Add a func to do a splice from a buffered file without
         ITER_PIPE' (07073eb01c)
        'splice: Export filemap/direct_splice_read()' (7c8e01ebf2)
    
    With updates in Linux 6.5:
        'splice: Fix filemap_splice_read() to use the correct inode'
        (c37222082f) -- which fixes a problem in the code.
        'splice: Make filemap_splice_read() check s_maxbytes' (83aeff881e)
    
    Due to the fact that there could be problems with splice support prior
    to Linux 6.5 (where filemap_splice_read()'s use was expanded to
    additional filesystems other than just cifs), we only want to use
    'filemap_splice_read()' in Linux 6.5 and later.
    
    The LINUX/osi_vnodeops.c file is updated to use 'filemap_splice_read()',
    for Linux 6.5 and later, for the splice_read member of the
    file_operations structure.
    
    Reviewed-on: https://gerrit.openafs.org/15486
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0e06eb78f293bb295b0fe12da24abd8dc1160149)
    
    Change-Id: I3b5436234d275253a37987dc40a522ae8f3cae1e
    Reviewed-on: https://gerrit.openafs.org/15520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit be21a2041972f6e612bb1717cce9714702038d77
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 26 15:41:00 2020 -0500

    UKERNEL: Build linktest with COMMON_CFLAGS
    
    Currently, 'linktest' in libuafs is built with a weird custom rule
    that specifies several various CFLAGS and LDFLAGS, etc. One
    side-effect of this is that linktest is built without specifying -O,
    even if optimization is otherwise enabled.
    
    Normally nobody would care about the optimization of linktest, since
    it's never supposed to be run, but this can cause an error when
    building with -D_FORTIFY_SOURCE=1 on some systems (such as RHEL7):
    
        In file included from /usr/include/sys/types.h:25:0,
                         from /.../src/config/afsconfig.h:1485,
                         from /.../src/libuafs/linktest.c:15:
        /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
         #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
            ^
        cc1: all warnings being treated as errors
        make[3]: *** [linktest] Error 1
    
    For now, to fix this just include $(COMMON_CFLAGS) in the flags we
    give for linktest, so $(OPTMZ) also gets pulled in, and building
    linktest gets a little closer to a normal compilation step.
    
    Reviewed-on: https://gerrit.openafs.org/14324
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c4f853aa00f1650b678cbd22ad1e2a9cf01c1303)
    
    Change-Id: I842fc630979fa98950f09326a556da1f7d1cd23b
    Reviewed-on: https://gerrit.openafs.org/15519
    Tested-by: BuildBot <buildbot@rampaginggeek.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>

commit 128772e328d92e1de60bb6e88677f3b0d64a0c12
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 6 15:11:23 2023 -0500

    cf: Undef _FORTIFY_SOURCE for use-after-free check
    
    Commit f2003ed68c (gcc: Avoid false positive use-after-free in crypto)
    added a configure check to detect whether the compiler we're using
    exhibits the use-after-free warning bug. We add -O0 to CFLAGS for the
    test to make sure the bug triggers for gcc 12, but if the user has
    specified, for example, CFLAGS=-D_FORTIFY_SOURCE=1, this causes
    the compile check to always fail:
    
        /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
         #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    
    This causes _OPENAFS_UAF_COMPILE_IFELSE to always fail, and so we
    throw an AC_MSG_ERROR during configure.
    
    To allow the build to continue with _FORTIFY_SOURCE, make sure
    _FORTIFY_SOURCE is undefined for this specific test. The compile test
    can then succeed with -O0 (unless we trigger the use-after-free bug,
    of course).
    
    Reviewed-on: https://gerrit.openafs.org/15499
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2e6b80e4bcdb476e95c8cff46ebaae69f092abec)
    
    Change-Id: Ibafe136c2d0364741f0ea2e3d823e181d7983f20
    Reviewed-on: https://gerrit.openafs.org/15518
    Tested-by: BuildBot <buildbot@rampaginggeek.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>

commit 03bc379df9a18b8440a26867921f36f02f8656bb
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 12 23:51:48 2023 -0400

    vol: Don't leak volume bitmaps
    
    Since the original IBM code import, attach2 has set the volume's index
    bitmaps to NULL in preparation for allocating and initalizing new
    bitmaps.  However, the volume may already have bitmaps from previous
    operations, and this is much more likely with DAFS. In this case, the
    old bitmaps are leaked.
    
    Instead, free any existing bitmap before allocating a new one.
    
    Discovered via Solaris libumem.so.1.
    
    Reviewed-on: https://gerrit.openafs.org/15428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4b42b07fde2cb87ecb0f3135612a4c086227fa09)
    
    Change-Id: I8d67a4ef75218acc6e5852b77b90e7898e78585e
    Reviewed-on: https://gerrit.openafs.org/15517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3b383abaa932fe03f405571c50df4e95043d7998
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 12 21:25:36 2023 -0400

    rxkad: Free memory used to check rxkad response
    
    Since its introduction with commit 7e4e06b87a09 "Derive DES/fcrypt
    session key from other key types", rxkad_derive_des_key has failed to
    free the memory associated with its HMAC context struct.
    
    This results in a leak of at least 352 bytes for each rxkad challenge
    response processed by an OpenAFS server when using rxkad-kdf.
    
    Free the memory by calling HMAC_CTX_cleanup after each round of the
    loop.
    
    Discovered via Solaris libumem.so.1.
    
    Reviewed-on: https://gerrit.openafs.org/15427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 915c9ec007810f99a5ea8be73426fc8882f615fd)
    
    Change-Id: I4710c1180cdca19cc963d7409ef15e74efd51498
    Reviewed-on: https://gerrit.openafs.org/15516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 898098e01e19970f80f60a0551252b2027246038
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 7 16:09:30 2023 -0500

    LINUX: Make 'fs flush*' invalidate dentry
    
    Our 'fs flush' and related commands (flushall, flushvolume) clear the
    relevant entries in the OpenAFS stat cache and data cache, which can
    fix problems if the cache ever becomes incorrect for any reason. (This
    can happen after bugs, repairing corrupted volumes, disaster recovery
    scenarios, and similar edge cases.)
    
    However, on Linux, these commands don't affect the VFS dentry cache.
    If someone needs to use an 'fs flush' command to fix a problem, this
    will fix the OpenAFS cache, but the Linux dcache can still be wrong.
    The only way to manually flush dcache entries is to use the global
    'drop_caches' mechanism, which is a very heavweight operation, only
    accessible to root.
    
    For example:
    
        $ ls -l
        ls: cannot access foo.1: No such file or directory
        total 2
        drwxrwxr-x. 2 bin adeason 2048 Apr  6 14:20 dir
        -?????????? ? ?   ?          ?            ? foo.1
        $ fs flush .
        $ ls -l
        ls: cannot access foo.1: No such file or directory
        total 2
        drwxrwxr-x. 2 bin adeason 2048 Apr  6 14:20 dir
        -?????????? ? ?   ?          ?            ? foo.1
        $ sudo sysctl -q -w vm.drop_caches=3
        $ ls -l
        total 3
        drwxrwxr-x. 2 bin adeason 2048 Apr  6 14:20 dir
        -rw-rw-r--. 1 bin adeason   29 Sep 22  2022 foo.1
    
    To make the 'fs flush' commands be effective in more situations,
    change afs_ResetVCache() to also invalidate the dcache entries
    associated with each vcache we reset. To make things simpler and
    reduce locking complexity, do this by setting d_time to 0, and don't
    directly run dcache-managing functions like d_invalidate or d_drop,
    etc.
    
    The above example now becomes:
    
        $ ls -l
        ls: cannot access foo.1: No such file or directory
        total 2
        drwxrwxr-x. 2 bin adeason 2048 Apr  6 14:20 dir
        -?????????? ? ?   ?          ?            ? foo.1
        $ fs flush .
        $ ls -l
        total 3
        drwxrwxr-x. 2 bin adeason 2048 Apr  6 14:20 dir
        -rw-rw-r--. 1 bin adeason   29 Sep 22  2022 foo.1
    
    Reviewed-on: https://gerrit.openafs.org/15391
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d460b616ebad763f7e480e194b2bffc28df99721)
    
    Change-Id: I184046469c396b0421752d91c47477ebe8eaed13
    Reviewed-on: https://gerrit.openafs.org/15515
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a50282c70fb8b7acc69787e4ecfd15b95bc25dcf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 24 13:12:13 2020 -0400

    build: Add rpm target
    
    Add a top-level makefile target to build RPMs for Red Hat distributions
    from the currently checked out commit. The resulting rpms are placed in
    the packages/rpmbuild/RPMS/<arch> directory.
    
    The rpm target is intended to be a convenience for testing changes to
    the rpm packaging or generating packages for local testing.
    
    Reviewed-on: https://gerrit.openafs.org/14114
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 8b68f1a4e1e3ae06de0d6c5a8af60ef99cacb83a)
    
    Change-Id: I31fcd579d9610303cb44b4813ecaf8dd00e09e7e
    Reviewed-on: https://gerrit.openafs.org/15514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f9db82620593cf90f3cae05581a71afcd7168820
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 1 14:05:24 2020 -0400

    makesrpm: Support custom version strings
    
    The makesrpm.pl script generates a source RPM by creating a temporary
    rpmbuild workspace, populating the SOURCES and SPECS directories in that
    workspace, running rpmbuild to build the source RPM, and finally copying
    the resulting source RPM out of the temporary workspace.
    
    The name of the source RPM file created by rpmbuild depends on the
    package version and release strings. Unfortunately, the format of the
    source RPM file name changed around OpenAFS 1.6.0, so makesrpm.pl has
    special logic to find the version string and extra code depending on the
    detected OpenAFS version.
    
    Instead of trying to predict the name of the resulting source RPM file
    from the OpenAFS version string, and having different logic for old
    versions of OpenAFS, use a filename glob to find resulting source RPM
    file name in the temporary rpmbuild workspace.
    
    Remove the major, minor, and patch level variables, which were only used
    to guess the name of the resulting source RPM file name.
    
    Convert '-' characters to '_' in the package version and package
    release, since the '-' character is reserved by rpm as a field
    separator.
    
    While here, add the --dir option to specify the path of the generated
    source RPM, and change the 'srpm' makefile target to use the new --dir
    option, instead of changing the current directory before running
    makesrpm.pl.  Also, add a dependency on the 'dist' makefile target,
    since the the source and document tarballs are required to build the
    source RPM.
    
    Add pod documentation and add the --help (-h) option to print a brief
    help message, and add the --man option to print the full man page.
    
    With this change, we can build a source RPM even when the .version file
    in the src.tar.bz file has a custom format or was created from a
    checkout of the master branch or other non-release reference.
    
    Reviewed-on: https://gerrit.openafs.org/14116
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7cc6b97ad26089ecb88019468f3ef7c0222cebe1)
    
    Change-Id: I6f533aa4dff42c8e256fd7cf07831e0f6c0b0c63
    Reviewed-on: https://gerrit.openafs.org/15513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2899837875ed32015f8b1d970a1b23af52abb76b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 29 15:58:24 2017 -0400

    bozo: Do not create client directory and symlinks
    
    Each time the bosserver starts, it checks for the presence of the client
    configuration directory and the CellServDB and ThisCell files within it.
    When not found, the bosserver creates the client cell configuration
    directory. When the CellServDB and ThisCell files are not present in the
    client configuration directory, the bosserver creates symlinks to the
    server's CellServDB and ThisCell files.  This feature of the bosserver
    was a convenience when older versions of vos and pts required a client
    configuration directory.
    
    However, modern deployments tend to use packaging, with separate client
    and server packages.  The client configuration directory and files in it
    are typically managed by the client packaging.  Currently, packagers
    must work around these symlinks created by the bosserver.  Additionally,
    the CellServDB and ThisCell symlinks are hazardous since writing to the
    client-side configuration will overwrite the server configuration.
    
    This commit removes the creation the client configuration directory and
    the CellServDB and ThisCell symlinks during bosserver startup.  This
    change is intended to decouple the server from the client, help to avoid
    overwriting the server configuration, and avoid requiring client artifacts
    on a server.
    
    Reviewed-on: https://gerrit.openafs.org/12586
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c8aae4da4fcfd22c19fc9c8835960005554ac9d6)
    
    Change-Id: I76d24eadaecd19d21f12b8bd85eca2a4888d3e4c
    Reviewed-on: https://gerrit.openafs.org/15512
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c495c81754f35be4cfc8c06f358eec20456de76e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 31 13:41:30 2022 -0400

    Add command fallback to server config
    
    Add an initialization retry in the bos, vos, and pts commands to
    fallback to the server configuration directory when initialization fails
    with the client configuration directory.  This allows admins to run
    unauthenticated bos, vos, and pts commands on servers without a client
    configuration (including symlinks created by the bosserver) without
    any extra command line options.
    
    Perform the initialization retry only when the -localauth or -config
    options are not given.  The bos, vos, and pts commands already use the
    server configuration path when the -localauth option is given, so there
    is no point in retrying the same path.  The vos and pts -config option
    specifies the path to be used, so we do not fallback to a different
    directory when the user specifies the configuration path to be used.
    
    While here, change the scope of the confdir variable in vos.c from a
    global to a local variable, since it is only used within the
    MyBeforeProc() function.
    
    This change does not add a vsu_ClientInit() retry in the bos salvage
    command. That command always requires authorization, so when run without
    -localauth requires a token (and therefore a cache manager and client
    cell configuration).
    
    Update the bos, vos, and pts man pages to describe this new fallback
    method to lookup the configuration directory.  (The AFSCONF environment
    variable and .AFSCONF files are currently undocumented in the man pages.
    They should be documented or removed from the code in a future change.)
    
    Reviewed-on: https://gerrit.openafs.org/15351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 77eb1728331e0825ecb6fbe29db334c61b5276d0)
    
     Conflicts:  (1.8.x does not have rxgk support)
            src/ptserver/pts.c
            src/volser/vos.c
    
    Change-Id: I1e0ffb8a074098ed6d4750d8e02cbfb8c0dbaff5
    Reviewed-on: https://gerrit.openafs.org/15511
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c77491e189a5a8814ad001c47d428c70dfaebd20
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 25 19:04:44 2019 -0500

    pts: Use cmd_AddParmAtOffset for common parms
    
    Update pts to use cmd_AddParmAtOffset and symbolic constants for our
    common parameters, instead of using bare literals like '16'.
    
    Reviewed-on: https://gerrit.openafs.org/13946
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d0941e81b2f1f499cebb57d8a81d82802913d9be)
    
     Conflicts:   (1.8.x does not have rxgk support)
            src/ptserver/pts.c
    
    Change-Id: I0bc2c6038c0d7983c6364ec186aef18105b02d3a
    Reviewed-on: https://gerrit.openafs.org/15510
    Tested-by: BuildBot <buildbot@rampaginggeek.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>

commit d80485cd950929503e9a2e1464313580c021ff63
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 8 17:14:26 2022 -0500

    viced: Verify primary host address
    
    Currently, h_stateVerifyHost verifies that all of the valid entries on
    h->z.interface are on the host address hashtable. If we don't have a
    h->z.interface, we check the primary address h->z.host/h->z.port
    instead.
    
    But if we do have a h->z.interface, we don't check h->z.host/h->z.port
    at all. Normally, the primary address should always be included in the
    h->z.interface list (in a 'valid==1' entry), and so checking the
    primary address is redundant. However, currently it is possible in
    some edge cases for the primary address to be missing from the
    hashtable and to not be listed as a valid address in h->z.interface.
    In such cases, we don't flag an error or even log a warning, since we
    don't check the primary address separately. (These cases are bugs, and
    will be addressed in future commits.)
    
    To detect this case, change h_stateVerifyHost to always check
    h->z.host, just like we do for the entries in h->z.interface.
    
    Reviewed-on: https://gerrit.openafs.org/15070
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d144491d94e7e19e2d710601a37045ef1ef1fdc)
    
    Change-Id: Icdd65c081372e1057df67401643973e1ac6f016e
    Reviewed-on: https://gerrit.openafs.org/15509
    Tested-by: BuildBot <buildbot@rampaginggeek.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>

commit 6fc1d81eb7f8c06f5fea54403419b30b4d95fb97
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jul 3 13:14:52 2023 -0600

    gcc: Avoid false positive use-after-free in crypto
    
    Due to a bug in gcc-12 and gcc-13, several warnings are generated for a
    use-after-free in crypto.c, which leads to a build failure with
    --enable-checking:
    
      src/external/heimdal/krb5/crypto.c:1157:9: error: pointer ‘p’ may be
          used after ‘realloc’ [-Werror=use-after-free]
       1157 |         free(p);
            |         ^~~~~~~
      src/external/heimdal/krb5/crypto.c:1155:20: note: call to ‘realloc’
          here
       1155 |     result->data = realloc(p, sz);
            |                    ^~~~~~~~~~~~~~
    
    However, reviewing the code around these warnings shows that the
    use-after-free warnings are incorrectly generated (false positive). The
    documentation for realloc states that realloc will return a NULL and not
    alter the storage passed if there was an error allocating and the size
    passed is non-zero.
    
    There is a possible work-around for the false positive. One can use a
    variable that is not a member of a structure to hold and test the value
    returned from realloc, then update the structure member from that
    variable.
    
    However, the code that is producing the message is in a heimdal external
    file, so we cannot modify the source.  So just use the compiler flag
    -Wno-use-after-free to avoid the warning/error.
    
    Update configure to add tests for the -Wno-use-after-free flag, update
    the Makefile to add the flag for CFLAGS.crypto.lo, and update CODING
    for the new exception.
    
    Because this is an important check, only disable the warning if the
    compiler exhibits this specific bug.  We do this by adding specific
    configure tests for the compiler bug and conditionally set a CFLAG
    variable if the bug is present.
    
    NOTE: The false positive and work-around can be demonstrated with the
    following code using gcc-12 (with -O0) or gcc-13 (not sensitive to the
    optimization level):
    
        somestruct->somepointer = realloc(ptr, somesize);
        if (somestruct->somepointer == NULL && somesize != 0) {
            free(ptr);   << gets flagged as use-after-free
            handle enomem...
        }
    
    However the following doesn't get flagged:
    
        char *tmpptr = realloc(ptr, somesize);
        if (tmpptr == NULL && somesize != 0) {
            free(ptr);
            handle enomem...
        }
        somestruct->somepointer = tmpptr;
    
    The GCC ticket https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110501
    has been marked as confirmed.
    
    Reviewed-on: https://gerrit.openafs.org/15471
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f2003ed68c2fecf679d0b04146427258d39369ea)
    
    Change-Id: Ib7ae86c66f0ef1fc12d4ff4b796b712dc97e2e13
    Reviewed-on: https://gerrit.openafs.org/15508
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6867a3e8429f37fb748575df52256227ae9e5b53
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 27 12:31:30 2023 -0600

    cf: Fix cast-function-type err w/disable-checking
    
    If the Linux kernel has CONFIG_WERROR enabled, and openafs is configured
    with --disable-checking, the libafs kernel module fails to build:
    
        /src/libafs/MODLOAD-5.14.0-305.el9.x86_64-MP/evp.c:501:9:
           error: cast between incompatible function types from
           ‘void (*)(void *)’ to ‘int (*)(EVP_MD_CTX *)’ {aka
           ‘int (*)(struct hc_EVP_MD_CTX *)’} [-Werror=cast-function-type]
        501 |         (hc_evp_md_init)null_Init,
            |         ^
    
    The openafs commit:
    
       Linux-5.17: Kernel build uses -Wcast-function-type (6bdfa97673)
    
    fixed above error when the Linux kernel has CONFIG_WERROR enabled and
    openafs is configured with --enable-checking.  But we will still fail
    when CONFIG_WERROR is enabled and openafs is configured with
    --disable-checking (which is the default).
    
    Update osconf.m4 to always set CFLAGS_NOCAST_FUNCTION_TYPE, so that it
    can be used to avoid the above compiler check even when checking is
    disabled.
    
    NOTE: The only use of CFLAGS_NOCAST_FUNCTION_TYPE is to correct the
    warnings flagged in external/heimdal/hcrypto/evp.c and evp-algs.c.
    
    NOTE: --enable-checking=all can be used to bypass setting the define.
    
    Reviewed-on: https://gerrit.openafs.org/15417
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 2357ac6ae59ad1908b14b5e76e5931c7071ee9a2)
    
    Change-Id: I96ccf89a7316449a0492d08dbfc0e625e143d933
    Reviewed-on: https://gerrit.openafs.org/15507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bb1b7b1adcb52a07a1bdcb0d42f8a5a366b5f4db
Author: Kailas Zadbuke <kailashsz@in.ibm.com>
Date:   Sun Apr 23 20:06:00 2023 +0530

    afs: Check UHasTokens in afs_GCUserData
    
    It looks that EndTimestamp holds the user’s token expiration time even after
    function afs_MarkUserExpired() gets called from afs_pag_destroy().  So it
    seems that the PAGs/tokens are not being reclaimed. This will lead to pag
    buildup on the system.
    
    The PAG/'struct unixuser' is not being freed because afs_GCUserData() checks
    afs_HasUsableTokens(), which checks EndTimestamp, which says the tokens still
    haven't expired. So the PAG doesn't get freed.
    
    This behavior has existed since commit ba1d050c6e (Make unixuser's vid
    advisory).
    
    To fix this, change afs_GCuserData() to check for the UHasTokens flag, and
    ignore any tokens if UHasTokens isn't set. This causes the PAG to be freed,
    since we don't look at the EndTimestamp of the tokens at all.
    
    Thanks Todd DeSantis for your support.
    
    Signed-off-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-on: https://gerrit.openafs.org/15404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 630d423897e5fffed1873aa9d12c4e74a8481041)
    
    Change-Id: I74b1ea1173df904928ad027e48b231058c1e0f1d
    Reviewed-on: https://gerrit.openafs.org/15506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a0b7f71122285f71c3ff0d006d1f9a77b1481732
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jun 29 23:20:28 2023 +0200

    Make OpenAFS 1.8.10
    
    Update version strings for the 1.8.10 release, and add the
    finishing touch to NEWS.
    
    Change-Id: I5ade3bf8eb05474c5e4344e7c727545e807a0053
    Reviewed-on: https://gerrit.openafs.org/15490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a48dc74d793a95790c34e9701bbcbe02080308bc
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jan 12 18:06:30 2023 +0100

    Make OpenAFS 1.8.10pre1
    
    Update version strings for the first 1.8.10 prerelease.
    
    Change-Id: I116eb9852e7799540fea4cd439f513d571231f45
    Reviewed-on: https://gerrit.openafs.org/15282
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 30e83126649e8aeeecf1c10436f6f9a315e459b6
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu May 18 16:55:11 2023 +0200

    Update NEWS for 1.8.10pre1
    
    Release notes for the first 1.8.10 prerelease.
    
    Change-Id: Ie7ed1b65444239528edcb4861ad3e99af54c4bbb
    Reviewed-on: https://gerrit.openafs.org/15440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit abeed74bb0d0bd7a3a5dbd13b9e953a994fb78e6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 5 16:47:45 2023 -0500

    LINUX: Set .getattr for symlinks
    
    On Linux, we can define a .getattr callback for files and directories,
    which is called when a caller requests metadata for the file, such as
    during lstat(). For regular files and directories, we set this to
    afs_linux_getattr(), which updates the metadata for the file in
    question if it's out of date (CStatd not set).
    
    For symlinks, however, we don't set .getattr at all. This would seem
    to allow symlink metadata to become stale if another client changes
    it, but the metadata often happens to stay up to date via other means.
    For example, we can see the following happen:
    
    - Another client changes, for example, the owner of a symlink we have
      cached.
    
    - The fileserver sends us a callback break, and so we clear CStatd for
      the vcache for the symlink.
    
    - lstat() is called for the symlink, which causes
      afs_linux_dentry_revalidate() to be called for the cached dentry.
      Since CStatd is not set for the vcache, we verify the entry by
      calling afs_lookup(), and then update the symlink's metadata via
      afs_getattr() and vattr2inode().
    
    However, if CStatd _is_ set for the symlink when lstat() is called,
    afs_linux_dentry_revalidate() will not update anything, and will just
    return success. So, if we manage to set CStatd for the symlink without
    updating it's Linux VFS metadata, the Linux metadata won't be updated,
    and we'll report the old metadata to the caller of lstat().
    
    We can set CStatd without updating the Linux VFS info in a few
    different ways. A few pioctls such as PRemoveMount or PFlushMount can
    do this if they encounter an error, but the only code paths that call
    these pioctls in OpenAFS (via the 'fs' utility) also lstat() the
    relevant path, so this doesn't happen in practice.
    
    A more common way that this can occur is via afs_DoBulkStat(). If
    userspace triggers a bulkstat that includes the symlink in question,
    the symlink would gain the CStatd flag without any interaction with
    the Linux VFS.
    
    For example, say a symlink was chown'd from 'adeason' to 'root'. On
    another client with the symlink cached, running 'ls -l' on the symlink
    itself would show the updated owner, because
    afs_linux_dentry_revalidate() updates the metadata:
    
        $ ls -l dir.slink
        lrwxr-xr-x. 1 root root       3 May  5 14:48 dir.slink -> dir
    
    But if we 'ls -l' the entire directory, which contains other entries,
    we will bulkstat many of the entries, possibly including the symlink.
    And so we may see the old metadata:
    
        $ ls -l
        total 9
        [...]
        lrwxr-xr-x. 1 adeason root       3 May  5 14:48 dir.slink -> dir
    
    Triggering this behavior requires a bulkstat to be triggered before we
    access the symlink itself, and so triggering this behavior depends on
    the order of the entries in the directory as well as whether the other
    items in the dir are cached. As such, triggering this behavior during
    normal operation tends to be inconsistent and confusing.
    
    The only lstat() info for symlinks that can change like this is the
    owner, group, and modtime; mode bits cannot change, and neither can
    the length/size (or the contents in general). So, stale metadata tends
    to not be very noticeable.
    
    To fix all of this, set .getattr to afs_linux_getattr() for symlinks,
    just like we do for regular files and directories. This ensures that
    we will update the Linux VFS metadata for the symlink when it is
    requested, so we won't return stale metadata to callers.
    
    This behavior appears to have existed for symlinks on Linux for quite
    a while, possibly since our Linux 2.6 support was added. The behavoir
    may have been introduced around commit b860b359d58
    (initial-linux24-support-20001105) or commit 00543744955
    (linux22-fix-20040405). Before those commits, we defined a .revalidate
    callback for symlinks, which was called on older Linux versions before
    fetching file metadata, and so probably ensured that an lstat() on a
    symlink returned properly updated info.
    
    Reviewed-on: https://gerrit.openafs.org/15423
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2b32b130f534068251ce9fd1b621de6e480d56d7)
    
    Change-Id: I194308e2a4783cc3205c6cfd54880421635f6b38
    Reviewed-on: https://gerrit.openafs.org/15443
    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 4394a3ee84ffaba559bbe9102c8e6d801f8d6625
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 26 13:54:00 2020 -0500

    Retire AFS_MOUNT_AFS
    
    Currently, the AFS_MOUNT_AFS #define is used to mean two completely
    different things:
    
    - The string "afs", corresponding to the first argument to mount(2) on
      many platforms and some related calls inside libafs (e.g.
      getnewvnode() on FBSD).
    
    - An integer identifying the AFS filesystem (e.g. gfsadd() on AIX).
    
    Depending on the platform and the build context (UKERNEL vs KERNEL),
    AFS_MOUNT_AFS gets defined to one of those two things. This is very
    confusing, and has led to mistakes in the past, such as those fixed in
    commit 446457a1 (afs: Set AFS_VFSFSID to a numerical value).
    
    To avoid such confusion, get rid of AFS_MOUNT_AFS completely, and
    replace it with two new symbols:
    
    - AFS_MOUNT_STR, the string "afs".
    
    - AFS_FSNO, the integer given to gfsadd() et al.
    
    When AFS_MOUNT_AFS is split this way, AFS_MOUNT_STR then is always
    defined to the same value, so remove it from the param.h files for our
    platforms. Instead, define it in afs.h for libafs use, and in
    afsd_kernel.c (the only place outside of src/afs that uses it).
    
    Also remove the logic for conditionally defining MOUNT_AFS from the
    param.h files, moving the logic to the same locations as
    AFS_MOUNT_STR.
    
    Note that this commit removes the numeric definition for AFS_MOUNT_AFS
    in param.sgi_65.h (aka AFS_FSNO). We never actually used this value,
    since AFS_FSNO is not used on IRIX; instead, we tend to use the
    'afs_fstype' global instead of a constant number.
    
    Reviewed-on: https://gerrit.openafs.org/14323
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6b96a49eb6268adf9fc7e077fe849af7802a1575)
    
    Change-Id: Iebb35b323ceb50f9603387c46168b80ec800735d
    Reviewed-on: https://gerrit.openafs.org/15422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee6944d96d7692244438cb1aa7f84a102aebff76
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 16 07:48:02 2022 -0700

    rxevent: fix mismatched #endif
    
    We should only assign to 'ev' once, rather than assigning a second
    time to an uninitialized value.
    
    Reported by Ben Huntsman and diagnosed by Jeffrey Altman.
    
    Reviewed-on: https://gerrit.openafs.org/15106
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e51ed7be3849025e9b47d1a644a4fcd99b774b30)
    
    Change-Id: I06ac2155170d8f005afd9551c69d5ef3e60afff3
    Reviewed-on: https://gerrit.openafs.org/15442
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e4e9122365a3ec05c01add5333b532f2c19e1732
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jul 18 23:05:38 2021 -0500

    opr: Avoid sigwait on SIGWAITING
    
    On AIX, calling sigwait() on a sigset containing SIGWAITING (or
    SIGKILL or SIGSTOP), causes sigwait to return with an EINVAL error.
    Currently, signalHandler() calls sigwait() with SIGWAITING, because
    SIGWAITING is in the sigset returned by softsigSignalSet(). And so,
    sigwait() returns EINVAL, and our opr_Verify in signalHandler() fails,
    causing a crash.
    
    To avoid this, remove SIGWAITING from the sigset in
    softsigSignalSet(). This is AIX-specific, since the SIGWAITING signal
    is AIX-specific.
    
    Reviewed-on: https://gerrit.openafs.org/14705
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c2db41258370159c1257ee79df10afa4a2a2d9e8)
    
    Change-Id: I433e4842b684c5f0f453e20d2f5d455b10a792eb
    Reviewed-on: https://gerrit.openafs.org/15441
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 332b5593d487c25d0091c5572519364c57cace90
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu May 4 16:52:38 2023 -0700

    AIX: Free pinned_heap during shutdown to prevent kernel panic
    
    During shutdown, the function shutdown_osisleep is called in
    src/afs/afs_osi.c.  The body of this function is platform-
    specific, and on AIX there is a call to xmfree:
    
                    xmfree(tmp);
    
    However, on AIX, xmfree actually takes two arguments:
    
    int xmfree ( ptr,  heap)
    caddr_t ptr;
    caddr_t heap;
    
    This is called elsewhere in the OpenAFS code correctly for
    kernel_heap.  In src/afs/AIX/osi_sleep.c we start using the
    pinned_heap, but never xmfree it.  Therefore, we need to do so here
    during the shutdown.  Here we include a header file which defines
    pinned_heap, and then supply it as an argument to xmfree.  This
    prevents a kernel panic during OS shutdown.
    
    The panic might go unnoticed in many environments, as during a
    reboot, the system will normally dump and restart anyway.  However,
    if kdb is loaded (bosboot -a -D), the system will break into the
    debugger before the full shutdown procedure completes.  The stack
    trace shows the following:
    
    KDB(0)> stack
    pvthread+01D200 STACK:
    [00023900]abend_trap+000000 ()
    [000EFF24]xmfree_frontend+0000A4 (??, ??, ??)
    [F1000000C064CF1C]shutdown_osisleep@AF72_5+0000BC (??)
    [F1000000C064CB7C]shutdown_osi+00001C ()
    [F1000000C064A51C]afs_shutdown+0003BC (0000000100000001)
    [F1000000C05A8DD4]afs_unmount+000094 (F1000A01501D4C10, 0000000000000000)
    [F1000000C059FCE0]vfs_unmount+0000A0 (F1000A01501D4C10, 0000000000000000,
       F1000A015047B07C)
    [00014D70].hkey_legacy_gate+00004C ()
    [006A6AAC]vfs_unmount+00008C (??, ??, ??)
    [006B4228]kunmount+000228 (??, ??, ??, ??)
    [006B4944]uvmount+000204 (??, ??)
    [00003954]syscall+00024C ()
    [100084FC]helper_UMfunc+00027C (??, ??)
    [10003D48]dounmount+0000C8 (??, ??, ??, ??)
    [100044DC]umountmain+0001BC (??, ??)
    [10000AD4]main+0000B4 (??, ??)
    [10000168]__start+000068 ()
    
    Reviewed-on: https://gerrit.openafs.org/15419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4810cca10bc32df7ba7809fc2bf095d20e2febd8)
    
    Change-Id: I687caa6daae83fc7986e76d370b55f90f5ca53cc
    Reviewed-on: https://gerrit.openafs.org/15425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a2ab598bae94a9ce0c95034c1a54bcd8e12d5a87
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu May 4 10:00:43 2023 -0700

    AIX: AFS_SMALLOCSIZ too small on newer OS releases
    
    Addresses a situation where a write in AFS space can cause a kernel
    panic.  In src/afs/afs_osi_uio.c in the function afsio_partialcopy:
    
        size_t space_len = sizeof(struct uio) +
                           sizeof(struct iovec) * AFS_MAXIOVCNT;
    
        /* Allocate a block that can contain both the UIO and the iovec */
        space = osi_AllocSmallSpace(space_len);
    
    On newer AIX systems (since at least 6.1), space_len is larger than
    AFS_SMALLOCSIZ.  When osi_AllocSmallSpace is called, the following
    test in src/afs/afs_osi_alloc.c causes a kernel panic:
    
        if (size > AFS_SMALLOCSIZ)
            osi_Panic("osi_AllocSmallS: size=%d\n", (int)size);
    
    This is due to the following definition in src/config/afs_args.h:
    
    /*
     * Note that the AFS_*ALLOCSIZ values should be multiples of sizeof(void*) to
     * accomodate pointer alignment.
     */
    /* Used in rx.c as well as afs directory. */
    /* XXX Because of rxkad_cprivate... XXX */
    
    All the supported AIX platforms define AFS_AIX32_ENV in
    src/config/param.rs_aixXX.h, where XX is the AIX version.  Therefore,
    all the AIX platforms end up with AFS_SMALLOCSIZ = 152 bytes instead
    of 256.  To resolve this, we will modify the preprocessor test to use
    the second case for AIX versions greater than 6.1.  This issue may be
    present on earlier releases of AIX as well, but AIX 5.3 and older
    test systems were not available at this time.
    
    Also, a spelling error in the comment was fixed.
    
    Reviewed-on: https://gerrit.openafs.org/15418
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8a2d4faa73d0f2e03a4016d7f84c5d5437040cec)
    
    Change-Id: I5a2fc4ad1a829f1ee30387da20ce477c84fa020f
    Reviewed-on: https://gerrit.openafs.org/15424
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Tested-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit af58c5cd15ad7b93a93892247fd1c4119e806767
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Apr 27 09:49:03 2023 -0600

    Linux: Clear msghdr structure before use
    
    The msghdr structure is used as a parameter to the Linux kernel
    functions kernel_sendmsg() and kernel_recvmsg(). Some required fields
    need to be set prior to calling these functions, but there are also
    additional structure members that may not be used by the calling code.
    Some of these fields may be initialized by the Linux kernel functions
    being used, but there may be some that are left uninitialized.
    
    To ensure that all fields in the msghdr structure are cleared, use
    memset to zero the entire structure. This will eliminate the need to set
    individual fields to 0 or NULL.
    
    Reviewed-on: https://gerrit.openafs.org/15409
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 795ef90d4041f1a5a1139435cc70f96457e0f64b)
    
    Change-Id: Id037e2e548c27b23e2746f804ddcaf7b79d905c4
    Reviewed-on: https://gerrit.openafs.org/15411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 12ce31ce1dbd86dff47a036b36ce6ad506bd7b75
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Apr 25 10:37:01 2023 -0600

    Linux: Do not initialize msghdr's msg_iter/msg_iov
    
    Since the initial Linux commit (2.6.12-rc2) the Linux function
    kernel_recvmsg() handles the initialization of the msghdr members
    related to the iov (msghdr.msg_iter and for earlier kernels
    msghdr.msg_iov and msghdr.msg_iovlen).
    
    The code in osi_NetReceive for Linux unnecessarily initializes these
    structure members prior to calling kernel_recvmsg().
    
    Remove the unnecessary code from osi_NetReceive along with the
    surrounding preprocessor check for STRUCT_MSGHDR_HAS_MSG_ITER.  Since
    this is the only location that uses this define, also remove the
    associated autoconf test.
    
    NOTE: This was discovered while investigating changes needed for
    Linux 6.4, due to: "iov_iter: add iter_iovec() helper" (de4f5fed3f)
    which renamed the Linux structure iter_iovec's member iov to __iov.
    Since the openafs code that was affected by the Linux 6.4 change is
    being removed as unnecessary, this commit is not Linux 6.4 specific,
    but effects all versions of Linux.
    
    Reviewed-on: https://gerrit.openafs.org/15408
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5a7630acfd8bfd462b633475a6e195d9dbdfb451)
    
    Change-Id: I3a803f76ab84f1e055e91cf4f2be96440f141746
    Reviewed-on: https://gerrit.openafs.org/15410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0967702c3f71c5d61e33f905c3272d029303743e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 15 19:59:47 2021 -0500

    AIX: Fix undefined symbols
    
    Various pieces of our code try to use symbols in our internal
    libraries that are not exported in the respective .sym file. On AIX,
    this causes the following build failures:
    
    ld: 0711-317 ERROR: Undefined symbol: .ubik_CallRock
    ld: 0711-317 ERROR: Undefined symbol: DISK_function_names
    ld: 0711-317 ERROR: Undefined symbol: VOTE_function_names
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[4]: *** [Makefile:45: afscp] Error 8
    make[4]: Leaving directory '/.../src/libadmin/test'
    
    ld: 0711-317 ERROR: Undefined symbol: PR_function_names
    ld: 0711-317 ERROR: Undefined symbol: KAA_function_names
    ld: 0711-317 ERROR: Undefined symbol: KAT_function_names
    ld: 0711-317 ERROR: Undefined symbol: KAM_function_names
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[4]: *** [Makefile:117: rxstat_get_peer] Error 8
    make[4]: Leaving directory '/.../src/libadmin/samples'
    
    ld: 0711-317 ERROR: Undefined symbol: .osi_audit_cmd_Options
    ld: 0711-317 ERROR: Undefined symbol: .osi_audit_open
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_SuperIdentity
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:71: butc] Error 8
    make[3]: Leaving directory '/.../src/tbutc'
    
    ld: 0711-317 ERROR: Undefined symbol: .pr_Initialize2
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:111: pts] Error 8
    make[3]: Leaving directory '/.../src/tptserver'
    
    ld: 0711-317 ERROR: Undefined symbol: .AFSVolListPartitions
    ld: 0711-317 ERROR: Undefined symbol: .AFSVolXListPartitions
    ld: 0711-317 ERROR: Undefined symbol: .RXAFS_GetStatistics64
    ld: 0711-317 ERROR: Undefined symbol: .AFSVolPartitionInfo64
    ld: 0711-317 ERROR: Undefined symbol: .AFSVolPartitionInfo
    ld: 0711-317 ERROR: Undefined symbol: .RXAFS_GetStatistics
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:65: fsprobe_test] Error 8
    make[3]: Leaving directory '/.../src/fsprobe'
    
    ld: 0711-317 ERROR: Undefined symbol: fsprobe_Results
    ld: 0711-317 ERROR: Undefined symbol: gtxframe_exitValue
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:45: scout] Error 8
    make[3]: Leaving directory '/.../src/scout'
    
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_toString
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_freeString
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:50: check_sysid] Error 8
    make[3]: Leaving directory '/.../src/viced'
    
    ld: 0711-317 ERROR: Undefined symbol: .GetLogLevel
    make[3]: *** [Makefile:130: fileserver] Error 8
    make[3]: Leaving directory '/.../src/viced'
    
    ld: 0711-317 ERROR: Undefined symbol: .GetLogDest
    ld: 0711-317 ERROR: Undefined symbol: .GetLogFilename
    ld: 0711-317 ERROR: Undefined symbol: .CloseLog
    make[3]: *** [Makefile:166: salvageserver] Error 8
    make[3]: Leaving directory '/.../src/tsalvaged'
    
    ld: 0711-317 ERROR: Undefined symbol: .rxkad_StringToLevel
    ld: 0711-317 ERROR: Undefined symbol: .FilepathNormalize
    ld: 0711-317 ERROR: Undefined symbol: .ConstructLocalPath
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:32: upserver] Error 8
    make[3]: Leaving directory '/.../src/update'
    
    ld: 0711-317 ERROR: Undefined symbol: xstat_fs_Results
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:77: xstat_fs_test] Error 8
    make[3]: Leaving directory '/.../src/xstat'
    
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_DeleteKeyBySubType
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_DeleteKeyByType
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[3]: *** [Makefile:35: asetkey] Error 8
    make[3]: Leaving directory '/.../src/aklog'
    
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_FindService
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_AddKey
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetLatestKeyByTypes
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[4]: *** [Makefile:19: authcon-t] Error 8
    make[4]: Leaving directory '/.../tests/auth'
    
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_AddUser
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_IsSuperIdentity
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_AddIdentity
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetNthUser
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetNthIdentity
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_DeleteUser
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_DeleteIdentity
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[4]: *** [Makefile:25: superuser-t] Error 8
    make[4]: Leaving directory '/.../tests/auth'
    
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetKeys
    ld: 0711-317 ERROR: Undefined symbol: .rx_opaque_new
    ld: 0711-317 ERROR: Undefined symbol: .rx_opaque_free
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetKeyByTypes
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetKeysByType
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_PutTypedKeyList
    ld: 0711-317 ERROR: Undefined symbol: .afsconf_GetLatestKeysByType
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[4]: *** [Makefile:31: keys-t] Error 8
    make[4]: Leaving directory '/.../tests/auth'
    
    ld: 0711-317 ERROR: Undefined symbol: ._afsconf_Touch
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[1]: *** [Makefile:34: realms-t] Error 8
    make[1]: Leaving directory '/.../tests/auth'
    
    ld: 0711-317 ERROR: Undefined symbol: .opr_cache_get
    ld: 0711-317 ERROR: Undefined symbol: .opr_cache_put
    ld: 0711-317 ERROR: Undefined symbol: .opr_cache_init
    ld: 0711-317 ERROR: Undefined symbol: .opr_cache_free
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[1]: *** [Makefile:16: cache-t] Error 8
    make[1]: Leaving directory '/.../tests/opr'
    
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_isNil
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_equal
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_hash
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_fromString
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_create
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_unpack
    ld: 0711-317 ERROR: Undefined symbol: .opr_uuid_pack
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[1]: *** [Makefile:37: uuid-t] Error 8
    make[1]: Leaving directory '/.../tests/opr'
    
    ld: 0711-317 ERROR: Undefined symbol: .rxevent_Init
    ld: 0711-317 ERROR: Undefined symbol: .rxevent_Post
    ld: 0711-317 ERROR: Undefined symbol: .rxevent_Cancel
    ld: 0711-317 ERROR: Undefined symbol: .rxevent_RaiseEvents
    ld: 0711-317 ERROR: Undefined symbol: .rxevent_Put
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    make[1]: *** [Makefile:18: event-t] Error 8
    make[1]: Leaving directory '/.../tests/rx'
    
    To fix these, export the relevant symbols from the library's .sym
    file.
    
    Reviewed-on: https://gerrit.openafs.org/14707
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9656a6b92b86849aa964529947bacb5aea4d83eb)
    
    Backport notes:
    
    The following symbols are not present in the 1.8.x branch at this time,
    so removed from this backported patch:
    
     * afsconf_GetLatestRXGKKey
     * opr_cache_free
     * opr_cache_get
     * opr_cache_init
     * opr_cache_put
     * osi_audit_close
     * osi_audit_cmd_Options
     * osi_audit_open
     * pr_Initialize2
     * ubik_CallRock
    
    The following symbol files are not present in the 1.8.x branch at this
    time, so were removed from this backported patch:
    
      * src/fsprobe/liboafs_fsprobe.la.sym
      * src/gtx/liboafs_gtx.la.sym
      * src/xstat/liboafs_xstat_fs.la.sym
    
    Change-Id: Idd7059fe9e372d9131fa575412b391f03cb24bb3
    Reviewed-on: https://gerrit.openafs.org/15403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5e282943ff00fbd5c9ba3056c25959794f8a1144
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 7 14:10:58 2023 -0500

    LINUX: Introduce afs_d_alias_foreach
    
    We have a couple of places in the code that iterate over the dentry
    aliases of an inode, and each of these involves a small #ifdef ladder
    to handle slightly different ways of traversing the relevant list.
    Split this logic into its own compatibility macro,
    afs_d_alias_foreach[_reverse], to contain this ugliness in
    osi_compat.h and make the callers more readable.
    
    This commit should incur no functional change; it is just code
    reorganization.
    
    Reviewed-on: https://gerrit.openafs.org/15390
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5aaed53f07fae0856e6da9defc408960e72364a7)
    
    Change-Id: I107c01917512da6c1043880cb93754be37919c47
    Reviewed-on: https://gerrit.openafs.org/15401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7f9445bbeb72bcb8257ba0e0608746e31efae40e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 15 16:24:10 2019 -0500

    afs: Fix a few ARCH/osi_vcache.c style errors
    
    Most of the ARCH/osi_vcache.c implementations were defining functions
    like:
    
    void
    osi_foo(args) {
        /* impl */
    }
    
    But our prevailing style is:
    
    void
    osi_foo(args)
    {
        /* impl */
    }
    
    Fix them to follow our prevailing style, and fix a couple of the more
    obvious errors with identation and goto label.
    
    Reviewed-on: https://gerrit.openafs.org/13699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ee7019a7630d01f29fecebd89ca69ad8a37e24e2)
    
    Change-Id: I2a34a0d8fd7b6c3721ede0c40c212c3993402235
    Reviewed-on: https://gerrit.openafs.org/15400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f6fbb85c00411bf97e9855be73baf49bd6b061d7
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Mar 29 12:11:38 2023 -0600

    Linux 6.3: Use mnt_idmap for inode op functions
    
    Through a series of Linux 6.3 commits starting with:
      'f2fs: project ids aren't idmapped' (64b4cdf22f) and ending with
      'fs: move mnt_idmap' (3707d84c13)
    the inode operations functions were changed to take a mnt_idmap
    structure instead of a user_namespace structure.  These were pulled in
    via the the merge commit:
      'Pull vfs idmapping updates from Christian Brauner' (05e6295f7b)
    The commit message for the merge contains background and overall
    information for this conversion.
    
    The above change simply changes the functions to use a different
    structure (mnt_idmap instead of user_namespace).  For afs, it is a
    simple change to swap the structures. But for some of the Linux calls
    (generic_fillattr(), setattr_prepare(), and inode_op->setattr()) we
    would like to use the Linux symbol nop_mnt_idmap, but that symbol is
    exported as GPL only.  Instead, we will obtain its address from the
    current task structure at libafs initialization (much the same way as
    obtaining current user namespace for afs_ns).
    
    Add autoconf tests to determine if inode_operations.create() uses the
    mnt_idmap structure.  If so set a generic configure define for
    "IOP_TAKES_MNT_IDMAP".
    
    Update afs's inode operations functions to take and use a mnt_idmap
    instead of a user_namespace.
    
    At libafs initialization, obtain the mnt_idmap from the current task
    and save it as an afs global variable, afs_mnt_idmap, to be used where
    needed.
    
    Reviewed-on: https://gerrit.openafs.org/15347
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 858ee34545e57acab1e4e5813cd1b9a011538b9e)
    
    Change-Id: If89c6f401db04826ef45de83b91240f106cca616
    Reviewed-on: https://gerrit.openafs.org/15389
    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: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a3ad3bc1c87e525698f7dda1e4b0fbbd913da03
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Mar 22 16:56:09 2023 -0600

    Linux 6.3: Include linux/filelock.h if available
    
    Linux 6.3 commit
      'filelock: move file locking definitions to separate header file'
      (5970e15dbc)
    
    relocated file lock related declarations from 'linux/fs.h' into its own
    header file, 'linux/filelock.h'.
    
    Add autoconf tests to check for the header file 'linux/filelock.h' and
    update function checks for locks_lock_file_wait() and posix_lock_file().
    
    Update osi_compat.h to include linux/filelock.h if it is available.
    
    Reviewed-on: https://gerrit.openafs.org/15346
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 6873dc925c5acc0ce7d65cf778ffee09c82a9898)
    
    Change-Id: If131bee5b466a119f54b05388a065e6af23698cf
    Reviewed-on: https://gerrit.openafs.org/15388
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 30cf5d8f934afdaa5a2a28b2e5fac8adde70808b
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Tue Jan 31 11:28:49 2023 -0600

    AIX: Avoid including net/netisr.h on AIX 7.2 and above
    
    On AIX 7.2 and higher, /usr/include/net/netisr.h includes a header
    <sys/libsysp.h>.  This is an internal kernel library header that IBM
    does not ship.  The include of sys/libsysp.h is new in AIX 7.2.  The
    only information we need from net/netisr.h are the definitions for
    NETISR_MAX and NET_KPROC.  Using the macro AFS_AIX72_ENV, defined in
    src/config/param.rs_aix72.h and param.rs_aix73.h, we can just
    provide these definitions directly and avoid the include of
    net/netisr.h.  As part of this update we also add the macro
    AFS_AIX72_ENV to src/config/param.rs_aix72.h as it was missing there
    but is required for the edit to src/rx/AIX/rx_knet.c to work.  On
    earlier versions of AIX, we will continue to include net/netisr.h.  A
    case has been opened with IBM and they acknowledge the problem and
    are working on a solution.  However, we still need to be able to deal
    with the situation as shipped from IBM.  A future AIX 7.4 will likely
    be able to include net/netisr.h again.
    
    Reviewed-on: https://gerrit.openafs.org/15312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ca67e8c84891200398e577d76c0125966d22b01e)
    
    Change-Id: Icc3e241e09876a4e9ed3e779c1ba904e0762f92c
    Reviewed-on: https://gerrit.openafs.org/15386
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e83ce49c2dfff64b87a265a4250957a2e62c94d2
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Jan 30 19:11:32 2023 -0600

    comerr: Update rule for compile_et
    
    Update the build rule for compile_et under new platform rs_aix73.
    
    Reviewed-on: https://gerrit.openafs.org/15311
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit b713b62b3358482a818436a54975596188cb002b)
    
    Change-Id: I726cf21a2c70305c24c3f43f2504e70a98536aa7
    Reviewed-on: https://gerrit.openafs.org/15385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9b94108664330ac4b95a026a8be6c1e260c507fc
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Jan 30 19:08:20 2023 -0600

    configure: Add platform rs_aix73
    
    Enable the configure script to detect and configure AIX 7.3.
    Update INSTALL to reflect new platform.
    
    Reviewed-on: https://gerrit.openafs.org/15310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d03723e87a16e19a34950ca84a6139095a0694f9)
    
    Change-Id: I6727512ee343b3ee4cbb03c1e6242a69f407b987
    Reviewed-on: https://gerrit.openafs.org/15384
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c962d1b91141daceb66c58b30f2acef9e22f36c0
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu Aug 25 11:58:31 2022 -0700

    INSTALL: Update INSTALL to reflect AIX platforms
    
    Update the INSTALL file to reflect the current rs_aix platforms
    that we can build for.
    
    Reviewed-on: https://gerrit.openafs.org/15142
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4580f213b3a25dd57e6fd721f7ecc0ecad84fb07)
    
    Change-Id: I3e0d62258e57ff6a54fae2e49a427c764e03a9ae
    Reviewed-on: https://gerrit.openafs.org/15383
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit cff8ef661ba272027e44a0b21d77c3cc4e69b0ef
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu Aug 25 14:53:00 2022 -0700

    AIX: Fix issue with make install on AIX 7.1 and higher
    
    Added rules to src/export/Makefile.in for the install target
    under AIX 7.1 and higher.
    
    Reviewed-on: https://gerrit.openafs.org/15146
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f4fc18b80e81f10b17729ef06cca6a9548d36130)
    
    Change-Id: I0fcc1429111eaafa489adec330b5eb900022293e
    Reviewed-on: https://gerrit.openafs.org/15382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c6a391f6212860e381373f3c915885ff92a755cf
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu Aug 25 12:00:51 2022 -0700

    configure: Add platform rs_aix71
    
    Enable the configure script to detect and configure AIX 7.1.
    
    Reviewed-on: https://gerrit.openafs.org/15143
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1aeac365712f09ac90fe251c90b889548e25ac89)
    
    Change-Id: I469d94701d3554e74cfdc78686a83e7333210ad4
    Reviewed-on: https://gerrit.openafs.org/15381
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3a88fb9a73b612473090c505a67d3bd4d707f4ba
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu Aug 25 14:23:51 2022 -0700

    libafs: Add support for AIX 7.1, 7.2
    
    src/libafs/MakefileProto.AIX.in contains rules for various versions of
    AIX, but did not have any case for AIX 7.1 or 7.2  This causes build
    failures on those platforms.  Added in the missing entries for rs_aix71
    and rs_aix72.
    
    Reviewed-on: https://gerrit.openafs.org/15145
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0c43fe64dd885aed1ec1be4a2419e6396e583ec5)
    
    Change-Id: I68315c09eb3d6b2e30ea759d4f9bf5726a98e5d7
    Reviewed-on: https://gerrit.openafs.org/15380
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b6696e67bc7a85d892531a5e7c3a0f03998ba64b
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Thu Aug 25 13:15:11 2022 -0700

    AIX: Correctly create export64.exp on AIX 7.1+
    
    Create the export64.exp file on AIX 7 and higher.
    
    Reviewed-on: https://gerrit.openafs.org/15144
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ba3e1410d5df4454dc4dc63e1404a261977b0f60)
    
    Change-Id: I7ec71522f8e35ede3532e3b1d77623ef25510561
    Reviewed-on: https://gerrit.openafs.org/15379
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 927f906f3d0cfdbe6f38608a56f9f92700806f1e
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Tue Aug 23 13:15:46 2022 -0700

    afs: Use strlcat instead of snprintf to enable AIX build
    
    The original code used strcpy(), etc.  Some compilers have begun
    to raise warnings that the use of these functions is unsafe, and
    in the case of newer Linux kernels in particular, have caused the
    build to fail outright.  To adapt to these compilers/kernels, the
    code was changed to leverage strlcpy(), snprintf(), etc. as they
    are safer.  AIX does not provide these functions within the
    kernel.  For some of the functions such as strlcpy(), etc. we
    can use replacement functions from libroken within the AIX kernel
    extension.  However, libroken does not offer a suitable
    replacement for snprintf(), and instead the same purpose can be
    accomplished by using strlcpy() and multiple calls to strlcat().
    
    Reviewed-on: https://gerrit.openafs.org/15122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 54dbd474a5bd43cf62a226802593b062069509ce)
    
    Change-Id: Ie59450a91fcb374b1362f0bd88a93f258597a22d
    Reviewed-on: https://gerrit.openafs.org/15378
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2826b3271aea8608fec44174d8b7e1ea7e805d99
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Fri Aug 19 08:34:33 2022 -0700

    BUILD: Ensure that make clean actually cleans all products
    
    After a build, running make clean leaves the following objects:
    
    src/dir/test/dtest.o
    src/libuafs/libuafs.a
    src/libuafs/*.o
    src/roken/*.o
    
    Add a few rules to the various Makefiles to ensure that we clean
    up those files as well.
    
    Reviewed-on: https://gerrit.openafs.org/15119
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ad2b880c3791046883f8c0ef15f327c85e013b5b)
    
    Change-Id: Iaef185ec0e045ded8453f6b276e6b6b9075b3388
    Reviewed-on: https://gerrit.openafs.org/15377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9d2bfcab35eac3dc0040be10681269daba30f866
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sat Aug 13 11:40:44 2022 -0700

    afs: Fix missing def for pinned_heap on AIX
    
    Include sys/malloc.h in AIX's osi_sleep.c.  This resolves a build
    failure in which pinned_heap is not defined.
    
    The commit below introduced code to resolve an issue on AIX 5.3:
    
      5e5bfa6b9401ebc1fa5446e208cf46c15943c411
      Author: Tom Keiser <tkeiser@sinenomine.net>
      Date:   Mon Jun 25 21:22:49 2007 +0000
    
        aix53-avoid-wait-crash-20070625
    
    newp = (afs_event_t *) xmalloc(sizeof(afs_event_t), 5, pinned_heap);
    
    pinned_heap has always been defined in sys/malloc.h since at least
    AIX 4.1.  It is likely that the aix53-avoid-wait-crash-20070625
    commit did not compile, or that sys/malloc.h was included
    elsewhere at the time.
    
    Reviewed-on: https://gerrit.openafs.org/15108
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 615681710a38bd1a92f2c476df9fdab7ac1d9bdd)
    
    Change-Id: I3fcfc1c7e3e26e927d0a8e2a233c4c12b0781308
    Reviewed-on: https://gerrit.openafs.org/15376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d00e6d6fb5ec4cf2520ae2c71f38091d950ec785
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Aug 15 10:44:14 2022 -0700

    AIX: Fix install of 64-bit kernel module
    
    Remove make step in error.  This was preventing the install of the
    built kernel module on AIX when not using Transarc-style paths via
    the make install step.
    
    Reviewed-on: https://gerrit.openafs.org/15114
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 319d361499af933451425acaeabac9bc6548c96b)
    
    Change-Id: I252de19363824ae23187b7b9da878137814ab09d
    Reviewed-on: https://gerrit.openafs.org/15375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 99ea3deeb5b082bdcbd14c41b6a2c11a900bccb4
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Aug 15 10:00:07 2022 -0700

    util: Add missing symbol for AIX build
    
    Added symbol afs_exec_alt to liboafs_util.la.sym.  This resolves a
    build failure on AIX.
    
    Reviewed-on: https://gerrit.openafs.org/15113
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit c0968b6c69c3f16468a7fe4a234d8421731e20e0)
    
    Change-Id: I060b7b102c963a517d79bad41b5e4c827cbccad8
    Reviewed-on: https://gerrit.openafs.org/15374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0d845973f05ef70991f0ee8007fb1a2dfdea3ea1
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sat Aug 13 23:25:10 2022 -0700

    fsint: export symbol needed by fileserver
    
    The symbol RXAFS_OpCodeIndex is consumed by the fileserver via the various
    "opcode_<RPC Name>" macros produced by rxgen.  The functionality is provided
    by liboafs_fsint but RXAFS_OpCodeIndex was omitted from the export symbol list.
    This went undetected because we use static linking for the fileserver, and
    libtool does not enforce export symbol lists while static linking, on platforms
    other than AIX.  Recent efforts to revive the AIX build illuminated the error,
    which we resolve by adding RXAFS_OpCodeIndex to the export list.
    
    Reviewed-on: https://gerrit.openafs.org/15112
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 91532e3142751468aa8f7bbabe7de087b77259bf)
    
    Change-Id: Ia665937002137dca1a8ec4573b4fe8932fc90dd0
    Reviewed-on: https://gerrit.openafs.org/15373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c0cfe72f072ad27c7958b110678134adad7cebbd
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sat Aug 13 11:47:07 2022 -0700

    export: Ignore additional build products generated on AIX
    
    Update .gitignore to ignore additional build products generated on AIX.
    
    Reviewed-on: https://gerrit.openafs.org/15110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 448d2b1184e872f977a662c3f48af04029f9a112)
    
    Change-Id: Iff910b63174c9b046e031285dd30672b0f592c1a
    Reviewed-on: https://gerrit.openafs.org/15372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b768ba5f1fa15763177cad3ed35e1da5316e7f14
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Mon Aug 15 14:45:12 2022 -0700

    export: Install kernel utilities with execute permissions on AIX
    
    Make sure that cfgexport and cfgafs are installed with execute
    permissions.  These executables load the AIX kernel modules into
    the running kernel and are called by the rc.afs script.
    
    Reviewed-on: https://gerrit.openafs.org/15116
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1a4da8868fd32e928def64599bb6ec9d6b455423)
    
    Change-Id: I575d89164ef386d1cdf562b2206b502b3c2e8582
    Reviewed-on: https://gerrit.openafs.org/15371
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f3cdd139d83fc74f89d16ab6f685ec25ea40edf4
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Sat Aug 13 11:40:18 2022 -0700

    afs: Fix missing def for timestruc_t on AIX
    
    Include sys/time.h in AIX's osi_machdep.h.  This resolves a build
    issue where the struct timestruc_t was not defined.
    
    Reviewed-on: https://gerrit.openafs.org/15107
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b5b34278b26ca22eea988fb18d738969dd608ede)
    
    Change-Id: Icb91b47d819f1bcc0e277a482f2a22d87dc8bc6c
    Reviewed-on: https://gerrit.openafs.org/15370
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 75578909c5071d45eb2a5989917a3e4a9234aace
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 16 14:02:07 2021 -0500

    tsm41: Fix libs for AIX 7.2
    
    AIX 7.2 doesn't seem to have libcsys, netinet.exp, sockets.exp, or
    statcmd.exp available. To allow for our IMPORTS and LDFLAGS to change
    depending on the AIX version, introduce the autoconf vars TSM_IMPORTS
    and TSM_LIBS, which do not contain the missing libs on AIX 7.2, so we
    can build on AIX 7.2.
    
    Reviewed-on: https://gerrit.openafs.org/14703
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit a912db315b4f29673808a7f900eb038ebd7b89c2)
    
    Change-Id: Ic106b893f212b33c85bded8443bcb782205f290c
    Reviewed-on: https://gerrit.openafs.org/15369
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 567c987992b2e027668186e75017423e5637308b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 15 17:53:43 2021 -0500

    AIX: Add buildsystem support for AIX 7.2
    
    Reviewed-on: https://gerrit.openafs.org/14701
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7acd66ae39db2049c8f80f4fceb4fcd15fe8e8b8)
    
    Change-Id: I94e74b56379fe1103d966883835b8af8a0d98f7e
    Reviewed-on: https://gerrit.openafs.org/15368
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c8a92c4a7e1badfaf81517303440cd9ac7a55dd0
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 15 18:53:59 2018 -0400

    roken: do not clobber __attribute__
    
    The roken-common.h header defines an empty macro called __attribute__
    when HAVE___ATTRIBUTE__ is not defined. This macro conditionally removes
    the `format' function attributes in the roken headers at compile time.
    Unfortunately, the empty __attribute__ macro will also clobber other
    attribute types encountered after the roken.h header inclusion.
    
    This is not an issue when building under gcc or clang, since the empty
    attribute macro will not be defined. However Solaris Studio supports a
    subset of the function attribute types, with `format' not currently
    supported. This means roken will define an empty __attribute__ macro,
    which prevents the use of other attribute types.
    
    This commit does not change the roken files directly because they are
    external.  Instead, the processing of the roken.h.in file has been
    updated to undefine the __attribute__ macro at the end of the generated
    roken.h header.
    
    Reviewed-on: https://gerrit.openafs.org/12961
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 388eaec3452ed4b18a95ee34efcbe4cf64814701)
    
    Change-Id: Id93ec414a59a2f5866e503601b7e42bbb4f8d66a
    Reviewed-on: https://gerrit.openafs.org/15367
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ben Huntsman <ben@huntsmans.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c08c7ba8fbf37018176ee87b980650dd34124678
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Feb 24 13:05:29 2023 -0700

    rx: Revert RXS_DestroyConnection()'s return type
    
    Commit 'rx: Do not ignore RXS_* op errors' (635594d6c) changed the
    rx_securityOps.op_DestoryConnection()'s signature to a void return.
    This is a change to a public interface.
    
    To maintain backward compatibility within openafs 1.8.x, restore
    op_DestoryConnection's signature back to returning an 'int', and revert
    the changes to rxkad_DestroyConnection() so it returns an int value.
    Since returning an error value from this function doesn't make sense,
    as noted by commit '635594d6c', always return a 0 value.
    
    This is a 1.8.x specific commit
    
    Change-Id: I9685ac884a10298ae8faad012717499874f25316
    Reviewed-on: https://gerrit.openafs.org/15334
    Tested-by: BuildBot <buildbot@rampaginggeek.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 1da00dfa9446c4c881e8659ec48a5e00262828ca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 12 18:21:23 2021 -0500

    afs: Assert avc->lock is held in afs_IAS_once
    
    Commit 3be5880d (afs: Avoid panics in afs_InvalidateAllSegments) added
    an assert to check that vcache->lock is write-locked before we call
    afs_InvalidateAllSegments_once from a background operation.
    
    However, afs_InvalidateAllSegments_once should always be called with
    vcache->lock write-locked; there's nothing specific about the
    backgrounded call that requires this. So to make sure we catch all
    cases, move this assert to afs_InvalidateAllSegments_once itself.
    
    Also remove the conditional check for WriteLocked(&avc->lock) in here,
    since clearly avc->lock must be write-locked (and actually is, since
    change Ic309e4006bf47bcb38fa2b53bf103e0c645a856d "afs: write-lock
    vcache->lock in afs_InactiveVCache").
    
    Add some comments to this function while we're here, to more clearly
    indicate what locks are needed.
    
    Reviewed-on: https://gerrit.openafs.org/14592
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 72223e0958c2d7cddd968970547dd73fc3cc1351)
    
    Change-Id: I9acf5599a8ef1e724a00cf362695fe34ca87c0bf
    Reviewed-on: https://gerrit.openafs.org/15331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 002c5a0c758aeb023c0fb2caa2247e8574fff1aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 10 15:57:43 2014 -0600

    Move key-related warnings to common server code
    
    Each server process can log a couple of different warnings about the
    server keys found on disk:
    
    - If afsconf_GetLatestKey() returns success (indicating a single-DES
      key is present), we call LogDesWarning().
    
    - If afsconf_CountKeys() returns 0 (indicating there are no keys at
      all on disk), we log a warning that all authenticated access will
      fail.
    
    Currently, the code to do these checks and log the relevant warning is
    duplicated across the startup code for nearly every server process. To
    avoid this duplication, and to make sure the checks aren't
    accidentally skipped for anyone, move these checks to
    afsconf_BuildServerSecurityObjects, which every server process calls.
    
    We must add an additional parameter to
    afsconf_BuildServerSecurityObjects to handle the different logging
    mechanism these servers use, but afsconf_BuildServerSecurityObjects is
    declared in a public header (cellconfig.h), and is exported in a
    public library (libafsauthent). So to avoid changing a public symbol,
    introduce a new variant of the function, called
    afsconf_BuildServerSecurityObjects_int. Declare this in a new internal
    header, authcon.h.
    
    We don't have easily-usable logging functions for upserver and butc,
    so just don't log the warnings for those. For ubik servers, don't
    update ubik_SetServerSecurityProcs to use the new function; the
    initial call to afsconf_BuildServerSecurityObjects_int in the server's
    startup code will cover logging the warning on startup.
    
    Reviewed-on: https://gerrit.openafs.org/10831
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2630e70550defc664efa0952589cf82ed3c51796)
    
    Change-Id: Ib37b92cfccbf161d72d2db73eeaea6fd8b312961
    Reviewed-on: https://gerrit.openafs.org/15316
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 363a3050610ec66483c71c8052ba40337fead942
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jan 26 19:30:04 2023 +0100

    CellServDB update 09 May 2022
    
    Update all three copies in the tree, and the rpm specfile.
    
    Reviewed-on: https://gerrit.openafs.org/15305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1b92c766f1cf52b3bae3a00e08d40a2334bf9f24)
    
    Change-Id: I26fb3ff045d41b840fc6565d1a17aca8e75fcd30
    Reviewed-on: https://gerrit.openafs.org/15323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4a0f5562915b1058de15ec46649c09cdbddce269
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Jul 7 11:08:10 2021 -0600

    Remove kdump
    
    Remove the obsolete kdump debugging tool from the tree.  Remove and
    clean up the preprocessor tests associated with KDUMP, KDUMP_RX_LOCK and
    KDUMP_KERNEL.  Clean up the autoconf and Makefiles to remove kdump and
    the associated autoconf and Makefile vars XLIBELFA and XLIBKVM.
    
    The kdump utility has not been well maintained; for some platforms it
    fails to build (e.g. Solaris 11).  For Linux, the makefile does not
    even try to compile the kdump source but instead creates the kdump file
    via touch.
    
    The intended functionality of kdump has been replaced by various kernel
    debugging tools, such as dtrace or systemtap.
    
    Reviewed-on: https://gerrit.openafs.org/14623
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 489cfb587a87ab53817ad0b4eccd65d9f7b332e2)
    
    Change-Id: Idf9582fd65482f32e7f13af0bf734c2b970da757
    Reviewed-on: https://gerrit.openafs.org/15315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4e4ffde5d0a17e48f82c4b67e921a8881ffc4fe5
Author: Andrew Deason <adeason@dson.org>
Date:   Mon May 25 16:48:34 2020 -0500

    IRIX: Remove pre-65 code
    
    Commit d1923139 (irix kill efs and start pruning pre-65) removed all
    files that defined AFS_SGI64_ENV and earlier, but didn't remove that
    code that depended on those defines. In addition, there has been code
    in the tree that checks for AFS_SGI53_ENV since OpenAFS 1.0, but
    nothing has ever defined Irix 5.3 support in OpenAFS.
    
    Remove all of this obsolete code. Change all references to
    AFS_SGIXX_ENV to AFS_SGI_ENV, and assume AFS_SGI_ENV is defined in all
    IRIX dirs. Consolidate some of the resulting ifdef logic
    appropriately.
    
    Reviewed-on: https://gerrit.openafs.org/14230
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e0c288416df59a117cd818ada930fd1259955983)
    
    Change-Id: Ie188b9f108bf55cfae7fcb358a1de21bad076f11
    Reviewed-on: https://gerrit.openafs.org/15314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 85df2442240c9384822e6658e9aad4f83c19d6e3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Mar 9 23:12:50 2021 -0500

    DARWIN: correct size of fstrace ICL_TYPE_LONG and ICL_TYPE_POINTER
    
    Commit 248da50aa56f19bdc8b2b322f5e17b3d2a363dce 'icl 64 bit platform
    rationalization' introduced support for 64-bit ICL_TYPE_POINTER and
    ICL_TYPE_LONG for fstrace running on DARWIN kernels.  However, it
    neglected to make the matching change in the fstrace utility itself,
    which reads and reports these trace entries.  The result is that all
    fstrace records which contain 64-bit pointers or longs are misreported
    as 32-bit values.  Furthermore, any subsequent values in the same
    fstrace record are also misreported because the offsets are now
    incorrect.
    
    Move the definition of ICL_LONG from afs_icl.c to icl.h so fstrace.c may
    share the ICL_LONG logic and value.
    
    Modify fstrace to use logic similar to the recording logic in afs_icl.c
    so that the correct size and offsets are maintained while decoding the
    contents of each fstrace record.
    
    We can use the build-time value of ICL_LONG (rather than the runtime
    value of afs_sizeofLong) because the difference only matters for SGI62
    32-bit kernels.  It is unknown whether the existing code works correctly
    for SGI62 32-bit mode, but this commit should not affect that support
    either way.
    
    Reviewed-on: https://gerrit.openafs.org/14558
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit adf08b464efa8c29256dc7b261b10b60cc31119d)
    
    Change-Id: Ie3ef988d209a984839751051d7bd9a62369b5b11
    Reviewed-on: https://gerrit.openafs.org/15313
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 37d01094b929a6bb745aeb00a3f5a40fd8fe5822
Author: Ben Huntsman <ben@huntsmans.net>
Date:   Wed Aug 17 17:19:55 2022 -0700

    rx: Only use printf in the AIX kernel
    
    An earlier version of the OpenAFS code used an unusual preprocessor
    macro for the function osi_Msg and osi_VMsg.  This causes problems
    on newer Linux kernels.  The macro was replaced with a function
    leveraging vprintf, etc.  These functions are not available in the
    AIX kernel, where our only option is printf.  However, AIX does
    provide these functions in libc.  This change ensures we only use
    printf when building the AIX kernel module.
    
    Reviewed-on: https://gerrit.openafs.org/15118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8b1beaffb40c93ddab50c75b37f3de5ae517a849)
    
    Change-Id: Id06478cbc87b6965c021f26902e13bdfc2ef83d5
    Reviewed-on: https://gerrit.openafs.org/15309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7c3c93db2977765a8b82426f0524b380f896b82f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 14 10:51:42 2020 -0600

    afs: Properly type afs_osi_suser cred arg
    
    Currently, afs_osi_suser is declared with a void* argument, even
    though its only argument is always effectively a afs_ucred_t*. This
    allows us to call afs_osi_suser with any pointer type without the
    compiler complaining. Currently, some callers call afs_osi_suser with
    an incorrectly-typed afs_ucred_t** instead, like so:
    
        func(afs_ucred_t **credpp)
        {
            afs_ucred_t **acred = *acredpp; /* incorrect assignment */
            if (afs_osi_suser(acred)) {
                /* ... */
            }
        }
    
    The actual code in the tree hides this to some degree behind various
    function calls and layers of indirection (e.g. afs_suser()), but this
    is effectively what we do. This causes compiler warnings because we
    are doing incorrect pointer assignments, but the end result works
    because afs_osi_suser actually uses an afs_ucred_t*.
    
    The type confusion makes it very easy to accidentally give the wrong
    type to afs_osi_suser. This only really matters on SOLARIS, since that
    is the only platform that actually uses its argument to
    afs_osi_suser().
    
    To fix all of this, just declare afs_osi_suser as taking an
    afs_ucred_t*, and fix all of the relevant functions to handle the
    right type.
    
    Reviewed-on: https://gerrit.openafs.org/14085
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4ce922d339777faf647f7129f5ae3f173a7870b1)
    
    Change-Id: I1a6ce7788e86c32e554f87785f96f1d7b56d1496
    Reviewed-on: https://gerrit.openafs.org/15308
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bfb3125fc1b73ae17a346d33a1a34e51379db9c4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 4 15:55:07 2020 -0400

    Add static assert for size of osi_timeval32_t
    
    OpenAFS code requires osi_timeval32_t to have 32-bit sizes for members
    tv_sec and tv_usec - a total of 8 octets.  One symptom of a
    misdefinition may be incorrect operation of xstat_cm_test, which relies
    on wire representations of time being 8 bytes on both the client and
    server side.
    
    In order to prevent incorrect sizes of osi_timeval32_t, add a static
    assert.
    
    Reviewed-on: https://gerrit.openafs.org/14195
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 10c5ba12ace51440c7e98add83465a7018961e6f)
    
    Change-Id: I9584a53154ffe673d19191a0bd9f6a92d6daf140
    Reviewed-on: https://gerrit.openafs.org/15304
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9433217b56afe3f23b2eeeefdb8fa644c2185e4a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jun 14 16:13:57 2021 -0600

    rx: Cleanup rx.h
    
    Fix up indentation and white space within preprocessor statements.
    
    Remove multiple blank lines
    
    Fix #endif comments so they match the #if
    
    Split long #define lines
      RX_PACKET_TYPES
      rx_MaxUserDatasize,
      RXS_OP
      RXS_SetConfiguration
    
    Note, this commit does not refactor any preprocessor statements.
    
    Reviewed-on: https://gerrit.openafs.org/14629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 21df433134a059de8d3b3b46bb0892b34d910364)
    
    Change-Id: I197897f4f7e81bd2f931e3decefe447caae0c5d9
    Reviewed-on: https://gerrit.openafs.org/15301
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bfc7688475fe5d2a178072a8978cf75635a15400
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 13 18:30:43 2019 -0500

    rx: Do not ignore RXS_* op errors
    
    Several places in rx call an RXS_* security layer operation, but
    ignore the error code. Though errors for these operations are rare or
    impossible currently, if they ever do return an error there could be
    noticeable consequences, like a connection getting an uninitialized
    challenge nonce, or sending a challenge packet with uninitialized
    payload.
    
    Change these call sites to record and handle the error. Errors from
    the security class normally mean aborting the entire conn, but for
    many operations we need to behave differently:
    
    - For RXS_DestroyConnection, errors don't make sense, since we're just
      freeing an object. Change the op to return void, and update our
      implementations of DestroyConnection to match.
    
    - For RXS_GetStats, just clear the relevant stats structure on error
      instead. This change also results in us clearing the stats structure
      when there is no security class associated with the connection;
      previously we just reused the same struct data as the previous conn.
    
    - For RXS_CreateChallenge, aborting the entire conn is difficult,
      because some code paths have callers that potentially lock multiple
      calls on the same conn (rxi_UpdatePeerReach -> TryAttach ->
      rxi_ChallengeOn -> RXS_CreateChallenge), and aborting our conn
      requires locking every call on the conn. So instead we just
      propagate an error up to our callers, and we abort just the call we
      have.
    
    - For RXS_GetChallenge, we cannot abort the conn when
      rxi_ChallengeEvent is called directly, because the caller will have
      the call locked. But when rxi_ChallengeEvent is called as an event
      (when we retry sending the challenge), we can.
    
    - For RXS_SetConfiguration, propagate the error up to our caller.
      Update all rx_SetSecurityConfiguration callers to record and handle
      the error; all of these are during initialization of daemons, so
      have them log an error and exit.
    
    Reviewed-on: https://gerrit.openafs.org/13522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 635594d6cceba6de4e09be5a9e9b908f7d16697d)
    
    Change-Id: I800516335f6ab0d01d2b29dd0ceba9213dafde59
    Reviewed-on: https://gerrit.openafs.org/15300
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@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 48d9848c5eef99bf1d8552acc055d3b91b2fbcc0
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Jul 7 12:32:36 2021 -0400

    LINUX: defer afs_remunlink when current->fs==NULL
    
    afs_remunlink is called to delete a file on the fileserver after it
    has been silly-renamed (due to being unlinked while the file is open).
    Sometimes current->fs is NULL when this happens, typically when the
    process is shutting down, after current->fs has been freed and file
    handles are getting released. During afs_remunlink, we need to
    interact with our cache files, and so we call dentry_open, which calls
    security_file_open, which calls into the configured LSM for security
    checks. Certain LSMs (e.g. Crowdstrike Falcon) will panic the kernel
    in this situation if current->fs is NULL.
    
    There's no way to skip the LSM hooks, or to flag to the LSM that we're
    making an in-kernel VFS call, so the only way to avoid these panics is
    to do our I/O in another thread. Fortunately, we already have a way to
    defer afs_remunlink calls to a background daemon (CUnlinkedDel), since
    we already do this in some cases (when someone else is holding
    afs_xvcache or afs_xdcache).
    
    So, to avoid the panic in the above scenario, defer calls to
    afs_remunlink to a background daemon using CUnlinkedDel when
    current->fs is NULL, and we're using a disk cache.
    
    More details on this issue is discussed at following thread:
    https://lists.openafs.org/pipermail/openafs-info/2021-March/043073.html
    
    Reviewed-on: https://gerrit.openafs.org/14691
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jonathan Billings <jsbillings@jsbillings.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 9e043e1a0cdca7624de3e27872273263c57027ed)
    
    Change-Id: If85d992c2639e59af7578ebc295f91d4f8462b69
    Reviewed-on: https://gerrit.openafs.org/15295
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b1bbe87643462ae88f8564044d9bff2703fd5123
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sat Mar 27 00:00:17 2021 -0400

    afs: write-lock vcache->lock in afs_InactiveVCache
    
    Since the original IBM code import, the comments for
    afs_InvalidateAllSegments indicate that vcache->lock W should be held at
    entry.  However, even back then, only LINUX and IRIX honored this
    requirement when the 'inactive' vnode operation reached
    afs_InvalidateAllSegments.
    
    Over the years, a number of commits have changed the operation and
    locking for the LINUX inactive vnode op:
    
    5293aa35617a6ad35980ce16fdf492ea960cc18a linux-iput-and-glock-changes-20010130
    e8591334602e5e8dad78dc6426d3c44d564572c1 linux-osi-clear-inode-locking-fix-20010816
    652f3bd9cb7a5d7833a760ba50ef7c2c67214bba linux-dynamic-inodes-20050710
    e0d9e434bb778a2507c1cd6d96c1faa2071f2b2c put-inode-speedup-20050815
    b21c13dc3ab751118220dc31276995050841a1ae linux-dentry-iput-20060813
    
    Eventually, ac52e2f3c0bec9298d020de963036409165f380e
    linux-dont-lock-around-inactivevcache-20061010 removed the vcache->lock
    from afs_dentry_iput (the current OpenAFS handler for inactive vcaches).
    The commit message states:
    
        "iafs_InactiveVCache() [sic] calls afs_InvalidateAllSegments() which says
        it should be called with the vnode locked. so the lock should
        probably be moved to afs_InactiveVCache() so it can be droppped
        before calling afs_remunlink()."
    
    Unfortunately, the vcache->lock was never moved to afs_InactiveVCache.
    
    Finally, 3be5880d1d2a0aef6600047ed43d602949cd5f4d 'afs: Avoid panics in
    afs_InvalidateAllSegments' introduced a background operation
    BInvalidateSegments that contains an assert for vcache->lock.  This
    assert has exposed the existing lack of proper locking for some paths to
    afs_InvalidateAllSegments by causing a kernel panic:
    
      d_iput -> afs_dentry_iput -> afs_InactiveVCache ->
      afs_InvalidateAllSegments -> afs_BQueue(BOP_INVALIDATE_SEGMENTS..) ->
      BInvalidateSegments -> osi_Assert(WriteLocked(&vcache->lock))
    
    Prevent the panic by modifying afs_InactiveVCache to obtain vcache->lock
    W before calling afs_InvalidateAllSegments, and dropping it before
    calling afs_remunlink.
    
    Thanks to Chaskiel Grundman for reporting and diagnosing the problem.
    
    Reviewed-on: https://gerrit.openafs.org/14584
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f02be4e3b89382317a3baa496f9cb672cdb4b32a)
    
    Change-Id: I38dc6e5d70b1743b96d2a227d28e58d1950b5835
    Reviewed-on: https://gerrit.openafs.org/15324
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1023b96ab1ea842c883c070e6197e71826dbe8be
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Apr 20 13:06:17 2022 +0000

    cmdebug: Print AFSFid fields as unsigned integers
    
    Currently, AFSFid fields are printed as signed integers. As a result,
    large numbers can be erroneously printed as negative numbers.
    
    To fix this problem, print AFSFid fields as unsigned integers.
    
    Reviewed-on: https://gerrit.openafs.org/14950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 29a89c82ad422f88b0898ad07e773dc2e71be983)
    
    Change-Id: Ieb303354f1332abb8278e62252c4842baa2132c7
    Reviewed-on: https://gerrit.openafs.org/15302
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d2429aec59fb3cc7d8a2cc94aa9e0ce8256ecb94
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 3 15:53:48 2020 -0500

    vol: Introduce and use FDH_BLOCKSIZE
    
    A couple of places in src/volser currently have some logic to get the
    size and blocksize of a file. The existing logic is nontrivial due to
    platform-specific quirks, and ignores afs_fstat errors.
    
    To fix these issue and consolidate the code into one place, introduce
    a new function, FDH_BLOCKSIZE, which gets the file size and blksize.
    Update the places in src/volser to use the new function.
    
    Reviewed-on: https://gerrit.openafs.org/14662
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 939787565d5be55a8a803043dbc4f27b3f11b906)
    
    Change-Id: I32c73e87fa0b6b0b45971e06b8d8c5653f882f7b
    Reviewed-on: https://gerrit.openafs.org/15303
    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 1eac15a85a50b1c322dd460f5c747538c88c1a31
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jan 10 18:11:58 2022 -0700

    afs.h: fix out of tree build failures
    
    There are several compiler errors and warnings when building an out of
    tree program that includes "afs/afs.h".
    
     - Errors for unknown type names 'afs_ucred_t' and 'wait_queue_head'
        .../afs/afs.h:1542:16: error: unknown type name ‘afs_ucred_t’
          ... | afs_set_cr_uid(afs_ucred_t *cred, uid_t uid) {
        .../afs/afs.h:1605:5: error: unknown type name ‘wait_queue_head_t’
          ... |     wait_queue_head_t cond;
    
     - Warnings about declaring structures within missing declarations for
       the structs: osi_File, dcache and afs_FetchOutput
       .../afs/afs.h:1486:36: warning: ‘struct osi_file’ declared inside
            parameter list will not be visible outside of this definition or
            declaration
          ... |     int (*read)(void *rock, struct osi_file *tfile,
                         afs_uint32 offset,
    
     - Unable to find the file for the include opr/jhash.h
    
    The missing type name 'afs_ucred_t' is due to miss-placed declarations
    for some kernel only functions.
    
    The type name 'wait_queue_head' is a data type for Linux kernel modules.
    
    The warnings for the missing declarations are due to either references
    to the structures before they are declared, or because they are not
    available in any of the other public header files.
    
    To fix the unknown type name afs_ucred_t, relocate the function
    declarations that reference 'afs_ucred_t' into the KERNEL only section
    (since afs_ucred_t is a kernel specific type).
    
    To fix the unknown type name 'wait_queue_head', relocate the afs_event
    structure and the afs_evhasht variable to be within the KERNEL only
    section.
    
    To resolve the warnings associated with the structures, simply declare
    the structure names before they are referenced.  All references that
    are resulting in the warnings are declarations for pointers.
    
    Relocate the include for opr/jhash.h and the define for VCSIZE into the
    kernel block.
    
    Reviewed-on: https://gerrit.openafs.org/14857
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 92342b099dd5ea539efc5ad119d36a87647c0895)
    
    Change-Id: Ib321796e473495d7d8774133c5e690b53bb26c17
    Reviewed-on: https://gerrit.openafs.org/15299
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 80cb460a8b434fa7fb2dacf642d54de1c0af5314
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Apr 5 16:29:52 2020 -0500

    libafs: Serialize INSTDIRS/DESTDIRS and COMPDIRS
    
    Our libafs build logic involves a few targets that 'cd' into a
    per-kernel subdir: notably INSTDIRS and DESTDIRS (the targets to 'make
    install' or 'make dest' our kernel modules) and COMPDIRS (the target
    to setup/build the kernel module).
    
    Both of these potentially 'cd' into a subdirectory (e.g. MODLOAD64),
    and run some make rules. Since INSTDIRS and COMPDIRS are different
    targets and don't depend on each other for many platforms, running
    those rules can happen in parallel. After they 'cd' into the relevant
    dir, they run a new 'make' in a subshell, and so underlying rules for
    building e.g. AFS_component_version_number.c are not serialized.
    
    So for a parallel build on, say, Solaris, we can encounter errors when
    two sub-makes try to make AFS_component_version_number.c at the same
    time, which looks something like this (with various lines output from
    other sub-processes mixed in):
    
        cd src && cd sys && gmake install
        gmake[3]: Leaving directory '/[...]/src/libuafs'
        rm -f AFS_component_version_number.c.NEW
        /opt/developerstudio12.6/bin/cc [...] -D_KERNEL -DSYSV -dn -m64 -xmodel=kernel -xvector=%none -xregs=no%float  -Wu,-save_args  -o AFS_component_version_number.o -c AFS_component_version_number.c
        mv: cannot access AFS_component_version_number.c.NEW
        gmake[4]: *** [/[...]/src/config/Makefile.version:13: AFS_component_version_number.c] Error 2
        gmake[4]: Leaving directory '/[...]/src/libafs/MODLOAD64'
        gmake[3]: *** [Makefile:85: solaris_instdirs] Error 2
        gmake[3]: *** Waiting for unfinished jobs....
    
    To avoid this, just make INSTDIRS and DESTDIRS depend on COMPDIRS, so
    we can make sure they don't run at the same time.
    
    Reviewed-on: https://gerrit.openafs.org/14137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3db8c37e8ef6bea0f03ef6b8f82ed93d52937d7d)
    
    Change-Id: Ied7875e885f51a6d3f00d65f1783df9439a18ae3
    Reviewed-on: https://gerrit.openafs.org/15298
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 30dc7fd2acbe756d5e618a6da484f0eebaf07e07
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Sep 22 01:58:17 2018 -0500

    SOLARIS: Fix libafs $(KOBJ) parallel make race
    
    Currently, our COMPDIRS make rule for SOLARIS libafs builds looks like
    this:
    
        ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
            for t in $(KOBJ) ; do
                # set some variables ; \
                cd $$t ; \
                $(MAKE) $@_libafs || exit $$? ; \
                cd ../ ;\
            done
    
    And Makefile.common has this:
    
        all: setup $(COMPDIRS)
    
    Where the 'setup' rule creates the $(KOBJ) dirs and sets up some
    symlinks.
    
    For parallel builds, this means that our commands in the ${COMPDIRS}
    target can be running in parallel with the 'setup' target, and so our
    $(KOBJ) dirs may not exist by the time we try to 'cd $$t'.
    
    For single-KOBJ platforms this actually largely works, since the 'cd'
    will fail, but then the subsequent 'make' will run (just in the wrong
    dir), but this can cause us to wastefully re-compile the same source
    files (and cause some possibly confusing error messages). For
    platforms with multiple KOBJs, this causes obvious problems, since we
    don't cd into each KOBJ dir.
    
    To solve this, just have the ${COMPDIRS}/etc rule depend on setup, so
    we know that 'setup' has finished running. Also change our way of
    'cd'ing into each KOBJ dir to actually cause the rule to fail, to make
    any errors here more obvious and consistent.
    
    Reviewed-on: https://gerrit.openafs.org/13344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 00aa9200be86b187c903503e56b2af55639ea2b8)
    
    Change-Id: I4b68cc8aa7b50f792152c2c00da6c6e3684755b7
    Reviewed-on: https://gerrit.openafs.org/15297
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 69839045c269af1b7023159e78dbc59e13e6202a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Feb 9 14:00:13 2022 -0700

    autoconf: Additional library test for ncurses
    
    Depending on how the ncurses libraries were built the external symbol
    'LINES' may be replaced with the '_nc_LINES' external symbol.  Because
    the symbol 'LINES' may or may not be present, the autoconf test can fail
    to detect the correct libraries needed for curses support.
    
    Add an additional AC_CHECK_LIBs for the symbol _nc_LINES (within the
    ncurses or tinfo libraries) when setting the $LIB_curses.
    
    This commit was adapted from the openSuSE source packaging for openafs.
    
    Background: when ncurses is built with --enable-reentrant, LINES is
    defined as a C preprocessor macro that expands to a call to _nc_LINES
    
    Reviewed-on: https://gerrit.openafs.org/14889
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c98994dd116121af75f6df6891e706957c6c953d)
    
    Change-Id: I6eb15897f48eb93d72739965c10b5f51b21d7336
    Reviewed-on: https://gerrit.openafs.org/15296
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f7625760d515a4954596526e78b9a8c2a9e9ec13
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Jan 18 14:18:08 2023 +0100

    afs: check for non-NULL before memset in afs_LookupName
    
    Commit 981bc005f8161ca9ee52ea281c7d73e0e4e2461a refactored PNewStatMount
    and PFlushMount by moving their common logic to a new function
    afs_LookupName(). In this function, the output parameters are zeroed.
    However, this is done before checking that their pointers are valid.
    Add additional checks before memset().
    
    Reviewed-on: https://gerrit.openafs.org/15283
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e2890626bc11964dd96cde0d7d8dd7fdfcf90857)
    
    Change-Id: I213ea7e23e01e7902919919581ad1d8e596303a2
    Reviewed-on: https://gerrit.openafs.org/15292
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit cba2b88851c3ae0ab1b18ea3ce77f7f5e8200b2f
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Mar 1 10:31:14 2022 -0500

    LINUX 5.13: set .proc_lseek in proc_ops
    
    When using the proc_ops structure, set .proc_lseek explicitly rather
    than leaving it unset. This field has always been present in proc_ops,
    but prior to Linux 5.13, it could be unset, causing default_llseek to be
    used. Starting with commit d4455faccd6 (proc: mandate ->proc_lseek in
    "struct proc_ops"), this field is now mandatory.
    
    This fixes a problem which would cause an oops if llseek(2) is called
    on /proc/fs/openafs/afs_ioctl.
    
    Reviewed-on: https://gerrit.openafs.org/14918
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 68851b782ca2cb5e4ae7457255841f44f3bef15c)
    
    Change-Id: Ifd3a517f595cfef7fd9dd1fdd3f3aca8fe1bc25f
    Reviewed-on: https://gerrit.openafs.org/15286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b885159cc2bc6c746aec1d54cdd8a515d1115d14
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Dec 14 13:40:48 2022 -0700

    Linux: Replace lru_cache_add with folio_add_lru
    
    The Linux 6.2 commit:
        "folio-compat: remove lru_cache_add()" (6e1ca48d0)
    removed the lru_cache_add() function (which was introduced in Linux 5.8)
    
    The replacement function is folio_add_lru(), which was introduced with
    the Linux 5.16 commit:
        "mm/lru: Add folio_add_lru()" (0d31125d2d)
    
    Reviewed-on: https://gerrit.openafs.org/15227
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cfac0df9cd7152be2672c665442aac84215494d6)
    
    Change-Id: I74535bf83cdd47c9dd60a7114ec7694ae9981c9b
    Reviewed-on: https://gerrit.openafs.org/15281
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f0fee2c7752d18ff183d60bcfba4c98c3348cd5f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 18 08:41:50 2022 -0700

    Linux: Check for block_dirty_folio
    
    The build for the openafs Linux kernel module fails on RHEL9.1 with an
    undefined function reference for block_dirty_folio().
    
    RedHat 9.1 includes the Linux commit:
      fs: Add aops->dirty_folio (6f31a5a261db)
    which added the dirty_folio member to the address_space_operations
    structure.
    
    However RedHat 9.1 does not include the following 2 Linux commits:
      fs: Convert __set_page_dirty_buffers to block_dirty_folio (e621900ad2)
    which introduced block_dirty_folio() as a function that could be used to
    handle the address_space_operations's dirty_folio operation.
    
    And
      fs: Remove aops ->set_page_dirty (3a3bae50af)
    which removed the set_page_dirty member in the address_space_operations
    structure.
    
    The openafs commit:
      Linux-5.18 replace set_page_dirty with dirty_folio (6aa129e743e88)
    introduced an autoconf test that checks for the presence of aops'
    dirty_folio member and assumed that the Linux function
    block_dirty_folio() was also provided (since all three of the above
    Linux commits were added in Linux-5.18-rc1).
    
    Without the (e621900ad2) commit, the openafs Linux kernel module fails
    to build since block_dirty_folio() is not defined by Linux.
    
    Introduce new autoconf tests that checks for the presence of the
    block_dirty_folio() function.
    
    Change the preprocessor conditional within LINUX/osi_vnodeops.c to only
    use dirty_folio if aops has dirty_folio and block_dirty_folio() is
    available.  When block_dirty_folio() is not available, we continue to
    use the older set_page_dirty method, which remains a valid method until
    its removal by the (3a3bae50af) Linux commit.
    
    Note: Reviewing the Linux source for RedHat 9.1 shows that there is only
    one location that is defining the dirty_folio member and it is providing
    its own function instead of relying on block_dirty_folio.
    
    Reviewed-on: https://gerrit.openafs.org/15199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e7737edb932a1c4d55a2551a44e481b40310c96d)
    
    Change-Id: If29ad539c5530289ffa49aa1fa489f612e9f5c78
    Reviewed-on: https://gerrit.openafs.org/15228
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9d217903f0c7f6b260f166fad6dbf77c67df7c2d
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Feb 13 00:39:00 2020 -0300

    vos: take RO volume offline during convertROtoRW
    
    The vos convertROtoRW command converts a RO volume into a RW volume.
    Unfortunately, the RO volume in question is not set as "out of service"
    during this process. As a result, accesses to the volume being converted
    can leave volume objects in an inconsistent state.
    
    Consider the following scenario:
    
    1. Create a volume on host_b and add replicas on host_a and host_b.
    
    $ vos create host_b a vol_1
    $ vos addsite host_b a vol_1
    $ vos addiste host_a a vol_1
    
    2. Mount the volume:
    
    $ fs mkmount /afs/.mycell/vol_1 vol_1
    $ vos release vol_1
    $ vos release root.cell
    
    3. Shutdown dafs on host_b:
    
    $ bos shutdown host_b dafs
    
    4. Remove RO reference to host_b from the vldb:
    
    $ vos remsite host_b a vol_1
    
    5. Attach the RO copy by touching it:
    
    $ fs flushall
    $ ls /afs/mycell/vol_1
    
    6. Convert RO copy to RW:
    
    $ vos convertROtoRW host_a a vol_1
    
    Notice that FSYNC_com_VolDone fails silently (FSYNC_BAD_STATE), leaving
    the volume object for the RO copy set as VOL_STATE_ATTACHED (on success,
    this volume should be set as VOL_STATE_DELETED).
    
    7. Add replica on host_a:
    
    $ vos addsite host_a a vol_1
    
    8. Wait until the "inUse" flag of the RO entry is cleared (or force this
    to happen by attaching multiple volumes).
    
    9. Release the volume:
    
    $ vos release vol_1
    
    Failed to start transaction on volume 536870922
    Volume not attached, does not exist, or not on line
    Error in vos release command.
    Volume not attached, does not exist, or not on line
    
    To fix this problem, take the RO volume offline during the vos
    convertROtoRW operation.
    
    Reviewed-on: https://gerrit.openafs.org/14066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 32d35db64061e4102281c235cf693341f9de9271)
    
    Change-Id: I00a99819ac7d1d981695da3eae1bd60de1cb53ae
    Reviewed-on: https://gerrit.openafs.org/15233
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a48ce589a24f2280b085e50718b05d08db918bd
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Mar 6 15:15:38 2020 +0000

    vol: fix namei_ConvertROtoRWvolume return code
    
    Commit 8632f23d6718a3cd621791e82d1cf6ead8690978 introduced checks for
    the return value of snprintf calls in namei_ops. On success, the value
    returned by this function represents the number of written characters.
    Unfortunately, the variable used to store this value is the same
    variable that represents the status code returned by
    namei_ConvertROtoRWvolume. Consequently, a successful execution of
    namei_ConvertROtoRWvolume results in a status code different the 0 (and
    equal to the number of written characters).
    
    To fix this problem, set the status code in question back to 0 after a
    successful execution of namei_ConvertROtoRWvolume.
    
    Reviewed-on: https://gerrit.openafs.org/14065
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 957b06984b77cba74bd90217b723220c1844809b)
    
    Change-Id: If82cf4d2983e7b6f8975ca4a9fa104ee5e36b917
    Reviewed-on: https://gerrit.openafs.org/15232
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3084117f10bd62acb1182cb54fc85b1d96738f70
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 4 08:33:39 2022 -0600

    Linux: Fix functions without prototypes
    
    The Linux kernel build has -Wstrict-prototypes enabled and flags
    functions without a proper prototype.  With clang-16 these warnings are
    reported as errors when the kernel is configured with CONFIG_WERROR or
    when openafs is configured with --enable-checking.
    
        src/libafs/MODLOAD-6.1.0-rc3-SP/osi_alloc.c:339:32: error: a
           function declaration without a prototype is deprecated in all
           versions of C [-Werror,-Wstrict-prototypes]
       osi_linux_verify_alloced_memory()
                                      ^
                                       void
    
    Update function prototypes to comply with -Wstrict-prototypes.
    
    There are no functional changes with this commit.
    
    Reviewed-on: https://gerrit.openafs.org/15194
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 63db2de22ef75292463ec1f0979e32afc05d0b95)
    
    Change-Id: I2e9c09c3b88ca3597720b1d8885537600d307418
    Reviewed-on: https://gerrit.openafs.org/15275
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c990b0d086632aef51585beabb42fd9ff22d1fc4
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 10:00:06 2022 -0700

    libadmin: Fix RPCStatsStateGet 'rpc' prototype
    
    clang-16 is flagging a incompatible-function-pointer-types warning which
    results in build errors when --enable-warning is turned on.
    
       client.c:498:13: error: incompatible function pointer types passing
          'int (struct rx_connection *, afs_int32 *)'
          (aka 'int (struct rx_connection *, int *)') to parameter of type
          'int (*)(struct rx_connection *, afs_RPCStatsState_p)'
          (aka 'int (*)(struct rx_connection *, afs_RPCStatsState_t *)')
          [-Wincompatible-function-pointer-types]
    
        (conn, RXSTATS_QueryPeerRPCStats, &state, &st)) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~
    
    Update the 'util_RPCStatsStateGet()' function's parameter to match the
    function type for the RPC functions actually being called.
    
    Reviewed-on: https://gerrit.openafs.org/15180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 97f0a20e50f027fe00adb22c39b71f0ac79f1ff7)
    
    Change-Id: Icbbbd137fa6a404090ef7af94621100bb552d502
    Reviewed-on: https://gerrit.openafs.org/15274
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 973c5c585f59c0e88a2852d290abcb5e8fdf2b86
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 12:09:09 2022 -0700

    clang-16: Fix simple unused-but-set variables
    
    Clang-16 is flagging variables as unused-but-set-variables resulting in
    build errors when --enable-warning is used.
    
       db_verify.c:996:9: error: variable 'builtinUsers' set but not used
          [-Werror,-Wunused-but-set-variable]
           int builtinUsers = 0;
               ^
    Remove the variables that are set but never actually used.
    
    This commit fixes the simpler cases where variables are only set but
    not used elsewhere.
    
    Reviewed-on: https://gerrit.openafs.org/15178
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit afafde158ff875d2459bb81ac373cde3e45dac03)
    
    Change-Id: I65cd27325b768ba192831401f4ac71e94071ecc7
    Reviewed-on: https://gerrit.openafs.org/15273
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f336d0aa01d208b1a7f3c1c509e2bd5d4d11f095
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Nov 2 14:47:04 2022 -0600

    clang-16: Fix conditionally unused-but-set variables
    
    clang-16 is flagging unused-but-set variables which result in build
    errors when --enable-warning is turned on.
    
       remote.c:485:15: error: variable 'pass' set but not used
           [-Werror,-Wunused-but-set-variable]
         afs_int32 pass;
                  ^
    These variables are actually used in specific cases depending on
    build configuration (e.g. AFS_PTHREAD_ENV, etc.).
    
    Relocate these variables so they are fully defined or referenced within
    preprocessor '#if' blocks.
    
    Reviewed-on: https://gerrit.openafs.org/15177
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 97018ace991d300a6ff75a1dcd1a69b4044f2b89)
    
    Change-Id: Iee3a196d9c23a8725171db4a3a884a077f0e95ac
    Reviewed-on: https://gerrit.openafs.org/15277
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fb3071563922df8172bab261e8f0c3e3e779b666
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 09:05:58 2022 -0700

    clang-16: Fix unused-but-set 'for' control vars
    
    clang-16 is flagging unused-but-set variables which result in build
    errors when --enable-warning is turned on.  Several of these variables
    are used within 'for(..)' loops but are not actually referenced anywhere
    else.
    
      fcrypt.c:181:16: error: variable 'i' set but not used
         [-Werror,-Wunused-but-set-variable]
        afs_uint32 i, j;
                   ^
    Refactor the for statements to eliminate the unused variables.
    
    Note, this commit is a little more complex than simply removing unused
    variables.
    
    Reviewed-on: https://gerrit.openafs.org/15176
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 05eb420829f9bca155c1d5af9fe96844db974770)
    
    Change-Id: I80506cb8ae1c4bef67225eb11e3f640e8de52d26
    Reviewed-on: https://gerrit.openafs.org/15271
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b87081682dcc3035889c799d9752c6b35bdda87b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Nov 14 15:55:41 2022 -0700

    crypto: Define krb5_keytype as krb5_enctype
    
    When building with clang-16 and configured with --enable-checking, the
    external source heimdal/krb5/crypto.c used in src/crypto/rfc3961 fails
    with the following error:
    
      src/external/heimdal/krb5/crypto.c:702:28
       error: implicit conversion from enumeration type 'krb5_enctype' (aka
       'enum ENCTYPE') to different enumeration type 'krb5_keytype' (aka
       'enum krb5_keytype') [-Werror,-Wenum-conversion]
           *keytype = e->keytype->type; /* XXX */
                    ~ ~~~~~~~~~~~~^~~~
    
    Replace the enum definition of krb5_keytype with a typedef to
    krb5_enctype and create an anonymous enum mapping of KEYTYPE_ARCFOUR to
    ETYPE_ARCFOUR_HMAC_MD5.
    
    It should be noted that krb5_keytype and KEYTYPE_ARCFOUR are only used
    by the external file src/external/heimdal/krb5/crypto.c
    
    Changing the type for krb5_keytype was suggested by Andrew Deason
    (adeason@sinenomine.net).
    
    Reviewed-on: https://gerrit.openafs.org/15189
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c9ac7cdfb6365e3fc1914de80019a10328de1f4f)
    
    Change-Id: I15a793b35cfa920e8db1a99c5575b4f3f55be0dd
    Reviewed-on: https://gerrit.openafs.org/15270
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 334debcd4c9032aa7c71bb79bce2be8acafe78e2
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Nov 2 14:53:21 2022 -0600

    dumptool: Remove unused 'sflag' variable
    
    clang-16 is flagging unused-but-set variables which result in build
    errors when --enable-warning is turned on.
    
       ./dumptool.c:1285:54: error: variable 'sflag' set but not used
          [-Werror,-Wunused-but-set-variable]
           int errflg = 0, lflag = 0, iflag = 0, Fflag = 0, sflag = 0, Rflag = 0;
    
    Within dumptool the '-s' option of the 'ls' subcommand sets the 'sflag'
    variable, but the variable itself is never used anywhere else.
    
    Remove the variable 'sflag', and ignore the '-s' option.
    
    The sflag variable was unused in the commit that introduced the code:
    "test-suite-pull-tools-directly-in-20020114" (fcb32c07ed6d)
    
    Reviewed-on: https://gerrit.openafs.org/15181
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3e9d41c98ecf07519ff6d2a1413615547ace13b8)
    
    Change-Id: I4cd4584c6374a525714d392f98fb39be5406bdbc
    Reviewed-on: https://gerrit.openafs.org/15269
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 241dcae439cb1646f053391b3ee57553003cf6fa
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Oct 28 17:53:15 2022 -0600

    libuafs: include com_err.h in ukernel_swig.i
    
    clang-16 is flagging an implicit-function-definition which results in a
    build error when --enable-warning is turned on.
    
        PERLUAFS/ukernel_swig_perl.c:1585:9: error: call to undeclared
            function 'afs_com_err'; ISO C99 and later do not support
            implicit function declarations [-Wimplicit-function-declaration]
          afs_com_err("AFS::ukernel", code, "parsing line: '%s'", line);
          ^
    
    Add an include for afs/com_err.h to resolve the warning.
    
    Reviewed-on: https://gerrit.openafs.org/15179
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4be3e5d31fa3fbe6c80ad0973430074124b157bc)
    
    Change-Id: I62785fe6248cb4b26f680c2db044f59511a1e02e
    Reviewed-on: https://gerrit.openafs.org/15268
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0b908b7b9b39e36fc1bf98701d7e28d9a7a2f310
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 4 08:24:09 2022 -0600

    rx: Remove event_handler rx_pthread_* counters
    
    The event_handler() function contains several counters that are
    set and incremented but are not actually used.  Clang-16 is flagging
    these with a 'unused-but-set-variable' warning resulting in build errors
    when --enable-warnings is used.
    
    rx_pthread.c:136:19: error: variable 'rx_pthread_n_event_expired' set
           but not used [-Werror,-Wunused-but-set-variable]
          unsigned long rx_pthread_n_event_expired = 0;
    
    Several 'if' statements are used to conditionally set these variables,
    but serve no other purpose. These 'if' statements can also be
    eliminated.
    
    Remove the unused rx_pthread_* counter variables as well as the
    associated 'if' statements.  In addition the only purpose of the
    'error' variable was to conditionally increment one of the removed
    variables, remove the 'error' variable.
    
    These variables have been 'unused but set' since the original commit
    from IBM.
    
    Reviewed-on: https://gerrit.openafs.org/15175
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f7cb492c7e755ec91226c96cc82ad9f567f01f11)
    
    Change-Id: I4dfdd7e536f6af642789fc51f6f055652c63a46d
    Reviewed-on: https://gerrit.openafs.org/15267
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5af53db475cdf4350d1cc41c9d4d955156eced57
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun Jan 26 20:17:40 2020 -0500

    afs: silence bogus warning about dcListCount uninitialized
    
    Commit 3be5880d1d2a0aef6600047ed43d602949cd5f4d 'afs: Avoid panics in
    afs_InvalidateAllSegments' is correct, but at least one compiler (gcc
    4.3.4 on SLES 11.3) is fooled into issuing a warning:
    
        [...]/afs_segments.c: In function 'afs_InvalidateAllSegments_once':
        [...]/afs_segments.c:506: error: 'dcListCount' may be used uninitialized in this function
    
    To silence the bogus warning, initialize dcListCount when defined.
    
    Reviewed-on: https://gerrit.openafs.org/14048
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 09ec1073b4c5d2eb70dcf5d8063018bc82e5a35e)
    
    Change-Id: I84b1d4b8b9041242d64b03a84ad4392ff9778950
    Reviewed-on: https://gerrit.openafs.org/15266
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 05a4adcdffaa75827fbdd80ab7b54195a2f0d243
Author: Ganesh Chaudhari <gangovind@in.ibm.com>
Date:   Fri Oct 7 21:52:40 2022 +0530

    macos: Update postinstall instructions for MacOS 13
    
    System preferences is getting replaced by System settings in MacOS 13.
    So, this commit will address the required changes in the dialog box
    which gets popped after installing OpenAFS.
    
    Signed-off-by: Ganesh Chaudhari <gangovind@in.ibm.com>
    Reviewed-on: https://gerrit.openafs.org/15150
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c620c91416f726357d556ce043b6cc285cf87a8b)
    
    Change-Id: I6d8da31dc3735cab93c2b2226d436960c77b78ff
    Reviewed-on: https://gerrit.openafs.org/15264
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9c6503e117f52dba91e10a09eb8d28c428550e34
Author: Ganesh Chaudhari <gangovind@in.ibm.com>
Date:   Fri Oct 7 19:13:34 2022 +0530

    macOS: Add support for aarch64-*-darwin* sysname
    
    As of libtool 2.4.7, the supplied config.guess file modifies
    the sysname returned on macOS arm64 from arm-*-darwin* to
    aarch64-*-darwin*. As a result, trying to build OpenAFS on
    macOS arm64 fails with the following message:
    
      configure: error: An AFS sysname is required
    
    To avoid this problem, added support for aarch64-*-darwin*.
    
    Signed-off-by: Ganesh Chaudhari <gangovind@in.ibm.com>
    Reviewed-on: https://gerrit.openafs.org/15149
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d38b068627f5e84cead88af85f904fea0c8edb6d)
    
    Change-Id: I7685c2b75f62fe28b8723e00fba22f5f7fe795f1
    Reviewed-on: https://gerrit.openafs.org/15263
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 41e46e12ac74fab70c692cf475aad13be0bdb518
Author: Ganesh Chaudhari <gangovind@in.ibm.com>
Date:   Wed Sep 14 15:57:27 2022 +0530

    macos: Add support for MacOS 13.0 (Ventura)
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 13.0 “Ventura”.
    
    Thank you Kailas Zadbuke (IBM) and Harish Sharma (IBM) for your help.
    
    Reviewed-on: https://gerrit.openafs.org/15139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e5a97ef2b46c8821db81363f4917ef214fc34a5e)
    
    Change-Id: I5092fe02a3bc3b7a6cb4ecfd4c8660278da9b0e8
    Reviewed-on: https://gerrit.openafs.org/15262
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f6b088d2a7fe7fcabeb6b4635c8a01072c7219c4
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sun Jun 20 00:52:36 2021 -0300

    klog.krb5: remove "save and reuse password" logic
    
    In order to avoid repeated requests for the user's password, klog.krb5
    caches and reuses it whenever necessary. However, with the introduction
    of commit 3a9a5783cd1fd73902655f0876e2069b42688c94, klog.krb5 always
    requests a TGT regardless of the state of writeTicketFile, eliminating
    the need for possible extra requests for the user's password.
    
    Moreover, krb5_get_init_creds_password() does not accept a custom
    prompter on macOS (returns EINVAL). Consequently, if the -password
    argument is omitted, klog.krb5 fails with the following error:
    
    klog: Invalid argument Unable to authenticate in realm <REALM>
    
    Given that the user won't be prompted for a password multiple times,
    remove the "save and reuse password" logic and use krb5_prompter_posix()
    as the prompter function (instead of klog_prompter).
    
    Relevant issue identified by gangovind@in.ibm.com.
    
    Reviewed-on: https://gerrit.openafs.org/14643
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Tested-by: Ganesh G. Chaudhari <gangovind@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a10f99dbe025c74fb488b501daaf1f9574830cec)
    
    Change-Id: I6587283d93a2dc801c8a41f0663a6de1b5d8a045
    Reviewed-on: https://gerrit.openafs.org/15261
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 69f1ffb8989d8f1ac9a5ac4ea9459c358478e61d
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Apr 7 22:51:21 2022 +0000

    DARWIN: On macOS 12, mount afs on user's directory
    
    Currently, /afs is mounted/unmounted by a LaunchDaemon. In order to
    unmount /afs on restart/shutdown, this daemon runs umount -force /afs.
    Unfortunately, SIP (System Integrity Protection) is not allowing the
    LaunchDaemon in question to run this command successfully on macOS 12
    (exclusively on restart/shutdown):
    
      umount: Operation not permitted
    
    In this situation, afs can't be turned off correctly, leaving many
    unkillable afsd processes lingering around. As a result, the
    restart/shutdown process gets stuck indefinitely.
    
    Fortunately, this problem doesn't happen if /afs is mounted on an user's
    directory. That said, avoid this issue by mounting /afs on the current
    user's directory (/Users/$USER/OpenAFS/afs). Notice that afs is still
    accessible (including for other users) through a synthetic link added in
    the root directory (/afs -> /Users/$USER/OpenAFS/afs).
    
    Reviewed-on: https://gerrit.openafs.org/14925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1c7eda8ea83bee3e674435109efccbc6082e4765)
    
    Change-Id: Idb013d76f00a78cfebd790900eabbcd6968029b7
    Reviewed-on: https://gerrit.openafs.org/15260
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fd64dcd3fb49e5575bf0ac8f0bb36857953c4f8a
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Mar 15 10:58:16 2022 -0300

    macos: Packaging support for MacOS X 12.0
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 12.0 "Monterey".
    
    Reviewed-on: https://gerrit.openafs.org/14924
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 873d803a3dc7acffd74c9432872bed4f6575abf9)
    
    Change-Id: I4cbbbeb5eb740b4f7979fa2137cb7faa9027d774
    Reviewed-on: https://gerrit.openafs.org/15259
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 046e787f1f87c6e18676510f7f89206ead1069bb
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Apr 7 03:16:45 2022 +0000

    macos: Add support for MacOS 12.0
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 12.0 "Monterey".
    
    Reviewed-on: https://gerrit.openafs.org/14923
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7a862f940b2e2f2169e267fc6deb31db8f3534c0)
    
    Change-Id: I4f1b42002c670e15b3fecfd8d0cfb2f461b8d136
    Reviewed-on: https://gerrit.openafs.org/15258
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fc80c74689ae6be3f428401aec071f0a273d4bff
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 12 12:59:31 2020 -0400

    DARWIN: disable kextutil check for versions requiring notarization
    
    Our kextutil signing check will fail for releases that require
    notarization (Mojave 10.14.5 and up, Catalina 10.15 all versions),
    because we aren't notarized yet at the time of the check.
    
    Instead, disable the check for those releases.
    
    Reviewed-on: https://gerrit.openafs.org/14222
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d2e755e33a266df17169a1fc05db1e540b5e76af)
    
    Change-Id: Ie191503cb3f57c60a2a9c31e638dc7f79c496591
    Reviewed-on: https://gerrit.openafs.org/15257
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6652a632795aa23e1894c049f2d48c0881968add
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun May 10 20:53:22 2020 -0400

    DARWIN: ensure OpenAFS.pkg is signed
    
    Installation fails because the OpenAFS.pkg was inadvertently omitted
    from the codesign logic.
    
    Ensure that the package is signed.
    
    Reviewed-on: https://gerrit.openafs.org/14221
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 336f5d91c6f4e93f77560d456fb29fbd82b237e5)
    
    Change-Id: I58c0ca157653b76562ee7071a567db681d33fc2e
    Reviewed-on: https://gerrit.openafs.org/15256
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d20def23d094b11b88265d1f7430fc5e4d55484a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun May 10 20:51:59 2020 -0400

    DARWIN: ensure PrefPane materials are properly signed
    
    Notarization fails because some prefPane materials were inadvertently
    omitted by the codesign logic.
    
    Ensure that these objects are properly signed.
    
    Reviewed-on: https://gerrit.openafs.org/14220
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d3f8d8122880de9f5b25868b39efd1cc7d385ff6)
    
    Change-Id: Ice6c954e41e375fbe8ac670586d2616c565f0499
    Reviewed-on: https://gerrit.openafs.org/15255
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 35fde5873a1a9327333d15af399738ae55680e22
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Mar 15 10:38:45 2022 -0300

    DARWIN: Replace afs_osi_cred by allocated ucred
    
    Building the current version of OpenAFS on macOS Monterey arm64 results
    in the following error:
    
     error: globals with authenticated null values are currently unsupported
     afs_ucred_t afs_osi_cred;
    
    To avoid this problem, replace the global in question by a pointer to a
    dynamically allocated afs_osi_cred (afs_osi_credp). Ideally we would
    create a new credential with kauth_cred_create(), but this function is
    not well documented and using it results in crashes. Moreover, if the
    kauth_cred_dup() function were still available (private since XNU
    1456.1.26 - macOS 10.6), we could also duplicate the current user's
    credential during startup (like commit f40f466c7f did for BSD).
    
    Reviewed-on: https://gerrit.openafs.org/14922
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 982d2f9dbe6586d06ffa2a61c02ea726b83b5902)
    
    Change-Id: I720132478d4d1b742f63576e6a98e96c7a935885
    Reviewed-on: https://gerrit.openafs.org/15254
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 29f7182c3fe25db9666871567a631e9173568ac8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 25 11:35:24 2019 -0600

    Remove references to SunOS 4
    
    We already removed support for Solaris versions before Solaris 8, in
    commit e4c2810f ("Remove support for Solaris pre-8"), but there are
    still some references to SunOS (meaning SunOS 4) in the tree. This is
    even older than Solaris (aka SunOS 5), so get rid of these.
    
    This commit removes most references to SunOS 4 regarding platform
    support, and a few comments. This also removes a few comments that
    were just wrong or nonsensical (e.g. CMAPPED in afs.h is used by
    other platforms; some comments in platform-specific osi_file.c files
    referenced SunOS for some reason).
    
    Reviewed-on: https://gerrit.openafs.org/13506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6e5638ac7297701a99ea396dee1df8f56a6a50da)
    
    Change-Id: I17821e2cd0050bb0a468bfadda2c446beafeb537
    Reviewed-on: https://gerrit.openafs.org/15253
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3ee628c2dc5128ac68dd861b439a20db8837cecf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 21 12:11:46 2018 -0500

    Remove alpha_dux/alpha_osf references
    
    Several files were still referencing the alpha_dux* and alpha_osf*
    sysnames. The code for these platforms has been removed, so get rid of
    this cruft.
    
    Reviewed-on: https://gerrit.openafs.org/13339
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 809ee49b80d7bc0e720aaebe78fb9ecfd453065d)
    
    Change-Id: Iae1f642df6cfb4c2e757f0fc381cb98eb5bf448e
    Reviewed-on: https://gerrit.openafs.org/15252
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8ec429d0a3a7b3169d1eb24eb37e8084e5bc6a4f
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Mar 21 14:43:34 2022 -0300

    DARWIN: Drop afs_event lock before destroying it
    
    On macOS arm64, a lock (lck_mtx_t) must be released (lck_mtx_unlock)
    before it can be destroyed/freed (lck_mtx_free -> lck_mtx_destroy). If
    this rules isn't respected, the operating system in question will panic
    with the following message:
    
      panic("lck_mtx_assert(): mutex (%p) not owned", lock);
    
    Unfortunately, the current shutdown process of the osi_sleep module
    doesn't respect this rule. As a result, macOS arm64 panics when the
    OpenAFS client is shut down/restarted. To fix this problem, release
    afs_event->lck (EVTLOCK_UNLOCK) before destroying it (EVTLOCK_DESTROY).
    
    Reviewed-on: https://gerrit.openafs.org/14933
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 93b88935999ad25bc22daf64f9ebff30957e0a27)
    
    Change-Id: Ib81c3decc748c06b2f99cfa155095bffd1048f57
    Reviewed-on: https://gerrit.openafs.org/15251
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b5dd4df6ec3e87c7f06d214b213e30270a358f13
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Apr 7 22:35:02 2022 +0000

    macos: Add support for Apple Silicon
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on Apple M1 (macOS 11+).
    
    Notice that kexts on Apple silicon must support the arm64e architecture,
    since they run in kernel space and must support the same architecture
    and restrictions as other kernel code. On the other hand, the utilities
    that run on user space, like vos, fs, and others, have to be built for
    arm64 (currently).
    
    Reviewed-on: https://gerrit.openafs.org/14746
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit cdbcb6f947feff528adc324dd6487b21083e23aa)
    
    Change-Id: I854e7553b65956032a3c15aa427189bf8e4e3a0d
    Reviewed-on: https://gerrit.openafs.org/15250
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 33bcff698f8b12c7830acf969f93eecad52a937f
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Apr 7 02:15:57 2022 +0000

    macos: Refactor param.x86_darwin_200.h
    
    In preparation for a future commit, try to make param.x86_darwin_200.h
    more readable. Also, rename this file to param.darwin_200.h so code from
    other architectures can be included in this header.
    
    Reviewed-on: https://gerrit.openafs.org/14934
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 39b74c2c3725cfa39fc5076cd7803ee7d55923e3)
    
    Change-Id: I184591c24fac37b4c5a2b6fab7b42850b3004744
    Reviewed-on: https://gerrit.openafs.org/15249
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b9c3dbc0a60a3295f1622bc79a05938173aa95b4
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Feb 14 15:09:27 2022 -0800

    build: Select param.h in sysname.m4
    
    Currently, the way the file that will be used as param.h is selected
    doesn't allow us to choose headers from other architectures, making
    cross-compiling difficult. In an effort to facilitate this process,
    select the header that will be used as param.h in sysname.m4. By doing
    this, we will have more flexibility to select which header should be
    used (in future commits).
    
    Reviewed-on: https://gerrit.openafs.org/14914
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d456bd9b258445f60745867c34ef7c7a8c7be187)
    
    Change-Id: Iaaa372887ac17f352a6a4bb9c14b896e88e3b28b
    Reviewed-on: https://gerrit.openafs.org/15248
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 84b177ccc856519a6a1aac7e18cd30514fccac15
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Apr 6 23:36:15 2022 +0000

    macos: Build afscell for supported architectures
    
    Given that i386 is no longer supported, trying to build the current
    version of afscell on macOS 11 (Big Sur) results in the following error:
    
    error: The i386 architecture is deprecated. You should update your ARCHS
    build setting to remove the i386 architecture.
    
    To fix this problem, build afscell for all architectures listed in
    ARCHS_STANDARD.
    
    For the macosx11.0 sdk:
    
    $ xcodebuild -showBuildSettings -scheme afscell -sdk macosx | grep ARCHS
    
        ARCHS = arm64 x86_64
        ARCHS_STANDARD = arm64 x86_64
        ARCHS_STANDARD_32_64_BIT = arm64 x86_64 i386
        ARCHS_STANDARD_32_BIT = i386
        ARCHS_STANDARD_64_BIT = arm64 x86_64
        ARCHS_STANDARD_INCLUDING_64_BIT = arm64 x86_64
        VALID_ARCHS = arm64 arm64e i386 x86_64
    
    While here, add arm64 to the list of valid architectures.
    
    Reviewed-on: https://gerrit.openafs.org/14745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dc6ced5e6d63ad89b1ad6f6b236a28b823abb59d)
    
    Change-Id: I483c41a5954caa8ed080134d82f2e08a7c1973a4
    Reviewed-on: https://gerrit.openafs.org/15247
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a0898c2d90ed2928245576505f74e935a1ea2722
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Sep 19 16:25:13 2022 -0600

    UKERNEL: avoid double include of roken.h
    
    Commit 'afs: Replace strcpy &co by safer alternatives' (419f0cd7aa75719)
    added an include for roken.h into UKERNEL/afsincludes.h.  Neither
    UKERNEL/afsincludes.h or roken.h has a guard against a double include,
    which can result in a build failure on older kernels (discovered on a
    2.6.18 build):
    
     In file included from ~/openafs/src/afs/UKERNEL/afsincludes.h:30,
              from ~/openafs/src/afs/UKERNEL/afs_usrops.h:15,
              from ~/openafs/src/afs/UKERNEL/afs_usrops.c:24:
     include/roken.h:89: error: redefinition of typedef 'rk_socket_t'
     include/roken.h:89: error: previous declaration of 'rk_socket_t' was here
     In file included from ~/openafs/src/afs/UKERNEL/afsincludes.h:30,
              from ../afs/afsincludes.h:16,
              from ../afs/afs_bypasscache.h:68,
              from ~/openafs/src/afs/UKERNEL/afs_usrops.c:30:
    
    Since roken.h is from an external source, we cannot update it to add
    the necessary check.
    
    Update UKERNEL/afsincludes.h to add a check to see if it has already
    been included.
    
    auth/ktc.c has a required include for roken.h, but it also can pull in
    UKERNEL/afsincludes.h as well.  This can result in a double include for
    roken.h.
    
    Update auth/ktc.c to only include roken.h if not building UKERNEL.
    
    Reviewed-on: https://gerrit.openafs.org/15130
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cc0ffc56e85eec4133bcc5e745efa28f5d3c53a7)
    
    Change-Id: I4508c2d4bb878dadce649f0da2af16c9efa69b91
    Reviewed-on: https://gerrit.openafs.org/15265
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5993965112da00e29ebdb2be084b50bae5cbb90f
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Mar 23 17:58:41 2022 -0300

    DARWIN: Declare/include functions before using them
    
    Every function should be explicitly declared before it can be called.
    Since -Wimplicit-function-declaration is usually a warning and not an
    error, calling undeclared functions does not prevent us from building
    the code.
    
    However, apple-clang 12 makes this an error by default, prohibiting the
    build of the current version on macOS 11 (Big Sur).
    
    To fix this problem, declare functions before calling them. Also,
    include mach/thread_act.h into afs_call.c so the declaration of
    thread_terminate() can be found on macOS. Last, given that the third
    argument of PIOCTL() (if UKERNEL is defined) is a pointer, cast it to
    'long'. Doing so, we can avoid another inhibited warning. Notice that
    this PIOCTL definition is scoped to a single file (src/auth/ktc.c).
    
    Reviewed-on: https://gerrit.openafs.org/14744
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f9c96d0fd609e14fcb8ff7d9269024e026f742cb)
    
    Change-Id: I70dadc44d40e1fc877f9e0490e28636907432faa
    Reviewed-on: https://gerrit.openafs.org/15246
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 34d869996dda2de2449a1623de051b86e262212c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 21 17:54:48 2022 -0600

    afs: Organize setpag() declarations better
    
    The current declarations for setpag() are a mess (not to be confused
    with many other setpag functions, like afs_setpag()), accumulated
    across various commits over time. Shuffle the #ifdef logic around, so
    this becomes a much more straightforward #ifdef ladder, with one
    declaration per conditional. And move the LINUX declaration to be next
    to all of the others (even the LINUX setpag() is declared in
    osi_groups.c, not osi_misc.c, so it's in the wrong spot anyway).
    
    The resulting #ifdef logic should be identical to the original code,
    but is now easier to follow. For the BSDs, it may look like we have
    changed the conditional for the case of "XBSD && !DFBSD && !FBSD &&
    !NBSD", but that's a very roundabout way of saying OBSD (OpenBSD).
    
    Reviewed-on: https://gerrit.openafs.org/14883
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 738a6487ad088068d19a18c6330e01a40f2fd278)
    
    Change-Id: I9dc933fa96fc6e7839c010c5207e644179343898
    Reviewed-on: https://gerrit.openafs.org/15245
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b56d5cdfa8cfff3bd3c166a38204cfa4dceaaf73
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Mar 23 17:31:54 2022 -0300

    bucoord: Introduce ubik_Call_SingleServer_BUDB_*
    
    In an effort to avoid the usage of undeclared functions, add wrappers
    for ubik_Call_SingleServer() (_BUDB_GetVolumes(), _BUDB_DumpDB()) and
    adjust its callers accordingly.
    
    Also, make sure that ubik_Call_SingleServer() uses the same signature as
    ubik_Call(). This change helps us to get rid of casting errors.
    
    Reviewed-on: https://gerrit.openafs.org/14886
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 981b3d723ec56dad553be570147d1b2aa632f4e1)
    
    Change-Id: I5893a939bc5cd64eec9dbbf1ce8a0dc5032c81f0
    Reviewed-on: https://gerrit.openafs.org/15244
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1e6fd4ceae1f8146a5dfa7c66330289564dbe7be
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Apr 5 22:39:56 2022 +0000

    afs: Ensure dirEntry->name has room for entry name
    
    Currently, the afs_dynroot_addDirEnt() function assumes that the caller
    has allocated the directory to be large enough to hold the necessary
    entry. In order to make sure that memory isn't being accidentally
    stomped, use strlcpy to truncate instead of stomping on other memory.
    That way, if the caller makes a mistake we don't silently corrupt memory.
    
    We specifically do not assert that there is no truncation or panic if
    truncation occurs, since the effect of a truncated entry in the
    dynamic AFS root volume is limited and does not justify bringing down
    the entire client.
    
    Reviewed-on: https://gerrit.openafs.org/14938
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit aa9180652876a3ba9157776b69a6995ac4201d1b)
    
    Change-Id: I21a402bb6e20f2546c61bdabde021817dd3827d8
    Reviewed-on: https://gerrit.openafs.org/15243
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 79c8c8639952fc3305b50152ba450ed8d858e7be
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 1 12:38:14 2021 -0400

    fs: Trim trailing lsmount and flushmount path slashes
    
    Remove trailing slashes from paths given to `fs lsmount` and `fs
    flushmount`.  This makes for a more pleasant user experience when shell
    tab completion is used to specify the paths.
    
    Thanks to Stephan Wiesand for pointing out this issue.
    
    Reviewed-on: https://gerrit.openafs.org/14779
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a7a672cae871aa9cf9cc003a37579cb4df51b3fe)
    
    Change-Id: I24a2ae323f64f2d73be8fbc26860fa2864e34bfe
    Reviewed-on: https://gerrit.openafs.org/15242
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 91f11551714c6b6f653fd367bc8d184c8aba9e7b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 24 13:03:24 2018 -0500

    afs: Detect VIOCPREFETCH special case properly
    
    Currently, afs_syscall_pioctl handles the VIOCPREFETCH pioctl as a
    special case, calling into a different code path to handle
    backgrounding the prefetch operation. However, we detect that we're
    handling a VIOCPREFETCH operation just by looking at the lower 8 bits
    of the given opcode. This means that any pioctl that ends in 0x0F will
    trigger this codepath, such as if we add a 'C' or 'O' pioctl that uses
    code 0x0F.
    
    We only want to catch VIOCPREFETCH requests for this code path, so fix
    the check to also check if we're processing a 'V' pioctl.
    
    Reviewed-on: https://gerrit.openafs.org/13301
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 252b3bcc75ea141ff93a7b3147865f4b952fcaca)
    
    Change-Id: I12d0616059dd8115b109b1ffa4cafe6ddc4b1662
    Reviewed-on: https://gerrit.openafs.org/15241
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 581450c74c57680eeb89bf937b4d42936df6196b
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Apr 6 20:59:56 2022 +0000

    afs: Replace strcpy &co by safer alternatives
    
    In addition to being unsafe, these functions (strcpy, strncpy, strcat,
    and sprintf) are deprecated on macOS. Replace these functions by safer
    alternatives (strlcpy, strlcat, snprintf, and afs_strdup).
    
    Notice that, in order to use afs_strdup(), this commit adds the afs_util
    library to the AFSPAGOBJS list. Given that afs_strcasecmp() is also
    implemented in afs_util.c, src/crypto/hcrypto/kernel/strcasecmp.c can be
    removed from the tree.
    
    No functional change should be incurred by this commit.
    
    This commit is a continuation of a patch initially developed by
    cwills@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/14743
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 419f0cd7aa75719dcf4df97e603ad4f0d936ddd9)
    
    [cwills@sinenomine.net]
    Part of the (419f0cd7aa) changes to afs_callback.c were pulled in to a
    1.8.x specific commit:
        "afs: Avoid unbounded string copy in SRXAFSCB_GetLock()" (79a04c344)
    In order to resync the code, the include roken.h in afs_callback.c
    introduced in that commit needed to be removed.
    
    Change-Id: Ica0e9bdc82de2b1e89e6d4b513e775b2809fbc34
    Reviewed-on: https://gerrit.openafs.org/15240
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c7048f9a5c29df5816b6bcebaa42965bccb12557
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jun 14 14:38:54 2018 -0400

    afs: remove dead code
    
    afs_CheckLocks has been dead code since openafs-ibm-1_0.
    
    No functional change incurred.
    
    Reviewed-on: https://gerrit.openafs.org/13210
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0839a3326858f7d7a0042614710dcf7316bb6018)
    
    Change-Id: I1c564255990803dac7abe1789f2941bf4fa30b58
    Reviewed-on: https://gerrit.openafs.org/15239
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fc5be911a0ef216b9af79a0ec6bc32512085d398
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Mar 23 16:04:46 2022 -0300

    UKERNEL: Remove flock -> usr_flock redirection
    
    In order to replace 'struck flock' with 'struct usr_flock' and 'flock()'
    with 'usr_flock()', the current version of src/afs/UKERNEL/sysincludes.h
    defines flock to usr_flock. This can cause problems when trying to use
    libroken in UKERNEL code, because roken.h redefines flock.
    
    To avoid conflicts with libroken (included in a future commit), add a
    new UKERNEL specific AFS_FLOCK -> usr_flock redirection. Doing so, the
    flock -> usr_flock redirection can be removed. While here, also remove
    'usr_flock()' as it shouldn't be called and is not defined in any header
    file.
    
    Reviewed-on: https://gerrit.openafs.org/14913
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 51c0387aaa5ec507c6e29063ef56d98e2931402d)
    
    Change-Id: I3c2d9de056bae3f2fed68f1ec183540b63584a43
    Reviewed-on: https://gerrit.openafs.org/15238
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 276632ea7334fd27972585823f358e92b448da59
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 27 14:49:15 2022 -0600

    UKERNEL: Remove socket -> usr_socket redirection
    
    Currently, src/afs/UKERNEL/sysincludes.h #defines 'socket' to
    'usr_socket', in order for 'struct socket' declarations to use struct
    usr_socket. Redefining a simple word/function like 'socket' can easily
    cause issues, and currently makes it difficult to introduce libroken
    callers in UKERNEL code. There are already several instances of
    '#undef socket' in the tree for UKERNEL, suggesting that this wasn't a
    good idea to start with.
    
    Fortunately, this redefinition of 'socket' in UKERNEL seems
    unnecessary, since the only place 'struct usr_socket' is actually
    deferenced is inside src/rx/UKERNEL/rx_knet.c. So we can treat 'struct
    usr_socket' as a struct definition that's just internal to rx_knet.c,
    and no other code even needs to know about the struct, or think that
    it's equivalent to 'struct socket'.
    
    Most code in rx_knet.c already explicitly casts between 'struct
    socket' and 'struct usr_socket'. The only exception is rxi_Recvmsg
    starting in commits near 27c42be1 (ukernel-rx-knet-deref-20060126),
    but this is easily fixed by adding an additional explicit cast.
    
    Reviewed-on: https://gerrit.openafs.org/14887
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 17b16cb3989d1f41e314795515daf6c9b41cf1de)
    
    Change-Id: I35c7b7fc61c1c741be928fa7beb889d8848f0b81
    Reviewed-on: https://gerrit.openafs.org/15237
    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 f2f0be5e04f2a700b721f647a87cbffe2ccd606a
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Mar 23 15:10:15 2022 -0300

    afs: Save size of sysname_info->name
    
    In preparation for a future commit, save the size of sysname_info->name
    by adding a new field (name_size) into the sysname_info struct. Also,
    remove the sysname_info->allocked field, since now we can find out if
    memory has been allocated by checking if sysname_info->name_size is
    different than zero.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14912
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c40c0bd00b7e49e67377e13f5b902c13a0e4478c)
    
    Change-Id: I5a7d0d733dfc48d4d4eb5d00ef959ad980722e17
    Reviewed-on: https://gerrit.openafs.org/15236
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6ba75f842f307e94db86b95c9da98e9e40d11c35
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jul 1 10:47:50 2021 -0300

    fs: add option to evaluate symlink or mtpt
    
    Currently, several fs subcommands for Windows offer an option (-literal)
    to evaluate symlink / mount point rather than the object it refers to.
    Provide the same option on Unix for fs_getfid.
    
    Reviewed-on: https://gerrit.openafs.org/14542
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 83d947c150322c3c7c65130ecf08719e466cae04)
    
    Change-Id: Ife60e046c149f3586dbdad0e9b3fd6059967ece1
    Reviewed-on: https://gerrit.openafs.org/15235
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f1fd9c9cae8438635ea6e64fff05507921046ef3
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Aug 17 19:52:11 2021 +0000

    afs: refactor PNewStatMount and PFlushMount
    
    Both functions use the same logic to find a name in a given directory.
    To avoid repetition, move this logic to a separate function called
    afs_LookupName().
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14541
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 981bc005f8161ca9ee52ea281c7d73e0e4e2461a)
    
    Change-Id: I11f03146da86c91f83ad682df7ad1943cb4ab68f
    Reviewed-on: https://gerrit.openafs.org/15234
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b17625959386459059f6f43875d8817383554481
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 14:18:36 2022 -0700

    cf: Handle autoconf linux checks with -Werror
    
    When the linux kernel has been configured with CONFIG_WERROR=y, several
    autoconf configure checks used to detect linux features fail due to the
    compiler performing additional coding checks (e.g. unused variables,
    uninitialized variables, etc.).  Typically these additional coding
    checks produce compiler warnings, but with CONFIG_WERROR=y these
    warnings are reported as compiler errors, resulting in a misconfigured
    build environment.
    
    When testing for kernel features, turn off -Werror in the autoconf
    functions AC_CHECK_LINUX_BUILD and AC_CHECK_LINUX_FUNC by explicitly
    setting the compiler '-Wno-error' flag.
    
    In addition, fix the commented description for AC_CHECK_LINUX_BUILD to
    match the actual parameters
    
    Reviewed-on: https://gerrit.openafs.org/15191
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit e2ad1ca5f7355062e808f1717e7410b7ae893371)
    
    Change-Id: I2c8ba4c421ed751aa6ff2899ea173c1e84053322
    Reviewed-on: https://gerrit.openafs.org/15231
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 57df4dff496ca9bea04510759b8fdd9cd2cc0009
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Dec 1 12:55:26 2022 -0700

    cf: Detect how to pass CFLAGS to linux kbuild
    
    The autoconf test LINUX_KBUILD_USES_EXTRA_CFLAGS fails on modern kernels
    when detecting how to pass CFLAGS to the compiler when building a Linux
    kernel module.  The result of this test is used by configure when
    testing for Linux kernel features.
    
    In addition the EXTRA_CFLAGS method of passing compiler parameters has
    been deprecated since Linux 2.6.24 commit:
        "kbuild: introduce ccflags-y, asflags-y and ldflags-y" (f77bf01425b)
    
    The currently preferred method is to use the make variable 'ccflags-y'
    to set compiler flags.
    
    Replace the autoconf function LINUX_KBUILD_USES_EXTRA_CFLAGS with a new
    test, LINUX_KBUILD_FIND_CFLAGS_METHOD, that checks the various ways to
    pass compiler flags when building the kernel module.
    
    Set the build variable "LINUX_KBUILD_CFLAGS_VAR" with the determined
    method for setting kbuild compiler flags.
    
    Update the AC_TRY_KBUILD26 autoconf function and the
    make_kbuild_makefile.pl script to use the determined method for setting
    the compiler flags for the kbuild process.
    
    Background:
    
    The autoconf test, LINUX_KBUILD_USES_EXTRA_CFLAGS, is used to determine
    when to use either CFLAGS for EXTRA_CFLAGS when performing other
    autoconf tests for Linux kernel features. The test was added with the
    openafs commit:
     "linux-2624-20071123" (af7cf697ef8)
    
    LINUX_KBUILD_USES_EXTRA_CFLAGS relied on the Linux 2.6.24 commit:
     "kbuild: check for wrong use of CFLAGS" (0c53c8e6eb4)
    which caused a build failure if CFLAGS where used instead of
    EXTRA_CFLAGS.
    
    Later with the Linux 4.20 commit:
     "kbuild: remove old check for CFLAGS use" (0d91bf584fe)
    which removed the build failure when CFLAGS were set and this resulted
    in LINUX_KBUILD_USES_EXTRA_CFLAGS failing to properly determining how to
    set compiler flags in the kbuild process.
    
    As mentioned above, the EXTRA_CFLAGS method itself has been deprecated
    in Linux 2.6.24, but support for using it has still present in the
    kbuild processes.
    
    Reviewed-on: https://gerrit.openafs.org/15196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f81b01de1a51f02798ac764fb2f6948b592639da)
    
    Change-Id: Ib1e07bf6b8734a427a2682ca694fbe2e083f1ecd
    Reviewed-on: https://gerrit.openafs.org/15230
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2cf76b31ce4c912b1151c141818f6e8c5cddcab2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 28 14:14:48 2019 -0500

    LINUX: Run the 'sparse' checker if available
    
    The Linux kernel module buildsystem supports running an external tool
    (by default, the 'sparse' tool) during the build to run additional
    static checks on the source code to flag various warnings.
    
    Tell the kernel build to run such a tool, if 'sparse' is installed.
    This causes various new warnings in the build, such as:
    
      CHECK   /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c
    /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:73:1: warning: symbol 'afs_FreeOneToken' was not declared. Should it be static?
    /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:160:1: warning: symbol 'afs_IsTokenExpired' was not declared. Should it be static?
    /.../src/libafs/MODLOAD-4.9.0-8-amd64-MP/afs_tokens.c:187:1: warning: symbol 'afs_IsTokenUsable' was not declared. Should it be static?
    
    None cause the build to fail currently, but are just printed for
    potential further investigation.
    
    To control detecting 'sparse', add the --with-sparse configure option
    and SPARSE configure variable. Default to checking if sparse is
    available, and enabling it if so.
    
    Further information on using sparse in the Linux kernel is available
    in Documentation/sparse.txt in the Linux tree.
    
    Using 'sparse' during the build was suggested by yadayada@in.ibm.com.
    
    Reviewed-on: https://gerrit.openafs.org/13665
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1210a8d6d96db2d84595d35ef81ec5d176de05e8)
    
    Change-Id: I5d52b1eed48564956a687fba0419185b01621b13
    Reviewed-on: https://gerrit.openafs.org/15229
    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 6cb9320825c3617abcb48e7fbd9d0d64f0c2f65b
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Dec 8 18:49:41 2022 +0100

    Make OpenAFS 1.8.9
    
    Update version strings for the 1.8.9 release, and add the
    finishing touch to NEWS.
    
    Change-Id: I8185cc177c1150d29d802df522e3b161dac7d75e
    Reviewed-on: https://gerrit.openafs.org/15215
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0ad4c50f91c2d322688981b97aa05ba471b848c1
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Oct 8 20:11:19 2021 -0700

    viced: cope with signed length/position in FetchData
    
    For legacy reasons, the "Pos" (initial position) and "Len" (length)
    inputs to the RXAFS_FetchData and RXAFS_FetchData64 RPCs are represented
    as signed integers (the corresponding StoreData RPCs use unsigned values).
    
    The use of signed values allows for the possibility of negative inputs,
    and of signed integer overflow (undefined behavior in C), though the latter
    is unlikely to arise naturally given that the implementation uses a
    common backend with 64-bit values.
    
    In particular, if a negative "Pos" value is supplied, we end up in
    FetchData_RXStyle() that performs either FDH_PREAD() or FDH_PREADV()
    with the negative value as the position from which to read, which is
    an error.  The error handling for those calls treats any error as
    indicative of a problem with the volume or its underlying storage,
    and takes the volume offline for salvage.  Furthermore, after the
    maximum number of automatic salvages the volume is left offline for
    administrator action.  This presents a simple route for
    (unauthenticated) denial of service, as root.cell.readonly must be
    available to all users of the cell, and can be brought offline in this
    way; rendering root.cell.readonly unavailable would bring essentially
    all access to the cell to a halt.  (Other volumes could be targeted as
    well, subject to their corresponding ACLs.)
    
    Since there is no valid use for a negative position or length input,
    reject them outright from the common_FetchData64() implementation.
    Also check for whether the combination requests a read that would
    overflow a signed integer and reject that as well.
    
    Thanks to Jeffrey Altman and Chaskiel Grundman for collaborating on
    this change.
    
    FIXES 135263
    
    Reviewed-on: https://gerrit.openafs.org/15223
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1fbbcbee0183aa7855c0e5d9d38aa89af75902db)
    
    Change-Id: I1d634918789dddd5500ab50a0b508c142d83dc84
    Reviewed-on: https://gerrit.openafs.org/15224
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f812d1125f785df05bf1028f665d22c608006bae
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Nov 3 15:59:04 2022 +0100

    Make OpenAFS 1.8.9pre2
    
    Update version strings for the second 1.8.9 prerelease.
    
    Change-Id: Ic45d60180097f85263b2bd81b0beb039c36ad51f
    Reviewed-on: https://gerrit.openafs.org/15192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e8ead732246d7bd9c1e38fa806b19dfd9e38cf6a
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Nov 3 16:11:30 2022 +0100

    Update NEWS for 1.8.9pre2
    
    Release notes for the second 1.8.9 prerelease.
    
    Change-Id: I564ee4f4348ca3574a52c75fea30c55dac5e33a4
    Reviewed-on: https://gerrit.openafs.org/15193
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fdf38483c7765270c24a01b65fc3d1173509136e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Sep 22 13:04:59 2022 -0600

    Linux-6.0: Replace add_to_page_cache
    
    Linux 6.0 removed the add_to_page_cache function in the Linux commit:
        'filemap: Remove add_to_page_cache() and add_to_page_cache_locked()'
        (2bb876b58d593d7f2522ec0f41f20a74fde76822)
    
    The replacement function, filemap_add_folio function is exported as GPL,
    but a non-GPL wrapper was provided in the Linux 5.15 commit:
        'mm/filemap: Add filemap_add_folio()'
        (9dd3d069406cea073fc633e77bc59abbfde8c6c4)
    which changed the GPL exported function add_to_page_cache_lru to a
    non-GPL exported function.
    
    The function add_to_page_cache_lru functionally combines the
    add_to_page_cache with lru_cache_add.  Within afs, all the calls to
    add_to_page_cache follow the pattern of calling the lru_cache_add
    via the wrapper afs_lru_cache_add immediately after (except in one case
    noted below).
    
    Add an autoconf check to see if add_to_page_cache_lru is available.
    
    Introduce a new wrapper function afs_add_to_page_cache_lru that handles
    calling either add_to_page_cache/afs_lru_cache_add or
    add_to_page_cache_lru.
    
    As noted above there is one function, afs_linux_bypass_readpages, that
    calls add_to_page_cache but does not immediately call afs_lru_cache_add.
    This function is only used in Linux kernels prior to 5.18, see the
    commit:
        'Linux-5.18: replace readpages with readahead' (7a181415db)
    Since this code path is only built for a Linux kernel level where
    add_to_page_cache should also exists, we do not replace this call.
    
    NOTE:
    The add_to_page_cache_lru was moved into mm/folio-compat.c which has a
    comment indicating that callers of these functions should migrate to
    folio calls.  However the replacement folio call that is needed by afs,
    filemap_add_folio, is exported as GPL.
    
    Reviewed-on: https://gerrit.openafs.org/15132
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0ce315f0cee1cff7e19e6ebcc0e0e82e03719c20)
    
    Change-Id: Ic0496c2fba00e7be467dbbcf52d9854495e1ad9f
    Reviewed-on: https://gerrit.openafs.org/15148
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 79a04c3448541bd8299598c5d87b404d8d2219a5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 26 11:34:57 2022 -0400

    afs: Avoid unbounded string copy in SRXAFSCB_GetLock()
    
    Use strlcpy() instead of strcpy() when filling in the lock name to avoid
    string buffer overflows of the AFSDBLock name arrays.
    
    This is a 1.8.x specific commit, derived from 419f0cd7aa (afs: Replace
    strcpy &co by safer alternatives)
    
    Change-Id: Ia59f6dccdeab1c0b6f267254bd264842568b7582
    Reviewed-on: https://gerrit.openafs.org/15151
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Harish Sharma <Harish.Sharma1@ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 119cea2f49af08f0f24711d1398a739beef1e359
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Sep 7 19:03:50 2022 -0600

    Remove gssapi in autoconf and configuration
    
    The 1.8.x specific commit in gerrit 12681, "Remove src/rxgk" (7c2ce4040)
    removed rxgk from the build, however the probe for GSSAPI is still
    place.
    
    If there is no gssapi library available, configure fails:
        checking for gss_import_name in -lgssapi_krb5... no
        checking for gss_import_name in -lgss... no
        configure: error: cannot find usable GSS-API library
    
    There are no references to gssapi other than the probe in autoconf and
    2 defines in src/config/Makefile.config.in
    
    Remove the autoconf check for GSSAPI via the RAA_LIB_GSSAPI call.
    Remove the 2 GSSAPI related defines from Makefile.config.in
    Update the INSTALL document to remove references to gssapi.
    
    Change-Id: I873e46bfccfbf538740e8bf5e28a3ca8c3cd3744
    Reviewed-on: https://gerrit.openafs.org/15137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a2c1f9dc21b9e17aa8b075e4507f07def3275c2a
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Sep 23 20:20:44 2021 +0200

    Make OpenAFS 1.8.9pre1
    
    Update version strings for the first 1.8.9 prerelease.
    
    Change-Id: I6fc6dff8143445ee82188a2614588068f1feeb25
    Reviewed-on: https://gerrit.openafs.org/14810
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a44c381f1d599f8a7ee8e6349f3c7ab190ea1f5
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Aug 25 16:01:02 2022 +0200

    Update NEWS for 1.8.9pre1
    
    Release notes for the first 1.8.9 prerelease.
    
    Change-Id: I26e4334f9f1e34b36299b097525a61a89f422aaf
    Reviewed-on: https://gerrit.openafs.org/15126
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit beb1a8a16c946c5ffba9868ae33f20a719fca95f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Mar 6 10:00:25 2020 -0700

    afs: Clean up compiler warning casting ptr to int
    
    In osi_probe.c, the macro 'check_result' casts a pointer to an int which
    on older Linux kernels (e.g. 2.6.18) produces several lines with the C
    warning:
    
    ... warning: cast from pointer to integer of different size
    
    Change the cast from int to long int.
    
    Linux 2.6.18 doesn't provide intptr_t or uintptr_t, and stdint.h is not
    available to kernel modules.  But the size of a pointer is the size of a
    long (see uintptr_t in linux/types.h - Linux 2.6.24+), so
    change the cast from int to long.
    
    Note that the this code by default only gets pulled in for older Linux
    kernels (e.g. 2.6.18).  For newer kernels, ENABLE_LINUX_SYSCALL_PROBING
    is not defined, and so most of osi_probe.c is not built.
    
    Reviewed-on: https://gerrit.openafs.org/14092
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 38d78e2496c3d242e44bad401ecffe15e3883388)
    
    Change-Id: I474ad10c8cda8c414154e20f739a2aba5ba890cf
    Reviewed-on: https://gerrit.openafs.org/15134
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a8c044c09e965af05ac7978123695a3b234d8a1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 13 12:17:37 2020 -0500

    dir: Set srcdir correctly in src/dir/test
    
    srcdir is a magic variable that needs to be set to @srcdir@, not some
    relative path like ../../.. (which will usually be somewhere in the
    objdir, not srcdir). Set it correctly in here.
    
    Without this, objdir builds can fail with:
    
        make[4]: Entering directory '...obj/src/dir/test'
        make[4]: *** No rule to make target 'dtest.o', needed by 'dtest'.  Stop.
    
    Which happens because the automatic rule for dtest.o can't be
    constructed, since we cannot find dtest.c automatically because srcdir
    isn't set properly.
    
    This has been broken since commit 37b4195d (dtest-20021111), but was
    not noticeable until commit 192a2ff4 (dir: make dtest buildable
    again), since that caused dtest to actually get built.
    
    Also set LIBS correctly in here, using the conventional ${TOP_LIBDIR},
    since ${srcdir} no longer points to "../../..".
    
    Reviewed-on: https://gerrit.openafs.org/14384
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bc6f50ca0ce6c17a5a9b1042fa90235613f80c95)
    
    Change-Id: I8aff31557b6b92bb10c68abb0ba5a61a68b8f750
    Reviewed-on: https://gerrit.openafs.org/15133
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e3edd8c43e5808c19a37d8d74a311f4d9240665a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Mar 7 18:35:03 2022 -0700

    LINUX: Use bitwise & for f_flags test
    
    This code is clearly supposed to be masking f_flags with O_ACCMODE, and
    so should be using a bitwise &, not the boolean &&.  Clang complains
    about this, causing a warning (which breaks the build with
    --enable-checking):
    
    error: use of logical '&&' with constant operand [-Werror,
            -Wconstant-logical-operand]
            } else if ((file->f_flags && O_ACCMODE) != O_WRONLY) {
                                      ^  ~~~~~~~~~
    .../osi_vnodeops.c:3192:28: note: use '&' for a
            bitwise operation
    
    For the current code without this commit the behavior of this
    check is as follows:
    
       When f_flags is:         The check is:
       ====================     =============
       O_RDONLY                 True  (as expected)
       O_WRONLY                 False (as expected)
       O_RDWR                   False (incorrect)
       has some non-O_ACCMODE   False (incorrect)
        bit is set
    
    The incorrect check doesn't cause any problems for overall correctness,
    but it does mean that in those cases afs_linux_fillpage will not be
    called and that partially-written pages will be left out of date and any
    reader will need to fill the page again.
    
    Fix this by using the bitwise &.
    
    There is also an out of date link to the Linux documentation.  Update
    the comment to point to the current documentation that is in the Linux
    source tree.
    
    Reviewed-on: https://gerrit.openafs.org/14903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8d9545008240d7f285b140503e432f53f41e0724)
    
    Change-Id: Iae459ffe87df9a21a90587c02a1ee2c20b360d33
    Reviewed-on: https://gerrit.openafs.org/15129
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c3f31cc9c3442aca0f6f66ba493ea92bfa46dcca
Author: Jan Iven <iven.jan@gmail.com>
Date:   Fri Aug 5 14:46:27 2022 +0200

    systemd: do not load the 'openafs' module on boot
    
    remove /etc/sysconfig/modules/openafs-client.modules, i.e no longer have
    systemd run "modprobe openafs" at boot, on RPM-based systems.
    
    This had been introduced with a reference to the Fedora packaging guide
    at the time. However, this mechanism was meant just for persistent
    driver modules (i.e expected to stay loaded over the runtime) - the
    "openafs" module is loaded (and unloaded) by the actual systemd unit.
    
    The systemd unit that processes the above file comes from "initscripts",
    this is optional in later Fedoras/RHELs and so the file may not even be
    processed (/usr/lib/modules-load.d/ would be an alternative mechanism to
    load modules at boot.. if needed).
    
    This change is mostly cosmetic, although RT#135204 showed that having
    the "openafs" module loaded without a client running can actually be
    harmful.
    
    Reviewed-on: https://gerrit.openafs.org/15092
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 40b2c6036737a416f3b33624b5abeefa407c1b01)
    
    Change-Id: Iea1475217b8ae56accfb4436248011f0b84e0c09
    Reviewed-on: https://gerrit.openafs.org/15128
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 99f04b1398cc38fc18f7f98cca9d5785218feb0b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 14 13:03:08 2022 -0600

    linux: Call put_page if errors in aops->readpages
    
    Within the address_space_operations readpages function, when we remove a
    page from the page->lru list, we must ensure that the page reference
    count is decremented via put_page.
    
    There are two cases within the flow of the afs_linux_readpages where
    we remove a page from the page->lru list, but fail to put_page() it.
    
     - If we go through afs_linux_bypass_readpages we fail to call
       put_page() if the page index is larger than the index calculated from
       i_size_read for the cache file.
     - If get_dcache_readahead returns an error in afs_linux_readpages, we
       fail to put_page().  This can happen if there was a problem opening
       the cache file, or if the cache file has no a_ops->readpage.
    
    Add a call to put_page in afs_linux_bypass_readpages when the page index
    is greater than the index calculated from the i_size_read for the cache
    file.
    
    Add a call to put_page in afs_linux_readpages if get_dcache_readahead
    returns an error.
    
    Note: The condition of not calling put_page if there was an error
    opening the cache file was introduced by commit 'LINUX: Don't panic on
    some file open errors' (af73b9a3b1f), which replaced an assert with
    code that handled the error.  The other conditions have existed since
    the relevant code was introduced.
    
    In addition, the problems addressed by this commit are not present in
    Linux kernels 5.8 and greater when the commit 'Linux-5.18: replace
    readpages with readahead' (7a181415db1) is present, because we call
    afs_linux_readahead instead of afs_linux_readpages.
    
    Reviewed-on: https://gerrit.openafs.org/15068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 903dd5bf5e9328431e356abc42e20c248c5df6fd)
    
    Change-Id: I3679969f985e83a7291a5fb735c80f7d57429c29
    Reviewed-on: https://gerrit.openafs.org/15096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0ca47d0a03bfc39c064d2a1ae88970c67dc3dbce
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jul 5 10:33:19 2022 -0600

    Linux-5.19: Remove flags from aops->write_begin
    
    The Linux 5.19 commits:
    
     fs: Remove aop flags parameter from grab_cache_page_write_begin()
      (b7446e7c)
     fs: Remove flags parameter from aops->write_begin (9d6b0cd7)
    
    removed the flags parameter from the address space operations
    'write_begin' as well as removing the flags parameter from the Linux
    function 'grab_cache_page_write_begin'.
    
    Add an autoconf test to see if grab_cache_page_write_begin takes 2 or
    3 parameters. Use this as a test to determine if the address space
    operations 'write_begin' takes a flags parameter.
    
    Create a version of afs_linux_write_begin that does not take a flags
    parameter, which also calls grab_cache_page_write_begin without flags.
    
    Reviewed-on: https://gerrit.openafs.org/15041
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 52d8df218ff27c139ede221ec4decf593610fc47)
    
    Change-Id: I20575c2e9d0979749078f4e3d6f862900c6b6561
    Reviewed-on: https://gerrit.openafs.org/15095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e8f136dd687a7f7ac5296f52739f46dde8c8543e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jul 5 11:45:29 2022 -0600

    Linux-5.19: Rename aops readpage to read_folio
    
    With Linux commits:
      mm,fs: Remove aops->readpage   (7e0a126519)
      fs: Introduce aops->read_folio (5efe7448a1)
    
    the address space operations method 'readpage' was replaced with
    read_folio.  The operation behaves the same, except instead of taking a
    struct page parameter, the new function takes a folio structure.
    
    Add an autoconf test for the address space operation entry read_folio
    
    Replace the references to an address space operations' readpage with
    read_folio.  Note that the function Linux page_folio can be used to
    obtain the required pointer to the folio for a given page.
    
    Introduce afs_linux_read_folio that accepts a folio and calls
    afs_linux_readpage with the page associated with that folio.
    
    Reviewed-on: https://gerrit.openafs.org/15040
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bfb852197edcbe0c38c499faecd7c1be23308a20)
    
    Change-Id: Iab96bd10a143d88fe37ac8aa8980b33339c76852
    Reviewed-on: https://gerrit.openafs.org/15094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 43c926bf4da3f66f3acc013159fb51072e39efdb
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jul 5 10:28:10 2022 -0600

    Linux: Introduce file mapping readpage helpers
    
    Create a helper function that determines if a file's
     i_mapping->a_ops->readpage
    is NULL.
    
    Create a helper function that calls a file's
     i_mapping->a_ops->readpage
    
    There are no functional changes with this commit.
    
    Note: This commit isolates references to 'readpage' so that future
    commits can change the name in a more straight forward manner.
    
    Reviewed-on: https://gerrit.openafs.org/15039
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a81f7300f08d6e515adbde4bce4b72a3102b60f9)
    
    Change-Id: I9268fd2622ecd48ad6971a8faaeefef8128f4024
    Reviewed-on: https://gerrit.openafs.org/15093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6997f890445680ecda572778155c900ba9147b7b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jun 27 08:38:25 2022 -0600

    Linux-5.18: replace readpages with readahead
    
    The linux 5.18 commit 'fs: Remove ->readpages address space
    operation' (704528d8) removes the address_space_operations operation
    "readpages", which is replaced with the "readahead" operation
    that was introduced with the 5.8 commit 'mm: add readahead address
    space operation' (8151b4c8).
    
    When readahead is called, the pages in 'rac' have already been added to
    the lru caches and are locked. For each page that we get from the 'rac'
    (i.e. from 'readahead_page(rac)'), we must unlock and put_page the page;
    if we successfully populated the page with data, we also set
    PageUpToDate.  If we don't process all the pages in 'rac', the caller
    will handle cleaning up any remaining pages; we don't need to unlock/put
    them or touch them at all.
      (See Linux Documentation/filesystems/vfs.rst)
    
    Add an autoconf test to detect the presence of 'readahead' in the
    address_space_operations structure.
    
    For the implementation of readahead (which is contained in Linux's
    osi_vnodeops.c):
    
    Add new functions 'afs_linux_bypass_readahead' and 'afs_linux_readahead'
    as replacements for 'afs_bypass_readpages' and 'afs_linux_readpages'
    when the linux kernel supports the readahead operation.
    
    Notes:
      In afs_linux_bypass_readahead, the pages are already locked and are
      already in the page cache, we just need to place the page into the
      iovecp.  The page's refcount will be decremented and will be unlocked
      when processing the read request.
    
      In afs_linux_readahead, the lrupages is needed in case a page is added
      to the cachefp's mapping in afs_linux_read_cache (which also handles
      unlocking the page).
    
      In afs_linux_readahead, if there is no tdc, we must still unlock the
      page otherwise the read process will wait on that page.
    
    Reviewed-on: https://gerrit.openafs.org/14953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7a181415db1b2142d125714f1dea32879e2ca07d)
    
    Change-Id: I2ed4f22bd2b12c76586ae5326841a23735a20af0
    Reviewed-on: https://gerrit.openafs.org/15065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 45bf0cc73db964f52c74f3b5b09b1de26d79b35f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 7 12:19:44 2022 -0600

    Prevent sscanf format widths from overrunning array
    
    cppcheck noted these instances of sscanf could wipe out the ending null
    terminator.  Length is now macro expanded rather than hard coded and the
    array itself is one unit longer to avoid the overrun.
    
    Reviewed-on: https://gerrit.openafs.org/13136
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1162fcdba6c5234f4ac36e17f29e01ae04950004)
    
    Change-Id: I1759f4c11df003c6d0798910db9210ff91b95536
    Reviewed-on: https://gerrit.openafs.org/15064
    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 07b78426fe223b23bbb4739a4f017a49c97b8d29
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 21 09:50:41 2022 -0600

    opr: replace AFS_STRINGIZE with opr_stringize
    
    To avoid adding new includes for afs/afsutil.h in order to use
    'AFS_STRINGIZE', create a replacement, 'opr_stringize', in afs/opr.h.
    
    Replace the usage of 'AFS_STRINGIZE' with opr_stringize and remove the
    definition of 'AFS_STRINGIZE'
    
    Reviewed-on: https://gerrit.openafs.org/15029
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7f54bbe1568ea66d04bf69f5f083aa0422fcb417)
    
    Change-Id: I09fe7ba2191d1522342ac2a935afc40b1c67b7a4
    Reviewed-on: https://gerrit.openafs.org/15063
    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 f6e6ed4b316378031676d7180b9e71336a3c9f62
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 7 11:14:55 2022 -0600

    lwp: Ignore dangling-pointer warning in process.c
    
    In lwp/process.c the address of a stack variable is saved as part of
    creating a new context.  GCC-12 is flagging the statement with a
    diagnostic:
    
      ./process.c:46:24: error: storing the address of local variable
          ‘stackvar’ in ‘*savearea.topstack’ [-Werror=dangling-pointer=]
       46 |     savearea->topstack = (char *)&stackvar;
          |     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
    In this particular case, the code is meaning to save the address of the
    stack in preparation of setting up a new context, which requires knowing
    the address the current stack.
    
    The diagnostic is changed from a warning to an error when configured
    with --enable-checking.
    
    Set the env variable CFLAGS_NODANGLING_POINTER to
    '-Wno-dangling-pointer' if the compiler supports the option and update
    the src/lwp/Makefile.in to use the flag when compiling process.c
    
    Reviewed-on: https://gerrit.openafs.org/14957
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 748ae0fc25c51316d741afd9b9dfd479ffdf3250)
    
    Change-Id: I03d2d4a77b4a391f023f40e9793968e03a50c241
    Reviewed-on: https://gerrit.openafs.org/15062
    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 f034932791d9bcf0ed23a79ab1d0913a3e338881
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 21 09:57:40 2022 -0600

    afs: Avoid always-false NULL test on AFSTOV(avc)
    
    GCC-12 is flagging a comparison with the following diagnostic:
    
     src/afs/afs_vcache.c:3161:25: error: the comparison will always
        evaluate as ‘false’ for the address of ‘v’ will never be NULL
        [-Werror=address]
     3161 |             AFSTOV(avc) == NULL || vType(avc) == VDIR ||
          |                         ^~
    
    When the vcache structure does not have the vnode embedded the expansion
    of the AFSTOV macro results in:
       ((avc)->v)
    which tests contents of a 'v'.
    
    When the vcache structure does have the vnode embedded, the expansion of
    the macro results in:
       (&(avc)->v)
    which tests the address of 'v', which will never be NULL in this case.
    
    Update afs.h to add a new define 'AFS_VCACHE_EMBEDDED_VNODE' when the
    vcache structure contains an embedded vnode structure.  Restructure the
    preprocessor statements for the AFSTOV definition
    
    Avoid testing AFSTOV(x) against NULL when AFS_VCACHE_EMBEDDED_VNODE is
    defined.
    
    The diagnostic is changed from a warning to an error when configured
    with --enable-checking.
    
    Reviewed-on: https://gerrit.openafs.org/14956
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1d1a20c33258a9285a16e85a55df9c0fbf4a3ac2)
    
    Change-Id: Ieeb2b958c20aabbb412023c8e60c6d68e961c4b8
    Reviewed-on: https://gerrit.openafs.org/15061
    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 f5de30623d1442fb3911e2deae4c12507f093ab8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 9 13:20:02 2022 -0600

    afs: introduce get_dcache_readahead
    
    Relocate the block of code that obtains the dcache for a readahead
    operation from the afs_linux_readpages function into its own static
    function.
    
    Reviewed-on: https://gerrit.openafs.org/14962
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 44e24ae5d7dc41e54d23638d5f64ab2e81e43ad0)
    
    Change-Id: I5fce05cd241dc5a22526d931969cf11da89e3d48
    Reviewed-on: https://gerrit.openafs.org/15060
    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 5c9ec0359914e641da69b5490150e74d8ce3b8a7
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jun 6 12:27:43 2022 -0600

    afs: introduce afs_alloc_ncr/afs_free_ncr
    
    There is duplicated code for initializing a nocache_read_request
    and also freeing the associated storage in certain cases.  Create a set
    of helper functions that allocates and frees a nocache_read_request and
    its associated structures.
    
    afs_alloc_ncr allocates a nocache_read_request structure and if not
    UKERNEL, will allocate and initialize the associated uio and iovec
    structures.
    
    afs_free_ncr releases a noncache_read_request structure and the
    associated uio and iovec structures if not UKERNEL.
    
    Update locations that allocate/free nocache_read_request structures to
    use the new functions.
    
    Reviewed-on: https://gerrit.openafs.org/14954
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 209eb92448001e59525413610356070d8e4f10a0)
    
    Change-Id: Id9c23195e062c720fdbde83a9b5d36fb287aa8a4
    Reviewed-on: https://gerrit.openafs.org/15059
    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 52061e0670e3ba4571cee887c6a04f6035490c95
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Mar 30 11:09:45 2022 -0600

    Linux-5.18 replace set_page_dirty with dirty_folio
    
    The commits going into Linux 5.18:
    
      fs: Add aops->dirty_folio (6f31a5a261db)
      fs: Convert __set_page_dirty_buffers to block_dirty_folio (e621900ad2)
      fs: Remove aops ->set_page_dirty (3a3bae50af)
    
    replaces the address_space_operations structure member set_page_dirty
    which with dirty_folio.  The linux function __set_page_dirty_buffers is
    replaced by block_dirty_folio.
    
    Nothing within afs uses or implements the set_page_dirty function,
    however the structure member is required to be initialized.
    
    Add an autoconf test for the dirty_folio member and if present, set the
    address_space_operations member dirty_folio to block_dirty_folio
    instead of setting the set_page_dirty member.
    
    Reviewed-on: https://gerrit.openafs.org/14939
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6aa129e743e882cf30c35afd67eabf82274c5fca)
    
    Change-Id: I8afccecae7971d98f87a65db816c337fb2380854
    Reviewed-on: https://gerrit.openafs.org/15058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1909260bb2cd2028e697f42ebd745e9ac12334d2
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed May 11 08:48:52 2022 -0600

    afsd: Avoid fscanf overflows when paring cacheinfo
    
    clang-14 is producing the following diagnostic:
    
        afsd.c:581:44: error: 'fscanf' may overflow; destination buffer in
          argument 3 has size 1024, but the corresponding specifier may
          require size 1025 [-Werror,-Wfortify-source]
            fscanf(cachefd, "%1024[^:]:%1024[^:]:%d", tCacheMountDir,
    
    fscanf is being used to parse the contents of a file and the buffer
    sizes are hardcoded.  Simply increase the size of the 2 buffers by 1.
    
    The diagnostic warning is changed to an error when configured with
    --enable-checking.
    
    Reviewed-on: https://gerrit.openafs.org/14958
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 82c14b9a667174f044b7421e6e081ad323720a67)
    
    Change-Id: I81b5563599272b8f224962941d179ae2e93f7f47
    Reviewed-on: https://gerrit.openafs.org/15057
    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 80be173ac14d02af725c7ee1db9043ae79e6b535
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue May 24 20:14:36 2022 -0600

    vol: Use asprintf in _namei_examine_special
    
    GCC-12 is flagging an snprintf statement with a format truncation
    warning:
    
      namei_ops.c: In function ‘namei_ListAFSSubDirs’:
      namei_ops.c:2029:22: error: ‘%s’ directive output may be truncated
       writing up to 255 bytes into a region of size between 0 and 511
       [-Werror=format-truncation=]
    
    Change code to use asprintf instead of snprintf.  Return an error if a
    memory allocation fails.
    
    Reviewed-on: https://gerrit.openafs.org/14955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ae70db6cde5be5abd3bbbb26bd9af6fe68cc4b6b)
    
    Change-Id: I742e0210ac35eec7a143a780db4a6047a0a7c3fc
    Reviewed-on: https://gerrit.openafs.org/15056
    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 05d8ecd96ddab47f449089c2a9627a314d585e1d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 16 15:07:15 2020 -0600

    autoconf: fix detection for fallthrough attribute
    
    Due to bug <https://savannah.gnu.org/patch/?9949>,
    ax_gcc_func_attribute.m4 fails to properly detect __attribute__((fallthrough))
    in clang. Until this is fixed in autoconf-archive upstream, fix our
    local copy of ax_gcc_func_attribute.m4, so we can detect
    __attribute__((fallthrough)) to make --enable-checking work with clang.
    
    Reviewed-on: https://gerrit.openafs.org/14273
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 899b1af4183fb09fd55a36e3d10ffbdb9671a47e)
    
    Change-Id: Ia7398f958897e326722a77db2e64262212ff3367
    Reviewed-on: https://gerrit.openafs.org/15055
    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 b18c2f580f5680016dca748a77f64ca4f2778606
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Mar 1 15:35:07 2022 -0700

    cf: Use -Werror when checking for -Wno-* flags
    
    When detecting valid compiler flags clang behaves differently than gcc
    for certain types of flags.  Specifically, gcc will ignore an unknown
    "-Wno-someflag" while clang will issue a warning.  If using clang and
    --enable-checking is specified, this difference causes a build failure
    because the warning for the unknown flag is turned into an error.
    
    The autoconf macro AX_APPEND_COMPILE_FLAGS (via the underlying macro
    AX_CHECK_COMPILE_FLAGS) looks specifically for errors and not warnings
    to determine if the flag is valid.  In order to properly catch the above
    type of unknown compiler flags, a '-Werror' must be passed as an
    extra-flag.
    
    Update the autoconf functions that use AX_APPEND_COMPILE_FLAGS to use
    '-Werror' as an extra flag when testing for "-Wno-..." flags.
    
    Note, for gcc, the test may (incorrectly) think that the compiler
    supports the given flag, but that is okay, since the flag will be
    ignored by gcc during the build without raising any warnings or errors.
    
    Reviewed-on: https://gerrit.openafs.org/14900
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 573be0228778873c0d445263fb09989918bea4c1)
    
    Change-Id: Ie11cf176d4c88560d5fce9a0c5932d3a0d5dba1e
    Reviewed-on: https://gerrit.openafs.org/15054
    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 e03825bf22c615d7fec18481dc0145b79a3b3e82
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 28 14:10:46 2022 -0700

    Linux-5.17: Kernel build uses -Wcast-function-type
    
    The linux 5.17 commit:
      "Makefile: Enable -Wcast-function-type" (552a23a0)
    added the -Wcast-function-type compiler flag for kernel module builds.
    
    This change catches a type mismatch in the external files obtained from
    heimdal: hcrypto/evp.c and hcrypto/evp-algs.c and produces the following
    type of compile time error messages.
    
      src/libafs/MODLOAD-.../evp.c: In function ‘hc_EVP_md_null’:
      src/libafs/MODLOAD-.../evp.c:501:2: error: cast between incompatible
          function types from ‘void (*)(void *)’ to ‘int (*)(EVP_MD_CTX *)’
              {aka ‘int (*)(struct hc_EVP_MD_CTX *)’}
              [-Werror=cast-function-type]
      501 |  (hc_evp_md_init)null_Init,
          |  ^
    
    Use AX_APPEND_COMPILE_FLAGS to create a CFLAGS_NOCAST_FUNCTION_TYPE
    macro to disable this warning and update the CFLAGS for these 2 files
    for the Linux libafs build.
    
    Update the CODING documentation to add the new exceptions.  In addition
    add a brief description on how to set up autoconf to add a new build
    macro to suppress compiler warnings.
    
    Note: upstream heimdal has committed a fix for this in:
    
       hcrypto: Fix return type for null_Init, null_Update and null_Final
       (fc4b3ce49b)
    
    Reviewed-on: https://gerrit.openafs.org/14881
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 6bdfa976731ce07f3236893ecf12abb9e169b882)
    
    Change-Id: Ibd354f663d5876c421a8b4e89b8943c9e3d59ebc
    Reviewed-on: https://gerrit.openafs.org/14946
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9e1ac3f56650b8f69735b75a723a493d4630b011
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Sun Apr 5 15:51:17 2020 -0600

    cf: Use common macro to test compiler flags
    
    Use the AX_APPEND_COMPILE_FLAGS macro to test and set compiler
    specific flags.
    
    Remove the OPENAFS_GCC_SUPPORTS_MARCH check entirely (and the
    associated P5PLUS_KOPTS), since nothing has used it for quite some
    time.
    
    Reviewed-on: https://gerrit.openafs.org/14132
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 790824ff749b6ee01c4d7101493cbe8773ef41c6)
    
    Change-Id: I0880abd2e114568cbcf232197efced91bb2ea5e7
    Reviewed-on: https://gerrit.openafs.org/15053
    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 b34c14dae1ed94bc24580278e90b57df2b92b496
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 2 13:39:27 2020 -0600

    LINUX: Don't panic on some file open errors
    
    Commit 'LINUX: Return NULL for afs_linux_raw_open error' (f6af4a155)
    updated afs_linux_raw_open to return NULL on some errors, but still
    panics if obtaining the dentry fails.
    
    Commit 'afs: Verify osi_UFSOpen worked' (c6b61a451) updated callers of
    osi_UFSOpen to verify whether or not the open was successful.  This
    meant osi_UFSOpen (and routines it calls) could pass back an error
    indication rather than panic when an error is encountered.
    
    Update afs_linux_raw_open to return a failure instead of panic if unable
    to obtain a dentry.
    
    Update osi_UFSOpen to return a NULL instead of panic if unable to obtain
    memory or fails to open the file. All callers of osi_UFSOpen handle a
    fail return, though some will still issue a panic.
    
    Update afs_linux_readpage_fastpath and afs_linux_readpages to not panic
    if afs_linux_raw_open fails.  Instead of panic, return an error.
    
    For testing, an error can be forced by removing a file from the
    cache directory.
    
    Note this work is based on a commit by pruiter@sinenomine.net
    
    Reviewed-on: https://gerrit.openafs.org/14242
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit af73b9a3b1fc625694807287c0897391feaad52d)
    
    Change-Id: I1e430403561d5b85d6a4094d4bf413a6eca4ff5a
    Reviewed-on: https://gerrit.openafs.org/15052
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a18f4845cf4f10c0352502e95a1b4b489b37402d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 15:45:36 2019 -0600

    afs: Introduce afs_IsDCacheFresh
    
    Numerous places in libafs check the DV of a dcache against the DV of
    the vcache for the same file, in order to check if the dcache is up to
    date and can be used. Consolidate all of these checks into a new
    function, afs_IsDCacheFresh, to make it easier for future commits to
    alter this logic.
    
    This commit should have no visible impact; it is just code
    reorganization.
    
    Reviewed-on: https://gerrit.openafs.org/13435
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 0d8ce846ab2e6c45166a61f04eb3af271cbd27db)
    
    Change-Id: I2d7f63339e0cd6e0df7f4b07000834ac946cb4b7
    Reviewed-on: https://gerrit.openafs.org/15051
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 524600accb775577bf931577d92aaec1723d2f6c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jun 29 10:33:23 2022 -0400

    Change klog.krb5 -lifetime option help description
    
    Change the klog.krb5 -lifetime help description to show this option is
    ignored.  This option name was copied from the krb4 command but is not
    implemented for the krb5 version. It is retained for command line syntax
    compatibility.
    
    Reviewed-on: https://gerrit.openafs.org/15045
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f0c9fe7f8983eccf6453e3345de72a0eed649a5a)
    
    Change-Id: If2b34f8d9d8e65fb8b6497f0ab01ff1ef6d2196e
    Reviewed-on: https://gerrit.openafs.org/15047
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0d53d4170bb3992248db55d990db0ceae03513b2
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 27 20:19:17 2022 -0700

    Linux-5.17: kernel func complete_and_exit renamed
    
    Handle the Linux kernel function rename made in commit
     "exit: Rename complete_and_exit to kthread_complete_and_exit"
     (cead1855)
    
    Add a new autoconf test for the linux function kthread_complete_and_exit
    and if not found use a define to map kthread_complete_and_exit to
    complete_and_exit.
    
    Replace calls to complete_and_exit with kthread_complete_and_exit.
    
    Reviewed-on: https://gerrit.openafs.org/14882
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a651d4db7f86a24ea6784f6f27d5c8482667267b)
    
    Change-Id: Ibe96b92a84a8f876dda4019c221c37dabde93244
    Reviewed-on: https://gerrit.openafs.org/14945
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fd98e964d6ba0c685d56021dbf61cc3d5d9d9af5
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 27 08:20:42 2021 -0600

    clang-13: remove unused variables flagged by clang
    
    Clang-13 changed the default for the unused-but-set-variable resulting
    in build warnings/errors with the following type of messages
    
    vsprocs.c:3493:25: error: variable 'tentries' set but not used
        [-Werror,-Wunused-but-set-variable]
           afs_int32 nentries, tentries = 0;
    
    The locations where these local variables are being flagged show that
    while the variables are being updated, they are actually never used for
    anything (e.g. used as part of an assignment to another variable, passed
    as a parameter, used for as returned value, etc.)
    
    Remove the variables being flagged by the clang-13 compiler.
    
    Removal of these variables will not alter the overall functionality of
    the code.
    
    Reviewed-on: https://gerrit.openafs.org/14775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8333e8e6020331013af912acb92a308e4f5a1dd2)
    
    Change-Id: Id5e7c6a323e352106b8f6bf32b7163846c366dec
    Reviewed-on: https://gerrit.openafs.org/14991
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 588decb457501a8b0d0e65ea9dba726400f9c911
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jul 23 15:43:42 2020 -0600

    clang-10: ignore fallthrough warning in generated code
    
    Clang-10 will not recognize '/* fall through */' as an indicator to
    turn off the fallthrough warning due to the lack of a 'break' in a case
    statement.
    
    Code generated by flex uses the '/* fall through */' comments to turn
    off compiler warnings for fallthroughs in case statements.
    
    For code generated by flex, ignore the implicit-fallthrough via pragma
    or disable the warning via a compile time flag.
    
    Add new env variable "CFLAGS_NOIMPLICIT_FALLTHROUGH" to selectively
    disable the compile check in Makefiles when checking is enabled.
    
    Reviewed-on: https://gerrit.openafs.org/14275
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit e5f44f6e9af643cab3a66216dff901e0a4c5eda8)
    
    Change-Id: Ibe1b95e6784ca8b422378cf2896bdc7f1a6d8e61
    Reviewed-on: https://gerrit.openafs.org/14990
    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: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7c8127c5a12a94457251b35643a9fa2f284d2a11
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 10 12:42:54 2019 -0500

    LINUX: Honor --enable-checking for libafs
    
    When we build the kernel module on LINUX, we don't pass in any of our
    CFLAGS, since the Linux buildsystem itself figures out what flags are
    needed. However, this means that we don't pass in -Werror when
    --enable-checking is turned on, so warnings may not cause the build to
    fail.
    
    To fix this, create a new autoconf variable, called CFLAGS_WERROR,
    that only contains -Werror if --enable-checking is turned on. We then
    pass that into the Linux module buildsystem, so -Werror is given to
    the compiler when building our module.
    
    Reviewed-on: https://gerrit.openafs.org/13682
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6e0f1c3b45102e7644d25cf34395ca980414317f)
    
    [cwills@sinenomine.net] On master gerrit 14106 comes after this commit.
    In the 1.8.x branch the 14106 commit is already pulled in (gerrit 14217)
    which causes a conflict due a difference ('-fno-common') in the line
    above the change in osconf.m4.
    
    Change-Id: I4e49d5c5fdf26399eb04d2f76196f3c3f4e7baf6
    Reviewed-on: https://gerrit.openafs.org/14989
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0cb26f198c6e049171b698098afab82203848434
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 3 07:05:36 2021 -0400

    ptserver: Fix CreateEntry() stringop-overflow warnings
    
    The CreateEntry() prototype has been fixed to match the function
    definition, so callers are expected to provide bounded arrays for the
    user or group name. Fix the InitialGroup() macro which is used to set
    the built-in names using string literal to avoid stringop-overflow
    warnings.
    
        error: ‘CreateEntry’ accessing 64 bytes in a region of size 22 [-Werror=stringop-overflow=]
                code = CreateEntry(tt, (name), &temp, /*idflag*/1, flag, SYSADMINID, SYSADMINID); \
    
        note: in expansion of macro ‘InitialGroup’
               InitialGroup(SYSADMINID, "system:administrators");
        note: referencing argument 2 of type ‘char *’
        note: in a call to function ‘CreateEntry’
                CreateEntry(struct ubik_trans *at, char aname[PR_MAXNAMELEN], ...
    
        (Repeated for "system:backup", "system:anyuser", "system:authuser",
        "system:ptsviewers", and "anonymous".)
    
    Reviewed-on: https://gerrit.openafs.org/14789
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7924aecf95bf4918a485a041f2426bd1fa407ac8)
    
    Change-Id: I6e30729f1b24beb1ed1c4b6d9162b347285b7edc
    Reviewed-on: https://gerrit.openafs.org/14987
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 07704dc7b4a58a05e921d374302a3026fa95a44e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 23 15:42:52 2021 -0400

    libadmin: Fix isAlias may be uninitialized warning
    
    The cfgutil_HostNameIsAlias() function has an output parameter called
    isAlias, which is used when cfgutil_HostIsAlias() returns non-zero.
    However, it possible for isAlias to not be set before returning. GCC 12
    issues a warning about the possible use of the uninitialized isAlias
    variable:
    
        cfginternal.c:366:32: error: ‘isAlias’ may be used uninitialized
           [-Werror=maybe-uninitialized]
    
    Initialize the cfgutil_HostNameIsAlias() isAlias output flag to false.
    Also, fix the misleading code indentation around the
    cfgutil_HostNameIsAlias() call.
    
    Reviewed-on: https://gerrit.openafs.org/14772
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4a8d0c4089078fb3df9cc06b595c80c9b4c2ca7f)
    
    Change-Id: I4cadcb4380962e47213fcfd310c1cac331100f65
    Reviewed-on: https://gerrit.openafs.org/14986
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1f868e7bdde59440695f5b2e99aa562f953250ad
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 23 15:37:13 2021 -0400

    bucoord: Fix doDispatch() array-parameter gcc warning
    
    The doDispatch() prototype does not match the function definition. The
    targv parameter is declared as an unbounded array in the prototype, but
    is defined as a bounded array. As of GCC 12, a warning is issued for the
    mismatch.
    
        main.c:346:18: error: argument 2 of type ‘char *[100]’ with
          mismatched bound [-Werror=array-parameter=]
        bucoord_internal.h:123:40: note: previously declared as ‘char *[]’
    
    Within doDispatch(), the targv argument is just passed to cmd_Dispatch()
    (this is the only use of targv). Since cmd_Displatch() expects an
    unbounded array, update the doDispatch() definition to match the
    prototype.
    
    Reviewed-on: https://gerrit.openafs.org/14771
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 92a6242de2d8ea280debc283a7c089f97c1670bc)
    
    Change-Id: Idc674dccac5adcbe610e059463e493716cf80f57
    Reviewed-on: https://gerrit.openafs.org/14985
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3a32158d000a29c8ca7282db02ffb27c6f2a892d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 23 15:33:19 2021 -0400

    Fix PrintInode() mismatched array parameter warnings
    
    The PrintInode() prototypes do not match the function definitions.
    
    When AFS_64BIT_IOPS_ENV is defined (which is the common case and is
    required for namei), the buffer parameter is declared as a bounded
    character array (afs_ino_str_t) in the prototype, but is defined as an
    unbounded character pointer.  When AFS_64BIT_IOPS_ENV is not defined
    (for legacy 32-bit inode vice partitions), PrintInode() is declared with
    no specified parameters.
    
    A static buffer is used to hold the formatted string when a NULL is
    passed as the first argument to PrintInode(). However, this method is
    only used by the volinfo and iopen utility programs.
    
    Fix the mismatch function prototypes and definitions to use the bounded
    char array (afs_ino_str_t) in all cases.  Remove the deprecated function
    declaration with no specified parameters. Update vol-info and iopen to
    pass an afs_ino_str_t buffer and remove the now unused static buffer.
    Update the duplicated PrintInode() function definition in namei_ops.c.
    (This duplicated code could be removed in a future commit.)
    
    Reviewed-on: https://gerrit.openafs.org/14770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a1e57d2e42b6d01e5ece93d5d49a4b9f3ecd3edc)
    
    Change-Id: Ia8685805513c2c17e9253d83aa471718a09a449a
    Reviewed-on: https://gerrit.openafs.org/14984
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c6b47f77dc27c4624c3348c8de0aee8f0ed15970
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 23 19:43:45 2021 -0400

    pts: Fix stringop-overflow warnings
    
    The ptutil functions are defined to accept bounded character arrays for
    user and group names. As of GCC 11, callers which provide the names as
    string literals now trigger the stringop-overflow warning, since the
    regions provided by the string literals are smaller than the bounded
    areas.
    
        error: ‘pr_ChangeEntry’ accessing 64 bytes in a region of size 1
               [-Werror=stringop-overflow=]
        note: referencing argument 4 of type ‘char *’
    
        error: ‘pr_IsAMemberOf’ accessing 64 bytes in a region of size 22
               [-Werror=stringop-overflow=]
        note: referencing argument 2 of type ‘char *’
    
        error: ‘pr_CreateUser’ accessing 64 bytes in a region of size 16
               [-Werror=stringop-overflow=]
        note: referencing argument 1 of type ‘char *’
    
        error: ‘pr_Delete’ accessing 64 bytes in a region of size 16
               [-Werror=stringop-overflow=]
        note: referencing argument 1 of type ‘char *’
    
    Update the callers in pts and testpt which pass literal strings. Instead
    of passing char pointers to literal strings, assign the strings to
    prname buffers and pass the prname buffers to the pr utility functions.
    
    Reviewed-on: https://gerrit.openafs.org/14769
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a3aac5106beddc5a6f7a09c2d21c2524342aca01)
    
    Change-Id: I38883cdf9c6db701370b3c6755ca28e50f618c82
    Reviewed-on: https://gerrit.openafs.org/14983
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8765514b2ac7c258646fa446dca3040a23be4da4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 24 16:40:22 2021 -0400

    ptserver: Fix CreateEntry() mismatched array parameter warning
    
    The CreateEntry() prototype does not match the function definition. The
    aname parameter is declared as an unbounded array in the prototype but
    is defined as a bounded array. As of GCC 12, a warning is issued for the
    mismatch.
    
        error: argument 2 of type ‘char[64]’ with mismatched bound
               [-Werror=array-parameter=]
               CreateEntry(struct ubik_trans *at, char aname[PR_MAXNAMELEN], ...
    
        note: previously declared as ‘char[]’
              extern afs_int32 CreateEntry(struct ubik_trans *at, char aname[], ...
    
    Fix the prototype to declare the 'aname' parameter as a bounded array as
    expected for this function.
    
    Reviewed-on: https://gerrit.openafs.org/14768
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fe64ddd3b49bf15222d32d443ff226dd4c2b899e)
    
    Change-Id: If29ada7f9460591de8d2b61c17d00090465625b2
    Reviewed-on: https://gerrit.openafs.org/14982
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a1944282e77c681c30ddf12f41fc8e07efee3ea
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 23 14:23:01 2021 -0400

    ubik: Fix ubeacon_updateUbikNetworkAddress() mismatched array parameter warning
    
    The ubeacon_updateUbikNetworkAddress() prototype does not match the
    function definition. The ubik_host parameter is declared as an unbounded
    array in the prototype but is defined as a bounded array. As of GCC 12,
    a warning is issued for the mismatch:
    
        error: argument 1 of type ‘afs_uint32[256]’ {aka ‘unsigned int[256]’}
               with mismatched bound [-Werror=array-parameter=]
               ubeacon_updateUbikNetworkAddress(
                 afs_uint32 ubik_host[UBIK_MAX_INTERFACE_ADDR])
    
        note: previously declared as ‘afs_uint32[]’ {aka ‘unsigned int[]’}
              extern int ubeacon_updateUbikNetworkAddress(afs_uint32 ubik_host[]);
    
    Restore the ubik_host array length in the function prototype, which was
    dropped in commit 9020e6e2f0357b1082705dcaa6626573433969ec (ubik: Defer
    updateUbikNetworkAddress until after RX startup).
    
    Reviewed-on: https://gerrit.openafs.org/14767
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 36796bbb83af2650a872234fdb5cf7124bf6cfa8)
    
    Change-Id: Ia27b5b9642dbd355e1310419424ed0ac04add4b2
    Reviewed-on: https://gerrit.openafs.org/14981
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0130ff6fc4f6ca0f85346941f39c9fe3eea6e3aa
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 10 23:47:33 2018 -0400

    klog.krb5 -lifetime is not implemented
    
    The klog.krb5 -lifetime option was copied from earlier versions of log
    and klog, which had the ability to set the krb4 token lifetime. However,
    the -lifetime option is not feasible the krb5 version, and so is not
    implemented in klog.krb5.
    
    Update the klog.krb5 man page to document the -lifetime option has no
    effect.  Remove the code which unnecessarily checks the unused klog.krb5
    -lifetime command line argument.
    
    The unused lifetime variable was discovered by Pat Riehecky using the
    clang scan-build static analyzer.
    
    Reviewed-on: https://gerrit.openafs.org/13309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit da699c8b81e818ba97ff8115397d7f7afe0bf512)
    
    Change-Id: I81cd0024f4727ba401df7b5813163b11f9b43bd4
    Reviewed-on: https://gerrit.openafs.org/14980
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7d4f5fe3e2f8009ebfa45626f104b61cf9c6c924
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Oct 1 11:38:37 2018 -0400

    ubik: do not reuse the offset variable for the sync site address
    
    The ubik SendFile function performs a sanity check of the host address
    before proceeding with the file transfer.  Currently this check reuses
    the file offset local variable to hold the value of the sync site
    address, a 32-bit IPv4 address. Not only is this confusing, but also
    causes a signed/unsigned type mismatch when comparing host addresses.
    Instead of being so stingy with local variables, declare a new local
    variable of the correct type to hold the value of the sync site address.
    
    This separation is also a prerequisite for supporting larger address
    types in the future.
    
    Reviewed-on: https://gerrit.openafs.org/13351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f0bab78cbe4f59609fa18647a480cc6989948786)
    
    Change-Id: I2bda69a2586628b51e84c3facf116bf652e3df0a
    Reviewed-on: https://gerrit.openafs.org/14979
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1c5c7eba38dc510bf571225e3feeba9b7565bd27
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 24 12:04:13 2022 -0500

    afs: Remove redundant AFS_LINUX_ENV test
    
    After our Linux checks were converted to AFS_LINUX_ENV in commit
    6329a523 (Change AFS*_LINUXnn_ENV to AFS*_LINUX_ENV), the extra
    AFS_LINUX_ENV check in this line doesn't make any sense. Get rid of
    it.
    
    Reviewed-on: https://gerrit.openafs.org/14935
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit a7d04f0770beb08ea7db2dcdc3dee80b2a57233a)
    
    Change-Id: I797e1d677cc758d0475011167c0cbafeedf9788c
    Reviewed-on: https://gerrit.openafs.org/15037
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@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 147d3bf945f5f3c5135a372a91d079c8ef99fb50
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 2 11:17:45 2022 -0600

    Cleanup AFS_*LINUX_ENV usage
    
    Commit 6329a523f6305541871bc3d1694065e7b17abe77 changed all
    occurrences of AFS_*LINUXnn_ENV to AFS_*LINUX_ENV, but did not perform
    any refactoring of the use of these variables.
    
    This commit completes the task by refactoring the preprocessor
    conditionals that involved removing dead code or collapsing statements.
    
    The updates should have no functional changes.
    
    Reviewed-on: https://gerrit.openafs.org/14388
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit cbc18e4b311bdd2c461f60b7b96eb2ab8a6d1ee5)
    
    Change-Id: I02e9f0cab5e60994c67593b0709ae1e500d23545
    Reviewed-on: https://gerrit.openafs.org/14978
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    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 43644792092698ace05a6e96bf58464d7837abdd
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 2 11:19:32 2022 -0600

    Change AFS*_LINUXnn_ENV to AFS*_LINUX_ENV
    
    The minimum Linux kernel that is now supported is linux-2.6.18.  The
    Linux versioned preprocessor macros AFS_*LINUXnn_ENV are no longer
    needed to distinguish the different levels of Linux and can be merged
    into just a single set of macros.
    
    Perform a global change of _LINUX\d+_ENV to _LINUX_ENV. e.g.
       AFS_LINUX24_ENV       -> AFS_LINUX_ENV
       AFS_USR_LINUX24_ENV   -> AFS_USR_LINUX_ENV
       AFS_AMD64_LINUX20_ENV -> AFS_AMD64_LINUX_ENV
    
    Replace the multiple definitions for the versioned 'AFS*_LINUXnn_ENV'
    with just single non-version definitions 'AFS*_LINUX_ENV'.
    
    Apart from replacing the now-redundant #define directives and tidying up
    a few comments at the close of a preprocessor block to match their
    current form, this commit was done using a mechanical change of the
    variable names and did not reduce preprocessor statements that could now
    be combined or eliminated.  Nor does this commit remove dead code.  A
    follow-up commit (Cleanup AFS_*LINUX_ENV usage) will handle these
    changes.
    
    The updates should have no functional changes.
    
    Reviewed-on: https://gerrit.openafs.org/14387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6329a523f6305541871bc3d1694065e7b17abe77)
    
    [cwills@sinenomine.net] Conflicts due to:
       'afs: Set AFS_VFSFSID to a numerical value' is already in 1.8.x
       'Linux 5.15: Convert osi_Msg macro to a function' is already in 1.8.x
       'fsint: remove dead code' is not in 1.8.x (removes fsint/afsaux.c)
       'Remove rpctestlib' is not in 1.8.x (removes rpc_test_procs.c)
    
    Change-Id: I19da50622f63db0fcad7acd834559c538e6030be
    Reviewed-on: https://gerrit.openafs.org/14977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a07ac7f818d8c4c79eed096bf57d2a147dc827be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 2 11:11:24 2022 -0600

    Remove AFS_PARISC_LINUX24_ENV references
    
    Since commit 91713206 (Remove LINUX24 from src/afs),
    AFS_PARISC_LINUX24_ENV is never defined. Remove references to it.
    
    Reviewed-on: https://gerrit.openafs.org/14472
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e0e0b3cea6305cdbccc71039a05d6121c32c51cf)
    
    Change-Id: I4871f5ba6018ab47c78d3f07d4665b5a2676102f
    Reviewed-on: https://gerrit.openafs.org/14976
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 49512eb8c94f81ed8611e288008275899ac6bfd2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 2 13:37:00 2020 -0500

    afs: Always define our own osi_timeval32_t
    
    Since OpenAFS 1.0, osi_GetTime has taken a timeval-like pointer, which
    contains 32-bit fields (the actual type has been called either
    osi_timeval_t or osi_timeval32_t over time). For platforms that have a
    native timeval-like type with 32-bit fields, we just define
    osi_timeval32_t to that type, and elsewhere we define our own struct
    to be osi_timeval32_t. For platforms that use the native timeval, we
    can then define osi_GetTime() to just be, e.g., microtime().
    
    This approach is difficult to maintain, though, because we must keep
    track of whether 'struct timeval' contains 32-bit fields on each
    platform, which can depend on many factors. It's easy to make mistakes
    (the current tree already contains mistakes), and there's not much
    benefit.
    
    To avoid all of this, just always define osi_timeval32_t to be our own
    struct with afs_int32 fields, and provide definitions for osi_GetTime
    that convert from the native time struct to our osi_timeval32_t. This
    does mean that for some platforms we do an unnecessary type
    conversion, but this is a small price to pay for more straightforward
    and maintainable code.
    
    To be a little more sure that our types are correct, change
    osi_GetTime to be defined as an inline function instead of a macro.
    
    At the same time, do a similar conversion for the KERNEL
    implementation of the rx clock_GetTime function. Get rid of
    platform-specific mess, and do a straightforward type conversion
    between osi_timeval32_t and struct clock in an inline function.
    
    Reviewed-on: https://gerrit.openafs.org/14238
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit eccd4b9778014c36a4b3af6d9e80194066bd2195)
    
    Change-Id: Ia6ccc7ff3e3a7cfb346449c1335e7a045688aebf
    Reviewed-on: https://gerrit.openafs.org/14974
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e01db4d01e6215628edcd13ae76392629424fd97
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 2 13:12:14 2020 -0500

    afs: Move osi_GetTime out of param.h
    
    Most platforms currently #define osi_GetTime in their param.h. This is
    really redundant, since the definition of osi_GetTime almost never
    changes for a given platform, so we end up with many copies of the
    same osi_GetTime definition for a given platform.
    
    Move osi_GetTime out of param.h for these platforms, and define it in
    osi_machdep.h instead, which is where most platform-specific
    definitions go.
    
    For DFBSD, we don't have an osi_machdep.h at all yet, so create a new
    one to contain the osi_GetTime definition. Currently we don't build
    libafs at all on DFBSD, but do this anyway so we don't lose the
    existing osi_GetTime definition.
    
    For NBSD, we were providing (conflicting!) definitions for osi_GetTime
    in param.h and in osi_machdep.h. Just remove the definitions in
    param.h, since those should have been getting overridden by the
    osi_machdep.h definition.
    
    Reviewed-on: https://gerrit.openafs.org/14237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a5c3dfe99fa1831e3b416e89f52a03fd1cf9f73d)
    
    Change-Id: I3afff0c1b4c14649cc072d555d0c3ebd6de8a0fe
    Reviewed-on: https://gerrit.openafs.org/14972
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f792585297f597c5ac6b53afb89d9e66cc387845
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 5 11:26:00 2020 -0400

    UKERNEL: remove redundant declaration of osi_GetTime
    
    Commit c861bb0d779b54236b63eda87d9dfaf7792d1659 "Additional UKERNEL
    headers, prototyping and other fixes" added the following lines to
    src/rx/rx_prototypes.h:
    
      #if defined(UKERNEL) && !defined(osi_GetTime)
      extern int osi_GetTime(struct timeval *tv);
      #endif
    
    However, this appears to be redundant with the declaration in
    src/afs/afs_prototypes.h:
    
      #ifdef UKERNEL
      ...
      extern int osi_GetTime(struct timeval *tv);
      ...
      #endif
    
    which was added much earlier with commit
    8f2df21ffe59e9aa66219bf24656775b584c122d
    "pull-prototypes-to-head-20020821".
    
    Remove the redundant declaration in rx/rx_prototypes.h.
    
    No functional change is incurrred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14192
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 03f44172180563cb9d12d79e5512aae815fee899)
    
    Change-Id: I2e562f0e25bf4dd0f47f952782792585a8e7fc20
    Reviewed-on: https://gerrit.openafs.org/14975
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c45808df7c97ff4656d7592c7fef437bd07e9163
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 18 14:19:25 2020 -0400

    Convert all osi_timeval_t to osi_timeval32_t
    
    Since commit 130144850c6d05bc69e06257a5d7219eb98697d8 "xstat: cm xstat
    time values are 32 bit", OpenAFS has had two timeval definitions:
    osi_timeval_t and osi_timeval32_t.  Since they are functionally
    equivalent, convert all references to osi_timeval_t to osi_timeval32_t.
    This makes clear that this struct is always expected to contain 32-bit
    members for tv_sec and tv_usec.
    
    There are still a few platforms where osi_timeval32_t is mistakenly
    defined with 64-bit members; these will be addressed in future commits.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14215
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c6eff25be9fc959f666b33425c9ee2635224826e)
    
    Change-Id: I55a2ac3d7fb65c3b14aded755cd81056a3775f74
    Reviewed-on: https://gerrit.openafs.org/14971
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 00232a56dddd05d257f18e280efcd3ee43f1e2dc
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 4 17:35:05 2020 -0400

    UKERNEL: remove dead code osi_SetTime
    
    osi_SetTime has been dead code since the original IBM code import.
    Remove it from the tree.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14191
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d6101128664918e6fcefbaeb68c4c1d439851411)
    
    Change-Id: I8a406e4199b959f7470b53882ee143efb8723d7c
    Reviewed-on: https://gerrit.openafs.org/14973
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7bead34f357ec10f287062206f4056dbfe8adfdb
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 2 11:18:59 2022 -0600

    clang-10: use AFS_FALLTHROUGH for case fallthrough
    
    Clang-10 will not recognize '/* fallthrough */' as an indicator to
    turn off the fallthrough diagnostic due to the lack of a 'break' in a
    case statement.  Clang-10 requires the '__attribute__((fallthrough))'
    statement to disable the diagnostic.
    
    In addition clang-10 is finding additional locations where fall throughs
    occur.
    
    Determine if the compiler supports '__attribute__((fallthrough))' to
    disable the implicit fallthrough diagnostic.
    
    Define a new macro 'AFS_FALLTHROUGH' that will disable the fallthrough
    diagnostic. Set it as a wrapper for the Linux kernel's 'fallthrough'
    macro if available, otherwise set it as a wrapper macro for
    '__attribute__((fallthrough))' if the compiler supports it.
    
    Update CODING to document the use of AFS_FALLTHROUGH when needing to
    fallthrough between case statements.
    
    Replace the '/* fallthrough */' comments with AFS_FALLTHROUGH, and add
    AFS_FALLTHROUGH as needed.
    
    Replace some fallthroughs with a break (or goto) if the flow was was
    just to a break (or goto).
    
    e.g.   case x:                 case x:
               somestmt;               somestmt;
                                       break;
           case y:                 case y:
               break;                  break;
    
    Correct a mis-indented brace '}' in src/WINNT/afsd/smb3.c
    
    Note, the clang maintainers have rejected the use of comments as a flag
    to turn off the fall through warnings.
    
    Reviewed-on: https://gerrit.openafs.org/14274
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 16f1b2f894c28614df0f096be8232b1176e87c70)
    
    [cwills@sinenomine.net Note the fallthrough case in asetkey.c that
    exists in the original master commit is not present 1.8.x]
    
    Change-Id: I4d92d519bd168ac111f46d37bcf7dca7021e5463
    Reviewed-on: https://gerrit.openafs.org/14970
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 97b8fe13831d575ada7ea85c794637d1b4dd3493
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 2 10:56:39 2022 -0600

    Add more 'fall through' switch comments
    
    Commit a455452d (LINUX 5.3: Add comments for fallthrough switch cases)
    added the special /* fall through */ comment to various switch/case
    blocks, in order to avoid implicit-fallthrough warnings from causing
    the build to fail when building the Linux kernel module.
    
    In this commit, add additional /* fall through */ comments to the rest
    of the tree where falling through is intentional. Add a "break;" in one
    place in dumptool.c where falling through seems like a mistake, and flag
    certain functions as AFS_NORETURN to avoid needing to explicitly break
    or fallthrough.
    
    Check for the availability of the -Wimplicit-fallthrough compiler flag
    and use it when --enable-checking is set, to prevent additional cases
    from creeping into the tree.
    
    Note: the -Wimplicit-fallthrough compiler flag was added in gcc 7.
    
    Reviewed-on: https://gerrit.openafs.org/14125
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 929d501421579290ce1d4f9aabe45980e5458a9a)
    
    Change-Id: I57d19d715fe61e9125b0b9efc8ae36934001bb10
    Reviewed-on: https://gerrit.openafs.org/14969
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 249461a7bbe0668137dcafb455c1c0593d90e503
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 31 21:19:18 2020 -0500

    vos: Properly print volume transaction flags
    
    Currently, the code in 'vos status' treats the 'iflags' and 'vflags'
    of a transaction like an enumerated type; that is, we only check if
    'iflags' is equal to ITOffline or ITBusy, etc. But both of these flags
    fields are bitfields; any combination of the relevant flags could
    theoretically be set.
    
    Practically speaking, we only ever set at most one of the flags in
    'iflags', but if anything ever did set more than one flag, our output
    would look broken (we'd print "attachFlags:" without any flags).
    
    For 'vflags', multiple flags are often set at once: the most common
    combination is VTDeleteOnSalvage|VTOutOfService. So currently, we
    usually print "attachFlags:" without any actual flags, since the
    'vflags' field isn't exactly equal to VTDeleteOnSalvage (instead it's
    set to VTDeleteOnSalvage|VTOutOfService). And if we ever did see just
    VTDeleteOnSalvage set by itself, the way the switch() cases fall
    through to each other, we'd print out that _all_ flags are set.
    
    To fix all of this, just test for the individual flag bits instead.
    
    Reviewed-on: https://gerrit.openafs.org/14126
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f841c189a53f3a6bcf5c25336e4e0ad5362036e2)
    
    Change-Id: Id57d2569bbaa94bb9e7e621cdd16c1e171899362
    Reviewed-on: https://gerrit.openafs.org/14968
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee428c60eba4c632de6e8a958a81745a12c76208
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 2 10:48:49 2022 -0600

    autoconf: attribute type checks
    
    Check for function attributes by type and update src/afs/stds.h to
    conditionally include the attributes detected, instead of checking for
    specific compilers and compiler versions.
    
    This allows attributes to be used when building under Solaris Studio.
    
    Reviewed-on: https://gerrit.openafs.org/12963
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 1f29c9f05f53966df1bbd9ece479155f78f995e0)
    
    Change-Id: I6163e3ebf73c6616dfd3de78e76b14b5907bd4df
    Reviewed-on: https://gerrit.openafs.org/14967
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b075d032c994959fbe84006104f88a5bcf34fd2b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 2 10:47:46 2022 -0600

    autoconf: check for format __attribute__ to avoid warnings
    
    Building with Solaris Studio generates a ludicrous number of warnings
    in the form:
    
       roken.h, line ...: warning: attribute "format" is unknown, ignored
    
    Modern Solaris Studio supports several GCC-style function attributes,
    including the `noreturn' attribute, however does not support the
    `format' attribute.
    
    Currently, configure defines HAVE___ATTRIBUTE__ when the `noreturn'
    attribute is available. roken headers conditionally declare printf-like
    functions with the `format' function attribute when HAVE___ATTRIBUTE__
    is defined, leading to the warning messages when building under Solaris
    Studio. Unsupported function attributes generate warnings, not errors.
    
    Fix these warnings by defining HAVE___ATTRIBUTE__ if and only if the
    `format' attribute is supported by the compiler, instead of checking for
    `noreturn'.  Note that the `format' type is currently the only attribute
    used by roken at this time.
    
    Reviewed-on: https://gerrit.openafs.org/12956
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f9b3cf888304d42c2a1a8472fdeeab68a7347859)
    
    Change-Id: I7ae19fa3d7d90e67d6eb63ef9b51a74a215e9273
    Reviewed-on: https://gerrit.openafs.org/14966
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 96bc48a5730b2dcc14f2abaa8cdb5e433cedbdcd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 4 22:35:07 2020 -0500

    Use autoconf-archive m4 from src/external
    
    Switch to using the m4 macros from autoconf-archive in our
    src/external mechanism, instead of manually-copied versions in src/cf.
    The src/external copy of ax_gcc_func_attribute.m4 is identical to the
    existing copy in src/cf, so that should incur no changes. There are
    also a few new macros pulled in, but they are currently unused.
    
    Increase our AC_PREREQ in configure.ac to 2.64, to match the AC_PREREQ
    in some of the new files.
    
    Reviewed-on: https://gerrit.openafs.org/14135
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ca847ddf35e336a8bc3159ce4b26f0162417bbd5)
    
    Change-Id: Ifa43b3869e426fada5bd925b0ae002a0f6436232
    Reviewed-on: https://gerrit.openafs.org/14944
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e2dc2e062886e2cbd10139bbaef8230801153d12
Author: Autoconf Archive Maintainers <autoconf-archive-maintainers@gnu.org>
Date:   Tue Apr 7 10:23:16 2020 -0500

    Import of code from autoconf-archive
    
    This commit updates the code imported from autoconf-archive to
    24358c8c5ca679949ef522964d94e4d1cd1f941a (v2019.01.06)
    
    New files are:
            m4/ax_append_compile_flags.m4
            m4/ax_append_flag.m4
            m4/ax_check_compile_flag.m4
            m4/ax_gcc_func_attribute.m4
            m4/ax_require_defined.m4
    
    Reviewed-on: https://gerrit.openafs.org/14138
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d8205bbb482554812fbe66afa3c337d991a247b6)
    
    Change-Id: Ibc18f5ddef8b63ba258fa666ada60577a845aa8f
    Reviewed-on: https://gerrit.openafs.org/14943
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 666510fff2909f81279828cb63cf57dbf74cd29e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 4 22:28:21 2020 -0500

    Add autoconf-archive to src/external
    
    Add autoconf-archive to the src/external mechanism, so we can more
    easily import and update the AX_* m4 macros we pull in from
    autoconf-archive. Commits are imported from
    <git://git.savannah.gnu.org/autoconf-archive.git>.
    
    We already have a copy of ax_gcc_func_attribute.m4 in the tree, so
    include that in the list of files. While we're here, also include a
    few more macros for checking compiler flags, which will be used in
    subsequent commits.
    
    Reviewed-on: https://gerrit.openafs.org/14133
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a072c65bba86cbcd81157e354d3719ac41a2c97d)
    
    Change-Id: I785607be9abe85e43287c4880103a365e264473b
    Reviewed-on: https://gerrit.openafs.org/14942
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e8a2fb80228820ca2c38cb910a129c0a2e436df5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 16 20:41:35 2018 -0400

    autoconf: import gcc function attribute check macro
    
    Import Gabriele Svelto's AC_GCC_FUNC_ATTRIBUTE autoconf macro to check for
    GCC-style function attributes.  This macro is part of the GNU Autoconf
    Archive[1]. The imported file is distributed under an all-permissive license.
    
    [1] https://www.gnu.org/software/autoconf-archive/
    
    Reviewed-on: https://gerrit.openafs.org/12962
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b818854f19e33315d1b6453b72a55b54d740e976)
    
    Change-Id: I6305bf70715048da7da0d605d4ad4bf5551291c0
    Reviewed-on: https://gerrit.openafs.org/14988
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fb767628e7249630b12f709a2af526be0dd133b9
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Dec 22 00:43:07 2019 -0600

    FBSD: Use GENERIC kernel headers by default
    
    Currently, if --with-bsd-kernel-build is not specified during
    configure, we do not set KERNBUILDDIR during the libafs build at all.
    This means that we do not use an opt_global.h during the build.
    
    For the GENERIC kernel, in the past this has worked well enough to
    produce a working kernel module, but with FreeBSD 12, the GENERIC
    kernel turns on the VIMAGE option by default. If our kernel module is
    built without VIMAGE defined, our kernel module cannot be loaded into
    GENERIC, since VIMAGE changes the definitions of some symbols that we
    use (for example, trying to load such a libafs fails with the message
    "link_elf_obj: symbol in_ifaddrhead undefined").
    
    To allow the build to work by default for GENERIC kernels, without
    needing any additional configure flags, change the libafs Makefile to
    use the headers for the GENERIC kernel if no kernel build dir is
    given. To do this, we create a directory in our build tree and
    generate the opt_*.h headers in there (using config(8)), and specify
    that directory as the kernel build dir.
    
    This approach only works for GENERIC kernels, of course, but that is
    the most common scenario. Users that want to build for a custom kernel
    configuration still need to specify the actual kernel build dir with
    --with-bsd-kernel-build.
    
    Reviewed-on: https://gerrit.openafs.org/14001
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a9c1939eeb36372872f3258a9ae7259a564332c3)
    
    Change-Id: I456871c2b55cd3fc1eef7bf68011a725e253b902
    Reviewed-on: https://gerrit.openafs.org/14921
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 84324f434d298736e93948ef7cabf3df0d106131
Author: Andrew Deason <adeason@dson.org>
Date:   Wed Jan 1 17:09:24 2020 -0600

    FBSD: Avoid recursive osi_VM_StoreAllSegments lock
    
    Currently, osi_VM_StoreAllSegments calls vget() for the given vnode,
    which requires locking the vnode. However, the vnode should already be
    locked. For example, when called from the close syscall, we reach this
    function via: vn_close1 -> afs_vop_close -> afs_close ->
    afs_StoreOnLastReference -> afs_StoreAllSegments ->
    osi_VM_StoreAllSegments. This causes a panic like so:
    
        kernel: panic: lockmgr_xlock_hard: recursing on non recursive lockmgr 0x[...] @ /usr/src/sys/kern/vfs_subr.c:2730
    
    We can also reach this code path from the BOP_STORE background
    operation (BStore -> afs_StoreOnLastReference -> afs_StoreAllSegments
    -> osi_VM_StoreAllSegments), initiated from afs_close(), which has the
    vnode locked. In this case, we won't be recursively locking the vnode,
    since the process calling afs_close() is the one that holds the lock,
    and the background thread is the process trying to lock the vnode
    again. So we'll just deadlock.
    
    From the comments in this function, it seems like locking the vnode at
    all in here is unnecessary, since the vnode should be locked from the
    higher-level functions anyway. So just skip the vget and all of the
    related looping retry logic. As a result, this function can now become
    somewhat simplified.
    
    Reviewed-on: https://gerrit.openafs.org/14000
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bdd4a0c78b1acaf1c947ca53d16159ef95cc9840)
    
    Change-Id: I9f279cef6aef9beff6636edc0cd7cfa5f3d36cfa
    Reviewed-on: https://gerrit.openafs.org/14920
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 873dfea8bfdafbbeb9ca965680f3cf793ce14628
Author: Mans Nilsson <mansaxel@besserwisser.org>
Date:   Thu Dec 16 21:36:22 2021 +0100

    Add sysname, files and header entries for FreeBSD 12.3
    
    Created a new sysname "amd64_fbsd_123" in src/config/afs_sysnames.h
    and added "param" files with minimal changes:
    
            modified:   src/config/afs_sysnames.h
            new file:   src/config/param.amd64_fbsd_123.h
            new file:   src/config/param.i386_fbsd_123.h
    
    This mod builds on 12.3 with all tests passing.
    
    Reviewed-on: https://gerrit.openafs.org/14860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7a6192276b3779205fa8bc8c141eda41cf28e37e)
    
    Change-Id: Id66f9fe5663b33671ba1b9e68b8715a5eacd5da2
    Reviewed-on: https://gerrit.openafs.org/14878
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0453c15b2a2cbef3afacb87a2c5622fc0c539f3e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 4 10:34:07 2020 -0400

    tests: Accommodate c-tap-harness 4.7
    
    The SOURCE and BUILD environment variables have been changed to
    C_TAP_SOURCE and C_TAP_BUILD in the new version of c-tap-harness.  The
    runtests command syntax has changed as well.
    
    Convert all of the old SOURCE and BUILD environment variables to the new
    C_TAP_SOURCE and C_TAP_BUILD names.
    
    Add the required -l command line option to specify the test list.
    
    Add the new runtests -v option to run the tests in verbose mode to make
    it easier to see which tests failed.
    
    Reviewed-on: https://gerrit.openafs.org/14295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 624219a1b2192e5c7b6b45e2cbe784a9c5f33a96)
    
    Change-Id: I3a1ed224a6271918711bdd520094df348d7f8cae
    Reviewed-on: https://gerrit.openafs.org/14880
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    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 613c71829866efd922759647064e5a2944d5a968
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Aug 3 20:59:25 2020 -0400

    Import of code from c-tap-harness
    
    This commit updates the code imported from c-tap-harness to
    abdb66561ffd4d2f238fdb06f448ccf09d80c059 (release/4.7)
    
    Upstream changes are:
    
    Daniel Collins (1):
          Add is_blob() test function.
    
    Daniel Kahn Gillmor (1):
          LICENSE: use https for all URLs
    
    Daria Brashear (1):
          Add verbose mode environment variable to runtests
    
    Julien ÉLIE (2):
          Document -v in usage and comments of runtests
          Avoid realloc of zero length in tests/runtests.c
    
    Marc Dionne (1):
          Add test_cleanup_register_with_data
    
    Russ Allbery (115):
          clang --analyze cleanups for runtests
          Modernize POD tests
          Update README to my current layout
          Explicitly note that test programs must be executable
          Fix comment typo in tests/runtests.c
          Switch to a copyright-format 1.0 LICENSE file
          Flush harness output after each line
          Show the test count as ? when the plan is deferred
          More correctly backspace over test counts when aborting
          Refactor test list handling
          Allow passing tests on the runtests command line
          Don't allow command-line arguments if a list was given
          Search for tests under the name given as well
          Release 2.0
          Fix backward incompatibility when searching for tests
          Document decision to ignore TAP version directives
          Release 2.1
          Document different runtests behavior in bail handling
          Change exit status of bail to 255
          Release 2.2
          Add a new test_cleanup_register C API
          Add warn_unused_result attributes
          Add portability for warn_unsed_result attributes to tap/macros.h
          Minor coding style fix (spacing) in runtests.c
          Split the runtests usage string for ISO C90 string limits
          Include stddef.h
          Diagnose failure to register the exit handler
          Use diag internally in the basic C TAP library
          Some additional comments about cleanup functions
          Move repetitive printing code in the C TAP library to a macro
          Set a flag when bailing for more correct cleanup
          Change my email address to eagle@eyrie.org
          Release 2.3
          Add diag_file_add and diag_file_remove functions
          Don't die for unknown files passed to diag_file_remove
          Release 2.4
          Update comment about AIX and WCOREDUMP
          Don't test for NULL before calling free
          Be more careful about file descriptors in child processes
          Run cleanup functions in non-primary processes as well
          Release 3.0
          Update collective package copyright notices at start of LICENSE
          Check integer overflows on memory allocation, fix string creation
          Switch POD spelling test to use Lancaster consensus variable
          Add new bnrealloc API for brealloc with checked multiplication
          Rename nrealloc to reallocarray
          Return the test status from test functions
          Fix the overflow check for breallocarray
          Fix the overflow check for xreallocarray in runtests
          Restructure test result reallocation in runtests
          Change diag and sysdiag to always return true
          Release 3.1
          Fix typos in basic.c and basic.h
          Fix usage message when running runtests with no arguments
          Update introductory runtests comments for current syntax
          Add the -l flag to suggested runtests invocation in README
          Support comments and blank lines in test lists
          Release 3.2
          Update licensing information
          Various improvements to verbose support
          Compile warning-free with Clang, check Autoconf macros
          Release 3.3
          Remove unnecessary assert.h include in tap/basic.c
          Fix some additional -v documentation issues
          Rebalance usage to avoid too-long strings
          Fix segfault in runtests with empty test list
          Release 3.4
          Document running autogen if starting from Git
          Rename autogen to bootstrap
          Support and prefer C_TAP_SOURCE and C_TAP_BUILD
          Fix comment typo in tests/runtests.c
          Add missing va_end to is_double
          Release 4.0
          Fix all non-https www.eyrie.org URLs
          Add is_bool C test function
          Add DocKnot metadata and a Markdown README file
          Update documentation for new DocKnot standards
          Release 4.1
          Use more defaults from DocKnot templates
          Fix new fall-through warning in GCC 7
          Use compiler warnings from rra-c-util, fix issues
          Merge pull request #4 from solemnwarning/master
          Coding style fixes and NEWS for is_blob
          Re-enable -Wunknown-pragmas for GCC
          Avoid zero-length realloc allocations in breallocarray
          Update copyright date on tests/runtests.c
          Release 4.2
          Add SPDX-License-Identifier headers to source files
          Add and run new check-cppcheck target
          Fix instructions for running one test
          Identify values as left and right
          Fix is_string comparisons with NULL pointers
          Add support for running tests under valgrind
          Replace putc with fprintf
          Update shared files from rra-c-util
          Release 4.3
          Update NEWS date for 4.3 release
          Collapse some copyright dates
          NEWS and coding style for test_cleanup_register_with_data
          Remove unused variables caught by Clang scan-build
          Update to rra-c-util 8.0
          Fix error checking in bstrndup
          Release 4.4
          Add support for C++
          Document that C TAP Harness can be built as C++
          Release 4.5
          Regenerate README files
          Reformat using clang-format 10
          Update to rra-c-util 8.1
          Release 4.6
          Fix spelling errors caught by codespell
          Protect the test suite against C_TAP_VERBOSE
          Switch to GitHub Actions for CI
          Add NEWS entry for GCC 10 warning fixes
          Release 4.7
    
    Reviewed-on: https://gerrit.openafs.org/14294
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3f377aa117273eba5c77ad652c0b086446b3f874)
    
    Change-Id: I7b72d9ebd34d3bb5a05268339e136bb1b4309b92
    Reviewed-on: https://gerrit.openafs.org/14879
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dea63972a3bbb889fb978e75540825d8e6786590
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Mar 5 22:20:35 2021 -0600

    dir: Explicitly 'make all' in src/dir/test
    
    Currently, we 'cd test' and then just run 'make', which makes the
    first target specified in the Makefile. On some platforms (FreeBSD),
    this results in 'make' trying to build '%.c', which of course we
    cannot do, since that's a pattern rule, and so 'make' fails.
    
    To fix this, just 'make all' explicitly, to make the intended targets
    in src/dir/test.
    
    Reviewed-on: https://gerrit.openafs.org/14550
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit c0b7367253eb6c346d577e099a0b0172d4d24ff3)
    
    Change-Id: I3c1cc73d88471a31ce2d95325c8dafe797d1c43d
    Reviewed-on: https://gerrit.openafs.org/14911
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2d4f2625fce8fdc3491148c51404197de5c4ffc4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Mar 5 23:11:38 2019 -0500

    dir: make dtest buildable again
    
    Commit 7fe4125fe3435092b75ed29b884d8d3c2d1a2cad 'dir/vol: Die() really
    does' overlooked src/dir/test/dtest.c, breaking its build.
    
    Fix the signature of Die() and the makefile so dtest can be built.
    In addition, change the Makefile so it is always built.
    
    Reviewed-on: https://gerrit.openafs.org/13794
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 192a2ff49af5dbbb4f8175eec7cb63bfe97e444e)
    
    Change-Id: I92df1068c0c071ac643bd8c43eb7e63efdf4f09b
    Reviewed-on: https://gerrit.openafs.org/14910
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a083a277a7f2407c2378b634c37a6fb13770baf1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 27 09:32:35 2018 -0500

    build: declare test targets as phony
    
    Modern versions `make` will not build the 'test' target since a
    directory exists with the same name.
    
        $ grep -C1 '^test:' Makefile
        test:
            cd test; $(MAKE)
    
        $ make test
        make: 'test' is up to date.
    
    Declare these targets as .PHONY to force make to build the test programs
    even when the 'test' directory is present. Also use '&&' to concatenate
    commands instead ';' to avoid running the second command when the first
    fails.
    
    Reviewed-on: https://gerrit.openafs.org/13419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0bd55a02bb5707b1b8b26347d5cb6ad71765f622)
    
    Change-Id: I4bc8c09720a19658afbab733ea74332083bb29f4
    Reviewed-on: https://gerrit.openafs.org/14909
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 97449810aca0448c50e1afa162a24b1cad99a62b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 16 11:11:35 2021 -0500

    rx: Remove delays in multi_End_Ignore
    
    When using our multi_Rx mechanism, callers can use either multi_End or
    multi_End_Ignore at the end of the multi_Rx block. Among other things,
    these macros run 'rx_EndCall(call, code)' for each call in the
    multi_Rx invocation that hasn't already ended. For multi_End, 'code'
    is RX_USER_ABORT, and for multi_End_Ignore, 'code' is 0; the macros
    are otherwise equivalent.
    
    When multi_End is used, this means any un-ended calls are aborted with
    RX_USER_ABORT, and the call immediately ends. But when
    multi_End_Ignore is used, the call is not aborted, and so we must wait
    for the peer to acknowledge that it has received our packets before
    ending (done via an rxi_ReadProc call in rx_EndCall).
    
    This means that if a caller multi_Abort's out of a multi call and uses
    multi_End_Ignore, we'll wait for the peer to acknowledge our packets
    for all of the calls we haven't processed. Waiting for that is a
    complete waste of time, since we don't care about the results of those
    calls (since we multi_Abort'd). This doesn't matter much if those
    calls are responded to promptly, but if the peer is not up or is just
    slow, it can cause us to wait several seconds until we timeout.
    
    There are currently only three users of multi_End_Ignore:
    
    - DoProbe in src/ubik/recovery.c
    
    - MultiBreakCallBackAlternateAddress_r in src/viced/callback.c
    
    - MultiProbeAlternateAddress_r in src/viced/callback.c
    
    All of these use multi_Rx to try and probe multiple IPs for the same
    machine in parallel, and so some of the calls may very well be trying
    to contact unreachable IPs; we only need one to work for the call to
    succeed.
    
    To avoid the unnecessary delays in these codepaths, convert them to
    use multi_End. Change multi_End_Ignore to be the same as multi_End,
    and multi_Finalize_Ignore to the same as multi_Finalize, to make sure
    the bad behavior is not used. The _Ignore macros/functions are now
    unused in the tree, but keep them around for now since
    multi_Finalize_Ignore is exported by libafsrpc.
    
    Thanks to mbarbosa@sinenomine.net for discovering this weird behavior.
    
    Reviewed-on: https://gerrit.openafs.org/14595
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 002b031d01e3c0f2ad3e1069b98800c3a7228bd5)
    
    Change-Id: Ic49c0810bdc9643600a5c060bef4a669798afaf3
    Reviewed-on: https://gerrit.openafs.org/14815
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7658c64177af38081d61abae63203c8c98b9c95e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 4 16:18:57 2019 -0400

    fs: Avoid unnecessary cell DNS lookups
    
    Currently, many routines in 'fs' cause afsconf_GetCellInfo to be
    called for the given cell, which causes an AFSDB/SRV lookup for the
    given cell if the cell has no dbservers specified in the local
    CellServDB. Sites often define such CellServDB records to indicate
    that the given cell exists, but the dbserver IPs should only be looked
    up via DNS.
    
    However, 'fs' is only calling afsconf_GetCellInfo in order to
    canonicalize the cell name (we're allowed to give an abbreviated name
    for a cell on the command line if the abbreviation is unambiguous, but
    we want to give the full name to the kernel). We don't care about the
    other cell info at all, so triggering a DNS lookup is completely
    unnecessary.
    
    If our DNS server is not responding, e.g. because we've lost network
    access entirely, this causes the relevant 'fs' commands to fail,
    possibly after a long delay. Some fs commands such as 'fs setcell' are
    often run during client startup, and can still otherwise run fine
    without network access, and so such failures are unnecessary.
    
    To fix this, we introduce a new function, called afsconf_GetCellName,
    which only returns the full name for a cell, and does not require a
    DNS lookup for such "empty" cells in the local CellServDB. For all
    code paths in 'fs' that just need the cell name (which is all of them
    besides 'fs mkmount'), use this new function.
    
    Reviewed-on: https://gerrit.openafs.org/13540
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4a150387e3151ecdfca8b4f7c732a1e876968279)
    
    Change-Id: Ia81eb1e067fe399949d3ea8ae1957e87f6698753
    Reviewed-on: https://gerrit.openafs.org/14814
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 73ebdb11ef16d4f7ead62ce1265c0f59d1a97452
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jan 29 01:00:56 2016 -0500

    afs: clarify cold and warm shutdown logic
    
    Currently, any code that wants to perform a cold shutdown must first set
    global afs_cold_shutdown = 1, then call afs_shutdown(void).
    
    Instead, modify afs_shutdown() to accept a single parm which specifies
    AFS_WARM or AFS_COLD shutdown, and to set the value of global
    afs_cold_shutdown based on this parm.  Remove all other assignments for
    afs_cold_shutdown.  Modify all callers of afs_shutdown() to specify
    AFS_WARM or AFS_COLD as needed to maintain equivalent function.
    
    This should make it much easier to tell at a glance what type of
    shutdown is being requested by each caller to afs_shutdown().
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12182
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a2e03e74c4959f72c90288ec85a40c037c9c6243)
    
    Change-Id: I9271c1161f419ea02b9fe43ec46219dce19c9d50
    Reviewed-on: https://gerrit.openafs.org/14813
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0ef2427d12bb3c07a6dd66ac07bbfe958871e8d4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Oct 18 13:43:36 2019 -0400

    warn when starting without keys
    
    The server processes will happily start without keys and then fail all
    authenticated access, including database synchronization and local
    commands with -localauth.  At least issue warnings to let admins know
    the keys are missing and that akeyconvert or asetkey needs to be run.
    
    The situation is not helped by fact the filenames of the key files have
    changed between versions. In 1.6.x the (non-DES) keys were in the
    rxkad.keytab file and in later versions they are in the KeyFile* files,
    so if you are used to 1.6.x it is not obvious what is wrong.
    
    Reviewed-on: https://gerrit.openafs.org/13911
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 042f809ccfe12bafed73aa4eb4db2c86737e0b22)
    
    Change-Id: I280d3c83b4576684f2035f79d94966bc5a174681
    Reviewed-on: https://gerrit.openafs.org/14594
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 07c43cb949010b32bec9c7e7769e6b7b40c871ee
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jun 2 13:45:27 2022 -0600

    autoconf: Remove/update obsolete autoconf macros
    
    Autoconf 2.70 (released in 2020-12) produces warning messages about
    obsolete constructs by default.
    
    Running regen.sh with autoconf 2.70 installed produces the following
    warnings:
    
    ..
     configure.ac:7: warning: The macro `AC_CONFIG_HEADER' is obsolete.
     configure.ac:21: warning: AC_PROG_LEX without either yywrap or noyywrap
       is obsolete
     configure.ac:21: warning: The macro `AC_HEADER_STDC' is obsolete.
     configure.ac:21: warning: The macro `AC_HEADER_TIME' is obsolete.
    ..
    
    Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS
    
    Add the noyywrap parameter to AC_PROG_LEX.  Use the noyywrap option
    since we already provide a yywrap function in the .l sources.
    
    Remove AC_HEADER_STDC.  There are no references to the the autoconf
    variable set by this macro.  This macro was marked as obsolete prior to
    autoconf 2.64 with the following note:
     "This macro is obsolescent, as current systems have conforming header
     files. New programs need not use this macro."
    
    AC_HEADER_TIME was marked as obsolete prior to autoconf 2.64 with the
    following note:
     "This macro is obsolescent, as current systems can include both files
      when they exist. New programs need not use this macro."
    
    The only reference that requires AC_HEADER_TIME is within the external
    roken code pulled from heimdal. Compiles that use the external upstream
    heimdal packages result in a build error if TIME_WITH_SYS_TIME is not
    defined:
      building src/crypto/hcrypto
        src/external/heimdal/hcrypto/camellia.c
          include/roken.h:803:58: error: ‘struct tm’ declared inside
    
    Update autoheader.m4 so a define for TIME_WITH_SYS_TIME is created. This
    avoids modifying the external heimdal/roken code.
    
    Reviewed-on: https://gerrit.openafs.org/14838
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2a659ba160fbdc87a5fb4f330ffda82c1534929d)
    
    [cwills@sinenomine.net resolved conflict with MACOS_VERSION numbers]
    
    Change-Id: I1f5ed4ac66bd5bc35ef79e784e784ae2847321a2
    Reviewed-on: https://gerrit.openafs.org/14965
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ec106b0768dc2ce54c48bf5d9799a966ba29a0a9
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Wed Sep 19 15:51:00 2018 -0500

    configure.ac: Add missing double include guard
    
    This is primarily a sanity check (identified by clang-tidy).
    
    Reviewed-on: https://gerrit.openafs.org/13333
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ec45ae60536190c2f5fbf272a9acfe0a85824e24)
    
    Change-Id: I6cf42d3645fa2669971a3adcd320397afb4cf2bd
    Reviewed-on: https://gerrit.openafs.org/14964
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f8a2aceb05914908b6a9d3e03c75e3a0c5e1a55c
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Dec 22 11:06:42 2020 -0700

    afs: Cleanup afsincludes.h indentation
    
    Clean up the indentation of preprocessor statements
    
    Remove commented out code.
    
    Reviewed-on: https://gerrit.openafs.org/14471
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 031ebf43a8d4db79ee1aa9aff571094354c548b1)
    
    Change-Id: I04c86b8ac8735ec50bf955bb418bb81ee5105afd
    Reviewed-on: https://gerrit.openafs.org/14931
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a03627a64789b6c5fb44def81d4d39df3587d9d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Dec 22 11:03:33 2020 -0700

    afs: Clean up VNOPS/afs_vnops_attrs.c indentation
    
    Clean up the indentation of preprocessor statements, add #endif comments
    where helpful.
    
    Clean up whitespace in code indentation.
    
    Reviewed-on: https://gerrit.openafs.org/14470
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 873a5d9e8835b969370f1f031acef60745a0fff8)
    
    Change-Id: Ia3c41652e99c44164dec852b0f8ab2f103e8e3c1
    Reviewed-on: https://gerrit.openafs.org/14930
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f92508b5f7cbf9562f841d226cc9cd9f345c020b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Dec 23 13:25:31 2020 -0700

    afs: Clean up afs_init.c indentation
    
    Clean up the indentation of preprocessor statements, add #endif comments
    where helpful.
    
    Clean up whitespace in code indentation.
    
    Reviewed-on: https://gerrit.openafs.org/14469
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d7469128ceefbd96b61f32f62fd1e11c3674dac8)
    
    Change-Id: Iccf5587e02b3caf0ec6725dc554255366b879d9e
    Reviewed-on: https://gerrit.openafs.org/14929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 97dd85ba97799fe97d424bbdbad9ced6e582ebaa
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun May 10 22:13:13 2020 -0400

    DARWIN: remove vestigial etap_event_t typedefs
    
    These typedefs have been present since commit
    a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b
    "initial-darwin-support-20010327"; at least some of this material was
    obtained directly from IBM after the initial code import.
    
    Based on research of old Darwin source code and kernel documentation,
    the Event Trace Analysis Package (ETAP) was a lock-profiling interface
    provided in older versions of Mach and xnu.  ETAP was not enabled by
    default; the kernel had to be recompiled with certain options to enable
    it.  Support for ETAP was removed from the xnu tree sometime between
    xnu-517 (10.3 Panther) and xnu-792 (10.4 Tiger), although some
    references remain in the latter under PPC support (osfmk/ppc/hw_lock.s).
    All remaining references to etap_event_t disappeared when PPC support
    was removed, some time between xnu-1456.1.26 (10.6 Snow Leopard) and
    xnu-1699.24.8 (10.7.2 Lion).
    
    Therefore, it is possible that these typedefs were needed in the past by
    (IBM/Transarc) AFS to support use of some lock APIs (e.g.,
    simple_lock_init, usimple_lock_init) after the ETAP code was withdrawn
    from xnu.  However, these typedefs have probably always been vestigial
    for OpenAFS, because OpenAFS has never used any lock API that took
    etap_event_t as an argument.
    
    Regardless, OpenAFS does not need these definitions to build and run on
    any currently supported version of macOS.
    
    Remove the vestigial code.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14219
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 145c90bdbeeff4ea95acacd7dc110f0c6fcba281)
    
    Change-Id: I96cdfe756cb8917079a7cc46d6186e69337caf0d
    Reviewed-on: https://gerrit.openafs.org/14928
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8db804eb1ec3f6a4b41dafff31f4805688a3da60
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 18 16:21:10 2019 -0500

    afs: Handle osi_NewVnode failures
    
    Currently, code inside afs_vcache.c assumes that osi_NewVnode always
    returns non-NULL, which means that osi_NewVnode must panic if it
    cannot create a new vnode.
    
    All of the callers of afs_GetVCache, afs_NewVCache, etc, already
    handle getting a NULL return, though (after all, the given fid may not
    exist or be inaccessible due to network errors, etc). So, just
    propagate NULL returns from osi_NewVnode up to our callers, to avoid
    panics in these situations.
    
    Modify osi_NewVnode on many arches to return an error on allocation
    failure, instead of panic'ing.
    
    Reviewed-on: https://gerrit.openafs.org/13701
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit ea9e5e8519dc486cfb019447ee5d695de104079d)
    
    Change-Id: I2a3c5aac44a57093caee4008b86420ed05c66eb7
    Reviewed-on: https://gerrit.openafs.org/14927
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dfc2626e2aac0904c954915ed1d474030414cb78
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Oct 5 10:39:23 2018 -0400

    rx: remove rx_atomic bitops
    
    The rx_atomic bitops were introduced with commit
    1839cdbe268f4b19ac8e81ae78548f5c78e0c641 ("rx: atomic bit ops").
    
    The last (only) reference to them was recently removed with commit
    5ced6025b9f11fadbdf2e092bf40cc87499ed277 ("rx: Convert rxinit_status to
    rx_IsRunning()").
    
    Remove the now unreferenced bitops.  This commit is comprised of partial
    or complete reverts of the following commits:
    
    ae4ad509d35 rx: fix rx_atomic warnings under Solaris (partial)
    c16423ec4e6 rx: fix atomics on darwin (partial)
    9dc6dd9858a rx: Fix AIX test_and_set_bit (complete)
    1839cdbe268 rx: atomic bit ops (complete)
    
    Note: The rx_atomic bitops for Linux systems are known to be broken due
    to incorrect casting of rx_atomic_t into the unsigned long operand
    expected by the native Linux bitops.  The failure modes include silent
    overruns on little-endian and incorrect results on big-endian.  Do not
    merely revert this commit in order to bring these bitops back into the
    tree.
    
    Reviewed-on: https://gerrit.openafs.org/13390
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d0dbd0f12119f0e874ba30adec81061ac6ae27c7)
    
    Change-Id: I214ec09c07fb35a4d1dbf9719ec3861bde931638
    Reviewed-on: https://gerrit.openafs.org/14926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a1c3d3eeab02eb1919bb96c653c4e2aec9e3fdb9
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sun Oct 10 19:49:56 2021 +0200

    Make OpenAFS 1.8.8.1
    
    Update configure version strings for 1.8.8.1. Note that macos kext
    can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha,
    b beta, f final candidate so we have no way to represent 1.8.8.1.
    Switch to 1.8.9 dev 1 for macOS.
    
    Change-Id: I329a48142a6baaedd190d07a1215ba93b0ecce42
    Reviewed-on: https://gerrit.openafs.org/14828
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ef16f671c999a371e50c79bb4e63a05f45f3c86d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Dec 8 19:18:41 2021 +0100

    Update NEWS for 1.8.8.1
    
    Release notes for the 1.8.8.1 point release
    
    Change-Id: I5c1912439464f64a298739f9ba3e55397e86d29a
    Reviewed-on: https://gerrit.openafs.org/14852
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b927414ffc8a14015e663a24245287b093ee77a8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Nov 16 10:55:30 2021 -0700

    LINUX-5.16: Use linux/stdarg.h if available
    
    Global use of the compiler option '-isystem' was removed from the top
    level Makefile with Linux commit ('isystem: delete global -isystem
    compile option' 04e85bbf7). This results with an error due to not
    finding "stdarg.h" when building the openafs kernel module.
    
     .../src/rx/rx_kcommon.h:143:12: fatal error: stdarg.h: No such file or
                                     directory
       143 | #  include "stdarg.h"
           |            ^~~~~~~~~~
    
    Linux-5.15, introduced a copy of stdarg.h as 'linux/stdarg.h' in commit
    ('isystem: ship and use stdarg.h' c0891ac15)
    
    Add a test for the linux/stdarg.h include file and if available, use
    "linux/stdarg.h" instead of "stdarg.h" within the Linux kernel module.
    
    Reviewed-on: https://gerrit.openafs.org/14844
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3daa6e97330d23ae46c4389e4041c61c1a1d76d9)
    
    Change-Id: I6347d09b3ffc73e3524c83830e2f2bbd2958121f
    Reviewed-on: https://gerrit.openafs.org/14851
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 1935c63a776620eb7d2173a11cac039223115a19
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Nov 12 14:42:57 2021 -0700

    Linux 5.15: Convert osi_Msg macro to a function
    
    With Linux 5.15-prerc1 printk is defined as a macro instead of a
    function ("printk: Userspace format indexing support" 33701557)
    
    This change is causing a build failure:
    
     .../src/rx/rx_kernel.h:62:18: error: ‘printk’ undeclared (first use in
       this function); did you mean ‘_printk’?
       62 | # define osi_Msg printk)(
          |                  ^~~~~~
    
    The definition and use of the osi_Msg and osi_VMsg macros are
    unconventional and the C preprocessor is not handling the macro
    expansion when printk is itself a macro.
    
       #define osi_Msg printk)(
       ...
       (osi_Msg "%s", x);
    
    Change osi_Msg to a function, and simply replace osi_VMsg with vprintf
    since osi_VMsg is only used at one location within user space code.
    
    osi_Msg is implemented in 2 locations, in rx_kcommon for kernel space
    and in rx_user for userspace.
    
    Note: The unconventional definitions of osi_Msg/osi_VMsg was historical
    and due to older compilers not supporting variadic macros.  All of
    the currently support platforms should now support variadic functions.
    
    Reviewed-on: https://gerrit.openafs.org/14791
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 22876c8b88f8e5e92f08b230e5e1959499f0c406)
    
    Change-Id: I48a67b2fe79b45403414bb7d962c29c9be07262e
    Reviewed-on: https://gerrit.openafs.org/14831
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 2b326cd96d6ee5140a6ca7e408d1056137edfef9
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Sep 16 01:37:33 2019 -0400

    SOLARIS: add autoconfig support for Studio 12.6
    
    Add the canonical install path for Studio 12.6 to the autoconfig test.
    
    Reviewed-on: https://gerrit.openafs.org/13867
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fe6798d0d9e4df006ef96612b5c6e07fcc757b7e)
    
    Change-Id: Iad5a43eb22c8a76af6ce7e73d77de913d3c2d8e0
    Reviewed-on: https://gerrit.openafs.org/14841
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3f33dc825ca9bf475547800d6ab0f72d75e98fb1
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Oct 7 11:15:58 2021 -0600

    LINUX 5.14: explicitly set set_page_dirty to default
    
    Linux 5.14 commit: 'mm: require ->set_page_dirty to be explicitly wired
    up' (0af573780b0b13) removed calling __set_page_dirty_buffers when the
    address_space_operations structure member set_page_dirty was NULL.
    
    A kernel RIP error can occur when the set_page_dirty operation is
    requested. (Reproducible by running 'iozone -B -a')
    
    Update the definition for afs_file_aops to explicitly set the
    'set_page_dirty' member to '__set_page_dirty_buffers'.
    
    There are no functional changes, since this commit is using the same
    function that the Linux kernel was using if set_page_dirty had been
    NULL.
    
    Problem originally reported by "Andrej Filipcic"
    <andrej.filipcic@ijs.si> in the openafs-info mailing list.  The Linux
    5.14 commit causing the openafs failure was identified by "Michael Laß"
    <lass@mail.upb.de> also on in the openafs-info mailing list.
    
    Note: The declaration for the function '__set_page_dirty_buffers' was
    moved from linux/mm.h into linux/buffer_head.h in Linux 2.6.19.  Since
    this is close to the minimum supported Linux version 2.6.18, we are not
    introducing an additional autoconf test to determine which header file
    the declaration for __set_page_dirty_buffers resides in.
    
    Reviewed-on: https://gerrit.openafs.org/14826
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
    Tested-by: Ralf Brunckhorst <rbrunckhorst@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ba485a13e965909b63b25103fdf810de381e4977)
    
    Change-Id: Iae61573e5ccf9458646eba4403322536fd86f2bf
    Reviewed-on: https://gerrit.openafs.org/14830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 284850b2f7ce2ca6ebdcb8918acd3ca02ae2c98b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 2 13:11:49 2020 -0600

    rx: Reorganize LWP rxi_Sendmsg to use 'goto error'
    
    Our LWP version of rxi_Sendmsg can allocate an fd_set, but we don't
    free the fd_set if sendmsg() returns certain errors afterwards.
    
    To make sure we go through the same cleanup code for the different
    possible error code paths, reorganize the function to go through a
    'goto error'-style destructor. This also makes our return codes a bit
    more consistent; we should always return -errno now for errors.
    
    Reviewed-on: https://gerrit.openafs.org/14422
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7239565b0fea8504deebc5bd43c4fa1ea80fcb17)
    
    Change-Id: I7291ea5f339f26c5c1a64b65893e2cb33ebfe623
    Reviewed-on: https://gerrit.openafs.org/14825
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 40e322e73b3abb6ecde322da80afc75a5c941b8c
Author: Andrew Deason <adeason@dson.org>
Date:   Sat Apr 25 17:20:54 2020 -0500

    rx: Indent ifdef maze in rx_kernel.h
    
    Change-Id: I3a10206234496b9de6f7ddeafebdee8ab10e5546
    Reviewed-on: https://gerrit.openafs.org/14161
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 70f3ac5d04a02470366a980224fdf8fadb31b463)
    Reviewed-on: https://gerrit.openafs.org/14811
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7dba3a2059cba3a85f120843ec8dba196df6f160
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 25 09:22:16 2020 -0700

    FBSD: avoid vrefl()
    
    Commit 20dc2832268eb (correctly) introduced changes so that we
    avoid interacting with vnodes marked as VI_DOOMED to the extent
    possible, but in doing so inadvertendly used the vrefl() KPI that
    was only introduced in FreeBSD 11.0.
    
    Rewrite the relevant logic to use the older vref() KPI, at the cost
    of a few more unlock/locks, in order to have a single codepath that
    works on all supported FreeBSD versions.
    
    Reviewed-on: https://gerrit.openafs.org/14373
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 81ea654494f5c90f67eb54adbb722a95e0d11d82)
    
    Change-Id: Ia48380bb7498fcf5d0b6b68fe153d4459612a3b6
    Reviewed-on: https://gerrit.openafs.org/14795
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 66fee093ad98d9b0025b24110e13533fb5c14357
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Nov 24 22:36:17 2019 -0600

    FBSD: Ignore VI_DOOMED vnodes
    
    Currently on FreeBSD, osi_TryEvictVCache calls vgone() for our vnode
    after checking if the given vcache is in use. vgone() then calls our
    VOP_RECLAIM operation, which calls afs_vop_reclaim, which calls
    afs_FlushVCache to finally actually flush the vcache.
    
    The current approach has at least the following major issues:
    
    - In afs_vop_reclaim, we return success even if afs_FlushVCache()
      fails. This allows FreeBSD to reuse the vnode for another file, but
      the vnode is still being referenced by our vcache, which is
      referenced by the global VLRU and various other structures. This
      causes all kinds of weird errors, since we try to use the underlying
      vnode for different files.
    
    - After the relevant checks in osi_TryEvictVCache are done, another
      thread can acquire a new reference to our vcache (this can happen
      while vgone() is running up until the vnode is locked). This new
      reference will cause afs_FlushVCache to fail.
    
    - Our afs_vop_reclaim callback is called while the vnode is locked,
      and can acquire afs_xvcache. Other code locks the vnode while
      afs_xvcache is already held (such as afs_PutVCache -> vrele). This
      can lead to deadlocks if two threads try to run these codepaths for
      the same vnode at the same time.
    
    - afs_vop_reclaim optionally acquires afs_xvcache based on the return
      value of CheckLock(&afs_xvcache). However, CheckLock just returns if
      that lock is locked by anyone, not if the current thread holds the
      lock. This can result in the rest of the function running without
      afs_xvcache actually being held if we drop AFS_GLOCK at any point.
    
    - osi_TryEvictVCache() tries to vn_lock() the target vnode, but we may
      already have another vnode locked in the current thread. If the
      vnode we're trying to evict is a descendant of a vnode we already
      have locked, this can deadlock.
    
    To fix these issues, make some changes to how our vcache management
    works on FreeBSD:
    
    - Do not allow anyone to hold a new reference on a VI_DOOMED vnode.
      We do this by checking for VI_DOOMED in osi_vnhold, and returning an
      error if VI_DOOMED is set.
    
    - In afs_vop_reclaim, panic if afs_FlushVCache fails. With the new
      VI_DOOMED check, afs_FlushVCache show now never fail; and if it
      somehow does, panic'ing immediately is better than corrupting
      various structures and panic'ing later on.
    
    - Move around some of the relevant locking in afs_vop_reclaim to fix
      the lock-related issues.
    
    - In osi_TryEvictVCache, don't wait for the vnode lock (LK_NOWAIT);
      treat the vnode as "in use" if we can't immediately obtain the lock.
    
    Thanks to tcreech@tcreech.com and kaduk@mit.edu for insight and help
    investigating the relevant issues.
    
    FIXES 135041
    
    Reviewed-on: https://gerrit.openafs.org/13972
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 20dc2832268eb81d40e798da0d424c98cf26062c)
    
    Change-Id: I91e464ce2fa90d7baf593c0b813f52f1fc45b481
    Reviewed-on: https://gerrit.openafs.org/14794
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 33b672918f1c282c4d74934e132e41357c9a4fdd
Author: Andrew Deason <adeason@dson.org>
Date:   Mon Nov 18 23:17:12 2019 -0600

    afs: Refactor osi_vnhold/AFS_FAST_HOLD
    
    Make a few changes to osi_vnhold and AFS_FAST_HOLD:
    
    - Currently, the second argument of osi_vnhold ("retry") is never used
      by any implementation. Get rid of it.
    
    - AFS_FAST_HOLD() is the same as osi_vnhold(). Get rid of
      AFS_FAST_HOLD, and just have all callers use osi_vnhold instead.
    
    - Allow osi_vnhold to return an error, and adjust callers to handle
      it.
    
    - Change osi_vnhold to be a real function, instead of a macro, to make
      nontrivial implementations less cumbersome.
    
    Most platforms never return an error from osi_vnhold(), so the added
    code paths to check the return value of osi_vnhold() will not trigger.
    However, this lets us add future commits that do make osi_vnhold()
    return an error.
    
    Reviewed-on: https://gerrit.openafs.org/13971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 13e44b2b200cd99d0df4e03cf6413d3a6915783f)
    
    Change-Id: Ia3e1c4e45a870cd095f90adc66880eb524a10c1f
    Reviewed-on: https://gerrit.openafs.org/14793
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 981ed6c25c7640783ffbfd7591c0dfadbc4d0f42
Author: Andrew Deason <adeason@dson.org>
Date:   Tue Nov 26 23:39:24 2019 -0600

    FBSD: Avoid holding AFS_GLOCK during vinvalbuf
    
    Currently we call vinvalbuf(9) in a few places while holding
    AFS_GLOCK, but AFS_GLOCK is a non-sleepable lock (struct mtx), and
    vinvalbuf can sleep. This can trigger a panic in some rare conditions,
    with the message:
    
        Sleeping thread (tid 100179, pid 95481) owns a non-sleepable lock
    
    To avoid this, drop AFS_GLOCK around a few places that call
    vinvalbuf().
    
    Reviewed-on: https://gerrit.openafs.org/13970
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 61993cf45a648906abb865756d5a98d9c2d7cc40)
    
    Change-Id: I1b4d6d7d9d4cd54091cfd8e168a928c08cb643e5
    Reviewed-on: https://gerrit.openafs.org/14792
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f3ce4d55ff8c87d2aab521b501d97f909f1a94d5
Author: Andrew Deason <adeason@dson.org>
Date:   Sat Dec 21 18:34:20 2019 -0600

    FBSD: Use CK_STAILQ_FOREACH for ifaces on FBSD 12
    
    FreeBSD 12 changed how network interfaces and network addresses are
    linked together; we're supposed to use CK_STAILQ_FOREACH to traverse
    them now, instead of TAILQ_FOREACH. To try to keep this change
    simpler, introduce a new macro, AFS_FBSD_NET_FOREACH, which picks the
    right macro to use.
    
    Based on a commit by tcreech@tcreech.com.
    
    Reviewed-on: https://gerrit.openafs.org/13999
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7c89322c45605c90c8ce27a77695a1c291f0def4)
    
    Change-Id: I1530213a447ecf09dde47987fdd7b3df489dc490
    Reviewed-on: https://gerrit.openafs.org/14781
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 20b9f245a1e11377b30db36a2fd2622fd14e7004
Author: Tim Creech <tcreech@tcreech.com>
Date:   Sat Dec 21 18:22:40 2019 -0600

    FBSD: Add proper locks when traversing net ifaces
    
    When traversing the list of network interfaces, or the list of
    addresses for a network interface, we're supposed to lock the relevant
    resource with IFNET_RLOCK, if_addr_rlock, or IN_IFADDR_RLOCK. Add
    these locks around our code that examines network interfaces, to
    avoid issues if the interface or address list changes while we're
    traversing them.
    
    While we're doing this, move around some "AFS_DARWIN_ENV ||
    AFS_FBSD_ENV" ifdefs, since these were getting a bit hard to read.
    This commit adds some duplicated code, but the result should be easier
    to follow.
    
    Also for FreeBSD 12, we must be in NET_EPOCH_ENTER when calling
    ifa_ifwithnet/rx_ifaddr_withnet (it panics if we don't, with
    INVARIANTS). Add the needed NET_EPOCH_ENTER/EXIT calls, but do so a
    bit higher up the call stack, since the returned structures are
    potentially no longer valid after we NET_EPOCH_EXIT. Since this means
    we're calling these in a few places in libafs, create a couple of rx
    abstractions (RX_NET_EPOCH_ENTER) to handle the relevant ifdefs.
    
    [adeason@dson.org: Various adjustments to locking calls; splitting up
    DARWIN/FBSD ifdefs.]
    
    Reviewed-on: https://gerrit.openafs.org/13998
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9e98d61ff41709cee8d484be1ecd638a18e2ce0f)
    
    Change-Id: I240d03d892107179f07acf5d76aa49371ef0bec4
    Reviewed-on: https://gerrit.openafs.org/14780
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9b655ef47b75118bd092131fcf5e195e806c0858
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Dec 20 21:02:45 2019 -0600

    vol: Avoid building devname.c on AFS_NAMEI_ENV
    
    Everything in devname.c is for the inode vol backend, so skip building
    it when AFS_NAMEI_ENV is defined.
    
    While we're doing this, alter the #ifdefs inside this file to assume
    that we're not on XBSD, DARWIN, or LINUX, since those platforms are
    all namei-only.
    
    Reviewed-on: https://gerrit.openafs.org/13995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 80afdc2adabb098394e1b2178ba301964868befe)
    
    Change-Id: I54a7cc4f845283ff15f7b91d5d3523a1df42c3af
    Reviewed-on: https://gerrit.openafs.org/14788
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 259385e6b092fff51682a1d7ef26b311c2a7198a
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Dec 20 21:01:13 2019 -0600

    vol: Indent ifdef maze in devname.c
    
    Reviewed-on: https://gerrit.openafs.org/13994
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 99eedfdb1659dd48d12542ad063d4711d401e153)
    
    Change-Id: I6db316d3557fb8165b11afb9089fa4c3cded070b
    Reviewed-on: https://gerrit.openafs.org/14787
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 65314bc0533810b33dd77f1da23c6420bf03b108
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Aug 29 21:35:36 2019 -0400

    FBSD: Accommodate 12.0's 64-bit inodes
    
    In FreeBSD 12 (see: https://reviews.freebsd.org/rS318736), the layout
    of struct dirent changed to allow for 64-bit inodes and a few other
    changes. Update our struct min_direct to accommodate, to allow our
    readdir() results to be accurate. Without this, readdir() can yield
    garbage entries, due to the mismatch in the structure definitions.
    
    Reviewed-on: https://gerrit.openafs.org/13854
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 14cbd02b8a1a4f1d3c30dd4fb2864d35f39a95eb)
    
    Change-Id: I5218fdf315aac71a7cdf488879b88d476f97f2d3
    Reviewed-on: https://gerrit.openafs.org/14786
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c7f45c4d4ecef9298cab9e40fdd7e5a86b4363d5
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Aug 29 22:12:41 2019 -0400

    FBSD: Use VM_CNT_INC/VM_CNT_ADD on FreeBSD 12
    
    r317061 changed where v_vnodein &c are stored. Use the new
    VM_CNT_INC/VM_CNT_ADD macros when available to accommodate.
    
    Reviewed-on: https://gerrit.openafs.org/13859
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e50e5ede55497b0c02647d21905f4134919fbf05)
    
    Change-Id: I099fbfc91640c411ac582141a926e0eae7ce80d9
    Reviewed-on: https://gerrit.openafs.org/14785
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 59f763ccc0f0e2363af0c743b2306c105d682f62
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Aug 29 22:13:20 2019 -0400

    FBSD: Handle missing LINK_MAX
    
    LINK_MAX was removed in r327598. When we don't have a LINK_MAX, just
    use its value from before it was removed (32767).
    
    Reviewed-on: https://gerrit.openafs.org/13860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0066f4e9f27fedc4cf4df52eaf10d35ae5c7ad6e)
    
    Change-Id: I9e91c4d892bc6b276065d34bc7220a240d6b6fcd
    Reviewed-on: https://gerrit.openafs.org/14784
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ca7b6324fec6ad54ea7e4a1a1f716bdeeb994a1c
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Aug 29 21:55:05 2019 -0400

    FBSD: Use syscall "helper" functions
    
    syscall_register/syscall_deregister were effectively removed in
    r329647. Use syscall_helper_register/syscall_helper_unregister
    instead, which have existed since r205321 in FreeBSD 9.
    
    Reviewed-on: https://gerrit.openafs.org/13858
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2add334454019b4a8fd979fb16da686cf93b56c6)
    
    Change-Id: I68037c7fc8e5a1b399bd49ff7bcccacdfd1a7643
    Reviewed-on: https://gerrit.openafs.org/14783
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7159be738388c6e8f3239539aca81c861ad9f533
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Dec 1 15:27:01 2019 -0600

    FBSD: Remove support for 8.x and 9.x
    
    According to <https://www.freebsd.org/security/unsupported.html>,
    FreeBSD 8.x EoL was on August 1, 2015, and FreeBSD 9.x EoL was on
    December 31, 2016. Remove our support for these versions, since they
    haven't been supported by FreeBSD itself for a while.
    
    FreeBSD 10.x EoL was on October 31, 2018, which has passed, but was
    less than a year ago. So keep 10.x in for now.
    
    Adjust our preprocessor checks accordingly:
    
    - In FBSD-specific dirs, assume AFS_FBSD100_ENV and lower is always
      true. Assume __FreeBSD_version is always at least 1000000.
    
    - In non-FBSD dirs, convert AFS_FBSD100_ENV and lower to AFS_FBSD_ENV.
    
    Reviewed-on: https://gerrit.openafs.org/13842
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a4e9365fff2b0e3daf7e9cf2b40e6027b7dd3a15)
    
    Change-Id: If92991dead88bf8d18b837ef4661731c7fc2edbb
    Reviewed-on: https://gerrit.openafs.org/14782
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a5b8d15925bc73b5cd1ee45f26f3ca302d9e075b
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Aug 29 21:40:26 2019 -0400

    FBSD: Handle malloc/free changes in FBSD 12
    
    FreeBSD 12 (r328417) removed the deprecated compatibility macros
    MALLOC and FREE. Convert our users to just use the normal malloc and
    free, so we can build.
    
    FreeBSD 12 (r334545) also changed malloc() into a macro, which breaks
    our own malloc macro in our hcrypto config.h. To fix this, just undef
    malloc, if it's already a macro.
    
    Reviewed-on: https://gerrit.openafs.org/13856
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3bc541743b09f408364a946139c524d53056d40a)
    
    Change-Id: I3d2f98dd635480a2eea4e0cdad9c9bb308475695
    Reviewed-on: https://gerrit.openafs.org/14773
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.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 29f30ed16c6db544f020142c11c4296227eebf99
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri Oct 2 19:51:06 2020 -0400

    rx: compare RX_ACK_TYPE_ACK as a bit-field
    
    The rx_ackPacket.acks array (the SACK table) consists of up to 255
    octets.  Each octet stores either the value zero (RX_ACK_TYPE_NACK)
    or one (RX_ACK_TYPE_ACK).  Effectively only bit-zero of each octet
    is used.
    
    The rx_ackPacket.acks array cannot be enlarged but one possible
    method of encoding the ACK/NACK state for packets when the
    window size is greater than 255 is to use bits 1-7 of each
    octet.
    
    This change alters the test for ACK vs NACK to be a bit comparison
    instead of a equality comparison.  This change permits RX to be
    compatible with any future use of bits 1-7.
    
    No peer that treats the SACK table as bytes can ever send more
    than 255 packets regardless of the advertised receive window.
    Therefore, existing peers will never receive a SACK table with
    more than 255 packets worth of bits.
    
    Reviewed-on: https://gerrit.openafs.org/14465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7739d1e967177686e91a6ea86c73b404515a1c0d)
    
    Change-Id: I59c098414f309bac283017823dff6d491d895db8
    Reviewed-on: https://gerrit.openafs.org/14740
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8c307b42f0b0b80bcf69de09031991d2ab776ed9
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jun 17 17:03:16 2021 +0200

    Make OpenAFS 1.8.8
    
    Update version strings for the 1.8.8 release
    
    Change-Id: I8dc5b309ab17890410825caa329e536f14430d6b
    Reviewed-on: https://gerrit.openafs.org/14642
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 40a209edeeb984ab20b35cde666dac087bfc5eb0
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jun 17 16:59:56 2021 +0200

    Update NEWS for OpenAFS 1.8.8
    
    Finalize the release notes for the 1.8.8 release.
    
    Change-Id: I01b4527f708fbc8a733b3aa7754274c94683cb92
    Reviewed-on: https://gerrit.openafs.org/14641
    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 270bb0998f149485e4ae251fce802d8e80794e7c
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jul 15 17:27:10 2021 +0200

    Make OpenAFS 1.8.8pre2
    
    Update version strings for the second 1.8.8 prerelease.
    
    Change-Id: Ie920e12fde0bc5043273d6dfceceaa1a4705ea3a
    Reviewed-on: https://gerrit.openafs.org/14699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 67e7662714a39d00d77b7689c3457fdcc689f160
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jul 15 21:09:12 2021 +0200

    Update NEWS for 1.8.8pre2
    
    Release notes for the second 1.8.8 prerelease.
    
    Change-Id: I178d09bfa6c8d24b129cfdf92d4a4fb641518087
    Reviewed-on: https://gerrit.openafs.org/14700
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d15cd1c8cfd431617ff29e9b83e79d82e1fa0d58
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jun 4 10:18:39 2021 -0600

    cf: Resolve implicit function definition for memset
    
    The autoconf function OPENAFS_HAVE_STRUCT_FIELD can produce a compiler
    warning for an implicit function definition for memset, however with
    macOS 11 (Big Sur) the default compiler flags have been changed
    (-Werror=implicit-function-declaration) so that this is now flagged as an
    error. As an error this can lead to an incorrect result returned by
    OPENAFS_HAVE_STRUCT_FIELD.
    
    Add an include for <string.h> to provide the necessary definition for
    memset.
    
    Note, both gcc and clang can produce the implicit function definition
    warning.
    
    Reviewed-on: https://gerrit.openafs.org/14631
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fd5aa52ef8ce719502f970ab93ffde07d7ed4780)
    
    Change-Id: I6829f13ee2fb1698738e95b379928cfea383e348
    Reviewed-on: https://gerrit.openafs.org/14668
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6fbbc7b579dc21b9229c24b1d0d577f7a7bd14fa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 17 17:15:13 2021 -0500

    afs: Free pioctlToken in extractPioctlToken
    
    Ever since it was introduced in commit 5ec5ad5 (New GetToken pioctl),
    extractPioctlToken has incorrectly freed pioctlToken by passing
    '&pioctlToken' to xdr_free (instead of 'pioctlToken').
    
    This causes xdr_ktc_tokenUnion to interpret &pioctlToken (which is a
    struct ktc_tokenUnion **) as a struct ktc_tokenUnion *. This doesn't
    cause any corruption or panics, since ktc_tokenUnion doesn't contain
    any freeable fields unless its at_type is 2 (AFSTOKEN_UNION_KAD). So
    as long as the bogus 'at_type' from the misinterpreted pointer is not 2,
    the xdr_free call will just not free anything (and return an error,
    which we ignore).
    
    If the bogus at_type is 2, this would probably cause some memory
    corruption or other nastiness. For this to happen on 32-bit systems,
    the value of the 'pioctlToken' pointer itself would need to be 0x2.
    On 64-bit systems, the top or bottom 32-bits of the pointer would need
    to be 0x2 (depending on endianness). Those situations seem impossible
    or very unlikely on most systems, and have never been seen in the
    wild.
    
    FIXES 135238
    
    Reviewed-on: https://gerrit.openafs.org/14651
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 966d5eb58f1f4fb333f263f018429c3a782be344)
    
    Change-Id: Ied9b6c42106fa2c4353cccd08e1a6b50190a8504
    Reviewed-on: https://gerrit.openafs.org/14667
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5abea9b8b1164f203fe18b5abe7d64ac8cb514eb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jun 22 20:02:18 2021 -0400

    bos: Let xdr allocate rpc output strings
    
    The bos client provides fixed sized buffers on the stack for RPC output
    strings instead of letting xdr allocate output strings.  Unfortunately,
    the fixed sized buffers do not account for the terminating nul char when
    the output string is the maximum size defined for the bozo RPCs.
    
    To avoid potential buffer overflows, and to allow for larger xdr string
    sizes in the future, convert these to xdr allocated strings. Be sure to
    always free the xdr allocated strings.
    
    The following bozo RPCs have xdr output strings, and are addressed in
    this commit:
    
    BOZO_EnumerateInstance
    BOZO_GetCellHost
    BOZO_GetCellName
    BOZO_GetInstanceInfo
    BOZO_GetInstanceParm
    BOZO_GetInstanceStrings
    BOZO_GetStatus
    BOZO_ListSUsers
    
    Thanks to Cheyenne Wills for pointing out this issue.
    
    Reviewed-on: https://gerrit.openafs.org/14650
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9ae5b599c7289a6f3ea2b03f2646402da182bb5d)
    
    Change-Id: If8b23bbee3db83d65b7c7532fd47f3b5a16c424c
    Reviewed-on: https://gerrit.openafs.org/14666
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6484bc7d5aa2dd15ed0fc6dbf7a3ddcf071f7dad
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Oct 6 00:02:53 2020 -0400

    bos: do not assume fs just if dafs bnode is stopped
    
    If dafs is configured but stopped, 'bos salvage <fs> <vicep>
    -forceDAFS' will fail with:
    
      bos: failed to get instance info for 'fs' (no such entity)
      bos: shutting down 'fs'.
      bos: can't stop 'fs' (no such entity)
    
    This is due to incomplete logic in IsDAFS, introduced with commit
    e46f10a0a0a930f318833a8a86b10c19744160c1 'bos: Do not assume DAFS just
    if DAFS bnode exists'
    
    Add logic to IsDAFS to work correctly when dafs is configured but
    stopped.
    
    Reviewed-on: https://gerrit.openafs.org/14382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 48df3ac30210056ec046b48c28aee425b0690f92)
    
    Change-Id: Ib55b9e322f529d120f424813c21af133ca2e6acc
    Reviewed-on: https://gerrit.openafs.org/14665
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0b55780042d8f856c33ad7a97c65825e3ddee5b7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 1 20:14:12 2021 -0400

    libadmin: Be sure to free the server list in ListCellsRPC
    
    Commit 0d6b9defb36cb94f3d34b058f00055e9e99d85fc added a check to avoid
    overrunning a buffer when the cell name returned by RXAFSCB_GetCellServDB
    is too large for the libadmin buffer, but in that case missed freeing
    the server list returned in the same rpc.
    
    Move the xdr_free() of the server list under the cleanup label so the
    server list returned by the RPC will always be freed.
    
    Thanks to Mark Vitale for finding this bug.
    
    Reviewed-on: https://gerrit.openafs.org/14690
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a5c146116faccc9891ae6d50506cd43d52dadb70)
    
    Change-Id: Ic310d8d940588db2c966130a1e7b0a9543dd5e23
    Reviewed-on: https://gerrit.openafs.org/14698
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 00423e6920fba66ce4ce7ab746210825830aae5b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 21 12:38:01 2021 -0400

    libadmin: Let xdr allocate rpc output strings
    
    In most functions, the libadmin library provides fixed sized buffers for
    RPC output strings instead of letting xdr allocate the output string.
    Unfortunately the fixed sized buffers do not account for the terminating
    nul char when the output string is the maximum length possible for the
    xdr output strings.
    
    To avoid potential buffer overflows, and to allow for larger xdr string
    sizes in the future, convert these to xdr allocated strings and use safe
    string functions to copy the results to the application buffers. Fail
    with an error if the application buffer is too small, instead of
    overflowing the buffer or truncating results.
    
    Thanks to Cheyenne Wills for pointing out this issue.
    
    Reviewed-on: https://gerrit.openafs.org/14626
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0d6b9defb36cb94f3d34b058f00055e9e99d85fc)
    
    Change-Id: Ia477d68ec62558470ae27544c86c340a7d2b7235
    Reviewed-on: https://gerrit.openafs.org/14664
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5b557f37ade19c0eb7073ee39808a16cf9508fd5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 21 11:48:53 2019 -0500

    afs: Update style in afs_tokens.c
    
    Fix a few style nits and other minor edits in afs_tokens.c. Mark a few
    functions 'static' that are not referenced outside of that file.
    
    Reviewed-on: https://gerrit.openafs.org/13806
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 1d2a1002bd1bc8d82c05399c06836ede83f9eeea)
    
    Change-Id: I85b263674477e63cdc72d4dd9b4f714611b71d7e
    Reviewed-on: https://gerrit.openafs.org/14663
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c978f92cbf9306c0b12eec68cd64ebac045c65e6
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Tue Jun 30 22:53:33 2020 +0200

    Make OpenAFS 1.8.8pre1
    
    Update version strings for the first 1.8.8 prerelease.
    
    Change-Id: Ia7468e6ae5ec93a81e13dda55842ec57135c2a03
    Reviewed-on: https://gerrit.openafs.org/14264
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e9cc2c3c71eba2f5a1b1be1f5d4198385b681d5c
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Feb 19 21:51:15 2021 +0100

    Update NEWS for 1.8.8pre1
    
    Release notes for the first 1.8.8 prerelease.
    
    Change-Id: I04762b28b3cc5528f31c2b5d8f1d7f906e46f62f
    Reviewed-on: https://gerrit.openafs.org/14540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f0283af65e81a4bc9aa4fa44eb8a4a45c6a0448e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 27 11:02:01 2021 -0600

    afscp: Link against opr/roken/hcrypto
    
    Link afscp against libopr, libroken, and libafshcrypto, so afscp can
    be built again.
    
    Reviewed-on: https://gerrit.openafs.org/13656
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4eeed830fa31b7b8b5487ba619acbc8d30642aaa)
    
    Change-Id: I73264df34743dcb6a8f6232267892ee602a76053
    Reviewed-on: https://gerrit.openafs.org/14627
    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>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d7900532e3e7897f8030a6ed31abff4ec0d32ebf
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jan 29 01:30:47 2016 -0500

    afs: free the Buffers array correctly during shutdown
    
    DInit() allocates 'Buffers' with afs_max_buffers = 4*nbuffers
    worth of buffer structs to allow for run-time expansion.
    
    But shutdown_bufferpackage() free 'Buffers' as if it only had
    nbuffers worth of buffer structs.
    
    Correct the size of Buffers passed to afs_osi_Free().
    
    Discovered during Solaris shutdown testing with kmem_flags=x0f.
    This bug is not Solaris-specific, but it may be symptomless on other
    platforms.
    
    Introduced by commit e7c966354c428a5a5929a3db6a829ee71c8ba2fc 'Flexible
    client buffer growth'; this only affected cold shutdowns (afsd
    -shutdown).
    
    After commit 2336164d1bf63980419d3a870f908f1f384fdfc0 'afs: Actually
    free resources during warm shutdown', this bug also affects warm
    shutdowns (the default when /afs is unmounted).
    
    Reviewed-on: https://gerrit.openafs.org/12183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit d1c944ec167b8845d703a6b6a8d9492751056b98)
    
    Change-Id: I612b33a3788d2c9a0c39c5cb22a3473f8e1c01e1
    Reviewed-on: https://gerrit.openafs.org/14616
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5cfee79d9a12e67720906cc5a985f7c12064db41
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 21 17:02:34 2019 -0500

    afs: Actually free resources during warm shutdown
    
    Currently, the shutdown_*() code paths for several subsystems only
    free the memory for that subsystem for "cold" shutdowns, and not for
    "warm" shutdowns. This means the memory gets leaked during a "warm"
    shutdown, since we never free these resources anywhere else.
    Specifically, this happens in shutdown_bufferpackage, shutdown_AFS,
    and shutdown_osinet.
    
    To avoid these leaks for warm shutdowns, just move the
    afs_cold_shutdown check around a little, so we free the relevant items
    in either codepath.
    
    Reviewed-on: https://gerrit.openafs.org/13716
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2336164d1bf63980419d3a870f908f1f384fdfc0)
    
    Change-Id: I1d2360ea777b7a7488e599b6e707c98295d8fbdd
    Reviewed-on: https://gerrit.openafs.org/14615
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4d03c0cac0abe575ccf1a74078c3338245690462
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jul 30 16:42:19 2020 -0400

    vol: ensure ih package defaults are set for salvage
    
    Like most OpenAFS components that work with ihandles, salvager relies on
    implicit invocation of ih_PkgDefaults via the one-shot in the first call
    to IH_INIT.
    
    Unfortunately, there is at least one reachable code path in salvager
    that asserts (panics) because vol_io_params has not yet been
    initialized.  This is when salvaging a volume group that does not have a
    link table; the salvager then panics while attempting to create a new
    link table:
    
    SalvageFileSys -> SalvageFileSys1 -> DoSalvageVolumeGroup ->
    CreateLinkTable -> IH_CREATE -> namei_icreate -> icreate ->
    namei_SetLinkCount -> FDH_SYNC -> ih_fdsync -> osi_Assert(0)
    
    This path was discovered while testing the non-dafs salvager, but it has
    also been observed in the field with the DAFS salvageserver.  It is
    possible that there are additional undiscovered paths where
    vol_io_params are required but uninitialized.
    
    Add an implicit ih_PkgDefaults call to icreate to avoid triggering the
    assert via the code path above.
    
    Reviewed-on: https://gerrit.openafs.org/14378
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d65bcf8833a826a74fc433777599380cd5b03b9)
    
    Change-Id: I8c7fb5acbaf2d84b290ce95e11a7baf0421b920d
    Reviewed-on: https://gerrit.openafs.org/14614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 90e54b2a2010b4620b007ea5c8d3a5a7cbc30069
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Oct 9 16:28:15 2020 -0400

    vol: move ih_PkgDefaultsSet check inside ih_PkgDefaults
    
    Instead of repeating the oneshot check in each caller of ih_PkgDefaults,
    move the oneshot check into ih_PkgDefaults itself.
    
    While here, ensure that ih_PkgDefaults does its work under IH_LOCK.
    
    Finally, make ih_PkgDefaultsSet a local static variable (no longer
    exported).
    
    Reviewed-on: https://gerrit.openafs.org/14383
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 896524963ca1f1d8144a668dafefc8ce88ad440b)
    
    Change-Id: I179640df6e0a5fd6b9a97b57cfde6377213e1d14
    Reviewed-on: https://gerrit.openafs.org/14613
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1b794441fe2c7d3c22ca92135035b5ebe826431f
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Oct 1 17:13:51 2020 -0400

    afsd: remove unused variable afs_shutdown
    
    Since the original IBM code import, the variable afs_shutdown has been
    set but never read.
    
    Remove it from the code base.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14380
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0761bb7c58260985fbbfcf477d597da3c5d64fc5)
    
    Change-Id: I35d657fb93b9e6f611d91d5a374899249cec5b88
    Reviewed-on: https://gerrit.openafs.org/14612
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 553270ec9e02fc36bdb59924344fa4f470ee20cc
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jan 28 23:38:59 2016 -0500

    afs: remove duplicate declaration for afs_shutdown()
    
    Somehow there were two.  Now there is but one.
    
    Reviewed-on: https://gerrit.openafs.org/12181
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3e2fe677a2d3b9f76644175f3a59d392872b87f3)
    
    Change-Id: I19a2f0ebe2c79fd32800cc388e488fa11fd8f0ce
    Reviewed-on: https://gerrit.openafs.org/14611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 7ebe9b70b994ba04d016a5bbf479f30934b7c632
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jan 28 10:01:13 2016 -0500

    afs: afsd -shutdown sets afs_cold_shutdown too soon
    
    'afsd -shutdown' always invokes syscall(AFSOP_SHUTDOWN)
    with parm2 set to 1 to indicate a "cold" shutdown.
    (There are no other callers to AFSOP_SHUTDOWN).
    
    AFSOP_SHUTDOWN sets global variable afs_cold_shutdown
    based on the value of parm2.  Then it checks to see if
    AFS is still mounted; if so, we return early with EACCES.
    However, global afs_cold_shutdown remains set.
    
    Therefore, the next successful 'umount' after a "failed"
    'afsd -shutdown' will always trigger a "cold" shutdown.
    This is contrary to the intent of the current implementation,
    which is to perform a "warm" shutdown upon 'umount' for
    most platforms.  (Exceptions:  AIX, OBSD, NBSD always
    specify a cold shutdown upon 'umount').
    
    This bug would never be noticed on the "cold" exception
    platforms, but on the "warm" platforms the inconsistency
    of seeing an unexpected "COLD" shutdown may be confusing
    and surprising.
    
    Make shutdown operation more self-consistent by modifying
    AFSOP_SHUTDOWN to defer setting of afs_cold_shutdown until
    after the mount test.
    
    Reviewed-on: https://gerrit.openafs.org/12180
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c72ec68bcea646aa3e0395ad103afb2ee9ba9cde)
    
    Change-Id: I7b40728bcb56c9bb0d86912f140fed315e93bf64
    Reviewed-on: https://gerrit.openafs.org/14610
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 de668dbafb55682a209f71cb1d09b5084d0c2af1
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Apr 9 15:14:52 2021 +0000

    macos: delegate sock_* calls to bkg daemons
    
    As part of Apple's ongoing effort to modernize macOS, improve security
    and reliability, the deprecation of kernel extensions was officially
    announced at WWDC19. According to this announcement, Kernel programming
    interfaces will be deprecated as alternatives become available, and
    future OS releases will no longer load kernel extensions that use
    deprecated KPIs by default.
    
    Unfortunately, the following KPIs, extensively used by rx, are included
    in the list of deprecated KPIs as of macOS 10.15:
    
    - sock_receivembuf
    - sock_close
    - sock_send
    - sock_socket
    - sock_setsockopt
    - sock_bind
    
    To workaround this problem, delegate calls to the functions mentioned
    above to bkg daemons forked by afsd. Notice that the ifadd_* and ifnet_*
    functions are also deprecated. Fortunately, these calls can be avoided
    enabling AFS_USERSPACE_IP_ADDR.
    
    Thanks to Andrew Deason for his assistance (ideas, suggestions,
    documentation, etc).
    
    Reviewed-on: https://gerrit.openafs.org/14431
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 70e5c4f6a45854ae3a4241568769279747a8b76f)
    
    Conflicts:
            src/config/afs_args.h
    
    Change-Id: I4370c0aa3978f208c763ed43c3cc5567ee74e730
    Reviewed-on: https://gerrit.openafs.org/14600
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7f7ff82c0ab57ee23f19c3ea783ab8ebf23ca045
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 14 15:53:20 2018 -0500

    afs: Add AFS_USPC_SHUTDOWN bkg request
    
    When AFS_NEW_BKG was added, the kernel module indicated to the
    relevant afsd process that it's time to shutdown by returning -2. This
    works on DARWIN, but it's difficult to make this work on all
    platforms, because of the different way that platforms handle error
    codes from our pioctls and other AFS syscalls.
    
    Specifically, on LINUX, negative error codes are assumed to be
    negative errno codes, and so returning -2 from the syscall handler
    means we return -1 to userspace, with errno set to 2 (ENOENT).
    
    Getting this to work consistently across platforms is probably more
    trouble than its worth, so instead of relying on specific return codes
    from the syscall, just add a new background daemon operation called
    AFS_USPC_SHUTDOWN, which just tells the background daemon to exit.
    
    Reviewed-on: https://gerrit.openafs.org/13281
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 397199a1992d74d8b7e693a2d76df836f7a70080)
    
    Change-Id: Ib809a27476f49baef70dcbcc749eed95a4de8d2f
    Reviewed-on: https://gerrit.openafs.org/14605
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a80e04a9eb6fb6b3d4cffce0a682931f63efc933
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jan 28 15:49:25 2021 -0800

    macos: packaging support for MacOS X 11.0
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 11.0 "Big Sur".
    
    Reviewed-on: https://gerrit.openafs.org/14430
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 40c6f3aa5576d7e1ac23caff1ae4ffd69e74dc44)
    
    Change-Id: I55bab1631c41fdb636fa84359f2d76d4bfc2b6a1
    Reviewed-on: https://gerrit.openafs.org/14598
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3ea37d57106901e8d4e82537dcee3609f1ef2c1e
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jan 28 14:45:10 2021 -0800

    macos: add support for MacOS 11.0
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 11.0 "Big Sur".
    
    While here, refactor the code that checks if the "-Xlinker -kext"
    system-specific linker option is needed.
    
    Reviewed-on: https://gerrit.openafs.org/14429
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit acc955bc17e1a1e10f634e7017c1323954f07b31)
    
    Change-Id: Ie5b791c7444612c617eeb3b16e1165510fe9f251
    Reviewed-on: https://gerrit.openafs.org/14597
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c7a8bf889ddacf1935282da14e06abf0e63999f7
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Dec 20 22:09:35 2019 -0600

    rx: Indent ifdef maze in rx_kcommon.c
    
    Reviewed-on: https://gerrit.openafs.org/13997
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 08c769967ca12f1ac99c736789f1925763d8a115)
    
    Change-Id: I75d5ec5c9f75f79817adec3f259e546e79fc3629
    Reviewed-on: https://gerrit.openafs.org/14599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit efac54c67d527fb8a4fa118f53fc55ad75c7d2ff
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Dec 20 21:51:18 2019 -0600

    afs: Indent ifdef maze in afs_server.c
    
    Reviewed-on: https://gerrit.openafs.org/13996
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2a8db42664cc450c2db097fe19472fe7876203df)
    
    Change-Id: Iff5bb059ea7005c4f174401b9daa45f1ae6d092d
    Reviewed-on: https://gerrit.openafs.org/14604
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7550806b15b3347c70520b23d5f7f59665e8d4a0
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Mar 18 08:28:22 2021 -0600

    bozo: Fix the test for bosserver '-cores none'
    
    The check for the '-cores none' parameter is incorrect resulting in the
    parameter to be taken as a directory path.
    
    Update the string comparison.
    
    Reviewed-on: https://gerrit.openafs.org/14559
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 000fe6b7e6e7bf140c7cca7becc8fb7e8006fec7)
    
    Change-Id: I45ac645bb7cdd6f3cd1dfd81d6ccdc9cda4547a8
    Reviewed-on: https://gerrit.openafs.org/14589
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3c19cf40f4016931accc97c555bc5b623b838e96
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Dec 7 14:42:54 2020 -0500

    vol: always build vol-bless utility
    
    In order to avoid future bit-rot, always build vol-bless.  Also add it
    to the clean rule.  However, continue to leave it undistributed and
    uninstalled by default.
    
    Reviewed-on: https://gerrit.openafs.org/14464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1efa4e49f2dabe2f3a1ef235e21a96ae9d5ff6bf)
    
    Change-Id: I62b2f192e2bcb24221c94468e2e72aaa567568d4
    Reviewed-on: https://gerrit.openafs.org/14601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 91a298cc1fb93ffa8766f291b5a1c7ab29ad6f84
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Dec 7 14:40:33 2020 -0500

    vol: add vol-bless to .gitignore
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/14463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 986ee6a0a70d70f366baeb43670eb367f0525b97)
    
    Change-Id: I1819537c8ac26101a81100871f85a6de78408cea
    Reviewed-on: https://gerrit.openafs.org/14602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b6c9bf43988d5945e502be1c9455adc791539a72
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Dec 7 13:13:28 2020 -0500

    vol: make vol-bless buildable again
    
    The vol-bless utility is not built by default and so is subject to
    bit-rot.  Thus commit 170dbb3ce301329ff127bb23fb588db31439ae8d 'rx: Use
    opr queues' overlooked vol-bless.c when adding includes for users of
    struct rx_queue.
    
    Add the required #include <rx/rx_queue.h> so vol-bless builds again.
    
    Note to maintainers: this change is only required for 1.8.x and later;
    vol-bless builds fine in 1.6.x and earlier releases.
    
    Reviewed-on: https://gerrit.openafs.org/14462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e1f20287a4d0cd80c6bfe7309b907fe5a4ac1464)
    
    Change-Id: I1f9acb176758bd34b7f63d5ebde54e9af191ad77
    Reviewed-on: https://gerrit.openafs.org/14603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 67385e65cbdb41a8b2895a7fe1d637c7b899ef5c
Author: Tim Creech <tcreech@tcreech.com>
Date:   Thu Oct 29 21:29:10 2020 -0400

    FBSD: Add support for FreeBSD 12.2
    
    Reviewed-on: https://gerrit.openafs.org/14474
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 96ebee44c322934b9eda1bab5907ee87b03d571f)
    
    Change-Id: I95dedbee8b67a2bb05a8bb3614045fa3a49f9a11
    Reviewed-on: https://gerrit.openafs.org/14590
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c58313fc4f1c04e1d3f94f53b966516b2560e4c2
Author: Tim Creech <tcreech@umd.edu>
Date:   Mon Dec 9 21:13:58 2019 -0500

    FBSD: Add support for FreeBSD 12.1
    
    Reviewed-on: https://gerrit.openafs.org/13982
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 71ce9fff8e682a77e17490a54e091656cbf96925)
    
    Change-Id: I4214101d314cac6d677a08f760ccf990a4441306
    Reviewed-on: https://gerrit.openafs.org/14537
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    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 4b14b60afbf28f5fcf325ee378a26657f7780254
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Aug 18 13:56:26 2020 +0000

    bos: suppress unnecessary warn if -noauth
    
    Commit d008089a7 (Add interface to select client security objects)
    consolidated the code that selects the client security objects into a
    set of new interfaces. Before this commit, the "bos: running
    unauthenticated" message, which warns the user when an unauthenticated
    connection is established, used to be suppressed if the -noauth flag was
    specified.
    
    Similarly to commit b3c16324e (ubik: Make ugen_ClientInit honor
    noAuthFlag), recover the original behavior avoiding warn messages about
    unauthenticated connections if the -noauth flag is provided.
    
    Reviewed-on: https://gerrit.openafs.org/14306
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d5f0e16ac44475be55a7cc3e2895fc4a3a923ece)
    
    Change-Id: Id78494c2a189f2e99e25111200cabde32a4add2b
    Reviewed-on: https://gerrit.openafs.org/14546
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c747b15dd2877e6d17e3e6b940ae78c1e1ccd3ea
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Mar 5 16:31:03 2021 -0700

    Linux 5.12: Add user_namespace param to inode ops
    
    The Linux commits:
    "fs: make helpers idmap mount aware" (549c72977) and
    "attr: handle idmapped mounts" (2f221d6f7) that were merged into
    Linux-5.12-rc1 cause a build failure when creating the kernel module.
    
    Several functions within the inode_operations structure had their
    signature updated to include a user_namespace parameter.  This allows
    a filesystem to support idmapped mounts.
    
    OpenAFS only implements some of the changed functions.
    
       LINUX/vnodeops function inode_operation
       =====================   ===============
       afs_notify_change       setattr
       afs_linux_getattr       getattr
       afs_linux_create        create
       afs_linux_symlink       symlink
       afs_linux_mkdir         mkdir
       afs_linux_rename        rename
       afs_linux_permission    permission
    
    Update the autoconf tests to determine if the Linux kernel requires
    the user_namespace structure for inode_operations functions. If so,
    define a generic "IOP_TAKES_USER_NAMESPACE" macro.
    
    Update the above vnodeops functions to accept a 'struct user_namespace'
    parameter.
    
    When using the 'setattr_prepare' function a user namespace must be
    now provided. In order to provide compatibility as a non-idmapped mount
    filesystem the initial user namespace can be used. With OpenAFS, the
    initial user namespace obtained at kernel module load time is stored in
    a global variable 'afs_ns'.
    
    Update the call to setattr_prepare to pass the user namespace pointed
    to by the 'afs_ns' global variable.
    
    Update calls to setattr to pass the user namespace pointed to by
    the 'afs_ns' global variable.
    
    Notes:
    
    The changes introduced with Linux 5.12 allow a filesystem to support
    idmapped mounts if desired. This commit does not implement support for
    idmapped mounts, but will continue to use the same initial user
    namespace as prior to Linux 5.12.
    
    With Linux 5.12 the following autoconf checks fail:
    
     HAVE_LINUX_INODE_OPERATIONS_RENAME_TAKES_FLAGS
     HAVE_LINUX_SETATTR_PREPARE
     IOP_CREATE_TAKES_BOOL
     IOP_GETATTR_TAKES_PATH_STRUCT
     IOP_MKDIR_TAKES_UMODE_T
    
    The new macro 'IOP_TAKES_USER_NAMESPACE' covers the cases where these
    macros where used.
    
    Reviewed-on: https://gerrit.openafs.org/14549
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 1bd68506be3243c5670aaf53798b2e4e715d4c8b)
    
    Change-Id: I8cd54042da4e0295f3cf8417c84138bb0458f881
    Reviewed-on: https://gerrit.openafs.org/14565
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a5d358b02b88d6d2c7a27a75149e35b1de7db38
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Mar 8 09:22:04 2021 -0700

    Linux: Create wrapper for setattr_prepare
    
    Move call to setattr_prepare/inode_change_ok into an osi_compat.h
    wrapper called 'afs_setattr_prepare'.  This moves some of the #if logic
    out of the mainline code.
    
    Reviewed-on: https://gerrit.openafs.org/14548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 12ae2beeeb172cebdfa24d5ea149f73fd85541f8)
    
    Change-Id: I1c7806893daf2404a8b3ac1b5c88ca04e6409226
    Reviewed-on: https://gerrit.openafs.org/14564
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit cdec210405afb47ee338bfde9280710b64d7abc6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 23 13:50:31 2019 -0500

    LINUX: Introduce afs_d_path
    
    Move our preprocessor logic around d_path into an osi_compat.h
    wrapper, called afs_d_path. This just makes it a little easier to use
    d_path, and moves a tiny bit of #ifdef cruft away from real code.
    
    Reviewed-on: https://gerrit.openafs.org/13721
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4c4fb6e36634e5663c8be25acd4a1ac872e4738c)
    
    Change-Id: I08763c71006e4ac6f2bf88d8ac71941fc44e6ab8
    Reviewed-on: https://gerrit.openafs.org/14563
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8cdd8ad84006b17bfe243b004f0c4191c7df3af5
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Apr 12 22:28:29 2020 -0500

    tests: Skip SIGBUS test on FreeBSD
    
    Currently, 'softsig-helper -buserror' causes a SIGBUS on most
    platforms, but can result in SIGSEGV on FreeBSD by default (at least
    on 11.3-RELEASE). Skip the test on FreeBSD, until we can provide a
    more reliable way to generate SIGBUS.
    
    Note that when the sysctl machdep.prot_fault_translation is set to 1,
    'softsig-helper -buserror' generates a SIGBUS instead of SIGSEGV,
    suggesting that generating a SIGBUS here is the old 'compat' behavior.
    When machdep.prot_fault_translation is 0 (the default), the code path
    in the FreeBSD kernel that dictates whether to send a SIGBUS or
    SIGSEGV in this situation depends on some autodetection heuristics,
    and so may produce different results depending on FreeBSD releases or
    even compiler settings (due to detection of ABI based on some ELF
    notes in the relevant binary).
    
    For some details on this sysctl, see
    <https://www.freebsd.org/news/status/report-2019-07-2019-09.html#Signals-delivered-on-unhandled-Page-Faults>
    or the FreeBSD source code. In 11.3-RELEASE, the decision to issue a
    SIGBUS or SIGSEGV can be found around sys/amd64/amd64/trap.c:355.
    
    Reviewed-on: https://gerrit.openafs.org/14145
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit df5480057c2994914e22bd14b169dbcd8857485a)
    
    Change-Id: Ifd2c17c52a7a9be7a8a09776cf15500fdc9ca62d
    Reviewed-on: https://gerrit.openafs.org/14536
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5c1aa944d73e20272fa886e46ba0d4e69c54e8db
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Sep 8 16:10:40 2019 -0500

    FBSD: Remove MA_* abstractions
    
    In FBSD/osi_vnops.c, we have a few abstractions (e.g. MA_VOP_UNLOCK)
    that used to expand to different things for older FreeBSD versions.
    Currently, they always expand to the same thing, so just remove the
    abstractions.
    
    While we are changing these calls, also change one instance of
    MA_VOP_LOCK to vn_lock (instead of VOP_LOCK), since we're not usually
    supposed to call VOP_LOCK directly, according to the VOP_LOCK(9)
    manpage. The MA_VOP_LOCK call was added in commit bd707fb7
    (freebsd-almost-working-client-20020216), seemingly by mistake.
    
    Reviewed-on: https://gerrit.openafs.org/13843
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7260c7164b9a2199c7b5f83279fa18af16e7d387)
    
    Change-Id: I831e798546da97eeba923965c24dd79be14a9b89
    Reviewed-on: https://gerrit.openafs.org/14535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b03f8b684077c9224fe059abf8c316739096e0cd
Author: Tim Creech <tcreech@umd.edu>
Date:   Fri Dec 13 22:24:57 2019 -0500

    FBSD: Build vnode_if.h before libafs objs
    
    Currently, if we are building with -j2 or higher, we can easily fail
    to build some libafs objects because vnode_if.h does not exist yet.
    vnode_if.h is generated by the FreeBSD build, but none of our objects
    depend on it, so during parallel builds it may not be available by the
    time we build, for example, src/external/heimdal/hcrypto/sha256.c.
    
    This results in build errors that can look like this:
    
        --- sha256-kernel.o ---
        cc -I. -I.. -I../nfs [...]/src/external/heimdal/hcrypto/sha256.c
        In file included from [...]/src/external/heimdal/hcrypto/sha256.c:34:
        In file included from [...]/src/crypto/hcrypto/kernel/config.h:30:
        In file included from [...]/src/afs/sysincludes.h:354:
        /usr/src/sys/sys/vnode.h:588:10: fatal error: 'vnode_if.h' file not found
        #include "vnode_if.h"
                 ^~~~~~~~~~~~
        1 error generated.
        *** [sha256-kernel.o] Error code 1
    
        make[4]: stopped in [...]/src/libafs/MODLOAD
        1 error
    
    To avoid this, make all of our libafs objects depends on vnode_if.h.
    
    [adeason@dson.org: Expanded commit message.]
    
    Reviewed-on: https://gerrit.openafs.org/13983
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0ee53d2fe9341e60f420662749d5ae8c6d4b5f24)
    
    Change-Id: I85696c23aeeabf8ebc38c8a9ea320fdcf8141ad9
    Reviewed-on: https://gerrit.openafs.org/14534
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8825b5346f67f2193e770d524d4524b2ff16d84a
Author: Tim Creech <tcreech@tcreech.com>
Date:   Sun Mar 5 18:15:58 2017 -0500

    FBSD: Remove LOCKPARENT/ISLASTCN lookup logic
    
    Currently, our afs_vop_lookup on FBSD tries to only lock 'dvp' for
    ISDOTDOT requests when LOCKPARENT and ISLASTCN are set. There are a
    couple of problems with this:
    
    - The conditional locking logic involving LOCKPARENT/ISLASTCN is only
      relevant in very old FreeBSD releases (per-fs checking of these
      flags for parent locking went away around the FreeBSD 6 era).
    
    - Our current logic here is wrong anyway, since we try to lock 'dvp'
      twice when those flags are set. This was mostly introduced by commit
      2f6be821 (FBSD: band-aid vnode locking in lookup), which added a
      lock/unlock pair for 'dvp' around the lock for 'vp', even though
      'dvp' was unlocked several lines earlier.
    
    This means that if we hit the relevant code path, we will deadlock,
    since we try to lock 'dvp' twice. To avoid this, just remove the
    relevant logic for LOCKPARENT/ISLASTCN, since it is only relevant for
    old FreeBSD releases that are not supported by us or FreeBSD.
    
    Add and rearrange some comments around here to try to more explicitly
    explain the relevant locking rules.
    
    [adeason@dson.org: Commit message rewrite, adding comments, removing
    old FreeBSD code.]
    
    Reviewed-on: https://gerrit.openafs.org/12578
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 17a845c8d44f453b09b21afd59182e616234e872)
    
    Change-Id: I105dfe397bb723b0939bb626103d857007e1a7bf
    Reviewed-on: https://gerrit.openafs.org/14533
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 27268300531101748069741f9deaae5e160616a8
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Apr 12 22:40:14 2020 -0500

    FBSD: Remove unused 'wantparent' logic
    
    In afs_vop_lookup, the 'wantparent' variable doesn't actually change
    any logic in the function. In the if() clause that it's used, the
    value of 'wantparent' is only ever used if cnp->cn_nameiop is RENAME
    and ISLASTCN is set. But if both of those are true, then the second
    half of the if() conditional will always be true, so the value of
    'wantparent' doesn't matter.
    
    So to remove this confusing unused logic, remove the 'wantparent'
    local var, and all its associated logic.
    
    Issue spotted by kaduk@mit.edu.
    
    Change-Id: Ia63b88d67d21cc2b81a0c25aa31ea60ab202b0a7
    Reviewed-on: https://gerrit.openafs.org/14143
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7df5c003ed6eb17a693d67ffdfc0556f0c569cc1)
    Reviewed-on: https://gerrit.openafs.org/14532
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fa25fb8f53f8a31556b6aa189becef5850cc068a
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Aug 18 19:59:50 2019 -0500

    FBSD: Add support for FreeBSD 11.3
    
    Reviewed-on: https://gerrit.openafs.org/13792
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7116de596a8f1d0be3da6eebe92d486f57aefd02)
    
    Change-Id: I9bbf3a72041dda4220b63963b6fc9bd8bd2342e8
    Reviewed-on: https://gerrit.openafs.org/14531
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ed6170582ce6fc9fc501349aa98ccc726c04501b
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Dec 1 15:39:04 2019 -0600

    FBSD: Declare vnops/vfsops static
    
    Declare our vnode and vfs operations as static functions, since they
    are not referenced outside of osi_vfsops.c/osi_vnodeops.c. Shuffle
    around the definitions in osi_vnodeops.c so that we don't need forward
    declarations for the functions.
    
    Reviewed-on: https://gerrit.openafs.org/13973
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 37c5db3ce767868803135c916b282ff2e541d052)
    
    Change-Id: I8817e0e2a02bc4211dc84c0d9f8b418de756120e
    Reviewed-on: https://gerrit.openafs.org/14530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 60f3f689c4a0bd152e1c5a2fe660a3c59933491e
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Aug 25 23:21:23 2019 -0500

    FBSD: Remove pre-8 code
    
    Commit 123f0fb1 (config: remove support for old FreeBSD releases)
    removed our support for FreeBSD releases before FreeBSD 8. However,
    various areas of code still reference the symbols from those old
    versions (e.g. AFS_FBSD53_ENV). Remove our ifdef logic for these old
    symbols, according to the following rules:
    
    - In FBSD-specific dirs, assume AFS_FBSD80_ENV is always true (as well
      as the symbols for earlier versions)
    
    - In non-FBSD dirs, convert AFS_FBSD80_ENV to AFS_FBSD_ENV (and do the
      same for all earlier versions)
    
    This allows us to remove code that was specific to older FreeBSD
    versions, and simplify some ifdef conditionals.
    
    Also remove the definitions for AFS_FBSD80_ENV and earlier versions in
    our existing param.h files.
    
    With this commit, the functions afs_start, afs_vop_lock,
    afs_vop_unlock, and afs_vop_islocked are now always unreferenced, so
    remove them.
    
    Reviewed-on: https://gerrit.openafs.org/13812
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 847b63af92dd527de31675a0c3c82c9a57e6c4b3)
    
    Change-Id: Icaaf660a95084a358d1ddf6fbc63944eff90492f
    Reviewed-on: https://gerrit.openafs.org/14529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dcda95f388426e6bf6ace5f86905f0cf695e8413
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jun 23 17:48:53 2019 -0500

    libafs: Create debug KMODDIR for FBSD debug inst
    
    Commit 99418024 (libafs: Create $(DESTDIR)$(KMODDIR) on FBSD inst)
    made it so we create the kmod installation dir before copying our
    module into it. However, if we build a 'debug' variant of our module,
    the FreeBSD build process also installs debug symbols in a different
    directory, ${DESTDIR}${KERN_DEBUGDIR}${KMODDIR}, which may not exist.
    So do the same thing for that dir too, if --enable-debug-kernel is
    turned on, so the build still works.
    
    To do this, introduce the LIBAFS_REQ_DIRS var, to make it easier to
    keep track of which dirs we may need to create.
    
    Reviewed-on: https://gerrit.openafs.org/13690
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 3bc03e7a5f8ef521e71a30cb8e66e07e2d1b4605)
    
    Change-Id: Idee5614e92b99bd1140a3cef971537fb68eec151
    Reviewed-on: https://gerrit.openafs.org/14528
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 44d7a30657d8b507e5d382c68b8411b8437c2af2
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 14 17:31:30 2019 -0500

    FBSD: Use ucontext for FreeBSD 10+ on amd64
    
    Currently, running any LWP program on recent FreeBSD on amd64 causes
    (or can cause) a SIGBUS very quickly. This is possibly because our
    stack management code in LWP only ensures our stacks are 4 or 8-byte
    aligned in most cases (except DARWIN, which gets 16-byte-aligned
    stacks), according to the value of STACK_ALIGN. The amd64 ABI mandates
    that stacks be 16-byte-aligned, and some function calls assume that
    this is followed, causing a SIGBUS when it is not. FreeBSD on amd64
    currently uses process.amd64.s for its savecontext() implementation,
    which does not do any checking or fixup of the stack alignment.
    
    This behavior has been observed on amd64 with FreeBSD 11 specifically,
    but it probably happens on any FreeBSD release when using clang.
    FreeBSD switched to clang as the default compiler with FreeBSD 10, so
    this probably occurs with FreeBSD 10 and newer.
    
    We could perhaps try to fix this by changing our stack management
    code, but we can also avoid most of this nonsense by just using
    ucontext instead of our custom assembly code. So, do that, by setting
    USE_UCONTEXT for FreeBSD 10+. Also enable the same 'stackvar'-based
    workaround in savecontext() as Linux uses, since otherwise 'topstack'
    appears to always be NULL, and triggers our stack overflow checks.
    
    Note that while LWP use is deprecated, as of this commit many small
    utilities (like 'fs') are still linked to LWP, and so are unusable
    without a fix like this.
    
    Reviewed-on: https://gerrit.openafs.org/13691
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0a39efee224e8d4431ae79281ca353a7ba6fdce4)
    
    Change-Id: I8cb4c20eb32c12310f41e38a3f40b132c919bace
    Reviewed-on: https://gerrit.openafs.org/14527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 56ec046f0137b217a55ff40cc66363c36b7e5c21
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 28 15:03:43 2019 -0500

    FBSD: Set KERNBUILDDIR for --with-bsd-kernel-build
    
    Currently, specifying --with-bsd-kernel-build during configure causes
    us to set BSD_KERNEL_BUILD, which sets KBLD in MakefileProto.FBSD.in,
    but nothing ever uses KBLD. This means that when we use
    --with-bsd-kernel-build, we don't actually build against the
    configuration for that kernel, which can result in a libafs.ko that
    cannot be loaded or causes other errors. Specifically, if trying to
    build for a VIMAGE kernel, the kernel complains when trying to load
    libafs:
    
        [...] kernel: link_elf_obj: symbol in_ifaddrhead undefined
        [...] kernel: linker_load_file: Unsupported file type
    
    The FreeBSD module build system looks for KERNBUILDDIR for an
    alternative build, which it uses to pull in opt_global.h and other
    required pieces from the build tree. So just specify KERNBUILDDIR if
    we have one.
    
    At the same time, avoid setting our default value for BSD_KERNEL_BUILD
    for FBSD when the calculated dir doesn't exist. At least for the
    default GENERIC kernel on FreeBSD 11.2-RELEASE, there may not be a
    build dir on the running machine, and so setting BSD_KERNEL_BUILD to
    the calculated value causes the build to fail when it doesn't exist.
    
    Reviewed-on: https://gerrit.openafs.org/13746
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8f9c92a888df7b2fd61a3e84aaf1d2c96a8b10dd)
    
    Change-Id: I7afc54121ac3a9d81a7a8005d53eb2ed5df489c1
    Reviewed-on: https://gerrit.openafs.org/14526
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit be3b02e7dee78f492090e89746167116e4f221fd
Author: Tim Creech <tcreech@tcreech.com>
Date:   Sun Mar 5 18:18:01 2017 -0500

    FBSD: Call CURVNET_SET/CURVNET_RESTORE for VIMAGE
    
    In commit 9703b023 (FBSD: VIMAGE support), we changed a couple of our
    variable references to their V_* equivalents, to accommodate kernels
    with VIMAGE turned on. This allows us to build, but causes us to crash
    whenever we hit that code when VIMAGE is enabled, because the relevant
    macros reference 'curvnet', which is NULL outside of networking code.
    
    What we're supposed to do is to set 'curvnet' before entering
    networking code by calling 'CURVNET_SET(xxx)', and reset it afterwards
    by calling 'CURVNET_RESTORE()'. We must make exactly one _RESTORE call
    for each _SET, and they are supposed to be run at the same level of
    scope.
    
    So to avoid the crashes, make the relevant CURVNET_* calls whenever we
    look at networking info. We currently only do this in a few places:
    
    - In afs_SetServerPrefs, to try to detect if a given server address is
      in the same network as one our local interfaces (V_in_ifaddrhead)
    
    - In rxi_GetIFInfo, for some MTU-related info (V_ifnet)
    
    - In rxi_FindIfnet, for some MTU-related info (ifa_ifwithnet)
    
    As for what vnet we actually set 'curvnet' to, we could set it to the
    vnet of the current thread (TD_TO_VNET(curthread)), or we could set it
    to the vnet of an associated network object (a socket, an interface,
    etc). Since all of our network-related code goes through Rx, in this
    commit we set curvnet to the vnet of the Rx socket
    (rx_socket->so_vnet).
    
    Note that VIMAGE is optional in 11-RELEASE, but is turned on by
    default in 12.0-RELEASE. For more information, see:
    https://wiki.freebsd.org/VIMAGE/porting-to-vimage
    
    [adeason@dson.org: Reworded commit message; moved some code around.]
    
    Reviewed-on: https://gerrit.openafs.org/12580
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1effc3517fdb4b4653d47c59bf67076567209324)
    
    Change-Id: I5fd8b2bf204790b1da6427fe72b8743a7aaa4f13
    Reviewed-on: https://gerrit.openafs.org/14525
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 642f9776c28933ac2769ef9ea67d316dd1c6cff5
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 14 22:53:39 2019 -0500

    FBSD: Remove unnecessary explicit osi_fbsd_alloc
    
    AFS_KALLOC is already defined to be osi_fbsd_alloc on FBSD, so this
    extra #ifdef here is completely unnecessary. Remove it.
    
    Do the same for AFS_KFREE/osi_fbsd_free.
    
    Reviewed-on: https://gerrit.openafs.org/13708
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit ad1fe5e1a825a3b3f88c04fd84613e4105206443)
    
    Change-Id: Ib62b52d040ffd4170a0bb556684244ee1f372401
    Reviewed-on: https://gerrit.openafs.org/14524
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a5f648e0ac84ecb6321752be5334e16b1b5051e
Author: Andrew Deason <adeason@dson.org>
Date:   Sat Jul 20 23:09:27 2019 -0500

    FBSD: Give 0 'rootrefs' to vflush on unmount
    
    Currently, in afs_unmount, we give vflush a 'rootrefs' arg of 1,
    indicating that we hold 1 reference on the root vnode. But ever since
    commit 6eb1088a (freebsd: properly track vcache references), we drop
    the ref for the root vnode at the beginning of this function.
    
    What happens currently in afs_unmount for a normal successful umount
    is something like this (at least, on FreeBSD 11.2-RELEASE):
    
    - We afs_PutVCache the afs_globalVp vcache, reducing its v_usecount
      and v_holdcnt to 0, and afs_globalVp is set to NULL.
    
    - vflush calls afs_root() to get the root vnode, which sees that
      afs_globalVp is NULL, and so calls afs_GetVCache for the root fid
      and returns it (and sets afs_globalVp to that vcache), with a
      v_usecount of 1.
    
    - vflush tries to vgonel() all of our vnodes, which calls our
      afs_vop_reclaim, which calls afs_FlushVCache(). For the root vnode
      specifically, vflush() sees that v_usecount is nonzero, and so skips
      calling vgonel() at first, but later calls vgone() on it
      specifically because we gave a nonzero 'rootrefs'. The resulting
      afs_FlushVCache() for the root vnode fails, because the root vnode's
      v_usecount is still 1. Since a failure from afs_vop_reclaim would
      cause a panic, we just log a warning and try to continue on anyway.
    
    - vflush() calls vrele() on the root vnode, right before returning.
    
    All of this allows the unmount to proceed, but this means that most of
    afs_FlushVCache() doesn't actually run for the root vcache, and it
    means we always log a warning like this on unmount:
    
        afs_vop_reclaim: afs_FlushVCache failed code 16 [...]
    
    In addition, this means that setting afs_globalVp at the beginning of
    afs_unmount() is largely pointless, since it gets set to a vcache
    again near the beginning of vflush().
    
    To avoid all of this, stop lying to vflush about how many references
    to the root vnode we hold, and just say that we hold 0 references.
    
    Reviewed-on: https://gerrit.openafs.org/13709
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d13b647aa392e1d802be1023930a8e1a07fb11ab)
    
    Change-Id: I7ca79ee5c10277d6ef94b5f317aa4ba091642ffd
    Reviewed-on: https://gerrit.openafs.org/14523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a4f5adb0cdc8493603f51422501b4a45b9e26c7f
Author: Tim Creech <tcreech@tcreech.com>
Date:   Sun Mar 5 18:17:23 2017 -0500

    FBSD: Handle F_UNLCK in VOP_ADVLOCK
    
    When a_fl->type is F_UNLCK, FreeBSD gives our VOP_ADVLOCK an a_op of
    F_UNLCK, instead of F_SETLK like we expect. This causes afs_lockctl to
    return EINVAL, since F_UNLCK isn't a normal fcntl lock op, and so
    userspace requests to unlock fcntl-style locks always fail. This can
    be seen, for example, when trying to use sqlite3 to access a database
    that lives in afs.
    
    This F_UNLCK behavior in FreeBSD seems a bit peculiar, but has been
    around effectively forever (since 4.4BSD-Lite). So just work around
    it.
    
    [adeason@dson.org: minor style adjustments and commit message/comment
    rewording.]
    
    Reviewed-on: https://gerrit.openafs.org/12579
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f5acf1b1bfe940faf0a6f4bd11c55d6c90f60242)
    
    Change-Id: I52d0c513aeabd54019fc6d7bb6c3b542e95b2dee
    Reviewed-on: https://gerrit.openafs.org/14522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@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 908be3fadb642578f1fb331d229910b386e559c9
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jun 23 17:48:53 2019 -0500

    libafs: Create $(DESTDIR)$(KMODDIR) on FBSD inst
    
    We rely on bsd.kmod.mk for our actual rules during 'make install', but
    that tries to install our kernel module into $(DESTDIR)$(KMODDIR),
    without creating it first. If the user tries to 'make install
    DESTDIR=/some/path' and that path doesn't exist, we will fail with
    something like:
    
    make DESTDIR=/home/adeason/git/destdir single_instdir_libafs
    /usr/bin/install -c -T release -o root -g wheel -m 555   libafs.ko /home/adeason/git/destdir/boot/modules/
    install: /home/adeason/git/destdir/boot/modules/: No such file or directory
    *** Error code 71
    
    To avoid this, add a dependency on the 'install' target which causes
    our target dir to be created.
    
    Reviewed-on: https://gerrit.openafs.org/13653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 99418024276c94da5982d7dad6126a8d53924d7e)
    
    Change-Id: I439b7b9514b3ab060c887003e0af19557fd2c812
    Reviewed-on: https://gerrit.openafs.org/14521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8d0651efeb11b248a2d1b9a00b97c2de9724c3d1
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Mar 22 12:46:17 2019 +0100

    Add param.h files and sysnames for FreeBSD 11.2
    
    Thanks to Måns Nilsson for filing the bug. Note that this change
    differs from the proposed patch in the report, in that it
    doesn't define the 10.4 symbols in the 11.2 param.h files.
    
    FIXES 134850
    
    Reviewed-on: https://gerrit.openafs.org/13534
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    (cherry picked from commit 2ee35afa339731f6a60f1e5e99ccaf63baa6c891)
    
    Change-Id: I6ba8ba41df12f1a5977f5b530aa1353902de5ebe
    Reviewed-on: https://gerrit.openafs.org/14520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b7bddcf63339a15d0e4c5cd0d56b3b44c428ed54
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 31 16:23:41 2016 -0400

    SOLARIS: provide cache manager stats via kstat
    
    Provide statistical information via the solaris kstat framework.  Data
    can be examined with the kstat tool or the kstat userspace api.
    
    The kstat module is called openafs. Three kstat names are provided.  The
    "param" name provides cache manager parameters as given by the cmdebug
    -cache program.
    
        # kstat -m openafs -n param
    
    The "cache" name provides cache manager statistics as given by the
    xstats plus some additional cache related stats. The "cache" name also
    provides the libafs kernel module version string and the current local
    cellname.
    
        # kstat -m openafs -n cache
    
    The "rx" name provides general rx statistics as given by rxdebug -rxstat.
    
        # kstat -m openafs -n rx
    
    Reviewed-on: https://gerrit.openafs.org/13170
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9338cb5fce2e38b864b8f957b6ea4c56c78d20f8)
    
    Change-Id: Ic70d766d7a112d673b6c5898da43b3eea11b1065
    Reviewed-on: https://gerrit.openafs.org/14518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4d768b764dbba492805d9e4a4af8474e1f7e0d2e
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 9 17:40:09 2018 -0400

    afs: consolidate duplicated wait-for-cache-drain code
    
    Consolidate duplicated logic into a new routine
    afs_MaybeWaitForCacheDrain().
    
    Reviewed-on: https://gerrit.openafs.org/13278
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 23bd776b0140deb596287869872a41de555ba99a)
    
    Change-Id: I31b04da2170dcdf795b8a50ea7ab78d964eeebf5
    Reviewed-on: https://gerrit.openafs.org/14517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit afa3802d065375f32876e150588cbce3b88c61e3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jun 20 15:29:45 2016 -0400

    afs: more cache truncation stats
    
    Add counters for cache too full and waiting to drain occurrences. These
    will be used in later commits to indicate how often the cache truncation
    is required and how often the cache manager is waiting for cache
    truncation to complete.
    
    Reviewed-on: https://gerrit.openafs.org/13168
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 25792e246362a201743533a970f90dbc77d0ed5c)
    
    Change-Id: I659cce58951c869ce40ff47b13aa79ab33cd26aa
    Reviewed-on: https://gerrit.openafs.org/14516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eee6a0cddcd31dafb1c67b3cf909496c232bca09
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 20 16:09:02 2020 -0400

    vol: prevent salvage segfault for orphaned vnode with out-of-range parent
    
    While salvaging a RW volume, salvager may segfault if it encounters an
    orphaned directory with a parent vnode that does not exist.  For
    example, if the large vnode index contains a maximum vnode of 2901, any
    parent vnode encountered that is larger than 2901 will result in an
    out-of-bounds reference to our vnode essence array, leading to a
    segfault or undefined behavior.
    
    Modify the logic to check for out-of-bounds parent vnodes, and log them
    rather than segfaulting.
    
    Reviewed-on: https://gerrit.openafs.org/14385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 750628da77bb71e24ed3061431bbb913ff8d5f72)
    
    Change-Id: Ib0cabde440d59394704967dd3ab2eb73f07aec22
    Reviewed-on: https://gerrit.openafs.org/14515
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9e608659f67da53213f376623526638bc10743e5
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Apr 20 00:57:28 2018 -0400

    rx: prevent leakage of non-cached rx_connections (pthread)
    
    The rxi_connectionCache (AFS_PTHREAD_ENV only) allows applications to
    reuse rx_connection structs.  Cached rx_connections are obtained via
    rx_GetCachedConnection and released via rx_ReleaseCachedConnection.
    This feature is used most heavily by libadmin and kauth, but there are
    other users in the tree as well.
    
    For instance, ubikclient routines ubik_ClientInit and ubik_ClientDestroy
    call rx_ReleaseCachedConnections (if AFS_PTHREAD_ENV) when disposing of
    their rx_connections.  Unfortunately, in many cases these rx_connections
    were obtained via rx_NewConnection, _not_ from the cache via
    rx_GetCachedConnection.  In those cases, rx_ReleaseCachedConnection will
    not find the rx_connection in the rxi_connectionCache, and thus it
    returns without doing anything.
    
    Therefore, when ubik_ClientInit is passed an existing ubik_client (for
    re-initialization) that contains rx_connections NOT allocated via
    rx_GetCachedConnection, those connections are not destroyed, but will be
    silently leaked.  Similarly, ubik_ClientDestroy will leak its
    rx_connections when it frees the ubik_client struct.
    
    For example, the fileserver host package calls ubik_ClientInit (via
    hpr_Initialize) and ubik_ClientDestroy (via hpr_End) to manage
    connections to the ptserver.  However, these connections were obtained
    via rx_NewConnection, not rx_GetCachedConnection.  If the fileserver has
    a failed call to the ptserver that sets prfail=1, the next RPC scheduled
    for that client (in CallPreamble) will refresh the thread's ubik_client
    (viced_uclient_key) by calling hprEnd -> ubik_ClientDestroy ->
    rx_ReleaseCachedConnection.  The "released" connections will be leaked.
    
    This problem exists in all versions of OpenAFS going back to IBM 1.0.
    Starting with 1.8.x, many components that were formerly LWP-only are now
    pthreaded and thus susceptible to this leak.
    
    It seems difficult and error-prone to identify all possible code paths
    that may pass a non-cached rx_connection to rx_ReleaseCachedConnection,
    and convert them to obtain connections via rx_GetCachedConnection.
    
    Instead, prevent all existing and future leaks by modifying the connection
    cache to:
    - flag all rx_connections it allocates
    - correctly release any rx_connection it is passed, whether they came
      from the cache or not.
    
    Reviewed-on: https://gerrit.openafs.org/13042
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bb5397e4c409e3c075ee73d6bf54a3b6eacc0060)
    
    Change-Id: Ia48e29a53a83211c1011eba24c16f78f7253d84b
    Reviewed-on: https://gerrit.openafs.org/14514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1e5496856b71dca6cc2fd0e54ea8dea4444e3867
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Apr 30 18:34:28 2018 -0400

    rx: fix out-of-range value for RX_CONN_NAT_PING
    
    Commit 496fb87372555f6acddd4fd88b03c94c85f48511 ("rx: avoid nat ping
    until connection is attached") introduced functionality to defer turning
    on NAT ping for server connections until after reachability had been
    established for the client.
    
    Unfortunately, this feature could never work correctly because it
    assigned an out-of-range flag value of 256 (0x100) for the u_char flags
    field. Instead of calling this out as an error, both gcc and Solaris cc
    elide this flag so that it is never set in
    rx_SetConnSecondsUntilNatPing(), Furthermore, the test in
    rxi_ConnClearAttachWait() will always fail; therefore
    rxi_ScheduleNatKeepAliveEvent is never called after attach wait has
    ended.
    
    Fortunately, this bug is currently moot - not actually exposed in
    OpenAFS. (It was discovered by inspection). This is because there are
    currently no rx_connection objects in the tree that have both NAT ping
    and checkReach (rx_SetCheckReach) enabled. I also searched git history
    and found no time when this bug could ever have been exposed. This does
    raise the question of why the original commit was needed; but instead of
    reverting the original commit, this commit attempts to fix it.
    
    To prevent problems if NAT ping and checkReach are ever both enabled for
    an rx_connection, enlarge the rx_connection flags member so that the
    RX_CONN_NAT_PING value is no longer out of range.
    
    Reviewed-on: https://gerrit.openafs.org/13041
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 55fca11421055d0bcee79f118ea2a035393cc6e5)
    
    Change-Id: I9b02ff06d7bf6ba0dfa30ed5ca17ddb89b517987
    Reviewed-on: https://gerrit.openafs.org/14513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8453eada315a87ce8fa3cbd54abecb94ed99a947
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 23 12:44:35 2020 -0600

    afs: Fix XBSD check for VNOVAL va_uid
    
    Commit e86eb73e (obsd-vattrs-20040125) introduced an XBSD-specific
    check to detect some unchanged attributes. But the #ifdef for XBSD for
    the va_uid section was added in the middle of an HPUX-specific block
    by mistake.
    
    Move this #ifdef one level higher, so it's actually used on BSD
    platforms.
    
    Reviewed-on: https://gerrit.openafs.org/14473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cd35aa9e2aec16d622177eeea1e1b3ec8aacdd45)
    
    Change-Id: I6a840cffc1e3dfc6df1237261aa3a21bb3b73fbc
    Reviewed-on: https://gerrit.openafs.org/14512
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee53dd3bc087a05e22fc4111297a51ddb30013f0
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 22 07:57:55 2021 -0700

    Linux 5.11: Test 32bit compat with in_compat_syscall
    
    Linux 5.11 removed the TIF_IA32 thread flag with commit:
      x86: Reclaim TIF_IA32 and TIF_X32 (8d71d2bf6efec)
    
    The flag TIF_IA32 was being used by openafs to determine if the task was
    handling a syscall request from a 32 bit process.  Building against a
    Linux 5.11 kernel results in a build failure as TIF_IA32 is undefined.
    
    The function 'in_compat_syscall' was introduced in Linux 4.6 as
    the preferred method to determine if a syscall needed to handle a
    compatible call (e.g. 32bit application).
    
    To resolve the build problem, use 'in_compat_syscall' if present (Linux
    4.6 and later) to determine if the syscall needs to handle a
    compatibility mode call.
    
    Add autoconf check for in_compat_syscall.
    
    Notes about in_compat_syscall:
    
    In Linux 4.6 'in_compat_syscall' was defined for all architectures with
    a generic return of 'is_compat_task', but allows architecture specific
    overriding implementations (x86 and sparc).
    
    At 4.6 (and later), the function 'is_compat_task' is defined only for
    the following architectures to return:
    
    Arch              Returns
    =======           ==============================
    arm64             test_thread_flag(TIF_32BIT);
    mips              test_thread_flag(TIF_32BIT_ADDR)
    parisc            test_ti_thread_flag(task_thread_info(t), TIF_32BIT)
    powerpc           is_32bit_task()
    s390              test_thread_flag(TIF_31BIT)
    sparc             test_thread_flag(TIF_32BIT)
    
    If the Linux kernel is not built with compat mode, is_compat_task and
    in_compat_syscall is set to always return 0
    
    Linux commit that introduced in_compat_syscall:
      compat: add in_compat_syscall to ask whether we're in a compat syscall
      (5180e3e24fd3e8e7)
    
    Reviewed-on: https://gerrit.openafs.org/14499
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 78ef922612bef5f5fd6904896e84b9d2ea802404)
    
    Change-Id: I4eca62f19ae58fd830915feff5098cec2825f099
    Reviewed-on: https://gerrit.openafs.org/14511
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4ad1057ab8fd206c9fa8d5e3bdde4f1a8417afdb
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 29 11:32:36 2021 -0700

    Linux: Refactor test for 32bit compat
    
    Refactor the preprocessor checks for determining the method to test for
    32bit compatibility (64bit kernel performing work for a 32bit task) into
    a common inline function, 'afs_in_compat_syscall' that is defined in
    LINUX/osi_machdep.h.  Update osi_ioctl.c and afs_syscall.c to use
    afs_in_compat_syscall.
    
    Add include afs/sysincludes into osi_machdep.h to ensure linux/compat.h
    is pulled for the functions called in afs_in_compat_syscall.
    
    Reviewed-on: https://gerrit.openafs.org/14500
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 32cc6b0796495e596262d84c428172a511f757c4)
    
    Change-Id: I746e5777737d49381c4a74627b79d2a61cbd4f8e
    Reviewed-on: https://gerrit.openafs.org/14510
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit aaa7043a154d35838e65bc28473355c452339bcc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 28 16:59:47 2021 -0600

    LINUX: Fix includes for fatal_signal_pending test
    
    Commit 8b6ae289 (LINUX: Avoid lookup ENOENT on fatal signals) added a
    configure test for fatal_signal_pending(). However, this check fails
    incorrectly ever since Linux 4.11, because fatal_signal_pending() was moved
    from linux/sched.h to linux/sched/signal.h in Linux commit 2a1f062a
    (sched/headers: Move signal wakeup [...]). Fix this by including
    linux/sched/signal.h if we have it during the configure test.
    
    A false negative on this configure test doesn't break the build, but
    it disables one of our safeguards preventing incorrect negative
    dentries at runtime. The function fatal_signal_pending() hasn't
    changed in quite some time (except for what header it lives in); it
    was introduced in Linux 2.6.25 via Linux commit f776d12d (Add
    fatal_signal_pending). So to try to avoid this mistake again in the
    future, make it so a missing fatal_signal_pending() breaks the build
    if we're on Linux 2.6.25+.
    
    Reviewed-on: https://gerrit.openafs.org/14508
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0c1465e4f3310daa54f1e799f76237604222666d)
    
    Change-Id: I1334c060f8ab5733461ebf7c191dffa7be830021
    Reviewed-on: https://gerrit.openafs.org/14509
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    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 25d6d88dec67b3ab2a04a1f94baf04291fdb63d6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 19 12:18:08 2019 -0500

    rx: Avoid new server calls for big-seq DATA pkts
    
    We currently never open our receive window to more than 32 packets. If
    we received a DATA packet for an unrecognized call with a seq of 33 or
    more, the packet is almost certainly from a previously-running call
    that we were restarted during.
    
    As described in commit 7b204946 (rx: Avoid lastReceiveTime update for
    invalid ACKs) and commit "rx: Avoid new server calls for non-DATA
    packets", clients can get confused when we respond to calls in these
    situations, so drop the packets instead.
    
    Reviewed-on: https://gerrit.openafs.org/13876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a36832e2d891caab8644a3b4641c7c94fab4105f)
    
    Change-Id: I72f903b81a205bb3e64862da03f9c1c76cc37b75
    Reviewed-on: https://gerrit.openafs.org/14507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5bbbbe37ac7ffece710f55c471a34e5fc89543a8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 8 18:18:22 2019 -0400

    rx: Avoid new server calls for non-DATA packets
    
    Normally, a client starts a new Rx call by sending DATA packets for
    that call to a server, and rxi_ReceiveServerCall on the server creates
    a new call struct for that call (since we don't recognize it as an
    existing call).
    
    Under certain circumstances, it's possible for a server to see a
    non-DATA packet as the first packet for a call, and currently
    rxi_ReceiveServerCall will create a new server call for any packet
    type. The call cannot actually proceed until the server receives data
    from the client (and goes through the challenge/response auth
    handshake, if needed), but usually this is harmless, since the
    existence of any packets for a particular call channel indicate that
    the client is trying to run such a call. The server will respond to
    the client with ACKs to indicate that it is missing the needed DATA
    packet(s), and the client will send them and the call can proceed.
    
    However, if a call is in the middle of running when the server is
    restarted, the client may be sending ACKs for a pre-existing call that
    the server doesn't know about. In this case, the server generates ACKs
    that indicate the server has not received any DATA packets, which may
    appear to violate the protocol, depending on the prior state of the
    call (e.g. the server appears to try to move the window backwards).
    
    Clients should be able to detect this and kill the call, but many do
    not. For many OpenAFS releases before commit 7b204946 (rx: Avoid
    lastReceiveTime update for invalid ACKs), the client will get confused
    in this situation and will keep the call open forever, never making
    progress.
    
    There isn't any benefit to creating a new server call in these
    situations, so just ignore non-DATA packets for unrecognized calls, to
    avoid stalled calls from such clients. Those clients will not get a
    response from the server, and so the call will eventually die from the
    normal Rx call timeout.
    
    Reviewed-on: https://gerrit.openafs.org/13758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3f9a08db86f951df3f6f69f1143f17dd7b43b150)
    
    Change-Id: Iaf8ee360f8aa634b5a7728866e41de267389e1f3
    Reviewed-on: https://gerrit.openafs.org/14506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d5743ef92a92fe298d68ae4095bf4d4515971f7f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 27 22:58:23 2019 -0500

    rx: Avoid lastReceiveTime update for invalid ACKs
    
    Currently, we ignore ACK packets in a few cases:
    
    - If the ACK appears to move the window backwards (if firstPacket is
      smaller than call->tfirst).
    
    - If the ACK appears to have been received out of order (if
      previousPacket is smaller than call->tprev).
    
    - If the ACK packet appears truncated.
    
    In all of these cases, we ignore the ACK packet completely in our ACK
    processing code (rxi_ReceiveAckPacket), but we still process the
    packet at higher levels (rxi_ReceivePacket). Notably, this means we
    update call->lastReceiveTime after rxi_ReceiveAckPacket returns, even
    for ACK packets we haven't really looked at.
    
    Normally this does not cause any noticeable problems, because such
    packets should either never be encountered, or only consist of a small
    number of packets that are mixed in with valid packets.
    
    However, if our peer is a server, and it is restarted in the middle of
    a call, our peer may exclusively send us packets that fall into the
    above categories. (This does not happen if our peer is a client,
    because clients just ignore packets for calls they do not recognize.)
    For example:
    
    Consider a call where a client is sending data to a server, and the
    server restarts after the client has sent a DATA packet with sequence
    number 1000. The server may then start responding to the client with ACKs
    with firstPacket set to 1, since the restarted server has no knowledge
    of the call's state.
    
    In this case, a firstPacket of 1 is well below where our window was,
    so all of the ACKs from the server are ignored. But we keep updating
    call->lastReceiveTime for all of these packets, and so the call stays
    alive forever until an idle-dead or hard-dead timeout activates (if
    any are set).
    
    As another example, consider the case where a client is sending data
    to a server, and the server receives a full window of packets (say, 16
    packets), has not yet passed any data to the application yet, and the
    server restarts. The restarted server then starts responding to the
    client with ACKs with firstPacket set to 1, and previousPacket set to
    0. We also ignore all of the ACKs from the server in this case,
    because even though firstPacket looks sane, it looks like
    previousPacket has gone backwards. We still update
    call->lastReceiveTime for each ignored ACK we get, keeping the call
    alive.
    
    Before commit 4e71409f (Rx: Reject out of order ACK packets) was
    introduced in 1.6.0, neither of these issues could occur. That commit
    introduced the issue specifically if previousPacket goes backwards;
    that is, if the server restarts before firstPacket moves forwards.
    
    Commit 8d359e6d (rx: Remove duplicate out of order ACK check) in 1.8.0
    introduced the issue when 'firstPacket' goes backwards, since
    previously the FIRSTACKOFFSET-based check caused us to ignore those
    packets without updating call->lastReceiveTime. That is, if the server
    restarts after firstPacket moves forwards.
    
    In this commit, we still ignore packets in the above cases, but we
    also avoid updating lastReceiveTime when we update such packets, to
    make sure that we do not keep a call alive solely from receiving these
    invalid packets.
    
    Alternatively, we could change our logic to immediately abort calls
    where firstPacket moves backwards (since this violates the Rx
    protocol), or to not ignore some packets where previousPacket goes
    backwards (since these calls may be recoverable). And we could also
    skip updating lastReceiveTime for invalid packets of other types. But
    for now, this commit just avoids updating lastReceiveTime for invalid
    ACK packets, in order to just try to restore our behavior before
    1.6.0, while still retaining the benefits of ignoring out-of-order
    ACKs. Further changes in this area can potentially be handled
    separately by future commits.
    
    Also increment the spuriousPacketsRead counter for packets that we
    ignore in this way (which we used to do for some packets before commit
    8d359e6d), so we are not entirely silent about ignoring them.
    
    Written in collaboration with mvitale@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/13875
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7b204946010673506e0f74991f59a0865292199c)
    
    Change-Id: I8e0299bdeedb005fe49a2d1c4a00a21301fbbb04
    Reviewed-on: https://gerrit.openafs.org/14505
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 49975e8b07c340cb675445015f41474dc39cd535
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 28 17:12:53 2019 -0500

    rx: Introduce ack_is_valid
    
    Take some of our existing logic for ignoring invalid ACK packets and
    split it out into a separate function, ack_is_valid. This just makes
    it easier to add more complex logic in here and write longer comments
    explaining the decisions.
    
    Note that the bug mentioned regarding the previousPacket field was
    introduced in IBM AFS 3.5, and was fixed in OpenAFS in commit bbf92017
    (rx: rxi_ReceiveDataPacket do not set rprev on drop), included in
    OpenAFS 1.6.23.
    
    This commit incurs no functional change; it is just code
    reorganization.
    
    Reviewed-on: https://gerrit.openafs.org/13874
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f6490629e1239c412002f316804c656c9be61400)
    
    Change-Id: I5d0ee9b7fc56659e445705a01d5d90141eb8cfe2
    Reviewed-on: https://gerrit.openafs.org/14504
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c32ad5017d48640ea7f6430f844324b3d7fd90b5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 2 13:52:25 2020 -0600

    rx: For AFS_RXERRQ_ENV, retry sendmsg on error
    
    When AFS_RXERRQ_ENV is defined, we currently end up doing something
    like this for our sendmsg abstractions:
    
        if (sendmsg(...) < 0) {
            while (rxi_HandleSocketError(sock))
                ;
            return error;
        }
        return success;
    
    This means that when sendmsg() returns an error, we process the socket
    error queue before returning an error.
    
    The problem with this is that when we receive an ICMP error on our
    socket, it creates a pending socket error that is returned for any
    operation on the socket. So, if we receive an ICMP error after trying
    to contact any peer, sendmsg() could return an error when trying to
    send for any other peer. Even though there is no issue preventing us
    from sending the packet, we'll fail to actually send the packet
    because sendmsg() returned an error. This effectively causes an extra
    outgoing packet drop, possibly delaying the related RPC.
    
    To avoid this, change Rx to retry the sendmsg call when it returns an
    error, since the error may be due to an unrelated ICMP error.
    
    To avoid needing to implement this retry loop in multiple places, move
    around our sendmsg code for AFS_RXERRQ_ENV, so that the higher-level
    function rxi_NetSend performs the retry and checks for socket errors
    (instead of the lower-level rxi_Sendmsg or osi_NetSend). Also change
    our functions to process socket errors to be more consistent between
    kernel and userspace: now we always have rxi_HandleSocketErrors, which
    runs a loop around the platform-specific osi_HandleSocketError.
    
    With this commit, osi_HandleSocketError is now required to be
    implemented when AFS_RXERRQ_ENV is defined. We hadn't been
    implementing this for UKERNEL, so just turn off AFS_RXERRQ_ENV for
    UKERNEL.
    
    Thanks to mbarbosa@sinenomine.net for discovering and providing
    information about the relevant issue.
    
    Reviewed-on: https://gerrit.openafs.org/14424
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5c9234694543f206174d30e21886286d419fd8df)
    
    Change-Id: I1b21ba4d2b98abae240cb683d6061462db028431
    Reviewed-on: https://gerrit.openafs.org/14503
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a6173b39a874d7cce3a826d7b4dce58ee6a48983
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 2 13:16:41 2020 -0600

    rx: Save errno in pthread rxi_Sendmsg
    
    Currently, our pthread version of rxi_Sendmsg uses 'errno' in some
    logic if sendmsg fails, but we do so after calling functions that
    might alter errno (e.g. fflush).
    
    To make sure we get the correct errno value, save the value of errno
    right after sendmsg returns an error. Reorganize this function a bit
    to help make the logic easier to follow.
    
    Reviewed-on: https://gerrit.openafs.org/14423
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit eff7fa4b2eb9a3001dc18dca157ccbd5f19f89b6)
    
    Change-Id: Ie761bf8fbf930718d933fdc2d0ad6961b2660607
    Reviewed-on: https://gerrit.openafs.org/14502
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5b6ea9e9bd37d17b1cf29bb8ef377091ffccae69
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 9 12:38:45 2020 -0600

    aklog: Make dummy write AIX-specific
    
    This weird write() call exists to work around some old AIX-specific
    bug. The ifdef looks like it is intended to restrict this to pre-5
    AIX, but it also turns this on for all non-AIX platforms.
    
    Make this area AIX-specific, to avoid this weird write on other
    platforms that have nothing to do with the relevant workaround.
    
    Reviewed-on: https://gerrit.openafs.org/14022
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6ee2d6de7d87c93c849f3afbe4326906e4c10852)
    
    Change-Id: Iaa84f1c1df57f9b0749c2577e496fbf8740e48c1
    Reviewed-on: https://gerrit.openafs.org/14483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7d7b3f06bb72aa2969b164ff71d61d723628f52c
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Aug 28 17:26:41 2019 +0530

    aklog: avoid infinite lifetime tokens by default
    
    Currently we get tokens for infinite lifetime using aklog impersonate
    feature. Based on inputs from Ben, this was done for server to server
    tickets to be valid forever.  However on 1.8.x we have other
    mechanisms that were usable for server-to-server authentication with
    strong enctypes, so we do not need to provide user level akimpersonate
    to generate tokens for infinite lifetime. For this we have added new
    option -token-lifetime <hrs>, this can take values from 0 to 720
    hours. If 0 is specified it means tokens will have infinite lifetime.
    By default 10 hours will be token lifetime for akimpersonate tokens.
    
    Reviewed-on: https://gerrit.openafs.org/13828
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1de602aaada15df1008140784092c2a76a2613a1)
    
    Change-Id: I032431ab1b8b174ac8d80322b688dc2a7285b8fa
    Reviewed-on: https://gerrit.openafs.org/14482
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 97400f8a8c1b5756f67cf5434a65faa9a5d3d22b
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Aug 28 17:04:31 2019 +0530

    aklog: use any enctype in get_credv5
    
    We currently always pass DES as the requested enctype to
    get_credv5_akimpersonate, but this means we will fail to use our
    service princ if we're using another enctype (say, AES) with rxkad-k5.
    To allow this to work with any enctype, just don't pass any requested
    enctypes, and just use the enctype inside the 'entry' returned to us
    from krb5_kt_get_entry.
    
    Remove all of the logic associated with the now-unused
    "allowed_enctypes" argument. Also remove the logic handling the case
    where "service_principal" is NULL (since no callers pass a NULL
    service_principal), to make it easier to take out the allowed_enctypes
    related code.
    
    Reviewed-on: https://gerrit.openafs.org/13827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 276bd5c7f8a2ec7673d2ad084566203eb2055938)
    
    Change-Id: Ia4b2cab3b2cd81214683dc00d7092a302d5af1bd
    Reviewed-on: https://gerrit.openafs.org/14481
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 93f21573642f01e906f6711bae13006cc708f0d3
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Aug 28 16:43:35 2019 +0530

    aklog: retry getting tokens for KRB5_KT_NOTFOUND error
    
    If we're creating tokens with -keytab and our AFS service principal is
    afs@<cellname>, we'll first try creating tokens with
    afs/<cellname>@<cellname> and krb5_kt_get_entry will fail with
    KRB5_KT_NOTFOUND. Since we do not retry for KRB5_KT_NOTFOUND error, we
    will not get tokens. So in order to get tokens for principal
    afs@<cellname> we should retry for KRB5_KT_NOTFOUND error. Thanks to
    jpjanosi@us.ibm.com for finding this issue and suggesting a fix.
    
    Reviewed-on: https://gerrit.openafs.org/13826
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 7a13bce2513baf5a3a61db94f3d88232241cea5b)
    
    Change-Id: I4f4dfb4c1372aef88a938d1b96d012a3f6bb4218
    Reviewed-on: https://gerrit.openafs.org/14480
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 26c1720b2c18cdda1807424d96547342248aa64c
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Aug 28 16:25:49 2019 +0530

    aklog: Use HAVE_ENCODE_KRB5_ENC_TKT_PART for aklog impersonate
    
    In get_credv5_akimpersonate we use HAVE_ENCODE_KRB5_ENC_TKT which is not
    defined, due to this we always return -1 from this routine for non
    Heimdal case. We have a another define i.e
    HAVE_ENCODE_KRB5_ENC_TKT_PART which is defined if
    encode_krb5_enc_tkt_part function is present. In current code
    encode_krb5_enc_tkt_part is called from krb5_encrypt_tkt_part and
    krb5_encrypt_tkt_part is called from get_credv5_akimpersonate for non
    Heimdal case. So we should change HAVE_ENCODE_KRB5_ENC_TKT to
    HAVE_ENCODE_KRB5_ENC_TKT_PART.
    Also while we're here, add a declaration for the internal function
    encode_krb5_ticket, so we can build this newly-enabled code without
    warnings.
    
    Reviewed-on: https://gerrit.openafs.org/13825
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 6559297610de0f71c9050f3582d4d146e0cc1f3c)
    
    Change-Id: Ia89cdbf23160c71e5b65b8220e1c1f73f1055064
    Reviewed-on: https://gerrit.openafs.org/14479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e262f3a22d209b147d56e302634f95ffc37b007b
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Sat Aug 10 02:54:38 2019 +0530

    aklog: Free client/server princs in get_credv5
    
    Inside get_credv5, client_principal is static so the first time
    get_credv5 runs we'll allocate memory for it, and on subsequent calls
    we'll reuse the same value.
    
    However, if we call get_credv5_akimpersonate, we'll free
    client_principal and never change what client_principal points to. If we
    need to call get_credv5 again (because we need to retry getting creds),
    we'll reuse the old value for client_principal, but since it points to
    free memory we'll segfault or cause other problems.
    
    To avoid this, change get_credv5 so we allocate the client and server
    principals on each invocation of get_credv5 and free them before
    returning from get_credv5. Since we free the client and server
    principals inside get_credv5, remove freeing the client and server
    principals inside get_credv5_akimpersonate.
    
    Reviewed-on: https://gerrit.openafs.org/13761
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ab8b28540ef17d67db02d5dbcb7585443c164e45)
    
    Change-Id: I818202660be4522bd49bf207c59d202ed8adf88d
    Reviewed-on: https://gerrit.openafs.org/14478
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8e98d9c1cad3afef5508dcc16cc04946be43d9b8
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Sat Aug 10 02:41:01 2019 +0530

    aklog: free kbr5_creds before returning from rxkad_get_token
    
    rxkad_get_ticket allocates 'v5cred' which should be freed when we
    return from rxkad_get_token.
    
    Reviewed-on: https://gerrit.openafs.org/13760
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 130a92214cc0b9a8f4ea24a3dcd3ed04575e3c4e)
    
    Change-Id: I02720f37c71ee56b4bd3d79d5f3e06c3ee647c9b
    Reviewed-on: https://gerrit.openafs.org/14477
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 563f5b2915a4a43b2642dba8287b3d6d36d5b3c8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Jan 9 12:47:09 2021 -0600

    WINNT: Restore missing '#ifdef PC'
    
    Commit 339167ef (Remove dead code) meant to remove the '#ifdef notdef'
    block in here, but we accidentally also removed the subsequent '#ifdef
    PC'.
    
    This file may not be very important, since WINNT still builds with
    this mistake, but an unbalanced #ifdef is potentially super confusing,
    so fix it.
    
    Reviewed-on: https://gerrit.openafs.org/14487
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2971dcb3b4da04fff3f4bd9c3d3e3f0ab7a94cae)
    
    Change-Id: I273ad30d38d7a41e7ec662994d91e084c24194bb
    Reviewed-on: https://gerrit.openafs.org/14490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 734c7650597b461848829f0706b6a5be29e9fbb9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 10 15:14:28 2019 -0500

    Remove dead code
    
    There is a perhaps-surprisingly large amount of code disabled behind
    directives like '#if 0', '#ifdef notdef', and '#ifdef notyet'. At
    best, this code is clutter, and at worst some of it is
    confusing/outdated, and/or confusingly nested inside other
    preprocessor conditionals. Sometimes this disabled code shows up when
    grepping the tree, and causes a nuisance when refactoring related
    areas of code.
    
    Get rid of all of it. If anyone ever wants this code back, it can
    always be restored by reverting portions of this commit.
    
    Also delete some comments that clearly refer to the disabled code, and
    in some cases, adjust the adjacent comments to make sense accordingly.
    
    This commit doesn't touch any files in src/external/.
    
    Reviewed-on: https://gerrit.openafs.org/13683
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 339167ef1fda899655969f4572ff95271dfdb7cf)
    
    Change-Id: I440b01de0fdb0ef2602557bf3fa35dcdf9a22cdc
    Reviewed-on: https://gerrit.openafs.org/14476
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7e42148ee75ff523cd232658fd3f46945f5920ce
Merge: 5004f888e32e 06b800f6f102
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 14 14:24:38 2021 -0800

    Merge branch 'openafs-stable-1_8_7-branch' into openafs-stable-1_8_7
    
    Record the history of the 1.8.7 emergency patch release.
    Resolve the nominal conflict in configure.ac due to 1.8.7 bumping
    the version and openafs-stable-1_8_x removing the LINUX_PKGREL variable.
    
    Change-Id: Ifa719bcec3948b2634841fba90e835f9db088dd6

commit 06b800f6f1022fa4b86eb9023b75028f2e2cfeab
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 14 13:08:41 2021 -0800

    Make OpenAFS 1.8.7
    
    Update version strings for the 1.8.7 emergency patch release.
    
    Change-Id: I665bedad864b1c2cbbe55978d6b06e917ed26faa

commit f3b5c62660a48f693897d2faa1cecfd1c10307de
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 14 13:06:18 2021 -0800

    Update NEWS for 1.8.7
    
    Add the release notes for the 1.8.7 emergency patch release.
    
    Change-Id: I813f11e4e72c12cb927f66472b099febbf3d899f

commit 81a3600bfdcc122d43c75720e83317dcc2a9e6a1
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 14 10:20:59 2021 -0800

    Remove overflow check from update_nextCid
    
    The rx_nextCid global has been an unsigned type since
    http://gerrit.openafs.org/11106 (which was actually merged before
    the refactoring of overflow check to avoid signed integer overflow)
    and thus there is no need to avoid signed overflow.  The per-connection
    cid has been unsigned since the IBM import.
    
    The natural unsigned behavior on overflow of wrapping is the desired
    behvaior here, so just remove the extra logic and always increment.
    
    Reviewed-on: https://gerrit.openafs.org/14496
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 43ef1f2a5d80aa1c3f5b4831ada8e776ac0c7d13)
    
    Change-Id: I64fabe5229039f7af040902ed2e6f03dba7bc14d
    Reviewed-on: https://gerrit.openafs.org/14497
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 5004f888e32e8274fcd8a28a7bff6aa3a79f41c8)

commit 6f898c4c711d0aff7ea452670164802b5e423c18
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jan 14 09:57:13 2021 -0500

    rx: update_nextCid overflow handling is broken
    
    The overflow handling in update_nextCid() produces a rx_nextCid
    value of 0x80000001 which itself is out of the valid range.   When
    used to construct the first call of a new connection the connection
    id for the call becomes 0x80000002, and all subsequent connections
    also trigger the overflow handling and thus also receive connection
    id 0x80000002.
    
    If the same connection id is used for multiple connections from
    the same endpoint the accepting rx peer will be very confused.
    
    When authenticated connections are used, the CHALLENGE/RESPONSE
    will fail because of a mismatch in the connection's callNumber
    array.
    
    If an initiator makes only a single connection to a given rx peer,
    that connection would succeed, but once multiple connections are
    initiated all communication from a broken initiator to any rx peer
    will fail.
    
    The incorrect overflow calculation was introduced by
    39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
    generation into the rx core").
    
    This change corrects the overflow value to become
    
      1 << RX_CIDSHIFT
    
    Reviewed-on: https://gerrit.openafs.org/14492
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2c0a3901cbfcb231b7b67eb0899a3133516f33c8)
    
    Change-Id: I74d70706ddf99022bed639891cb610fba9ef863d
    Reviewed-on: https://gerrit.openafs.org/14494
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f5ed8c2fac4c94914099881250f5f2e893f3f9f7)

commit 54c56dfa423bac14db117f5ec641ebe0eda705e3
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jan 14 09:41:39 2021 -0500

    rx: rx_InitHost do not overwrite RAND_bytes rx_nextCid
    
    39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
    generation into the rx core") introduced the use of RAND_bytes()
    to generate the initial 'rx_nextCid' but failed to remove the
    
      rx_nextCid = ((tv.tv_sec ^ tv.tv_usec) << RX_CIDSHIFT;
    
    assignment inherited from IBM/Transarc.
    
    At Thu, 14 Jan 2021 08:25:36 GMT the IBM inherited calculation
    overflows the value CID range.   This triggers broken overflow
    logic in update_nextCid().
    
    Reviewed-on: https://gerrit.openafs.org/14491
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a3bc7ff1501d51ceb3b39d9caed62c530a804473)
    
    Change-Id: If5f7d4ba1cacc6978c83fd512653fbaa0c1559d8
    Reviewed-on: https://gerrit.openafs.org/14493
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit a41fe24be574f35ca852fc3ea9750e370cdb71d0)

commit 5004f888e32e8274fcd8a28a7bff6aa3a79f41c8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 14 10:20:59 2021 -0800

    Remove overflow check from update_nextCid
    
    The rx_nextCid global has been an unsigned type since
    http://gerrit.openafs.org/11106 (which was actually merged before
    the refactoring of overflow check to avoid signed integer overflow)
    and thus there is no need to avoid signed overflow.  The per-connection
    cid has been unsigned since the IBM import.
    
    The natural unsigned behavior on overflow of wrapping is the desired
    behvaior here, so just remove the extra logic and always increment.
    
    Reviewed-on: https://gerrit.openafs.org/14496
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 43ef1f2a5d80aa1c3f5b4831ada8e776ac0c7d13)
    
    Change-Id: I64fabe5229039f7af040902ed2e6f03dba7bc14d
    Reviewed-on: https://gerrit.openafs.org/14497
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>

commit f5ed8c2fac4c94914099881250f5f2e893f3f9f7
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jan 14 09:57:13 2021 -0500

    rx: update_nextCid overflow handling is broken
    
    The overflow handling in update_nextCid() produces a rx_nextCid
    value of 0x80000001 which itself is out of the valid range.   When
    used to construct the first call of a new connection the connection
    id for the call becomes 0x80000002, and all subsequent connections
    also trigger the overflow handling and thus also receive connection
    id 0x80000002.
    
    If the same connection id is used for multiple connections from
    the same endpoint the accepting rx peer will be very confused.
    
    When authenticated connections are used, the CHALLENGE/RESPONSE
    will fail because of a mismatch in the connection's callNumber
    array.
    
    If an initiator makes only a single connection to a given rx peer,
    that connection would succeed, but once multiple connections are
    initiated all communication from a broken initiator to any rx peer
    will fail.
    
    The incorrect overflow calculation was introduced by
    39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
    generation into the rx core").
    
    This change corrects the overflow value to become
    
      1 << RX_CIDSHIFT
    
    Reviewed-on: https://gerrit.openafs.org/14492
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2c0a3901cbfcb231b7b67eb0899a3133516f33c8)
    
    Change-Id: I74d70706ddf99022bed639891cb610fba9ef863d
    Reviewed-on: https://gerrit.openafs.org/14494
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit a41fe24be574f35ca852fc3ea9750e370cdb71d0
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jan 14 09:41:39 2021 -0500

    rx: rx_InitHost do not overwrite RAND_bytes rx_nextCid
    
    39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
    generation into the rx core") introduced the use of RAND_bytes()
    to generate the initial 'rx_nextCid' but failed to remove the
    
      rx_nextCid = ((tv.tv_sec ^ tv.tv_usec) << RX_CIDSHIFT;
    
    assignment inherited from IBM/Transarc.
    
    At Thu, 14 Jan 2021 08:25:36 GMT the IBM inherited calculation
    overflows the value CID range.   This triggers broken overflow
    logic in update_nextCid().
    
    Reviewed-on: https://gerrit.openafs.org/14491
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a3bc7ff1501d51ceb3b39d9caed62c530a804473)
    
    Change-Id: If5f7d4ba1cacc6978c83fd512653fbaa0c1559d8
    Reviewed-on: https://gerrit.openafs.org/14493
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit b65b33da4e65e2c981ce264ef4fa4e3e4c94b732
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 17 15:44:55 2020 -0400

    vldb_check: Check for volume lock inconsistencies
    
    Verify the a lock timestamp is set if, and only if, a lock volume
    operation flag is also set.
    
    When running vldb_check with the -fix option, fix the inconsistent
    entries by setting the lock timestamp to the current time if a lock flag
    is set, or by setting the VLOP_DELETE flag if the lock timestamp is set
    but no lock flags are set. (The VLOP_DELETE flag is the flag set by the
    'vos lock command, and is shown in vos output as "delete/misc".)
    
    Volume lock fields can be put into an inconsistent state, at least, by
    interupted vos rename operations, due to bugs in vos rename. When the
    volume lock timestamp and lock flags are in this inconsistent state, the
    volume is locked, but that is not indicated by 'vos listvldb'. The
    volume can be unlocked by issuing 'vos unlock'.
    
    Reviewed-on: https://gerrit.openafs.org/14307
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4c33820525af510a8a937289005e39d5b6683b19)
    
    Change-Id: Ia894139145d92948b2af43bd115792556131cd5a
    Reviewed-on: https://gerrit.openafs.org/14450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 37187ba29454cba5a79eebff6251d6ff145907cf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 18 12:09:38 2020 -0500

    auth: Close fd on SetExtendedCellInfo write error
    
    Currently, and since OpenAFS 1.0, if write() fails here, we leak the
    file descriptor. A write() failure should be very unlikely, but close
    the fd to make sure we avoid the leak.
    
    Reviewed-on: https://gerrit.openafs.org/14213
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c81579dc7b0c0ac6bc34f63384d705a4445c2bbd)
    
    Change-Id: I4dd96cca2fd9c01390fb508ab12d507ab1a56c8b
    Reviewed-on: https://gerrit.openafs.org/14461
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b201d2a3a97830d34ea5b76c9c2d5d3adc1a54a6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 26 15:48:00 2018 -0500

    Remove DUX/OSF code
    
    Remove code for DUX/OSF platforms. DUX code was removed from the
    libafs client in commit 392dcf67 ("Complete removal of DUX client
    code") and the alpha_dux* param files were removed in dc4d9d64 ("afs:
    Remove AFS_BOZONLOCK_ENV"). This code has always been disabled since
    those commits, so remove any code referencing AFS_DUX*_ENV,
    AFS_OSF_ENV, and related symbols.
    
    Reviewed-on: https://gerrit.openafs.org/13260
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6534b10a4180ec10bceebbc11405718e7969fa21)
    
    Change-Id: I632636fe6c5111b60c5b586c346ecc10ccfa8f3c
    Reviewed-on: https://gerrit.openafs.org/14452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c55607d732a65f8acb1dfc6bf93aee0f4409cecf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 26 12:35:32 2020 -0500

    LINUX: Return errors in our d_revalidate
    
    In our d_revalidate callback (afs_linux_dentry_revalidate), we
    currently 'goto bad_dentry' when we encounter any error. This can
    happen if we can't allocate memory or some other internal errors, or
    if the relevant afs_lookup call fails just due to plain network
    errors.
    
    For any of these cases, we'll treat the dentry as if it's no longer
    valid, so we'll return '0' and call d_invalidate() on the dentry.
    However, the behavior of d_invalidate changed, as mentioned in commit
    afbc199f1 (LINUX: Avoid d_invalidate() during
    afs_ShakeLooseVCaches()). After a certain point in the Linux kernel,
    d_invalidate() will also effectively d_drop() the given dentry,
    unhashing it. This can cause getcwd() calls to fail with ENOENT for
    those directories (as mentioned in afbc199f1), and can cause
    bind-mount calls to fail similarly during a small window.
    
    To avoid all of this, when we encounter an error that prevents us from
    checking if the dentry is valid or not, we need to return an error,
    instead of saying 'yes' or 'no'. So, change
    afs_linux_dentry_revalidate to jump to the 'done' label when we
    encounter such errors, and avoid calling d_drop/d_invalidate in such
    cases. This also lets us remove the 'lookup_good' variable and
    consolidate some of the related logic.
    
    Important note: in older Linux kernels, d_revalidate cannot return
    errors; callers just interpreted its return value as either 'valid'
    (non-zero) or 'not valid' (zero). The treatment of negative values as
    errors was introduced in Linux commit
    bcdc5e019d9f525a9f181a7de642d3a9c27c7610, which was included in
    2.6.19. This is very old, but technically still above our stated
    requirements for the Linux kernel, so try to handle this case, by
    jumping to 'bad_dentry' still for those old kernels. Just do this with
    a version check, since no configure check can detect this (no function
    signatures changed), and the only Linux versions that are a concern
    are quite old.
    
    Reviewed-on: https://gerrit.openafs.org/14417
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 78e5e1b0e54b31bb08b7578e86a6a2a95770d94c)
    
    Change-Id: I9f9e2cd3a10cc8fa30a770cabd6ae9757f412ce5
    Reviewed-on: https://gerrit.openafs.org/14451
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dc5e7825fb166ecdb32fc7b63b4a5316037de652
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Apr 20 14:51:08 2020 -0400

    vos: avoid 'half-locked' volume after interrupted 'vos rename'
    
    Reported symptoms:
    
    If a 'vos rename' is interrupted after it has locked the volume and
    replaced the VLDB entry, but before it has unlocked the volume, the
    volume will remain locked.  However, the locked volume will NOT be
    listed as locked in any vos commands that display locked status (see
    below for details).
    
    Background:
    
    Most vos write operations lock the VLDB volume entry before proceeding,
    then release the volume lock when finished.  This is accomplished via
    VL_SetLock and VL_ReleaseLock, respectively.
    
    VL_SetLock always sets these members in the VLDB volume entry:
    - flags is modified to set the required VLOP_* code bit as specified
    - LockAFSid is set to 0 (never implemented)
    - LockTimestamp is set to the current time
    
    VL_ReleaseLock always sets them as follows:
    - flags is cleared of any VLOP_* code bit
    - LockAFSid is set to 0 (never implemented)
    - LockTimestamp is set to 0
    
    VL_ReplaceEntry(N) may also optionally clear each of these members:
    - flags operation bits may be explicitly cleared via LOCKREL_OPCODE
    - LockAFSid may be explicitly cleared via LOCKREL_AFSID
    - LockTimestamp may be explicitly cleared via LOCKREL_TIMESTAMP
    
    When all 3 options are specified, VL_ReplaceEntry also does the
    functional equivalent of a VL_ReleaseLock.  Most vos operations use this
    method.  However, when no lock release options are specified on
    VL_ReplaceEntry(N), the VLDB entry is simply replaced with the supplied
    entry.  This includes whatever flags values are specified in the
    supplied entry; therefore, this amounts to an additional, implicit way
    to set or modify the flags.
    
    Root cause:
    
    'vos rename' (UV_RenameVolume) is the only vos operation that does all
    of the following things:
    - accepts a replacement volume entry that was obtained before VL_SetLock
      (and thus does NOT have any lock flags set)
    - issues VL_SetLock (which sets the lock flag in the VLDB)
    - issues VL_ReplaceEntry(N) with the original unlocked entry, and with
      no lock release options (thus with explicit intent to leave the lock
      flag unchanged, but inadvertently doing an implicit clear of the lock
      flag in the VLDB)
    - (performs some additional volserver work)
    - issues VL_ReleaseLock to release the volume lock
    
    Therefore, if 'vos rename' is cancelled or killed before reaching the
    final VL_ReleaseLock step, the VLDB entry is left with the lock flags
    cleared but the LockTimestamp still set.  As we will see below, this
    'half-locked' state produces confusing results from other vos commands.
    
    Detection of locked state:
    
    The 'vos lock' command (and all other vos commands that issue
    VL_SetLock) use the lock timestamp to determine if a volume is locked.
    
    However, several other vos commands ('vos listvldb <vol>', 'vos examine
    <vol>', 'vos listvldb -locked') use the VLDB entry's lock flags (not the
    lock timestamp) to determine if the volume is locked.  Therefore, if the
    lock flags have been cleared but the lock timestamp is still set, these
    commands fail to detect that the volume is still locked.  Yet an
    administrator's 'vos lock <volume>' will still fail with:
    
      Could not lock VLDB entry for volume <volume>
      VLDB: vldb entry is already locked
    
    This is the external manifestation of the 'half-locked' state.
    
    Workaround and fix:
    
    This scenario has a simple workaround: 'vos unlock <volume>'.  However,
    to avoid this confusing outcome in the first place, modify the 'vos
    rename' logic so that the lock flags are no longer inadvertently
    cleared.  Now, if the 'vos rename' is interrupted before the volume is
    unlocked, it will still appear locked in normal vos command output.
    
    Change-Id: Iefc6ef54ea4b0e95e3ae8e8a43d3ded0f15af0fa
    Reviewed-on: https://gerrit.openafs.org/14157
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-on: https://gerrit.openafs.org/14449
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a518b0c439b40886dcb2337919d49b3009a00b4d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Nov 5 13:50:59 2020 -0700

    vos: Cleanup function definitions
    
    The functions defined within vos.c are not referenced outside of vos.c
    but are not declared as static.
    
    Convert the functions within vos.c to static declarations.
    
    Reviewed-on: https://gerrit.openafs.org/14009
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 56aa396d8359276d778d41aa509041c8c75b4e96)
    
    Change-Id: Idca045431959bb3e4b31d12ef754a883d4118a89
    Reviewed-on: https://gerrit.openafs.org/14448
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ab30c00f6ab663e0907830e76e76b44710712a07
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Nov 5 13:49:54 2020 -0700

    vos: Remove dead code
    
    Clean out dead code from vos.c
    
    GetVolumeType - not referenced anywhere
    CompareVLDBEntry - commented out since 1st git commit
    osi_audit - Comment indicates this might have been needed at one point.
                Builds without it.  Does not look like the vos executable
                is pulling in any of the audit code.
    RestoreVolume - remove stale comment about typo previous to openafs 1.0
    RemoveSite - remove commented out partition check
    
    Reviewed-on: https://gerrit.openafs.org/14008
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a3be2c74a95489f63837840af8ec42049ce021bf)
    
    Change-Id: I71a78d2a46b8d64cdde9db05a0079e9db954d191
    Reviewed-on: https://gerrit.openafs.org/14447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 00095ea2eff4d8570af78044b88c2b2877ce4e2a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Nov 10 09:17:16 2020 -0700

    vos: Cleanup indentation whitespace
    
    Fix the indentation whitespace in vos.c, and remove double blank
    lines.  No functional change.
    
    Reviewed-on: https://gerrit.openafs.org/14007
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c17c157641d83226fee5bc20f588f14bb132bb68)
    
    Change-Id: Iecde7505a3f59c4b6e59d4644b7a1e56127c272d
    Reviewed-on: https://gerrit.openafs.org/14446
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ebbeb69286ae408b59878074d06bc350001ad669
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Dec 27 11:53:05 2019 -0500

    vsprocs: Remove dead code
    
    Remove the dead code in UV_VolumeMove() commented out with the macro
    ENABLE_BUGFIX_1165.
    
    Remove two commented out lines of code in UV_ConvertRO().
    
    Reviewed-on: https://gerrit.openafs.org/14004
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6779e30d372b2cd5e7995da23ed5e2971124b79c)
    
    Change-Id: Ibeddebdf24ca50341bba3031c6f8548cab245b8a
    Reviewed-on: https://gerrit.openafs.org/14445
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 32742e3171e32970ee86449ef41d04df388a37f4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Oct 6 10:18:11 2020 -0400

    bozo: defer audit open until log dir is created and current
    
    On a new OpenAFS install where the log directory has not yet been
    created. 'bosserver -auditlog /usr/afs/logs/<auditlog>' (absolute path)
    fails with ENOENT because the log directory doesn't exist yet.
    
    Furthermore, 'bosserver -auditlog <auditlog>' (relative path) succeeds,
    but the audit file is created in the current working directory when
    bosserver was started, not in the expected log directory (Transarc
    /usr/afs/logs).
    
    Both problems have been present since bosserver audit log support was
    introduced by commit 16d67791dce45e5d4ee9b854c796492ffcde2113
    'auditlogs-for-everyone-20050702'.
    
    Reorder the bosserver initialization steps to ensure that the log
    directory has been created and is the current working directory, before
    creating and opening the audit log.
    
    Reviewed-on: https://gerrit.openafs.org/14381
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f372ec041a83288a5d096360f0ad8589e4db666a)
    
    Change-Id: I14a0a4a2a23c8e9b3b658d52511872ecaa4010af
    Reviewed-on: https://gerrit.openafs.org/14444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2473cfb5b98a0226c79e25649cb5cc52b9aea09b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Oct 17 20:51:51 2020 -0500

    bozo: Properly detect presence of -auditlog
    
    cmd_OptionAsString returns non-zero if the given option _isn't_ given
    (CMD_MISSING), so we need to call osi_audit_file only when
    cmd_OptionAsString returns 0. Since commit
    f6cdf71 (bozo: Use libcmd for command line options), this causes
    bosserver to complain on startup if no -auditlog was given:
    
        $ bosserver
        Warning: auditlog (null) not writable, ignored.
    
    To fix this, skip calling osi_audit_file if -auditlog was not given.
    
    While we're changing this anyway, change our processing of our
    audit-related options to more closely match what other daemons do,
    like ptserver or viced, so it's easier to see if we're doing the right
    thing. That is, just call cmd_OptionAsString() without a conditional,
    and just test if auditFileName is non-NULL later on, after options
    processing.
    
    Reviewed-on: https://gerrit.openafs.org/14402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 87041d676c93dfe35a085b9b5aaa73e74c08bc90)
    
    Change-Id: Ic05e5453c28b4c408300ea35439a519adc282486
    Reviewed-on: https://gerrit.openafs.org/14443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 633712a321f4cf51ffc6f97d2f9fabbb59b32a09
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 21 12:53:30 2020 -0600

    bozo: Use libcmd for command line options
    
    Update bosserver to use libcmd for command line parsing.
    
    Reviewed-on: https://gerrit.openafs.org/13845
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f6cdf7165b4e66772ee06314658b7c209928d611)
    
    Change-Id: I8fdf27d099f81c08a37db728846bd7596a8cf62e
    Reviewed-on: https://gerrit.openafs.org/14442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit de0ec465625f18668325dfbe29337650ed98b560
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Oct 28 18:12:19 2016 -0400

    afs: prevent double release of global lock afs_xvcb
    
    afs_GetServer calls ReleaseWriteLock(&afs_xvcb) twice within a few
    lines.  The second one is spurious.
    
    Commits b18653de7ae90491c2e75f4a98410581655d776c 'xserver lock order
    violation' and f2bf60ed4f1323cd6f74f2f01114f7e4f714db53 'xvcb lock order
    violation' were written by the same author at the same time and
    apparently were victims of a bad merge.
    
    Discovered during a lock audit project as a panic during afsd startup:
    
      assertion failed: (&afs_xvcb)->excl_locked == WRITE_LOCK, file:
      /home/mvitale/src/sna-openafs/src/afs/afs_server.c, line: 2089
    
    afs_GetServer is called frequently by many threads and so this bug could
    easily have released another thread's write lock on afs_xvcb.
    
    Remove the spurious second release.
    
    Reviewed-on: https://gerrit.openafs.org/14411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e8702e6a615a160cdbe464f76bd6f100667720d2)
    
    Change-Id: I3165a63e774296b97e09c374b068b012224776e1
    Reviewed-on: https://gerrit.openafs.org/14441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b33c832facc53ff966071fd3ff0e5d6b33deb9cb
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Sep 18 19:45:10 2017 -0400

    stats: incorrect clock square algorithm
    
    Since the original IBM code import, OpenAFS has an algorithm for
    squaring clock values, implemented identically in three different
    places.  This algorithm does not account correctly for microsecs
    overflow into seconds, resulting in incorrect "sum-of-squares" values
    for queue and execution time in several OpenAFS performance utilities.
    
    Specifically, this code:
    
            t1.tv_usec += (2 * t2.tv_sec * t2.tv_usec) % 1000000                   \
                          + (t2.tv_usec / 1000)*(t2.tv_usec / 1000)                \
                          + 2 * (t2.tv_usec / 1000) * (t2.tv_usec % 1000) / 1000   \
                          + (((t2.tv_usec % 1000) > 707) ? 1 : 0);                 \
    
    Can allow for the tv_usec field to be increased by a theoretical max
    of around:
    
            t1.tv_usec += 999998                                                   \
                          + 999*999                                                \
                          + 2 * 999 * 999 / 1000                                   \
                          + 1;                                                     \
    
    Or:
    
            t1.tv_usec += 1999996;                                                 \
    
    If t1.tv_usec is already 999999, after this calculation its value
    could be as high as 2999995. So just checking once if t1.tv_usec is
    over 1000000 is not sufficient, since the resulting value (1999995) is
    still over 1000000.
    
    Correct all implementations by repeatedly checking if tv_usec is over
    1000000 after the above calculation:
    
    macro                   affected utility
    =====================   ============================
    afs_stats_SquareAddTo   xstat_cm_test
    fs_stats_SquareAddTo    xstat_fs_test
    clock_AddSq             rxstat_get_process and _peer
    
    Reviewed-on: https://gerrit.openafs.org/14376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e1e5df918fee00d4d9152c31c24cc1e7f23b71a6)
    
    Change-Id: I4055ed61311ed7d6ac435b8660d5b7c55f467699
    Reviewed-on: https://gerrit.openafs.org/14440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 489308de9f62a3f881cd5f89d648c168a488c4d7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Sep 28 16:35:38 2020 -0400

    rxstats: correctly report vlserver VL_* RPC stats
    
    Since the original IBM code import, rxstat_get_process and
    rxstat_get_peer have reported vlserver VL_* RPC stats as for the
    "volserver interface".
    
    Correct this to read "vlserver interface".
    
    Reviewed-on: https://gerrit.openafs.org/14375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e985d43d99d93172b5608a3c73fd3201d3b3a212)
    
    Change-Id: Ifbbe4df8ede22b287ab7c67d20e9ccd951367765
    Reviewed-on: https://gerrit.openafs.org/14439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ffc5b608ab3e99d654561b1a3f4b3a873a6af1c0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Sep 28 15:40:34 2020 -0400

    rxstats: correctly distinguish client and server stats
    
    Commit d3eaa39da3693bba708fa2fa951568009e929550 'rx: Make the rx_call
    structure private' inadvertently caused all rxstats (aka rpcstats) to be
    recorded as client stats by hardcoding the value for isServer to 1.
    
    Therefore, when peer or process rxstats are enabled for a OpenAFS
    component, the rxstat_get_process and rxstat_get_peer utilities will
    erroneously report both client and server stats as "accessed as a client".
    
    This is particularly problematic for ubik VOTE_* and DISK_* RPC stats,
    for which a given ubik server may be both client and server over time.
    In this case, both client and server stats are conflated into the same
    "accessed as a client" counters.
    
    Instead, properly pass the value of isServer from
    rx_RecordCallStatistics through to rxi_IncrementTimeAndCount.
    
    Note to maintainers:
    This bug is only in master and all 1.8.x releases; no 1.6.x releases are
    affected.
    
    Note:
    Confusingly, isServer=1 indicates client stats and isServer=0 indicates
    server stats.  However, this is a quirk of the original implementation
    and wire format of the RXSTATS_* RPCs and cannot be changed.  isServer
    is actually shorthand for "remote is server"; thus all RPC client stubs
    record their rxstats with isServer == 1, and all RPC server stubs record
    their rxstats with isServer == 0.
    
    Reviewed-on: https://gerrit.openafs.org/14374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 18c345a9f8ee9b2ff73f23dae68757b19d3283f5)
    
    Change-Id: I6d41d015803967363f3702f5dda7083ccbf7508a
    Reviewed-on: https://gerrit.openafs.org/14438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5d863b4f6e817b1cc2615265c7747e17a2037ae6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 26 12:19:19 2020 -0500

    afs: Log pid with disk cache read errors
    
    Log the current pid (and procname) when we complain about an error
    when reading from CacheItems in afs_UFSGetDSlot. These errors can
    result in confusing situations, so it can be helpful to know at least
    what process saw the error.
    
    Our logic for logging this information is getting a bit large, so also
    move this to a new function, LogCacheError.
    
    Reviewed-on: https://gerrit.openafs.org/14416
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1caeeea43c038011306dd1c391680c24fc318e3d)
    
    Change-Id: Ia159eeea47191f71fc5892cbc54af79b55bf4828
    Reviewed-on: https://gerrit.openafs.org/14437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c7c8f75ebf812f1943aa9efd76dde26be99c96b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 12 15:06:09 2018 -0600

    vlserver: Return VL_DBBAD on unhash failure
    
    If we try to delete a vlentry, and the vlentry cannot be found on one
    of its hash chains, we cannot unhash the vlentry properly and the
    operation fails with VL_NOENT. This results in the following error
    messages to the user:
    
            $ vos delentry 123456
            Could not delete entry for volume 123456
            You must specify a RW volume name or ID (the entire VLDB entry will be deleted)
            VLDB: no such entry
            Deleted 0 VLDB entries
    
    This is confusing, because VL_NOENT can also occur if the user
    specifies a volume that does actually not exist. This situation is
    indicative of database corruption, usually because of a ubik
    transaction that was only half-applied, or because of other ubik bugs
    in the past.
    
    The situation can only really be fixed by repairing the database, so
    return VL_DBBAD in this case instead, to more clearly indicate that
    something is wrong with the database, and not a problem with the
    arguments the caller provided.
    
    Reviewed-on: https://gerrit.openafs.org/13384
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit fd6add0aca03a5a17f7109c785b6027a76f13cdf)
    
    Change-Id: Ib1cf72b7f0d6c65e37c13f00d6f6049a3049b644
    Reviewed-on: https://gerrit.openafs.org/14436
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 751aa775da1c76a495cf1b0754185cb4cdc23fbe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 12 14:41:44 2018 -0600

    vlserver: Add VL_DBBAD error code
    
    The VL_ error table currently doesn't have an error code to indicate
    that an operation cannot succeed because the database is corrupted.
    There are a few error codes for specific cases of errors that are
    probably the result of corruption (like VL_IDALREADYHASHED, or
    VL_EMPTY), but these are only for specific cases and indicate rather
    low-level internal problems.
    
    There are some instances where the real problem preventing an
    operation from succeeding is that the database is just corrupt or
    inconsistent in some way, and the administrator must repair the
    database before it can succeed. And we currently don't have any way of
    indicating that situation via an error code.
    
    So, introduce the VL_DBBAD code, to indicate this situation. Error
    codes already exist in other tables for similar situations, such as
    PRDBBAD, and KADATABASEINCONSISTENT.
    
    This commit does not use the new error code anywhere; we just
    introduce it into the VL_ error table, so comerr-using applications
    will be able to interpret it.
    
    Note that the VL_DBBAD error code has been recognized by the AFS
    Assigned Numbers Registry as recorded in the ticket history of
    <https://rt.central.org/rt/Ticket/Display.html?id=134817>
    
    Reviewed-on: https://gerrit.openafs.org/13383
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 878d27c845157bb64c32bbd6c3cacce17c681d70)
    
    Change-Id: I93b4916890ec9e4f6f5453ecf28c8a8ce04af7ea
    Reviewed-on: https://gerrit.openafs.org/14435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 27a2cdadd221d4a870d5ce9b936bb103c605cafb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 12 15:01:18 2018 -0600

    vlserver: Warn when we cannot unhash deleted entry
    
    If we are trying to delete an entry from the vldb, we fail with
    VL_NOENT if we cannot find the given entry on one of its hash chains.
    This is indicative of corruption in the vldb (since we have an entry
    not on a hash chain), but we don't really indicate this clearly. There
    are no log messages, and the user running 'vos' only sees an error
    like this:
    
        $ vos delentry 123456
        Could not delete entry for volume 123456
        You must specify a RW volume name or ID (the entire VLDB entry will be deleted)
        VLDB: no such entry
        Deleted 0 VLDB entries
    
    Which is the exact same error message if the user tries to delete a
    volume that does not actually exist.
    
    We currently do not have an error code that clearly says that the
    database appears corrupted and needs to be fixed, but we can at least
    log an error in VLLog for this case, to give the administrator a
    chance at fixing the situation. So, log a message in this situation.
    
    Reviewed-on: https://gerrit.openafs.org/13382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3e3fce24da31a31ca9a3f4ad356c4e4eaf0ad897)
    
    Change-Id: Ia76c5d7a19c3d21a89fc502e14922672afd8a84f
    Reviewed-on: https://gerrit.openafs.org/14434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 757b90ef33f7d5f00c4b1990c2300f6502a3b74a
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Sep 3 23:57:34 2020 +0000

    volser: take RO volume offline during convertROtoRW
    
    The vos convertROtoRW command converts a RO volume into a RW volume.
    Unfortunately, the RO volume is not checked out from the fileserver
    during this process. As a result, accesses to the volume being converted
    can leave volume objects in an inconsistent state.
    
    Moreover, consider the following scenario:
    
    1. Create a volume on host_b and add replicas on host_a and host_b.
    
    $ vos create host_b a vol_1
    $ vos addsite host_b a vol_1
    $ vos addiste host_a a vol_1
    
    2. Mount the volume:
    
    $ fs mkmount /afs/.mycell/vol_1 vol_1
    $ vos release vol_1
    $ vos release root.cell
    
    3. Shutdown dafs on host_b:
    
    $ bos shutdown host_b dafs
    
    4. Remove RO reference to host_b from the vldb:
    
    $ vos remsite host_b a vol_1
    
    5. Attach the RO copy by touching it:
    
    $ fs flushall
    $ ls /afs/mycell/vol_1
    
    6. Convert RO copy to RW:
    
    $ vos convertROtoRW host_a a vol_1
    
    Notice that FSYNC_com_VolDone fails silently (FSYNC_BAD_STATE), leaving
    the volume object for the RO copy set as VOL_STATE_ATTACHED (on success,
    this volume should be set as VOL_STATE_DELETED).
    
    7. Add replica on host_a:
    
    $ vos addsite host_a a vol_1
    
    8. Wait until the "inUse" flag of the RO entry is cleared (or force this
    to happen by attaching multiple volumes).
    
    9. Release the volume:
    
    $ vos release vol_1
    
    Failed to start transaction on volume 536870922
    Volume not attached, does not exist, or not on line
    Error in vos release command.
    Volume not attached, does not exist, or not on line
    
    Notice that this happens because we cannot mark an attached volume as
    destroyed (FSYNC_com_VolDone).
    
    To avoid the problem mentioned above and to prevent accesses to the
    volume being converted, take the RO volume offline before converting it
    to RW.
    
    Reviewed-on: https://gerrit.openafs.org/14340
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 45a69b61133ae8ca8e49a002ddc1895386796d51)
    
    Change-Id: I94e08d09d5044f3c0cac7c700f26ec6e7b111d6f
    Reviewed-on: https://gerrit.openafs.org/14433
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 199d485ee862c21c43008e1fd4b226517d20068c
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Sep 3 20:11:34 2020 +0000

    volser: Close dirp on error in ConvertROtoRW
    
    Currently, if SAFSVolConvertROtoRWvolume cannot create a new transaction
    for the volume to be converted, it returns without closing the directory
    stream opened by it. To prevent this leak, go through a new 'goto done'
    destructor if NewTrans fails.
    
    Reviewed-on: https://gerrit.openafs.org/14342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f18b58f8227df2ab420d69eb5937a99f747c7692)
    
    Change-Id: I81b5f7a330548eaecba1acfdc7231d2a953a365b
    Reviewed-on: https://gerrit.openafs.org/14432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit cc6b15564eaf94bcb41f930f396f1c1e4804fa18
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 16 16:29:09 2020 -0400

    vlserver: fix missing read-only entries from ListAttributesN2
    
    The ListAttributesN2() RPC can fail to list read-only entries under
    certain circumstances. This RPC is used by the `vos listvldb` command to
    retrieve vldb entries (unless the -name option is given). The `vos
    listvldb` command fails to list volume entries when run with the
    '-server' option for volumes that have read-only replicas, but have not
    been released.
    
    Consider the following example volume:
    
        $ vos create fs1.example.com a test
        $ vos addsite fs1.example.com a test
        $ vos addsite fs2.example.com a test
        $ vos listvldb
        ...
        test
            RWrite: 536870921
            number of sites -> 3
               server fs1.example.com partition /vicepa RW Site
               server fs1.example.com partition /vicepa RO Site  -- Not released
               server fs2.example.com partition /vicepa RO Site  -- Not released
    
    `vos listvldb` fails to find the volume when the search is limited to
    server 'fs2':
    
        $ vos listvldb -server fs2.example.com
        VLDB entries for server fs2.example.com
        Total entries: 0
    
    Instead of the expected results:
    
        $ vos listvldb -server fs2.example.com
        test
            RWrite: 536870921
            number of sites -> 3
               server fs1.example.com partition /vicepa RW Site
               server fs1.example.com partition /vicepa RO Site  -- Not released
               server fs2.example.com partition /vicepa RO Site  -- Not released
    
    This situation makes it difficult to remove old server addresses from
    the vldb.  In this situation, 'vos remaddrs' and 'vos changeaddr
    -remove' commands will complain the server addresses are still in use by
    volume entries, however running 'vos listvldb -server' will not show
    which volumes entries are in use.
    
    The entries are not listed for unreleased volumes because the
    ListAttributesN2() RPC is currently checking the volume VLF_ROEXISTS
    flag, instead of the server site flags (serverFlags) to determine when
    the entry is a read-only site. The volume VLF_ROEXISTS flag is set when
    a volume is released.
    
    To fix this, make ListAttributesN2 check for the VLSF_ROVOL site flag,
    instead of the VLF_ROEXISTS entry flag.
    
    Reviewed-on: https://gerrit.openafs.org/14154
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 904f5bd398db248c11b30ef7e360ce5141dcd1f3)
    
    Change-Id: Iea4bbbc9fb0c42ac5e109ee94688436fdcc42a67
    Reviewed-on: https://gerrit.openafs.org/14427
    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 b7ddd1262117332871e7cd537aa6065b78a41bb2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 18 21:16:09 2020 -0500

    LINUX: Close cacheFp if no ->readpage in fastpath
    
    In afs_linux_readpage_fastpath, if we discover that our disk cache fs
    has no ->readpage function, we'll 'goto out', but we never close our
    cacheFp. To make sure we close it, add a filp_close() call to the
    'goto out' cleanup code.
    
    Reviewed-on: https://gerrit.openafs.org/14252
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f9d20c631d7280ce00125a1208331931a6e3f31c)
    
    Change-Id: If409c50e5515cd80f77171a90fd96e2d3fb575a8
    Reviewed-on: https://gerrit.openafs.org/14421
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 610e50b70c666f72a6d8b02e1759ac1dece10dd3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 28 11:24:10 2020 -0400

    bozo: Log each dir and file with bad access rights
    
    The bosserver directory and file access check stops after finding one
    directory or file with incorrect permissions or owner. A log message is
    written for this first one found, but more than one directory or file
    may have incorrect access rights.
    
    Instead check all of them so the bosserver logs a warning message for
    each incorrect director or file permission found.  This should make it
    easier to fix all of the file permission problems at once.
    
    Reviewed-on: https://gerrit.openafs.org/14330
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 47d809d4434f6724d0b6fbe2dcb54749486eeddb)
    
    Change-Id: Ieffac018628e1b3a1ad930b72312f596ee452b43
    Reviewed-on: https://gerrit.openafs.org/14420
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 712ef18ac1902fabc540883827b1925769e0a050
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 28 11:23:00 2020 -0400

    bozo: Add KeyFileExt and rxkad.keytab to access rights check
    
    When the KeyFileExt and rxkad.keytab were added to OpenAFS, they were
    not added to the bosserver's access rights check. Add these files to the
    bosserver access checks, with the same access rights needed for the
    original KeyFile.
    
    Also, add the full path for KeyFileExt to the dirpath package (not just
    the filename), which was not done when the KeyFileExt was introduced.
    This is needed to perform the access checks.
    
    Reviewed-on: https://gerrit.openafs.org/14329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a6b14ea90259fbc4ead62f5f4288e435801db81e)
    
    Change-Id: I94d9027f9455ee8a8f307864ffa49debaf579e71
    Reviewed-on: https://gerrit.openafs.org/14419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 62beb979b4e43c361db54fbf3084f876fd2c11da
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 16 16:53:34 2018 -0500

    afs: Skip bulkstat if stat cache looks full
    
    Currently, afs_lookup() will try to prefetch dir entries for normal
    dirs via bulkstat whenever multiple pids are reading that dir.
    However, if we already have a lot of vcaches, ShakeLooseVCaches may be
    struggling to limit the vcaches we already have. Entering
    afs_DoBulkStat can make this worse, since we grab afs_xvcache
    repeatedly, we may kick out other vcaches, and we'll possibly create
    30 new vcaches that may not even be used before they're evicted.
    
    To try to avoid this, skip running afs_DoBulkStat if it looks like the
    stat cache is really full.
    
    Reviewed-on: https://gerrit.openafs.org/13256
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9ff45e73cf3d91d12f09e108e1267e37ae842c87)
    
    Change-Id: I1b84ab3bb918252e8db5e4379730a517181bc9d8
    Reviewed-on: https://gerrit.openafs.org/14400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 28794011085d35b293d5e829adadb372b2a2b3fd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 16 16:44:14 2018 -0500

    afs: Log warning when we detect too many vcaches
    
    Currently, afs_ShakeLooseVCaches has a kind of warning that is logged
    when we fail to free up any vcaches. This information can be useful to
    know, since it may be a sign that users are trying to access way more
    files than our configured vcache limit, hindering performance as we
    constantly try to evict and re-create vcaches for files.
    
    However, the current warning is not clear at all to non-expert users,
    and it can only occur for non-dynamic vcaches (which is uncommon these
    days).
    
    To improve this, try to make a general determination if it looks like
    the stat cache is "stressed", and log a message if so after
    afs_ShakeLooseVCaches runs (for all platforms, regardless of dynamic
    vcaches). Also try to make the message a little more user-friendly,
    and only log it (at most) once per 4 hours.
    
    Determining whether the stat cache looks stressed or not is difficult
    and arguably subjective (especially for dynamic vcaches). This commit
    draws a few arbitrary lines in the sand to make the decision, so at
    least something will be logged in the cases where users are constantly
    accessing way more files than our configured vcache limit.
    
    Reviewed-on: https://gerrit.openafs.org/13255
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0532f917f29bdb44f4933f9c8a6c05c7fecc6bbb)
    
    Change-Id: Ic7260f276e00f3e34541207955df841d4ed27844
    Reviewed-on: https://gerrit.openafs.org/14399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 47ab46e1e9fe56b5bf8147eab0b652e74078cbe7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 16 16:08:13 2018 -0500

    afs: Split out bulkstat conditions into a function
    
    Our current if() statement for determining whether we should run
    afs_DoBulkStat to prefetch dir entries is a bit large, and grows over
    time. Split this logic out into a separate function to make it easier
    to maintain, and add some comments to help explain each condition.
    
    This commit should have no visible effects; it's just code
    reorganization.
    
    Reviewed-on: https://gerrit.openafs.org/13254
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 19cd454f11997d286bc415e9bc9318a31f73e2c6)
    
    Change-Id: Ida322c518d11787fd794df7534135fbc2dec2935
    Reviewed-on: https://gerrit.openafs.org/14398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 738eb3e4976947657f877ec107d517d63a66a907
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jul 8 15:00:02 2018 -0500

    afs: Bound afs_DoBulkStat dir scan
    
    Currently, afs_DoBulkStat will scan the entire directory blob, looking
    for entries to stat. If all or almost all entries are already stat'd,
    we'll scan through the entire directory, doing nontrivial work on
    each entry (we grab afs_xvcache, at least). All of this work is pretty
    pointless, since the entries are already cached and so we won't do
    anything. If many processes are trying to acquire afs_xvcache, this
    can contribute to performance issues.
    
    To avoid this, provide a constant bound on the number of entries we'll
    search through: nentries * 4. The current arbitrary limits cap
    nentries at 30, so this means we're capping the afs_DoBulkStat search
    to 120 entries.
    
    Reviewed-on: https://gerrit.openafs.org/13253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ba8b92401b8cb2f5a5306313c2702cb36cba083c)
    
    Change-Id: Icf82f88328621cb5a9e0ad52f873b8a7d74b1f3a
    Reviewed-on: https://gerrit.openafs.org/14397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fbba8e4cbf00f32181b5075e8d7a876cccd2a046
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 13 17:40:36 2017 -0500

    afs: Avoid needless W-locks for afs_FindVCache
    
    The callers of afs_FindVCache must hold at least a read lock on
    afs_xvcache; some hold a shared or write lock (and set IS_SLOCK or
    IS_WLOCK in the given flags). Two callers (afs_EvalFakeStat_int and
    afs_DoBulkStat) currently hold a write lock, but neither of them need
    to.
    
    In the optimal case, where afs_FindVCache finds the given vcache, this
    means that we unnecessarily hold a write lock on afs_xvcache. This can
    impact performance, since afs_xvcache can be a very frequently
    accessed lock (a simple operation like afs_PutVCache briefly holds a
    read lock, for example).
    
    To avoid this, have afs_DoBulkStat hold a shared lock on afs_xvcache,
    upgrading to a write lock when needed. afs_EvalFakeStat_int doesn't
    ever need a write lock at all, so just convert it to a read lock.
    
    Reviewed-on: https://gerrit.openafs.org/12656
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6c808e05adb0609e02cd61e3c6c4c09eb93c1630)
    
    Change-Id: Id517d1098b4c3a02db646b2a74535f77cb684ec3
    Reviewed-on: https://gerrit.openafs.org/14396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5c476b91fd2259e9c34070be8ba201dd471ad974
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 13 17:40:21 2017 -0500

    afs: Change VerifyVCache2 calls to VerifyVCache
    
    afs_VerifyVCache is a macro that (on most platforms) effectively
    expands to:
    
        if ((avc->f.states & CStatd)) {
            return 0;
        } else {
            return afs_VerifyVCache2(...);
        }
    
    Some callers call afs_VerifyVCache2 directly, since they already check
    for CStatd for other reasons. A few callers currently call
    afs_VerifyVCache2, but without guaranteeing that CStatd is not set.
    Specifically, in afs_getattr and afs_linux_VerifyVCache, CStatd could
    be set while afs_CreateReq drops GLOCK. And in afs_linux_readdir,
    CStatd could be cleared at multiple different points before the
    VerifyVCache call.
    
    This can result in afs_VerifyVCache2 acquiring a write-lock on the
    vcache, even when CStatd is already set, which is an unnecessary
    performance hit.
    
    To avoid this, change these call sites to use afs_VerifyVCache instead
    of calling afs_VerifyVCache2 directly, which skips the write lock when
    CStatd is already set.
    
    Reviewed-on: https://gerrit.openafs.org/12655
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a05d5b7503e466e18f5157006c1de2a2f7d019f7)
    
    Change-Id: I05bdcb7f10930ed465c24a8d7e51077a027b1a4b
    Reviewed-on: https://gerrit.openafs.org/14395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 150ee65f286409e37fcf94807dbeaf4b79ab0769
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Apr 26 17:26:02 2020 -0500

    rx: Use _IsLast to check for last call in queue
    
    Ever since commits 170dbb3c (rx: Use opr queues) and d9fc4890 (rx: Fix
    test for end of call queue for LWP), rx_GetCall checks if the current
    call is the last one on rx_incomingCallQueue by doing this:
    
        opr_queue_IsEnd(&rx_incomingCallQueue, cursor)
    
    But opr_queue_IsEnd checks if the given pointer is the _end_ of the
    last; that is, if it's the end-of-list sentinel, not an item on the
    actual list. Testing for the last item in a list is what
    opr_queue_IsLast is for. This is the same convention that the old Rx
    queues used, but 170dbb3c just accidentally replaced queue_IsLast with
    opr_queue_IsEnd (instead of opr_queue_IsLast), and d9fc4890 copied the
    mistake.
    
    So because this is inside an opr_queue_Scan loop, opr_queue_IsEnd will
    never be true, so we'll never enter this block of code (unless we are
    the "fcfs" thread). This means that an incoming Rx call can get stuck
    in the incoming call queue, if all of the following are true:
    
     - The incoming call consists of more than 1 packet of incoming data.
    
     - The incoming call "waits" when it comes in (that is, there are no
       free threads or the service is over quota).
    
     - The "fcfs" thread doesn't scan the incoming call queue (because it
       is idle when the call comes in, but the relevant service is over
       quota).
    
    To fix this, just use opr_queue_IsLast here instead of
    opr_queue_IsEnd.
    
    Reviewed-on: https://gerrit.openafs.org/14158
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit befc72749884c6752c7789479343ba48c7d5cea1)
    
    Change-Id: If724245414798ae7a86dfa048cf99863317aef8e
    Reviewed-on: https://gerrit.openafs.org/14394
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 12aed9ef2988a69187910bada5ba7325cb6144ab
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 21 18:48:51 2019 -0500

    rx: Avoid osi_NetSend during rx shutdown
    
    Commit 8d939c08 (rx: avoid nat ping during shutdown) added a call
    to shutdown_rx() inside the DARWIN shutdown sequence, before the rx
    socket was closed. From the commit message, it sounds like this was
    done to avoid NAT pings from calling osi_NetSend during the shutdown
    sequence after the rx socket was closed; calling shutdown_rx() before
    closing the socket would cause any connections we had to be destroyed
    first, avoiding that.
    
    The problem with this is that this means shutdown_rx() is called when
    osi_StopNetIfPoller is called, which is much earlier than some other
    portions of the shutdown sequence; some of which may hold references
    to e.g. rx connections. If we try to, for instance, destroy an rx
    connection after shutdown_rx() is called, we could panic.
    
    An earlier version of that commit (gerrit PS1) just tried to insert a
    check before the relevant osi_NetSend call, making us just skip the
    osi_NetSend if the shutdown sequence had been started. So to avoid the
    above issue, try to implement that approach instead. And instead of
    doing it just for NAT pings, we can do it for almost all osi_NetSend
    calls (besides those involved in the shutdown sequence itself), by
    checking this in rxi_NetSend. Also return an error (ESHUTDOWN) if we
    skip the osi_NetSend call, so we're not completely silent about doing
    so.
    
    This means we also remove the call to shutdown_rx() inside DARWIN's
    osi_StopNetIfPoller(). This allows us to interact with Rx objects
    during more of the shutdown process in cross-platform code.
    
    Reviewed-on: https://gerrit.openafs.org/13718
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9866511bb0a5323853e97e3ee92524198813776e)
    
    Change-Id: Ie62c1a68d8a8889f7a8aa3eff3973c219b45a95c
    Reviewed-on: https://gerrit.openafs.org/14393
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7f59989cf84df1e2077f4fcf5649c9624e79a5d2
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Jul 21 18:31:53 2019 -0500

    rx: Introduce rxi_NetSend
    
    Introduce a small wrapper around osi_NetSend, called rxi_NetSend. This
    small wrapper allows future commits to change the code around our
    osi_NetSend calls, without needing to change every single call site,
    or every implementation of osi_NetSend.
    
    Change most call sites to use rxi_NetSend, instead of osi_NetSend. Do
    not change a few callers in the platform-specific kernel shutdown
    sequence, since those call osi_NetSend for platform-specific reasons.
    
    This commit on its own does not change any behavior with osi_NetSend;
    it is just code reorganization.
    
    Reviewed-on: https://gerrit.openafs.org/13717
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2a33a80f7026df6b5e47e42319c55d8b7155675a)
    
    Change-Id: I6af8541953a582d044fb668eb4a91720536bc8e1
    Reviewed-on: https://gerrit.openafs.org/14392
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 38f613f5e15552938cb425c68b22c166e35284be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 13 20:18:59 2020 -0500

    ubik: Remove unused sampleName
    
    The RPC-L type sampleName and related constant UMAXNAMELEN are not
    referenced by anything, and have been unused since OpenAFS 1.0. Remove
    the unused definitions.
    
    Reviewed-on: https://gerrit.openafs.org/14386
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 83ce8d41c68a5ebcc84132d77af9024c6d285e05)
    
    Change-Id: I1d6c583d9c630fc9704578ba3329132e16b3a803
    Reviewed-on: https://gerrit.openafs.org/14401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f7374a883505aa34a3db34ddd1163367c544bb0c
Author: Andrew Deason <adeason@dson.org>
Date:   Sat May 2 23:54:55 2020 -0500

    afs: Drop GLOCK for RXAFS_GetCapabilities
    
    We are hitting the net here; we certainly should not be holding
    AFS_GLOCK while waiting for the server's response.
    
    Found via FreeBSD WITNESS.
    
    Reviewed-on: https://gerrit.openafs.org/14181
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 44b7b93b593371bfdddd0be0ae603f4f8720f78b)
    
    Change-Id: I186e08c89136cc3109fd2519bb0d2abbb52f9ba0
    Reviewed-on: https://gerrit.openafs.org/14391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 02fb067d3fded0eee5c9326c56e66b512a75d71c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 23 09:46:05 2020 -0400

    build: remove unused LINUX_PKGREL from configure.ac
    
    This change removes the unused LINUX_PKGREL definition from the
    configure.ac file.
    
    Commit 6a27e228bac196abada96f34ca9cd57f32e31f5c converted the setting of
    the RPM package version and release values in the openafs.spec file from
    autoconf to the makesrpm.pl script. That commit left LINUX_PKGREL in
    configure.ac because it was still referenced by the Debian packaging,
    which was still in-tree at that time.
    
    Commit ada9dba0756450993a8e57c05ddbcae7d1891582 removed the last trace
    of the Debian packaging, but missed the removal of the LINUX_PKGREL.
    
    Reviewed-on: https://gerrit.openafs.org/14117
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8ae4531c5720baff9e11e4b05706eab6c82de5f9)
    
    Conflicts:
            configure.ac
    
    Change-Id: I69925f89c52aef32aea5bc308140936517b1aeb0
    Reviewed-on: https://gerrit.openafs.org/14363
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2f2cbff766650e7c25eb332d5385f4a3fca8676d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 20 13:03:15 2020 -0500

    ubik: Avoid unlinking garbage during recovery
    
    In urecovery_Interact, if any of our operations fail around
    calling DISK_GetFile, we will jump to FetchEndCall and eventually
    unlink 'pbuffer'. But if we failed before opening our .DB0.TMP file,
    the contents of 'pbuffer' will not be initialized yet.
    
    During most iterations of the recovery loop, the contents of 'pbuffer'
    will be filled in from previous loops, and it should always stay the
    same, so it's not a big problem. But if this is the first iteration of
    the loop, the contents of 'pbuffer' may be stack garbage.
    
    Solve this in two ways. To make sure we don't use garbage contents in
    'pbuffer', memset the whole thing to zeroes at the beginning of
    urecovery_Interact(). And then to make sure we're not reusing
    'pbuffer' contents from previous iterations of the loop, also clear
    the first character to NUL each time we arrive at this area of the
    recovery code. And avoid unlinking anything if pbuffer starts with a
    NUL.
    
    Commit 44e80643 (ubik: Avoid unlinking garbage) fixes the same issue,
    but only fixed it in the SDISK_SendFile codepath in remote.c.
    
    Reviewed-on: https://gerrit.openafs.org/14153
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 98b5ffb52117aefac5afb47b30ce9b87eb2fdebf)
    
    Change-Id: I5cadb88e466ddd326ef1e4138d5b1bf89fdb27dc
    Reviewed-on: https://gerrit.openafs.org/14365
    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 8993e35578e4ae51dd5e8941f77c18bb975e51af
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 18 14:03:37 2020 -0600

    WINNT: Make opr_threadname_set a no-op
    
    We don't supply an implementation for opr_threadname_set for WINNT;
    don't pretend that we do.
    
    Reviewed-on: https://gerrit.openafs.org/13817
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f895a9b51671ffdc920fd9b4284337c5b737a0ef)
    
    Change-Id: Ie8df82550f5420e2b024dea29aae0e39e3ee506f
    Reviewed-on: https://gerrit.openafs.org/14369
    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 045a97dfbc8dd6a2794b74e16f47984dc5f8eccf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 18 12:11:36 2020 -0600

    Move afs_pthread_setname_self to opr
    
    Move the functionality in afs_pthread_setname_self from libutil to
    opr, in a new function opr_threadname_set. This allows us to more
    easily use the routine in more subsystems, since most code already
    uses opr.
    
    Reviewed-on: https://gerrit.openafs.org/13655
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d28f7390332c92b3d9e863c6fe70c26db28b5ad)
    
    Change-Id: Ic6bbb615bc3494a7a114a0f4cae711b65ebec111
    Reviewed-on: https://gerrit.openafs.org/14368
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 41f4bb48741065da6a69ffcb05e451e5c7dac757
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Aug 31 19:56:56 2020 +0000

    Revert "vos: take RO volume offline during convertROtoRW"
    
    This reverts commit 32d35db64061e4102281c235cf693341f9de9271. While that
    commit did fix the mentioned problem, depending on "vos" to set the
    volume to be converted as "out of service" is not ideal. Instead, this
    volume should be set as offline by the SAFSVolConvertROtoRWvolume RPC,
    executed on the volume server.
    
    The proper fix for this problem will be introduced by another commit.
    
    Reviewed-on: https://gerrit.openafs.org/14339
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 85893ac3df0c2cb48776cf1203ec200507b6ce7d)
    
    Change-Id: Ie125d2dae1301ca5a4f8323099e6e42bc57b6d28
    Reviewed-on: https://gerrit.openafs.org/14361
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 29cdc0af10cb2a0f4cb4d1b05e72d6f066a1a7a5
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Apr 15 05:33:00 2020 -0500

    LINUX: Always crref after _settok_setParentPag
    
    Commit b61eac78 (Linux: setpag() may replace credentials) changed
    PSetTokens2 to call crref() after _settok_setParentPag(), since
    changing the parent PAG may change our credentials structure. But that
    commit did not update the old pioctl PSetTokens, so -setpag
    functionality remained broken on Linux for utilities that called the
    old pioctl ('klog' is one such utility).
    
    To fix this, we could copy the same code from PSetTokens2 into
    PSetTokens. But instead just move this code into _settok_setParentPag
    itself, to avoid code duplication. This commit also refactors
    _settok_setParentPag a little to make the platform-specific ifdefs a
    little easier to read through.
    
    Reviewed-on: https://gerrit.openafs.org/14147
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8002a46125e8224ba697c194edba5ad09e4cfc44)
    
    Change-Id: I6a9d10428fe470cb38e3ca669f273dde0fa9c875
    Reviewed-on: https://gerrit.openafs.org/14328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9553128008c7656d78759aa685a574906d352f3c
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Apr 15 05:33:00 2020 -0500

    LINUX: Copy session keys to parent in SetToken
    
    Commit 48589b5d (Linux: Restore aklog -setpag functionality for kernel
    2.6.32+) added code to SetToken() to copy our session keyring to the
    parent process, in order to implement -setpag functionality. But this
    was removed from SetToken() in commit 1a6d4c16 (Linux: fix aklog
    -setpag to work with ktc_SetTokenEx), when the same code was moved to
    ktc_SetTokenEx().
    
    Add this code back to SetTokens(), so -setpag functionality can work
    again with utilities that use older functions like ktc_SetToken, like
    'klog'.
    
    Reviewed-on: https://gerrit.openafs.org/14146
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 826bb826274e48c867b41cb948d031a423373901)
    
    Change-Id: I1ae90d92efa27bce2ff59ff9b9dcca370eaf4730
    Reviewed-on: https://gerrit.openafs.org/14327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 01dfdf2608c5643714da61950637c1e7d1994023
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Fri Aug 21 01:54:00 2020 +0530

    afs: Avoid NatPing event on all connection
    
    Inside release_conns_user_server, connection vector is traversed and after
    destroying a connection new eligible connection is found on which NatPing
    event will be set. Ideally there should be only one connection on which
    NatPing should be set but in current code while traversing all connection
    of server a NatPing event is set on all connections to that server. In
    cases where we have large number of connection to a server this can lead
    to huge number of “RX_PACKET_TYPE_VERSION” packets sent to a server.
    Since this happen during Garbage collection of user structs, to simulate
    this issue below steps were tried
    
      - had one script which “cd” to a volume mount and then script sleeps for
        large time.
      - Ran one infinite while loop where above script was called using PAG
        based tokens (As new connection will be created for each PAG)
      - Instrumented the code, so that we hit above code segment where NatPing
        event is set. Mainly reduced NOTOKTIMEOUT to 60 sec.
    
    To fix this issue set NatPing on one connection and once it is set break
    from “for” loop traversing the server connection.
    
    Reviewed-on: https://gerrit.openafs.org/14312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit b968875a342ba8f11378e76560b46701f21391e8)
    
    Change-Id: I8c70108ab3eb73ed1d9e598381bc29b87ca42aa0
    Reviewed-on: https://gerrit.openafs.org/14364
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e4103743d91bcdba1c57c850eb07b0b03abe72d6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 22 22:54:52 2020 -0500

    volser: Don't NUL-pad failed pread()s in dumps
    
    Currently, the volserver SAFSVolDump RPC and the 'voldump' utility
    handle short reads from pread() for vnode payloads by padding the
    missing data with NUL bytes. That is, if we request 4k of data for our
    pread() call, and we only get back 1k of data, we'll write 1k of data
    to the volume dump stream followed by 3k of NUL bytes, and log
    messages like this:
    
        1 Volser: DumpFile: Error reading inode 1234 for vnode 5678
        1 Volser: DumpFile: Null padding file: 3072 bytes at offset 40960
    
    This can happen if we hit EOF on the underlying file sooner than
    expected, or if the OS just responds with fewer bytes than requested
    for any reason.
    
    The same code path tries to do the same NUL-padding if pread() returns
    an error (for example, EIO), padding the entire e.g. 4k block with
    NULs. However, in this case, the "padding" code often doesn't work as
    intended, because we compare 'n' (set to -1) with 'howMany' (set to 4k
    in this example), like so:
    
        if (n < howMany)
    
    Here, 'n' is signed (ssize_t), and 'howMany' is unsigned (size_t), and
    so compilers will promote 'n' to the unsigned type, causing this
    conditional to fail when n is -1. As a result, all of the relevant log
    messages are skipped, and the data in the dumpstream gets corrupted
    (we skip a block of data, and our 'howFar' offset goes back by 1). So
    this can result in rare silent data corruption in volume dumps, which
    can occur during volume releases, moves, etc.
    
    To fix all of this, remove this bizarre NUL-padding behavior in the
    volserver. Instead:
    
    - For actual errors from pread(), return an error, like we do for I/O
      errors in most other code paths.
    
    - For short reads, just write out the amount of data we actually read,
      and keep going.
    
    - For premature EOF, treat it like a pread() error, but log a slightly
      different message.
    
    For the 'voldump' utility, the padding behavior can make sense if a
    user is trying to recover volume data offline in a disaster recovery
    scenario. So for voldump, add a new switch (-pad-errors) to enable the
    padding behavior, but change the default behavior to bail out on
    errors.
    
    Reviewed-on: https://gerrit.openafs.org/14255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4498bd8179e5e93a33468be3c8e7a30e569d560a)
    
    Change-Id: Idf89d70c9d4d650dbf7b73e67c5b71b9bab7c3f4
    Reviewed-on: https://gerrit.openafs.org/14367
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9947625a1d67b4ffdc0582e9081000e34be2b46b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 15 12:01:44 2020 -0400

    vos: avoid CreateVolume when restoring over an existing volume
    
    Currently, the UV_RestoreVolume2 function always attempts to create a
    new volume, even when doing a incremental restore over an existing
    volume.  When the volume already exists, the volume creation operation
    fails on the volume server with a VVOLEXISTS error. The client will then
    attempt to obtain a transaction on the existing volume. If a transaction
    is obtained, the incremental restore operation will proceed. If a full
    restore is being done, the existing volume is removed and a new empty
    volume is created.
    
    Unfortunately, the failed volume creation is logged to by the volume
    server, and so litters the log file with:
    
        Volser: CreateVolume: Unable to create the volume; aborted, error code 104
    
    To avoid polluting the volume server log with these messages, reverse
    the logic in UV_RestoreVolume2. Assume the volume already exists and try
    to get the transaction first when doing an incremental restore. Create a
    new volume if the transaction cannot be obtained because the volume is
    not present.  When doing a full restore, remove the existing volume, if
    one exists, and then create a new empty volume.
    
    Reviewed-on: https://gerrit.openafs.org/14208
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <marciobritobarbosa@gmail.com>
    Tested-by: Marcio Brito Barbosa <marciobritobarbosa@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f5051b87a56b3a4f7fd7188cbd16a663eee8abbf)
    
    Change-Id: I422b81e0c800ff655ac8851b2872f4d7160d79a8
    Reviewed-on: https://gerrit.openafs.org/14326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 967aa95fe23f98c911b8a618132442159eda3f77
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Wed Apr 29 05:10:05 2020 +0000

    rxkad: Use krb5_enctype_keysize in tkt_DecodeTicket5
    
    Inside tkt_DecodeTicket5 (rxkad/ticket5.c) function, keysize is calculated
    using krb5_enctype_keybits and then dividing number of bits by 8. For 3DES
    number of keybits are 168, so keysize comes out to 21(168/8). However
    actual keysize of 3DES key is 24. This keysize is passed to
    _afsconf_GetRxkadKrb5Key where keysize comparison happens, since there is
    keysize mismatch it returns AFSCONF_BADKEY.
    
    To fix this issue get keysize from krb5_enctype_keysize function instead
    of krb5_enctype_keybits. Thanks to John Janosik (jpjanosi@us.ibm.com)
    for analyzing and fixing this issue.
    
    Reviewed-on: https://gerrit.openafs.org/14203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5d53ed0bdab6fea6d2426691bdef2b6f9cb7f2fe)
    
    Change-Id: I16cd7a803a139802671a8045dac09e10ef4ad6cb
    Reviewed-on: https://gerrit.openafs.org/14325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 28e96b954fe17810d1ebdd9fdd4702511e870a67
Author: Jan Iven <iven.jan@gmail.com>
Date:   Tue Sep 1 14:51:25 2020 +0200

    ptserver: Remove duplicate ubik_SetLock in listSuperGroups
    
    It looks like a call to ubik_SetLock(.. LOCKREAD) was left in
    place in listSuperGroups after locking was moved to ReadPreamble
    in commit a6d64d70 (ptserver: Refactor per-call ubik initialisation)
    When compiled with 'supergroups', and once contacted by
    "pts mem -expandgroups ..", ptserver will therefore abort() with
    Ubik: Internal Error: attempted to take lock twice
    This patch removes the superfluous ubik_SetLock.
    
    FIXES 135147
    
    Reviewed-on: https://gerrit.openafs.org/14338
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 696f2ec67b049639abf04905255a7d6173dbb19e)
    
    Change-Id: I62bfe44e374b398278658b61f2ecf9a66fab18ae
    Reviewed-on: https://gerrit.openafs.org/14345
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c7a3154382376ca2e5effdfed2c447c86b9f6eed
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 1 21:50:09 2020 -0400

    redhat: Add make to the dkms-openafs pre-requirements
    
    If `make` is not installed before dkms-openafs, the OpenAFS kernel
    module is not built during the dkms-openafs package installation.
    
    The failure happens in the "checking if linux kernel module build works"
    configure step, which invokes `make` to check the linux buildsystem.
    configure fails when `make` is not available, and gives the unhelpful
    suggestion (in this case) of configuring with --disable-kernel module.
    
    Running the configure.log in the dkms build directory shows:
    
        configure:7739: checking if linux kernel module build works
        make -C /lib/modules/4.18.0-193.6.3.el8_2.x86_64/build M=/var/lib/dkms/openafs/...
        ./configure: line 7771: make: command not found
        configure: failed using Makefile:
    
    Avoid this build failure by adding `make` to the list of dkms-openafs
    package pre-requirements.
    
    Reviewed-on: https://gerrit.openafs.org/14266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e61ab9353e99d3298815296abf6b02c50ebe3df0)
    
    Change-Id: I9b2bb73acabfabc1cf8b5514c8aa66572cc96066
    Reviewed-on: https://gerrit.openafs.org/14314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ddaf6a74ff3e0aeb4c8b2b15886eaa5c90db59bf
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 28 10:32:01 2020 -0600

    INSTALL: document the minimum Linux kernel level
    
    The change associated with gerrit #14300 removed support for older
    Linux kernels (2.6.10 and earlier).
    
    The commit 'Import of code from autoconf-archive' (d8205bbb4) introduced
    a check for Autoconf 2.64.  Autoconf 2.64 was released in 2009.
    
    The commit 'regen.sh: Use libtoolize -i, and .gitignore generated
    build-tools' (a7cc505d3) introduced a dependency on libtool's  '-i'
    option.  Libtool supported the '-i' option with libtool 1.9b in 2004.
    
    Update the INSTALL instructions to document a minimum Linux kernel
    level and the minimum levels for autoconf and libtool.
    
    Notes: RHEL4 (EOL in 2017) had a 2.6.9 kernel and RHEL5 has a 2.6.18
    kernel. RHEL5 has libtool 1.5.22 and autoconf 2.59, RHEL6 has libtool
    2.2.6 and autoconf 2.63, and RHEL7 has libtool 2.4.2 and autoconf 2.69.
    
    Reviewed-on: https://gerrit.openafs.org/14305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 16bae98ec525fa013514fb46398df682d7637ae0)
    
    Change-Id: I7aaf434928204df77851dd2d651d43b86f5b53d2
    Reviewed-on: https://gerrit.openafs.org/14331
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fee39617c350623dc659e7a21287a1791bdff5d2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 1 22:59:38 2020 -0500

    vos: Print "done" in non-verbose 'vos remsite'
    
    Currently, 'vos remsite' always prints the message "Deleting the
    replication site for volume %lu ...", and then calls VDONE if the
    operation is successful. VDONE prints the trailing "done", but only if
    -verbose is turned on, and so if -verbose is not specified, the output
    of 'vos remsite' looks broken:
    
        $ vos remsite fs1 vicepa vol.foo
        Deleting the replication site for volume 1234 ...Removed replication site fs1 /vicepa for volume vol.foo
    
    To fix this, unconditionally print the trailing "done", instead of
    going through VDONE, so 'vos remsite' output now looks like this:
    
        $ vos remsite fs1 vicepa vol.foo
        Deleting the replication site for volume 1234 ... done
        Removed replication site fs1 /vicepa for volume vol.foo
    
    Reviewed-on: https://gerrit.openafs.org/14127
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f16d40ad26df3ec871f8c73952594ad2e723c9b4)
    
    Change-Id: I4cd7cb2156391004e57cd42437d7174a6bd70992
    Reviewed-on: https://gerrit.openafs.org/14311
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ff5b64d074376992d0be02e19b4da789c20d6bab
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Feb 13 00:39:00 2020 -0300

    vos: take RO volume offline during convertROtoRW
    
    The vos convertROtoRW command converts a RO volume into a RW volume.
    Unfortunately, the RO volume in question is not set as "out of service"
    during this process. As a result, accesses to the volume being converted
    can leave volume objects in an inconsistent state.
    
    Consider the following scenario:
    
    1. Create a volume on host_b and add replicas on host_a and host_b.
    
    $ vos create host_b a vol_1
    $ vos addsite host_b a vol_1
    $ vos addiste host_a a vol_1
    
    2. Mount the volume:
    
    $ fs mkmount /afs/.mycell/vol_1 vol_1
    $ vos release vol_1
    $ vos release root.cell
    
    3. Shutdown dafs on host_b:
    
    $ bos shutdown host_b dafs
    
    4. Remove RO reference to host_b from the vldb:
    
    $ vos remsite host_b a vol_1
    
    5. Attach the RO copy by touching it:
    
    $ fs flushall
    $ ls /afs/mycell/vol_1
    
    6. Convert RO copy to RW:
    
    $ vos convertROtoRW host_a a vol_1
    
    Notice that FSYNC_com_VolDone fails silently (FSYNC_BAD_STATE), leaving
    the volume object for the RO copy set as VOL_STATE_ATTACHED (on success,
    this volume should be set as VOL_STATE_DELETED).
    
    7. Add replica on host_a:
    
    $ vos addsite host_a a vol_1
    
    8. Wait until the "inUse" flag of the RO entry is cleared (or force this
    to happen by attaching multiple volumes).
    
    9. Release the volume:
    
    $ vos release vol_1
    
    Failed to start transaction on volume 536870922
    Volume not attached, does not exist, or not on line
    Error in vos release command.
    Volume not attached, does not exist, or not on line
    
    To fix this problem, take the RO volume offline during the vos
    convertROtoRW operation.
    
    Reviewed-on: https://gerrit.openafs.org/14066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 32d35db64061e4102281c235cf693341f9de9271)
    
    Change-Id: Ie4cfab2f04a8859ddfcaece371198ac544066770
    Reviewed-on: https://gerrit.openafs.org/14310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 696d9ce83e3556bda2d3945326937c63dd3560ed
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 19 20:46:33 2016 -0400

    ubik: positional io for db reads and writes
    
    The ubik library was written before positional i/o was available and
    issues an lseek system call for each database file read and write.  This
    change converts the ubik database accesses to use positional i/o on
    platforms where pread and pwrite are available, in order to reduce
    system call load.
    
    The new inline uphys_pread and uphys_pwrite functions are supplied on
    platforms which do not supply pread and pwrite. These functions fall
    back to non-positional i/o. If these symbols are present in the database
    server binary then the server process will continue to call lseek before
    each read and write access of the database file.
    
    This change does not affect the whole-file database synchronization done
    by ubik during database recovery (via the DISK_SendFile and DISK_GetFile
    RPCs), which still uses non-positional i/o. However, that code does not
    share file descriptors with the phys.c code, so there is no possibility
    of mixing positional and non-positional i/o on the same FDs.
    
    Reviewed-on: https://gerrit.openafs.org/12272
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f62fb17b3cf1c886f8cfc2fabe9984070dd3eec4)
    
    Change-Id: Iccc8f749c89659f4acebd74a1115425f69610ba8
    Reviewed-on: https://gerrit.openafs.org/14142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <marciobritobarbosa@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fffd6e07c87e36cd9a4a36858c3df0c282622195
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 20 18:17:16 2016 -0400

    ubik: remove unnecessary lseeks in uphys_open
    
    The ubik database file access layer has a file descriptor cache to avoid
    reopening the database file on each file access.  However, the file
    offset is reset with lseek on each and every use of the cached file
    descriptor, and the file offset is set twice when reading or writing
    data records.
    
    This change removes unnecessary and duplicate lseek system calls to
    reduce the system call load.
    
    Reviewed-on: https://gerrit.openafs.org/12271
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6892bfbd701899281b34ee337637d438c7d8f8c6)
    
    Change-Id: I5ea7857796d94eb5b659d868e79b9fea2411f301
    Reviewed-on: https://gerrit.openafs.org/14141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <marciobritobarbosa@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 438bc2c4caf96485e12eda9e7591fc4bd887ebad
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 9 12:47:57 2017 -0600

    asetkey: Add new 'delete' command variants
    
    The current 'delete' command from asetkey only lets the user delete
    old-style rxkad keys. Add a couple of new variants to allow specifying
    the key type and subtype, so the user can delete specific key types
    and enctypes if they want.
    
    Reviewed-on: https://gerrit.openafs.org/12767
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5120409cc998284f2fb0467c2f88030976140341)
    
    Change-Id: I8c762839b50f4faf5e583fb5c510bf2ff9dd2259
    Reviewed-on: https://gerrit.openafs.org/14293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1c395cd1bcf5770f70dce36ef29f9bd7ba98acaa
Author: Kailas Zadbuke <kailashsz@in.ibm.com>
Date:   Thu May 7 23:55:39 2020 -0400

    salvaged: Fix "-parallel all<number>" parsing
    
    In salavageserver -parallel option takes "all<number>" argument.
    However the code does not parse the numeric part correctly. Due
    to this, only single instance of salvageserver process was running
    even if we provide the larger number with "all" argument.
    
    With this fix, numeric part of "all" argument will be parsed
    correctly and will start required number of salvageserver instances.
    
    Reviewed-on: https://gerrit.openafs.org/14201
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4512d04a9b721cd9052c0e8fe026c93faf6edb9e)
    
    Change-Id: I8910fb514986a404b22256e8a514955a684c8a27
    Reviewed-on: https://gerrit.openafs.org/14285
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 38f7e123c33c1c11eb275e0619080ee874244afd
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 16 15:20:20 2020 -0600

    tests: Use usleep instead of nanosleep
    
    Commit "Build tests by default" 68f406436cc21853ff854c514353e7eb607cb6cb
    changes the build so tests are always built.
    
    On Solaris 10 the build fails because nanosleep is in librt, which we do
    not link against.
    
    Replace nanosleep with usleep.  This avoids introducing extra configure
    tests just for Solaris 10.
    
    Note that with Solaris 11 nanosleep was moved from librt to libc, the
    standard C library.
    
    Reviewed-on: https://gerrit.openafs.org/14244
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 22a66e7b7e1d73437a8c26c2a1b45bc4ef214e77)
    
    Change-Id: Ic24c5a149451955b5c130e7b36cec27e02688d83
    Reviewed-on: https://gerrit.openafs.org/14291
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 264d6b786c2fd0aff0e4abe835e42868f936afce
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 24 11:59:48 2020 -0500

    tests: Wait for server start in auth/superuser-t
    
    The auth/superuser-t test runs an Rx server and client in two child
    processes. If the client process tries to contact the server before
    the server has started listening on its port, some tests involving
    RPCs can fail (notably test 39, "Can run a simple RPC").
    
    Normally if we try to contact a server that's not there, Rx will try
    resending its packets a few times, but on Linux with AFS_RXERRQ_ENV,
    if the port isn't open at all, we can get an ICMP_PORT_UNREACH error,
    which causes the relevant Rx call to die immediately with
    RX_CALL_DEAD.
    
    This means that if the auth/superuser-t client is only just a bit
    faster than the server starting up, tests can fail, since the server's
    port is not open yet.
    
    To avoid this, we can wait until the server's port is open before
    starting the client process. To do this, have the server process send
    a SIGUSR1 to the parent after rx_Init() is called, and have the parent
    process wait for the SIGUSR1 (waiting for a max of 5 seconds before
    failing). This should guarantee that the server's port will be open by
    the time the client starts running.
    
    Note that before commit 086d1858 (LINUX: Include linux/time.h for
    linux/errqueue.h), AFS_RXERRQ_ENV was mistakenly disabled on Linux
    3.17+, so this issue was probably not possible on recent Linux before
    that commit.
    
    Reviewed-on: https://gerrit.openafs.org/14109
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 66d0f91791695ac585f0511d0dadafd4e570b1bf)
    
    Change-Id: Ia6c06ca9a05e33b3bc35238d9c0d18e7ff339438
    Reviewed-on: https://gerrit.openafs.org/14290
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eaa552d27074cd7e1c862d606916b063e6d89a27
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 31 12:04:48 2019 -0600

    tests: Introduce afstest_GetProgname
    
    Currently, in tests/volser/vos-t.c we call afs_com_err as
    "authname-t", which is clearly a mistake during some code refactoring
    (introduced in commit 2ce3fdc5, "tests: Abstract out code to produce a
    Ubik client").
    
    We could just change this to "vos-t", but instead of specifying
    constant strings everywhere, change this to figure out what the
    current command is called, and just use that. Put this code into a new
    function, afstest_GetProgname, and convert existing tests to use that
    instead of hard-coding the program name given to afs_com_err.
    
    Reviewed-on: https://gerrit.openafs.org/13991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a21a2f8edb79d6190976e920a9a90d0878411146)
    
    Change-Id: I3d410d6de132f8a0fffeb9cce32a912fe3bbdc20
    Reviewed-on: https://gerrit.openafs.org/14289
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fe57174d84cab19a13eea9a8f31f0ac71c8cf838
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Aug 5 09:23:36 2020 -0600

    butc: fix int to float conversion warning
    
    Building with clang-10 results in 2 warnings/errors associated with
    with trying to convert 0x7fffffff to a floating point value.
    
        tcmain.c:240:18: error: implicit conversion from 'int' to 'float'
                     changes value from 2147483647 to 2147483648 [-Werror,
                     -Wimplicit-int-float-conversion]
        if ((total > 0x7fffffff) || (total < 0))    /* Don't go over 2G */
    
    and the same conversion warning on the statement on the following line:
        total = 0x7fffffff;
    
    Use floating point and decimal constants instead of the hex constants.
    
    For the test, use 2147483648.0 which is cleanly represented by a float.
    Change the comparison in the test from '>' to '>='.
    
    If the total value exceeds 2G, just assign the max value directly to the
    return variable.
    
    Reviewed-on: https://gerrit.openafs.org/14277
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 37b55b30c65d0ab8c8eaabfda0dbd90829e2c46a)
    
    Change-Id: I16e0acd893049b01a2c5e4c7e71de3fa40e28d3e
    Reviewed-on: https://gerrit.openafs.org/14299
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e7902252f15acfc28453c531f6fa3b29c9c91b92
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 21 10:37:51 2020 -0600

    LINUX 5.9: Remove HAVE_UNLOCKED_IOCTL/COMPAT_IOCTL
    
    Linux-5.9-rc1 commit 'fs: remove the HAVE_UNLOCKED_IOCTL and
    HAVE_COMPAT_IOCTL defines' (4e24566a) removed the two referenced macros
    from the kernel.
    
    The support for unlocked_ioctl and compat_ioctl were introduced in
    Linux 2.6.11.
    
    Remove references to HAVE_UNLOCKED_IOCTL and HAVE_COMPAT_IOCTL using
    the assumption that they were always defined.
    
    Notes:
    
    With this change, building against kernels 2.6.10 and older will fail.
    RHEL4 (EOL in March 2017) used a 2.6.9 kernel.  RHEL5 uses a 2.6.18
    kernel.
    
    In linux-2.6.33-rc1 the commit messages for "staging: comedi:
    Remove check for HAVE_UNLOCKED_IOCTL" (00a1855c) and "Staging: comedi:
    remove check for HAVE_COMPAT_IOCTL" (5d7ae225) both state that all new
    kernels have support for unlocked_ioctl/compat_ioctl so the checks can
    be removed along with removing support for older kernels.
    
    Reviewed-on: https://gerrit.openafs.org/14300
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 13a49aaf0d5c43bce08135edaabb65587e1a8031)
    
    Change-Id: I6dc5ae5b32031641f4a021a31630390a91d834fe
    Reviewed-on: https://gerrit.openafs.org/14315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 99232fa48020bde90f6b245da4374bc63399654f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Aug 5 09:19:02 2020 -0600

    afs: Set AFS_VFSFSID to a numerical value
    
    Currently when UKERNEL is defined, AFS_VFSFSID is always set to
    AFS_MOUNT_AFS, which is a string for many platforms for UKERNEL.
    
    Update src/afs/afs.h to insure that the define for AFS_VFSFSID is a
    numeric value when building UKERNEL.
    
    Clean up the preprocessor indentation in src/afs/afs.h in the area
    around the AFS_VFSFSID defines.
    
    Thanks to adeason@sinenomine.net for pointing out a much easier solution
    for resolving this problem.
    
    Reviewed-on: https://gerrit.openafs.org/14279
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 446457a1240b88fd94fc34ff5715f2b7f2f3ef12)
    
    Change-Id: Ic0f9c2f1f4baeb9f99da19e1187f1bc9f5d7f824
    Reviewed-on: https://gerrit.openafs.org/14297
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7e2a62fb594a7713a5c694b9e0401b5e3c2648c8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Aug 5 09:18:49 2020 -0600

    afs: Avoid using logical OR when setting f_fsid
    
    Building with clang-10 produces the warning/error message
        warning: converting the result of '<<' to a boolean always evaluates
        to true [-Wtautological-constant-compare]
    for the expression
        abp->f_fsid = (AFS_VFSMAGIC << 16) || AFS_VFSFSID;
    
    The message is because a logical OR '||' is used instead of a bitwise
    OR '|'.  The result of this expression will always set the f_fsid
    member to a 1 and not the intended value of AFS_VFSMAGIC combined with
    AFS_VFSFSID.
    
    Update the expression to use a bitwise OR instead of the logical OR.
    
    Note: This will change value stored in the f_fsid that is returned from
    statfs.
    
    Using a logical OR has existed since OpenAFS 1.0 for hpux/solaris and in
    UKERNEL since OpenAFS 1.5 with the commit 'UKERNEL: add uafs_statvfs'
    b822971a.
    
    Reviewed-on: https://gerrit.openafs.org/14292
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c56873bf95f6325b70e63ed56ce59a3c6b2b753b)
    
    Change-Id: I2e3fe6a84ef6ce73fff933f137d4806efefa5949
    Reviewed-on: https://gerrit.openafs.org/14298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fc32922236122b9013ed9bdedda8c54c2e8c75d8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 1 15:02:08 2020 -0500

    vlserver: Return error when growing beyond 2 GiB
    
    In the vlserver, when we add a new vlentry or extent block, we grow
    the VLDB by doing something like this:
    
        vital_header.eofPtr += sizeof(item);
    
    Since we don't check for overflow, and all of our offset-related
    variables are signed 32-bit integers, this can cause some odd behavior
    if we try to grow the database to be over 2 GiB in size.
    
    To avoid this, change the two places in vlserver code that grow the
    database to use a new function, grow_eofPtr(), which checks for 31-bit
    overflow. If we are about to overflow, log a message and return an
    error.
    
    See the following for a specific example of our "odd behavior" when we
    overflow the 2 GiB limit in the VLDB:
    
    With 1 extent block, we can create 14509076 vlentries successfully. On
    the 14509077th vlentry, we'll attempt to write the entry to offset
    2147483560 (0x7FFFFFA8). Since a vlentry is 148 bytes long, we'll
    write all the way through offset 2147483707 (0x8000003B), which is
    over the 31-bit limit.
    
    In the udisk subsystem, this results in writing to page numbers
    2097151, and -2097152 (since our ubik pages are 1k, and going over the
    31-bit limit causes us to treat offsets as negative). These pages
    start at physical offsets 2147482688 (0x7FFFFC40) and -2147483584
    (-0x7FFFFFC0) in our vldb.DB0 (where offset is page*1024+64).
    
    Modifying each of these pages involves reading in the existing page
    first, modifying the parts we are changing, and writing it back. This
    works just fine for 2097151, but of course fails for -2097152. The
    latter fails in DReadBuffer when eventually our pread() fails with
    EINVAL, and causes ubik to log the message:
    
        Ubik: Error reading database file: errno=22
    
    But when DReadBuffer fails, DReadBufferForWrite assumes this is due to
    EOF, and just creates a new buffer for the given page (DNewBuffer).
    So, the udisk_write() call ultimately succeeds.
    
    When we go to flush the dirty data to disk when committing the
    transaction, after we have successfully written the transaction log,
    DFlush() fails for the -2097152 page when the pwrite() call eventually
    fails with EINVAL, causing ubik to panic, logging the messages:
    
        Ubik PANIC:
        Writing Ubik DB modifications
    
    When the vlserver gets restarted by bosserver, we then process the
    transaction log, and perform the operations in the log before starting
    up (ReplayLog). The log records the actual data we wrote, not split
    into pages, and the log-replaying code writes directly to the db
    usying uphys_write instead of udisk_write. So, because of this, the
    write actually succeeds when replaying the log, since we just write
    148 bytes to offset 2147483624 (0x7FFFFFE8), and no negative offsets
    are used.
    
    The vlserver will then be able to run, but will be unable to read that
    newly-created vlentry, since it involves reading a ubik page beyond
    the 31-bit boundary. That means trying to lookup that entry will fail
    with i/o errors, and as well as any entry on the same hash chains as
    the new entry (since the new entry will be added to the head of the
    hash chain). Listing all entries in the database will also just show
    an empty database, since our vital_header.eofPtr will be negative, and
    we determine EOF by comparing our current blockindex to the value in
    eofPtr.
    
    Reviewed-on: https://gerrit.openafs.org/14180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit d01398731550b8a93b293800642c3e1592099114)
    
    Change-Id: I72302a8c472b3270e99e58a573f5cf25dd34b9c5
    Reviewed-on: https://gerrit.openafs.org/14288
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 03979eaa174de0cff188af451806fb7ae10d3a62
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 7 13:15:31 2020 -0500

    vlserver: Correctly pad nvlentry for "O" RPCs
    
    For our old-style "O" RPCs (e.g. VL_CreateEntry, instead of
    VL_CreateEntryN), vlserver calls vldbentry_to_vlentry to convert to
    the internal 'struct nvlentry' format. After all of the sites have
    been copied to the internal format, we fill the remaining sites by
    setting the serverNumber to BADSERVERID. For nvldbentry_to_vlentry, we
    do this for NMAXNSERVERS sites, but for vldbentry_to_vlentry, we do
    this for OMAXNSERVERS.
    
    The thing is, both functions are filling in entries for a 'struct
    nvlentry', which has NMAXNSERVERS 'serverNumber' entries. So for
    vldbentry_to_vlentry, we are skipping setting the last few sites
    (specifically, NMAXNSERVERS-OMAXNSERVERS = 13-8 = 5).
    
    This can easily cause our O-style RPCs to write out entries to disk
    that have uninitialized sites at the end of the array. For example, an
    entry with one site should have server numbers that look like this:
    
        serverNumber = {1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255}
    
    That is, one real serverid (a '1' here), followed by twelve
    BADSERVERIDs.
    
    But for a VL_CreateEntry call, the 'struct nvlentry' is zeroed out
    before vldbentry_to_vlentry is called, and so the server numbers in
    the written entry look like this:
    
        serverNumber = {1, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0}
    
    That is, one real serverid (a '1' here), followed by seven
    BADSERVERIDs, followed by five '0's.
    
    Most of the time, this is not noticeable, since our code that reads in
    entries from disk stops processing sites when we encounter the first
    BADSERVERID site (see vlentry_to_nvldbentry). However, if the entry
    has 8 sites, then none of the entries will contain BADSERVERID, and so
    we will actually process the trailing 5 bogus sites. This would appear
    as 5 extra volume sites for a volume, most likely all for the same
    server.
    
    For VL_CreateEntry, the vlentry struct is always zeroed before we use
    it, so the trailing sites will always be filled with 0. For
    VL_ReplaceEntry, the trailing sites will be unchanged from whatever
    was read in from the existing disk entry.
    
    To fix this, just change the relevant loop to go through NMAXNSERVERS
    entries, so we actually go to the end of the serverNumber (et al)
    array.
    
    This may appear similar to commit ddf7d2a7 (vlserver: initialize
    nvlentry elements after read). However, that commit fixed a case
    involving the old vldb database format (which hopefully is not being
    used). This commit fixes a case where we are using the new vldb
    database format, but with the old RPCs, which may still be used by old
    tools.
    
    Reviewed-on: https://gerrit.openafs.org/14139
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7e41ee0bd50d39a356f0435ff370a0a7be40306f)
    
    Change-Id: I68ecc41e7268efd0424e6c129aa914cd04115b59
    Reviewed-on: https://gerrit.openafs.org/14287
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 986ee1fd422d1608553af5a6a02bd60349b864ac
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jun 19 08:01:14 2020 -0600

    afs: Avoid panics on failed return from afs_CFileOpen
    
    afs_CFileOpen is a macro that invokes the open "method" of the
    afs_cacheOps structure, and for disk caches the osi_UFSOpen function is
    used.
    
    Currently osi_UFSOpen will panic if there is an error encountered while
    opening a file.
    
    Prepare to handle osi_UFSOpen function returning a NULL instead of
    issuing a panic (future commit).
    
    Update callers of afs_CFileOpen to test for an error and to return an
    error instead of issuing a panic.
    
    While this commit eliminates some panics, it does not address some of the
    more complex cases associated with errors from afs_CFileOpen.
    
    Reviewed-on: https://gerrit.openafs.org/14241
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d2d27f975df13c3833898611dacff940a5ba3e2a)
    
    Change-Id: Ia30711748b3cffd56eb3120961aa1747dfae0f23
    Reviewed-on: https://gerrit.openafs.org/14286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a00fe9fd4253b2436ae649b05b329d0d52c8b6f6
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Thu Mar 5 07:21:55 2020 +0000

    LINUX: Initialize CellLRU during osi_Init
    
    When OpenAFS kernel module gets loaded, it will create certain entries
    in "proc" filesystem. One of those entries is "CellServDB", in case
    we read "/proc/fs/openafs/CellServDB" without starting "afsd" it will
    result in crash with NULL pointer deref. The reason for crash is
    CellLRU has not been initialized yet (since "afsd" is not started)
    i.e afs_CellInit is not yet called, because of this "next" and "prev"
    pointers will be NULL. Inside "c_start()" we do not check for NULL
    pointer while traversing CellLRU and this causes crash.
    
    To avoid this initialize CellLRU during module intialization.
    
    Reviewed-on: https://gerrit.openafs.org/14093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8d90a9d27b0ef28ddcdd3eb041c8a9d019b84b50)
    
    Change-Id: I9ed97d3751943331c9d9bc9dfc73acc24231187b
    Reviewed-on: https://gerrit.openafs.org/14284
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6824d45c2ab83e52350c3f366e4cb6f1eb263088
Author: Kailas Zadbuke <kailashsz@in.ibm.com>
Date:   Wed Jun 3 15:44:08 2020 +0530

    util: Handle serverLogMutex lock across forks
    
    If a process forks when another thread has serverLogMutex locked, the
    child process inherits the locked serverLogMutex. This causes a deadlock
    when code in the child process tries to lock serverLogMutex, since we
    can never unlock serverLogMutex because the locking thread no longer
    exists. This can happen in the salvageserver, since the salvageserver
    locks serverLogMutex in different threads, and forks to handle salvage
    jobs.
    
    To avoid this deadlock, we register handlers using pthread_atfork()
    so that the serverLogMutex will be held during the fork. The fork will
    be blocked until the worker thread releases the serverLogMutex. Hence the
    serverLogMutex will be held until the fork is complete and it will be
    released in the parent and child threads.
    
    Thanks to Yadavendra Yadav(yadayada@in.ibm.com) for working with me
    on this issue.
    
    Reviewed-on: https://gerrit.openafs.org/14239
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit e44d6441c8786fdaaa1fad1b1ae77704c12f7d60)
    
    Change-Id: I09c04c0bd99b10433857ccdaeb4ee6a4cd50f768
    Reviewed-on: https://gerrit.openafs.org/14283
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Kailas Zadbuke <kailashsz@in.ibm.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 179a418ea5063785a23e4faf35134f063a6f3e1c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 13 13:00:35 2020 -0500

    LINUX: Properly revert creds in osi_UFSTruncate
    
    Commit cd3221d3 (Linux: use override_creds when available) caused us
    to force the current process's creds to the creds of afsd during
    osi_file.c file ops, to avoid access errors in some cases.
    
    However, in osi_UFSTruncate, one code path was missed to revert our
    creds back to the original user's creds: when the afs_osi_Stat call
    fails or deems the truncate unnecessary. In this case, the calling
    process keeps the creds for afsd after osi_UFSTruncate returns,
    causing our subsequent access-checking code to think that the current
    process is in the same context as afsd (typically uid 0 without a
    pag).
    
    This can cause the calling process to appear to transiently have the
    same access as non-pag uid 0; typically this will be unauthenticated
    access, but could be authenticated if uid 0 has tokens.
    
    To fix this, modify the early return in osi_UFSTruncate to go through
    a 'goto done' destructor instead, and make sure we revert our creds in
    that destructor.
    
    Thanks to cwills@sinenomine.net for finding and helping reproduce the
    issue.
    
    Reviewed-on: https://gerrit.openafs.org/14098
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    (cherry picked from commit 57b4f4f9be1e25d5609301c10f717aff32aef676)
    
    Change-Id: I714eb2dea9645ffe555f26b5d69707a7afbe8d81
    Reviewed-on: https://gerrit.openafs.org/14099
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee578e92d9f810d93659a9805d0c12084fe2bb95
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu May 2 16:02:47 2019 -0400

    Linux: use override_creds when available
    
    Linux may perform some access control checks at the time of an I/O
    operation, rather than relying solely on checks done when the file is
    opened. In some cases (e.g. AppArmor), these checks are done based on
    the current tasks's creds at the time of the I/O operation, not those
    used when the file was open.
    
    Because of this, we must use override_creds() / revert_creds() to make
    sure we are using privileged credentials when performing I/O operations
    on cache files. Otherwise, cache I/O operations done in the context of
    a task with a restrictive AppArmor profile will fail.
    
    Reviewed-on: https://gerrit.openafs.org/13751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cd3221d3532a28111ad22d4090ec913cbbff40da)
    
    Change-Id: I8955ff6150462fecba9a10a8f99bce9ee8163435
    Reviewed-on: https://gerrit.openafs.org/14082
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit facff58b840a47853592510617ba7a1da2e3eaa9
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 3 10:35:06 2020 -0600

    LINUX 5.8: use lru_cache_add
    
    With Linux-5.8-rc1 commit 'mm: fold and remove lru_cache_add_anon() and
    lru_cache_add_file()' (6058eaec), the lru_cache_add_file function is
    removed since it was functionally equivalent to lru_cache_add.
    
    Replace lru_cache_add_file with lru_cache_add.
    
    Introduce a new autoconf test to determine if lru_cache_add is present
    
    For reference, the Linux changes associated with the lru caches:
    
      __pagevec_lru_add introduced before v2.6.12-rc2
    
      lru_cache_add_file introduced in v2.6.28-rc1
      __pagevec_lru_add_file replaces __pagevec_lru_add in v2.6.28-rc1
         vmscan: split LRU lists into anon & file sets (4f98a2fee)
    
      __pagevec_lru_add removed in v5.7 with a note to use lru_cache_add_file
         mm/swap.c: not necessary to export __pagevec_lru_add() (bde07cfc6)
    
      lru_cache_add_file removed in v5.8
         mm: fold and remove lru_cache_add_anon() and lru_cache_add_file()
          (6058eaec)
      lru_cache_add exported
         mm: fold and remove lru_cache_add_anon() and lru_cache_add_file()
          (6058eaec)
    
    Openafs will use:
      lru_cache_add on 5.8 kernels
      lru_cache_add_file from 2.6.28 through 5.7 kernels
      __pagevec_lru_add/__pagevec_lru_add_file on pre 2.6.28 kernels
    
    Reviewed-on: https://gerrit.openafs.org/14249
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7d85ce221d6ccc19cf76ce7680c74311e4ed2632)
    
    Change-Id: Iba6ef4441687dbf60d227a708e2a032c2c0dc79f
    Reviewed-on: https://gerrit.openafs.org/14269
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 335f37be13d2ff954e4aeea617ee66502170805e
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 3 10:34:42 2020 -0600

    LINUX 5.8: do not set name field in backing_dev_info
    
    Linux-5.8-rc1 commit 'bdi: remove the name field in struct
    backing_dev_info' (1cd925d5838)
    
    Do not set the name field in the backing_dev_info structure if it is
    not available. Uses an existing config test
        'STRUCT_BACKING_DEV_INFO_HAS_NAME'
    
    Note the name field in the backing_dev_info structure was added in
    Linux-2.6.32
    
    Reviewed-on: https://gerrit.openafs.org/14248
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d8ec294534fcdee77a2ccd297b4b167dc4d5573d)
    
    Change-Id: I3d9e18092db998a4c4f26bd63ee3b75383a53d4c
    Reviewed-on: https://gerrit.openafs.org/14268
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d7fc5bf9bf031089d80703c48daf30d5b15a80ca
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 3 10:33:51 2020 -0600

    LINUX 5.8: Replace kernel_setsockopt with new funcs
    
    Linux 5.8-rc1 commit 'net: remove kernel_setsockopt' (5a892ff2facb)
    retires the kernel_setsockopt function. In prior kernel commits new
    functions (ip_sock_set_*) were added to replace the specific functions
    performed by kernel_setsockopt.
    
    Define new config test 'HAVE_IP_SOCK_SET' if the 'ip_sock_set' functions
    are available. The config define 'HAVE_KERNEL_SETSOCKOPT' is no longer
    set in Linux 5.8.
    
    Create wrapper functions that replace the kernel_setsockopt calls with
    calls to the appropriate Linux kernel function(s) (depending on what
    functions the kernel supports).
    
    Remove the unused 'kernel_getsockopt' function (used for building with
    pre 2.6.19 kernels).
    
    For reference
        Linux 2.6.19 introduced kernel_setsockopt
        Linux 5.8 removed kernel_setsockopt and replaced the functionality
                  with a set of new functions (ip_sock_set_*)
    
    Reviewed-on: https://gerrit.openafs.org/14247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c48072b9800759ef1682b91ff1e962f6904a2594)
    
    Change-Id: I2724fad06b1882149d2066d13eced55eff5ee695
    Reviewed-on: https://gerrit.openafs.org/14267
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0f67e733e82a9001f3f9253c5e1880be845d537b
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Apr 2 13:27:50 2020 -0600

    LINUX: Include linux/time.h for linux/errqueue.h
    
    The configuration test for errqueue.h fails with an undefined structure
    error on a Linux 3.17 (or higher) system.  This prevents setting
    HAVE_LINUX_ERRQUEUE_H, which is used to define AFS_RXERRQ_ENV.
    
    Linux commit f24b9be5957b38bb420b838115040dc2031b7d0c (net-timestamp:
    extend SCM_TIMESTAMPING ancillary data struct) - which was picked up in
    linux 3.17 added a structure that uses the timespec structure.  After
    this commit, we need to include linux/time.h to pull in the definition
    of the timespec struct.
    
    Reviewed-on: https://gerrit.openafs.org/13950
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 086d185872da5f19447cf5ec7846e7ce5104563f)
    
    Change-Id: I67d01b11c5ea95b8b87832fc833f8fc850ade684
    Reviewed-on: https://gerrit.openafs.org/14130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a14bd0abe83b580f0cc7a200ae963399ab7de5f
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue May 26 12:11:28 2020 -0600

    vol: Fix format-truncation warning with gcc-10.1
    
    Building with gcc-10.1 produces a warning (error if --enable-checking)
    in vol-salvage.c
    
    error: ‘%s’ directive output may be truncated writing up to 755 bytes
           into a region of size 255 [-Werror=format-truncation=]
      809 |     snprintf(inodeListPath, 255, "%s" OS_DIRSEP "salvage.inodes.%s.%d", tdir, name,
    
    Use strdup/asprintf to allocate the buffer dynamically instead of using
    a buffer with a hardcoded size.
    
    Reviewed-on: https://gerrit.openafs.org/14207
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d73680c5f70ee5aeb634a9ec88bf1097743d0f76)
    
    Change-Id: I8d3bf244a70f723f585738905deea7ddfb1bb862
    Reviewed-on: https://gerrit.openafs.org/14232
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d5fc5283e91ea94a67df8364a5b8bf8970ffe934
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Oct 9 22:16:09 2017 -0400

    afsmonitor: remove unused LWP_WaitProcess
    
    Remove the unimplemented once-only flag and the unused LWP_WaitProcess
    call.
    
    Reviewed-on: https://gerrit.openafs.org/12745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7c27365ea24aed5787f6fc03f30f6085c78ece51)
    
    Change-Id: I3b61f9fb4f45564304b0e35878d3535a10e31d02
    Reviewed-on: https://gerrit.openafs.org/14226
    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 a2eec64374d6b754b29c509b554573cb6e53eb46
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri May 22 12:16:48 2020 -0600

    Avoid duplicate definitions of globals
    
    GCC 10 changed a default flag from -fcommon to -fno-common.  See
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678 for some background.
    
    The change in gcc 10 results in build link-time errors. For example:
       ../../src/xstat/.libs/liboafs_xstat_cm.a(xstat_cm.o):(.bss+0x2050):
           multiple definition of `numCollections';
    
    Ensure that only one definition for global data objects exist and change
    references to use "extern" as needed.
    
    To ensure that future changes do not introduce duplicated global
    definitions, add the -fno-common flag to XCFLAGS when using the
    configure --enable-checking setting.
    
    [cwills@sinenomine.net: Note for 1.8.x: renamed terminationEvent
    to cm_terminationEvent/fs_terminationEvent instead of deleting it.]
    
    Reviewed-on: https://gerrit.openafs.org/14106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0e2072ae386d4111bef161eb955964b649c31386)
    
    Change-Id: I54ca61d372cf763e4a28c0b0829ea361219f6203
    Reviewed-on: https://gerrit.openafs.org/14217
    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 278592ef2d766c77de821b9da80359f24fec5b62
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Jan 27 12:26:41 2020 -0500

    uss: more gcc9 truncation warning appeasement
    
    uss_procs_PickADir needs a larger buffer to avoid a truncation warning.
    While here, replace some magic numbers with existing symbols.
    
    Reviewed-on: https://gerrit.openafs.org/14049
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6c54bc9e121b923ec5fdd60ee510171987e55017)
    
    Change-Id: I5cb76a8a9b2a9b342a1ddae2f41ecab82f762326
    Reviewed-on: https://gerrit.openafs.org/14140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ff07fa706e00f6dde13c58588d2f75e7fc26ecf5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 10 09:06:38 2020 -0500

    tests: do not resolve addresses in vos/vl test
    
    The vos-t test adds a set of 10.* test addresses to a test vlserver and
    runs vos to read them back.  When the test is run in an environment
    where hosts have been assigned in the 10.* internal network, vos will resolve
    the addresses to hostnames and the test fails.  Pass the -noresolve
    option to vos for this test when checking for the expected list of
    addresses.
    
    Example test output before this commit:
    
        ./vos-t
        ...
        #   seen: 10.0.0.0
        10.0.0.1
        myhost.example.com
        10.0.0.3
        ...
        not ok 5 - vos output matches
    
    Reviewed-on: https://gerrit.openafs.org/14020
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dcf44ab5fc5c1f5e2e759ea4b6156f7e1faa4b7a)
    
    Change-Id: Ie2a6d97070fe47886a1ccf8c0ddf03012f805beb
    Reviewed-on: https://gerrit.openafs.org/14105
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 46a364bef04e8f5455f47fe7e330cf9077faf87a
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sat Jun 20 07:24:01 2020 +0200

    Make OpenAFS 1.8.6
    
    Update version strings and NEWS for the 1.8.6 release.
    
    Change-Id: I0d4a17ce6b575c845bd13d9509788eb5cd8631e1
    Reviewed-on: https://gerrit.openafs.org/14253
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7cd24908de4b65d9972bd3dca85b049f495bb1bd
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri May 22 17:25:14 2020 +0200

    Make OpenAFS 1.8.6pre3
    
    Update version strings for the third 1.8.6 prerelease.
    
    Change-Id: I02a49de79f03e05fbd15b1e0701d2ae392501f3c
    Reviewed-on: https://gerrit.openafs.org/14225
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4ad34ee8cabd922d0ea8621ae919f40da6472326
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri May 22 17:22:17 2020 +0200

    Update NEWS for OpenAFS 1.8.6pre3
    
    Release notes for the third 1.8.6 prerelease
    
    Change-Id: I2dcebac365d75102b5008daf55ad6d420ef62f2f
    Reviewed-on: https://gerrit.openafs.org/14224
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit b7c5502516333d41aa1fa046c918dfece722f77c
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri May 15 10:40:20 2020 -0600

    LINUX-5.7: replace __pagevec_lru_add with lru_cache_add_file
    
    The Linux function __pagevec_lru_add is no longer exported in Linux
    5.7-rc1 commit bde07cfc65da5fe6c63fe23f035f5ccc0ffd89e0
    "mm/swap.c: not necessary to export __pagevec_lru_add()".
    
    As a replacement, the Linux function lru_cache_add_file can be used for
    adding a page to the lru cache.  The internal processing of
    lru_cache_add_file manages its own internal pagevec and performs the
    following:
         get_page(...)
         if(!pagevec_add(...))
            __pagevec_lru_add_file(...)
    
    Introduce an autoconf test for lru_cache_add_file and replace the calls
    associated with __pagevec_lru_add with lru_cache_add_file.
    
    NOTE: see Linux commit a0b8cab3b9b2efadabdcff264c450ca515e2619c
    "mm: remove lru parameter from __pagevec_lru_add and remove parts of
    pagevec API" as a reference for this change.
    
    The lru_cache_add_file was introduced in Linux 2.6.28, therefore this
    change affects systems with Linux 2.6.28 kernels and later.
    
    Reviewed-on: https://gerrit.openafs.org/14159
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 17b42fe67c18fab0003fb712092d36f06c93f2eb)
    
    Change-Id: I206925d1659164a54e0c3a41b82a1733cb656b41
    Reviewed-on: https://gerrit.openafs.org/14210
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 81581b362af86b4f636d8e411e9cb8f1cf86f723
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri May 15 10:39:53 2020 -0600

    libafs: Abstract the Linux lru cache interface
    
    Define static functions afs_lru_cache_init, afs_lru_cache_add and
    afs_lru_cache_finalize to handle interfacing with Linux's lru
    facilities.
    
    This change's primary purpose is to isolate the preprocessor
    conditionals associated with the details of the system lru interfaces to
    just these functions and to simplify the areas that utilize lru caching
    by removing the preprocessor conditionals.
    
    As Linux's lru facilities change, additional conditional code will be
    needed.
    
    Reviewed-on: https://gerrit.openafs.org/14167
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dca95bcb7efdff38564dcff3e8f4189735f13b3a)
    
    Change-Id: I863bbc9bb578716c42fdf34672ec8ad85f05ea31
    Reviewed-on: https://gerrit.openafs.org/14209
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8db1ef3eee67e40643eaf017a62d7f2c23473e9b
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 18 17:20:26 2020 -0400

    LINUX 5.6: define osi_timeval32_t for 32-bit Linux
    
    For 32-bit Linux (e.g., arch i586), AFS_LINUX_64BIT_KERNEL is not
    defined, so osi_timeval32_t is defined as a typedef of the native
    'timeval'.  However, as of commit
    c766d1472c70d25ad475cf56042af1652e792b23 "y2038: hide
    timeval/timespec/itimerval/itimerspec types" (Linux 5.6), the native
    timeval struct is no longer available.  On such a kernel, the OpenAFS
    build will fail because osi_timeval32_t is not properly defined.
    
    Instead, add new conditionals to properly define osi_timeval32_t for
    this platform.
    
    Reviewed-on: https://gerrit.openafs.org/14216
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9a5790cfbb8e7b1a4a2e832911c71da49f604c20)
    
    Change-Id: I223d8407bf28e91ffb2669013c089053ae93feb3
    Reviewed-on: https://gerrit.openafs.org/14234
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c1abd1e48b2d5e679b91e43082c4e577ac6a70aa
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Fri Dec 6 15:23:34 2019 +0530

    afs: Add ppc64le changes in osconf.m4 file.
    
    If swig package is installed on a ppc64le system, build fails for
    "libuafs" while running "shlib-build". "shlib-build" gets executed for
    builing ukernel.so and this is triggered if "LIBUAFS_BUILD_PERL" is not
    empty. Having "swig" package on system sets "LIBUAFS_BUILD_PERL" to
    'LIBUAFS_BUILD_PERL' value. The reason for build failure was inside
    "shlib-build", 'linker' was not set (it was empty). 'linker' value is
    set based on SHLIB_LINKER, which was not defined in  osconf.m4 if build
    system is ppc64le.
    
    To fix this add ppc64le_linux26 case in osconf.m4 file.
    
    Reviewed-on: https://gerrit.openafs.org/13980
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f9c716fca1becea5a41fbe86535759ef817c924d)
    
    Change-Id: I20a9b58e83166932f9b00370f27a146cf3343ff9
    Reviewed-on: https://gerrit.openafs.org/14104
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9a9e26acf742cf49e2a773ffbb3f4f62a334950c
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Mar 13 18:23:14 2020 +0100

    Make OpenAFS 1.8.6pre2
    
    Update version strings for the second 1.8.6 prerelease.
    
    Change-Id: Ic5e452a379dac906520040a451f84ca19fd158e1
    Reviewed-on: https://gerrit.openafs.org/14097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 548b976600e19f3859ac77faa078ccca8abd6c1a
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Mar 13 18:19:45 2020 +0100

    Update NEWS for OpenAFS 1.8.6pre2
    
    Release notes for the second 1.8.6 prerelease
    
    Change-Id: I3abfbfacb68a134afafa73a9ac292f9ee776d9a2
    Reviewed-on: https://gerrit.openafs.org/14096
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 17d38e31e6f2e237a7fb4dfb46841060296310b6
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Mar 3 15:39:49 2020 -0700

    LINUX 5.6: define time_t and use timespec/timespec64
    
    The time_t type and the structure timeval were removed for use in kernel
    space code in Linux commits:
        412c53a680a97cb1ae2c0ab60230e193bee86387
            y2038: remove unused time32 interfaces
        c766d1472c70d25ad475cf56042af1652e792b23
            y2038: hide timeval/timespec/itimerval/itimerspec types
    
    Add an autoconf test for the time_t type.
    
    If time_t is missing, define the time_t type when building the kernel
    module.
    
    Change the vattr structure in LINUX/osi_vfs.h to use timespec/timespec64
    instead of the timeval structure.
    
    Conditionalize the definition of gettimeofday (needed by rand-fortuna.c) in
    crypto/hcrypto/kernel/config.h.  It is unused by the Linux kernel module
    and the function uses struct timeval that is no longer available.
    
    Reviewed-on: https://gerrit.openafs.org/14083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 78049987aa3e84865e2e7e0f3dd3b54d66258e74)
    
    Change-Id: Iff80c161441356d19b5962956dd524792b7bf629
    Reviewed-on: https://gerrit.openafs.org/14095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 355ea43f0d1b7feae1b3af58bc33af12838db7c3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Mar 2 16:17:55 2020 -0600

    LINUX: Avoid building rand-fortuna-kernel.o
    
    Currently, we build rand-fortuna-kernel.o for libafs on all platforms,
    even though we only use the fortuna RNG on AIX, DragonFlyBSD, HP-UX,
    and Irix. Everywhere else, our RAND_bytes() in
    src/crypto/hcrypto/kernel/rand.c uses osi_readRandom() instead of
    going through heimdal.
    
    Building rand-fortuna.c causes occasional build headaches for the
    kernel on Linux (see cc7f942, "LINUX: Disable kernel fortuna large
    frame errors"). The most recent instance of this is that Linux 5.6
    removes the definition for struct timeval, which is referenced in
    rand-fortuna.c.
    
    The Linux kernel is constantly changing, and so trying to keep
    rand-fortuna.c building on Linux seems like a waste of ongoing effort.
    So, just stop building rand-fortuna-kernel.o on Linux. The original
    intent of building this file on all platforms was to avoid bitrot, so
    still keep building rand-fortuna-kernel.o on all other platforms even
    when it's not used; just avoid it on Linux specifically, the platform
    that requires the most effort.
    
    To accomplish this, move rand-fortuna-kernel.o from AFSAOBJS to
    AFS_OS_OBJS, and remove it from the Linux-only AFSPAGOBJS.
    
    [1.8.x: The 1.8 branch does not contain the commits that introduced
    -Wno-error=frame-larger-than= (cc7f942a and 54150f38), so we can skip
    removing the references to -Wno-error=frame-larger-than=.]
    
    Reviewed-on: https://gerrit.openafs.org/14084
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b8088b49dec23da19406fcb014e7100695dc8322)
    
    Change-Id: Iad0d1af5ffd79c576ddbc253b0037b9772187350
    Reviewed-on: https://gerrit.openafs.org/14094
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1045bcc97941e2788fb1d625b38f7727dd5a6813
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sat Jan 25 20:32:26 2020 +0100

    Make OpenAFS 1.8.6pre1
    
    Update version strings for the first 1.8.6 prerelease.
    
    Change-Id: I8e63f8532970a8b0f8d3a39d93d9ae07e83f9df7
    Reviewed-on: https://gerrit.openafs.org/14047
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1f36d0b6ccb53c17da09beac6f8f09b52dc5e77d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Feb 17 20:49:02 2020 +0100

    Update NEWS for OpenAFS 1.8.6pre1
    
    Release notes for the first 1.8.6 prerelease
    
    Change-Id: I22912d4526d079c0819e156a4e6fe1d38fdeee35
    Reviewed-on: https://gerrit.openafs.org/14070
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 34f1689b7288688550119638ee9959e453fde414
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Feb 14 11:50:03 2020 -0700

    LINUX 5.6: use struct proc_ops for proc_create
    
    The Linux commit d56c0d45f0e27f814e87a1676b6bdccccbc252e9
    (proc: decouple proc from VFS with "struct proc_ops") was merged into
    Linux 5.6rc1.  The commit replaces the 'file_operations' parameter for
    proc_create with a new structure 'proc_ops'.
    
    Conditionally initialize and use proc_ops structures instead of
    file_operations structures for calls to proc_create.
    
    Notes:
     * proc_ops.proc_ioctl is equivalent to file_operations.unlocked_ioctl
     * The macros HAVE_UNLOCKED_IOCTL and HAVE_COMPAT_IOCTL are both
       hardcoded to 1 in linux's fs.h
     * proc_ops.compat_ioctl is conditional on Linux's CONFIG_COMPAT macro
       which is a separate test from the HAVE_COMPAT_IOCTL macro
    
    Reviewed-on: https://gerrit.openafs.org/14063
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1626986bd6d70c526376cf7cedfd3ebbf6d3588a)
    
    Change-Id: Icaab45f4542131e636f2c60e3efce86c8afc57be
    Reviewed-on: https://gerrit.openafs.org/14069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 19593b845334e131388b17aab8c588ee6ea1646d
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Feb 7 14:58:56 2020 -0300

    macos: add anchors to synthetic.conf grep pattern
    
    The grep pattern that checks if /etc/synthetic.conf already has an entry
    for afs is intended to check if this file holds a single column entry
    named afs. Unfortunately, the current version does not completely
    enforce this restriction. To fix this problem, add anchors to the grep
    pattern in question.
    
    Reviewed-on: https://gerrit.openafs.org/14062
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6d6a28720f4eae4652f2628fdfcc30983916f39d)
    
    Change-Id: Iea837157a9eb5c066d577c705c445e10e244757d
    Reviewed-on: https://gerrit.openafs.org/14068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 92831c22e8dca127ad98e2965e8707e91d9b9d19
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Dec 21 19:56:41 2019 -0800

    macos: add entry for afs into synthetic.conf
    
    The root mount point is read-only as of macOS 10.15. As a result, /afs
    cannot be created at this location. To workaround this restriction,
    macOS 10.15 provides an alternative way to create mount points at the
    root. To make it possible, an entry for the mount point in question must
    be added to /etc/synthetic.conf. The synthetic entities described in
    this file are not physically present on the disk. Instead, they are
    synthesized by the kernel during system boot.
    
    This commit adds an entry for afs into the file mentioned above. Knowing
    that this change only takes effect after reboot, also provide directions
    to the user during the installation process.
    
    Reviewed-on: https://gerrit.openafs.org/13928
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit daf6616aab6732d6b417c15f6f401731ef8e44b5)
    
    Change-Id: If990608d968061ac8ab0391dbd83d1c6a87d32a6
    Reviewed-on: https://gerrit.openafs.org/14037
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ce96e36c0067c9e620579cc305ae16189d066c15
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Dec 21 19:11:57 2019 -0800

    macos: add script to notarize OpenAFS
    
    In order to integrate the notarization process into our existing build
    scripts, this patch introduces a script to automatically notarize the
    OpenAFS package.
    
    Reviewed-on: https://gerrit.openafs.org/13671
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0563642cc1cb750c69a6471005adf36fabb2b7e3)
    
    Change-Id: I50265b3305eb12db45371da1bf1982a6722c0018
    Reviewed-on: https://gerrit.openafs.org/14036
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 48520140344a05abf4fc18636a66e8dc67880a26
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Nov 26 11:41:36 2019 -0800

    macos: prepare for notarization
    
    With the public release of macOS 10.14.5, all new and updated kernel
    extensions must be notarized by Apple. To be taken into consideration,
    all executables must be signed and the Hardened Runtime capability must
    be enabled.
    
    This patch adds the missing prerequisites mentioned above.
    
    Reviewed-on: https://gerrit.openafs.org/13670
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 63fd13bf9e6af21136007c9980816875ebea5f7c)
    
    Change-Id: If0c27732f667945f430fd2c5698e8f58a84e3bde
    Reviewed-on: https://gerrit.openafs.org/14035
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 cb6cf0b924b88fcbfb80fea4d832b50b77951692
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Jun 28 00:40:55 2019 -0300

    macos: packaging support for MacOS X 10.15
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 10.15 "Catalina".
    
    Reviewed-on: https://gerrit.openafs.org/13669
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit c7864b73603842b8beaee03fcbb2426890205410)
    
    Change-Id: I0b6b0616f2f2413a466c60986957e6bc3e21cbb0
    Reviewed-on: https://gerrit.openafs.org/14034
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0e40f1e25f037cb283b3f91598e691f0a4c46f64
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Nov 18 06:34:08 2019 -0800

    macos: add support for MacOS 10.15
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 10.15 "Catalina".
    
    Reviewed-on: https://gerrit.openafs.org/13668
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 93815caabc92acc6edc62b72805b44d2e46748cf)
    
    Change-Id: Ia1fb98dd59d7b0ddad9c16c04b823623e07dd498
    Reviewed-on: https://gerrit.openafs.org/14033
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 30edde16473566a855dd0d37d0c30c2ac3587ba5
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Dec 12 19:03:04 2019 -0800

    macos: upgrade *.xib files
    
    According to Xcode 11, the *.xib files updated by this commit use an
    older format that is potentially insecure when decoded. To fix this
    problem, Xcode automatically upgraded these files to the modern format.
    These changes are required to build OpenAFS on Catalina (Xcode 11).
    
    Reviewed-on: https://gerrit.openafs.org/13935
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d4302d42149988fa6d04d626967063dfa916c9fd)
    
    Change-Id: I1e29493a8431d4ad13ff36762f6112dd5309573c
    Reviewed-on: https://gerrit.openafs.org/14032
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 b77092ceb0fb6ee06b0a7e5fdb22748ac1ed4ccc
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 7 23:56:13 2019 -0300

    macos: tell the compiler the system include path
    
    In order to support multiple SDKs, macOS Catalina no longer has the
    /usr/include directory. As a result, the compiler needs to know where
    these headers can be found. To successfully build OpenAFS on OSX 10.15,
    set KROOT so the compiler knows the correct location of these headers.
    
    Reviewed-on: https://gerrit.openafs.org/13936
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 677b038814817defec9421e698ce67b44a7fd7d1)
    
    Change-Id: I2043c2bc6e745ca55faf68b77d791168bc57bb1d
    Reviewed-on: https://gerrit.openafs.org/14031
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 c75d8b632c1d4f55901fa2023ed0edb0c713cf0a
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 14 17:29:56 2019 -0300

    viced: add opt to allow admin writes on RO servers
    
    Add the new option -admin-write to allow write requests from superusers
    on file servers running in readonly mode (-readonly). This lets sites
    run fileservers in readonly mode for normal users, but allows members of
    the system:administrators group to modify content.
    
    Reviewed-on: https://gerrit.openafs.org/13707
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f5f8b9336919debc5c26c429b12a14b65e0b697c)
    
    Change-Id: Ia627b8c99767a875c1e8d1c69dcb45118df36937
    Reviewed-on: https://gerrit.openafs.org/14019
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@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 2fe6510fb72e242f71c7882db7744f0ec3e91d52
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 14 01:15:47 2019 -0300

    viced: prevent writes on readonly fileservers
    
    Currently, a fileserver can be initialized as readonly. In this mode,
    writes on this server should not be allowed. Unfortunately, updates on
    files stored by readonly fileservers are not completely prevented. In
    some situations, the check for RO server is omitted (e.g. if the user is
    the owner of the file to be updated). In other situations, the same
    check is redundant.
    
    To fix these problems, consolidate this check in one place.
    
    Reviewed-on: https://gerrit.openafs.org/13934
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0593017177edd5b3bc6609d9dfcce55f15bba3e9)
    
    Change-Id: I42034928d1f5e9342029121613ac8d716818c3ae
    Reviewed-on: https://gerrit.openafs.org/14018
    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 08f4388e207af62f7c7ea68c10bd4e4ab5a9e049
Author: Andrew Deason <adeason@dson.org>
Date:   Sun Nov 17 20:58:15 2019 -0600

    afs: Ensure CDirty is set during afs_write loop
    
    Currently, in afs_write(), we set CDirty on the given vcache, and then
    write the given data into various dcaches. When writing to a dcache,
    we call afs_DoPartialWrite, which may cause us to flush the dirty data
    to the fileserver and clear the CDirty bit.
    
    If we were given more than 1 chunk of data to write, we will then go
    through another iteration of the loop, writing more dirty data into
    dcaches, but CDirty will not be set. This can cause issues with, for
    example, afs_SimpleVStat() or afs_ProcessFS(), which use CDirty to
    determine whether or not to merge in FetchStatus info from the
    fileserver into our local cache. This can cause our local cache to
    incorrectly reflect the state of the file on the fileserver, instead
    of the state of the locally-modified file in our cache.
    
    A more detailed example is as follows. Consider a small C program that
    copies a file, fchmod()ing the destination before closing it:
    
        void
        do_copy(char *src_name, char *dest_name)
        {
            /* error checking elided */
            src_fd = open(src_name, O_RDONLY);
            dest_fd = open(dest_name, O_WRONLY|O_CREAT|O_TRUNC, 0755);
            fstat(src_fd, &st);
            src_buf = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, src_fd, 0);
            write(dest_fd, src_buf, st.st_size);
            munmap(src_buf, st.st_size);
            close(src_fd);
            fchmod(dest_fd, 0100644);
            close(dest_fd);
        }
    
    Currently, on FBSD, using this to copy a 7862648-byte file, using a
    smallish cache (10000 blocks) will cause the destination to appear to
    be truncated, because avc->f.m.Length will be incorrect, even though
    all of the relevant data was written to the fileserver.
    
    On most other platforms such as SOLARIS and LINUX, this is not a
    problem, since currently they only write one page of data at a time to
    afs_write(), and so they never hit multiple iterations of the while()
    loop inside afs_write().
    
    To fix this, just set CDirty on every iteration of the while() loop in
    afs_write(). In general, we need to set CDirty after calling
    afs_DoPartialStore() anywhere if the caller continues to write more
    data. But all callers already do this, except for this one instance in
    afs_write().
    
    Thanks to tcreech@tcreech.com for helping find occurrences of the
    relevant issue.
    
    FIXES 135041
    
    Reviewed-on: https://gerrit.openafs.org/13948
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9d0854547522f7b2fb1bb7aa876fe9f901674747)
    
    Change-Id: Ie86313e9b9750bc6724bb6e18b7df8e010810023
    Reviewed-on: https://gerrit.openafs.org/13951
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b8cb5e995119656774844531b7400b8430aa6595
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 4 20:03:43 2019 -0600

    afs: Avoid -1 error for vreadUIO/vwriteUIO
    
    Commit c6b61a45 (afs: Verify osi_UFSOpen worked) added various checks
    to return an error if a given osi_UFSOpen failed. However, two of
    these checks (in afs_UFSReadUIO and afs_UFSWriteUIO) result in us
    returning -1 on error, in functions that otherwise return errno codes
    (e.g. ENOSPC). An error code of -1 might get interpreted as
    RX_CALL_DEAD, which would be rather confusing, so use EIO as a generic
    error instead.
    
    Reviewed-on: https://gerrit.openafs.org/13931
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 360b9d5d71fb1de142ae4efd4660732476855a3f)
    
    Change-Id: I4c6773affe02cc7a3ca01cf25bea21c960d98e87
    Reviewed-on: https://gerrit.openafs.org/13938
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit aed48d8dda60288e7e84f6decf17af00abd3b4bf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 22 15:20:24 2019 -0400

    vos: fix name availability check in vos rename
    
    The UV_RenameVolume() function first updates the volume name in the
    VLDB, then read-write volume header and backup volume header, and
    finally all of the read-only volume headers. If this function is
    interrupted or a remote site is not reachable, the names in some of the
    volume headers will be out of sync with name in the VLDB entry.
    
    The implementation of UV_RenameVolume() is idempotent, so can be safely
    called with the same name as in the volume's VLDB entry. This could be
    used to bring all the names in the volume headers in sync with the name
    in the VLDB.
    
    Unfortunately, due to the check of the -newname parameter, vos
    rename will not invoke UV_RenameVolume() when the name in the VLDB has
    already been changed.  The vos rename command attempts to verify the
    desired name (-newname) is available before invoking UV_RenameVolume()
    by simply checking if a VLDB entry exists with that name, and
    incorrectly assumes when a VLDB entry exists with that name it is an
    entry for a different volume.
    
    Change the -newname check to allow vos rename to proceed when name has
    already been set in the VLDB entry of the volume being renamed. This
    allows admins to run vos rename command to complete a previously
    incomplete rename operation and bring the names in the volume headers in
    sync with the name in the VLDB entry.
    
    Note: Before this commit, administrators could workaround this vos
    rename limitation by renaming the volume twice, first to an unused
    volume name, then to the actual desired volume name.
    
    Remove the useless checks of the code1 return code after exit in
    the RenameVolume() function. These checks for code1 are never performed
    since the function exits early when the first VLDB_GetEntryByName()
    fails for any reason.
    
    Update the vos rename man page to show vos rename can be used to fix
    previously interrupted/failed rename. Also document the -oldname
    parameter accepts a numeric volume id to specify the volume to be
    renamed.
    
    Reviewed-on: https://gerrit.openafs.org/13720
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9238b1eb9ef02889855eaade76e5b7962e5f2f28)
    
    Change-Id: I8b03e4211c5d306f55779130c8461b14bc4913f0
    Reviewed-on: https://gerrit.openafs.org/14055
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 72fdc562088777393ea60f2be3478841104ff463
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 31 16:14:40 2020 -0700

    RedHat: Update makesrpm.pl to use @PACKAGE_VERSION@ instead of @VERSION@
    
    Commit 2f2c2ce62aa17ecac3651d64c1168af926f7458b
    'Remove automake autoconf vars' replaced the automake variable @VERSION@
    with the autoconf variable @PACKAGE_VERSION@. (Gerrit #13357)
    
    The RedHat openafs.spec.in is not processed using autoconf, but
    by 'makesrpm.pl', which was not updated to use @PACKAGE_VERSION@.
    
    Update makesprm.pl to use @PACKAGE_VERSION@ instead of @VERSION@
    
    Reviewed-on: https://gerrit.openafs.org/13887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b03f3e6101ff21a6f148c555c213c47678482a7b)
    
    Change-Id: I6bc27474b1b8dfa8b63806a4e0e996a00dd302e4
    Reviewed-on: https://gerrit.openafs.org/14050
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 246f17c6c32174d80643c61f3184ba82aa653e50
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 4 17:32:51 2018 -0400

    ubik: improve logging for database synchonizations
    
    As an aid for debugging database synchronization issues, ensure that the
    logging is consistent and unambiguous for both the client and server
    sides of DISK_GetFile and DISK_SendFile.  Add new error messages as
    required.
    
    In addition, rework the "recovery sending version to <IP>" message in
    urecovery_Interact.  This message is misleading because the new version
    database is only sent to a DB server if its version is not up to date.
    Instead, move this message into the version check block immediately
    below it.  Also reword it for clarity and promote its log level from 5
    to 0.  Finally, remove the now-superfluous "recovery stating local
    database" log message.
    
    Reviewed-on: https://gerrit.openafs.org/13079
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0e1c042615d1aeb919a22568cdd2b2ea42c677ba)
    
    Change-Id: I26e876e5bcd5adc004b985ea8c3f716cb6a72b5d
    Reviewed-on: https://gerrit.openafs.org/13908
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 803e0bcaa063e23c24c70b10a3e7fe374e69e0f6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Mar 17 18:12:23 2017 -0400

    ubik: urecovery_AbortAll diagnostic msgs
    
    As a troubleshooting aid for developers, add a few counters and a log
    msg so we know when transactions are being aborted (if any) by
    urecovery_AbortAll.
    
    Reviewed-on: https://gerrit.openafs.org/12618
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit eac22d3e46c72c0e2b82f35c5187d50b6fa136a2)
    
    Change-Id: Ia91bc1c5f041eccc9b974d4b195fed1a889252e7
    Reviewed-on: https://gerrit.openafs.org/13907
    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 584e3e5da080c185466f86d549776487d0e81559
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 8 21:11:27 2017 -0400

    ubik: log important messages at default log level
    
    Many important ubik messages (e.g., errors, warnings, sync state
    changes) are logged at log level 5 (-d 5) or higher.  Many sites are
    reluctant to run ubik servers at a logging level higher than the default
    due to the large number of extremely noisy informational messages at log
    level 5.  Therefore, many important log messages are never seen.
    
    Instead, issue critical errors, warnings, and other important messages
    at log level 0 so that they are always seen, even at the default logging
    level.
    
    In addition, disambiguate the two "I am no longer sync-site" messages by
    adding a unique reason text to each.
    
    Reviewed-on: https://gerrit.openafs.org/12617
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit 8b0e312d043d435f0e55c6dc14f5446ffedc7ce4)
    
    Change-Id: I87425e78fb4f7fb1aa393b2f5b81ab34a71a38c4
    Reviewed-on: https://gerrit.openafs.org/13906
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e29b1c453d280dcde3c2731599fc7a0f64e4dc10
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 27 13:36:15 2018 -0500

    ubik: Save errno before logging
    
    The value of errno can change after a syscall, and ViceLog may issue
    syscalls (such as write()). So, make sure we save errno here before
    calling ViceLog().
    
    Issue spotted by kaduk@mit.edu.
    
    Reviewed-on: https://gerrit.openafs.org/13263
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 9ff5f8f7601cc9761cc6a4ef0e8b7c8c2c8dddb5)
    
    Change-Id: I4f41ca758574e0d58659788467372af71a5f75f2
    Reviewed-on: https://gerrit.openafs.org/13898
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 518a42eea03b372c92794602a15b89cd5ab78668
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sat Aug 11 13:17:28 2018 -0400

    vol: remove empty directories left by vos zap -force
    
    The vos zap -force command does not remove the directories associated
    with the volume in question (AFS_NAMEI_ENV). When the vos zap -force
    command is executed, the volume server goes through the /vicep*/AFSIDat
    directories and removes the files associated with the volume id received
    as an argument. Unfortunately, the volume server does not remove the
    directories associated with this volume. As a result, empty directories
    are left behind.
    
    To fix this problem, remove the empty directories left behind when vos
    zap -force is executed.
    
    Reviewed-on: https://gerrit.openafs.org/12879
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 892045a9803ed471986569705d9d727165ca7ecf)
    
    Change-Id: I18b727a561785443f488d60b967182e3ddb9064e
    Reviewed-on: https://gerrit.openafs.org/13897
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2bb9dc093b65210a33ffa3b21e6173bbe0452a0c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 12:49:07 2019 -0600

    vol: check snprintf return values in namei_ops
    
    gcc8 is more aggressive about parsing format strings and computing bounds
    on the generated text from functions like snprintf.  In this case it seems best
    to detect cases of truncation and error out, rather than trying to increase
    stack buffer sizes or switch to asprintf.  These paths should be well-behaved
    since they are local to the fileserver, so this is mostly about appeasing the
    compiler's -Wformat-truncation checks to allow us to build with --enable-checking.
    
    Reviewed-on: https://gerrit.openafs.org/13463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8632f23d6718a3cd621791e82d1cf6ead8690978)
    
    Change-Id: Ie8f9005ad9cf7cdfd3eb472e01a6fdbde5b7e57e
    Reviewed-on: https://gerrit.openafs.org/13732
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e849fbc4a8d86ef96c91a4011b1a57f4d7bf725c
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue May 31 09:08:08 2016 -0300

    venus: fix memory leak
    
    In GetPrefCmd, when we request server prefs from the kernel and our
    output buffer is not big enough, pioctl() will return E2BIG and we
    allocate more memory and try again. However, if the size of the output
    buffer reaches 16k bytes and this space is still not enough (or if
    pioctl fails and errno != E2BIG), we return without releasing the
    memory that was previously allocated.
    
    To fix this problem, free our output buffer when this happens.
    
    Reviewed-on: https://gerrit.openafs.org/12293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8ad4e15ffc883c9a99f9636d7d8a5ed0a2fcc26a)
    
    Change-Id: I62ceddc5284c94da205ec2351ab9ef970cd64c4a
    Reviewed-on: https://gerrit.openafs.org/13895
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit db0b199bdf4f0c16a90cd89a05f4d6112f215b1e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 17:09:36 2019 -0600

    venus: appease gcc8's -Wformat-string
    
    Interestingly, even before this commit, the buffer size was larger
    than what the kernel would accept.  Since the kernel does its own
    length checking, it's simplest to just allow slightly larger requests
    here and have them fail later.
    
    Reviewed-on: https://gerrit.openafs.org/13471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dff81f1b78fecc54f5af91f7d728925ffca62d2c)
    
    Change-Id: Ie19d887abebdd3603a04c06723f5cb750eb654f8
    Reviewed-on: https://gerrit.openafs.org/13740
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 388973d7e8a453f6a099afb671d10affb965500c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 21 11:59:38 2017 -0500

    vol: avoid query for parent id when deleting disk header
    
    When a DAFS volume server removes a volume disk header file (V*.vol),
    the volume server invokes an fssync command to have the file server
    delete the Volume Group Cache (VGC) entry corresponding to the volume id
    and the parent id of the removed volume header.
    
    The volume parent id is unknown to the volume server when removing a
    volume disk header on behalf of a "vos zap -force" operation. In this
    case, the volume server issues a fssync query to attempt look up to the
    parent id from the file server's VGC.  If this fssync query fails for
    some reason, volume server is unable to delete the VGC entry for the
    deleted volume header. The volume server logs an error and vos zap
    reports a undocumented error code.
    
    One common way this can be encountered is to issue a "vos zap -force" on
    a file server that has just been restarted. In this case, the VGC may
    not be fully populated yet, so the volume server is not able to look up
    the parent id of the given volume.
    
    With this commit, relax the requirement for the parent id when deleting
    VGC entries. A placeholder of 0 is used to mean any parent id for the
    given volume id.
    
    This obviates the need to query for the parent id when performing a "vos
    zap -force", and allows the volume server to remove any VGC entries
    associated with the volume id being zapped.
    
    Reviewed-on: https://gerrit.openafs.org/12839
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 65b55bcc26f69f25c67518f672b34be73f3be370)
    
    Change-Id: I2e927d7b388c7be36a67e196a3acb70e58c9a661
    Reviewed-on: https://gerrit.openafs.org/13896
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5739775819b7c3970a977d57d6987b2eb3e85fd6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 12:25:35 2019 -0600

    vol: fix vutil format-truncation nit
    
    We need one more byte for the trailing NUL.
    
    Reviewed-on: https://gerrit.openafs.org/13462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bfe912ede6f452d10cfbd5fd549f44ee027acb1b)
    
    Change-Id: I1843bd9cb3392f721068c079b69fca65f6d1a181
    Reviewed-on: https://gerrit.openafs.org/13731
    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 b86e01577ef992599606acd668271a99b52e4a1b
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Jun 6 14:03:54 2016 -0300

    sys: retry lsetpag if errno is EINTR
    
    The variable errno might be set by some system calls to indicate the
    reason why the system call in question did not work as expected. If the
    setpag system call is interrupted by a signal, the value of errno will
    be EINTR. This value means that setpag did not succeed because it was
    interrupted.
    
    If lsetpag did not succeed and errno is equal to EINTR, try again.
    
    Reviewed-on: https://gerrit.openafs.org/12295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2ae2a15c9dc9b26eaa15964cc96fdeeb6d82c74c)
    
    Change-Id: I58d4aa633e5cadea2bc7b222f68306f07657b754
    Reviewed-on: https://gerrit.openafs.org/13975
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c0b07f7b5aed843f06c7cb334f1495acc2fe0ff4
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 7 00:10:12 2019 -0300

    afs: afs_pag_wait() makes process unkillable
    
    To enforce a maximum average rate of one PAG allocation per second,
    afs_pag_wait(), called by afs_setpag*(), sleeps until the difference
    between the current time and pag_epoch gets greater than pagCounter.
    Unfortunately, this function ignores the code returned by afs_osi_Wait().
    As a result, it is not possible to kill the process that requested the
    new pag while afs_pag_wait() is sleeping.
    
    To fix this problem, do not ignore the code returned by afs_osi_Wait().
    
    Reviewed-on: https://gerrit.openafs.org/12260
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9563807791e2402f7a214a90e96cf6ed8ea5abfb)
    
    Change-Id: Id2453d6eb2b6cc973082da28bb3746c9f9c5ddb2
    Reviewed-on: https://gerrit.openafs.org/13974
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 080857b86b682994d023c6fdee39985c9434ce14
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Sep 20 08:44:59 2018 -0400

    afs: avoid extra VL_GetEntryByName for .readonly's
    
    In the VLDB, there's only one logical entry for a volume and its
    associated clones; there are not separate entries for the RW volume
    "avol", the RO volume "avol.readonly", and the BK volume
    "avol.backup".  And so, when looking up a volume in the VLDB by name,
    the vlserver ignores any trailing ".readonly" or ".backup" in the
    given name.  More concretely, the result of calling
    VL_GetEntryByName*("avol") is identical to that from calling
    VL_GetEntryByName*("avol.readonly").
    
    Accordingly, if afs_GetVolumeByName(name) failed because the volume
    was not found in the VLDB, afs_GetVolumeByName(name.readonly) will
    fail as well (barring a change in external circumstances, such as the
    volume being created or a network connection coming back up).
    Therefore, the extra call in EvalMountData() is not necessary and can
    be removed.
    
    Remove the extra call, to slightly improve the response time of the
    client if the volume in question does not exist, and to reduce
    vlserver load when patched clients are looking up nonexistent volumes.
    
    Reviewed-on: https://gerrit.openafs.org/13334
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 747afb94aa214217a749471679082c6ed8e81e92)
    
    Change-Id: Ieb0bccc359fc8ebc0ad2747dbfb329d232e5e436
    Reviewed-on: https://gerrit.openafs.org/13968
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5e7446595e442b9384e77df8dd18daacf2a2697a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 16 10:00:17 2018 -0500

    auth: plug auth realms memory leaks
    
    The function _afsconf_FreeRealms, called by afsconf_CloseInternal, leaks
    two afsconf_realms structures.
    
    The function _afsconf_LoadRealms also leaks those two structures when it
    fails.
    
    These memory leaks were discovered with valgrind.
    
    Reviewed-on: https://gerrit.openafs.org/13395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit 80ed9d98779135d43f23c9e51e7bd6bce36405f1)
    
    Change-Id: I3e4824e2be4a22b62c1e9502860b952db777cae7
    Reviewed-on: https://gerrit.openafs.org/13900
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Yadavendra Yadav <yadayada@in.ibm.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 74b7b948229af1a12938d06b1ec892562a2a573e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 4 10:27:10 2014 -0400

    cmd: improve help for programs without subcommands
    
    Some programs do not have subcommands (other than the standard "help",
    and "version" subcommands).  The cmd library provides the "noopcode"
    mechanism for new subcommand-less programs, but older programs take
    advantage of the optional "initcmd" token to simulate subcommand-less
    programs.  The "initcmd" token is optional to run the command, however
    it is required to display the command help.
    
    For example, running the xstat_cm_test program without any options gives
    a syntax error:
    
        $ xstat_cm_test
        xstat_cm_test: Missing required parameter '-cmname'
        ...
    
    Retrying with -help (or help, -h, --help), gives the rather unhelpful
    output:
    
        $ xstat_cm_test -help
        xstat_cm_test: Commands are:
        apropos         search by help text
        help            get help on commands
        initcmd         initialize the program
    
    It is not obvious to the user how to get the command usage for the
    program, nor that the initcmd subcommand to "initialize the program" is
    actually is a placeholder to run the program.
    
    Instead, display the command usage when help is requested and initcmd is
    the only defined subcommand for a program.
    
    For example:
    
        $ xstat_cm_test -help
        Usage: src/xstat/xstat_cm_test [initcmd]
                 -cmname <Cache Manager name(s) to monitor>+
                 -collID <Collection(s) to fetch>+ [-onceonly]
                 [-frequency <poll frequency, in seconds>]
                 [-period <data collection time, in minutes>] [-debug] [-help]
        Where: -onceonly  Collect results exactly once, then quit
               -debug     turn on debugging output
    
    The libcmd library now supports an "noopcode", which should used for
    future subcommand-less programs, but converting old programs to remove
    the initcmd opcode could break scripts which actually specify the
    optional initcmd token.
    
    This commit adds a new libcmd flag called CMD_IMPLICIT which is used to
    denote built-in subcommands such as "version" and "help".
    
    Reviewed-on: https://gerrit.openafs.org/10983
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 77ae3dc899e89f327328c874628f100a765846c4)
    
    Change-Id: I5b31f12f844f14e6cf31ee28c1eb60c98fcf4b59
    Reviewed-on: https://gerrit.openafs.org/13894
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 74891b3d29b762f68853a7b4bcd43b11cac2bbb7
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 2 10:31:13 2019 -0600

    restorevol: replace snprintf with asprintf
    
    GCC is generating format-truncations warnings. With newer levels of gcc
    (e.g. gcc8) and --checking-enabled these warnings result in errors and
    failed builds.  In addition clang8 static analysis tools are reporting
    memory leaks.
    
    Replace snprintf with asprintf and eliminate some of the large work
    buffers that are being placed on the stack. In order to correct some of
    the format-truncation errors the size of the buffers grew significantly
    (e.g. gcc is reporting the need to resize some of the buffers from 256
    bytes to 4K in order to eliminate the warnings).
    
    Ensure allocated work buffers are freed before function return.
    
    Obtained a clean build with gcc9/clang8 with --enable-checking and a
    clean scan-build report with clang8.
    
    Reviewed-on: https://gerrit.openafs.org/13494
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bf24b301a10dcb5710a98e58252213bd72c6f352)
    
    Change-Id: If9fa37613841ffd090ec565dc24171bf89579c5b
    Reviewed-on: https://gerrit.openafs.org/13750
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e1a450238f081f4be419cbd4340658f6b2f03133
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Mar 1 08:46:32 2019 -0700

    bos: remove smail-notifier
    
    smail-notifier is a sample program that is undocumented and has not
    been well maintained.  It produces copious compiler warnings, and
    would require effort to bring the code up to decent coding practices.
    
    The bosserver provides a -notifier feature that can be used for
    notifications, but that feature does not depend on this sample program.
    
    Removed the code, cleaned up the Makefiles and .gitignore.
    
    Reviewed-on: https://gerrit.openafs.org/13509
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6e988a5b3900fe73c314c9960d6fb7753ff98411)
    
    Change-Id: I073a2b772f894e321bd0b41e012229c8e6d3105c
    Reviewed-on: https://gerrit.openafs.org/13738
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b69c0d81b4fcf9d77dae0eec5cd26e859460e870
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Oct 1 12:14:41 2019 -0600

    LINUX 5.3: Add comments for fallthrough switch cases
    
    With commit 6e0f1c3b45102e7644d25cf34395ca980414317f (LINUX: Honor
    --enable-checking for libafs) building libafs against a linux 5.3
    kernel compiles with errors due to fall through in case statements when
    --enable-checking / --enable-warning is used.
    
    e.g.
      src/opr/jhash.h:82:17: error: this statement may fall through
                                    [-Werror=implicit-fallthrough=]
             case 3 : c+=k[2];
                      ~^~~~~~
    
    The GCC compiler will disable the implicit-fallthrough check for case
    statements that contain a "special" comment ( /* fall through */ ).
    
    Add the 'fall through' comment to indicate where fall throughs are
    acceptable.
    
    This commit only adds comments and does not alter any executable code.
    
    The -Wimplicit-fallthrough flag was enabled globally in the linux kernel
    build in 5.3-rc2 (commit: a035d552a93bb9ef6048733bb9f2a0dc857ff869
    Makefile: Globally enable fall-through warning)
    
    Reviewed-on: https://gerrit.openafs.org/13881
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a455452d7ee98d160620925bb8a0e3d0f4dfd7ec)
    
    Change-Id: Icad4b5923d971e7519f5d5259cd9c009c40c0d7a
    Reviewed-on: https://gerrit.openafs.org/13910
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5679fdb720525ec5289e80927fdd8b25cf2ae62f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 3 12:55:53 2019 -0500

    LINUX: Unlock page on afs_linux_read_cache errors
    
    When afs_linux_read_cache is called with a non-NULL task, it is
    responsible for unlocking 'page' (unless it's unlocked in a background
    task), even if we encounter an error. Currently we almost always do
    unlock the given page for a non-NULL task, but if we manage to hit one
    of the codepaths that 'goto out', we skip over the unlock_page() call
    near the end of the function, and the page never gets unlocked.
    
    As a result, the page stays locked forever. That generally means any
    future access to the same file will block forever, and when we try to
    flush the relevant vcache, we will block waiting for the page lock
    while holding GLOCK. (This can happen via the background daemon via
    e.g. afs_ShakeLooseVCaches -> osi_TryEvictVCache -> afs_FlushVCache ->
    osi_VM_FlushVCache -> vmtruncate -> ... -> truncate_inode_pages_range
    -> __lock_page on Linux 2.6.32-754.2.1.el6.) This quickly brings the
    whole client to a halt until the machine can be forcibly rebooted.
    
    To solve this, just move the 'out:' label to before the page unlock.
    Add a few locking-related comments around the relevant code to help
    explain some relevant details.
    
    The relevant code has changed and been refactored over the years, but
    this problem has probably existed ever since this code was originally
    converted to using the readpage() of the underlying cache fs, in
    commit 88a03758 (Use readpage, not read for fastpath access).
    
    Reviewed-on: https://gerrit.openafs.org/13672
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit eed79e2d28dcab889d01869e57dec14fd30d421c)
    
    Change-Id: I6391897473e701bd81eb334935317dc5009612da
    Reviewed-on: https://gerrit.openafs.org/13765
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7ddb6b599426e2f59787ce924c9a5d1801ca0ba7
Author: Yadavendra Yadav <yadayada@in.ibm.com>
Date:   Fri Jul 26 19:59:25 2019 +0530

    LINUX: Avoid re-taking global lock in afs_dentry_iput
    
    “dput” function internally can call dentry_iput which  results in
    calling afs_dentry_iput. So in case before calling “dput” if global lock
    was held then when afs_dentry_iput is called it will again try to lock
    global lock and will result in deadlock scenario.  So to avoid this
    deadlock make sure if global lock is already taken before calling
    afs_dentry_iput, don’t try to lock it again.  This issue was partially
    fixed in commit 0dac4de8 (Linux: drop GLOCK before calling dput)
    
    Reviewed-on: https://gerrit.openafs.org/13725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5792e0211be275cf79d10e8c5f6ab2a14493e07a)
    
    Change-Id: I4a17700adb18956fc61462663fdb690b267cc928
    Reviewed-on: https://gerrit.openafs.org/13748
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 62ec1c913134f515802140e48e6386ec35559767
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 1 11:56:53 2018 -0400

    afs: Free 'addrs' array
    
    Currently, 3 places in libafs allocate an 'addrs' array in a very
    similar way to loop through our list of servers:
    ForceAllNewConnections(), afs_LoopServers(), and PCallBackAddr(). Of
    these, only afs_LoopServers actually frees the array.
    ForceAllNewConnections and PCallBackAddr leak the memory, but these
    are only hit from infrequent pioctls that can only be run by root, so
    the impact is small.
    
    Fix ForceAllNewConnections and PCallBackAddr to free the array.
    
    Reviewed-on: https://gerrit.openafs.org/13355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0548ee436d0f0f92a980d22e03149faedf38dc70)
    
    Change-Id: I5d64899c7be40ba3e1b0985c4829933eebbd8323
    Reviewed-on: https://gerrit.openafs.org/13899
    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 dace4163c169f879c4054e1f3e9071b8b0ab3226
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 26 13:35:51 2019 -0500

    rx: Fix test for end of call queue for LWP
    
    Commit 6ad3d646 (rx: Correctly test for end of call queue) fixed a
    broken end-of-queue check in rx_GetCall, but it only fixed the
    RX_ENABLE_LOCKS version of rx_GetCall. The non-locks version (i.e. the
    LWP version) still had this bug. Fix it for the LWP case, to avoid
    some rare cases where an Rx call can get stuck in the incoming queue.
    
    Also remove the comment added by commit 170dbb3c (rx: Use opr queues),
    since we're fixing the mentioned problem.
    
    Reviewed-on: https://gerrit.openafs.org/13880
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d9fc4890f01a41fa5a63f97f2446b3afc35b473f)
    
    Change-Id: I2e0106b63a8bf09634500944490dfae2e86c18b9
    Reviewed-on: https://gerrit.openafs.org/13892
    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 b3ce4c493a6920b160e7ecd251fcc694891d3446
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Aug 9 07:59:44 2019 -0700

    The interminable rework of afs_random()
    
    Commit f0a3d477d6109697645cfdcc17617b502349d91b restructured the
    operation on tv_usec to avoid using undefined behavior, but in
    the process introduced a behavior change.  Historically (at least as
    far back as AFS-3.3), we masked off the low nybble (four bits) of
    tv_usec before adding the low byte (eight bits) of the rxi_getaddr()
    output.  Why there was a desire to combine two sources of input for
    the overlapping four bits remains unclear, but restore the historical
    behavior for now, as the intent of commit
    f0a3d477d6109697645cfdcc17617b502349d91b was to not introduce any
    behavior changes.
    
    Reviewed-on: https://gerrit.openafs.org/13759
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 1c4e94da2a8fce9d79006ad6d6673d3d7de117d3)
    
    Change-Id: Iec10673e5ec73c1e0edcc231690cb6133fce8691
    Reviewed-on: https://gerrit.openafs.org/13879
    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 f5f44ca2efa3534e84a5311fec7a637ec7bf5d9b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 19:45:31 2019 -0600

    rework afs_random() yet again
    
    clang 7 notes that ~0 is signed and that left-shifting into the sign
    bit is undefined behvaior.  Use a new construction to clear the low
    byte of tv_usec with only bitwise operations that are independent of
    the width of tv_usec and stay within the realm of C's defined behavior.
    
    Reviewed-on: https://gerrit.openafs.org/13474
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f0a3d477d6109697645cfdcc17617b502349d91b)
    
    Change-Id: I4f0438c2fc8237968f41409ca23ac098839508fe
    Reviewed-on: https://gerrit.openafs.org/13743
    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 1b704df8db4c7e2191b3683c03590aeb663af2f8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 18:39:53 2019 -0600

    Avoid incomplete function type in casts
    
    clang complains that these casts contain an incomplete function type
    (since the function argument is omitted rather than declared to be
    void).  Since we just need the cast to pointer type, let the compiler
    do it implicitly and pass stock NULL, rather than trying to force a
    cast to function-pointer type.
    
    Reviewed-on: https://gerrit.openafs.org/13473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 96c0b88947c7aab605170bdca633d3716051a58e)
    
    Change-Id: I950ff8de925a1ca03e50ad7ec394123445b5ce4a
    Reviewed-on: https://gerrit.openafs.org/13742
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 64d0352df1406d9601d6d772555c4c39efc05d7e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 1 16:31:50 2019 -0600

    Avoid calling krb5_free_context(NULL)
    
    Several places in the code currently call krb5_free_context(ctx) in a
    cleanup code path, where 'ctx' may or may not be NULL. This is not
    guaranteed to be okay, so check for NULL to make sure we don't cause
    issues in these code paths.
    
    While we are here cleaning up krb5_free_context() calls, also fix a
    few call sites in afscp_util.c that were not calling krb5_free_context
    in all error paths.
    
    Reviewed-on: https://gerrit.openafs.org/13461
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 26b1dc036719a588a5cadecb14053bd4079c1f48)
    
    Change-Id: I3b0d22f51f4fe85897116b7f96d096570258eed2
    Reviewed-on: https://gerrit.openafs.org/13902
    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 c3869ac05b8eb816b1b8844d628f796a06d15914
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 9 13:25:26 2019 -0600

    vlserver: initialize nvlentry elements after read
    
    Commit 7620bd33487207b348ed7aeba45f8d743132ba84 (vlserver: fix
    vlentryread() for old vldb formats) leaves the tail end of the
    serverNumber, serverParition and serverFlags arrays uninitialized since
    it only copies OMAXNSERVERS elements into arrays that have NMAXNSERVERS
    elements.
    
    Initialize the elements in the nvlentry server arrays that were not
    copied with BADSERVERID.
    
    Reviewed-on: https://gerrit.openafs.org/13755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ddf7d2a7f4bfdcab238e791cb8c49bb803e76b09)
    
    Change-Id: I4e1065bedda0f50b85cf472d015f2c86e4af82c8
    Reviewed-on: https://gerrit.openafs.org/13846
    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 c83a135dac77b916d1188026a12634de0e98fc3a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 14:23:03 2019 -0600

    vlserver: fix vlentryread() for old vldb formats
    
    When we're using old format compatibility, use OMAXNSERVERS for the
    array lengths instead of MAXNSERVERS.  Otherwise we'll try to copy more
    data than we've read.
    
    Detected by gcc8 as:
    
    vlutils.c:183:2: error: ‘memcpy’ forming offset [149, 151] is out of the bounds [0, 148] of object ‘tentry’ with type ‘struct vlentry’ [-Werror=array-bounds]
      memcpy(nbufp->serverFlags, oep->serverFlags, NMAXNSERVERS);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    vlutils.c:141:26: note: ‘tentry’ declared here
         struct vlentry *oep, tentry;
                              ^~~~~~
    
    Reviewed-on: https://gerrit.openafs.org/13465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7620bd33487207b348ed7aeba45f8d743132ba84)
    
    Change-Id: I7dc4ad48805c6a82dd021d156fe187dd97e5b456
    Reviewed-on: https://gerrit.openafs.org/13734
    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 d38a136c1343d62243b738afd6dc5b72cc3e6ae1
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 15:26:23 2019 -0600

    uss: Allocate buffer space for trailing NUL
    
    Appease gcc8's -Wformat-truncation engine.
    
    Reviewed-on: https://gerrit.openafs.org/13467
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9a5ba85d1853327d8184287e58a6e03fabaaf23d)
    
    Change-Id: I9900452b951d600e6358b216015fe4fcdf8f633e
    Reviewed-on: https://gerrit.openafs.org/13736
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 43651533d36b22ecb81ca9fb2fa65b6927289740
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 26 07:59:33 2019 -0600

    uss: uss_procs.c format-overflow warning
    
    GCC 9 introduced new warnings/errors and is flagging a sprintf with a
    format-overflow warning.  With --checking-enabled, this error is causing
    uss_procs.c to fail during compile.
    
    A file name with the full path is being composed and the size of the
    buffer was triggering a possible format-overflow warning/error.
    
    Use asprintf to allocate the buffer dynamically instead of using a
    buffer sitting on the stack (reducing the stack requirements by 2K).
    
    Produces new error message if asprintf returns an error.
    
    Reviewed-on: https://gerrit.openafs.org/13664
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 41ee558329560bce037ad2860282d8b49aa11b2d)
    
    Change-Id: I5c5866142ae17c92017201fb567f847b5c2907a0
    Reviewed-on: https://gerrit.openafs.org/13729
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d5c2f53e9488311b294d871894967f78949699b6
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jul 2 16:58:28 2019 -0600

    ptserver: testpt.c format-overflow warning
    
    GCC 9 introduced new warnings/errors and is flagging a sprintf with a
    format-overflow warning.  With --checking-enabled, this error is causing
    testpt.c to fail during compile.
    
    Change the buffer size from 16 bytes to PR_MAXNAMELEN+1 and use snprintf
    instead of sprintf. Generate an error message and exit if snprintf
    truncates the string.
    
    Reviewed-on: https://gerrit.openafs.org/13663
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4a57cc54dfb6789a86ee735360ee44209c1a901a)
    
    Change-Id: I2f8012e7fb4384f3ad877d2c9beb5f00b03716b8
    Reviewed-on: https://gerrit.openafs.org/13730
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3cb29cf7768db45bcf1b49cd5aabd3802489a961
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 25 15:39:40 2019 -0600

    ptserver: Incorrect variable used to print error msg
    
    In testpt.c the variable cdir is used to print the name of the temporary
    dir.  However at this point in the code cdir is NULL and the variable
    tmp_conf_dir contains the actual name that should be used in the error
    message.
    
    Flagged as an error when --enable-checking is on and using GCC 9.
    
    Reviewed-on: https://gerrit.openafs.org/13662
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f938f5f248a3cb3f7ac871f5ef45a0e2d043706b)
    
    Change-Id: I1b993ddc2545f90736811e2eb85ba4b3bae6e657
    Reviewed-on: https://gerrit.openafs.org/13728
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 20cd3ab424dd8b68d8870582c817c6b190480205
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jul 11 21:07:35 2019 -0700

    aklog: require opt-in to enable single-DES in libkrb5
    
    Since the introduction of rxkad-k5 in response to OPENAFS-SA-2013-003,
    it is not strictly necessary to configure libkrb5 to allow weak crypto
    in order to obtain an AFS token.  A sufficient amount of time has passed
    since then that it is safe to assume that the default behavior is the
    more-secure one, and require opt-in for the insecure behavior.
    
    To indicate that the use of single-DES is quite risky, add the
    "-insecure_des" argument to both klog and aklog, to gate the
    preexisting calls that enable weak crypto/single-DES.
    These calls, and the -insecure_des option, may be removed entirely
    in a future commit.
    
    Reviewed-on: https://gerrit.openafs.org/13689
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit eaae6eba8ca10ba7a5a20ee0d1b5f91bc2bac6c6)
    
    Change-Id: I197042e12567fa0fed1b6584e85c3f0a520efa4c
    Reviewed-on: https://gerrit.openafs.org/13791
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b28a61fc0b633514c762e34a0b26350280e74405
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Aug 8 12:07:51 2019 -0600

    rxkad: ticket5.c fix typo in #if statement
    
    commit 98ca332c4a5ac9e5687fb4fe21b350134bc74d1b (rxkad: v5der.c format
    truncation warnings) contains a typo in the test for clang (_clang
    instead of __clang__)
    
    Correct the typo in the #if statement to test for __clang__
    
    Reviewed-on: https://gerrit.openafs.org/13754
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e3dbd8a5886734f6390126e155cc259b0de5af51)
    
    Change-Id: I6c2a9851e668947c61d97e013c84808f738c4e52
    Reviewed-on: https://gerrit.openafs.org/13756
    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 f65650bdc7c67513f7f1b6e92f5e23d637045e8a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Mon Jul 15 08:38:24 2019 -0600

    rxkad: v5der.c format truncation warnings
    
    GCC 7 is producing new warnings due to better compile time analysis.
    With --enable-checking v5der.c is failing with 2 errors due to possible
    format-truncation in some snprintf calls.  The format strings are being
    used to format a date and time values from a tm structure.
    
    The actual warnings/errors are being triggered from arithmetic being
    performed on the year and month members of the structure. The resulting
    values should not exceed the format lengths, but the compilers are still
    flagging the statements.
    
    v5der.c is part of the heimdal package that is pulled into the openafs
    source tree.  v5der.c is not compiled directly but is #included in
    ticket5.c
    
    Update ticket5.c to change the severity of the format-truncation
    diagnostic to a warning if using GCC 7 (or higher).
    
    Note: since v5der.c is pulled from an external source (heimdal), any
    changes to update v5der.c directly would need to be performed upstream.
    
    Reviewed-on: https://gerrit.openafs.org/13661
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 98ca332c4a5ac9e5687fb4fe21b350134bc74d1b)
    
    Change-Id: I1a808060b302549887e529e74bc3805d9431c499
    Reviewed-on: https://gerrit.openafs.org/13727
    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 639ee571a7953a80e156789a0494d7979681134f
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Sep 6 13:35:02 2019 +0200

    ptserver: Increase length limit of namelist, idlist, prlist, prentries
    
    An implementation limit of those lists was introduced in commit
    a0ffea098d8c5c5b46c6bf86a12d28d6e7096685 to prevent using unlimited
    amounts of memory in ptserver and the client.  Subsequent reports
    indicate that the chosen limits are small enough to restrict
    functionality currently in use at some sites where membership lists
    exceed the current limit.  Since this is just an implementation-
    defined limit and can freely change from release to release, increase
    the threshold by an order of magnitude to preserve functionality for
    existing deployments while still retaining some protection against
    attacker-controlled excessive memory allocation.
    
    Reviewed-on: https://gerrit.openafs.org/13838
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d1e90b82ebb2685cbac3ecb3fd99136328b35357)
    
    Change-Id: Ifa229179ad6d2962a8d49df6abd1add94fad7259
    Reviewed-on: https://gerrit.openafs.org/13844
    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 89355bc9590463b0d2c5bdf44a7295463dad6ebb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 26 20:33:58 2019 -0500

    WINNT: Link tbutc against mtafsutil.lib
    
    tbutc uses pthreads, not LWP, so link it against mtafsutil.lib (a
    pthread library), and not afsutil.lib (an LWP library).
    
    Reviewed-on: https://gerrit.openafs.org/13822
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7a76f4dc00984d42b0535a8edbedee034ada896f)
    
    Change-Id: I133fff53d1974658ed1fe95e48abd9779a346a4f
    Reviewed-on: https://gerrit.openafs.org/13852
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 58867933e9619f3727deb25851384ad24e5c5a62
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 26 19:34:19 2019 -0500

    rx: Export rx_GetCallStatus
    
    Commit 59d3a8b8 (vos: restore status information to 'vos status')
    added the function rx_GetCallStatus to Rx, and used it in the
    volserver, but didn't add the function to our .sym and .exp files,
    causing a linker error on at least WINNT.
    
    Add the function to the relevant .sym/.exp files, so we can link on
    all platforms.
    
    Change-Id: I859ac6d04d8a21eb6f8b4ba3f3720ca318e91334
    Reviewed-on: https://gerrit.openafs.org/13820
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c3716b3d7e32f47b084657e163b029e9f1756fa4)
    Reviewed-on: https://gerrit.openafs.org/13851
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ee00e78c7af7c0d6b4f4bedabb718d7142e462f0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 26 18:14:48 2019 -0500

    WINNT: Link butc against audit
    
    Since commit c43169fd (OPENAFS-SA-2018-001 Add auditing to butc server
    RPC implementations), butc references symbols from audit. So add audit
    to our libraries to link against, so we can link butc on WINNT.
    
    Reviewed-on: https://gerrit.openafs.org/13818
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e4b689e8c7cb39b72854dd38b6a92134591c8bca)
    
    Change-Id: Ib27755730178afbbd85e3aad265c1f956b3785ef
    Reviewed-on: https://gerrit.openafs.org/13850
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f01f910f19f62589ecc394da0ed22c0be27d9e66
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 5 10:50:01 2019 -0600

    afs: Avoid giving wrong 'tf' to afs_InitVolSlot
    
    Commit 75e3a589 (libafs: afs_InitVolSlot function) split out a bit of
    our code that initializes a struct volume into the afs_InitVolSlot
    function. However, it caused us to almost always pass a non-NULL 'tf'
    to afs_InitVolSlot, even if the target volume was not found.
    
    That is, before that commit, our code roughly did this:
    
        for (...; j != 0; j = tf->next) {
            ...;
            tf = &staticVolume;
            if (tf->volume == volid)
                break;
        }
        if (tf && j != 0) {
            use_tf_data();
        } else {
            use_blank_data();
        }
    
    The reason for the extra 'j != 0' check after the loop is to see if we
    hit the end of the volume hash chain, or if we actually found a
    matching 'tf' in the loop.
    
    And after that commit, the code did this:
    
        for (...; j != 0; j = tf->next) {
            ...;
            if (j != 0) {
                tf = &staticVolume;
                if (tf->volume == volid)
                    break;
            }
        }
        if (tf) {
            use_tf_data();
        } else {
            use_blank_data();
        }
    
    The check for 'j != 0' was moved to inside the for loop, but 'j' is
    always nonzero in the loop (otherwise, the for() would exit the loop).
    This means that if we didn't find a matching 'tf' in the loop, our
    'tf' would be non-NULL anyway, and so we'd initialize our volume slot
    from just the last entry in the hash chain.
    
    This means that for volumes that are not found in the VolumeItems
    file, our struct volume will probably be initialized with arbitrary
    data from another volume, instead of being initialized to the normal
    defaults (the 'else' clause in afs_InitVolSlot).
    
    This means that the 'dotdot' entry for the volume may be wrong, and so
    we may report the wrong parent dir for the root of a volume. However,
    the 'dotdot' entry should be fixed when the volume root is accessed
    via a mountpoint, so any such issue should be temporary. And of
    course, on some platforms (LINUX) we don't ever use the 'dotdot'
    information for a volume, and even on other platforms, often resolving
    the '..' entry is handled by other means (e.g. shells often calculate
    it themselves). But some 'pwd' calculations and other '..' corner
    cases may be affected.
    
    To fix this, change the relevant loop so that we only set 'tf' to
    non-NULL when we actually find a matching entry.
    
    Reviewed-on: https://gerrit.openafs.org/13933
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4a9078c6bbf51720a5eacf7e6ba21443e5103eee)
    
    Change-Id: Ib1e7519db8f844872c4b88b54978f358ff7b299e
    Reviewed-on: https://gerrit.openafs.org/13937
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9f38cbdc544d6659c60dbd578e86110df86457b6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Sep 17 15:14:44 2019 -0400

    viced: consistently enforce host thread quota for ICBS(3)
    
    From time to time, the fileserver may issue potentially long-running
    RXAFSCB_* RPCs back to a host (client).  If these are holding h_Lock_r
    (host->lock) while running, they may cause other service threads for the
    same host (client) to block.
    
    In order to prevent a given host from tying up too many service threads
    in this way, the fileserver enforces a quota limiting how many threads
    can be waiting for h_Lock_r on a particular host while waiting for one
    of the following RPCs to complete:
    - RXAFSCB_TellMeABoutYourself (TMAY)
    - RXAFSCB_WhoAreYou
    - RXAFSCB_ProbeUuid
    - RXAFSCB_InitCallBackState (ICBS)
    - RXAFSCB_InitCallBackState3 (ICBS3)
    
    Note: Although some of these RPCs are relatively lightweight, they may
    still experience network delays.
    
    This quota is enforced by calling h_threadquota() in h_Lookup_r and
    h_GetHost_r.  The quota check is enabled for a given host by turning on
    host->hostFlags HWHO_INPROGRESS for the duration of the RXAFSCB_* RPC.
    The quota check is only needed, and should only be enabled, when the RPC
    is issued while h_Lock_r is held.
    
    However, there are a few paths to ICBS(3) where h_Lock_r is held but
    HWHO_INPROGRESS is not set.  A delay in those paths may allow a host to
    consume an unlimited number of fileserver threads.  One such path
    observed in a field report was SRXAFS_FetchStatus -> CallPreamble ->
    BreakDelayedCallBacks_r -> RXAFSCB_ICBS3.
    
    Instead, enable host thread quotas for all remaining unregulated ICBS(3)
    RPCs.
    
    Reviewed-on: https://gerrit.openafs.org/13873
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit aefc4c4f46e13f59b4cbe043e1a2a6f4ed99e076)
    
    Change-Id: If3883a152078bba9995e0c8a13ab31788db6347f
    Reviewed-on: https://gerrit.openafs.org/13893
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0922caa3be5df220aa3d0a0d828c21b279defad1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 26 16:08:31 2019 -0500

    kauth: Move COUNT_REQ to beginning of block
    
    Commit b604ee7a (OPENAFS-SA-2018-002 kaserver: prevent KAM_ListEntry
    information leak) added a memset in kamListEntry before COUNT_REQ, but
    COUNT_REQ declares a local variable. This breaks the WINNT build,
    because we must declare variables at the beginning of a block.
    
    To fix this, just swap the two lines.
    
    Reviewed-on: https://gerrit.openafs.org/13815
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b9b5385e6a04dcacd180f33e39495c7909fe4df3)
    
    Change-Id: Id9c1fd67e4614f8f433415486e107ecb4bd0d708
    Reviewed-on: https://gerrit.openafs.org/13849
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit be51e46d04ff0e346ee53852855ac26e31bb9c0c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 26 13:13:28 2019 -0500

    WINNT: Build bubasics before audit
    
    Commit 9ebff4c6 (OPENAFS-SA-2018-001 audit: support butc types) made
    src/audit require the butc.h header, and updated Makefile.in to
    reflect this. However, this dir is also built on WINNT, and the
    NTMakefile was not updated to reflect this dependency. As a result, we
    might fail to build src/audit on WINNT, since butc.h may not exist
    yet, and we get an error like:
    
                cl [...] /c audit.c
        audit.c
        cl : Command line warning D9025 : overriding '/W4' with '/W3'
        audit.c(27) : fatal error C1083: Cannot open include file: 'afs/butc.h': No such file or directory
        NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.EXE' : return code '0x2'
    
    To fix this, move 'bubasics' to be made before 'audit' in NTMakefile,
    so butc.h is available when we build 'audit'.
    
    Reviewed-on: https://gerrit.openafs.org/13813
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9eeb3ec09f5421ceab2be415a193bb3a3c44925f)
    
    Change-Id: If36de5664ea0eb7208810c224d30092f0a4d1745
    Reviewed-on: https://gerrit.openafs.org/13848
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 11232f19f0ffd6dd88a1b498e792b3d5d3804286
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 8 14:49:23 2019 -0500

    afs: Avoid panics in afs_InvalidateAllSegments
    
    Currently, afs_InvalidateAllSegments panics when afs_GetValidDSlot
    fails. We panic in these cases because afs_InvalidateAllSegments
    cannot simply return an error to its callers; we must invalidate all
    segments for the given vcache, or we risk serving incorrect data to
    userspace as explained in the comments.
    
    Instead of panicing, though, we could simply sleep and retry the
    operation until it succeeds. Implement this, retrying every 10
    seconds, and logging a message every hour that we're stuck (in case
    we're stuck for a long time).
    
    When we retry the operation, do so in a background request, to avoid a
    somewhat common situation on Linux where we always get I/O errors from
    the cache when the calling process has a SIGKILL pending. Create a new
    background op for this, BOP_INVALIDATE_SEGMENTS.
    
    With this, the relevant vcache will be effectively unusable for the
    entire time we're stuck in this situation (avc->lock will be
    write-locked), but this is at least better than panicing the whole
    machine.
    
    Reviewed-on: https://gerrit.openafs.org/13677
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 3be5880d1d2a0aef6600047ed43d602949cd5f4d)
    
    Change-Id: Iba1cde70a4d5e919fedfe27d0540878113a369e4
    Reviewed-on: https://gerrit.openafs.org/13847
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8898cb3f12bb606d715e365ab39acb06bcd544e4
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 26 14:57:02 2019 -0600

    gtx: Avoid incomplete function type in casts
    
    clang complains that these casts contain an incomplete function type
    (since the function argument is omitted rather than declared to be
    void).  Since we just need the cast to pointer type, let the compiler
    do it implicitly and pass stock NULL, rather than trying to force a
    cast to function-pointer type.
    
    Reviewed-on: https://gerrit.openafs.org/13726
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d6262c3f391e4176bec207fd0e8d4d6091a7f4e2)
    
    Change-Id: I4544c37591bb68ff6bbe345192490bb79c843fc5
    Reviewed-on: https://gerrit.openafs.org/13749
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a350b45814657a42708ddde3c8eace962266be70
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 19:52:26 2019 -0600

    libadmin: appease clang -Wsometimes-uninitialized
    
    clang thinks that 'time' can be used uninitialized:
    
    bos.c:1472:9: error: variable 'time' is used uninitialized whenever 'if' condition is
          false [-Werror,-Wsometimes-uninitialized]
        if (as->parms[TIME].items) {
            ^~~~~~~~~~~~~~~~~~~~~
    bos.c:1478:57: note: uninitialized use occurs here
        if (!bos_ExecutableRestartTimeSet(bos_server, type, time, &st)) {
                                                            ^~~~
    bos.c:1472:5: note: remove the 'if' if its condition is always true
        if (as->parms[TIME].items) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    bos.c:1445:5: note: variable 'time' is declared here
        bos_RestartTime_t time;
        ^
    
    but in this command description, the TIME argument is required.
    Add a never-triggered error exit to appease the compiler when
    --enable-checking is activated.
    
    Reviewed-on: https://gerrit.openafs.org/13476
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 453060c27a5d33d3c27128d169298f9d66d06f1a)
    
    Change-Id: Iac80d4ec7c2a33dcb470de2daedf693c20b96b00
    Reviewed-on: https://gerrit.openafs.org/13745
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d50932bd85d04784b8be79ffd99c74d50b7ccb6a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 19:48:20 2019 -0600

    uss: signed/unsigned char fallout
    
    When char is signed, assigning 255 to a variable of type char changes
    the value, which causes clang to emit a warning and fail the
    --enable-checking build.
    
    Reviewed-on: https://gerrit.openafs.org/13475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7c15e6efe62fb3fe1970c56331df09b257abf6d9)
    
    Change-Id: I3dd374582b57e46460ea80ead75913948c2d2262
    Reviewed-on: https://gerrit.openafs.org/13744
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c8762d82f5c387418b2ba749bbc15b7b7f40d749
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 17:10:29 2019 -0600

    dumpscan: appease gcc8 -Wformat-overflow
    
    gcc does not benefit from our external knowledge that tm_year is
    tightly bounded, and thinks it could still be in the range
    [-2147481748, 2147483647], which would overflow our string buffer.
    The function in question does not have error handling in place, so
    rather than adding some or trying to assert the proper bounds, just
    use a slightly larger buffer for safety.
    
    Reviewed-on: https://gerrit.openafs.org/13472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8f03ff3bdd8eb9f4557cdb7054aee9b8ea432160)
    
    Change-Id: I05c8d998c6d40118a1bde923e346cddbdfa4192b
    Reviewed-on: https://gerrit.openafs.org/13741
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b86c1f142add117065399186292655873bc7fdc0
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 17:02:08 2019 -0600

    scout: band-aid -Wformat-truncation
    
    gcc8 gets pretty confused about the bounds on these things (presumably
    due to our alignment options) and thinks this could potentially be a huge
    string.  Check for truncation to appease the compiler, instead of trying
    to ensure that the buffer is big enough.
    
    Reviewed-on: https://gerrit.openafs.org/13470
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit df8534909fdc1fa8417aa788c0fa71c5dbe7eb30)
    
    Change-Id: Idf3a2f32ba4630a7d11b2c0664c6dd9b694eb7db
    Reviewed-on: https://gerrit.openafs.org/13739
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit aa6c1946c0988439207694bc4962a2afbd2a9bd3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 15:44:54 2019 -0600

    butc: -Wformat-truncation fallout
    
    Increase some buffer sizes to appease gcc8.  While here, use snprintf
    instead of plain sprintf(!).
    
    Reviewed-on: https://gerrit.openafs.org/13468
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a89297a066d8689f8fc29a7428cfe3ed6235d010)
    
    Change-Id: If26312359d62649077e1f8adf2c9e0b39d28496f
    Reviewed-on: https://gerrit.openafs.org/13737
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 589d811eb6473cefd49653f17007749a2e82a677
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 14:43:04 2019 -0600

    vlserver: use large enough buffer for rxinfo string
    
    The "[dotted-quad] rxkad:name.inst@cell" construct can be as large as
    (3*4+3)+7+3*64+2+1 == 217 characters (including trailing NUL); size
    our buffer accordingly to avoid the risk of truncation.
    
    Reviewed-on: https://gerrit.openafs.org/13466
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 584b0f2b6b4391c0c879352bb1786c0f267666c9)
    
    Change-Id: Ia11e685ec17f34a9a8fdc42d392b8a2677f63696
    Reviewed-on: https://gerrit.openafs.org/13735
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 86a453f374a9aa201cf599ce4a0ca33d1522230a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 2 12:56:26 2019 -0600

    vol: avoid -Wformat-truncation issues in vol-salvage.c
    
    Make some formerly-64-character buffers VMAXPATHLEN (plus a smidgeon)
    to give them space to hold the composed paths.
    
    Reviewed-on: https://gerrit.openafs.org/13464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d6b88e3bd5219a8dffebc07df23e30f1d16f095f)
    
    Change-Id: Idd388cd23ffeff1307b9eb6d31976383b6125260
    Reviewed-on: https://gerrit.openafs.org/13733
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e4e37ae5645ddb851d2ab956e1075a81d4dcc8cb
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Oct 22 00:11:09 2019 -0700

    Make OpenAFS 1.8.5
    
    Update version strings for the 1.8.5 release.
    
    Change-Id: I6e4e4b02b2ad7686027e983d63919cd3045fd2d4
    Reviewed-on: https://gerrit.openafs.org/13920
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2007a59e87f5c5d3a4df66e253f58b2af15774fb
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Oct 22 00:08:36 2019 -0700

    Update NEWS for 1.8.5
    
    Release notes for the OpenAFS 1.8.5 security release.
    
    Change-Id: Idd44efa17c41a9fa4d2d3beddb294a1c24bdec9e
    Reviewed-on: https://gerrit.openafs.org/13919
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 213b9dc386ff89a14379313ee8ec09280f130a29
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 16 14:06:53 2019 -0500

    OPENAFS-SA-2019-003: ubik: Avoid unlocked ubik_currentTrans deref
    
    Currently, SVOTE_Debug/SVOTE_DebugOld examine some ubik internal state
    without any locks, because the speed of these functions is more
    important than accuracy.
    
    However, one of the pieces of data we examine is ubik_currentTrans,
    which we dereference to get ubik_currentTrans->type. ubik_currentTrans
    could be set to NULL while this code is running, so there is a small
    chance of this code causing a segfault, if SVOTE_Debug() is running
    when the current transaction ends.
    
    We only ever initialize ubik_currentTrans as a write transation (via
    SDISK_Begin), so this check is pointless anyway. Accordingly, skip the
    type check, and always assume that any active transaction is a write
    transaction.  This means we only ever access ubik_currentTrans once,
    avoiding any risk of the value changing between accesses (and we no
    longer need to dereference it, anyway).
    
    Note that, since ubik_currentTrans is not marked as 'volatile', some C
    compilers, with certain options, can and do assume that its value will
    not change between accesses, and thus only fetch the pointer value once.
    This avoids the risk of NULL dereference (and thus, crash, if pointer
    stores/loads are atomic), but the value pointed to by ubik_currentTrans->type
    would be incorrect when the transaction ends during the execution of
    SVOTE_Debug().
    
    Reviewed-on: https://gerrit.openafs.org/13915
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6ec46ba7773089e1549d27a0d345afeca65c9472)
    
    Change-Id: I634ddb27e7a8dbe5c9d1dacdc83070efa470b50b
    Reviewed-on: https://gerrit.openafs.org/13918
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit fcaac44f845d18d6fd5d2f3685db11118d8f8626
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 7 21:19:47 2019 -0500

    OPENAFS-SA-2019-002: Zero all server RPC args
    
    Currently, our server-side RPC argument-handling code generated from
    rxgen initializes complex arguments like so (for example, in
    _RXAFS_BulkStatus):
    
        AFSCBFids FidsArray;
        AFSBulkStats StatArray;
        AFSCBs CBArray;
        AFSVolSync Sync;
    
        FidsArray.AFSCBFids_val = 0;
        FidsArray.AFSCBFids_len = 0;
        CBArray.AFSCBs_val = 0;
        CBArray.AFSCBs_len = 0;
        StatArray.AFSBulkStats_val = 0;
        StatArray.AFSBulkStats_len = 0;
    
    This is done for any input or output arguments, but only for types we
    need to free afterwards (arrays, usually). We do not do this for
    simple types, like single flat structs. In the above example, we do
    this for the arrays FidsArray, StatArray, and CBArray, but 'Sync' is
    not initialized to anything.
    
    If some server RPC handlers never set a value for an output argument,
    this means we'll send uninitialized stack memory to our peer.
    Currently this can happen in, for example,
    MRXSTATS_RetrieveProcessRPCStats if 'rxi_monitor_processStats' is
    unset (specifically, the 'clock_sec' and 'clock_usec' arguments are
    never set when rx_enableProcessRPCStats() has not been called).
    
    To make sure we cannot send uninitialized data to our peer, change
    rxgen to instead 'memset(&arg, 0, sizeof(arg));' for every single
    parameter. Using memset in this way just makes this a little simpler
    inside rxgen, since all we need to do this is the name of the
    argument.
    
    With this commit, the rxgen-generated code for the above example now
    looks like this:
    
        AFSCBFids FidsArray;
        AFSBulkStats StatArray;
        AFSCBs CBArray;
        AFSVolSync Sync;
    
        memset(&FidsArray, 0, sizeof(FidsArray));
        memset(&CBArray, 0, sizeof(CBArray));
        memset(&StatArray, 0, sizeof(StatsArray));
        memset(&Sync, 0, sizeof(Sync));
    
    Reviewed-on: https://gerrit.openafs.org/13914
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 93aee3cf40622993b95bd1af77080a31670c24bb)
    
    Change-Id: I6e19aaea57e545455b65851d1bedade584e482f0
    Reviewed-on: https://gerrit.openafs.org/13917
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5a3d1b62810fc8cc7b37a737b4f5f1912bc614f9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 7 20:50:47 2019 -0500

    OPENAFS-SA-2019-001: Skip server OUT args on error
    
    Currently, part of our server-side RPC argument-handling code that's
    generated from rxgen looks like this (for example):
    
        z_result = SRXAFS_BulkStatus(z_call, &FidsArray, &StatArray, &CBArray, &Sync);
        z_xdrs->x_op = XDR_ENCODE;
        if ((!xdr_AFSBulkStats(z_xdrs, &StatArray))
             || (!xdr_AFSCBs(z_xdrs, &CBArray))
             || (!xdr_AFSVolSync(z_xdrs, &Sync)))
                z_result = RXGEN_SS_MARSHAL;
    fail:
        [...]
        return z_result;
    
    When the server routine for implementing the RPC results a non-zero
    value into z_result, the call will be aborted. However, before we
    abort the call, we still call the xdr_* routines with XDR_ENCODE for
    all of our output arguments. If the call has not already been aborted
    for other reasons, we'll serialize the output argument data into the
    Rx call. If we push more data than can fit in a single Rx packet for
    the call, then we'll also send that data to the client. Many server
    routines for implementing RPCs do not initialize the memory inside
    their output arguments during certain errors, and so the memory may be
    leaked to the peer.
    
    To avoid this, just jump to the 'fail' label when a nonzero 'z_result'
    is returned. This means we skip sending the output argument data to
    the peer, but we still free any argument data that needs freeing, and
    record the stats for the call (if needed). This makes the above
    example now look like this:
    
        z_result = SRXAFS_BulkStatus(z_call, &FidsArray, &StatArray, &CBArray, &Sync);
        if (z_result)
            goto fail;
        z_xdrs->x_op = XDR_ENCODE;
        if ((!xdr_AFSBulkStats(z_xdrs, &StatArray))
             || (!xdr_AFSCBs(z_xdrs, &CBArray))
             || (!xdr_AFSVolSync(z_xdrs, &Sync)))
                z_result = RXGEN_SS_MARSHAL;
    fail:
        [...]
        return z_result;
    
    Reviewed-on: https://gerrit.openafs.org/13913
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ea276e83e37e5bd27285a3d639f2158639172786)
    
    Change-Id: I688cbf1a65903bf26a0db033687898f3fb5a54ea
    Reviewed-on: https://gerrit.openafs.org/13916
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 501dbbe4e2fbcb8e71af9f695e8e34911c44d581
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sun Sep 8 13:23:23 2019 +0200

    Make OpenAFS 1.8.4
    
    Update version strings for the 1.8.4 release.
    
    Change-Id: I85102e0be54cf0ff28b706d35dba8e3601447cba
    Reviewed-on: https://gerrit.openafs.org/13841
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ae39aa202ec9133e6cec6aaf4e214157fad9b1aa
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Aug 16 17:55:48 2019 +0200

    Update NEWS for OpenAFS 1.8.4
    
    Finalize the 1.8.4 release notes.
    
    Change-Id: Ida85451cdec65b2fe736d66572671293f30a6508
    Reviewed-on: https://gerrit.openafs.org/13785
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9fa11cd961e283234ea351085cf45a24182db81f
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Sep 6 16:17:39 2019 +0200

    Make OpenAFS 1.8.4pre2
    
    Update version strings for the second 1.8.4 prerelease.
    
    Change-Id: I83ebb06aaae9484e0773b68f336e6d8752069824
    Reviewed-on: https://gerrit.openafs.org/13839
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit cf7ee9a76dbf16b0aa44f737aca8448870824098
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sun Sep 8 13:16:35 2019 +0200

    Update NEWS for 1.8.4pre2
    
    Release notes for the OpenAFS 1.8.4 prerelease 2.
    
    Change-Id: Iad2098f56c9e5a9025761e21f609aa3c1584b4aa
    Reviewed-on: https://gerrit.openafs.org/13840
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 676c57f5551fb18cf8485a0e945bc15b78eb1051
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 17 16:35:36 2018 -0500

    Remove one more automake VERSION reference
    
    The configure summary was still referencing the old automake-specific
    VERSION var. Use the autoconf PACKAGE_VERSION var instead, so this
    actually shows our version.
    
    Reviewed-on: https://gerrit.openafs.org/13360
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0f65b40b24599d58cf30bfd47fae83ab54e1416a)
    
    Change-Id: I5bd9399acc6e4c6dd19b94198354b600f35bee15
    Reviewed-on: https://gerrit.openafs.org/13790
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4ccc332ab61cfc4d33fdc48a7d57e93cf9cecb91
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 11 00:18:17 2018 -0500

    Remove automake autoconf vars
    
    Commit 4706854f (autoconf: updates and cleanup) removed our invocation
    of AM_INIT_AUTOMAKE, which defines the output variables PACKAGE and
    VERSION. Several files in our build system are still referencing
    @PACKAGE@ and @VERSION@, though, leaving them un-substituted. This
    most easily is seen as the AFSVersion version string remaining as
    "@VERSION@" when the tree is built without git, but it also affects
    some packaging in the tree.
    
    Remove references to @VERSION@ and @PACKAGE@, replacing them with
    their autoconf equivalents @PACKAGE_VERSION@ and @PACKAGE_TARNAME@.
    
    Reviewed-on: https://gerrit.openafs.org/13357
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2f2c2ce62aa17ecac3651d64c1168af926f7458b)
    
    Change-Id: If2b98b8930bc687170f53f852417fb9374bf6c60
    Reviewed-on: https://gerrit.openafs.org/13789
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4330e16a47e76ea6c1f35467a1ddbe97bded7a92
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Aug 9 14:25:03 2019 -0600

    LINUX 5.3.0: Use send_sig instead of force_sig
    
    Linux 5.3.0 commit 3cf5d076fb4d48979f382bc9452765bf8b79e740 "signal
    Remove task parameter from force_sig" (part of siginfo-linus branch)
    changes the parameters for the Linux kernel function force_sig. See LKML
    thread starting at https://lkml.org/lkml/2019/5/22/1351
    
    According to the LKML discussion and the above commit message force_sig
    is only safe to deliver a synchronous signal to the current task. To
    send a signal to another task, we're supposed to use send_sig instead,
    which has been available since at least linux 2.6.12-rc12.
    
    Currently, rx_knet calls force_sig to kill the rxk_ListenerTask.  With
    the Linux 5.3.0 kernel, this module fails to compile due to the above
    noted changes.
    
    Replace the force_sig call with send_sig.  In order to use send_sig, the
    rxk_listener thread must allow SIGKILL and during shutdown (umount)
    SIGKILL must be unblocked for the rxk_listener thread.
    
    Note that SIGKILL is initially blocked on rxk_listener and is only
    unblocked when shutting down the thread.  Having the signal blocked is
    sufficient to prevent unwanted signals from reaching the rxk_listener
    thread during normal operation.
    
    Reviewed-on: https://gerrit.openafs.org/13753
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2b7af1243f46496c0b5973b3fa2a6396243f7613)
    
    Change-Id: I6eb44311fbcc63adb6ebeb85a8e076922befd645
    Reviewed-on: https://gerrit.openafs.org/13788
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6e8674ef07cae2f62a9dc646d9f6e7e2e6307aab
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Aug 8 16:53:13 2019 -0600

    LINUX 5.3.0: Check for 'recurse' arg in keyring_search
    
    Linux 5.3.0 commit dcf49dbc8077e278ddd1bc7298abc781496e8a08 "keys: Add a
    'recurse' flag for keyring searches" adds a new parameter to
    Linux kernel keyring_search function.
    
    Update the call to keyring_search to include the recurse parameter if
    available. Setting the parameter to true (1) maintains the current
    search behavior.
    
    Change-Id: I038117d1bccdf619a42132fba7d8d61b3ce3c14b
    Reviewed-on: https://gerrit.openafs.org/13752
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-on: https://gerrit.openafs.org/13787
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6ab27a5cf3292a20ab807b7bc4dca43f305f14de
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri May 17 16:52:21 2019 +0200

    Make OpenAFS 1.8.4pre1
    
    Update version strings for the first 1.8.4 prerelease.
    
    Change-Id: I9aa05d7bce308780a1dc815341856e2291579039
    Reviewed-on: https://gerrit.openafs.org/13596
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1bebe1155e850389ace35a3e4b3f7d77b58758bd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 14 09:30:14 2019 -0400

    Update NEWS for 1.8.4pre1
    
    Release notes for the OpenAFS 1.8.4 prerelease 1.
    
    Change-Id: I3976919660ff6a0eda82b71806e116f4322fb38a
    Reviewed-on: https://gerrit.openafs.org/13643
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a6ee134f7f5da47022145bdb4a8bceff08414465
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jul 5 08:23:10 2019 -0600

    libadmin: overlap warning in strcpy with gcc9
    
    GCC 9 with --enable-checking produces a new warning/error in
    afs_utilAdmin.c associated with a strcpy with the potential of an
    overlap.  The index used is signed which triggers the new warning. The
    source and target of the strcpy are contained within the same higher
    level structure.
    
    Change the variable 'index' from signed to unsigned to resolve the
    warning/error. Change the variable 'total' in the same structure to
    unsigned to be consistent with it's usage with 'index'.
    
    Reviewed-on: https://gerrit.openafs.org/13660
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 79dffe29c8a0ec55c4231a18077efdfa7c1edf53)
    
    Change-Id: I19a192ecea86314851e6889274eb030c5caff8cb
    Reviewed-on: https://gerrit.openafs.org/13724
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 033b66b0d688dd12f929475a0686149df63f8a70
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 30 15:41:22 2018 -0500

    aklog: Avoid misleading AFSCELL message
    
    Currently, if the AFSCELL environment variable is set, aklog (and
    other libauth-using utilities) print out a message when
    afsconf_GetLocalCell is called:
    
        Note: Operation is performed on cell env.example.com
    
    However, this message is also printed (with the AFSCELL cell) when
    aklog is given the -cell command-line argument, even though aklog
    actually uses the cell given on the command line. For example:
    
        $ AFSCELL=env.example.com aklog -cell cli.example.com -d
        Note: Operation is performed on cell env.example.com
        Authenticating to cell cli.example.com (server srv1.example.com).
        [...]
    
    libauth will normally not print the "Operation" message if we're not
    using the default cell, but it determines this by checking if someone
    called afsconf_GetCellInfo before calling afsconf_GetLocalCell. And
    currently, aklog calls afsconf_GetLocalCell before
    afsconf_GetCellInfo, so the message gets printed because libauth has
    no way of knowing that we're actually using a different cell.
    
    klog gets around this by making an additional ignored call to
    afsconf_GetCellInfo before afsconf_GetLocalCell, but we can fix this
    in aklog by just changing the order of the calls. So, just call
    afsconf_GetCellInfo first; if we're using the local cell, we can just
    give a NULL cell parameter, instead of looking up the local cellname
    first.
    
    Reviewed-on: https://gerrit.openafs.org/13371
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 877d9d79a32b9e81911cb567f844b11c693229f0)
    
    Change-Id: I67350be8c25fb93975442175a64098123503b40c
    Reviewed-on: https://gerrit.openafs.org/13676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 61e3663a18899898bef8c95e804cf6980651fbf5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Mar 25 16:33:39 2019 -0500

    afs: Avoid non-dir ENOENT errors in afs_lookup
    
    Historically, there have been many subsystems in libafs that can
    generate ENOENT errors for a variety of reasons. In addition to the
    expected case where we lookup a name that doesn't exist, other
    scenarios have caused ENOENT error codes to be generated, such as:
    internal inconsistencies, I/O errors, or even abort codes from the
    network.
    
    When one of these scenarios cause an ENOENT error code in one of those
    situations during afs_lookup() when the target name does actually
    exist, it can be confusing to a user, or even result in incorrect
    application behavior. On Linux in particular, ENOENT results from a
    lookup are cached in negative dcache entries, and so can cause future
    lookups for the same name to yield ENOENT errors.
    
    Various commits have tried to avoid this abuse of the ENOENT error
    code, such as 2aa4cb04 (afs: Stop abusing ENOENT). But we cannot
    prevent receiving ENOENT abort codes from the network, and mistakes in
    the future may cause more scenarios incorrectly yielding ENOENTs.
    
    However, in afs_lookup, we do know that legitimate ENOENT errors can
    only occur in one situation: when we have a valid directory blob, and the
    afs_dir_Lookup() operation itself returns an ENOENT error for the
    target name. For all other areas of afs_lookup(), we know that an
    ENOENT error is not legitimate, since we may not be sure if the target
    name exists or not.
    
    So to proactively avoid incorrect ENOENT results, prevent afs_lookup
    from returning ENOENT, except in the specific code path where
    afs_dir_Lookup is called.
    
    Reviewed-on: https://gerrit.openafs.org/13537
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5f48367f2bd5bf1c0e689c79508177b649b9113b)
    
    Change-Id: I2698c26d7b75146d92e1763d49dce135ad66f672
    Reviewed-on: https://gerrit.openafs.org/13692
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bb886044d8d2b309ed5d0bd6f3d0c7c71909d6c8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 22 22:50:00 2019 -0400

    auth: make PGetTokens2 work with 3-char cellnames
    
    PGetTokens2 accepts two different types of input:
    - an integer 'iterator' to request the nth token set for a user
    - a string cellname to request the user's token set for that cell
    
    Unfortunately, it distinguishes between these by assuming if the input
    length is sizeof(afs_int32) (4 bytes), it must be an integer.  This
    assumption is incorrect if the cellname is three (3) characters long
    plus a nul terminator.
    
    The result is that the cellname string is interpreted as a very large
    "n"; the subsequent search for the user's "very-large-nth-token" fails,
    making it appear that the user has no valid token for this cell.
    
    Improve on this heuristic by double-checking any putative integer input.
    If it is actually a 3-character string, then process the input as a
    cellname instead.
    
    Introduced by commit 5ec5ad5dcca84e99e5f55987cc4f787cd482fdde 'New
    GetToken pioctl'.
    
    While here, add doxygen comments.
    
    Reviewed-on: https://gerrit.openafs.org/13599
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit b0278994826f6bd1dfebc39f26282b8fbdadf1a0)
    
    Change-Id: Ib64749d65f03fc564b1d987b426832442be8d5bd
    Reviewed-on: https://gerrit.openafs.org/13679
    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 5b0ca2e4ebdd7f86c52926700099e3654f826ccc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Nov 3 01:04:43 2018 -0500

    ptserver: Check for -restricted in SPR_Delete
    
    Currently, all prdb write operations, except for SPR_Delete, will fail
    with PRPERM if called by a non-system:administrators caller while
    restricted mode is active.  SPR_Delete is missing this check, and so
    is not affected by the -restricted option.
    
    Fix this by inserting the same check for -restricted as all other code
    paths that check for -restricted.
    
    Reviewed-on: https://gerrit.openafs.org/13374
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2e556c0f23ae439c804352cf51fcf30878b03c7a)
    
    Change-Id: I9a31cf4e6490aa13dc0c239d2660fc146553ee75
    Reviewed-on: https://gerrit.openafs.org/13688
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d47904684afb8402b692c9f7a4bb5f32cc3da5d7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Nov 3 00:58:58 2018 -0500

    ptserver: Fix AccessOK -restricted for SYSADMINID
    
    According to the documentation, as well as other code paths that check
    for -restricted, the -restricted option does not affect members of
    system:administrators. Currently, though, AccessOK only bypasses the
    -restricted check if the caller is SYSADMINID itself (i.e. localauth).
    
    Fix AccessOK to only do the -restricted checks if the caller is not in
    system:administrators, to match the documentation as well as other
    ptserver operations.
    
    Reviewed-on: https://gerrit.openafs.org/13373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3a8fa4ecd65d5d743fdc573c9f0f261aee2063b6)
    
    Change-Id: I786830efab229a50a521daf3efc624e949475030
    Reviewed-on: https://gerrit.openafs.org/13687
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a33468b8d596fa45224b447bde90e3606a2fd5b9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 30 14:29:24 2018 -0500

    ptserver: Fix AccessOK -restricted for addToGroup
    
    The function AccessOK is used by all of ptserver RPC handlers that
    need to do an authorization check, and the last two arguments are set
    as such:
    
    - When adding a member to a group, 'mem' is PRP_ADD_MEM and 'any' is
      PRP_ADD_ANY
    
    - When removing a member from a group, 'mem' is PRP_REMOVE_MEM and
      'any' is 0
    
    - When modifying an entry (setFieldsEntry) or modifying some global
      database fields, 'mem' and 'any' are both set to 0
    
    - When reading an entry and not modifying it, 'mem' and/or 'any' are
      set to other values (depending on if we're checking membership,
      examining the entry itself, etc)
    
    Commit 93ece98c (ptserver-restricted-mode-20050415) added a check to
    AccessOK to make it return false for -restricted mode when we are
    adding a member to a group, or when 'mem' and 'any' are both 0. This
    didn't catch the case when we are removing a member from a group,
    though, when 'mem' is PRP_REMOVE_MEM.
    
    It looks like commit a614a8d9 (ptutils-restricted-accessok-20081025)
    tried to fix this by adding a check for PRP_REMOVE_MEM, but it also
    required 'any' to be set to 0 for the conditional to succeed. This is
    true when removing a member from a group, but when adding a member to
    a group, 'any' is PRP_ADD_ANY, and so this check fails.
    
    This means that currently, when restricted mode is turned on,
    non-admins can still run addToGroup and setFieldsEntry successfully.
    
    Fix this by checking for PRP_ADD_MEM/PRP_REMOVE_MEM separately from
    checking if 'mem'/'any' are set to 0. Break up this conditional into
    separate if() statements with comments to try to make the checks
    more clear.
    
    Reviewed-on: https://gerrit.openafs.org/13370
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit dfc78d533ef64c8d6daf134e2a0f67c5c16f7369)
    
    Change-Id: I7f53570b42e2700a33dd5e72a31f6f7f8b876e79
    Reviewed-on: https://gerrit.openafs.org/13686
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8733253e2f61bf33a2fea5724b7cd6a8de50a10f
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 22 23:03:11 2019 -0400

    auth: eliminate pointless retries in ktc_ListTokensEx
    
    ktc_ListTokensEx is an iterator to provide the names of each cell for
    which a user has a token set.  It does this by looking for the 1 through
    nth token set for a given user.  However, as currently implemented,
    it always continues searching up to the 100x safety limit even when
    there are no more token sets for the user.
    
    Instead, return immediately when VIOC_GETTOK2 returns EDOM (no more
    tokens for this user).
    
    Introduced by commit a86ad262d2a8be36f43ab0885a84dde37ddfc464 'auth: Add
    the ktc_ListTokensEx function'.
    
    Reviewed-on: https://gerrit.openafs.org/13598
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 95ae30c30d98a3219fd021e0ed83200c1b6c266f)
    
    Change-Id: Ib0489b78b92861ae25b625b3054caf68f3b0a074
    Reviewed-on: https://gerrit.openafs.org/13678
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1e6c4502de6bd8d6201ee7042a364a8a04e577d6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Oct 25 10:27:41 2018 -0400

    viced: correct option parsing for -vlru*, -novbc
    
    Commit a5effd9f1011aa319fdf432c67aec604053b8656 "viced: Use libcmd for
    command line options" modernized the option parsing for (da)fileserver,
    but introduced a few errors for the following options:
    
    -vlruthresh <nn>
    -vlruinterval <nn>
    -vlrumax <nn>
    -novbc
    
    Correct the errors.
    
    Reviewed-on: https://gerrit.openafs.org/13365
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d058acb354cab9856303cc341a1f439e4f7f3454)
    
    Change-Id: I5eceb3cc77cfca5c9ec68efdbaabd069c3690c5a
    Reviewed-on: https://gerrit.openafs.org/13680
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5d84f2a10f61e8b68b4bff18784efeb91845eef8
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Tue Jun 25 10:40:53 2019 -0600

    util: serverLog using memory after free
    
    clang's scan-build detected a "use of memory after it is freed"
    condition.
    
    The function OpenLogFile frees the variable ourName before creating a
    duplicate of the name passed to it.  However there is a call that uses
    ourName as the parameter: OpenLogFile(ourName).  This results in freeing
    ourName then doing a strdup of the same memory location.
    
    Test the passed parameter and if it's the same as ourName already skip
    the free and strdup.
    
    This bug was introduced in commit
        340ec2f79208ee21c3130c4b1c13995947ce426c
        "util: allocate log filename buffers"
    
    Reviewed-on: https://gerrit.openafs.org/13659
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f5f59cd8d336b153e2b762bb7afd16e6ab1b1ee2)
    
    Change-Id: Ia1ae1144493fa682595b365324322d8d273c0cbb
    Reviewed-on: https://gerrit.openafs.org/13675
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7a613798620f16998b1f8dd636f3bb3ad7a541e1
Author: khm <khm@sciops.net>
Date:   Tue Jun 25 12:51:21 2019 -0700

    add dkms dependency in Red Hat unit file
    
    Currently, there is no explicit relationship between OpenAFS and dkms.
    If dkms needs to rebuild the kernel module, OpenAFS will fail to mount
    because modprobe will not load the module.  This change specifies that
    OpenAFS should run after dkms if dkms is present.
    
    Reviewed-on: https://gerrit.openafs.org/13654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fbe2a03aa69bc19768302685d902a25e4d6e157a)
    
    Change-Id: If08df50128a29642e9cdfc311811b99a7889a158
    Reviewed-on: https://gerrit.openafs.org/13674
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: khm <khm@sciops.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 27a21f35a81c3671c9752edfd4fa502f5fc281e0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 22 22:52:10 2019 -0400

    pioctl: limit fruitless token searches
    
    getNthCell searches the afs_users table for the nth token set belonging to a
    given user.  However, it is impossible for a user to have more than one
    token set per cell.  If the caller specifies a number greater than the
    total number of cells this cache manager knows about, we know the search
    will be fruitless.
    
    Instead, return early in this case, avoiding both the lock and the
    search.
    
    Reviewed-on: https://gerrit.openafs.org/13597
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fc7e1700fe84f623fb9163466d24226df00b1a2c)
    
    Change-Id: Idfda263af173a7ca081fcea3eef0ec4a63e66eda
    Reviewed-on: https://gerrit.openafs.org/13639
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 22c9d9f8916cef5eacc9c930fc25c34c24de17e4
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Fri Jun 1 16:33:37 2018 -0500

    Fix static expressions in conditionals
    
    The conditions in these if statements are always true (or always false).
    Remove the check in cmdebug.c, as it is unnecessary, and fix the check
    in vlclient.c to actually check for a valid voltype. (via cppcheck)
    
    Reviewed-on: https://gerrit.openafs.org/13158
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5cd5cd9fa8754a5af346fa6a392363b046316c75)
    
    Change-Id: Ie3a2d6bfc99d1b5adf0524afc29dac30b655d04d
    Reviewed-on: https://gerrit.openafs.org/13638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 277d69d4358f94bf176268a5a98da39bf5277589
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Apr 19 10:38:24 2019 -0500

    afs: add a file-level comment to afs_osidnlc.c
    
    This file doesn't currently do a great job of telling the reader what
    it's used for.  Let's give them a hint, especially for the expansion
    of "DNLC".
    
    Reviewed-on: https://gerrit.openafs.org/13557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3a5ab19fe04058e002bfea90f8b64fab4676de67)
    
    Change-Id: I41c53e5a37cc2da8fa0578a9c5db476530103981
    Reviewed-on: https://gerrit.openafs.org/13650
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7487d15ca5023f465a8bbda05bf6f68a5a6d5eb3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jun 12 23:44:32 2019 -0400

    afs: remove bogus comment from afs_IsTokenExpired
    
    Remove an incorrect comment, introduced with commit
    adf2e6e827c6caf55247c5e63b88775393156ae5 'Unix CM: Generalise token
    storage'.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13640
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 54c34d32e884a5bfb2352e7c8767d743ef3e4647)
    
    Change-Id: I00f91947f9cd64694b2021e484b33dc9074fee94
    Reviewed-on: https://gerrit.openafs.org/13651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 90a0796d18d99e893ec4bad8800efe1e398c5ea3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 16 20:01:17 2019 -0500

    Use the ppc64le_linuxXX sysname for ppc64le builds
    
    Commit 191e18eb (Open ppc64le_linux sysname space) added the
    ppc64le_linux26 sysname, but it still must be manually specified when
    running on ppc64le. Use the ppc64le_linux26 by default on ppc64le, so
    we can compile without needing to specify an explicit sysname.
    
    Reviewed-on: https://gerrit.openafs.org/13593
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4b6a4ff31a4197504bbcf2d4c14c24dee672d40e)
    
    Change-Id: Icf8f8b42c499dc42bf5d637dae5ad3e261e68512
    Reviewed-on: https://gerrit.openafs.org/13637
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4d7a397c03288847539fd1428d9bdfcbc1f59cbe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 16 23:44:58 2019 -0600

    LINUX: Propagate afs_linux_readdir BlobScan errors
    
    In afs_linux_readdir, if we detect an error code from BlobScan,
    currently we 'break' out of the current while() loop. But right after
    this loop, we reset 'code' to 0, ignoring the error we just got from
    BlobScan, and acting like we just reached the end of the directory.
    
    This means that if BlobScan could not process the given directory at
    all, we'll just fail to iterate through some of the entries in the
    given directory, and not report an error.
    
    To fix this, process errors from BlobScan like we do for
    afs_dir_GetVerifiedBlob, and return an error code and log a message
    about the corrupted dir.
    
    Reviewed-on: https://gerrit.openafs.org/13430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 63f015d05293cd853dbd44e5115e6b378644dfb6)
    
    Change-Id: Ia25bcfdb70cdb1dd1a7ce0efb84ef76beb78b247
    Reviewed-on: https://gerrit.openafs.org/13591
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b924e7827dbca97accb6a90da24264858e9a2964
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 16 23:46:34 2019 -0600

    afs: Throw EIO in DRead on empty dir blob
    
    DRead currently returns ENOENT if we try to read a page beyond the end
    of the given dir blob. We do this to indicate we've hit EOF, but we do
    this even if the dir blob is completely empty (which is not a valid
    dir blob).
    
    If a dir blob in the cache is truncated due to cache corruption
    issues, that means we'll indicate a normal EOF condition in that
    directory for most code paths. If someone is trying to list the
    directory's entries, for instance, we'll just return that there are no
    entries in the dir, even though the dir itself is just invalid.
    
    To avoid this for at least some cases, return an EIO error instead if
    the dir blob is completely empty.
    
    Reviewed-on: https://gerrit.openafs.org/13429
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 86d04ea70fd2e99606b1d1b5b68d980d92e7a3cd)
    
    Change-Id: I067aae1f949051169225a3cc0bdba35ad76a4ec2
    Reviewed-on: https://gerrit.openafs.org/13590
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 02b6ba418568f294a9088b6df3e90bbdf35c8398
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 16 16:12:47 2019 -0500

    Do not define AFS_SYSCALL for ppc64le_linux26
    
    AFS_SYSCALL is defined to the syscall number we can use for a certain
    platform (for pioctls and other AFS-specific kernel calls). On many
    modern platforms, such as Linux, we don't use direct syscalls anymore,
    instead routing our AFS-specific syscalls through an ioctl, and
    AFS_SYSCALL is just used as a fallback for compatibility for older
    OpenAFS releases that might still be using the syscall.
    
    For new platforms, we have no need for this compatibility code path,
    since there is no existing code we might need to be compatible with.
    We should avoid defining AFS_SYSCALL for those, so we can avoid
    manually-issuing syscalls in more cases. The ppc64le_linux26 platform
    is a very new platform (introduced in 191e18eb "Open ppc64le_linux
    sysname space"), and so should not have AFS_SYSCALL defined.
    
    So, remove AFS_SYSCALL from ppc64le_linux26's param.h.
    
    Reviewed-on: https://gerrit.openafs.org/13592
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 46563f929a851032d785634763963808d6e2bfeb)
    
    Change-Id: Ib161b50a9156d3790134de4e1a8e66a1356e0fb6
    Reviewed-on: https://gerrit.openafs.org/13636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2f6227540f7954f58387fba4934a0f83d1f4d536
Author: Nathaniel Filardo <nwfilardo@gmail.com>
Date:   Wed May 1 23:01:51 2019 +0100

    Open ppc64le_linux sysname space
    
    While here, add config/param.ppc64le_linux26.h; it's just like
    ppc64_linux26.h, except not AFSBIG_ENDIAN.
    
    Reviewed-on: https://gerrit.openafs.org/13562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 191e18ebcee3698a76b55912de0a41111c384128)
    
    Change-Id: I9852da2a376a24269ff720a4da4881dae83036cd
    Reviewed-on: https://gerrit.openafs.org/13589
    Reviewed-by: Cheyenne Wills <cwills@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 72d0e5a7c92fe7f68857af5828ed7d717b2d694d
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Apr 18 09:55:09 2019 -0600

    redhat: RHEL8 add elfutils-devel as build dependency for kernel module
    
    Building the kernel modules under RHEL8 produces the following error
    message:
        Makefile:952: *** "Cannot generate ORC metadata for
         CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or
         elfutils-libelf-devel".  Stop.
    
    Add elfutils-devel to the BuildRequires in the rpm spec when building
    rhel >= 8
    
    Add elfutils-devel to the BuildRequires in the rpm spec that
    openafs-kmodtool produces
    
    FIXES 134900
    
    Reviewed-on: https://gerrit.openafs.org/13560
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 13817774518ada28f5fe68e0d00ef5dd00b67b55)
    
    Change-Id: If4f453e6c459a2865626d4fd71bb47030e3deb58
    Reviewed-on: https://gerrit.openafs.org/13563
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c6c3a4038905169ab717e64775920147d6f34c3f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 28 14:55:56 2018 -0500

    afs: Raise osidnlc NCSIZE
    
    The currrent size of the osi DNLC is very small; only 300 entries.
    Raise it to 4096 entries, to give it some chance of actually helping.
    
    In the future, of course, this should be runtime configurable, and we
    should also raise the hash table size. For now, just raise the number
    of entries without changing anything else, to try to make sure nothing
    breaks.
    
    With the hash size of 256, this means our hash chains will be at least
    16 items long. However, traversing even hundreds of hash items should
    still be better than frequently hitting the disk cache to find
    entries, and acquiring more locks, etc.
    
    Reviewed-on: https://gerrit.openafs.org/13531
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 12b46b6af778625a9c360dca61a59fcf30b76fd1)
    
    Change-Id: Ib4fd8bd01e2df22617e5a549d4ac76ba1d50b2fd
    Reviewed-on: https://gerrit.openafs.org/13559
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 934313678d2a01208a28fca669907f50a097b377
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 00:04:36 2019 -0600

    dir: Honor non-ENOENT lookup errors
    
    Currently, several places in src/dir/dir.c assume that any error from
    a lower-level function (e.g. FindItem) means that the item we're
    looking for does not exist in that directory. But if we encountered
    some other error, that may not be the case; the directory blob may be
    corrupt, we may have encountered some I/O error, etc.
    
    To detect cases like this, return the actual error code from FindItem
    &c, instead of always reporting ENOENT. For the code paths that are
    actually specifically looking for if the target exists (in
    afs_dir_Create), change our checks to specifically check for ENOENT,
    and return any other error.
    
    Do the same thing for a few similar callers in viced/afsfileprocs.c,
    as well.
    
    FIXES 134904
    
    Reviewed-on: https://gerrit.openafs.org/13431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0b3bd1b7cdc88ba62c8cd540e8628faa84e33cf9)
    
    Change-Id: Ia81ff85821c1987b97390a683f1d442ca70db41e
    Reviewed-on: https://gerrit.openafs.org/13543
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    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 e586e86add4e4bf42f7af5b6d570fbe9b49fc415
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 21 15:24:06 2019 -0500

    LINUX: Avoid lookup ENOENT on fatal signals
    
    Various Linux kernel operations on various Linux kernel versions can
    fail if the current process has a pending fatal signal (i.e. SIGKILL),
    including reads and writes to our local disk cache. Depending on what
    and when something fails because of this, some parts of libafs throw
    an ENOENT error, which may propagate up to callers, and be returned
    from afs_lookup(). Notably this can happen via some functions in
    src/dir/dir.c, and previously was possible with some code paths before
    they were fixed by commit 2aa4cb04 (afs: Stop abusing ENOENT).
    
    For the most part, the exact error given to the userspace caller
    doesn't matter, since the process will die as soon as we return to
    userspace. However, for ENOENT errors specifically for lookups, we
    interpret this to mean that the target filename is known to not exist,
    and so we create a negative dentry for that name, which is cached.
    Future lookups for that filename will then result in ENOENT before any
    AFS functions are called.
    
    The lingering abuses of the ENOENT error code should be removed from
    libafs entirely, but as an extra layer of safety, we can just avoid
    returning ENOENT from lookups if the current process has a pending
    fatal signal. So to do that, change all afs_lookup() callers in
    src/afs/LINUX to translate ENOENT to EINTR if we have a pending fatal
    signal. If fatal_signal_pending() is not available, then we don't do
    this translation.
    
    FIXES 134904
    
    Reviewed-on: https://gerrit.openafs.org/13530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8b6ae2893b517bd4e008cae94acff70abe4d2227)
    
    Change-Id: I8bf1b24c97ed74b0b457d79f48b2f40416c1d37e
    Reviewed-on: https://gerrit.openafs.org/13542
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e80e9e6ea6f2cedf79b92ea33eb214931bf808be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Mar 2 15:58:00 2019 -0600

    afs: Cleanup state on rxfs_*Init errors
    
    Currently, rxfs_storeInit and rxfs_fetchInit return early if they
    encounter an error while starting the relevant fetch/store RPC (e.g.
    StartRXAFS_FetchData64). In this scenario, they osi_FreeSmallSpace
    their rock before returning, but they never go through their
    destructor to free the contents of the rock
    (rxfs_storeDestroy/rxfs_fetchDestroy), leaking any resources inside
    that have already been initialized.
    
    The only thing that could have been initialized by this point is
    v->call, so hitting this condition means we leak an Rx call, and means
    we can report the wrong error code (since we never go through
    rx_EndCall, we never look at the call's abort code). For
    rxfs_fetchInit, most code paths call rx_EndCall explicitly, except for
    the code path where StartRXAFS_FetchData64 itself fails.
    
    For both fetches and stores, it's difficult to hit this condition,
    because this requires that the StartRXAFS_* call fails, before we have
    sent or received any data from the wire. However, this can be hit if
    the call is already aborted before we use it, which can happen if the
    underlying connection has already been aborted by a connection abort.
    
    Before commit 0835d7c2 ("afs: make sure to call afs_Analyze after
    afs_Conn"), this was most easily hit by trying to fetch data with a
    bad security object (for example, with expired credentials). After the
    first fetch failed due to a connection abort (e.g. RXKADEXPIRED),
    afs_GetDCache would retry the fetch with the same connection, and
    StartRXAFS_FetchData64 would fail because the connection and call were
    already aborted. In this case, we'd leak the Rx call, and we would
    throw an RXGEN_CC_MARSHAL error (-450), instead of the correct
    RXKADEXPIRED error. This causes libafs to report that the target
    server as unreachable, due to the negative error code.
    
    With commit 0835d7c2, this doesn't happen because we call afs_Analyze
    before retrying the fetch, which detects the invalid credentials and
    forces creating a new connetion object. However, this situation should
    still be possible if a different call on the same connection triggered
    a connection-level abort before we called StartRXAFS_FetchData64.
    
    To fix this and ensure that we don't leak Rx calls, explicitly call
    rxfs_storeDestroy/rxfs_fetchDestroy in this error case, before
    returning from rxfs_storeInit/rxfs_fetchInit.
    
    Thanks to yadayada@in.ibm.com for reporting a related issue and
    providing analysis.
    
    Reviewed-on: https://gerrit.openafs.org/13510
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 11cc0a3c4e0d76f1650596bd1568f01367ab5be2)
    
    Change-Id: I3c2d66a5a6128bb8b403dfa6ea7c37e32bd2f156
    Reviewed-on: https://gerrit.openafs.org/13517
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f8f10315d9ebecf32b5537a82aedde4c24b28d62
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 9 20:06:05 2017 -0500

    SOLARIS: Switch non-embedded vnodes for Solaris 11
    
    Newer updates to Solaris 11 have been including several changes to the
    vnode struct. Since we embed a vnode in our struct vcache, our kernel
    module must be recompiled for any such change in order for the openafs
    client to work at all.
    
    To avoid the need for this, switch Solaris to using a non-embedded
    vnode in our struct vcache. Follow a similar technique as is used in
    DARWIN and XBSD, where we allocate a vnode in osi_AttachVnode, and
    free it in afs_FlushVCache.
    
    Reviewed-on: https://gerrit.openafs.org/12696
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2aafe7df403e6a848185d15495139c07bced2758)
    
    Change-Id: I2f5b3e2b2b908ea9815fd7735a1abed511cec9cb
    Reviewed-on: https://gerrit.openafs.org/13528
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit f9b4f9d63f5c62233a031a7e9d16fade235577eb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 9 20:06:03 2017 -0500

    SOLARIS: Fix vnode/vcache casts
    
    A few places were using vnodes and vcaches interchangeably. This is
    incorrect, since they may not always be the same thing if we stop
    embedding vnodes directly in vcaches Fix these to properly go through
    AFSTOV/VTOAFS to convert between vcaches and vnodes.
    
    Reviewed-on: https://gerrit.openafs.org/12695
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit a6499e0b086d964f3fcc65fe4be31edc33015061)
    
    Change-Id: Ia6889966a7c595786f0a273b4c2a5a63fe60ddd3
    Reviewed-on: https://gerrit.openafs.org/13527
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7328cb0b000c61672ab75cda14ba0e42839adb03
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 9 20:06:00 2017 -0500

    SOLARIS: Accept vnodes in vnode ops
    
    Currently, our vnode op callbacks look like this:
    
        int gafs_fsync(struct vcache *avc, afs_ucred_t *acred);
    
    And a pointer to gafs_fsync is given directly to Solaris. This cannot
    be correct, since 'struct vcache' is an OpenAFS type, so Solaris
    cannot possibly give us a 'struct vcache'. The actual correct
    signature for such a function is something like this:
    
        int gafs_fsync(struct vnode *vp, afs_ucred_t *acred);
    
    And then the 'gafs_fsync' function is supposed to translate 'vp' into
    a vcache.
    
    This works on Solaris right now because we embed the vnode as the
    first member in our vcache, and so a pointer to a vnode is also a
    pointer to a vcache. However, this would break if we ever change
    Solaris vcaches to use a non-embedded vnode (like on some other
    platforms). And even now, this causes a lot of warnings in
    osi_vnodeops.c, since the function signatures are wrong for our vnode
    callbacks.
    
    So to fix this, change all of these functions to accept a 'struct
    vnode', and translate to/from vnodes and vcaches appropriately.
    
    Reviewed-on: https://gerrit.openafs.org/12694
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit 9a2b11747ce355d9adc8a5a646c88f8f3d9765ee)
    
    Change-Id: I85cee787e26886596a10c6b9a02f33f2bf28d65d
    Reviewed-on: https://gerrit.openafs.org/13526
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8089741c909e84020e644ac05c58d3a4bb9cc1e2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 9 20:05:56 2017 -0500

    SOLARIS: Reorder definitions for vnode callbacks
    
    Currently, many of the functions for our vnode ops are
    forward-declared, right before they are referenced in the relevant
    vnop template array. Move the function definitions to before the
    references, so we can simply get rid of the forward declarations.
    
    These functions are also all only referenced in this file, so declare
    them 'static'.
    
    Reviewed-on: https://gerrit.openafs.org/12693
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit 41a22dbf719629e0977fa963b3d19c6594d0d729)
    
    Change-Id: I5840fef98d2ce15525c4981636fad6e5990cbad2
    Reviewed-on: https://gerrit.openafs.org/13525
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 599cf163d10d775a18e2b8a947ad3abd6d1a4021
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 9 20:05:50 2017 -0500

    SOLARIS: Clean up some osi_vnodeops func defs
    
    Currently, the Solaris osi_vnodeops.c file forward-declares many of
    its function definitions, but doesn't declare the arguments. For
    example:
    
        int afs_nfsrdwr();
    
    This avoids type-checking for a few functions that are called before
    they are defined in this file. Furthermore, many of these functions
    are only used within this file, but are not declared 'static'.
    
    To fix this weirdness, remove most of the forward declarations (most
    are not referenced until the function is defined), and fully declare
    the rest. Declare functions 'static' that are not referenced outside
    of this file.
    
    This commit only changes functions up to the 'afs_getsecattr'
    definition. The rest of the file will be fixed in a future commit.
    
    Reviewed-on: https://gerrit.openafs.org/12692
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit aa46af6ae35e4f026a8ed94012c3bc18c954de23)
    
    Change-Id: I33f445ed253f1991896afff33e7cc14bf5e50b18
    Reviewed-on: https://gerrit.openafs.org/13524
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b02434f5c6cab1f317c9fb6652e31a20195c20d8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jan 18 17:05:49 2019 -0500

    LINUX: correct include for ktime_get_coarse_real_ts64()
    
    The include for the ktime_get_coarse_real_ts64() autoconf test is
    incorrect; ktime_get_coarse_real_ts64() has always been in linux/ktime.h
    (via #include timekeeping.h), not linux/time.h.
    
    This autoconf test still ran correctly because the OpenAFS build was
    inadvertently picking up ktime.h via the default autoconf include path.
    Therefore, this commit is needed only to provide documentation and
    clarity to future maintainers.
    
    Introduced as a cut-n-paste error (from the current_kernel_time test)
    with commit 3c454b39d04f4886536267c211171dae30dc0344 for Linux 4.20.
    
    Reviewed-on: https://gerrit.openafs.org/13437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 10b02075a262dbe802266ea4bcac3936dff5dd23)
    
    Change-Id: Ide1adcc8536ed8829361e0961da96949099d5caf
    Reviewed-on: https://gerrit.openafs.org/13523
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 390bb188b956d43f569ca10909d0a968355cddb9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 28 17:12:40 2018 -0500

    afs: Remove afs_xosi
    
    Since OpenAFS 1.0, all platforms in libafs have a lock called
    afs_xosi, which is acquired and released around calls like VOP_GETATTR
    on cache files. However, this lock doesn't appear to protect anything;
    on all platforms, the code that runs while the lock is held uses only
    calls VOP_GETATTR and accesses local variables (aside from
    afs_osi_cred, which we use similarly in many other places). The
    purpose of the lock has never been documented, and is not mentioned at
    all in the afs_rwlocks text file.
    
    The comment by the afs_xosi lock declaration suggests that the lock
    was originally introduced to protect access to 'tvattr', which perhaps
    was a global variable in the past. All uses of 'tvattr' are local now,
    though, so protecting access to it doesn't make any sense.
    
    So, remove afs_xosi, to remove the unnecessary serialization of
    VOP_GETATTR calls.
    
    Reviewed-on: https://gerrit.openafs.org/13350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d75bc6370f625479a67c7c0a50cce23c4d4a4ce5)
    
    Change-Id: I33dc7935872cf071c4221d46cbb458e1f77185a2
    Reviewed-on: https://gerrit.openafs.org/13529
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 1a4e785f0d92f6e628a79bb8919085bfaa279fe6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 16 09:25:18 2018 -0500

    afs: make sure to call afs_Analyze after afs_Conn
    
    The afs_Conn function is used to pick a connection for a given RPC. The
    RPC is normally wrapped within a do-while loop which calls afs_Analyze
    to handle the RPC code and manage the server connection references.
    Among other things, afs_Analyze can mark the server as down, blacklist
    idle servers, etc.
    
    There are some special cases in which we break out of this do-while loop
    early, by putting the connection reference given by afs_Conn and then
    jumping out of the loop.
    
    In these cases, be sure to call afs_Analyze to put the server connection
    we got from afs_Conn, and to handle the RPC return code, possibly
    marking the server as down or blacklisted.
    
    Reviewed-on: https://gerrit.openafs.org/13288
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0835d7c2a183f896096684df06258aefd297f080)
    
    Change-Id: Ic5648dbd250c33988d64284b906b3829a396a2cb
    Reviewed-on: https://gerrit.openafs.org/13511
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 74054de1bc30cee1bdc9d0c350230231663bcd85
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 6 13:42:11 2018 -0500

    Run ctfconvert/ctfmerge for all objects
    
    Commit 88cb536f (autoconf: detect ctf-tools and add ctf to libafs)
    introduced running ctfconvert and ctfmerge for libafs on Solaris, but
    didn't add any CTF data for userspace code. This commit causes the
    same commands to be run for every binary that we build (if the ctf
    tools are available).
    
    To accomplish this, also refactor how we run ctfconvert and ctfmerge.
    The approach in commit 88cb536f would require us to modify the
    makefile rule for every executable to run RUN_CTFCONVERT and
    RUN_CTFMERGE, which is somewhat impractical. So instead in this
    commit, we modify all of our *_CCRULE and *_LDRULE variables to wrap
    the compiler invocation with the new CC_WRAPPER script. This means our
    *RULE variables change from something like this:
    
        FOO_CCRULE = $(RUN_CC) $(CC) $(XXX_FLAGS) -o $@
    
    to something like this:
    
        FOO_CCRULE = $(RUN_CC) $(CC_WRAPPER) $(CC) $(XXX_FLAGS) -o $@
    
    CC_WRAPPER expands to the script src/config/cc-wrapper, which just
    runs ctfconvert or ctfmerge on the relevant files after the
    compiler/linker runs. If the CTF tools are not configured, CC_WRAPPER
    expands to nothing, to limit our impact on other platforms.
    
    This commit was developed in collaboration with
    mbarbosa@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/13308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c1d39153da00d5525b2f7874b2d214a7f1b1bb86)
    
    Change-Id: Ic357293a946f0759aa032f7c93b4b56e74e9209a
    Reviewed-on: https://gerrit.openafs.org/13487
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 98e07b561279bf5d9f39ccb5f43e605cd3e86d0e
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu May 31 09:46:56 2018 -0300

    autoconf: do not reference the missing script
    
    Currently, OpenAFS does not use automake. As a result, the missing script
    is not copied to the build-tools directory. Since this script is not
    present in the tree, am_missing_run is not initialized. Unfortunately,
    the current version still has a few references to this variable. In order
    to preserve a similar behavior, this commit replaces these references by
    AC_ERROR.
    
    While we are changing these, remove the AC_CHECK_PROGS calls for AR and
    STRIP, since libtool already checks these for us.
    
    Reviewed-on: https://gerrit.openafs.org/12982
    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: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d3ef9337fafe5dcf3865d3aced290be0f887c11)
    
    Change-Id: Ibb2fa93e73f303cd68e9e030f1631476f1da329c
    Reviewed-on: https://gerrit.openafs.org/13486
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 36282f9cae0dafa1f13aa54f704a4d37d92a0799
Author: Peter Foley <pefoley2@pefoley.com>
Date:   Mon Feb 29 16:39:14 2016 -0500

    Remove obsolete retsigtype
    
    Only relevent for pre-c89 K&R compilers.
    
    [mmeffie@sinenomine.net: avoid changes to src/external]
    
    Reviewed-on: https://gerrit.openafs.org/12203
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a9644daa965fbf316943a07ad985b8ead2f4f31d)
    
    Change-Id: I37f83e7d8a59d5ccffe8542f3c4090e667b48c16
    Reviewed-on: https://gerrit.openafs.org/13485
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit d281eb242414f58440dc44cf82d4fe7dc7830bc8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat May 26 19:52:27 2018 -0400

    autoconf: reformat long lines
    
    The autoupdate tool was run to modernize the autoconf macros but
    generates very long lines. Manually reformat the long lines to make them
    more reasonable.
    
    Reviewed-on: https://gerrit.openafs.org/13125
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 451602a5e3a503d46eaecb3738d259e46023afcd)
    
    Change-Id: I19f16a66fdc6b33889f08e5a095b1f3209b01a3c
    Reviewed-on: https://gerrit.openafs.org/13484
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c3eaace29ea446c9369af90eed274ece063e5bb0
Author: Peter Foley <pefoley2@pefoley.com>
Date:   Mon Feb 29 13:28:28 2016 -0500

    autoconf: autoupdate macros
    
    Run autoupdate on macros.
    
    [mmeffie@sinenomine.net: re-run autoupdate, no other edits]
    
    Reviewed-on: https://gerrit.openafs.org/12202
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2e23fceec872795a39b915b73e48eb77a5d65afe)
    
    Change-Id: I27eac1f2b6e468382976d7866aa1f5e648727534
    Reviewed-on: https://gerrit.openafs.org/13483
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 426b5f17096c712dc0c88ae8ff0f745e6426d3b2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 20 11:47:57 2018 -0400

    autoconf: update curses.m4
    
    Replace the obsolete AC_TRY_COMPILE with AC_COMPILE_IFELSE/AC_LANG_PROGRAM
    in the curses check for the getmaxyx macro.
    
    This change was done manually instead of using autoupdate because the
    program prologue argument for this particular check is an m4 macro,
    which will not expand to code when autoupdate adds m4 quotes to the
    AC_LANG_PROGRAM arguments.
    
    Reviewed-on: https://gerrit.openafs.org/13021
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit f9c584a794c6a4c5d03fa1ee7f1b2b5e1309e7ee)
    
    Change-Id: Ic0a1007f5a71496fd235eab6659a73e46393d317
    Reviewed-on: https://gerrit.openafs.org/13482
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b3882518f65a14b4de9846c5d11814bea3d91d96
Author: Andrew Deason <adeason@dson.org>
Date:   Fri Sep 21 17:16:52 2018 -0500

    pthread.m4: Add missing 'test' to conditional
    
    Commit c5def62d (autoconf: update pthread checks) accidentally omitted
    a 'test' in one of the conditionals. This causes an ugly error message
    during configure:
    
        checking for pthread_attr_init in -lpthread... yes
        ./configure[31043]: x-lpthread: not found [No such file or directory]
    
    Replace the missing 'test'.
    
    Reviewed-on: https://gerrit.openafs.org/13342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 38a094137f067255c586dd5c85f3040d7a7c4486)
    
    Change-Id: Iaa7014c6ae58bd492930dbe4f39180111bacb67e
    Reviewed-on: https://gerrit.openafs.org/13595
    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: Stephan Wiesand <stephan.wiesand@desy.de>

commit 2771714dc485ed3ca70d66e538709ddf703f8ece
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 16 10:42:49 2018 -0400

    autoconf: update pthread checks
    
    Replace obsolete AC_TRY_COMPILE with AC_COMPILE_IFELSE.  Replace shell
    if/then conditionals with AS_IF macros.  Reformat indentation and
    quoting.
    
    This change was done manually, since autoupdate copes poorly with the
    old, nested AC_TRY_COMPILE macros.
    
    Reviewed-on: https://gerrit.openafs.org/13018
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    (cherry picked from commit c5def62d7be4891f534b753374acbf5b524701eb)
    
    Change-Id: I5cc8e5712dd742d20be92d04728eddbecf9c216c
    Reviewed-on: https://gerrit.openafs.org/13481
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bcce556cb0f71ba00a97c87a529e95ebed0cbc85
Author: Peter Foley <pefoley2@pefoley.com>
Date:   Mon Feb 29 13:19:01 2016 -0500

    autoconf: updates and cleanup
    
    Update autoconf macros to their modern equivalents, according to what
    the 'autoupdate' tool does. While we're here, remove automake references
    that aren't being used, and remove the obsolete AC_PROG_LIBTOOL in favor
    of AFS_LT_INIT.
    
    Reviewed-on: https://gerrit.openafs.org/12199
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4706854f57043c8393baa922dd1974176e110a19)
    
    Change-Id: I9b3b8a15ac73484f60d16448abd8cce2e0334201
    Reviewed-on: https://gerrit.openafs.org/13480
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit e93dfb1ad90dd7e6cb85783d27b4175d74bc40a0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 26 17:57:38 2018 -0500

    libuafs: Stop clobbering CFLAGS
    
    Currently, in the libuafs MakefileProto for every platform, CFLAGS is
    set to a bunch of flags, ignoring any CFLAGS set by the 'make'
    command-line provided by the user. Since most of the rest of the tree
    honors CFLAGS, it is confusing and can cause errors when src/libuafs
    ignore the user-set CFLAGS.
    
    One example of this breaking the build is when building RHEL RPMs for
    certain sub-architectures of the current machine. If you try to
    'rpmbuild --target=i686' on 32-bit x86 RHEL 5, we will build with
    -march=i686 in the CFLAGS, which will be used to build most objects
    and is used in our configure tests. As a result, our configure tests
    will say that gcc atomic intrinsics are available. But when we go to
    build libuafs objects, we will not have -march=i686 in our CFLAGS,
    which causes (on RHEL 5) gcc to default to building for i386, which
    does not have gcc atomic intrinsics available. This causes build
    errors like this:
    
        libuafs.a(rx.o): In function `rx_atomic_test_and_clear_bit':
        [...]/BUILD/openafs-1.8.0/src/rx/rx_atomic.h:462: undefined reference to `__sync_fetch_and_and_4'
    
    To fix this, change the libuafs MakefileProtos to not set CFLAGS
    directly; instead, set them in a new variable UAFS_CFLAGS.
    Makefile.common then pulls those flags into MODULE_CFLAGS, which is
    used in our *_CCRULE build rules.
    
    While we are here, also move the common set of CFLAGS set by each
    platform's MakefileProto into Makefile.common. Now, each MakefileProto
    only needs to set CFLAGS that are specific to that platform, which
    ends up being very few (since most platforms were using the exact same
    set of CFLAGS).
    
    Relevant issue identified and analyzed by mbarbosa@sinenomine.net.
    
    Reviewed-on: https://gerrit.openafs.org/13262
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ee66819a0c1a9efa98b76a1c18af6233bda1e233)
    
    Change-Id: Ia38d4701aeb4f690b12a6ffdbb42b8ec8c499486
    Reviewed-on: https://gerrit.openafs.org/13544
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 63a1ee4e238e20855aa63f31f490867c5d440f57
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Oct 5 11:26:34 2018 -0400

    DARWIN: replace macro exported by automake
    
    Commit 4706854f57043c8393baa922dd1974176e110a19 removed automake
    references from the source tree. As a result, VERSION (exported by
    AM_INIT_AUTOMAKE and obtained from Autoconf's AC_INIT macro) is not
    available anymore. Unfortunately, a reference to this macro can be found
    in src/afs/DARWIN/osi_module.c. Consequently, builds on OS X fail with
    the following message:
    
        osi_module.c:144:32: error: use of undeclared identifier 'VERSION'
    
    To fix this problem, replace VERSION by PACKAGE_VERSION (defined by
    AC_INIT).
    
    Reviewed-on: https://gerrit.openafs.org/13354
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 07ed94cfd817dc5a4e2d2712570087388fe7828f)
    
    Change-Id: I14c6c803766ea959dfc6fa4804960c067fc9f16c
    Reviewed-on: https://gerrit.openafs.org/13584
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eaba6c97533f6838d3c73e86d31da18aca4ac8ab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 1 12:57:42 2019 -0400

    doc: Remove one lingering reference to src/mcas
    
    Reviewed-on: https://gerrit.openafs.org/13539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e02ae66c7eef1bfc5df9c3e9f2acde3bc3102390)
    
    Change-Id: Iba79e9f6b2908977a3ad43d802562f1cb8849d66
    Reviewed-on: https://gerrit.openafs.org/13558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 0637d1038e4ff174dbaf0a8a09490de1f08cb4fb
Author: Karl Behler <karl.behler@ipp.mpg.de>
Date:   Fri Mar 22 12:22:05 2019 +0100

    man-pages: create the man3 subdirectory in prep-noistall
    
    This should fix a build failure reported on the openafs-devel list
    today.
    
    Reviewed-on: https://gerrit.openafs.org/13533
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e7ea4781f07b29f7f0fc0b5ba17303bd68022e54)
    
    Change-Id: I996aec343f80031c7118e7b6b0d829751a85e228
    Reviewed-on: https://gerrit.openafs.org/13535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit ad37d5b186c7ea62c874546472a807310acf0e75
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Apr 12 16:53:40 2019 +0200

    Make OpenAFS 1.8.3
    
    Update version strings for the 1.8.3 release.
    
    Change-Id: Ie8b29765e4f45bc3ddbe1aba9e31068da0bb54cf
    Reviewed-on: https://gerrit.openafs.org/13546
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 288c218fa96abd8c9ddb66bc6f6bc60a20311645
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Apr 12 16:47:28 2019 +0200

    Update NEWS for 1.8.3
    
    Finalize the release notes for OpenAFS 1.8.3
    
    Change-Id: I5b5eeedde53a1135c003302719cfdeca4f67e8fd
    Reviewed-on: https://gerrit.openafs.org/13545
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit dc16d6fffa69fe98e8bb338daea7b35ff59651c9
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Jan 25 16:08:34 2019 +0100

    Make OpenAFS 1.8.3pre1
    
    Update version strings for the first 1.8.3 prerelease.
    
    Change-Id: I62d22cfba90ec89ac6734d7e8e08ce062dedff80
    Reviewed-on: https://gerrit.openafs.org/13444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3f902d3213ca4bc5e2072c9a729e108ec9b5a0b4
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Jan 25 18:15:00 2019 +0100

    Update NEWS for 1.8.3pre1
    
    Release notes for the OpenAFS 1.8.3 prerelease
    
    Change-Id: Ie9f988d0f03f1368125d0e5894d5dd5e9ef95d88
    Reviewed-on: https://gerrit.openafs.org/13445
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a4b3a659095cf50a4c5bb6cea69c71680817830a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Oct 29 16:48:14 2018 -0400

    afs: avoid afs_GetDownDSlot panic on afs_WriteDCache failure
    
    If afs_GetDownDSlot() finds insuffcient free slots in the
    afs_freeDSList, it will walk the afs_DLRU attempting to flush and free
    eligible dcaches.  However, if an error occurs during the flush to
    CacheItems (afs_WriteDCache()), e.g., -EINTR, afs_GetDownDSlot() will
    assert.
    
    However, a panic in this case is overkill, since afs_GetDownDSlot() is a
    best-effort attempt to free dslots.  The caller (afs_UFSGetDSlot()) will
    allocate more dcaches if needed.
    
    Instead:
    - Refactor afs_GetDownDSlot() by moving the QRemove() call to after the
    afs_WriteDCache logic, so it accompanies the logic that puts the dcache
    back on the freelist.  This is safe because we hold the afs_xdcache W
    lock for the duration of the routine.
    - If afs_WriteDCache() returns an error, return early and let the caller
    handle any recovery.
    
    Reviewed-on: https://gerrit.openafs.org/13364
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d6f52d11c358f71b2c4357cb135e898de7c6277b)
    
    Change-Id: I2630bf04b3e3a88a1fa00f693adf2a77290d47ef
    Reviewed-on: https://gerrit.openafs.org/13503
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@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 ff3ae28f14cb42b5e72adfceb1f6271a8f675e4a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 25 17:35:51 2019 -0700

    Redhat: 'clean build area' error message during dkms build/install
    
    dkms invokes a make clean command before and after building the kernel
    module. The make clean that is issued at the start of building results
    in a nuisance error message because the Makefile doesn't yet exist
    
        Building module:
        cleaning build area...(bad exit status: 2)
    
    In the dkms.conf file, built from within the openafs.spec, change the
    command defined in the CLEAN statement to test for the existence of the
    Makefile prior to running the actual make clean
    
    Reviewed-on: https://gerrit.openafs.org/13460
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 10f2c469f45eece0e12573388ae66e392e2dff1c)
    
    Change-Id: If3440b576ad62441bb6b970016fa9808b51abf70
    Reviewed-on: https://gerrit.openafs.org/13479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 232bd12b070e1fbeb173e31251e65e63a0d1f959
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 7 17:27:24 2018 -0500

    Avoid format truncation warnings
    
    With gcc 7.3, we start getting several warnings like the following:
    
    vutil.c: In function ‘VWalkVolumeHeaders’:
    vutil.c:860:34: error: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 63 [-Werror=format-truncation=]
          snprintf(name, VMAXPATHLEN, "%s" OS_DIRSEP "%s", partpath, dentry->d_name);
    
    Most or all of these truncations should be okay, but increase the size
    of the relevant buffers so we can build with warning checking turned
    on.
    
    Reviewed-on: https://gerrit.openafs.org/13274
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 2daa413e3ec061e0653adbd1d6549f15e0659a62)
    
    Change-Id: I61ae1ddae4b2d84147198a1dccb280d0da100a0b
    Reviewed-on: https://gerrit.openafs.org/13459
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 804fefa6b46ed75921a1560a9e6b37842eabc94a
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 18 17:22:44 2019 -0700

    Linux_5.0: replaced current_kernel_time with ktime_get_coarse_real_ts64
    
    In Kernel commit fb7fcc96a86cfaef0f6dcc0665516aa68611e736 the
    current_kernel_time/current_kernel_time64 functions where renamed
    and the calling was standardized.
    
    According to the Linux Documentation/core-api/timekeeping.rst
    ktime_get_coarse_real_ts64 is the direct replacement for
    current_kernel_time64.  Because of year 2038 issues, there is no
    replacement for current_kernel_time.
    
    Updated code that used current_kernel_time to use new name and calling
    convention.
    
    Updated autoconf test that sets IATTR_TAKES_64BIT_TIME as well.
    
    Reviewed-on: https://gerrit.openafs.org/13434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 21ad6a0c826c150c4227ece50554101641ab4626)
    
    Change-Id: Idb8a2c1b74835601fb1fc699c3ebbcee75c94e3e
    Reviewed-on: https://gerrit.openafs.org/13442
    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 e7d8dc01cc1f0592eaecea5b87990097e9e59b88
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Fri Jan 18 16:53:58 2019 -0700

    Linux_5.0: replace do_gettimeofday with ktime_get_real_ts64
    
    In Kernel commit e4b92b108c6cd6b311e4b6e85d6a87a34599a6e3 the
    do_gettimeofday function was removed.
    
    According to the Linux Documentation/core-api/timekeeping.rst
    ktime_get_real_ts64 is the direct replacement for do_gettimeofday
    
    Updated the macro osi_GetTime to use ktime_get_real_ts64 if it is
    available.
    
    Reviewed-on: https://gerrit.openafs.org/13433
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit b892fb127815bdf72103ae41ee70aadd87931b0c)
    
    Change-Id: I1a0237457e229a11d2a87a3a269cf24adc201e59
    Reviewed-on: https://gerrit.openafs.org/13441
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 25829aaef319728e30fc45895e8945438e4dc719
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Thu Jan 17 16:00:37 2019 -0700

    Linux_5.0: Use super_block flags instead of Mount flags when filling sb
    
    In Kernel commit e262e32d6bde0f77fb0c95d977482fc872c51996
    the mount flags (MS_) were moved from uapi/linux/fs.h to
    uapi/linux/mount.h. This caused a compile failure in
    src/afs/LINUX/osi_vfsops.c
    
    The Linux documentation in uapi/linux/mount.h indicates that the MS_
    (mount) flags should only be used when calling sys_mount and filesystems
    should use the SB_ (super_block) equivalent.
    
    src/afs/LINUX/osi_vfsops.c utilized the mount flag MS_NOATIME while
    filling the super_block.  Changed to use SB_NOATIME (which has the same
    numeric value as MS_NOATIME) if available.
    
    Reviewed-on: https://gerrit.openafs.org/13432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3969bbca6017eb0ce6e1c3099b135f210403f661)
    
    Change-Id: I66f7b758c0258ea2c0d93da030fa97b3db49bd6c
    Reviewed-on: https://gerrit.openafs.org/13440
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8ca82f1252db2e3f17f6a9080f56d74035bdaa16
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 00:12:06 2019 -0600

    afs: Do not ignore errors in afs_CacheFetchProc
    
    afs_CacheFetchProc currently has a section of code that looks like
    this pseudocode:
    
        if (!code) do {
            while (length > 0) {
                code = read_from_rx();
                if (code) {
                    break;
                }
                code = write_to_cache();
                if (code) {
                    break;
                }
            }
            code = 0;
        } while (moredata);
        return code;
    
    When we encounter an error when reading from rx or writing to the
    cache, we break out of the current loop to stop processing and return
    an error. But there are _two_ loops in this section of the code, so
    what we actually do is break out of the inner loop, set 'code' to 0,
    and then usually return (since 'moredata' is usually never set).
    
    This means that when we encounter an unexpected error either from the
    net or disk (or the memcache layer), we ignore the error and return
    success. This means that we'll store a subset of the relevant chunk's
    data to disk, and flag that chunk as complete and valid for the
    relevant DV. If the error occurred before we wrote anything to disk,
    this means we'll store an empty chunk and flag it as valid. The chunk
    will be flagged as valid forever, serving invalid data, until the
    cache chunk is evicted or manually kicked out. This can result in
    files and directories appearing blank or truncated to applications
    until the bad chunk is removed.
    
    Possibly the most common way to encounter this issue is when using a
    disk cache, and the underlying disk partition is full, resulting in an
    unexpected ENOSPC error. Theoretically this can be seen from an
    unexpected error from Rx, but we would have to see a short read from
    Rx without the Rx call being aborted. If the call was aborted, we'd
    get an error from the call to rx_EndCall() later on.
    
    To fix this, change all of these 'break's into 'goto done's, to be
    more explicit about where we are jumping to. Convert all of the
    'break's in this function in the same way, to make the code flow more
    consistent and easier to follow. Remove the 'if () do' on a single
    line, since it makes it a little harder to see from a casual glance
    that there are two nested loops here.
    
    This problem appears to have been introduced in commit 61ae8792 (Unite
    CacheFetchProcs and add abstraction calls), included in OpenAFS
    1.5.62.
    
    Reviewed-on: https://gerrit.openafs.org/13428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ce327b568f4ff522aa008f235d97e0d9144eb92c)
    
    Change-Id: Id4ec8ffef38b4c86beffc6272bd283bce2c74ffe
    Reviewed-on: https://gerrit.openafs.org/13443
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 97f830605d5f251c58382c3f9febc4d98e949ee8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 14 17:12:27 2019 -0600

    lwp: Avoid freeing 'stackmemory' on AIX32
    
    Commit 55013a11 (lwp: Fix possible memory leak from scan-build) added
    some free() calls to some otherwise-leaked memory. However, one of
    these calls frees the 'stackmemory' pointer, which on AIX32 is not a
    pointer from malloc/calloc, but calculated from reserveFromStack().
    
    To avoid corrupting the heap, skip this free call on AIX32. This
    commit adds another #ifdef to avoid this, which is unfortunate, but
    this is also how the free is avoided in the existing code for
    Free_PCB().
    
    Reviewed-on: https://gerrit.openafs.org/13426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f6182922455aa0cbee19d138b0827eb87dc2b7ce)
    
    Change-Id: Id32eea373799c0cb43fb01a98210a0800899a1d6
    Reviewed-on: https://gerrit.openafs.org/13427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4c5daaa26fbe2fd7e24ceba475e60e5e5c765e78
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Wed May 23 15:42:09 2018 -0500

    lwp: Fix possible memory leak from scan-build
    
    It is possible for LWP_CreateProcess to return early. When it does, it
    should free up any memory it allocated before leaving scope.
    
    Reviewed-on: https://gerrit.openafs.org/13080
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 55013a111394052a0253c87a744d03dfabd1be75)
    
    Change-Id: I9112d2039c7c58a707231568e2e84e0340407bac
    Reviewed-on: https://gerrit.openafs.org/13122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 05ceb67a574a8e263ce8f6738e0bf4495284f6fc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 13 12:25:32 2018 -0600

    afs: Reword "cache is full" messages
    
    Currently, there are multiple different areas in the code that log a
    message that look like this, when we encounter an ENOSPC error when
    writing to the cache:
    
        *** Cache partition is FULL - Decrease cachesize!!! ***
    
    The message is a bit unclear, and doesn't even mention AFS at all.
    Reword the message to try to explain a little more what's happening.
    
    Also, since we log the same message in several different places, move
    them all to a common function, called afs_WarnENOSPC, so we only need
    to change the message in one place.
    
    Reviewed-on: https://gerrit.openafs.org/13410
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit d9d9571785dabc5c311111b1263fe0881b0ccda5)
    
    Change-Id: I8e958f2896f5d4503d3a153b52720e8ba3025261
    Reviewed-on: https://gerrit.openafs.org/13417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 036c01d2f129b7118a77ecd6d89fbc779d91c224
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 2 16:41:52 2017 -0500

    rx: Convert rxinit_status to rx_IsRunning()
    
    Currently, all rx code examines the atomic rxinit_status to determine
    if rx is running (that is, if rx_InitHost has been called, and
    rx_Finalize/shutdown_rx hasn't been called). This is used in rx.c to
    see if we're redundantly calling our setup/teardown functions, and
    outside of rx.c in a couple of places to see if rx-related resources
    have been initialized.
    
    The usage of rxinit_status is a little confusing, since setting bit 0
    indicates that rx is not running, and clearing bit 0 indicates rx is
    running. Since using rxinit_status requires atomic functions, this
    makes code checking or setting rxinit_status a little verbose, and it
    can be hard to see what it is checking for. (For example, does
    'if (!rx_atomic_test_and_clear_bit(&rxinit_status, 0))' succeed when
    rx running, or when rx is not running?)
    
    The current usage of rxinit_status in rx_InitHost also does not handle
    initialization errors correctly. rx_InitHost clears rxinit_status near
    the beginning of the function, but does not set rxinit_status if an
    error is encountered. This means that any code that checks
    rxinit_status (such as another rx_InitHost call) will think that rx
    was initialized successfully, but various resources aren't actually
    setup. This can cause segfaults and other errors as the code tries to
    actually use rx.
    
    This can easily be seen in bosserver, if bosserver is started up while
    the local host/port is in use by someone else. bosserver will try to
    rx_InitHost, which will fail, and then we'll try to rx_InitHost again,
    which will immediately succeed without doing any init. We then
    segfault quickly afterwards as we try to use unitialized rx resources.
    
    To fix all of this, refactor code using rxinit_status to use a new
    function, called rx_IsRunning(), to make it a little clearer what
    we're checking for. We also re-introduce the LOCK_RX_INIT locks to
    prevent functions like rx_InitHost and rx_Finalize from running in
    parallel.
    
    Note that non-init/shutdown code (such as rx_upcall or rx_GetIFInfo)
    does not need to wait for LOCK_RX_INIT to check if rx is running or
    not. These functions only care if rx is currently setup enough to be
    used, so we can immediately return a 'yes' or 'no' answer. That is, if
    rx_InitHost is in the middle of running, rx_IsRunning returns 0, since
    some resouces may not be fully initialized.
    
    Reviewed-on: https://gerrit.openafs.org/12761
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5ced6025b9f11fadbdf2e092bf40cc87499ed277)
    
    Change-Id: I38ef9e3aea8a1f20e9db488a44da4535f76432d1
    Reviewed-on: https://gerrit.openafs.org/13416
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a125fc5445fb4066a5845ff29b18974a0f7b5929
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Nov 30 12:10:50 2018 -0500

    vos: restore status information to 'vos status'
    
    Commit d3eaa39da3693bba708fa2fa951568009e929550 'rx: Make the rx_call
    structure private' created accessors for several rx_call members.
    However, it simply #ifdef'd out the packet counters and timestamps
    reported by 'vos status' (AFSVol_Monitor).  This is a regression for the
    1.8.x 'vos status' command.
    
    Instead, supply an accessor so 'vos status' can again be used to monitor
    the progress of certain volume operations.
    
    FIXES 134856
    
    Reviewed-on: https://gerrit.openafs.org/13400
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    (cherry picked from commit 59d3a8b86da648e3c5b9774183c6c8571a36f0c4)
    
    Change-Id: I16c995623c40a708b06f08fb09224be1baa4de21
    Reviewed-on: https://gerrit.openafs.org/13421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 53515f40f3dc980cc2c1afd369207617b88e93d1
Author: Cheyenne Wills <cwills@sinenomine.net>
Date:   Wed Nov 28 15:45:20 2018 -0700

    Redhat: correct path to kernel module in dkms.config
    
    This fix corrects some annoying error and warning messages during
    dkms install or uninstall.
    
    Install:
    DKMS: build completed.
    
            openafs:
            Running module version sanity check.
            ERROR: modinfo: could not open /lib/modules/2.6.32-754.6.3.el6.x
            86_64/weak-updates/openafs.ko: No such file or directory
             - Original module
               - No original module exists within this kernel
             - Installation
               - Installing to /lib/modules/2.6.32-754.6.3.el6.x86_64/extra/
            Adding any weak-modules
            WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6
            4/weak-updates/openafs.ko: No such file or directory
            egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open
            afs.ko: No such file or directory
    
    Remove
            Status: Before uninstall, this module version was ACTIVE on this
            kernel.
            Removing any linked weak-modules
            rmdir: failed to remove `.': Invalid argument
            WARNING: Can't read module /lib/modules/2.6.32-754.6.3.el6.x86_6
            4/weak-updates/openafs.ko: No such file or directory
            egrep: /lib/modules/2.6.32-754.6.3.el6.x86_64//weak-updates/open
            afs.ko: No such file or directory
    
            openafs.ko:
             - Uninstallation
               - Deleting from:/lib/modules/2.6.32-754.6.3.el6.x86_64/extra/
             - Original module
               - No original module was found for this module on this kernel
               - Use the dkms install command to reinstall any previous
               module version.
    
    Background:
    
    Commit 1c96127e37c0ec41c7a30ea3e4aa68f3cc8a24f6 standardized the
    location where the openafs.ko module is installed (from
    /kernel/3rdparty to /extra/).  The RPM Spec file was not updated to
    build the dkms.conf file with the corrected location.
    
    From the documentation for dkms
    
     DEST_MODULE_LOCATION is ignored on Fedora Core 6 and higher, Red Hat
     Enterprise Linux 5 and higher, Novell SuSE Linux Enterprise Server 10
     and higher, Novell SuSE Linux 10.0 and higher, and Ubuntu.  Instead,
     the proper distribution-specific directory is used.
    
    However the DEST_MODULE_LOCATION is still used saving and restoring old
    copies of the module.
    
    The NO_WEAK_MODULES parameter prevents dkms from creating a symlink into
    weak-updates directory, which can lead to broken symlinks when
    dkms-openafs is removed.  The weak modules facility was designed to
    eliminate the need to rebuild kernel modules when kernel upgrades occur
    and relies on the symbols within the kABI.  Openafs uses symbols that
    are outside the kABI, and therefor is not a candidate for a weak module.
    
    Reviewed-on: https://gerrit.openafs.org/13404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a28f9d28aef18936eb0ea02491ce64c72eeb1fe9)
    
    Change-Id: Ia32856c85eb61e2f023e3ae970c945aa529682ce
    Reviewed-on: https://gerrit.openafs.org/13438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit bf4d7ed224738b7e04b236e2d515770b6c7f8c40
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Oct 1 17:44:22 2018 -0400

    auth: check if argument of afsconf_Close* is null
    
    Currently, we do not check if the argument of afsconf_Close /
    afsconf_CloseInternal is equal to null. In order to avoid a possible
    segmentation fault, add the checks.
    
    Reviewed-on: https://gerrit.openafs.org/13352
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit bd58bb85004a18bb6681ff2b0c13a04e23c4d9c4)
    
    Change-Id: I6a99b559ab863c8485af9ec17c940b64cf844acf
    Reviewed-on: https://gerrit.openafs.org/13372
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 82f9557c43f239c22fe1cb33d970392fdd049e29
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Sep 11 15:59:41 2018 -0400

    budb: SBUDB_FindLatestDump should check result of FillDumpEntry
    
    FillDumpEntry may return an error, but FindLatestDump doesn't check its
    result.  Therefore, SBUDB_FindLatestDump may return invalid results.
    
    Instead, check the return code from FillDumpEntry and abort the call if
    it fails.
    
    Reviewed-on: https://gerrit.openafs.org/13312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2d8045d67686fbb80696b47b4a60e48e7e74fec9)
    
    Change-Id: I47328fc61c492c82ae5e0cce8ca3a292706c7413
    Reviewed-on: https://gerrit.openafs.org/13329
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit af0636ac6f69a6f82f4fe7ab1895f4559a55c34b
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Wed Jun 6 21:23:14 2018 -0400

    rx: reset packet header userStatus field on reuse
    
    OpenAFS Rx fails to set the rx packet header userStatus field for most
    packets sent other than type RX_PACKET_TYPE_ACK.  If the userStatus
    field is not set, its value will be random garbage based upon the
    prior use of the memory allocated to the rx_packet.
    
    This change explicitly sets the userStatus field to zero for all
    DATA and Special packet types.
    
    Background
    ----------
    
    OpenAFS Rx allocates a pool of rx_packet structures that are reused
    for both incoming and outgoing Rx packets throughout the lifetime
    of the process (or kernel module).
    
    The rx packet header field userStatus is set by rxi_Send() to
    rx_call.localStatus.  rxi_Send() is called from both rxi_SendAck()
    when sending RX_PACKET_TYPE_ACK packets and from rxi_SendSpecial()
    when called with a non-NULL call structure (RX_PACKET_TYPE_BUSY,
    RX_PACKET_TYPE_ACKALL, or RX_PACKET_TYPE_ABORT).  rx_call.localStatus
    defaults to zero and can be modified by the application calling
    rx_SetLocalStatus().
    
    The userStatus field is neither set nor reset when sending
    RX_PACKET_TYPE_DATA packets and all packets sent without a call
    structure.  When allocated packets are reused in these cases, the
    value of the userStatus leaks from the prior packet use.  The
    userStatus field is expected to be zero unless intentionally set by
    the application protocol to another value.
    
    The AFS3 suite of rx services uses the rx_header.userStatus field
    only in the RXAFS service and only as part of the definition
    for RXAFS_StoreData and RXAFS_StoreData64 RPCs.  The StoreData RPCs
    use the rx_header.userStatus field as an out-of-band communication
    mechanism that permits the fileserver to signal to the cache manager
    when the RXAFS_StoreData[64] has been assigned to an application
    worker (thread) and the worker has acquired all of the required locks
    and other resources necessary to complete the RPC.  This signal can be
    sent before all of the application data has been received.  The cache
    manager reads the userStatus value via rx_GetRemoteStatus().  When
    bit-0 of the remote status value equals one and CSafeStore mode is
    disabled, the cache manager can wakeup any threads blocked waiting for
    the store operation to complete.
    
    Cache managers that perform a workload heavy in RXAFS_StoreData[64] RPCs
    will end up with an increasing percentage of packets in which the
    userStatus field is one instead of zero.
    
    Fileservers processing a workload heavy in RXAFS_StoreData[64] RPCs
    will likewise end up with an increasing percentage of packets in which
    the userStatus field is one instead of zero.
    
    Cache managers and Fileservers will therefore send DATA and call free
    special packets with a non-zero userStatus field to peer services
    (RXAFS, RXAFSCB, VL, PR).
    
    The failure to reset the userStatus field has not been a problem in
    the past because only the OpenAFS cache manager has ever queried the
    userStatus via rx_GetRemoteStatus() and only when issuing
    RXAFS_StoreData[64] RPCs.
    
    Failure to correct this flaw interferes with future use of the userStatus
    field in yet to be registered AFS3 RPCs and existing non-AFS3 services
    that make use of the userStatus when sending data to a service.
    
    FIXES: 134554
    Reviewed-on: https://gerrit.openafs.org/13165
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    
    (cherry picked from commit c553170bcf3b97ba3745f21040c8e07b128ef983)
    
    Change-Id: I4e3c7fea876225ec401988a16b21ed3bb0760ee0
    Reviewed-on: https://gerrit.openafs.org/13332
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 6b119a79a0dce1448e21cc14be8aa1db823f6513
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Sat Mar 24 01:22:54 2018 -0400

    volser: DoVolDelete returning VNOVOL is success
    
    When moving, copying or releasing volumes, do not treat a failure
    to delete a volume because the volume no longer exists as an error.
    The volume clone has flags
    
      VTDeleteOnSalvage | VTOutOfService
    
    assigned to it which means that the fileserver won't attach the volume
    and volume has its deleteMe field assigned the value of DESTROY_ME.
    Such a volume will be deleted the next time the salvager scans the
    partition.  Once the transaction is complete the volume might be
    removed.
    
    Reviewed-on: https://gerrit.openafs.org/12976
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 328590dc5669cae3db6c509871b612b0384ea33d)
    
    Change-Id: Iea98049a3948b75a5e7c13c068add663c9276515
    Reviewed-on: https://gerrit.openafs.org/13235
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6f41efd6c85d4d759bc2fc6d6e787fc8dbe1e1c0
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sun Sep 30 17:38:53 2018 -0400

    macos: packaging support for MacOS X 10.14
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 10.14 "Mojave".
    
    Reviewed-on: https://gerrit.openafs.org/13349
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2aeabf8c5bca22b400653e2bc88b6f36d47b05ca)
    
    Change-Id: Ia271ca69d8102a93da50c59e2d92d3c803a13b0e
    Reviewed-on: https://gerrit.openafs.org/13413
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 170dd4a6a2ac7a08e4c94e82e664dcfd5816bbbf
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Sep 26 00:18:38 2018 -0300

    macos: add support for MacOS 10.14
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 10.14 "Mojave".
    
    Reviewed-on: https://gerrit.openafs.org/13348
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 72b2670a9e2e3937ed4e47485b9e9fa6953b5444)
    
    Change-Id: Ida25278d68d875a630af1d916d2d6add9b6c1f9e
    Reviewed-on: https://gerrit.openafs.org/13412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 318330ca51a3ba780471f4c05221be1f8e3897d1
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Aug 17 18:48:08 2018 -0400

    volser: ensure GCTrans transaction walk remains valid
    
    Commit bc56f5cc97a982ee29219e6f258b372dbfe1a020 ("volser: Delete
    timed-out temporary volumes") introduced new logic to GCTrans().
    Unfortunately, part of this logic temporarily drops VTRANS_LOCK in order
    to call VPurgeVolume().  While this lock is dropped, other volser_trans
    may be added or deleted from the allTrans list.  Therefore, GCTrans
    should not trust the next pointer (nt = tt->next) which was obtained
    before the lock was dropped.
    
    One symptom observed in the field was a segfault while examining
    tt->volume.  Neither tt nor volume were valid any longer, since tt had
    been set from a stale nt at the top of the loop.
    
    To repair, improve, and clarify this logic:
    - Refactor so nt is assigned correctly and as late as possible.
    - Add comments to explain the placement of the assigns to future
    maintainers.
    
    Reviewed-on: https://gerrit.openafs.org/13286
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 930d8ee638112ca8bf27a9528c0a527cfab54c7d)
    
    Change-Id: I9ed2c0440b03137cb0e0ef536167be9535c90dbb
    Reviewed-on: https://gerrit.openafs.org/13337
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b0920d0a07a2aec55269002960bc71a9a9b99411
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Sep 6 14:09:26 2018 -0400

    volser: combine GCTrans conditional clauses
    
    In preparation for a future commit, combine two conditional clauses in
    GCTrans().
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 95b0641ad8cfd0358576c6e1a93266fc59ecf710)
    
    Change-Id: If808a00cf935235cdeb20bf73f03ad235f8b2c39
    Reviewed-on: https://gerrit.openafs.org/13336
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a19404d0903e1a015b71c8f23d1bb045e080c81d
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Oct 26 09:12:44 2018 -0400

    viced: fix typo in help for option -unsafe-nosalvage
    
    Reviewed-on: https://gerrit.openafs.org/13367
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 84b3e1c43685862c147603627a020a68650d6e1c)
    
    Change-Id: Ie264fbd0064a3e22b1c474cea59040ecb0804b73
    Reviewed-on: https://gerrit.openafs.org/13411
    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 0b1f77b4563a2ea5484a403d6c838ff06aeecdb0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 15 15:41:24 2018 -0500

    afs: remove dead code afs_osi_SetTime
    
    afs_osi_SetTime() has been dead code since -settime support was removed
    with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove
    -settime/RXAFS_GetTime client support'.
    
    Remove the dead code.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13393
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 16b981ec6697b511c36c09adfeb8b79eaf2345b0)
    
    Change-Id: I3fa92cbe1598703b4eddd78e4c7afdc04c525750
    Reviewed-on: https://gerrit.openafs.org/13407
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 5a77ac9a3a0ce6114b6b4b2ccd9cd8d51154530c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 15 15:31:37 2018 -0500

    Linux 4.20: do_settimeofday is gone
    
    With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038:
    remove unused time interfaces', do_settimeofday() is gone.
    
    However, OpenAFS only calls do_settimeofday() from afs_osi_SetTime(),
    which has been dead code since -settime support was removed from afsd
    with commit 1d9888be486198868983048eeffabdfef5afa94b 'Remove
    -settime/RXAFS_GetTime client support'.
    
    Instead of fixing afs_osi_SetTime() to use a current Linux API, remove
    it as dead code.
    
    No functional change is incurred by this commit.  However, this change
    is required in order to build OpenAFS on Linux 4.20.
    
    Reviewed-on: https://gerrit.openafs.org/13392
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit aa80f892ec39e2984818090a6bb2047430836ee2)
    
    Change-Id: I7f5ee9c21bc87cd261d87126bc3848d941ff5409
    Reviewed-on: https://gerrit.openafs.org/13406
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 7fb6d488156e673e78b462faf93f2c5b2214fe59
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Nov 13 11:20:09 2018 -0500

    Linux 4.20: current_kernel_time is gone
    
    With Linux commit 976516404ff3fab2a8caa8bd6f5efc1437fed0b8 'y2038:
    remove unused time interfaces' (4.20-rc1), current_kernel_time() has
    been removed.
    
    Many y2038-compliant time APIs were introduced with Linux commit
    fb7fcc96a86cfaef0f6dcc0665516aa68611e736 'timekeeping: Standardize on
    ktime_get_*() naming' (4.18).  According to
    Documentation/core-api/timekeeping.rst, a suitable replacement for:
    
      struct timespec current_kernel_time(void)
    
    would be:
    
      void ktime_get_coarse_real_ts64(struct timespec64 *ts))
    
    Add an autoconf test and equivalent logic to deal.
    
    Reviewed-on: https://gerrit.openafs.org/13391
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3c454b39d04f4886536267c211171dae30dc0344)
    
    Change-Id: I3f00cf4bd3a1ffb7c90e3920113964d74c6df403
    Reviewed-on: https://gerrit.openafs.org/13405
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit fc9211be1b242e7026a679a41e5f53f3b4a7e818
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 7 17:08:26 2018 -0500

    afs: Return memcache allocation errors
    
    During cache initialization, we can fail to allocate our dcache
    entries for memcache. Currently when this happens, we just log a
    message and try to disable dcache access. However, this results in at
    least one code path that causes a panic anyway during startup, since
    afs_CacheTruncateDaemon will try to trim the cache, and afs_GetDownD
    will call afs_MemGetDSlot, and we cannot find the given dslot.
    
    To avoid this, change our cache initialization to return an error,
    instead of trying to continue without a functional dcache. This causes
    afs_dcacheInit to return an error in this case, and by extension
    afs_CacheInit and the AFSOP_CACHEINIT syscall. Also change afsd to
    actually detect errors from AFSOP_CACHEINIT, and to bail out when it
    does.
    
    Thanks to gsgatlin@ncsu.edu for reporting the relevant panic.
    
    Reviewed-on: https://gerrit.openafs.org/13273
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0da5ac4d9fb2a9b46c7415403a3cd26e711554e2)
    
    Change-Id: I00b0d3dac1f4d8edc46389fe3c59501fd23c18f8
    Reviewed-on: https://gerrit.openafs.org/13307
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit eca7ade855e0f9b14d0bb763be2d2d3e925dcd86
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 30 19:38:57 2018 -0500

    CellServDB update 14 May 2018
    
    Update all three copies in the tree, and the rpm specfile.
    
    Reviewed-on: https://gerrit.openafs.org/13134
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4a2b5101afda24b2d937e7350ca35b0b3d3c4af8)
    
    Change-Id: I47dad888b71c798132f2841375f9ebb2f6b263f7
    Reviewed-on: https://gerrit.openafs.org/13409
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 39272929fc528a4c6af05e74b98518a3bae18462
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 10 16:22:52 2018 -0500

    ubik: Buffer log writes with stdio
    
    Currently, when we write ubik i/o operations to the db log, we tend to
    issue several syscalls involving small writes and fstat()s. This is
    because each "log" operation involves at least one write, and each log
    operation tends to be pretty small.
    
    Each logged operation hitting disk separately is unnecessary, since
    the db log does not need to hit the disk at all until we are ready to
    commit the transaction. So to reduce the number of syscalls when
    writing to the db, change our log writes to be buffered in memory
    (using stdio calls). This also avoids needing to fstat() the
    underlying log file, since we open the underlying file in append-only
    mode, since we only ever append to (and truncate) the log file.
    
    To implement this, we introduce a new 'buffered_append' phys
    operation, to explicitly separate our buffered and non-buffered
    operations, to try to avoid any bugs from mixing buffered and
    non-buffered i/o. This new operation is only used for the db log.
    
    Reviewed-on: https://gerrit.openafs.org/13070
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 800318b43fdf461ad95cd7f3940718f3f0a609a7)
    
    Change-Id: Ia40d75e7bdeb6a9f6c316aaea6fd20d5c8d80625
    Reviewed-on: https://gerrit.openafs.org/13353
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b71f75cad51cf58260d0593635d66dd367a2af1a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 4 15:42:14 2018 -0400

    ubik: make ContactQuorum_* routines static
    
    Most of the ContactQuorum_* routines are only used in ubik.c, so make
    them all static - except for ContactQuorum_DISK_SetVersion, which is
    called from disk.c.
    
    Reviewed-on: https://gerrit.openafs.org/13078
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 27d7b8fe4603c39362983758fe6a749fa5ffa4e5)
    
    Change-Id: I70721aef02f5f2e203c1877428c46c49ea1cb7c9
    Reviewed-on: https://gerrit.openafs.org/13188
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 88db0996e3287a62e519ef4cc09f0b8516f6a9b9
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 9 16:50:55 2018 -0400

    ubik: remove unused ContactQuorum_DISK_Write
    
    This function is not used; remove it.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13077
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8b1e730c11a6ed7dc067ef185302bd57a69f6d1e)
    
    Change-Id: I548e2442684a26ab017afebb1c42bdef9bd7c7bf
    Reviewed-on: https://gerrit.openafs.org/13187
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 10157d82c3e8f7cbdec768d92119ed5be126b844
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 14 15:01:18 2018 -0400

    ubik: do not assign variables in logging argument lists
    
    Several logging statements in ubik contain an assignment statement
    within the logging function call argument list, which would set a
    variable as side effect of evaluating the function call arguments.
    
    These embedded assignments are problematic since the logging function
    calls have been replaced by ViceLog macros, which avoid the overhead of
    a function call depending on logging levels.
    
    Remove the embedded assignments within the logging argument lists so the
    variables are always set regardless of the logging level.
    
    Reviewed-on: https://gerrit.openafs.org/13211
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 472d6b1ee2f7de415e0fa0f8be0636f86956b6fc)
    
    Change-Id: I230f71022a58445c99adc67ae1b888caa4ce260e
    Reviewed-on: https://gerrit.openafs.org/13218
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit b9603bfb27c3c1d5ae90ed68545a4dd9fe9da862
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon May 8 17:50:00 2017 -0400

    ubik: disambiguate "Synchonize database with server" msgs
    
    Ubik issues the same message in two very different cases:
    - sync server issues DISK_GetFile to obtain the latest version
    - non-sync server receives DISK_SendFile from the sync server
    
    Modify the messages so they provide more information and are
    distinguishable from each other.
    
    Reviewed-on: https://gerrit.openafs.org/12615
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b9fe4d4290ad19faf3b5fb5dc0c3b1ee3ee5ab69)
    
    Change-Id: I806c2ce5ada097b07022d8c4da81f613a3f9989c
    Reviewed-on: https://gerrit.openafs.org/13186
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 354fef1f0af9272cd5bf1e8a6466a3b727dcc08d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 25 11:06:11 2016 -0400

    ubik: convert ubik_print to ViceLog
    
    Use the server logging macros instead of the utility functions to avoid
    function call overhead, especially at logging level 25.  The server
    logging macros perform a logging level check in-line to avoid the
    unnecessary ubik_dprint* calls.
    
    Reviewed-on: https://gerrit.openafs.org/12619
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 343234d221ae8388f55748f5c494a42d5d69bfa0)
    
    Change-Id: Icdb60f75a0c6c6efc7793d545f0565c0cd587eae
    Reviewed-on: https://gerrit.openafs.org/13153
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3143627f9b7f91743a85cd8fd8f00f913a31f17c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Sep 11 16:29:59 2018 -0400

    butc: repair build error
    
    Commit c43169fd36348783b1a5a55c5bb05317e86eef82 introduced a build error
    by invoking TLog with an extraneous set of internal parentheses.
    
    Remove the offending parentheses.
    
    Reviewed-on: https://gerrit.openafs.org/13311
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 91bab84e7a3b7de2591c475ba4912b0db8899f05)
    
    Change-Id: I06df561daf37330e6fdd9c9d41b55daa4d6b3886
    Reviewed-on: https://gerrit.openafs.org/13328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit a33cb937ba5dc4c60c9dc7ac61d9796f0a96755f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 10 22:18:34 2018 -0500

    Make OpenAFS 1.8.2
    
    Update version strings for the 1.8.2 release.
    
    Change-Id: I90e59f3a8c930d80eab46b405050e11ea2fc2fe1

commit aecb8aef7074910838d639d75f46e5515baffc35
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 10 20:26:20 2018 -0500

    Update NEWS for 1.8.2
    
    Release notes for the OpenAFS 1.8.2 security release.
    
    Change-Id: If447b08cc3b3901da22eeb92a2e75bf2ab476633

commit 90601818205aeefd1cf99b8766a7bfd03bf9b96a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 11 10:51:01 2018 -0500

    Fix typos in audit format strings
    
    Commit 9ebff4c6caa8b499d999cfd515d4d45eb3179769 introduced audit
    framework support for several butc-related data types, but had
    a typo ('$d' for '%d') in a couple of places, that was not reported
    by compiler format-string checking.  Fix the typo to properly print
    all the auditable data.
    
    (cherry picked from commit d5816fd6cd1876760a985a817dbbb3940cf3bddb)
    
    Change-Id: Iaea64ab0fe422381c298d94eff201c3525bd00c2

commit ed217df4b23e111d4b12e7236bdf6f8ab5575952
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Sep 9 10:44:38 2018 -0500

    OPENAFS-SA-2018-001 backup: use authenticated connection to butc
    
    Use the standard routine to pick a client security object, instead of
    always assuming rxnull.  Respect -localauth as well as being able to
    use the current user's tokens, but also provide a -nobutcauth argument
    to fall back to the historical rxnull behavior (but only for the connections
    to butc; vldb and budb connections are not affected).
    
    (cherry picked from commit 345ee34236c08a0a2fb3fff016edfa18c7af4b0a)
    
    Change-Id: I1e5e0e38d4003020db5875609db08194f7684bb7

commit 1b199eeafad6420982380ce5e858f00c528cfd13
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Sep 6 18:50:39 2018 -0500

    OPENAFS-SA-2018-001 butc: require authenticated connections with -localauth
    
    The butc -localauth option is available to use the cell-wide key to
    authenticate to the vlserver and buserver, which in normal deployments
    will require incoming connections to be authenticated as a superuser.
    In such cases, the cell-wide key is also available for use in
    authenticating incoming connections to the butc, which would otherwise
    have been completely unauthenticated.
    
    Because of the security hazards of allowing unauthenticaed inbound
    RPCs, especially ones that manipulate backup information and are allowed
    to initiate outboud RPCs authenticated as the superuser, default to
    not allowing unauthenticated inbound RPCs at all.  Provide an opt-out
    command-line argument for deployments that require this functionality
    and have configured their network environment (firewall/etc.) appropriately.
    
    Change-Id: Ia6349757a4c6d59d1853df1a844e210d32c14feb

commit 6f8c0c8134de1b5358ec56878e350aeab31aa3cd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Sep 9 11:49:03 2018 -0500

    OPENAFS-SA-2018-001 Add auditing to butc server RPC implementations
    
    Make the actual implementations into helper functions, with the RPC
    stubs calling the helpers and doing the auditing on the results, akin
    to most other server programs in the tree.  This relies on support for
    some additional types having been added to the audit framework.
    
    (cherry picked from commit c43169fd36348783b1a5a55c5bb05317e86eef82)
    
    Change-Id: Ia90c355bfded24820ae3b5c014e948e28eac6356

commit 41d2dd569a365465ac47da3cd39eceba4beaeaf3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Sep 8 19:42:36 2018 -0500

    OPENAFS-SA-2018-001 audit: support butc types
    
    Add support for several complex butc types to enable butc auditing.
    
    Change-Id: I6aedd933cf5330cda40aae6f33827ae65409df32

commit 7eb650a6edd96e3c7e68f170945ddcdac8b67975
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Sep 8 20:35:25 2018 -0500

    OPENAFS-SA-2018-001 butc: remove dummy osi_audit() routine
    
    This local stub was present in the original IBM import and is unused.
    It will conflict with the real audit code once we start adding auditing
    to the TC_ RPCs, so remove it now.
    
    (cherry picked from commit 50216dbbc30ed94f89bdd0e964f4891e87f28c0b)
    
    Change-Id: I63db513bb107ef47da77f13b27cdf5d24b4a24b4

commit 2cf5cfa8561047e855fed9ab35d1a041e309e39a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 6 03:14:19 2018 -0400

    OPENAFS-SA-2018-003 rxgen: prevent unbounded input arrays
    
    RPCs with unbounded arrays as inputs are susceptible to remote
    denial-of-service (DOS) attacks.  A malicious client may submit an RPC
    request with an arbitrarily large array, forcing the server to expend
    large amounts of network bandwidth, cpu cycles, and heap memory to
    unmarshal the input.
    
    Instead, issue an error message and stop rxgen when it detects an RPC
    defined with an unbounded input array.  Thus we will detect the problem
    at build time and prevent any future unbounded input arrays.
    
    (cherry picked from commit a4c1d5c48deca2ebf78b1c90310b6d56b3d48af6)
    
    Change-Id: I4c60c4776d7f02ea9790b76b49e7325d9c55f31d

commit fe41fa565be6e325da75f3e9b8fbdac2c521b027
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 6 03:21:26 2018 -0400

    OPENAFS-SA-2018-003 volser: prevent unbounded input to various AFSVol* RPCs
    
    Several AFSVol* RPCs are defined with an unbounded XDR "string" as
    input.
    
    RPCs with unbounded arrays as inputs are susceptible to remote
    denial-of-service (DOS) attacks.  A malicious client may submit an
    AFSVol* request with an arbitrarily large string, forcing the volserver
    to expend large amounts of network bandwidth, cpu cycles, and heap
    memory to unmarshal the input.
    
    Instead, give each input "string" an appropriate size.
    Volume names are inherently capped to 32 octets (including trailing NUL)
    by the protocol, but there is less clearly a hard limit on partition names.
    The Vol_PartitionInfo{,64} functions accept a partition name as input and
    also return a partition name in the output structure; the output values
    have wire-protocol limits, so larger values could not be retrieved by clients,
    but for denial-of-service purposes, a more generic PATH_MAX-like value seems
    appropriate.  We have several varying sources of such a limit in the tree, but
    pick 4k as the least-restrictive.
    
    [kaduk@mit.edu: use a larger limit for pathnames and expand on PATH_MAX in
    commit message]
    
    (cherry picked from commit 8b92d015ccdfcb70c7acfc38e330a0475a1fbe28)
    
    Change-Id: Ifa591dfd861688d4d7eb43145b29a1739c6e0f6f

commit fac3749f0d180e0ca229326c0e8568a60e17d3e9
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jul 6 01:09:53 2018 -0400

    OPENAFS-SA-2018-003 volser: prevent unbounded input to AFSVolForwardMultiple
    
    AFSVolForwardMultiple is defined with an input parameter that is defined
    to XDR as an unbounded array of replica structs:
      typedef replica manyDests<>;
    
    RPCs with unbounded arrays as inputs are susceptible to remote
    denial-of-service (DOS) attacks.  A malicious client may submit an
    AFSVolForwardMultiple request with an arbitrarily large array, forcing
    the volserver to expend large amounts of network bandwidth, cpu cycles,
    and heap memory to unmarshal the input.
    
    Even though AFSVolForwardMultiple requires superuser authorization, this
    attack is exploitable by non-authorized actors because XDR unmarshalling
    happens long before any authorization checks can occur.
    
    Add a bounding constant (NMAXNSERVERS 13) to the manyDests input array.
    This constant is derived from the current OpenAFS vldb implementation, which
    is limited to 13 replica sites for a given volume by the layout (size) of the
    serverNumber, serverPartition, and serverFlags fields.
    
    [kaduk@mit.edu: explain why this constant is used]
    
    (cherry picked from commit 97b0ee4d9c9d069e78af2e046c7987aa4d3f9844)
    
    Change-Id: I49945ce1fd5979eadf6d5b310dc6d8c68f6f8dc7

commit 87f199c14199afa29f75bb336383564f0fb4548a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jul 5 23:51:37 2018 -0400

    OPENAFS-SA-2018-003 budb: prevent unbounded input to BUDB_SaveText
    
    BUDB_SaveText is defined with an input parameter that is defined to XDR
    as an unbounded array of chars:
       typedef char charListT<>;
    
    RPCs with unbounded arrays as inputs are susceptible to remote
    denial-of-service (DOS) attacks.  A malicious client may submit a
    BUDB_SaveText request with an arbitrarily large array, forcing the budb
    server to expend large amounts of network bandwidth, cpu cycles, and
    heap memory to unmarshal the input.
    
    Modify the XDR definition of charListT so it is bounded.  This typedef
    is shared (as an OUT parameter) by BUDB_GetText and BUDB_DumpDB, but
    fortunately all in-tree callers of the client routines specify the same
    maximum length of 1024.
    
    Note: However, SBUDB_SaveText server implementation seems to allow for up to
    BLOCK_DATA_SIZE (2040) = BLOCKSIZE (2048) - sizeof(struct blockHeader)
    (8), and it's unknown if any out-of-tree callers exist.  Since we do not need a
    tight bound in order to avoid the DoS, use a somewhat higher maximum of
    4096 bytes to leave a safety margin.
    
    [kaduk@mit.edu: bump the margin to 4096; adjust commit message to match]
    
    (cherry picked from commit 124445c0c47994f5e2efef30e86337c3c8ebc93f)
    
    Change-Id: Ic34f8f9e7484b7503a223509d5d61b72e1298b35

commit 4218dc0a2db75c740d1d31966e672f85ad7999bd
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jul 5 21:11:30 2018 -0400

    OPENAFS-SA-2018-003 vlserver: prevent unbounded input to VL_RegisterAddrs
    
    VL_RegisterAddrs is defined with an input argument of type bulkaddrs,
    which is defined to XDR as an unbounded array of afs_uint32 (IPv4 addresses):
      typedef afs_uint32 bulkaddrs<>
    
    The <> with no value instructs rxgen to build client and server stubs
    that allow for a maximum size of "~0u" or 0xFFFFFFFF.
    
    Ostensibly the bulkaddrs array is unbounded to allow it to be shared
    among VL_RegisterAddrs, VL_GetAddrs, and VL_GetAddrsU.  The VL_GetAddrs*
    RPCs use bulkaddrs as an output array with a maximum size of MAXSERVERID
    (254). VL_RegisterAddrss uses bulkaddrs as an input array, with a
    nominal size of VL_MAXIPADDRS_PERMH (16).
    
    However, RPCs with unbounded array inputs are susceptible to remote
    denial-of-service attacks.  That is, a malicious client may send a
    VL_RegisterAddrs request with an arbitrarily long array, forcing the
    vlserver to expend large amounts of network bandwidth, cpu cycles, and
    heap memory to unmarshal the argument.  Even though VL_RegisterAddrs
    requires superuser authorization, this attack is exploitable by
    non-authorized actors because XDR unmarshalling happens long before any
    authorization checks can occur.
    
    Because all uses of the type that our implementation support have fixed
    bounds on valid data (whether input or output), apply an arbitrary
    implementation limit (larger than any valid structure would be), to
    prevent this class of attacks in the XDR decoder.
    
    [kaduk@mit.edu: limit the bulkaddrs type instead of introducing a new type]
    
    (cherry picked from commit 7629209219bbea3f127b33be06ac427ebc3a559e)
    
    Change-Id: I1726a834eb98b7e06285bac78a74e20bbedb9ce8

commit 418b2ab56c60e44375df31a3a8f77461d577a5ff
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Aug 30 10:38:56 2018 -0500

    OPENAFS-SA-2018-002 butc: Initialize OUT scalar value
    
    In STC_ReadLabel, the interaction with the tape device is
    synchronous, so there is no need to allocate a task ID for status
    monitoring.  However, we do need to initialize the output value,
    to avoid writing stack garbage on the wire.
    
    (cherry picked from commit f5a80115f8f7f9418287547f0fc7fdb13d936f00)
    
    Change-Id: I3f5ea1cfff0d04adb49cdca7b05ac869665660e5

commit 0ee86cc3f986365df9de21ede5735cc1f40db7e5
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 06:01:16 2018 -0400

    OPENAFS-SA-2018-002 ubik: prevent VOTE_Debug, VOTE_XDebug information leak
    
    VOTE_Debug and VOTE_XDebug (udebug) both leave a single field
    uninitialized if there is no current transaction.  This leaks the memory
    contents of the ubik server over the wire.
    
    struct ubik_debug
    - 4 bytes in member writeTrans
    
    In common code to both RPCs, ensure that writeTrans is always
    initialized.
    
    [kaduk@mit.edu: switch to memset]
    
    (cherry picked from commit 7a7c1f751cdb06c0d95339c999b2c035c2d2168b)
    
    Change-Id: I2759989bf1a5190f9f03621218224c47094a88b7

commit c912830e9c82d91bccf85018ef1e6a75edc410c4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 05:26:21 2018 -0400

    OPENAFS-SA-2018-002 kaserver: prevent KAM_ListEntry information leak
    
    KAM_ListEntry (kas list) does not initialize its output correctly.  It
    leaks kaserver memory contents over the wire:
    
    struct kaindex
    - up to 64 bytes for member name
    - up to 64 bytes for member instance
    
    Initialize the buffer.
    
    [kaduk@mit.edu: move initialization to top of server routine]
    
    (cherry picked from commit b604ee7add7be416bf20973422a041e913d20761)
    
    Change-Id: Ic40bb2d5af409399c11a378340ba92174e26112f

commit 43b3efd4f8cd3227b2b24ff673adeb834f6a3f0b
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 05:12:32 2018 -0400

    OPENAFS-SA-2018-002 butc: prevent TC_DumpStatus, TC_ScanStatus information leaks
    
    TC_ScanStatus (backup status) and TC_GetStatus (internal backup status
    watcher) do not initialize their output buffers.  They leak memory
    contents over the wire:
    
    struct tciStatusS
    - up to 64 bytes in member taskName (TC_MAXNAMELEN 64)
    - up to 64 bytes in member volumeName  "
    
    Initialize the buffers.
    
    [kaduk@mit.edu: move initialization to top of server routines]
    
    (cherry picked from commit be0142707ca54f3de99c4886530e7ac9f48dd61c)
    
    Change-Id: I7a97ad1dbab004938085b401929d4925d80ff3b2

commit b7e53b9e9706d63215a1804ed9eca30d69461f03
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 05:00:25 2018 -0400

    OPENAFS-SA-2018-002 butc: prevent TC_ReadLabel information leak
    
    TC_ReadLabel (backup readlabel) does not initialize its output buffer
    completely.  It leaks butc memory contents over the wire:
    
    struct tc_tapeLabel
    - up to 32 bytes from member afsname (TC_MAXTAPELEN 32)
    - up to 32 bytes from member pname (TC_MAXTAPELEN 32)
    
    Initialize the buffer.
    
    [kaduk@mit.edu: move initialization to the RPC stub]
    
    (cherry picked from commit 52f4d63148323e7d605f9194ff8c1549756e654b)
    
    Change-Id: Ia5d9dd649bdbd45c8b201f344bf55080a55e3392

commit 6f26a945adeca87b669282eed0eaca3dca0a1423
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 04:39:44 2018 -0400

    OPENAFS-SA-2018-002 budb: prevent BUDB_* information leaks
    
    The following budb RPCs do not initialize their output correctly.
    This leaks buserver memory contents over the wire:
    
    BUDB_FindLatestDump (backup dump)
    BUDB_FindDump (backup volrestore, diskrestore, volsetrestore)
    BUDB_GetDumps (backup dumpinfo)
    BUDB_FindLastTape (backup dump)
    
    struct budb_dumpEntry
    - up to 32 bytes in member volumeSetName
    - up to 256 bytes in member dumpPath
    - up to 32 bytes in member name
    - up to 32 bytes in member tape.tapeServer
    - up to 32 bytes in member tape.format
    - up to 256 bytes in member dumper.name
    - up to 128 bytes in member dumper.instance
    - up to 256 bytes in member dumper.cell
    
    Initialize the buffer in common routine FillDumpEntry.
    
    (cherry picked from commit e96771471134102d3879a0ac8b2c4ef9d91a61b8)
    
    Change-Id: I85ec8a21966386baa8243326072e5730726cba96

commit a6557ffa64d8fab3526c4f89629dcbb965a27780
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 03:56:24 2018 -0400

    OPENAFS-SA-2018-002 afs: prevent RXAFSCB_TellMeAboutYourself information leak
    
    RXAFSCB_TellMeAboutYourself does not completely initialize its output
    buffers.  This leaks kernel memory over the wire:
    
    struct interfaceAddr
    Unix cache manager (libafs)
    - up to 124 bytes in array addr_in ((AFS_MAX_INTERFACE_ADDR 32 * 4) - 4))
    - up to 124 bytes in array subnetmask   "
    - up to 124 bytes in array mtu          "
    
    Windows cache manager
    - 64 bytes in array addr_in ((AFS_MAX_INTERFACE_ADDR 32 - CM_MAXINTERFACE_ADDR 16)* 4)
    - 64 bytes in array subnetmask  "
    - 64 bytes in array mtu         "
    
    The following implementations of SRXAFSCB_TellMeAboutYourself are not susceptible:
    - fsprobe
    - libafscp
    - xstat_fs_test
    
    Initialize the buffer.
    
    (cherry picked from commit 211b6d6a4307006da1467b3be46912a3a5d7b20b)
    
    Change-Id: I2fee5cc9c11ea42726c7c8f9a7d14eafee6142f0

commit 3dea4adaa356b7eed40b6162c106c5e90690f5a1
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 03:47:41 2018 -0400

    OPENAFS-SA-2018-002 afs: prevent RXAFSCB_GetLock information leak
    
    RXAFSCB_GetLock (cmdebug) does not correctly initialize its output.
    This leaks kernel memory over the wire:
    
    struct AFSDBLock
    - up to 14 bytes for member name (16 - '<cellname>\0')
    
    Initialize the buffer.
    
    (cherry picked from commit b52eb11a08f2ad786238434141987da27b81e743)
    
    Change-Id: If84c5d9d805356cd56be77313149a931a948b4d5

commit e19ad4cdde463d2bbb4b815525da992bd5fc2648
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 03:37:37 2018 -0400

    OPENAFS-SA-2018-002 ptserver: prevent PR_ListEntries information leak
    
    PR_ListEntries (pts listentries) does not properly initialize its output
    buffers.  This leaks ptserver memory over the wire:
    
    struct prlistentries
    - up to 62 bytes for each entry name (PR_MAXNAMELEN 64 - 'a\0')
    
    Initialize the buffer, and remove the now redundant memset for the
    reserved fields.
    
    (cherry picked from commit 9d1aeb5d761581a35bef2042e9116b96e9ae3bf5)
    
    Change-Id: I679c205502941891cbb34f10e648a6f9d83c3c60

commit 2d22756de7af2c72b8aca6969825f8e921f01d6c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 03:00:02 2018 -0400

    OPENAFS-SA-2018-002 volser: prevent AFSVolMonitor information leak
    
    AFSVolMonitor (vos status) does not properly initialize its output
    buffers.  This leaks information from volserver memory:
    
    struct transDebugInfo
    - up to 29 bytes in member lastProcName (30-'\0')
    - 16 bytes in members readNext, tranmitNext, lastSendTime,
      lastReceiveTime
    
    Initialize the buffers.  This must be done on a per-buffer basis inside
    the loop, since realloc is used to expand the storage if needed,
    and there is not a standard realloc API to zero the newly allocated storage.
    
    [kaduk@mit.edu: update commit message]
    
    (cherry picked from commit 26924fd508b21bb6145e77dc31b6cd0923193b72)
    
    Change-Id: Id10aa1f4d0b8694f6d85468d743c2fc2a8102339

commit 28edf734db08d3a8285e89d9d78aa21db726e4c7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 26 02:33:05 2018 -0400

    OPENAFS-SA-2018-002 volser: prevent AFSVolPartitionInfo(64) information leak
    
    AFSVolPartitionInfo and AFSVolPartitionInfo64 (vos partinfo) do not
    properly initialize their reply buffers.  This leaks the contents of
    volserver memory over the wire:
    
    AFSVolPartitionInfo (struct diskPartition)
    - up to 24 bytes in member name (32-'/vicepa\0'))
    - up to 12 bytes in member devName (32-'/vicepa/Lock/vicepa\0'))
    
    AFSVolPartitionInfo64 (struct diskPartition64)
    - up to 248 bytes in member name (256-'/vicepa\0'))
    - up to 236 bytes in member devName (256-'/vicepa/Lock/vicepa\0')
    
    Initialize the output buffers.
    
    [kaduk@mit.edu: move memset to top-level function scope of RPC handlers]
    
    (cherry picked from commit 76e62c1de868c2b2e3cc56a35474e15dc4cc1551)
    
    Change-Id: I041b91873a38a2af40f5b0a00b70cc87634f25c8

commit c8c8682bb0e84ee5289fac3063119ae524773f61
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Jun 25 18:03:12 2018 -0400

    OPENAFS-SA-2018-002 ptserver: prevent PR_IDToName information leak
    
    SPR_IDToName does not completely initialize the return array of names,
    and thus leaks information from ptserver memory:
    
    - up to 62 bytes per requested id (PR_MAXNAMELEN 64 - 'a\0')
    
    Use calloc to ensure that all memory sent on the wire is initialized,
    preventing the information leak.
    
    [kaduk@mit.edu: switch to calloc; update commit message]
    
    (cherry picked from commit 70b0136d552a0077d3fae68f3aebacd985abd522)
    
    Change-Id: I787fc26ecb6fa64b17f8579198793903bc4eb16d

commit e819a011a9842e640d54a4e6ccc70d1935c39827
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Aug 24 16:15:32 2018 +0200

    Update NEWS for 1.8.1.1
    
    Release notes for the OpenAFS 1.8.1.1 release
    
    Change-Id: I94e0d52c22ca1f7ddfab0f12538a3e32136a3846
    Reviewed-on: https://gerrit.openafs.org/13297
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 9128c17c5e3e3df0ab87d1298078cdeadd9c4ce7
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Aug 24 16:19:07 2018 +0200

    Make OpenAFS 1.8.1.1
    
    Update configure version strings for 1.8.1.1. Note that macos kext
    can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha,
    b beta, f final candidate so we have no way to represent 1.8.1.1.
    Switch to 1.8.2 dev 1 for macOS.
    
    Change-Id: I9a8e9a2f0e2c70599d4c9c95eb8828f31aa35731
    Reviewed-on: https://gerrit.openafs.org/13298
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 554176bd236d772d670df9bdd2496facd5a4209a
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Mon Jul 2 20:36:04 2018 +0000

    LINUX: Update to Linux struct iattr->ia_ctime to timespec64 with 4.18
    
    With 4.18+ Linux kernels we see a transition to 64-bit time stamps by
    default.
    
    current_kernel_time() returns the 32-bit struct timespec.
    current_kernel_time64() returns the 64-bit struct timespec64.
    
    struct iattr->ia_ctime expects struct timespec64 as of 4.18+.
    
    Timestamps greater than 31-bit rollover after 2147483647 or
    January 19, 2038 03:14:07 UTC. This is the same approach taken by
    the Linux developers for converting between timepsec64 and timespec.
    
    Reviewed-on: https://gerrit.openafs.org/13241
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0bc5c15029cf7e720731f1415fcf9dc972d57ef4)
    
    Change-Id: I16f93fd54dd45fe64f0c6fd499bf3adca978e9b1
    Reviewed-on: https://gerrit.openafs.org/13268
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eb107ed5c6dd3a53b8a0593054cdf5a03e1421d7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Jul 28 10:16:37 2018 -0500

    Make OpenAFS 1.8.1
    
    Update version strings for the 1.8.1 release.
    (Note that the version number for Windows for the 1.8.1 prereleases was
    erroneously 1.8.99xx, when it should have been 1.8.00xx to reflect
    "next after 1.8.0-final".)
    
    Change-Id: I2ce32aeae50d80b88cbc3f73f6787e3a15747085
    Reviewed-on: https://gerrit.openafs.org/13266
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8de97842003b7ee0e48c2e853a7d595813aac1e7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Jul 28 10:13:13 2018 -0500

    Update NEWS for 1.8.1
    
    Change-Id: I341cf2a5e02874629ceee2c9e46d4f764e3494fa
    Reviewed-on: https://gerrit.openafs.org/13265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 607eba34dbc049bfad22a2ccc64e105b112739a4
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jul 26 10:30:35 2018 -0700

    redhat: actually remove unused AFS::ukernel man page
    
    Commit 278581c24a802834719e0d57f27978321556c9bb (redhat: package libuafs
    perl bindings) added swig as a build dependency on RHEL 6+/Fedora 15+ to
    build and package AFS::ukernel perl bindings for libuafs.  The man page
    for AFS::ukernel is generated from the pod files unconditionally, so
    needs to be removed from the staging directories when AFS::ukernel is
    not packaged.
    
    Unfortunately, the full path to the staged AFS::ukernel manpage was
    not given in that commit, so the rpmbuild will fail on RHEL 5 with
    the error:
    
            RPM build errors:
            Installed (but unpackaged) file(s) found:
            /usr/share/man/man3/AFS::ukernel.3.gz
    
    Fix this error by specifying the full path to the AFS::ukernel man page
    to actually remove it when we are not packaging AFS::ukernel files.
    
    [mmeffie: updated commit message]
    
    Reviewed-on: https://gerrit.openafs.org/13257
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a85aab9dfe7c2ee9e025bc15d849de2dd0a48913)
    
    Change-Id: If81f930bd7e922cd5e71c0d459751d4bbe85c843
    Reviewed-on: https://gerrit.openafs.org/13264
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6dd052cbab09c95e97c910421cfaf68713e906c5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 26 12:27:12 2018 -0500

    afs: Stop looking for dcaches on Get*DSlot errors
    
    In various places in the code, we'll be looking for a dslot, calling
    afs_GetValidDSlot (or afs_GetUnusedDSlot) in a loop. In a few places,
    we currently keep looking for the dslot when we get an error back,
    since afs_GetValidDSlot may return successfully for other slots, and
    we might find the dslot we're looking for.
    
    This behavior was introduced in a few commits, including:
    
    - commit 2679af76 (afs: Traverse discard/free dslot list if errors)
    - commit 00fd34a6 (afs: Handle easy GetValidDSlot errors)
    - commit 9a558660 (afs: Cope with afs_GetValidDSlot errors)
    
    This behavior means that if afs_GetValidDSlot/afs_GetUnusedDSlot
    returns an error for a particular dcache slot, but other slots are
    okay, then we may still find the dcache we're looking for.
    
    However, by far the most common reason that
    afs_GetValidDSlot/afs_GetUnusedDSlot fails is because our disk cache
    is completely unusable; it is very rare that only a few slots cannot
    be used, but others are fine (this would mean that the disk cache was
    corrupted in oddly specific ways, or there are small isolated errors
    in the underlying disk). So continuing the dcache search in these
    situations is not very useful.
    
    On Linux, this is most commonly seen by the underlying disk cache i/o
    calls returning -EINTR, which can happen if a SIGKILL signal is
    pending for the current process when we try to do the i/o. In this
    situation, all attempts to read in a dslot from disk will fail; trying
    other slots or waiting will not improve the situation. Depending on
    which specific code path encounters an afs_Get*DSlot error, we can
    then flood the log with "disk cache read error in CacheItems" messages
    emitted from afs_UFSGetDSlot, since we keep calling afs_Get*DSlot in
    our loop.
    
    The worst offender of this is usually afs_GetDSlotFromList via
    afs_AllocDCache, since we end up calling afs_GetUnusedDSlot for every
    single dslot in the free and discard lists. However, our other call
    sites that are looking for dcaches for a specific file can still
    generate quite a few of these messages, since we'll end up calling
    afs_GetValidDSlot for every slot in a dcache hash chain.
    
    So to avoid flooding the log in these situations, change most callers
    of afs_GetValidDSlot and afs_GetUnusedDSlot to stop on the first
    error, and act like we never found a dcache that we were looking for.
    
    This commit also adjusts one caller in afs_ProcessOpCreate, which was
    not handling errors from afs_GetValidDSlot at all, and changes
    FlushVolumeData to be able to return error codes.
    
    Reviewed-on: https://gerrit.openafs.org/13034
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 12f4fd2901fee8bf27c2cec97efd3d242c6ff025)
    
    Change-Id: I2a9865e510be39d1b5bcb9280419630036c00bef
    Reviewed-on: https://gerrit.openafs.org/13191
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4b42b490fc1c2223a465981a59914b37773ad84a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 29 15:25:48 2018 -0500

    afs: Make afs_osi_Free(NULL) a no-op
    
    In userspace, we assume that free(NULL) does nothing, which makes
    certain cleanup code paths simpler. This may or may not be true for
    our free() abstractions that can run in the kernel (like afs_osi_Free,
    rxi_Free, etc), which is confusing. To make the higher-level free()
    abstractions more consistent, change afs_osi_Free to guarantee that
    passing a NULL pointer does nothing.
    
    Reviewed-on: https://gerrit.openafs.org/13236
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 7523397333c0f8c6a08312434968d84b8ff56306)
    
    Change-Id: Ifda1bd8c99f128fe01d38fd64dc19afee4c5158f
    Reviewed-on: https://gerrit.openafs.org/13250
    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: Benjamin Kaduk <kaduk@mit.edu>

commit 6fed86775ba9ac7edc9444986c75a60771927411
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 5 17:16:48 2018 -0500

    LINUX: Detect NULL page during write_begin
    
    In afs_linux_write_begin, we call grab_cache_page_write_begin to get a
    page to use for writing data when servicing a write into AFS. Under
    low-memory conditions, this can return NULL if Linux cannot find a
    free page to use. Currently, we always try to reference the page
    returned, and so this causes a BUG.
    
    To avoid this, check if grab_cache_page_write_begin returns NULL, and
    just return -ENOMEM, like other callers of grab_cache_page_write_begin
    do.
    
    Linux's fault injection framework is useful for testing code paths
    like these. The following settings made it possible to
    somewhat-reliably exercise the relevant code path on a test RHEL7
    system:
    
        # grep ^ /sys/kernel/debug/fail_page_alloc/*
        /sys/kernel/debug/fail_page_alloc/ignore-gfp-highmem:Y
        /sys/kernel/debug/fail_page_alloc/ignore-gfp-wait:N
        /sys/kernel/debug/fail_page_alloc/interval:1
        /sys/kernel/debug/fail_page_alloc/min-order:0
        /sys/kernel/debug/fail_page_alloc/probability:100
        /sys/kernel/debug/fail_page_alloc/space:90
        /sys/kernel/debug/fail_page_alloc/task-filter:Y
        /sys/kernel/debug/fail_page_alloc/times:-1
        [...]
    
    Reviewed-on: https://gerrit.openafs.org/13242
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 89e80c354c404dedc0e5197f99710db0e5e08767)
    
    Change-Id: I37b4d1ebb1b76e435bb1c56a76d7e475f47f33de
    Reviewed-on: https://gerrit.openafs.org/13243
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9b04eac509990b8eb0414de5f604ac3456a5bce5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 6 15:22:36 2018 -0400

    vldb_check: write mh entry header flags in network order
    
    Commit 6b93ad695e53a86dbe9eea13bd0ff651e1d8c9b7 fixed a false error
    reported when the vldb contained more than one mh extent blocks.  That
    fix changed the readMH() function to convert the flags field to host
    byte order of all the mh blocks, not just the first block, in order to
    check the value of those flags.
    
    Unfortunately, that commit missed converting non-zero blocks back to
    network byte order in the complementary writeMH() function, which is
    used to write the data back to disk when vldb_check is run with the -fix
    option.
    
    FIXES 134589
    
    Reviewed-on: https://gerrit.openafs.org/13245
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 483cad0121d848836b4155817b86231ef21be27a)
    
    Change-Id: I28afa243c78d0a8a53e13f302d69c17a779837d9
    Reviewed-on: https://gerrit.openafs.org/13246
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 38a6a62b10ba895f77b8617a460322b5d834bbe0
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jul 2 14:05:47 2018 +0200

    redhat: parallel builds
    
    Parallel builds can be an order of magnitude faster. Add the
    _smp_mflags macro to all invocations of make in the rpm spec,
    to make use of all available cores and SMT threads on the build
    system. This should also help noticing new dependency issues
    early. Note the macro can be overridden on the rpmbuild command
    line.
    
    Reviewed-on: https://gerrit.openafs.org/13240
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e60766286b7a581dcdd14466884ea7fdcae10918)
    
    Change-Id: I3428e5acc7114a5bf1a1090352055041ef099fbd
    Reviewed-on: https://gerrit.openafs.org/13249
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit b70c8e193c3187b4fd5367e4b1cb008f126ca9e5
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jul 2 13:33:20 2018 +0200

    redhat: speed up userland-only rpm builds
    
    When building with --define "build_modules 0", have configure
    skip the Linux kernel tests, which are slow and many.
    
    Reviewed-on: https://gerrit.openafs.org/13239
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ab61bcffefdd0a431a435def193cd9a46e3b8ab6)
    
    Change-Id: I030c4fab62bc8973dd4d914374865569d878090d
    Reviewed-on: https://gerrit.openafs.org/13248
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit d5def58a0e474d232ab831ca06bf370af2d7a833
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jul 2 13:28:07 2018 +0200

    redhat: package new file include/opr/lock.h
    
    Commit 792dd44ac57032a3f2a4743c83c8a0208a08ecec added the
    installation of include/opr/lock.h, but the rpm spec fails
    to pick it up, making rpm builds fail. Add the new file
    to the files list for the -devel package.
    
    FIXES 134579
    
    Reviewed-on: https://gerrit.openafs.org/13238
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit babf419886d687f8359159f35e8b89aff5e166f8)
    
    Change-Id: I32b6737a6868239c56a604030a49cc45f0379707
    Reviewed-on: https://gerrit.openafs.org/13247
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5875ee876941e507b777e4cb1cd05642402997ce
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jun 21 21:05:56 2018 -0500

    Make OpenAFS 1.8.1pre2
    
    Update version strings for the first 1.8.1 prerelease.
    (This time, for sure!)
    
    Change-Id: I50a1f939f64f0fd78c47c99d4c921d28c00380ce
    Reviewed-on: https://gerrit.openafs.org/13231
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9a8aac9ed93f0e167399df7d4c156b7c227056cc
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Jul 1 12:43:28 2018 -0500

    Update NEWS for 1.8.1pre2
    
    Change-Id: I5ceba218589aab4f2c3c1874661e2edbb9be0b65
    Reviewed-on: https://gerrit.openafs.org/13230
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0c8551135a6be6e81d79eeb117be43a0b783d7be
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sat Jun 30 17:35:09 2018 -0400

    rxevent: prevent negative rx_connection refCount
    
    rxi_ChallengeEvent is called directly from rxi_ChallengeOn to start the
    first challenge; subsequent calls to rxi_ChallengeEvent are from the
    event handler.  When called as an event, we must putConnection the
    reference held by the event.  But when called directly for the first
    time, the event has not been scheduled yet and so has not taken a
    reference on the connection.  For this case, we must not putConnection
    or the rx_connection refCount will go negative.
    
    One reported symptom of this bug is a fileserver crash with:
      'Assertion failed! file rx.c, line 1327.'
    
    Introduced by commit 304d758983b499dc568d6ca57b6e92df24b69de8
    ('Standardize rx_event usage').
    
    Reviewed-on: https://gerrit.openafs.org/13228
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit b1ad473be01162fe9b3835544a835c4dcf0fcb35)
    
    Change-Id: Ice5856627f4f77b5ede3a84fef4b6f2915f5477d
    Reviewed-on: https://gerrit.openafs.org/13229
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ec4488afc260238ca0a8af33cd71b9b5df8ee14d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jun 21 21:05:56 2018 -0500

    Make OpenAFS 1.8.1pre1
    
    Update version strings for the first 1.8.1 prerelease.
    
    Change-Id: Iaf262f468d36fb27d4ce8c994483c99bde666aff
    Reviewed-on: https://gerrit.openafs.org/13225
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0a40a42f15e7778908b569390a05352d53841101
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Jun 17 22:31:21 2018 -0500

    Update NEWS for 1.8.1pre1
    
    Change-Id: I9c443b26cd937b7d7d0d6863ca92792dfacae770
    Reviewed-on: https://gerrit.openafs.org/13224
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c35db455f2452121ca27c821bc74b04352b4fad8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jun 15 09:07:04 2018 -0500

    Comment out missing comerr functions from afsauthent.def
    
    Apparently commit 70c4922980d1596155b4021cd72d6895c2371e23 was overzealous
    in making Windows match Unix, as these functions are not available
    in the Windows build.
    
    Reviewed-on: https://gerrit.openafs.org/13219
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d0b2698ac7ab8bb689f30d819bbef08c05a8bf7)
    
    Change-Id: I6ea04a04a2e18f3a8b7f2fdd0e2ca49f4b208361
    Reviewed-on: https://gerrit.openafs.org/13222
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ef568fbb1980764e9b21660bc224a53c5601a8ce
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jun 15 08:39:47 2018 -0500

    Comment out opr_AssertionFailed from afsrpc.def
    
    Apparently the Windows utilities link opr.lib directly, so this
    caused a "multiply defined symbol" error.
    
    Reviewed-on: https://gerrit.openafs.org/13216
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 907e09ff2b7e86005765a594db27e1df194ec204)
    
    Change-Id: Ibdd1388235086177bd3fec3c1088916d71fc204f
    Reviewed-on: https://gerrit.openafs.org/13221
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c9fc9dbf59e0239f064f7c6d865bc4a267505f89
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jun 15 08:16:26 2018 -0500

    Comment out (again!) xdr_Capabilities from afsrpc.def
    
    This shows up as an "unresolved external" when linking (though apparently
    this error does not cause a buildbot failure), noticed when viewing
    a related windows build log.
    
    Reviewed-on: https://gerrit.openafs.org/13215
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 94f1c1e2a7125e93ed49de31522be806af28626b)
    
    Change-Id: Ia3a4977f00a0e4b3e3a9c16b20028d78269c4ce8
    Reviewed-on: https://gerrit.openafs.org/13220
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3e414d9b0eb1eb064bcc8d0931d54867d736c0a3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jun 14 20:35:46 2018 -0500

    Un-export opr_AssertFailU
    
    It appears to have been created for parity with osi_AssertFailU, but
    was then never used.
    
    It is safe to remove the export line, since this export has never
    been in a released version of OpenAFS.
    
    Reviewed-on: https://gerrit.openafs.org/13212
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 691757576fb6d60a34fef2c4bc50ae581b65ad76)
    
    Change-Id: I4811d1587fc7a25e90e2a0203d965ef352efe7c5
    Reviewed-on: https://gerrit.openafs.org/13214
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 992fd205bdd19c7d98814d8e234dad03a62d506f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu May 31 19:02:18 2018 -0500

    libafsrpc: export more xdr functions
    
    Most of the xdr functions in the library text are to support RXAFS and
    RXAFSCB RPCs, which we explicitly do not expose from libafsrpc.
    As such, they do not need to be in the export list, but a couple of
    generic ones probably should be exported.
    
    Do so, for both Unix and Windows.
    
    Reviewed-on: https://gerrit.openafs.org/13139
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 6e7db633efad1c88bb300089e3bd4c9feaea5f23)
    
    Change-Id: I42ae33f5fdb36401d052cfb200a22aff423ac0a9
    Reviewed-on: https://gerrit.openafs.org/13195
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9c66b92e4e3aa000a42044efe7cffa2a46058d73
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu May 31 19:00:03 2018 -0500

    libafsrpc: export some more rx functions
    
    Reviewed-on: https://gerrit.openafs.org/13138
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0b1edd96ac7a952148ec14f8baaf60c8d8bbc04f)
    
    Change-Id: I86c81dd95c75953ebd193bd8b49b467693572614
    Reviewed-on: https://gerrit.openafs.org/13194
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2bb07a8f82dca1246620c5e92600ddaa8d16cf48
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu May 31 18:40:21 2018 -0500

    Export missing opr functions from libafsrpc
    
    Our assertion macros expand to function calls, and we have assertions
    included in macros in installed headers, so the public needs to be
    able to link against them.
    
    Export for both Unix and Windows.
    
    Reviewed-on: https://gerrit.openafs.org/13137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f01ee714152a0a6247f2f456aa1f0a728d74373c)
    
    Change-Id: I1d983d352f4838619d0b8a833e6be90207dffa87
    Reviewed-on: https://gerrit.openafs.org/13193
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 56ce248751d804efe664c9af3b62f5e15a026afe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 26 12:01:57 2018 -0500

    afs: Avoid GetDCache delays on screwy cache
    
    Currently, if our afs_AllocDCache call fails in afs_GetDCache, we
    retry once per second for 5 minutes. The reasoning is that we're out
    of dcache slots, and so if we wait a little while, maybe something
    will become freeable and we can continue.
    
    However, afs_AllocDCache can also fail if we have plenty of free
    dslots, but we are unable to successfully call afs_GetUnusedDSlot() on
    any of them. This can happen if our disk cache is screwed up, and so
    waiting and retrying will not make things better (but we'll spew a ton
    of "disk cache read error in CacheItems slot" errors in the log each
    time, and do so 300 times).
    
    So instead, only do our sleep/retry loop if we actually appear to be
    out of free or discarded dslots. Otherwise, just return an error
    immediately, since sleeping and retrying will not make anything
    better.
    
    Reviewed-on: https://gerrit.openafs.org/13033
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit bec329c1c81d96b5933527f7cdb3638f24833087)
    
    Change-Id: Iaee53eca133985ad5964b61b3641cd8ad2802014
    Reviewed-on: https://gerrit.openafs.org/13190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 38207faabe6641e97d177160f45ccdaef8cef8ab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 26 12:02:18 2018 -0500

    afs: Avoid GetDCache panic on AllocDCache failure
    
    Currently, in afs_GetDCache, if afs_AllocDCache fails, we retry for 5
    minutes and then panic. Panicing in this situation is completely
    unnecessary; afs_GetDCache can fail for a variety of other mundane
    reasons (such as, if we can't fetch the requested data from the
    relevant fileserver).
    
    It may seem unusual for afs_AllocDCache to fail for over 5 minutes
    (this is supposed to mean that we're out of dslots, and our attempts
    to free up dslots have failed). However, afs_AllocDCache can also fail
    if we are having issues in accessing the disk cache, and so we may not
    be out of cache space or dslots at all; we just can't access the
    cache. In this case, afs_AllocDCache can easily fail forever; waiting
    longer or trying to free up cache space isn't going to help.
    
    So, to avoid panicing in such situations, just make afs_GetDCache
    return an error. We just need to make sure afs_xdcache is unlocked,
    and then we can just jump to 'done', like plenty of other codepaths
    do; no extra cleanup is required.
    
    Also since we are removing a panic, add a log message when this
    situation happens, so EIO errors don't suddenly pop up silently.
    
    Reviewed-on: https://gerrit.openafs.org/13032
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0ff2364bd5e68c0a7587f8fbc552bf20b99d7039)
    
    Change-Id: Ie29eed271b490edc943929710a87550e2d67b735
    Reviewed-on: https://gerrit.openafs.org/13189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bc9ab0d85a37b7126502a810320daffc0fdacfb3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 5 14:12:20 2018 -0400

    xdr: remove dead code, whitespace from xdr_enum
    
    The 'enum sizecheck' declaration has been unused since openafs-ibm-1_0; it is
    apparently vestigial from the original XDR code.  Remove it, along with some
    extraneous whitespace.
    
    No functional change is incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/13076
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fdc8adbf0904cbbc0590379c5cb702a15273b40c)
    
    Change-Id: Ie586f210d17169a03143d1bdebb8430e3881e58c
    Reviewed-on: https://gerrit.openafs.org/13184
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 101c114bd3bcc662c49a565dffc597a70ef1ea80
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jun 6 15:23:26 2018 -0400

    xdr: avoid xdr_enum memory overrun
    
    Since openafs-ibm-1_0, xdr_enum has used xdr_long to read and write, even
    though enum_t is defined as int.  For systems where sizeof(int) ==
    sizeof(long), this works by accident.  But other systems (e.g., DARWIN
    ARCHFLAGS=x86_64) xdr_enum will overrun its int-sized second parameter.  For
    XDR_DECODE, this results in memory corruption.
    
    This was first noticed with OpenAFS 1.8.0 on macOS 10.13; if aklog is issued
    while already holding a token, it will fail in token_SetsEquivalent with a
    segfault in decodeToken.  The root cause is that the address passed to
    decodeToken had been overwritten by a previous call to tokenType -> xdr_enum ->
    xdr_long.
    
    Instead, modify xdr_enum to use xdr_int for its work.
    
    Reviewed-on: https://gerrit.openafs.org/13075
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit eb1d2ef203a2a99c908b3b89d9ea8337a91b944b)
    
    Change-Id: I548ab43fe4513262b6be0608be45bfd8580e6ed8
    Reviewed-on: https://gerrit.openafs.org/13183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 41285fc801cfa91e099e042ab2bc85599fac63fb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 27 23:08:34 2018 -0400

    util: check for trailing characters in partition names
    
    The function which maps partition names to partition ids currently
    ignores trailing characters in the partition names. For example, the
    partition name "/vicepbogus" is currently considered a valid partition
    name ("/vicepbogus" maps to "bo" which is id 66). Although this is not a
    regression, it is problematic for several reasons.
    
    Firstly, this can lead to duplicate partition ids on the server, for
    example "/vicepbad" and "/vicepbar" both map to the same partition id
    ("ba" is id 52).
    
    Second, partitions are internally tracked by numeric id. The partition
    names are generated from numeric ids when reporting partition names.
    This means the trailing characters are lost when reporting the partition
    names. For example, vos reports the attached partition "/vicepbad" as
    "/vicepba".
    
    Third, it could be possible (but perhaps unlikely) in the future to
    extend the range of partition ids, so the trailing characters could
    become significant at that time.
    
    Finally, it could be confusing to admins that such partition names are
    attached by the fileserver. For example, "/vicepaa-backup" is attached
    and is used by the fileserver as partition id 26.
    
    This change adds a check for trailing characters in partition names in
    the volutil_GetPartitionID function, so it is more strict in what it
    accepts as a valid partition name.  That function will now return -1
    (illegal partition name) when trailing characters are found in
    partition names.
    
    Reviewed-on: https://gerrit.openafs.org/13039
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit 850c7c50dccbdebb8e0a44da4fc7840760d9e02d)
    
    Change-Id: I1244630f3b31408f9f723b97956dca6987dd9747
    Reviewed-on: https://gerrit.openafs.org/13121
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b5f5e48147ea792b43d8716a5b6e334cbbd925e1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 9 19:54:54 2018 -0400

    autoconf: add kernel module to the summary
    
    Add the kernel module to the list of optional build items in the
    configure summary to indicate whether the kernel module build is
    enabled.
    
    Reviewed-on: https://gerrit.openafs.org/13005
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3d3e7bc51aaf39b5ca04bfd36ff9017ab0622057)
    
    Change-Id: I842752bb12b09fdcab6bfb341673bff3528f3880
    Reviewed-on: https://gerrit.openafs.org/13112
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0bf4ae5f7630fbb8e3bfb8e4dab19ad3e617ed6a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 22:54:01 2018 -0500

    libafsauthent: export additional xdr_ functions
    
    Formally, we need to use xdr_free to deallocate storage for RPC output
    variables, in case the XDR stack uses a different allocator than the
    standard application allocator.  Some types have non-autogenerated
    wrappers exposed already (e.g., token_FreeSet()), but for a handful of
    the base ptint types we need to expose the xdr routines in order for a
    safe way to deallocate their storage to be available.
    
    Reviewed-on: https://gerrit.openafs.org/13131
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit c12cfd7331727142cb928e08ec32a708d0cfd1e9)
    
    Change-Id: Iea3b0bd9fdb373020b41c2bcbf1ebbde222114a8
    Reviewed-on: https://gerrit.openafs.org/13192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1318bad870781f73acffc6dff1821f54c28d3ed7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 16:23:16 2018 -0500

    libafsauthent: export ugen_ClientInit*
    
    Windows was only exporting the bare version and not the Cell/Flags/Server
    versions; Unix was exporting none of them.
    
    These routines for obtaining a ubik client are more generic than the
    historical (and already exported) ubik_ClientInit routine, allowing for
    the use of an alternative configuration directory, additional flags,
    and the like.
    
    Reviewed-on: https://gerrit.openafs.org/13130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ef6a1e8118a25b885889179739a3539a598068bc)
    
    Change-Id: I04c6565cc4b9c3366bf15b86cd5f70402609c5c5
    Reviewed-on: https://gerrit.openafs.org/13182
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 08d91a86ba4735ca55c18b3cffea58939c790fca
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 16:03:12 2018 -0500

    libafsauthent: Export more token-manipulation functions
    
    For both Windows and Unix.
    
    Reviewed-on: https://gerrit.openafs.org/13129
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1974eac772157651594c1b76ea8f55e4567b3ec5)
    
    Change-Id: I7b26772fe9f447ac1cf562eb5837a6035d8f0175
    Reviewed-on: https://gerrit.openafs.org/13181
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f5876726928c1302f2dce8c16e81bbed3d9a021d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 15:18:12 2018 -0500

    libafsauthent: export ktc token 'Ex' routines for Unix
    
    We need these to handle the modern identity structures (they are
    already exported on Windows).
    
    Reviewed-on: https://gerrit.openafs.org/13128
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4008f83ca80c5ed7b612a13f760b4bb8b9866f2b)
    
    Change-Id: I05d4ea37212738db6be9dace0b9cc1db1e76bd08
    Reviewed-on: https://gerrit.openafs.org/13180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit dca6a646a0b3f8fea0a8bbcb45f39561e319f262
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 14:18:07 2018 -0500

    libafsauthent: export more afsconf_ functions
    
    We have new functions for (among other things) typed keys, and generic
    rx identity management; expose them as well as the legacy key- and user-
    management functions, on both Unix and Windows.
    
    Reviewed-on: https://gerrit.openafs.org/13127
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cdd1f16f5ef52093a8f7d3f87a45775d3c87b780)
    
    Change-Id: Ia9ab364fcac10822ba50eb7f418a2228ac0fd935
    Reviewed-on: https://gerrit.openafs.org/13179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3a833a7fa825731442a358b93dbbdb9f202c64f1
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 27 13:11:05 2018 -0500

    Synchronize libafsauthent afsconf_ exports with windows
    
    The Windows library was exporting several more afsconf_* symbols
    than the Unix one; bring them into sync.
    
    Reviewed-on: https://gerrit.openafs.org/13126
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bcce41bd99b4361631b64cf4749d1dcf80df1cd7)
    
    Change-Id: I4993395d30ca93d28e0ccd4c6ad52975a1e23324
    Reviewed-on: https://gerrit.openafs.org/13178
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5fd4b3c417ebc0d5e1b4daef4fbc0950ad05c10a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 9 19:50:28 2018 -0400

    autoconf: remove uss from configure summary
    
    Commit 00a33b26d74aa067086ddc340efb82184715857f (uss: always build uss)
    made the uss build unconditional. Remove it from the list of optional
    items in the configure summary.
    
    Reviewed-on: https://gerrit.openafs.org/13004
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 85e9db22b265f9bb3745246fea3a07158b8a8c0e)
    
    Change-Id: I345752f0739edc3d621b39a50157adb23923e256
    Reviewed-on: https://gerrit.openafs.org/13111
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7a191a7864f950a1b50703c3c9bbc2dcecf82669
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Fri May 25 12:03:35 2018 -0500

    Remove pointless assignments
    
    scan-build identified these var assignements as being unused or redundant.
    
    Reviewed-on: https://gerrit.openafs.org/13086
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit e71985bce593e9dba43443e084eb726fcc5259e3)
    
    Change-Id: Ic93c5e775f13a8f75ba619391d71cb78f4dc06ae
    Reviewed-on: https://gerrit.openafs.org/13150
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 47694e2976034cef094be5f0b5d0fd0c5bc16893
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Wed May 23 15:50:45 2018 -0500

    Add braces to empty conditional blocks
    
    GCC 7+ is able to quickly optimize away empty if/else blocks if the braces are
    provided.  While this adds some additional syntax, it should also result
    in faster optimization, so change our empty blocks after conditionals to use
    braces.
    
    FIXES 134377
    
    Reviewed-on: https://gerrit.openafs.org/13081
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a411366f57dcf39cc17b6d61d8332e520dff57d1)
    
    Change-Id: I9243105d75878487ec965070d3946e8d683f264b
    Reviewed-on: https://gerrit.openafs.org/13149
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c41860c2c0c4e0cc3c09aada08089b21fe7e98e6
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Fri May 25 12:48:15 2018 -0500

    Convert extended character set to unicode
    
    Reviewed-on: https://gerrit.openafs.org/13088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9670937d5f12f1edc7bdcb588133f53ec1af2d6f)
    
    Change-Id: I8ba39f92dd485cf8b12fc99cf4251277b29e403d
    Reviewed-on: https://gerrit.openafs.org/13152
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 37daf101007e92038560913b56ac0330fce3d230
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 25 11:19:10 2016 -0400

    Windows: define AFS_IHANDLE_PIO_ENV for ihandle pio
    
    Support for positional i/o in the ihandle package was added to the
    windows platform in commit 50b6a116a1c412d0e6d7442d13d6e92c9dbb35ee
    using native windows functions.  That commit also defined HAVE_PIO in
    the windows version of the afsconfig.h file. Unfortunately, that
    definition of HAVE_PIO is not limited to the ihandle package.
    
    Remove the project-wide HAVE_PIO definition from the windows afsconfig.h
    file and define the new AFS_IHANDLE_PIO_ENV symbol when position i/o
    support is available in the ihandle package.
    
    Build the fallback ih_pread and ih_pwrite functions (which use lseek)
    only when positional i/o is not available in the ihandle package for the
    current platform.
    
    Use AFS_IHANDLE_PIO_ENV instead of HAVE_PIO in ih_open() to determine
    when it is is safe to share ihandles among threads.
    
    Reviewed-on: https://gerrit.openafs.org/12270
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 759f29cfdfabed4dc5c1b96a0b2b79a3f83c08e3)
    
    Change-Id: Ic64f9e65b10fbe6f7650eff852d5a7e20762ef10
    Reviewed-on: https://gerrit.openafs.org/13148
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ba18ab004566b82b52882326727fa33a297bd05c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Apr 24 14:41:11 2018 -0400

    ptserver: improve PR_GetHostCPS logging
    
    The IP address of the host is logged as a signed number.  Instead, log
    it as the unsigned (and hex) representation of the host IP addr.
    
    Reviewed-on: https://gerrit.openafs.org/13043
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8225518cd08b810bf3d8c74e27e3d3a753b6b30b)
    
    Change-Id: Idbb380fa0c9d71398ea2d47ba49fd217be9f9f26
    Reviewed-on: https://gerrit.openafs.org/13147
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1962edf361341df0b842cd749493026a4540cc7a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 27 22:59:57 2018 -0400

    vol: check for bad partition names
    
    Currently, servers attempt to attach any partition name starting with
    "/vicep", even partition names which map to out of range partition ids.
    Examples of such misnamed partitions are "/vicepzz", "/vicep0", and
    others.
    
    The presence of these misnamed partitions cause the server processes to
    crash on startup, since the out of range partition ids are used as an
    index.
    
    Add a check for the bad partition names in VCheckPartitions to avoid
    attaching them. Log a warning for such partitions to let the admins know
    why the partitions are not attached.
    
    Reviewed-on: https://gerrit.openafs.org/13038
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c0f2c26e9298d12209fbb5e523ea3173202316e5)
    
    Change-Id: Id7dcbd80402b7c8ec1f0e2e5fa2ea0123a2da898
    Reviewed-on: https://gerrit.openafs.org/13120
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8ca1b87d0804b23e32304742297701960489f1b4
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri May 11 15:44:24 2018 -0400

    viced: SRXAFS_InlineBulkStatus set InterfaceVersion on error
    
    AFSFetchStatus.InterfaceVersion is required to be "1" for any
    of the fields in the structure to be considered valid.  Therefore,
    InterfaceVersion must be set to one when returning an 'errorCode'
    value.
    
    When RXAFS_InlineBulkStatus was introduced by OpenAFS in
    362d26c733b086d26f013bd229af979a112098f5 not only wasn't
    InterfaceVersion set but neither was the memory allocated
    to OutStats initialized.  As a result the InterfaceVersion field
    value could be not only zero but random.  The OutStats memory
    was initialized to zeros beginning with
    726e1e13ff93e2cc1ac21964dc8d906869e64406.
    
    Reviewed-on: https://gerrit.openafs.org/13067
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f045de21a45fcc8f71e2b30e826c22c8a7b4d0f2)
    
    Change-Id: I0d15147081f6e8744680c16e43b22075070647e4
    Reviewed-on: https://gerrit.openafs.org/13117
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eb607b67793c37f57490ece47f93c65383a2fdf5
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue May 15 17:10:45 2018 -0400

    ubik: clones should not request votes
    
    Clones should not be able to become the sync-site. To make it possible,
    regular sites do not vote for a site tagged as clone. In other words,
    the clones ask for votes but they cannot be the sync-site. Knowing that
    their requests for votes should be refused by the regular sites, they
    should never have enough votes to win the election.
    
    In addition to the unnecessary network traffic created by these
    unnecessary requests, this current approach can be problematic in some
    specific situations. As an example, consider the following scenario:
    
        The user wants to turn a regular site, called host1, into a clone.
        To do so, he runs the following commands on every single server:
    
        $ bos removehost -server <server> -host host1
        $ bos addhost -server <server> -host host1 -clone
    
    After that, he restarts the servers, one by one. Depending on the delay
    between the restarts, a clone can become the sync-site. This is possible
    because the clones request votes from the other sites. If enough regular
    sites are not aware (yet) that the request for vote came from a clone,
    the clone in question can get enough votes to win the election.
    
    To fix the problems mentioned above, do not request votes if you cannot
    be the sync-site.
    
    Reviewed-on: https://gerrit.openafs.org/12654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3cc22a442e1dad628f0b11a32c4037fc7174dde4)
    
    Change-Id: Ifa748546aec6928eb4ca988a036d0bf8fb70f6f8
    Reviewed-on: https://gerrit.openafs.org/13116
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ecc94cdf1b79f49e87b4147cd9301f7dcb2af735
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu May 10 00:46:01 2018 -0300

    afs: alloc openafs_lck_grp before osi_Init() on darwin
    
    Commit a27bed59cae1a4244429c752edfde0a8363c8a3b moved init_hckernel_init
    to osi_Init. On Darwin (AFS_DARWIN80_ENV), MUTEX_INIT
    (called by init_hckernel_init) uses openafs_lck_grp as the argument of
    one of the functions called during the initialization of the mutex in
    question. Since openafs_lck_grp was not allocated yet, we crash.
    
    To fix this problem, call MUTEX_SETUP() before osi_Init() on Darwin.
    
    Reviewed-on: https://gerrit.openafs.org/13065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8e740aed774d4507e656e6ae743f6c6fe6c0e356)
    
    Change-Id: Ic1c58b5e2baeedd1cd24c364dd2907761064c8a9
    Reviewed-on: https://gerrit.openafs.org/13115
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 881062ab6f67887ce08ab1000a6ac79c41b12c2f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue May 8 18:04:21 2018 -0500

    Use afs_DestroyReq in afs_PrefetchNoCache()
    
    Since commit 76ad941902c650a4a716168d3cbe68f62aef109f we use afs_DestroyReq()
    instead of osi_Free() directly.
    
    Also update the UKERNEL version of the function to afs_CreateReq() properly.
    
    FIXES 134533
    
    Reviewed-on: https://gerrit.openafs.org/13060
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3ec0414f769c37a19410fbd9aefb086cb5b69e55)
    
    Change-Id: Ic85fef48f7adb2a152b5cb4d68b8c4a43c45c06a
    Reviewed-on: https://gerrit.openafs.org/13114
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 579c077aa63430120e6db8599074c815ff36417f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 13 16:25:47 2013 -0500

    Export {Get,Set}ServiceSpecific from liboafs_rx.la
    
    rxgk will use service-specific data.
    
    Reviewed-on: https://gerrit.openafs.org/10589
    Reviewed-by: Daria Phoebe Brashear <dariaphoebe@auristor.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 60a006bdc43df42e40eb43f1e1af7fffe3e85763)
    
    Change-Id: I997a6dc9ab728e9e87df321c30d0a26ce2853698
    Reviewed-on: https://gerrit.openafs.org/13108
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit acee367c684a262744a9d6718eaf10a9324bdc8e
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Fri May 25 12:11:54 2018 -0500

    Add missing va_end
    
    Per man va_start:
    Each invocation of va_start() must be matched by a corresponding
    invocation of va_end() in the same function.
    
    Reviewed-on: https://gerrit.openafs.org/13087
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2b08d687b992f238fa59773ef2ff1710c520f861)
    
    Change-Id: I8d649b06a8e0baedc40612fe7b2251df1426ce26
    Reviewed-on: https://gerrit.openafs.org/13151
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9d633e1281cb3e8bec95d373fd23c04645851625
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 15:59:08 2018 -0500

    Export afs_getDirPath from shared libraries
    
    Add this function to the export list for libafsauthent on Windows
    and Unix.
    
    Reviewed-on: https://gerrit.openafs.org/13059
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 849ddd4fde0759e385cf3ed4054fc11c36a62fc3)
    
    Change-Id: I39dd95185a705eaf96852e7bae9acbb5f5c50159
    Reviewed-on: https://gerrit.openafs.org/13146
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 10caff7c0c37ecb9ad9357d1a15afb9bdb052a59
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 15:42:51 2018 -0500

    Rename getDirPath to afs_getDirPath in preparation for export
    
    The symbol name getDirPath is rather generic and we probably shouldn't
    squat on it in the application's namespace.  In preparation for exporting
    this functionality from the Unix shared libraries, rename it to
    afs_getDirPath.
    
    Retain a Windows-only wrapper getDirPath that can continue to be
    exported from libafsauthent on Windows, for ABI compatibility.
    New consumers should use afs_getDirPath.
    
    Reviewed-on: https://gerrit.openafs.org/13058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 554c38473d1465af4c4613209229c274807fffd8)
    
    Change-Id: If527d3f6d619e8bc41914353d28d5d74cb683637
    Reviewed-on: https://gerrit.openafs.org/13145
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 19eb5b5c7fbde760449e590750582753bfc00ad3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 15:35:03 2018 -0500

    Remove duplicates from liboafs_util.la.sym
    
    Remove the extra copy of things which appeared twice.
    
    Reviewed-on: https://gerrit.openafs.org/13057
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b48fe6b57f13bacb368e27389ccd3f9c279822da)
    
    Change-Id: I322967df048cb49d270cc149d6b710a38797cbbf
    Reviewed-on: https://gerrit.openafs.org/13144
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 034b141e24c999a3c83720b2e198dd7cf26a6d69
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 14:42:31 2018 -0500

    Export ubik_PR_ symbols from libafsauthent
    
    Also export from liboafs_prot the ones missing from this set.
    
    This brings the unix exports in sync with the Windows exports
    (of ubik_PR_ symbols), and is tested as being sufficient to compile
    python-afs.
    
    Reviewed-on: https://gerrit.openafs.org/13056
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3be1de0e823db7068e27b9c5c30a91673f058e52)
    
    Change-Id: I2cd44eb5686b1b7134eb0e4480f5f3502e865ce8
    Reviewed-on: https://gerrit.openafs.org/13143
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2cdd866445fb786f5a20f0786849b0a57eccacf3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 14:00:27 2018 -0500

    Export comerr initialization functions from libafsauthent
    
    Add to the libafsauthent export symbol list these comerr initialization
    functions so that they are usable by consumers.
    
    Reviewed-on: https://gerrit.openafs.org/13055
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 70c4922980d1596155b4021cd72d6895c2371e23)
    
    Change-Id: I7fb91b14c0730abd8544ff0484af8746c2bb50db
    Reviewed-on: https://gerrit.openafs.org/13142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0c6d1610ac9309faf85530bde1b6308fbc8822af
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 5 13:11:00 2018 -0500

    opr: install afs/opr.h and opr/lock.h
    
    These headers are (transitively) referenced from rx_pthread.h, which is pulled
    in from rx.h when AFS_PTHREAD_ENV is defined.  As such, we are presenting an
    incomplete public API without this header.
    
    Reviewed-on: https://gerrit.openafs.org/13054
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 792dd44ac57032a3f2a4743c83c8a0208a08ecec)
    
    Change-Id: I9785e4d408b2838a2c65ae372717a6c92e38767b
    Reviewed-on: https://gerrit.openafs.org/13141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f52d15371e2dddfb79a8346b3ad69613963e8866
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 19 16:34:21 2017 -0400

    ubik: remove redundant memset from udisk_write
    
    When udisk_write is extending the database, DRead will return a null
    buffer.  udisk_write then calls DNew to get a brand new buffer for the
    extension write, and clears it with memset.  However, this is redundant,
    since DNew has already cleared the new buffer.
    
    Remove the redundant memset.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12621
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 845c8927ef20e245bb88bc783dc2e581b61fbaba)
    
    Change-Id: I58d4052c69c16e4758c6accfbb2a0b1ac2aa413f
    Reviewed-on: https://gerrit.openafs.org/13124
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 99f1df279d26fe82b21406f3bf987595fd049542
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 10 16:23:48 2018 -0500

    ubik: Make udisk_Log* functions static
    
    Nothing uses the udisk_Log* functions outside of disk.c. Declare these
    static to make sure they stay that way, to make it easier to change
    their semantics.
    
    Reviewed-on: https://gerrit.openafs.org/13069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f1d389e80367c7ea532441f9aa27a6cc3e2853a7)
    
    Change-Id: I9c1cae678fc099f1eabe4aa6a661dcbc4ea72648
    Reviewed-on: https://gerrit.openafs.org/13119
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7200e6c5cbac93399640355fc2af6568ad6aa346
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 10 16:05:10 2018 -0500

    ubik: Remove 'mtime' from ubik_stat
    
    Nothing uses the 'mtime' field from ubik_stat. Remove it.
    
    Reviewed-on: https://gerrit.openafs.org/13068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b8617f08d1bf57a6b3fbba44e5b4de24dc84a9bb)
    
    Change-Id: I1770e55aa45192b4bab6d4256be562cb308fd03a
    Reviewed-on: https://gerrit.openafs.org/13118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 74de0a543af154624ea7906b83ef10ba7c48590c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 25 17:05:28 2018 -0400

    afs: fix broken volume callbacks (e.g. vos release)
    
    Commit e99bfcfaa3bca3e65f03928718c2c9eb5eff7c8c ('afs: use jenkins hash
    for dcache, vcache tables') introduced new hashing implementations for
    the dcache and vcache hash tables.  Unfortunately, a typo introduced a
    bug into the VCHashV hash function; instead of hashing by volume id, it
    currently hashes by vnode.
    
    The most common symptom is that volume callbacks (RXAFSCB_Callback with
    fid <volid>:0:0) fail to find and invalidate all the files for the
    specified volume.  This typically manifests as persistent stale RO
    content after a 'vos release' for new RW content.
    
    This bug only affects the Unix cache manager; the Windows cache manager
    implementation of RXAFSCB_Callback was unaffected.
    
    Reviewed-on: https://gerrit.openafs.org/13090
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1dc9bb4e7362029db073250f23a09f949e1655de)
    
    Change-Id: I535f91630948e7aa6a8d72eb37e0cce88c33156d
    Reviewed-on: https://gerrit.openafs.org/13140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c80af69e04bb39b0aa3d1b6705034fd26358f7c7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Apr 13 08:07:59 2018 -0500

    BSD: Work around panic in FlushVCache
    
    Commit 64cc7f0ca7a44bb214396c829268a541ab286c69 created the very useful
    afs_StaleVCache() helper function, but unfortunately it also introduced
    a subtle change into how we check for whether a vcache may be a directory.
    Previously, we just used the low bit of the Fid's Vnode number, since files
    have an even number and non-files an odd number.  The new version uses
    that check but also explicitly checks `vType(avc)` against VDIR, and this new
    check involves consulting information stored in the associated vnode entry,
    not the vcache directly.  The afs_FlushVCache() implementation for
    XBSD and DARWIN NULLs removes the cross-linkage between vcache and vnode,
    so that AFSTOV(avc) becomes NULL.  Just a few lines later, it calls
    afs_StaleVCacheFlags(), at which point vType() dereferences a bad pointer
    (offset from a NULL pointer) and panics.  This would happen during shutdown,
    or other periodic reclaim/flush events that can be scheduled.
    
    Reviewed-on: https://gerrit.openafs.org/13014
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 54e84a98f9747bb5bb2ad4b8031115ad7684c914)
    
    Change-Id: I810f72e0be8ab98ea6b4ac05c23bc0cb44e4da3a
    Reviewed-on: https://gerrit.openafs.org/13113
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 489dce6049a90cbef596b29ccff8d15b3bee6fdb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 9 16:42:41 2018 -0400

    autoconf: remove more linux 2.4 references
    
    Remove old linux 2.2 and 2.4 references in the autoconf macros left over
    from the linux 2.2 and 2.4 days.
    
    Reviewed-on: https://gerrit.openafs.org/13003
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 833a81eeda6e48ea1ced92169434e843d054c44d)
    
    Change-Id: I3bf407ec084d911cc826b50fc39f48a20eb0fd77
    Reviewed-on: https://gerrit.openafs.org/13110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 00f4b8b9471adf2c3d7d8f028afb7524d2f02160
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Mar 29 15:52:12 2018 -0300

    autoconf: remove check for lorder
    
    Currently, lorder is not being used. Remove the conditional that checks
    if this binary exists.
    
    Reviewed-on: https://gerrit.openafs.org/12981
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 1a0d68676526a5031d7f06f44d58c6dbb2b65da7)
    
    Change-Id: I3630b6ec9629361e86971ff0c37d93327f6763f4
    Reviewed-on: https://gerrit.openafs.org/13109
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7177faad0a7cb98fe59cd6fd41ed1a44c60be046
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 17 16:32:20 2017 -0400

    ubik: death to orphaned signals
    
    ubik has a few very old "orphaned" LWP events that are signalled via
    LWP_NoYieldSignal, but have no matching waits (LWP_WaitProcess).
    
    Each "signal" runs the LWP waiting element list for each LWP on the
    blocked queue; this may add up to substantial wasted overhead on a
    heavily loaded ubik server.
    
    Remove the orphaned signals.
    
    No functional difference should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12620
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e4c7321560acf0bd34eeee7d46269818d82fdb44)
    
    Change-Id: I4303542683aaa62895b73a5ea93bc3d0ac82804a
    Reviewed-on: https://gerrit.openafs.org/13123
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6c481da10e613e678e9d66582a0445177f923d1e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Jan 21 18:38:11 2018 -0500

    Suppress statement not reached warnings under Solaris Studio
    
    Solaris Studio issues warnings for statements which can not be reached,
    such as statements following an infinite loop.  For example, the return
    statement will generate a 'statement not reached' warning in the
    following code:
    
        while (1) {
           /*  no breaks or gotos in this body */
        }
        return 0;
    
    Suppress these warnings by conditionally removing such statements when
    building under Solaris Studio.
    
    Reviewed-on: https://gerrit.openafs.org/12958
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f47cb2d4a957910c3e7d4b755f41ddef5dd103c5)
    
    Change-Id: I3ac84edbc18d7b6aebd568e9a1c4a3e47aba5512
    Reviewed-on: https://gerrit.openafs.org/13107
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d3389b02b83baf28e663a6df8522d1e1704bd5dd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 13 20:14:59 2018 -0500

    afs: squash empty declaration warning
    
    Remove spurious semi-colon which generates a warning when
    building under Solaris Studio.
    
      "./src/afs/UKERNEL/sysincludes.h", line ...: warning: syntax error:  empty declaration
    
    Reviewed-on: https://gerrit.openafs.org/12957
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 306f0f3100e453e165032ae3bc9022b4a9a9a4c5)
    
    Change-Id: Ie6657ab06c8d44b1452d9583908efd1596311971
    Reviewed-on: https://gerrit.openafs.org/13106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c9061ab02748a8dea3eef413d0d3d5efbd111179
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 20 18:34:18 2018 -0500

    libafs: git ignore build artifacts on Solaris
    
    Ignore build artifacts generated when building the kernel
    module for Solaris:
    
            src/libafs/inet
            src/libafs/nfs
            src/libafs/ufs
    
    Reviewed-on: https://gerrit.openafs.org/12955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e0066095e7f74653c2c08d1b00010ba59f4c2cf3)
    
    Change-Id: I5b25a5a4ef6a3b2134daaf848fef9d64b01ee156
    Reviewed-on: https://gerrit.openafs.org/13105
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a2ae6ace35aca1ce02497962356fab22673bd27b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 13 16:17:54 2013 -0500

    Export a few krb5 routines for rxgk
    
    We need oafs_h_krb5_generate_random_block when generating random
    keys and oafs_h_krb5_crypto_fx_cf2 for CombineTokens.
    Having oafs_h_krb5_crypto_prf_length proves very convenient for
    key derivation of transport keys, so move it to the public header
    and export it.
    oafs_h_krb5_enctype_keysize is needed so that we can tell whether or not we
    need to pass through random_to_key() when making rxgk_keys.
    oafs_h_krb5_random_to_key is needed for that random_to_key() operation.
    
    Reviewed-on: https://gerrit.openafs.org/10936
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 348dc87bb2eeb66d1e683dc91ee36724ee18f1af)
    
    Change-Id: I3ae0f5ba6b0bd2f851f4d41f756521153e303102
    Reviewed-on: https://gerrit.openafs.org/13104
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0bb3fef5a38bda1cb5a72d94de2a2222c3a56ddf
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Dec 4 13:03:15 2013 -0500

    auth: Let superuser identities be superusers
    
    We have a special rx_identity_kind for superusers, let it actually
    be useful for something.
    
    Reviewed-on: https://gerrit.openafs.org/10575
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fe8a1f3a2b669057451cac358faa7320722dc053)
    
    Change-Id: I36b6b6be6851c45b13c41e751e4d741cd0130fdb
    Reviewed-on: https://gerrit.openafs.org/13103
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 690b0f0bd238695a2ccde3842198812fb9b89f5d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 7 13:28:34 2018 -0600

    Avoid libtool 'nm' errors
    
    Starting around Solaris 11.3, '/usr/bin/nm -p' starts reporting some
    symbols with the 'C' code. libtool cannot handle this (libtool bug
     #22373), which causes global_symbol_pipe in the generated libtool
    script to be empty. This causes a rather confusing error when we go to
    actually use libtool to link something ("syntax error near unexpected
    token '|'"; see libtool bug #20947), and prevents the build from
    continuing.
    
    Address this in two ways:
    
    For all Solaris 11 builds, default to /usr/sfw/bin/gnm over
    /usr/bin/nm. This avoids any interop issues with libtool and nm, since
    libtool of course works very well with GNU tooling.
    
    In addition, try to catch any nm-related errors with libtool at
    configure time, to provide a more helpful error message.
    
    To implement these changes, create a wrapper around LT_INIT, called
    AFS_LT_INIT.
    
    Reviewed-on: https://gerrit.openafs.org/12945
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3e9ea6107973ccc4fa3d405f5b5d76666bfd624f)
    
    Change-Id: I4a5a358857ec5bfbc31cd99fcca59f3390ad4d16
    Reviewed-on: https://gerrit.openafs.org/13066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ad86112bbde0979efd4e99f23ca629f93fa258b1
Author: Ian Wienand <iwienand@redhat.com>
Date:   Tue Mar 20 14:01:43 2018 +1100

    Remove warning "find_preferred_connection: no connection and !create"
    
    find_preferred_connection() is called with !create via
    afs_ConnByHost->afs_ConnBySA to determine if there is a cached
    connection available.  Don't warn, as it will next be called with the
    create flag to create the connection anyway.
    
    Reviewed-on: https://gerrit.openafs.org/12964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 909d8358109445fdb316b68a8e55e17626cf17c9)
    
    Change-Id: If2cb4fd25e98f5bbdde00f76e8b3850c53cb6358
    Reviewed-on: https://gerrit.openafs.org/13025
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 002844c5f5f0e4b5ff578182c82e2c5e4d21c1d9
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon May 14 16:46:26 2018 -0300

    rx: fix atomics on darwin
    
    As described by commit b2a21422129ca1eeeb5ea1a1f7b08b537fd2a9f7, the API
    used for atomic operations in kernel space is not the same as the one
    used in user space. To fix this problem, the commit mentioned above
    introduced macros to correct the name of these functions in kernel space.
    Unfortunately, the return value of the functions used in kernel space is
    not the same as the ones used in user space. Generally speaking, the
    kernel space atomic functions return the original value of the variable
    received as an argument before the operation in question. On the other
    hand, the user space atomic functions return the new value, after the
    operation has been performed. To fix this problem, this commit provides
    a new set of inline functions (only used in kernel space) with the
    expected return values.
    
    Also, in order to get the inline implementations of the OSAtomic
    interfaces in terms of the <stdatomic.h> primitives, commit
    74f837fd943ddfa20d349a83d6286a0183cb4663 defines OSATOMIC_USE_INLINED
    on OS X 10.12. However, the definition of this macro only affects the
    user space legacy interfaces for atomic operations. The kernel space
    interfaces for atomics are not deprecated and OSATOMIC_USE_INLINED does
    not affect these functions. To fix this problem, only define
    OSATOMIC_USE_INLINED in user space (OS X 10.12+).
    
    Reviewed-on: https://gerrit.openafs.org/13063
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c16423ec4e678e5cb01dc99f4115065f8ef6caf7)
    
    Change-Id: Ic3ecc1f26a9e81eb0dc6e1503845be57ad80498a
    Reviewed-on: https://gerrit.openafs.org/13084
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c201f8d7a96b1f3ab0cb24dc15edb22f84ef1838
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 6 22:04:28 2018 -0600

    SOLARIS: Check for map_addr() without 'vacalign'
    
    Add a configure check to see if the map_addr() function contains the
    'vacalign' argument or not. The argument was removed sometime around
    Solaris 11.4.
    
    Reviewed-on: https://gerrit.openafs.org/12947
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 00e12efa29659c28f0fd7b6acbfb57d91a6ca477)
    
    Change-Id: I141ad3c54b2aa3e32311785f4320eba04d840bb2
    Reviewed-on: https://gerrit.openafs.org/13102
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 04ed8a2f4fb33c22b1e6c0a56f137666e412a64d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 7 15:57:56 2018 -0600

    hcrypto: Avoid arc4random in kernel
    
    Our HAVE_ARC4RANDOM symbol represents the availability of arc4random()
    in userspace, not in the kernel. On Solaris, we'll define
    HAVE_ARC4RANDOM, but the built kernel module will be unusable, since
    we cannot resolve the arc4random symbol.
    
    To to avoid this, undef HAVE_ARC4RANDOM when building hcrypto for the
    kernel, just like we do with HAVE_GETUID.
    
    Reviewed-on: https://gerrit.openafs.org/12946
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6082243e42525c738239fe429bcb64e0e4f22207)
    
    Change-Id: I41c4c6f65581aee3d53a7c4b8f6c108f88631e3f
    Reviewed-on: https://gerrit.openafs.org/13101
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e6198969d4b556c3e39085c01dc2e761731fbdb7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 22 13:23:18 2018 -0500

    venus: convert fs.c to safer string functions
    
    Convert string handling to safer functions to avoid buffer overflows.
    
    Reviewed-on: https://gerrit.openafs.org/12923
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5a8b68153124c3a9224f0b6993df9de9c6c54541)
    
    Change-Id: Ic7fd4c3c0ffd4b0b38b9735002e9bf8eba8fd0d6
    Reviewed-on: https://gerrit.openafs.org/13100
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e1b71e88452b2a5ff7473514661cb85dfac1b3c1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 19 14:01:56 2018 -0500

    venus: fix format overflow warning
    
    Recent versions of gcc generate a format overflow warning on the dfstring
    buffer in fs.c.  Increase the size of the buffer to avoid a possible buffer
    overflow.
    
        fs.c: In function ‘AclToString’:
        fs.c:770:30: error: ‘%s’ directive writing up to 1024 bytes
        into a region of size between 13 and 23 [-Werror=format-overflow=]
          sprintf(dfsstring, " dfs:%d %s", acl->dfs, acl->cell);
                                      ^~
        fs.c:770:2: note: ‘sprintf’ output between 8 and 1042 bytes into
        a destination of size 30
          sprintf(dfsstring, " dfs:%d %s", acl->dfs, acl->cell);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Reviewed-on: https://gerrit.openafs.org/12917
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit c84f36a9b8c6b6adb9c77bab1c814ccd3aaf6a5b)
    
    Change-Id: I05bef3e09455377364a014b41de1e047f5322c8b
    Reviewed-on: https://gerrit.openafs.org/13099
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1bbe9a3fd555d6b968e0e9794edf34aa2e3ac1a6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 22 16:07:55 2018 -0500

    butc: convert butc/dump.c to safer string handling
    
    Convert butc/dump.c to safer string handling functions to avoid buffer
    overflows.
    
    Reviewed-on: https://gerrit.openafs.org/12922
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 70b7f743550a8ce02292a12c4188deaf85b1a533)
    
    Change-Id: I7a062663b5ac2ab0000fe176c7bfdf3896cfb782
    Reviewed-on: https://gerrit.openafs.org/13098
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dba69c2a190103d1941ca6232d9a466f259a206c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 19 13:57:16 2018 -0500

    butc: fix format overflow warning
    
    Recent versions of gcc generate an overflow warning in the butc DUMPNAME macro
    when copying values into the finishedMsg1 buffer. Increase the size of the
    destination buffer to avoid a possible buffer overflow.
    
        dump.c:88:24: error: ‘%s’ directive writing up to 63 bytes into
        a region of size 50 [-Werror=format-overflow=]
              sprintf(dumpname, "%s (DumpId %u)", name, dbDumpId);
                                ^
        dump.c:1294:5: note: in expansion of macro ‘DUMPNAME’
             DUMPNAME(finishedMsg1, nodePtr->dumpSetName, dparams.databaseDumpId);
             ^~~~~~~~
        dump.c:88:6: note: ‘sprintf’ output between 12 and 84 bytes into
        a destination of size 50
              sprintf(dumpname, "%s (DumpId %u)", name, dbDumpId);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        dump.c:1294:5: note: in expansion of macro ‘DUMPNAME’
             DUMPNAME(finishedMsg1, nodePtr->dumpSetName, dparams.databaseDumpId);
             ^~~~~~~~
    
    Reviewed-on: https://gerrit.openafs.org/12916
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cec45d59440f55316097cfd6652d2ea26cd55233)
    
    Change-Id: I9f3b284d4a32b868091986964af128ed9b3557fd
    Reviewed-on: https://gerrit.openafs.org/13097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f947e1dcb35988f1e39ec51c7f5cf0f2c4fc321c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 15 18:40:07 2018 -0600

    RHEL: Add aarch64/arm64 to spec file
    
    Reviewed-on: https://gerrit.openafs.org/12911
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3ddae7d168ac08c46b4e31517fdb1f6ac1ae63ac)
    
    Change-Id: Iabbdac7b2ca9e5d066db08dd871203ae341538af
    Reviewed-on: https://gerrit.openafs.org/13096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: PatRiehecky <jcpunk@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 10be5372aa520f84bf63cce258e9ecddbb6b43c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Mar 7 17:27:47 2015 -0600

    Add support for arm64_linux26
    
    Add support for the arm64/aarch64 architecture on Linux 2.6+. The
    param header file is mostly combined from arm and amd64.
    
    Note that the code for syscall interception has not been updated for
    arm64, so this will not build on arm64 without support for kernel
    keyrings. This also does not define any AFS syscall number, since no
    number in the Linux arm64 syscall table is "free" for us to use, as
    far as I am aware.
    
    Adapted from initial patches from Micheal Waltz <mwaltz@qualcomm.com>.
    
    Reviewed-on: https://gerrit.openafs.org/11940
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 4f7550dcaf9375046514cdd97cea0f667e955e9f)
    
    Change-Id: I12988da1fbbc7e3733fddf4ca11ad65b96a9c02f
    Reviewed-on: https://gerrit.openafs.org/13095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 891cb67329d595d805289f533e6ee329c0a3851b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Mar 8 11:47:28 2015 -0500

    hcrypto: Avoid 'double' param in arm64 kernel code
    
    Currently, the RAND_add function in hcrypto uses a floating point
    argument (specifically, a 'double'), as well as any implementations of
    RAND_add. On Linux arm64, we cannot use floating point code in the
    kernel, since the kernel module is compiled with -mgeneral-regs-only,
    which prevents the use of floating point registers. No code in the
    tree actually makes use of this argument, but its mere presence is
    enough to cause an error with at least some versions of gcc with
    certain arguments.
    
    To get around this, simply change all instances of 'double' in hcrypto
    to be a void pointer instead. This allows the code to compile as long
    as nobody actually uses that argument in the kernel. If the code is
    changed such that we do actually use that argument, the argument will
    be a void* and so will probably (hopefully) cause a compiler error,
    and the code will need to be examined to make sure this workaround
    doesn't break anything.
    
    We already do this on Solaris, which has similar issues for different
    compiler versions and compiler flags. Add arm64 Linux to the cases
    where we do this, but restrict this to kernel code only, to try to
    avoid doing this more often than necessary.
    
    Reviewed-on: https://gerrit.openafs.org/11939
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit b792dea0f1f83673b0b045adf608412901b3024c)
    
    Change-Id: I95a016ba4a3dc368680b512110eb0058fcfdb468
    Reviewed-on: https://gerrit.openafs.org/13094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 518220c7f9b22bac6b9a237708737a18ee7f285e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 13 10:33:05 2015 -0500

    Do not set default AFS_SYSCALL
    
    Currently, afs_args.h will define an AFS_SYSCALL value by default (31)
    if the current platform does not define an AFS_SYSCALL value on its
    own (via its param.h info).
    
    This is dangerous, since if a platform does not define an AFS_SYSCALL,
    or if it happens to not be defined for any reason, some code may try
    to call syscall 31, which could be anything.
    
    So get rid of this. If this breaks the build on any platform, then
    that platform should define AFS_SYSCALL in its own platform-specific
    header, or get rid of the problematic AFS_SYSCALL usage.
    
    Reviewed-on: https://gerrit.openafs.org/11938
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0a896b93c86e86f5b438880ef1634b4e39ee5779)
    
    Change-Id: Ifcc17d5e26fde01302c43331ffdf005b6b9c3bd3
    Reviewed-on: https://gerrit.openafs.org/13093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 73c15c4521f508e4b7d2c573a056b2105e51bb34
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 11 12:55:42 2015 -0500

    Do not require AFS_SYSCALL
    
    Various parts of the code make use of AFS_SYSCALL in order to
    communicate with the libafs kernel module. Even though most modern
    platforms do not use an actual syscall anymore (instead using an
    ioctl-based method or similar to emulate the traditional AFS syscall),
    some code paths rely on AFS_SYSCALL as a fallback, or just use
    AFS_SYSCALL because they were never updated to use the newer methods.
    
    Even platforms that do not use the traditional AFS syscall still
    define the AFS_SYSCALL number, in case someone still uses it for
    something. However, some platforms do not have an AFS syscall number;
    there is no "slot" allocated to us, so we cannot safely issue any
    syscall.
    
    For those platforms, we must not reference AFS_SYSCALL at all, or we
    will fail to build. So, get rid of these references to AFS_SYSCALL if
    it is not defined. In some places, we can just avoid the relevant code
    making the syscall. In a few other places, we just pretend like the
    libafs kernel module was not loaded and yield an ENOSYS error, to make
    the code simpler.
    
    Reviewed-on: https://gerrit.openafs.org/11937
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ian Wienand <iwienand@redhat.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ed513bb516acdb28fc6bbf01714ef2e1df422a8a)
    
    Change-Id: I5e7e2381935eaa595f9fa796f963260b870dc72c
    Reviewed-on: https://gerrit.openafs.org/13092
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 902e70a30a87aaabe468f48a792729effdc94f1b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 5 00:07:10 2018 -0600

    util: Add the AFS_STRINGIZE() macro
    
    Add a macro to help with easily printing the value of #define'd
    constants, called AFS_STRINGIZE(). For example:
    
        printf("The value of AFS_SYSCALL is: " AFS_STRINGIZE(AFS_SYSCALL) "\n");
    
    Reviewed-on: https://gerrit.openafs.org/12893
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ian Wienand <iwienand@redhat.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f5794e029903db79f345f42582230a1fd0f7d823)
    
    Change-Id: I33d14a62a04c0f79521ec253d51587952bf909a3
    Reviewed-on: https://gerrit.openafs.org/13091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9a03d84434af4dc69afa3e165fe856e45bab8623
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue May 8 19:09:42 2018 -0500

    LINUX: Remove unused osi_fetchstore.c
    
    Ever since commit ae5f411c (Linux 4.4: Do not use splice()), most of
    osi_fetchstore.c has been '#if 0'd out. The only portion that isn't is
    a function definition that is unreferenced (afs_linux_read_actor).
    
    Remove the unused code, and other '#if 0' references to it; the code
    can always be added back later when we can actually use it.
    
    Reviewed-on: https://gerrit.openafs.org/13061
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 96a4bee20d42484148d163b85ca049dcc980a7a5)
    
    Change-Id: I224a630f6f3f1d9e0d08a6cd7eae3d3b871b2bd6
    Reviewed-on: https://gerrit.openafs.org/13074
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 92de7260ee45200b6832cb7f727a582fc37c3699
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 30 17:58:43 2018 -0500

    afs: WriteThroughDSlots: Avoid write error panic
    
    Currently, afs_WriteThroughDSlots panics if our call to
    afs_WriteDCache fails. Since afs_WriteThroughDSlots is called every
    minute by a background daemon, this means that if our cache fs becomes
    inaccessible (by being forced read-only, or for any other reason), we
    are virtually guaranteed to panic relatively quickly.
    
    To try to avoid this at least for some cases, change
    afs_WriteThroughDSlots to return an error to our caller when we
    encounter such an error. For our background task, we can just ignore
    the error and retry the writes on a future iteration. During shutdown,
    we still panic if we encounter an error, to try to avoid silently
    allowing a corrupt cache to be used on subsequent boots.
    
    Reviewed-on: https://gerrit.openafs.org/13047
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 46d5695a383b2b993fdd598b770f4e3c0e1a41f3)
    
    Change-Id: Iccbec550c00ac725c0033b075ac3cd0b4e1c78c2
    Reviewed-on: https://gerrit.openafs.org/13073
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e05a095455294feff4e1b28a432896222a3ffd94
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 30 17:33:14 2018 -0500

    afs: Avoid afs_GetDCache panic on cache open error
    
    When we need to populate a dcache entry, afs_GetDCache calls
    afs_CFileOpen to get a handle for our file backing that dcache.
    Currently, if we cannot open the file, we panic.
    
    To handle this a little more gracefully, just return an error from
    afs_GetDCache instead. The relevant userspace request will probably
    fail with EIO, but this is better than possibly crashing the whole
    system.
    
    Reviewed-on: https://gerrit.openafs.org/13046
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 22e64df8e043fa7bd78bff263866ee2bd6a6e13d)
    
    Change-Id: Iddc7b0ebc56a64d792251f1f42c576603f2a86cf
    Reviewed-on: https://gerrit.openafs.org/13072
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a5eeee6d2ef87d95722950989a2d261efc72b959
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 30 17:30:56 2018 -0500

    LINUX: Return NULL for afs_linux_raw_open error
    
    Currently, afs_linux_raw_open (and by extension, LINUX's
    implementation of osi_UFSOpen) panic when they are unable to open the
    given cache file. To allow callers to handle the error more
    gracefully, change afs_linux_raw_open and osi_UFSOpen to return NULL
    on error, instead of panic'ing. Expand the language a little on the
    message logged while we're here, since the system might keep running
    after this situation now.
    
    This commit also changes all callers that did not already handle
    afs_linux_raw_open/osi_UFSOpen errors to assert on errors, so we still
    panic for all situations where we encounter an error. More graceful
    behavior will be added in future commits; this commit does not change
    the behavior on its own.
    
    An error on opening cache files can legitimately happen when there is
    corruption in the filesystem backing the disk cache, but possibly the
    easiest way to generate an error is if the filesystem has been
    forcibly mounted readonly (which can happen at runtime due to
    filesystem corruption or various hardware faults). The latter will
    generate -EROFS (-30) errors, but of course other errors are probably
    possible.
    
    Reviewed-on: https://gerrit.openafs.org/13045
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f6af4a155d3636e8f812e40c7169dd8902ae64be)
    
    Change-Id: I5f9a71a96cd9c875f4b024562dfa714f9cc27e2f
    Reviewed-on: https://gerrit.openafs.org/13071
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5b9da66861db10dcc1d896769b495738cc07b450
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri Feb 23 18:47:46 2018 -0500

    rx: connection aborts send serial zero when no conn available
    
    When no connection object is available, send serial number zero (0)
    instead of one (1).  There is no harm in sending one (1) but it might
    be confused as the first packet sent on the connection.  Multiple
    connection aborts sent would all be sent with serial one (1).
    
    Serial number zero (0) can be an indication to humans reading packet
    traces that the sender has no knowledge of the connection.
    
    Reviewed-on: https://gerrit.openafs.org/12932
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 09f31d4c21328bcdc1dccdedf7df53d77c22e3e3)
    
    Change-Id: Ie5b8052903307be4bc932e57e45efae7dd75dec8
    Reviewed-on: https://gerrit.openafs.org/13051
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 36575f909b5e655d78ee0eda691550cb153860c9
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Fri Feb 23 18:26:24 2018 -0500

    rx: pass serial number to rxi_SendRawAbort
    
    The practice of stamping abort packets with the connection's next
    serial number was altered by a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8.
    
    This change restores the prior behavior by passing a serial number
    as a parameter to rxi_SendRawAbort() so that the serial number can
    be obtained from the connection instead of hard coded as 1.
    
    Reviewed-on: https://gerrit.openafs.org/12931
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cacf2b646759132dbf21e9c04fb3cfc6c2f8f1f3)
    
    Change-Id: I36925d4283ba0aaedc7bee0e878d0e18d9aa23a7
    Reviewed-on: https://gerrit.openafs.org/13050
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8fa929c4cb72f07816b7ab09fcf3c8af6bc4d65d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Apr 26 19:33:31 2018 +0200

    redhat: Make separate debuginfo for kmods work with recent rpm
    
    Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 introduced the
    creation of separate debuginfo packages for kmod packages, and
    commmit 387ae9536888419d7b101513e04e1c644e3218d6 moved the code
    from the spec into the kmodtool script.
    
    Recent versions of rpm (the issue was found on Fedora 27) extract
    the debuginfo data from a copy of the original files having the
    package version-release as a suffix. This broke the original
    change since the regular expression passed to find-debuginfo.sh
    no longer matched the name of the openafs.ko file. The file list
    for the -debuginfo package remained empty, which caused rpmbuild
    to fail.
    
    Relax the regex to match the previous and current file names we
    are after. It is possible but unlikely that .*openafs\.ko.* will
    ever match any file not being a kernel module.
    
    Reviewed-on: https://gerrit.openafs.org/13030
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 076b73e06df8240f209470ea6ee19b66eb4166c3)
    
    Change-Id: Ib8a683d586ad3bd5237f27546a95ce92dd9de04f
    Reviewed-on: https://gerrit.openafs.org/13036
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a83c74471644cc1f0d39de86cd5a1c54a4d594e7
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Apr 26 19:50:06 2018 +0200

    redhat: PACKAGE_VERSION macro no longer exists
    
    Commit 0d0e7699c9f789214205fe6837cded1a4c95f9c0 replaced all uses
    of the %PACKAGE_VERSION macro in the spec with the %version one, but
    missed an instance in the kmodtool script. Fix this, to avoid a
    warning during rpmbuild.
    
    Reviewed-on: https://gerrit.openafs.org/13031
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cfa74883e4996dfee2bd6ffaa3b967e5a7941e0b)
    
    Change-Id: I2d57ddc3700f509da3255df1f952f55d8cd7f0e8
    Reviewed-on: https://gerrit.openafs.org/13037
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b65f3bf787ed2b61aa06c9282f154653c41355dd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 5 23:43:34 2018 -0400

    redhat: remove the openafs-kernel-version.sh script
    
    Commit ec706b21530240d7fb66bad2f08513eff8f7c335 (Remove Linux 2.4 compat
    from RedHat packaging) removed the use of the script
    openafs-kernel-version.sh, which was used in the linux 2.4 days to look
    up the current kernel version.  Nowadays, we use the openafs-kmodtool
    script to determine the kernel version.
    
    Remove the unused openafs-kernel-version.sh script from the package
    sources.
    
    Reviewed-on: https://gerrit.openafs.org/12996
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 28ea20d03f8abd8109547d6825edad159748397a)
    
    Change-Id: I8d85ad57e1202f190c1a88812b4532b9642597f5
    Reviewed-on: https://gerrit.openafs.org/12999
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 17f76dfa6abc17a36d78b9e1dc0354cbccc98489
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 5 22:56:50 2018 -0400

    redhat: remove extra kernel version check
    
    Commit a1c072ac562ccf74e5afb8449db1bcef86aef362 (redhat: fix rpmbuild command
    line option defaults) added logic to set the default value of the kernvers
    variable when not specified as an rpmbuild command line option.
    
    This default value is not necessary, since 'kmodtool verrel' already returns
    the current running kernel version by default.  The result of 'kmodtool verrel'
    sets the kverrel variable, which holds the value of the kernel version we are
    building.  The kernvers variable is only used as an argument to 'kmodtool
    verrel' and may be empty by default to indicate the current version should be
    returned.
    
    Remove the unnecessary setting of the default value of kernvers.
    
    Also update the information banner to show the value of kverrel, which is the
    actual version we are building, instead of kernvers, which is empty be default.
    
    Reviewed-on: https://gerrit.openafs.org/12995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9f0164f4254da39c3c31e0268da58ce7a6ccda1d)
    
    Change-Id: I355e3772c6bda18a385b48be80fb7f952c2fca3b
    Reviewed-on: https://gerrit.openafs.org/12998
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b30f21b8ec494d921c6ac513bf1022d5937ba220
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Apr 4 17:09:39 2018 +0200

    FBSD: param.h consistency
    
    Commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0 ("Add param.h
    files for recent FreeBSD") introduced an inconsistency between
    the i386 and amd64 param.h files for 11.1 and 12.0 regarding
    the *_FBSD101_ENV #defines.
    
    Citing Benjamin Kaduk: "Traditionally we have the param.h for
    a FreeBSD N.0 release include the (N-1).Y values that existed
    at the time of the N.0 release, and freeze that set of (N-1).Y
    values for the lifetime of FreeBSD N.x, if that makes sense."
    
    Given that FreeBSD 11.0 was released shortly after 10.3, and
    12.0 is not yet released, consistently #define
    *_FBSD10{1..3}_ENV for 11.1 and *_FBSD10{1..4}_ENV for 12.0
    
    Reviewed-on: https://gerrit.openafs.org/12990
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 154512831966d12c1e32e6271d4ab1440a25b96e)
    
    Change-Id: I5a746beec62f3843526af3f65e0ba03380a5aa41
    Reviewed-on: https://gerrit.openafs.org/12997
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a819cf483e03d32b2213175e19e628d7c3d8194d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Mar 26 20:21:19 2018 +0200

    redhat: Create unique debuginfo packages for kmods
    
    Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 ("redhat:
    separate debuginfo package for kmod rpm") introduced the
    creation of separate debuginfo packages for the kmod packages.
    As such, this is useful, but all debuginfo packages for a given
    OpenAFS release ended up with the same name/version/release for
    the kmod debuginfo package, no matter which kernel release or
    variant the kmod was built for.
    
    Move the additional black magic from the spec into the kmodtool
    script where we have the means to do better: Use the same naming
    and versioning conventions as for the kmod-openafs packages
    themselves.
    
    Reviewed-on: https://gerrit.openafs.org/12977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 387ae9536888419d7b101513e04e1c644e3218d6)
    
    Change-Id: I220408eacd0c39449843240f225cfced163cbff7
    Reviewed-on: https://gerrit.openafs.org/12986
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 72b2da46bb0f997d70cca3cca7abc4a135d3d500
Author: Andrew Deason <adeason@dson.org>
Date:   Wed Mar 7 11:32:43 2018 -0600

    ubik: Log sync site for SDISK_SendFile USYNC error
    
    In SDISK_SendFile, we return a USYNC error if the caller is not the
    sync site. Say who the sync site is when we do this, to possibly help
    post-mortem debugging.
    
    Reviewed-on: https://gerrit.openafs.org/12943
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c44f6f7a8052bdd1fb021e07bb6ae142b61e6b5b)
    
    Change-Id: I398780c98ee5eade75e06a42d54637c169bc250a
    Reviewed-on: https://gerrit.openafs.org/12948
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e46c5c455c4eceb5dac5e86611d039c6c7089d6e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 7 13:11:03 2018 -0600

    Avoid empty libtool -export-symbols-regex pattern
    
    Currently, in LT_LDLIB_shlib_missing, we construct our
    -export-symbols-regex pattern like so (with some escaping):
    
        "($(sed -e 's/^/^/' -e 's/$/$/' xxx.sym | tr '\n' '|' | sed -e 's/|$//'))"
    
    The idea is that for a .sym file consisting of, for example:
    
        foo
        bar
    
    We then generate a regex like (^foo$|^bar$). However, since the 'tr'
    removes all newlines, the line given to the last 'sed' in the pipeline
    has no trailing newline. On some systems, such as Solaris, this causes
    sed to not output anything at all, resulting in a regex pattern of
    just "()".
    
    For example:
    
        # on Debian
        $ echo -n foo | sed -e 's/foo/bar/'
        bar$
    
        # on Solaris
        $ echo -n foo | sed -e 's/foo/bar/'
        $
    
    To avoid this, we can change the sed pipeline to not remove the
    newlines until the very end. Change the way we construct our regex to
    this instead:
    
        "($(sed -e 's/^/^/' -e 's/$/$|/' -e '$ s/|$//' xxx.sym | tr -d '\n'))"
    
    So the sed removes the extra '|' in the last element by looking at the
    last line, instead of looking at the end of the line after the 'tr'
    conversion.
    
    Reviewed-on: https://gerrit.openafs.org/12944
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit d0805d72b7a48dcaa7abe1aea136a8cd963d76c2)
    
    Change-Id: Iebf0996e63c6233bebbf855cde21094a73fbd420
    Reviewed-on: https://gerrit.openafs.org/12949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b41065f2b8877580a7e1858b8e2857973ddf6503
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Feb 22 17:53:23 2018 -0500

    ubik: don't set database epoch to 0 if not needed
    
    If our attempt to receive a fresh database from a peer fails, we will
    overwrite the version.epoch field of our current local copy of the
    database with an invalid value, "0". The idea behind this approach is
    to make sure that this database will not be seen as a legit copy if the
    transfer is not completed properly. Although it is questionable if this
    approach is still necessary (since the current version writes the data
    into a temporary file), it is undisputed that the database version does
    not have to be invalidated if the transfer fails in a early stage where
    no data has been written and we could safely continue to reuse the local
    copy for read-only queries. Early failures may happen if:
    
    1. The peer sending the database to us is not the peer we believe to be
    the sync site;
    
    2. The sender is not authorized to call DISK_SendFile;
    
    In both cases, the database epoch is invalidated. As a result of that,
    we may have the following consequences:
    
    1. Reads may not be allowed
    
    Once the on disk epoch is invalidated, if the server in question is
    rebooted, the invalid on disk epoch will be used to initialize the in
    memory epoch. At this point, reads may not be allowed since
    urecovery_AllBetter checks if the in memory epoch is greater than 1.
    Reads should not be blocked forever since the sync-site will send a new
    database to this remote and, as a result of that, the invalid version
    will be corrected.
    
    2. Data can be lost
    
    If the site with the invalid epoch is the one with the most recent
    database, the database can be rolled back to an earlier version during a
    new quorum establishment. Consider the following scenario where we have
    three sites:
    
    Site A (up - database up to date) (sync-site)
    Site B (up - database up to date)
    Site C (down - old database)
    
    The epoch of B is invalidated due to the problem fixed by this patch.
    Then, A is turned off and C is turned on. In this scenario, the new
    sync-site will distribute the old database held by C since its epoch is
    greater than 0.
    
    To fix the problem in question, do not set the database epoch to 0
    if the local database was not modified.
    
    Acknowledgements:
    
    Hartmut Reuter <hartmut.reuter@gmx.de>
        - found the problem;
        - suggested a possible solution;
    
    Benjamin Kaduk <kaduk@mit.edu>
        - submitted the first version;
    
    Andrew Deason <adeason@sinenomine.net>
        - suggested changes;
    
    Reviewed-on: https://gerrit.openafs.org/12924
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    (cherry picked from commit bd6a2484011dad6298c4ce97dd0cd68e0834baa5)
    
    Change-Id: I64808d4adf6a5925083a671308a60f93ca427180
    Reviewed-on: https://gerrit.openafs.org/12937
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0b1d10fd2535b0059d1e88c23fbd3f60041edc9f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 20 11:51:01 2018 -0500

    afs: improve -volume-ttl error messages
    
    Change the afs call which sets the volume ttl value to return EFAULT
    instead of EINVAL when given an out of range value for the volume ttl
    parameter.  This is more consistent with the other op codes, which
    return EFAULT when given an out of range parameter and allows the caller
    to distinguish between an invalid opcode and a bad parameter.
    
    Move the volume ttl range constants to afs_args.h, which is where
    constants related to the op codes are supposed to be defined. This makes
    the constants available to the caller in afsd.c as well as the
    implementation in afs_call.c.
    
    Update afsd to print a more sensible error message when the volume ttl
    set calls fails due to an out of range parameter.
    
    Reviewed-on: https://gerrit.openafs.org/12918
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6d74e3d6a1becf86cec30efc2d01a5692167afe1)
    
    Change-Id: I2cd86b6fbba31f74862bb902ac94b0874de8afac
    Reviewed-on: https://gerrit.openafs.org/12936
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1d288d8776f1e91e55ee150a864126bcd60c1998
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Mar 9 18:34:54 2018 -0600

    Make OpenAFS 1.8.0
    
    Update version strings for 1.8.0.
    
    Change-Id: I80be6d31a6578c6cc8de636e6064d320b25a4246
    Reviewed-on: https://gerrit.openafs.org/12954
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a08327fe2e74269d26eef1cddd7c9f9b7efa96e2
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Mar 9 18:32:29 2018 -0600

    Update NEWS for 1.8.0 final release
    
    Change-Id: I70d73b832cd69395c712b42a391cd4d6d3ea4c8f
    Reviewed-on: https://gerrit.openafs.org/12953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit acb0e84df0cdff1ee1b4098b2705e5a30dd7eb38
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Mar 1 20:28:23 2018 -0600

    afs_pioctl: avoid -Wpointer-sign
    
    Change the declaration of 'addr' to be a signed int, to match
    RXAFS_CallBackRxConnAddr() and the afsd_pd_GetInt() used with it.
    This was detected by clang 4.0 in FreeBSD 11.1, via -Wpointer-sign.
    
    Reviewed-on: https://gerrit.openafs.org/12934
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 79f33b859aeb3c91f2cce7597fdc138978c4e1d9)
    
    Change-Id: Iee85059bebfc8d6fbda3409b720576bd4f6c5f8f
    Reviewed-on: https://gerrit.openafs.org/12938
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b73863b8d2669830a17c097abf1d846d0108a2f4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 1 23:16:56 2018 -0500

    LINUX: fix RedHat 7.5 ENOTDIR issues
    
    Red Hat Linux 7.5 beta introduces a new file->f_mode flag
    FMODE_KABI_ITERATE as a means for certain in-tree filesystems to
    indicate that they have implemented file operation iterate() instead of
    readdir().  The kernel routine iterate_dir() tests this flag to decide
    whether to invoke the file operation iterate() or readdir().
    
    The OpenAFS configure script detects that the file operation iterate()
    is available under RH7.5 and so implements iterate() as
    afs_linux_readdir().  However, since OpenAFS does not set
    FMODE_KABI_ITERATE on any of its files, the kernel's iterate_dir() will
    not invoke iterate() for any OpenAFS files.  OpenAFS has also not
    implemented readdir(), so iterate_dir() must return -ENOTDIR.
    
    Instead, modify OpenAFS to fall back to readdir() in this case.
    
    Reviewed-on: https://gerrit.openafs.org/12935
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c818f86b79a636532d396887d4f22cc196c86288)
    
    Change-Id: I71386b17f0c751b69c86ef0f5766a5baf3dc36bd
    Reviewed-on: https://gerrit.openafs.org/12950
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 55fbc8ee055958b309011eeb62d7166ff0415905
Author: Andrew Deason <adeason@dson.org>
Date:   Thu Feb 15 16:41:33 2018 -0600

    rxdebug: NUL-terminate version before printing
    
    Currently, 'rxdebug -version' never initializes the buffer we read the
    version string into. Usually this is not noticeable, since all OpenAFS
    binaries tend to pad the Rx version response packet with NULs, so we
    get back several NULs to terminate the string. However, this is not
    guaranteed, and if we do not get back a NUL-terminated string, we can
    easily read beyond the end of the buffer.
    
    To avoid this, initialize the 'version' buffer with NULs before we do
    anything, and set the last byte to NUL, in case we exactly filled the
    buffer.
    
    Reviewed-on: https://gerrit.openafs.org/12908
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit a66629eac4dda4eea37b4f06e0850641cb2a7387)
    
    Change-Id: I850ce16840ee264dce506e8b3c887004bca11e20
    Reviewed-on: https://gerrit.openafs.org/12912
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3d58c397c6935afd64e3a41017baf627106a3003
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 15 16:53:57 2018 -0600

    doc: Edits to the 'afsd -volume-ttl' manpage
    
    Make a few misc changes to the text for the new -volume-ttl option:
    
    - Minor grammatical/typo fixes
    
    - Emphasize a little more that the default behavior allows for vldb
      info to be cached _forever_
    
    - Provide some info on the effects of changing this value
    
    - Provide a suggested "typical" value, to give some clue as to what
      should be set here, so a curious user doesn't just set this to the
      first value they see (10 minutes)
    
    Reviewed-on: https://gerrit.openafs.org/12909
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    (cherry picked from commit e6c2624249a6ab96053c1d1134aec8e3f6bcee9e)
    
    Change-Id: I781ec2e8b4873093f65d11b5883f8b74ad397cff
    Reviewed-on: https://gerrit.openafs.org/12913
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2a196ba47247742fb294e5a879cb9e54c956028a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 20 20:31:11 2018 -0500

    redhat: package libuafs perl bindings
    
    Require the swig package as a build dependency. Build and package the
    libuafs perl bindings.  Place these libraries in the openafs-devel
    package, along with the man page (moved from the openfs-client package).
    
    This fixes an rpm build error when the swig package is present on the
    build system,
    
        RPM build errors:
        Installed (but unpackaged) file(s) found:
        /usr/lib64/perl/AFS/ukernel.pm
        /usr/lib64/perl/ukernel.so
    
    FIXES 134470
    
    Reviewed-on: https://gerrit.openafs.org/12919
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 278581c24a802834719e0d57f27978321556c9bb)
    
    Change-Id: I892e1f58e92f1eb66eeae8fb0d237bed0bdb2a62
    Reviewed-on: https://gerrit.openafs.org/12921
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 774df869fc1753e94f79c6a0b617b7adb9e4060c
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Sat Feb 10 10:47:24 2018 -0500

    rx: Do not count RXGEN_OPCODE towards abort threshold
    
    An RXGEN_OPCODE is returned for opcodes that are not implemented by the
    rx service.  These opcodes might be deprecated opcodes that are no
    longer supported or more recently registered opcodes that have yet to
    be implemented.  Clients should not be punished for issuing unsupported
    calls.  The clients might be old and are issuing no longer supported
    calls or they might be newer and are issuing yet to be implemented calls
    as part of a feature test and fallback strategy.
    
    This change ignores RXGEN_OPCODE errors when deciding how to adjust the
    rx_call.abortCount.  When an RXGEN_OPCODE abort is sent the
    rx_call.abortCount and rx_call.abortError are left unchanged which
    preserves the state for the next failing call.
    
    Note that this change intentionlly prevents the incrementing of the
    abortCount for client connections as they never send delay aborts.
    
    Reviewed-on: https://gerrit.openafs.org/12906
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f82d1c7d5aeae148305e867c1f79c6ea2f9e0a2a)
    
    Change-Id: I7a4216bea3a355c31a390c5b4753b4ab0c25661c
    Reviewed-on: https://gerrit.openafs.org/12914
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cabecc719195047ea321bd62e95d52503d15686e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Dec 26 17:42:39 2017 -0600

    Make OpenAFS 1.8.0pre5
    
    Update version strings for the fifth 1.8.0 prerelease.
    
    Change-Id: I118da0fc55013ccfb2b5cd586cefb1b0c27f10d9
    Reviewed-on: https://gerrit.openafs.org/12910
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5f0714312b211c4a6d6157df6f1f3d9e26dcc03f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 9 17:59:19 2018 -0500

    Update NEWS for 1.8.0pre5
    
    Change-Id: I09e509694c5f7ad59e279b89bd9e144aca2ec4e7
    Reviewed-on: https://gerrit.openafs.org/12904
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 50fcd6763d4387950390b732d2a131c230d44c99
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jun 21 16:24:05 2017 -0400

    ubik: check if epoch is sane before db relabel
    
    The sync-site relabels its database at the end of the first write
    transaction. The new label will be equal to the time at which the
    sync-site in question first received its coordinator mandate. This time
    is stored by a global called ubik_epochTime. In order to make sure that
    the new database label is sane, only relabel the database if
    ubik_epochTime is within a specific range.
    
    Reviewed-on: https://gerrit.openafs.org/12640
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit f5c289d00aaf7c5525b477da5b89f6675456c211)
    
    Change-Id: I78ebd2b8aeae01ef5e3b826ad6f1de5a5c1db79e
    Reviewed-on: https://gerrit.openafs.org/12886
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2b3df9b2f48dcbf3690e093000879b0f06c7e176
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Dec 9 11:37:59 2017 -0600

    Replace <rpc/types.h> with <rx/xdr.h>
    
    Our in-tree xdr.h appears to have started life as a concatenation of
    rpc/types.h and rpc/xdr.h, and should include all the needed functionality.
    Indeed, commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 even indicates
    that we expect to be using our in-tree XDR everywhere anyway, so the
    system XDR is superfluous.
    
    Note that afs/sysincludes.h (not afsincludes.h!) already includes
    rx/xdr.h ifndef AFS_LINUX22_ENV.
    
    This change should help systems running glibc 2.26 or newer, which has
    stopped providing the Sun RPC headers by default.
    
    While here remove some duplicate includes of rpc/types.h in the
    AIX-specific sources.
    
    The Solaris NFS translator bits cannot really be changed, since the system
    headers are used and have tight interdependencies.
    
    Update rxgen to not emit rpc/types.h inclusion.
    
    [mmeffie: squash 12801 to not emit rpc/types.h from rxgen]
    
    Reviewed-on: https://gerrit.openafs.org/12800
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e443a9fb67dbc29e6cc36661a4ac6e91af113f23)
    
    Change-Id: I351e5c1e1223c49ca76e3d68c264ac1625abae60
    Reviewed-on: https://gerrit.openafs.org/12894
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 833e2783a39367f3cebfb79f403a75752f81ab09
Author: Ian Wienand <iwienand@redhat.com>
Date:   Fri Feb 2 10:52:26 2018 +1100

    Add .gitreview
    
    git-review [1] makes it much easier to submit changes.  Add a default
    configuration file.
    
    [1] https://docs.openstack.org/infra/git-review/usage.html
    
    Reviewed-on: https://gerrit.openafs.org/12884
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c7c71d2429cf685f3ffad6b2e6d102d900edc197)
    
    Change-Id: I271cfeb6aea888ae40539e248a18131b0affeda8
    Reviewed-on: https://gerrit.openafs.org/12901
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 780ed24d360df6772b2408017a5d555ae36217c0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jun 30 01:54:21 2015 -0400

    SOLARIS: Avoid vcache locks when flushing pages for RO vnodes
    
    We have multiple code paths that hold the following locks at the same
    time:
    
        - avc->lock for a vcache
        - The page lock for a page in 'avc'
    
    In order to avoid deadlocks, we need a consistent ordering for obtaining
    these two locks. The code in afs_putpage() currently obtains avc->lock
    before the page lock (Obtain*Lock is called before pvn_vplist_dirty).
    
    The code in afs_getpages() also obtains avc->lock before the page lock,
    but it does so in a loop for all requested pages (via pvn_getpages()).
    On the second iteration of that loop, it obtains avc->lock, and the page
    from the first iteration of the loop is still locked. Thus, it obtains a
    page lock before locking avc->lock in some cases.
    
    Since we have two code paths that obtain those two locks in a different
    order, a deadlock can occur. Fixing this properly requires changing at
    least one of those code paths, so the locks are taken in a consistent
    order. However, doing so is complex and will be done in a separate
    future commit.
    
    For this commit, we can avoid the deadlock for RO volumes by simply
    avoiding taking avc->lock in afs_putpages() at all while the pages are
    locked. Normally, we lock avc->lock because pvn_vplist_dirty() will call
    afs_putapage() for each dirty page (and afs_putapage() requires
    avc->lock held). But for RO volumes, we will have no dirty pages
    (because RO volumes cannot be written to from a client), and so
    afs_putapage() will never be called.
    
    So to avoid this deadlock issue for RO volumes, avoid taking avc->lock
    across the pvn_vplist_dirty() call in afs_putpage(). We now pass a dummy
    pageout callback function to pvn_vplist_dirty() instead, which should
    never be called, and which panics if it ever is.
    
    We still need to hold avc->lock a few other times during afs_putpage()
    for other minor reasons, but none of these hold page locks at the same
    time, so the deadlock issue is still avoided.
    
    [mmeffie: comments, and fix missing write lock, fix lock releases]
    [adeason: revised commit message]
    
    Reviewed-on: https://gerrit.openafs.org/12247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5e09a694ec2c0cd20f5dee500eff6bc3dd04c097)
    
    Change-Id: I5d4e4ddba12c09dc549edeee3cad7de40582ac65
    Reviewed-on: https://gerrit.openafs.org/12900
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5bb7684f07b5f346b68230c2f38edad4c46dc648
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 4 22:00:15 2018 -0600

    rx: remove trailing semicolons from FBSD mutex operations
    
    Since the first introduction of FreeBSD support, the macros
    (MUTEX_ENTER, etc.) for kernel mutex operations have included
    trailing semicolons, unique among all the platforms.
    
    This did not cause problems until the recent work on rx event
    handlers, which put a MUTEX_ENTER() in the body of an 'if' clause
    with no brackets, and attempted to follow it with an 'else' clause.
    This results in the following (rather obtuse) compiler error:
    
       /root/openafs/src/rx/rx.c:3666:5: error: expected expression
           else
           ^
    
    Which is more visible in the preprocessed source, as
    
       if (condition)
           expression;;
       else
           other_expression;
    
    is clearly invalid C.
    
    To fix the FreeBSD kernel module build, remove the unneeded semicolons.
    
    Reviewed-on: https://gerrit.openafs.org/12853
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0760feb7992e1e39f716c5f583fe7f6e85584262)
    
    Change-Id: I503a5967a167e9be92721af8dc82d191f3bf18ba
    Reviewed-on: https://gerrit.openafs.org/12899
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2f07951a47a8a820c89e4e6ab1e347858acd8ab5
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Dec 9 11:44:51 2017 -0600

    libuafs: remove stale afs_nfsdisp.lo rule
    
    afs_nfsdisp.lo is not used, so we do not need a build rule for it.
    
    Reviewed-on: https://gerrit.openafs.org/12802
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit decb4308d4e18ad9f6f181e3df5f737698dba7ad)
    
    Change-Id: I53680df1c8648ceb43cc032cada573964622d5b4
    Reviewed-on: https://gerrit.openafs.org/12898
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4988628a2e41955951a49ea0032cabe13f9337d3
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Mon Dec 18 16:58:39 2017 +0100

    Avoid gcc warning
    
    When using the configure option --enable-checking with gcc 7.2.1,
    the compilation fails with
    
    vutil.c:860:20: error: ‘%s’ directive writing up to 255 bytes into \
    a region of size 63 [-Werror=format-overflow=]
    
    This can be seen in the logs of the openSUSE Tumbleweed builder
    for e.g. build 2368.
    Avoid this warning by using snprintf which is provided by libroken
    for all platforms.
    
    Reviewed-on: https://gerrit.openafs.org/12813
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit fd4eaebb60dbefc27be98015fee23a3cf5d9752d)
    
    Change-Id: I3be14f6f1228fd09f036da7ff4f1505c65e49406
    Reviewed-on: https://gerrit.openafs.org/12897
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 35636bd9e32015bc10e09ccbb34a71a1459cdc4b
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Aug 21 14:21:54 2017 -0400

    ubik: avoid DISK_Begin on sites that didn't vote for sync
    
    As already described on 7c708506, SDISK_Begin fails on remotes if
    lastYesState is not set. To fix this problem, 7c708506 does not allow
    write transactions until we know that lastYesState is set on at least
    quorum (ubik_syncSiteAdvertised == 1). In other words, if enough sites
    received a beacon packet informing that a sync-site was elected, write
    transactions will be allowed. This means that ubik_syncSiteAdvertised
    can be true while lastYesState is not set in a few sites.
    
    Consider the following scenario in a cell with frequent write
    transactions:
    
    Site A => Sync-site (up)
    Site B => Remote 1 (up)
    Site C => Remote 2 (down - unreachable)
    
    Since A and B are up, we have quorum. After the second wave of beacons,
    ubik_syncSiteAdvertised will be true and write transactions will be
    allowed. At some point, C is not unreachable anymore. Site A sends a
    copy of its database to C, but C did not vote for A yet (lastYesState ==
    0). A new write transaction is initialized and, since lastYesState is
    not set on C, DISK_Begin fails on this remote site and C is marked as
    down. Since C is reachable, A will mark this remote site as up. The
    sync-site will send its database to C, but C did not vote for A yet. A
    new write transaction is initialized and, since lastYesState is not set
    on C, DISK_Begin fails on this remote site and C is marked as down. In a
    cell with frequent write transactions, this cycle will repeat forever.
    As a result, the sync-site will be constantly sending its database to C
    and quorum will be operating with less sites, increasing the chances
    of re-elections.
    
    To fix this problem, do not call DISK_Begin on remotes that did not
    vote for the sync-site yet.
    
    Reviewed-on: https://gerrit.openafs.org/12715
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 68ec78950a6e39dc1bf15012d4b889728086d0b7)
    
    Change-Id: I3764c23125f0bc675762449cd29b282ba403f871
    Reviewed-on: https://gerrit.openafs.org/12896
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 51816cfd047c05921218ecb1161c9dd7986a422f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 31 16:52:40 2018 -0500

    add rfc3961.h to kernel sources
    
    Export this header to the kernel sources in the libafs_tree, since it is
    needed for the kernel module build.
    
    FIXES 134476
    
    Reviewed-on: https://gerrit.openafs.org/12882
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 073522b3d49467af107d1143cfa015c53347e1e3)
    
    Change-Id: I4e5c7883a1dd4b66b9252f4e630ca489f05e9ad3
    Reviewed-on: https://gerrit.openafs.org/12890
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 07811e3b15de8926d63b423804c620bc3501745b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 8 22:28:24 2018 -0600

    Add param.h files for recent FreeBSD
    
    Add files for FreeBSD 10.4, 11.1, and 12.0 (12-CURRENT), for i386 and amd64.
    
    Reviewed-on: https://gerrit.openafs.org/12863
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 88dc4d93f5ef080da8f56fac453f095e6c79d4a0)
    
    Change-Id: I6ddb0f03e209b0ce9c7ed1168c86a675d7802c23
    Reviewed-on: https://gerrit.openafs.org/12888
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0ba9b5559e112005a6f621ebe55f382bcc2aae0d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 8 21:27:04 2018 -0600

    FBSD: catch up to missing sysnames
    
    Add sysnames for i386 and amd64 10.4, 11.1, and 12.0 (12-CURRENT, at present).
    
    Reviewed-on: https://gerrit.openafs.org/12862
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c390f368a5012f866c1b4ce46d6ac6af6cef2fd5)
    
    Change-Id: I5183c19d446fd0c00bd26c32ca3f7f00a4d12907
    Reviewed-on: https://gerrit.openafs.org/12887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1f10f087264cb39a8354c0baf71eb1fa13071466
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Aug 21 15:50:14 2017 -0400

    ubik: update ubik_dbVersion during SDISK_SendFile
    
    The ubik_dbVersion global represents the sync site's database version
    and it is mostly used by the remote sites for sanity checks. Currently,
    this global is updated when database changes are made on the sync site
    (SDISK_Commit or SDISK_SetVersion), as well as every time we vote "yes"
    for the sync-site in a beacon reply. Unfortunately, ubik_dbVersion is
    not updated when a copy of the sync site's database is received via
    DISK_SendFile, and it won't get updated until our next "yes" vote.
    During this window, the current database version will not match
    ubik_dbVersion. As a result, any write transaction during this time
    frame will fail on the remote site in question.
    
    To fix this problem, do not wait for the next beacon packet to update
    ubik_dbVersion when the sync site's database is received; just update
    it when we get the new database. Since no write transactions are
    allowed while the db is transferring, ubik_dbVersion can be safely
    updated.
    
    Reviewed-on: https://gerrit.openafs.org/12716
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 50c1d1088d2adcbb37b6a9d23fdd63617b1267be)
    
    Change-Id: Icbbe9efb9c8dab9ac69237380e824d4a523a53d3
    Reviewed-on: https://gerrit.openafs.org/12885
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e9419dc895801bda6962f2ac0f5981631a0d95c7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 11 21:27:28 2018 -0600

    LINUX: Avoid locking inode in check_dentry_race
    
    Currently, check_dentry_race locks the parent inode in order to ensure
    it is not running in parallel with d_splice_alias for the same inode.
    (For old Linux kernel versions; see commit b0461f2d: "LINUX:
    Workaround d_splice_alias/d_lookup race".)
    
    However, it is possible to hit this area of code when the parent inode
    is already locked. When someone tries to create a file, directory, or
    symlink, Linux tries to lookup the dentry for the target path, to see
    if it already exists. While looking up the last component of the path,
    Linux locks the directory, and if it finds a dentry for the target
    name, it calls d_invalidate on it while the parent directory is
    locked.
    
    For a dentry with a NULL inode, we'll then try to lock the parent
    inode in check_dentry_race. But since the inode is already locked, we
    will deadlock.
    
    From a user's point of view, the hang can be reproduced by doing
    something similar to:
    
        $ mkdir dir # succeeds
        $ rmdir dir
        $ ls -l dir
        ls: cannot access dir: No such file or directory
        $ mkdir dir # hangs
    
    To avoid this, we can just change which lock we're using to avoid
    check_dentry_race/d_splice_alias from running in parallel. Instead of
    locking the parent inode, introduce a new global lock (called
    dentry_race_sem), and lock that in check_dentry_race and around our
    d_splice_alias call. We know that those are the only two users of this
    new lock, so this should avoid any such deadlocks.
    
    This does potentially reduce performance, since all tasks that hit
    check_dentry_race or d_splice_alias will take the same global lock.
    However, this at least still allows us to make use of negative
    dentries, and this entire code path only applies to older Linux
    kernels. It could be possible to add a new lock into struct vcache
    instead, but using a global lock like this commit does is much
    simpler.
    
    Reviewed-on: https://gerrit.openafs.org/12868
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit ef1d4c8d328e9b9affc9864fd084257e9fa08445)
    
    Change-Id: Ia8e28519fff36baca7dc4061ceef6719a2a738d4
    Reviewed-on: https://gerrit.openafs.org/12881
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f523c92a74bace287d1139fab77a030b9598ef61
Author: Caitlyn Marko <cmarko@sinenomine.net>
Date:   Thu Feb 9 09:16:17 2017 -0500

    SOLARIS: save kernel module function arguments for debugging
    
    Add the -Wu,-save_args compiler option when building kernel modules
    under Solaris 10 and 11 for the amd64 architecture.
    
    Binaries generated with this option save function arguments on the stack
    during function entry for debugging purposes. Up to six integer
    arguments are saved on function entry, and are not modified during the
    execution of the function.
    
    [mmeffie: commit message update]
    
    Reviewed-on: https://gerrit.openafs.org/12798
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 32d0493a7e4f74f5e5efdfde5eca29ed7d1bf3ec)
    
    Change-Id: I478ce65da78b86aa3c13e1c615bafd51d0f5d567
    Reviewed-on: https://gerrit.openafs.org/12903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 96ce04c78b5f745424165494c9b76d7ce227eeaa
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Feb 5 21:16:17 2018 +0000

    autoconf: detect ctf-tools and add ctf to libafs
    
    CTF is a reduced form of debug information similar to DWARF and stab. It
    describes types and function prototypes. The principal objective of the
    format is to shrink the data size as much as possible so that it could
    be included in a production environment. MDB, DTrace, and other tools
    use CTF debug information to read and display structures correctly.
    
    This commit introduces a new configure option called --with-ctf-tools.
    This option can be used to specify an alternative path where the tools
    can be found. If the path is not provided, the tools will be searched
    in a set of default directories (including $PATH). The CTF debugging
    information will only be included if the corresponding --enable-debug /
    --enable-debug-kernel is specified.
    
    Note: at the moment, the Solaris kernel module is the only module
    benefited by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12680
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 88cb536f99dc58fdbeb9fa6c47c26774241a0cb6)
    
    Change-Id: I174347370a83b31f68d2631c965e17d72b438cd1
    Reviewed-on: https://gerrit.openafs.org/12902
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0247eb0a8c154811f495142276029a617ae0825a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Dec 30 17:59:38 2017 -0500

    autoconf: refactor linux-checks.m4
    
    Further refactoring of the autoconf macros. Divy up the linux kernel
    checks into smaller files.
    
    This is a non-functional change. Care has been taken preserve the
    ordering of the autoconf tests. Except for whitespace, the generated
    configure file has not been changed by this refactoring.  This has been
    verified with a 'diff -u -w -B' comparison of the generated configure
    file before and after applying this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12844
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6a2b85cd4c00a08e165cb96d2cb56bf87c6324bc)
    
    Change-Id: Iae325bc14fb160f27791b2f3d82198fe671badd8
    Reviewed-on: https://gerrit.openafs.org/12878
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e05b0b10b942ba3585f6d5d505a282c2de95c243
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Dec 30 12:12:59 2017 -0500

    autoconf: refactor ostype.m4
    
    Further refactoring of the autoconf macros. Move more linux and solaris
    specific checks into their own files.
    
    This is a non-functional change. Care has been taken preserve the
    ordering of the autoconf tests. Except for whitespace, the generated
    configure file has not been changed by this refactoring.  This has been
    verified with a 'diff -u -w -B' comparison of the generated configure
    file before and after applying this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12843
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3c2e39bab7d927aa5f20d02a5e327927a4b2b553)
    
    Change-Id: I4d91753afd90e4735ab61413e757f6852750a3de
    Reviewed-on: https://gerrit.openafs.org/12877
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e54963757320adb95b0c73bbd84fb8bf34319210
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Dec 29 14:24:28 2017 -0500

    autoconf: refactor acinclude.m4
    
    The acinclude.m4 is very large and often requires to be changed for
    unrelated commits.  Divy up the large acinclude.m4 into a number of
    smaller files to avoid so many contentions and to make the autoconf
    system easier to maintain.
    
    This is a non-functional change. Care has been taken preserve the
    ordering of the autoconf tests. Except for whitespace, the generated
    configure file has not been changed by this refactoring.  This has been
    verified with a 'diff -u -w -B' comparison of the generated configure
    file before and after applying this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12842
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit c72622a244e561173e86ffe88ee3c9a8c823a76a)
    
    Change-Id: I9504eaa2430fd35f79b55c3df96c82cc7e58fafd
    Reviewed-on: https://gerrit.openafs.org/12876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0798b54b258f48cae8a5b1b3e107a22693d37937
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 8 12:12:22 2016 -0500

    CellServDB update 14 Mar 2017
    
    Update all remaining copies of CellServDB in the tree, and make the
    Red Hat packaging use it by default too.
    
    Reviewed-on: https://gerrit.openafs.org/12880
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3ca1352170f87994d42578c5bc75e52c4103bc69)
    
    Change-Id: I773d35745e14903dd3069a0627932153900e0ba6
    Reviewed-on: https://gerrit.openafs.org/12889
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5eb64632fd76bb7e26a90ab08c83132e7ac99e23
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 17 17:33:50 2018 -0500

    redhat: fix conditional for kernel-debuginfo files directive
    
    Commit 443dd5367e0cd9050ad39a6594c5be521271b4e9 added support for a
    separate debuginfo package for the kernel module.  Unfortunately, the
    %files directive for the kernel module debuginfo package was incorrectly
    placed in the %if stanza of the build_userspace condition, so the
    rpmbuild fails when attempting to build just the kernel module.
    
    That is, when running rpmbuild with the options:
    
        rpmbuild --define "build_userspace 0" --define "build_modules 1" ...
    
    rpmbuild fails with:
    
        RPM build errors:
           Installed (but unpackaged) file(s) found:
           /usr/lib/debug/lib/modules/.../extra/openafs/openafs.ko.debug
    
    Fix this by moving the new %files directive out of the build_userspace
    conditional.
    
    Reviewed-on: https://gerrit.openafs.org/12874
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f599e1ce6354c42a9c0c8f7205ba8a03c35ea72b)
    
    Change-Id: I07e25d3dd43b2cd7056cefb8f0f5c10f78347b85
    Reviewed-on: https://gerrit.openafs.org/12875
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 781624f7f4290a1f44a0f48a04d780e10dd5b3e1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 21 22:30:43 2017 -0400

    redhat: avoid rpmbuild exclude directives
    
    Older versions of rpmbuild do not support the files exclude directive,
    so fall back to the old way in which we remove the files to be excluded
    and list the files to be included.
    
    Reviewed-on: https://gerrit.openafs.org/12733
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a71288a387095ccb4be83c1abae34ada80f53185)
    
    Change-Id: I01c20bc21ec6143be76458c311d826023c370d51
    Reviewed-on: https://gerrit.openafs.org/12873
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9d62e1d5c6e9e888a029a0b6080c27c0b4353ba2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 21 22:16:44 2017 -0400

    redhat: move .krb variants to the kauth-client subpackage
    
    Move the deprecated klog.krb, pagsh.krb, and tokens.krb programs and man
    pages to the optional openafs-kauth-client subpackage.
    
    Reviewed-on: https://gerrit.openafs.org/12732
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4d247e1ae446c512031511273d556ef1fd32dca1)
    
    Change-Id: I3c6164022b07f0c3283cb54ffd26e1f9c3dd67bb
    Reviewed-on: https://gerrit.openafs.org/12872
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ea1bf1bd751d391d49bdb33e2e3f2cc79fe8ccde
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 20 04:13:04 2017 -0400

    redhat: specify man pages without wildcards
    
    Currently, some of the man pages are specified with the full name and
    some are specified with a wildcard for the filename extension. Instead,
    specify all the man pages without a wildcards to be more consistent and
    to avoid putting incorrect man pages in packages.
    
    This change removes a stray copy the klog.krb5.1 man page from
    openafs-kauth-client subpackage and moves the AuthLog/AuthLog.dir man
    pages to the optional openafs-kauth-server subpackage.
    
    Reviewed-on: https://gerrit.openafs.org/12731
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 671db4ca5a76625d9b7133510cc1cbdda8a5d9b9)
    
    Change-Id: I9d10cc7aad94a2dc004526acb426a9b9badc8e3c
    Reviewed-on: https://gerrit.openafs.org/12871
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f56ea0e095f4837a65762f5a8fbc6b5c9d58a394
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 21 18:05:48 2017 -0400

    redhat: remove afsd.fuse man page
    
    The afsd.fuse binary is not currently packaged; do not package the man
    page.
    
    Reviewed-on: https://gerrit.openafs.org/12730
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a9810b829bdccfed4d1718b11cf4dd51f9565e00)
    
    Change-Id: I7c829a492e999cc989e9341e94f56d6669722a4c
    Reviewed-on: https://gerrit.openafs.org/12870
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 79188311b418b39539e0772725b9754130864c11
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Dec 26 17:42:39 2017 -0600

    Make OpenAFS 1.8.0pre4
    
    Update version strings for the fourth 1.8.0 prerelease.
    
    Change-Id: Ib7defe21ca5e5a8c2214879633a467e002f3269b
    Reviewed-on: https://gerrit.openafs.org/12837
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 90bc3cf9355e3f60455d744b3e00315507e17b92
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Dec 26 17:41:59 2017 -0600

    Update NEWS for 1.8.0pre4
    
    Change-Id: I0ba71b1e837309b36db39895914b6a8b9380a81f
    Reviewed-on: https://gerrit.openafs.org/12836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4feec06c7bdc7102ae654cff20eb02650ec32800
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 20:26:46 2017 -0500

    LINUX: Avoid d_invalidate() during afs_ShakeLooseVCaches()
    
    With recent changes to d_invalidate's semantics (it returns void in Linux 3.11,
    and always returns success in RHEL 7.4), it has become increasingly clear that
    d_invalidate() is not the best function for use in our best-effort
    (nondisruptive) attempt to free up vcaches that is afs_ShakeLooseVCaches().
    The new d_invalidate() semantics always force the invalidation of a directory
    dentry, which contradicts our desire to be nondisruptive, especially when
    that directory is being used as the current working directory for a process.
    Our call to d_invalidate(), intended to merely probe for whether a dentry
    can be discarded without affecting other consumers, instead would cause
    processes using that dentry as a CWD to receive ENOENT errors from getcwd().
    
    A previous commit (c3bbf0b4444db88192eea4580ac9e9ca3de0d286) tried to address
    this issue by calling d_prune_aliases() instead of d_invalidate(), but
    d_prune_aliases() does not recursively descend into children of the given
    dentry while pruning, leaving it an incomplete solution for our use-case.
    
    To address these issues, modify the shakeloose routine TryEvictDentries() to
    call shrink_dcache_parent() and maybe __d_drop() for directories, and
    d_prune_aliases() for non-directories, instead of d_invalidate().  (Calls to
    d_prune_aliases() for directories have already been removed by reverting commit
    c3bbf0b4444db88192eea4580ac9e9ca3de0d286.)
    
    Just like d_invalidate(), shrink_dcache_parent() has been around "forever"
    (since pre-git v2.6.12).  Also like d_invalidate(), it "walks" the parent
    dentry's subdirectories and "shrinks" (unhashes) unused dentries.  But unlike
    d_invalidate(), shrink_dcache_parent() will not unhash an in-use dentry, and
    has never changed its signature or semantics.
    
    d_prune_aliases() has also been available "forever", and has also never changed
    its signature or semantics.  The lack of recursive descent is not an issue for
    non-directories, which cannot have such children.
    
    [kaduk@mit.edu: apply review feedback to fix locking and avoid extraneous
    changes, and reword commit message]
    
    Reviewed-on: https://gerrit.openafs.org/12830
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit afbc199f152cc06edc877333f229604c28638d07)
    
    Change-Id: I6d37e5584b57dcbb056385a79f67b92a363e08d2
    Reviewed-on: https://gerrit.openafs.org/12851
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4b633c9681057122b9266b8a775d0ad5aa0a3ac3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 17:56:13 2017 -0500

    LINUX: consolidate duplicate code in osi_TryEvictDentries
    
    The two stanzas for HAVE_DCACHE_LOCK are now functionally identical;
    remove the preprocessor conditionals and duplicate code.
    
    Minor functional change is incurrred for very old (before 2.6.38) Linux
    versions that have dcache_lock; we are now obtaining the d_lock as well.
    
    This is safe because d_lock is also quite old (pre-git, 2.6.12), and it
    is a spinlock that's only held for checking d_unhashed.  Therefore, it
    should have negligible performance impact.  It cannot cause deadlocks or
    violate locking order, because spinlocks can't be held across sleeps.
    
    Reviewed-on: https://gerrit.openafs.org/12792
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 5076dfc14b980aed310f3862875d5e9919fa199d)
    
    Change-Id: I7a17494b40c049a562dec20c50c27125f54436d0
    Reviewed-on: https://gerrit.openafs.org/12850
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 16c0dbd7961fb599ed9f29d700d1a713902bd96d
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 16:51:32 2017 -0500

    LINUX: consolidate duplicate code in canonical_dentry
    
    The two stanzas for HAVE_DCACHE_LOCK are now identical;
    remove the preprocessor conditionals and duplicate code.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12791
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0678ad26b6069040a6ea86866fb59ef5968ea343)
    
    Change-Id: If0f9516201cea747a753db04ba2d0e2cac69971b
    Reviewed-on: https://gerrit.openafs.org/12849
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c42dea8e0293016ec30fa703956c8bbc5d5cb76d
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 16:46:16 2017 -0500

    LINUX: add afs_d_alias_lock & _unlock compat wrappers
    
    Simplify some #ifdefs for HAVE_DCACHE_LOCK by pushing them down into
    new helpers in osi_compat.h.
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12790
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 652cd597d9b3cf1a9daccbbf6bf35f1b0cd55a94)
    
    Change-Id: I6aec7d6a21e68011ca10ceaa15e83d80f52fad59
    Reviewed-on: https://gerrit.openafs.org/12848
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0ec02ef73d7b94bbe83e7532524c096799cd4b25
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 16:08:38 2017 -0500

    LINUX: create afs_linux_dget() compat wrapper
    
    For dentry operations that cover multiple dentry aliases of
    a single inode, create a compatibility wrapper to hide differences
    between the older dget_locked() and the current dget().
    
    No functional change should be incurred by this commit.
    
    Reviewed-on: https://gerrit.openafs.org/12789
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 74f4bfc627c836c12bb7c188b86d570d2afdcae8)
    
    Change-Id: Id854e5957547a1370cadb400f7f699c30d861fd1
    Reviewed-on: https://gerrit.openafs.org/12847
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ae70407fafa3faa94706979c727f53a625939061
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 13:45:27 2017 -0500

    Revert "LINUX: do not use d_invalidate to evict dentries"
    
    Linux recently changed the semantics of d_invalidate() to:
    - return void
    - invalidate even a current working directory
    
    OpenAFS commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286 switched libafs
    to use d_prune_aliases() instead.
    
    However, since that commit, several things have happened:
    - RHEL 7.4 changed the semantics of d_invalidate() such that it
      invalidates the cwd, but did NOT change the return type to void.
      This broke our autoconf test for detecting the new semantics.
    - Further research reveals that d_prune_aliases() was not the best
      choice for replacing d_invalidate().  This is because for directories,
      d_prune_aliases() doesn't invalidate dentries when they are referenced
      by its children, and it doesn't walk the tree trying to invalidate
      child dentries.  So it can leave dentries dangling, if the only
      references to thos dentries are via children.
    
    In preparation for future commits, revert
    c3bbf0b4444db88192eea4580ac9e9ca3de0d286 .
    
    Reviewed-on: https://gerrit.openafs.org/12788
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 367693bd7da2de593e3329f6acc4a4d07621fb97)
    
    Change-Id: I3dfa9127adf8424fe675e237194d6ade5a7fc4f1
    Reviewed-on: https://gerrit.openafs.org/12846
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2a06e32c398bbb9e74258799d87a599d286f97d9
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Nov 30 14:04:48 2017 -0500

    Revert "LINUX: eliminate unused variable warning"
    
    This reverts commit 19599b5ef5f7dff2741e13974692fe4a84721b59
    to allow also reverting commit
    c3bbf0b4444db88192eea4580ac9e9ca3de0d286 .
    
    Reviewed-on: https://gerrit.openafs.org/12787
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f8247078bd33a825d8734b2c8f05120d15ab3ffd)
    
    Change-Id: I023c88e19d9f1a18b2bfaec8a35bd635f157b570
    Reviewed-on: https://gerrit.openafs.org/12845
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e412a87b1f6a68a2c0b9e1baad1c328fdccbd41d
Author: Pat Riehecky <riehecky@fnal.gov>
Date:   Thu Mar 12 14:33:10 2015 -0500

    redhat: separate debuginfo package for kmod rpm
    
    Place the debuginfo for the kmod into its own rpm so that
    it doesn't have to track against the userspace packages.
    
    FIXES 132034
    
    Reviewed-on: https://gerrit.openafs.org/11867
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 443dd5367e0cd9050ad39a6594c5be521271b4e9)
    
    Change-Id: I6a24bb08242ec34c123880e9cbca4580a3560cba
    Reviewed-on: https://gerrit.openafs.org/12822
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7a80b4ba67b0d295df72e87da4aa638bd5e245de
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Dec 22 14:40:32 2017 +0100

    Linux 4.15: check for 2nd argument to pagevec_init
    
    Linux 4.15 removes the distinction between "hot" and "cold" cache
    pages, and pagevec_init() no longer takes a "cold" flag as the
    second argument. Add a configure test and use it in osi_vnodeops.c .
    
    Reviewed-on: https://gerrit.openafs.org/12824
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit fb1f14d8ee963678a9caad0538256c99c159c2c4)
    
    Change-Id: Ib9e0751e4900d984a4197d18ee9ebb1bdc7bf331
    Reviewed-on: https://gerrit.openafs.org/12829
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2ff3ef2ec6f217195dc50c04ba4e3409c23e6a4d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Dec 22 14:17:09 2017 +0100

    Linux: use plain page_cache_alloc
    
    Linux 4.15 removes the distinction between "hot" and "cold" cache
    pages, and no longer provides page_cache_alloc_cold(). Simply use
    page_cache_alloc() instead, rather than adding yet another test.
    
    Reviewed-on: https://gerrit.openafs.org/12823
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit be5f5b2aff2d59986dd8e7dd7dd531be24c27cb2)
    
    Change-Id: I2d4df508abfa9d3c7020b8a2817ed3e882a4dbbc
    Reviewed-on: https://gerrit.openafs.org/12828
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d9bb508e07f32219679c0e696f07f95e3b48886c
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Oct 12 12:42:40 2017 -0300

    macos: make the OpenAFS client aware of APFS
    
    Apple has introduced a new file system called APFS. Starting from High
    Sierra, APFS replaces Mac OS Extended (HFS+) as the default file system
    for solid-state drives and other flash storage devices.
    
    The current OpenAFS client is not aware of APFS. As a result, the
    installation of the current client into an APFS volume will panic the
    machine.
    
    To fix this problem, make the OpenAFS client aware of APFS.
    
    Reviewed-on: https://gerrit.openafs.org/12743
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 6e57b22642bafb177e0931b8fb24042707d6d62f)
    
    Change-Id: I60d2a57fae3ee227bb3327a5e18962f46b49c991
    Reviewed-on: https://gerrit.openafs.org/12827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5857724bf60e7706bcefde63d8fa0c7b2119e662
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Oct 6 10:01:12 2017 -0300

    macos: packaging support for MacOS X 10.13
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 10.13 "High Sierra".
    
    Reviewed-on: https://gerrit.openafs.org/12742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e533d0737058940d59d93467c9b4d6d3ec2834e6)
    
    Change-Id: I8932f6a3db6a0572aa36944aa339b888fac94b7d
    Reviewed-on: https://gerrit.openafs.org/12826
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ac8cab7fcd3abf76c39e9e08c2c3d6ec0c184837
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Oct 3 17:01:56 2017 -0300

    macos: add support for MacOS 10.13
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 10.13 "High Sierra".
    
    Reviewed-on: https://gerrit.openafs.org/12741
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 804c9cbf501d4ca91b69ad8fd6d64e49efa25a47)
    
    Change-Id: I9abcccf8313c8ac075eb1edbd36cbaa565968b38
    Reviewed-on: https://gerrit.openafs.org/12825
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 383688fa0d6904291578eb1f9a7c2ec1e06f54ca
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 14 19:54:57 2017 -0600

    Fix macro used to check kernel_read() argument order
    
    The m4 macro implementing the configure check is called
    LINUX_KERNEL_READ_OFFSET_IS_LAST, but it defines a preprocessor symbol
    that is just KERNEL_READ_OFFSET_IS_LAST.  Our code needs to check
    for the latter being defined, not the former.
    
    Reported by Aaron Ucko.
    
    Reviewed-on: https://gerrit.openafs.org/12808
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit edc5463f3db4b6af2307741d9f4ee8f2c81cd98e)
    
    Change-Id: I7bc6615118f1200d3f257e7a01652b49b458a8fa
    Reviewed-on: https://gerrit.openafs.org/12809
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3cae0a01d0a60dca3d3aa089c6a19d52243c75b9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 4 18:14:22 2017 -0600

    Update NEWS for rx security fix
    
    Change-Id: I30282ac8f51a7b16dd851fdbd41464f8fdafc279

commit eae2575dc738bd69bb6a0a84f87f02f5cf2b4eb9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 4 17:20:57 2017 -0600

    OPENAFS-SA-2017-001: rx: Sanity-check received MTU and twind values
    
    Rather than blindly trusting the values received in the
    (unauthenticated) ack packet trailer, apply some minmial sanity checks
    to received values.  natMTU and regular MTU values are subject to
    Rx minmium/maximum packet sizes, and the transmit window cannot drop
    below one without risk of deadlock.
    
    The maxDgramPackets value that can also be present in the trailer
    already has sufficient sanity checking.
    
    Extremely low MTU values (less than 28 == RX_HEADER_SIZE) can cause us
    to set a negative "maximum usable data" size that gets used as an
    (unsigned) packet length for subsequent allocation and computation,
    triggering an assertion when the connection is used to transmit data.
    
    FIXES 134450
    
    (cherry picked from commit 894555f93a2571146cb9ca07140eb98c7a424b01)
    
    Change-Id: I98e2a65d1aa291a73e8cfed9c9eaac71c6af00dc

commit 352fbc811162fcdaa39cb7834475f40ba72fad11
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Nov 8 07:11:45 2017 -0600

    Make OpenAFS 1.8.0pre3
    
    Update the version strings for the third 1.8.0 prerelease.
    
    Change-Id: I25a4eee4de04e57ffcf9055f69ae9a3d683b8d64
    Reviewed-on: https://gerrit.openafs.org/12765
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1efc44f397efb647a55347cb71e7d41c050f6c3c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 6 21:30:04 2017 -0600

    Update NEWS for 1.8.0pre3
    
    Change-Id: I38110825cbe8b5c4ca18d86e4542374ae26f6fd4
    Reviewed-on: https://gerrit.openafs.org/12764
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit e2c47cae56ba0d804af119fb158a9fe77fa3a15e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 27 22:17:28 2017 -0600

    afs: Fix bounds check in PNewCell
    
    Reported by the opensuse buildbot:
    
      CC [M]  /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/libafs/MODLOAD-4.13.12-1-default-MP/rx_packet.o
    /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/afs/afs_pioctl.c: In function ‘PNewCell’:
    /home/buildbot/opensuse-tumbleweed-i386-builder/build/src/afs/afs_pioctl.c:3075:55: error: ‘*’ in boolean context, suggest ‘&&’ instead [-Werror=int-in-bool-context]
         if ((afs_pd_remaining(ain) < AFS_MAXCELLHOSTS +3) * sizeof(afs_int32))
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
    
    The bug was introduced in commit 718f85a8b6.
    
    Reviewed-on: https://gerrit.openafs.org/12782
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 4fa0ee620cfb9991ca9748b5ee116cc8e1e6c505)
    
    Change-Id: I0963403846a62dddf2d13ce3c03d772a6d869119
    Reviewed-on: https://gerrit.openafs.org/12784
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6e611c56c5b910e329c20c3a20ed2ba5755b0461
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 27 22:07:53 2017 -0600

    rx: fix call refcount leak in error case
    
    The recent event handling normalization in commit
    304d758983b499dc568d6ca57b6e92df24b69de8 had event handlers switch
    to dropping their reference on the associated connection/call just
    before return.  An early return case was missed in the conversion,
    leading to a refcount leak in an error case.
    
    Reviewed-on: https://gerrit.openafs.org/12781
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 66b74e78ba5fea6a8236dcd3b8b46e1dfa6a0ac7)
    
    Change-Id: I532c49b2ef6ec95dd26a99c02e12ea53348f9690
    Reviewed-on: https://gerrit.openafs.org/12783
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ad11867973dc2481ee4897540a6d9279ebf36c42
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Nov 16 17:24:03 2017 -0500

    afs: fix kernel_write / kernel_read arguments
    
    The order / content of the arguments passed to kernel_write and
    kernel_read are not right. As a result, the kernel will panic if one of
    the functions in question is called.
    
    [kaduk@mit.edu: include configure check for multiple kernel_read()
    variants, per linux commits bdd1d2d3d251c65b74ac4493e08db18971c09240
    and e13ec939e96b13e664bb6cee361cc976a0ee621a]
    
    FIXES 134440
    
    Reviewed-on: https://gerrit.openafs.org/12769
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 3ce55426ee6912b78460465bcaa1428333ad1fbc)
    
    Change-Id: I28f04f7625a471c37f98515d5186f80082bf6a43
    Reviewed-on: https://gerrit.openafs.org/12780
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 42993b3a33d53a6e16337d2ebe15539d0febdef1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 6 17:37:46 2017 -0500

    tests: fix out of bounds access in the rx-event test
    
    Use the NUMEVENTS symbol which defines the array size instead of an
    incorrect hard coded number when checking if a second event can be added
    to be fired at the same time.  This fixes a potential out of bounds
    access of the event test array.
    
    Also update the comment which incorrectly mentions the incorrect number
    of events in the test.
    
    Reviewed-on: https://gerrit.openafs.org/12762
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 50a3eb7b7ee94bffaadc98429bd404164e89ec7f)
    
    Change-Id: I7a975e7498c1c7416a800c9294c97ee4de4fd57a
    Reviewed-on: https://gerrit.openafs.org/12779
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6c635a66b54bcfa2920ac532905758346c89c772
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Nov 16 04:49:49 2017 -0600

    Sprinkle rx_GetConnection() for concision
    
    Instead of inlining the body (taking the lock, incrementing the
    refcount, and dropping the lock), use the convenience function
    designed for this purpose.
    
    Reviewed-on: https://gerrit.openafs.org/12772
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 2ae84bf053fe66b73a2c77b5d71305bae2c17587)
    
    Change-Id: I60794d877a76fbb7c8ba59207e710a20641cc8f1
    Reviewed-on: https://gerrit.openafs.org/12778
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 667617b8702e797e34cc957ef200a803030ee901
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Nov 16 04:48:02 2017 -0600

    rx: fix mutex leak in error case
    
    Reported by Mark Vitale
    
    Reviewed-on: https://gerrit.openafs.org/12771
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 01bcfd3e14f6ee1faa4b8ce5a7932de37d585fd3)
    
    Change-Id: I4384d6813a5cfb053e6991eb3c157fa59ecfa11b
    Reviewed-on: https://gerrit.openafs.org/12777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4220eadae01d09b2c54e16c689b1a58e558db19c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Oct 31 19:49:09 2017 -0500

    Add event-related mutex assertions
    
    In utility functions that access fields of type struct rxevent *,
    assert that the appropriate lock is held for the access in question.
    
    These assertions are only compiled in when built with -DOPR_DEBUG_LOCKS,
    which can be enbled by --debug-locks at configure time.
    
    Reviewed-on: https://gerrit.openafs.org/12757
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit a7a3108e602c83176c5578c9f28b6312f71aba78)
    
    Change-Id: I147a2e475feffb1b75a08ac5b08614bd6d8f46a5
    Reviewed-on: https://gerrit.openafs.org/12776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8ce3b5e253d980ebab34c3928720d1097b1ba342
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Oct 7 22:42:38 2017 -0500

    Standardize rx_event usage
    
    Go over all consumers of the rx event framework and normalize its usage
    according to the following principles:
    
    rxevent_Post() is used to create an event, and it returns an event
    handle (with a reference on the event structure) that can be used
    to cancel the event before its timeout fires.  (There is also an
    additional reference on the event held by the global event tree.)
    In all(*) usage within the tree, that event handle is stored within
    either an rx_connection or an rx_call.  Reads/writes to the member variable
    that holds the event handle require either the conn_data_lock or call
    lock, respectively -- that means that in most cases, callers of
    rxevent_Post() and rxevent_Cancel() will be holding one of those
    aforementioned locks.  The event handlers themselves will need to
    modify the call/connection object according to the nature of the
    event, which requires holding those same locks, and also a guarantee
    that the call/connection is still a live object and has not been
    deallocated!  Whether or not rxevent_Cancel() succeeds in cancelling
    the event before it fires, whenever passed a non-NULL event structure
    it will NULL out the supplied pointer and drop a reference on the
    event structure.  This is the correct behavior, since the caller
    has asked to cancel the event and has no further use for the event
    handle or its reference on the event structure.  The caller of
    rxevent_Cancel() must check its return value to know whether or
    not the event was cancelled before its handler was able to run.
    
    The interaction window between the call/connection lock and the lock
    protecting the red/black tree of pending events opens up a somewhat
    problematic race window.  Because the application thread is expected
    to hold the call/connection lock around rxevent_Cancel() (to protect
    the write to the field in the call/connection structure that holds
    an event handle), and rxevent_Cancel() must take the lock protecting
    the red/black tree of events, this establishes a lock order with the
    call/connection lock taken before the eventTree lock.  This is in
    conflict with the event handler thread, which must take the eventTree
    lock first, in order to select an event to run (and thus know what
    additional lock would need to be taken, by virtue of what handler
    function is to be run).  The conflict is easy to resolve in the
    standard way, by having a local pointer to the event that is obtained
    while the event is removed from the red/black tree under the eventTree
    lock, and then the eventTree lock can be dropped and the event run
    based on the local variable referring to it.  The race window occurs
    when the caller of rxevent_Cancel() holds the call/connection lock,
    and rxevent_Cancel() obtains the eventTree lock just after the event
    handler thread drops it in order to run the event.  The event handler
    function begins to execute, and immediately blocks trying to obtain
    the call/connection lock.  Now that rxevent_Cancel() has the eventTree
    lock it can proceed to search the tree, fail to find the indicated event
    in the tree, clear out the event pointer from the call/connection
    data structure, drop its caller's reference to the event structure,
    and return failure (the event was not cancelled).  Only then does the
    caller of rxevent_Cancel() drop the call/connection lock and allow
    the event handler to make progress.
    
    This race is not necessarily problematic if appropriate care is taken,
    but in the previous code such was not the case.  In particular, it
    is a common idiom for the firing event to call rxevent_Put() on itself,
    to release the handle stored in the call/connection that could have
    been used to cancel the event before it fired.  Failing to do so would
    result in a memory leak of event structures; however, rxevent_Put() does
    not check for a NULL argument, so a segfault (NULL dereference) was
    observed in the test suite when the race occurred and the event handler
    tried to rxevent_Put() the reference that had already been released by
    the unsuccessful rxevent_Cancel() call.  Upon inspection, many (but not
    all) of the uses in rx.c were susceptible to a similar race condition
    and crash.
    
    The test suite also papers over a related issue in that the event handler
    in the test suite always knows that the data structure containing the
    event handle will remain live, since it is a global array that is allocated
    for the entire scope of the test.  In rx.c, events are associated with
    calls and connections that have a finite lifetime, so we need to take care
    to ensure that the call/connection pointer stored in the event remains
    valid for the duration of the event's lifecycle.  In particular, even an
    attempt to take the call/connection lock to check whether the corresponding
    event field is NULL is fraught with risk, as it could crash if the lock
    (and containing call/connection) has already been destroyed!  There are
    several potential ways to ensure the liveness of the associated
    call/connection while the event handler runs, most notably to take care
    in the call/connection destruction path to ensure that all associated
    events are either successfully cancelled or run to completion before
    tearing down the call/connection structure, and to give the pending event
    its own reference on the associated call/connection.  Here, we opt for
    the latter, acknowledging that this may result in the event handler thread
    doing the full call/connection teardown and delay the firing of subsequent
    events.  This is deemed acceptable, as pending events are for intentionally
    delayed tasks, and some extra delay is probably acceptable.  (The various
    keepalive events and the challenge event could delay the user experience
    and/or security properties if significantly delayed, but I do not believe
    that this change admits completely unbounded delay in the event handler
    thread, so the practical risk seems minimal.)
    
    Accordingly, this commit attempts to ensure that:
    
    * Each event holds a formal reference on its associated call/connection.
    * The appropriate lock is held for all accesses to event pointers in
      call/connection structures.
    * Each event handler (after taking the appropriate lock) checks whether
      it raced with rxevent_Cancel() and only drops the call/connection's
      reference to the event if the race did not occur.
    * Each event handler drops its reference to the associated call/connection
      *after* doing any actions that might access/modify the call/connection.
    * The per-event reference on the associated call/connection is dropped by
      the thread that removes the event from the red/black tree.  That is,
      the event handler function if the event runs, or by the caller of
      rxevent_Cancel() when the cancellation succeed.
    * No non-NULL event handles remain in a call/connection being destroyed,
      which would indicate a refcounting error.
    
    (*) There is an additional event used in practice, to reap old connections,
        but it is effectively a background task that reschedules itself
        periodically, with no handle to the event retained so as to be able
        to cancel it.  As such, it is unaffected by the concerns raised here.
    
    While here, standardize on the rx_GetConnection() function for incrementing
    the reference count on a connection object, instead of inlining the
    corresponding mutex lock/unlock and variable access.
    
    In contrast to what was done on master, for the 1.8 branch we do not
    force-enable refcount checking.
    
    Reviewed-on: https://gerrit.openafs.org/12756
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 304d758983b499dc568d6ca57b6e92df24b69de8)
    
    Change-Id: I68e6cc162a148b6ebbabe037a7bc3cccd648423c
    Reviewed-on: https://gerrit.openafs.org/12775
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6db2c0a111336a24199c0acf4e02635c97f4ff2b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 4 23:03:44 2017 -0500

    Adjust rx-event test to exercise cancel/fire race
    
    We currently do not properly handle the case where a thread runs
    rxevent_Cancel() in parallel with the event-handler thread attempting
    to fire that event, but the test suite only picked up on this issue
    in a handful of the Debian automated builds (somewhat less-resourced
    ones, perhaps).
    
    Modify the event scheduling algorithm in the test so as to create a
    larger chunk of events scheduled to fire "right away" and thereby
    exercise the race condition more often when we proceed to cancel
    a quarter of events "right away".
    
    Reviewed-on: https://gerrit.openafs.org/12755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bdb509fb1d8e0fdca05dffecdbcbf60a95ea502e)
    
    Change-Id: I27cebed3c2c3daff10b8d3f5f6f949e667791a72
    Reviewed-on: https://gerrit.openafs.org/12774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 527ead6fdd8acd241db04cf4c43677248b59d164
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Thu Nov 2 21:16:49 2017 +0100

    gtx: link against libtinfo if termlib is seperated
    
    If ncurses is built with "./configure --with-termlib=tinfo", gtx fails
    to link because of an undefined reference to the LINES symbol which is
    then provided by libtinfo.so and not libncurses.so.
    
    If ncurses is present, additionally check whether LINES is provided by
    ncurses or tinfo and set $LIB_curses accordingly.
    
    This change is based on a patch provided by Bastian Beischer.
    
    FIXES 134420
    
    Reviewed-on: https://gerrit.openafs.org/12760
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 311f1d28a2f626350b33ad432e674055b62511bd)
    
    Change-Id: I2f69fe51bbefeeb2a17145a88aa9c891644f2f61
    Reviewed-on: https://gerrit.openafs.org/12763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d93f80622370f50d7bce5c5b00cd062f15ee9eba
Author: Damien Diederen <ddiederen@sinenomine.net>
Date:   Mon Sep 18 12:18:39 2017 +0200

    Linux: Use kernel_read/kernel_write when __vfs variants are unavailable
    
    We hide the uses of set_fs/get_fs behind a macro, as those functions
    are likely to soon become unavailable:
    
    > Christoph Hellwig suggested removing all calls outside of the core
    > filesystem and architecture code; Andy Lutomirski went one step
    > further and said they should all go.
    
        https://lwn.net/Articles/722267/
    
    Reviewed-on: https://gerrit.openafs.org/12729
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 5ee516b3789d3545f3d78fb3aba2480308359945)
    
    Change-Id: I28a7126bf6ab048f8d949f190e557a3fa44f3f46
    Reviewed-on: https://gerrit.openafs.org/12737
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c42a25d28fbcc76fdcac2b5f29704f8f1b353b45
Author: Damien Diederen <ddiederen@sinenomine.net>
Date:   Mon Sep 18 11:59:40 2017 +0200

    Linux: Test for __vfs_write rather than __vfs_read
    
    The following commit:
    
        commit eb031849d52e61d24ba54e9d27553189ff328174
        Author: Christoph Hellwig <hch@lst.de>
        Date:   Fri Sep 1 17:39:23 2017 +0200
    
            fs: unexport __vfs_read/__vfs_write
    
    unexports both __vfs_read and __vfs_write, but keeps the former in
    fs.h--as it is is still being used by another part of the tree.
    
    This situation results in a false positive in our Autoconf check,
    which does not see the export statements, and ends up marking the
    corresponding API as available.
    
    That, in turn, causes some code which assumes symmetry with
    __vfs_write to fail to compile.
    
    Switch to testing for __vfs_write, which correctly marks the API as
    unavailable.
    
    Reviewed-on: https://gerrit.openafs.org/12728
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 929e77a886fc9853ee292ba1aa52a920c454e94b)
    
    Change-Id: I03e3c8222360a6b04b45b45a8f56b5df054f6783
    Reviewed-on: https://gerrit.openafs.org/12736
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bc384b7d5e4818c567a64fe4a935f021d936444f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Oct 16 16:53:22 2017 -0500

    Correct m4 conditionals in curses.m4
    
    AS_IF does not invoke the test(1) shell builtin for us, so we must
    take care to consistently use it ourself.
    
    While here, sprinkle some missing double-quotes around variable
    expansions in AS_IF statements in this file.
    
    Submitted by Bastian Beischer.
    
    FIXES 134414
    
    Change-Id: Iccfe311011f17de6317cf64abdc58b0812b81b8c
    Reviewed-on: https://gerrit.openafs.org/12738
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit e0c5ada214596d5adb6798682d5e280cc99f447c)
    Reviewed-on: https://gerrit.openafs.org/12739

commit 688b3570867cda3035ec6bcd9c7538cf651f38f6
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Sep 1 23:37:07 2017 -0400

    vol: Fix two buffers being one char too short
    
    Fixes these warnings:
    
    namei_ops.c: In function 'namei_copy_on_write':
    namei_ops.c:1328:31: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
      snprintf(path, sizeof(path), "%s-tmp", name.n_path);
                                   ^~~~~~~~
    namei_ops.c:1328:2: note: 'snprintf' output between 5 and 260 bytes into a destination of size 259
      snprintf(path, sizeof(path), "%s-tmp", name.n_path);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    vol_split.c: In function 'split_volume':
    vol_split.c:576:22: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
         sprintf(symlink, "#%s", V_name(newvol));
                          ^~~~~
    vol_split.c:576:5: note: 'sprintf' output between 2 and 33 bytes into a destination of size 32
         sprintf(symlink, "#%s", V_name(newvol));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Reviewed-on: https://gerrit.openafs.org/12722
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0a9a6b57ce6e1c97fcc651c8cb74e66fc8422a1e)
    
    Change-Id: Ia60439aed7925b786a0213d96a7afb413579e01f
    Reviewed-on: https://gerrit.openafs.org/12723
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7073408688da021864bba59c592e8924e05adb91
Author: Seth Forshee <seth.forshee@canonical.com>
Date:   Tue Aug 22 07:59:11 2017 -0500

    Linux: Include linux/uaccess.h rather than asm/uaccess.h if present
    
    Starting with Linux 4.12 there is a module build error on s390
    due to asm/uaccess.h using a macro defined in the common header.
    The common header has been around since 2.6.18 and has always
    included asm/uaccess.h, so switch to using the common header
    whenever it is present.
    
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Reviewed-on: https://gerrit.openafs.org/12714
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 962f4838dc461567d896304f617a0923745d13d5)
    
    Change-Id: I5a7834b982458159804bc4d940e39ef283253299
    Reviewed-on: https://gerrit.openafs.org/12718
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a3812407f28439bb69f052f0115171cdf04927da
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 1 20:43:41 2017 -0500

    Make OpenAFS 1.8.0pre2
    
    Update the version strings for the second 1.8.0 prerelease.
    
    Change-Id: I3e3f950d0565b877a4da4f8843a015ac392484d5
    Reviewed-on: https://gerrit.openafs.org/12683
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bfc5d1ada2f5ce12bfafe65d352982adbefe9911
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 1 20:57:52 2017 -0500

    Remove src/mcas
    
    This lock-free library toolkit is intriguing and may be the subject
    of future work, but such development will occur on the master branch,
    and these files are just clutter on openafs-stable-1_8_x.  Remove
    them to give the tree a more clean start.
    
    Remove src/mcas and stop mentioning it in SOURCE-MAP; don't reference
    it in the rpctests, either.
    
    Change-Id: I21b1b6b64a709fe40aa53aaf3470d128c0dc2f86
    Reviewed-on: https://gerrit.openafs.org/12682
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7c2ce4040e94e954e51945daac03cc39e885d3ce
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 1 20:55:52 2017 -0500

    Remove src/rxgk
    
    These files were commited slightly prematurely to the tree; rxgk
    support is intended for the 2.0 release, and will not appear in the
    1.8.x release series.
    
    Remove src/rxgk and drop mentions of rxgk from configure/Makefile.in/etc.
    
    Change-Id: Ib7d40eaac85b05d920781b61f73dbdf8fedfcc2b
    Reviewed-on: https://gerrit.openafs.org/12681
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e739eaa650ee30dcce54d05908b062839eafbf73
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 14 20:38:27 2017 -0400

    redhat: move bosserver and fssync-debug man pages
    
    Move the bosserver and fssync-debug/dafssync-debug man pages to the
    openafs-server package, which distributes those programs.
    
    Change-Id: I9c84ad485834177fd43b28acd444d3d54c648cc8
    Reviewed-on: https://gerrit.openafs.org/12601
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5b79f95f7457f203213a9170389b17ffcc0208f7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 13 21:48:06 2017 -0400

    redhat: kauth client and server sub-packages
    
    Move the kaserver and kauth client programs to conditionally built
    packages called openafs-kauth-server and openafs-kauth-client.
    Packagers can build these by specifying '--with kauth'. They are not
    built by default to discourage use.
    
    This commit subsumes the openafs-kpasswd package into the
    openafs-kauth-client package.
    
    Change-Id: I1322f05d7fe11d466c9ed71a5059c21b759d95ab
    Reviewed-on: https://gerrit.openafs.org/12600
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 54e478328fa24aa2629398c5ddfad7b50d353dd7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 10 15:06:02 2017 -0400

    redhat: do not package kauth by default
    
    Do not package kaserver and related programs by default to discourage
    use. Add the '--with kauth' rpmbuild option to allow packagers to
    continue include the kauth programs for compatibility.
    
    Change-Id: I8bf9f6dc221afc22ed6c9a33cf101d705e6c4920
    Reviewed-on: https://gerrit.openafs.org/12597
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6d59b7c4b4b712160a6d60491c95c111bb831fbb
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Jul 30 20:57:05 2017 -0500

    Default to crypt mode for unix clients
    
    Though the protection offered by rxkad, even with rxkad-k5 and rxkad-kdf, is
    insufficient to protect traffic from a determined attacker, it remains the
    case that the internet is not a safe place for user data to travel in the
    clear, and has not been for a long time.  The Windows client encrypts by
    default, and all or nearly all the Unix client packaging scripts set crypt
    mode by default.  Catch up to reality and default to crypt mode in the
    Unix cache manager.
    
    Change-Id: If0061ddca3bedf0df1ade8cb61ccb710ec1181d4
    Reviewed-on: https://gerrit.openafs.org/12668
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f7ccf0aa00459cda4579a3838b5bd59ba69c03ea
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Jul 31 15:27:10 2017 -0400

    ubik: remove useless signal call
    
    The current version does not have a corresponding LWP_WaitProcess call
    for the beacon_globals.ubik_amSyncSite global. As a result, the
    LWP_NoYieldSignal(&beacon_globals.ubik_amSyncSite) signal call can be
    safely removed.
    
    Change-Id: I72c4ccfe8e68551673dc728dd699ba8c561d76d1
    Reviewed-on: https://gerrit.openafs.org/12673
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b4c3baa2e24890face6433fcb160e85b7409df4c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 2 15:25:45 2017 -0400

    doc: add a document to describe rx debug packets
    
    This document gives a basic description of Rx debug packets, the
    protocol to exchange debug packets, and the version history.
    
    Change-Id: Ic040d336c1e463f7da145f1a292c20c5d5f215df
    Reviewed-on: https://gerrit.openafs.org/12677
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b8e8145fa97e3edb6e4157f0d60d3d5e8db597fe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 1 20:36:18 2017 -0400

    doc: add kolya's rx-spec to doc/txt
    
    Add rx protocol spec and rx debug spec written by Nickolia Zeldovich.
    
    Rx protocol specification draft (2002)
    Nickolai Zeldovich, kolya@MIT.EDU
    
    Change-Id: I65a9a83a8889503f3a82c8fde7a87f84d2736c8d
    Reviewed-on: https://gerrit.openafs.org/12676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c6f5ebc4cf95b0f1d3acc7a0a8678ba0d4378243
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 1 20:10:32 2017 -0400

    doc: relocate notes from arch to txt
    
    The doc/txt directory has become the de facto home for text-based
    technical notes. Relocate the contents of the doc/arch directory to
    doc/txt. Relocate doc/examples to doc/txt/examples.
    
    Update the doc/README file to be more current and remove old work in
    progress comments.
    
    Change-Id: Iaa53e77eb1f7019d22af8380fa147305ac79d055
    Reviewed-on: https://gerrit.openafs.org/12675
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 57d32c29146167ff54d3221ed761a5973776ae93
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 1 20:50:37 2017 -0500

    Add NEWS entry for recent ubik changes
    
    Of the ubik-fix-write-after-recovery topic, this seems like the most
    noteworthy portion, with the other bits wrapped up in the preface.
    
    Change-Id: Icc1afb9f851ef2d7ade49c2382cc023997f1bf26
    Reviewed-on: https://gerrit.openafs.org/12679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit da704137f4bf766250ca87dbdc5a85c2024cb0a6
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jul 20 23:02:15 2017 -0400

    ubik: update epoch as soon as sync-site is elected
    
    The ubik_epochTime represents the time at which the coordinator first
    received its coordinator mandate. However, this global is currently not
    updated at the moment when a new sync-site is elected. Instead,
    ubik_epochTime is only updated at the very end of the first write
    transaction, when a new database label is written (in udisk_commit).
    This causes at least 2 different issues:
    
    For one, this means that we change ubik_epochTime while a remote
    transaction is in progress. If VOTE_Beacon is called after
    ubik_epochTime is updated, but before the remote transaction ends, the
    remote sites will detect that the transaction id in ubik_currentTrans is
    wrong (via urecovery_CheckTid(), since the epoch doesn't match), and
    they will abort the transaction. This means the transaction will fail,
    and it may cause a loss of quorum until another election is completed.
    
    Another issue is that ubik_epochTime can be 0 at the beginning of a
    write transaction, if this is the first election that this site has won.
    Since ubik_epochTime is used to construct transaction ids, this means
    that we can have different transactions that originate from different
    sites at different times, but they have the same epoch in their tid.
    For example, say a write transaction starts with epoch 0, but the
    originating site is killed/interrupted before finishing. That write
    transaction will linger on remote sites in ubik_currentTrans with an
    epoch of 0 (since the originating site will never call
    DISK_ReleaseLocks, or DISK_Abort, etc). Normally the sync site will kill
    such a lingering transaction via urecovery_CheckTid, but since the epoch
    is 0, and the election winner's epoch is also 0, the transaction looks
    valid and may never be killed. If that transaction is holding a lock on
    the database, this means that the database will forever remain locked,
    effectively preventing any access to the db on that site.
    
    To fix both of these issues, update ubik_epochTime with the current
    time as soon as we win the election. This ensures that the epoch is not
    updated in the middle of a transaction, and it ensures that all
    transactions are created with a unique epoch: the epoch of the election
    that we won.
    
    Note that with this commit, we do not ever set ubik_epochTime to the
    magic value of '2' during database init. The special '2' epoch only
    needs to be set in the database itself, and it is never an actual epoch
    that represents a real quorum that went through the election process.
    The database will be labelled with a 'real' epoch after the first write,
    like normal.
    
    [kaduk@mit.edu: comment the locking strategy in ubeacon_Interact()]
    
    Change-Id: I6cdcf5a73c1ea564622bfc8ab7024d9901af4bc8
    Reviewed-on: https://gerrit.openafs.org/12609
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 32ddf88547f921b33dd93473883928051faab950
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Thu Jul 6 15:47:24 2017 -0400

    LINUX: afs_create infinite fetchStatus loop
    
    For a file in a directory with the CStatd bit cleared, we can get
    an infinite fetchStatus loop.
    
    In afs_create(), afs_getDCache() may return NULL due to an error.
    If unchecked it will loop which may produce multiple fetchStatus()
    calls to the fileserver.
    
    Credit: Yadav Yadavendra for identifying and analysing this issue.
    
    Change-Id: Iecd77d49a5f3e8bb629396c57246736b39aa935f
    Reviewed-on: https://gerrit.openafs.org/12651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 18fabf9aecf358e0f45e25f6249685f7f2e32485
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Aug 2 19:31:17 2017 -0500

    Update NEWS for volume stats default change
    
    Change-Id: I1a184bf638609866f6f7f1d11c224dfee1113eef
    Reviewed-on: https://gerrit.openafs.org/12678
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8e1ca72b1cbed930d3661dee5cb742cab52737e9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 1 17:21:13 2017 -0400

    volser: preserve volume stats by default
    
    Commit dfceff1d3a66e76246537738720f411330808d64 added the
    -preserve-vol-stats flag to the volume server. This enabled a change in
    the volume server to preserve volume usage statistics during reclone and
    restore operations. Otherwise, volume usage counters of read-only
    volumes are cleared when volumes are released, making it difficult to
    track usage with the volume stats.
    
    Make this feature the default behavior of the volume server and provide
    the option -clear-vol-stats to use the old behavior if so desired.  This
    change makes the -preserve-vol-stats the default, and keeps it as a
    hidden flag for sites which may already have that flag set in the
    BosConfig.
    
    Since this changes a default behavior of the volume server, this change
    is only appropriate on a major or minor release boundary, not in the
    middle of a stable series.
    
    Change-Id: I3706ede64b7b18a80b39ebd55f2e1824bb7dbc57
    Reviewed-on: https://gerrit.openafs.org/12674
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7c7085061580ccce7b2d9c17df5604e5e97fcd81
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon May 22 12:55:32 2017 -0400

    ubik: avoid early DISK_Begin calls we know will fail
    
    Currently, we can start a write transaction on a site immediately after
    it is elected as the sync site. However, after commit d47beca1,
    SDISK_Begin on remote sites will fail right after an election occurs
    (since lastYesState is not set, and so urecovery_AllBetter will fail).
    And after commit fac0b742, this error is always noticed and propagated
    back to the application.
    
    As a result, when we try to write immediately after a sync site is
    elected, the transaction will fail with UNOQUORUM, the remote sites will
    be marked as down, and we may lose quorum and require another election
    to be performed. This can easily happen repeatedly for a site that
    frequently tries to make changes to a ubik database.
    
    To avoid marking other sites down and going through another election
    process, do not allow write transactions until we know that lastYesState
    is set on the remote sites. We do this by waiting until the next wave of
    beacons are sent, which tell the remote sites that we are the sync site.
    In other words, only allow write transactions after the sync site knows
    that the remote sites also know that the sync site has been elected.
    
    With this commit, a write transaction immediately after an election
    will still fail with UNOQUORUM, but we avoid triggering an error on the
    remote sites, and avoid losing quorum in this situation.
    
    Change-Id: I9e1a76b4022e6d734af1165d94c12e90af04974d
    Reviewed-on: https://gerrit.openafs.org/12592
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8f46ca082653116c9c42a69e2535be1bb2f0a2a9
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jun 21 17:42:37 2017 -0300

    ubik: allow remote dbase relabel if up to date
    
    When a site is elected the sync-site, its database is not immediately
    relabeled. The database in question will be relabeled at the end of the
    first write transaction (in udisk_commit). To do so, the dbase->version
    is updated on the sync-site first (1) and then the versions of the
    remote sites are updated through SDISK_SetVersion() (2).
    
    In order to make sure that the remote site holds the same database as
    the sync-site, the SDISK_SetVersion() function checks if the current
    version held by the remote site (ubik_dbVersion) is equal to the
    original version stored by the sync-site (oldversionp). If
    ubik_dbVersion is not equal to oldversionp, SDISK_SetVersion() will
    fail with USYNC.
    
    However, ubik_dbVersion can be updated by the vote thread at any time.
    That is, if the sync site calls VOTE_Beacon() on the remote site between
    events (1) and (2), the remote site will set ubik_dbVersion to the new
    version, while ubik_dbase->version is still set to the old version. As
    a result, ubik_dbVersion will not be equal to oldversionp and
    SDISK_SetVersion() will fail with USYNC. This failure may cause a loss
    of quorum until another election is completed.
    
    To fix this problem, let SDISK_SetVersion() relabel the database when
    ubik_dbase->version is equal to oldversionp. In order to try to only
    affect the scenario described above, also check if ubik_dbVersion is
    equal to newversionp.
    
    Change-Id: I97e6f8cacd1c9bca0b4c72374c058c5fe5b638b3
    Reviewed-on: https://gerrit.openafs.org/12613
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3c12ff9fbb2724b6e430f3eeeb2c2a1d2ae3f884
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Wed May 10 11:38:25 2017 -0400

    afs: fix repeated BulkStatus calls for directories.
    
    There is a filetype comparison check in afs_DoBulkStat just after
    BulkFetch RPC. This check will fail for directories even though
    bulkStatus was done for directories.
    
    This code is apparently necessary for Darwin, but it causes this problem
    otherwise. Thus it is removed from the rest of the builds using the
    AFS_DARWIN_ENV preprocessor variable.
    
    Credit: Yadav Yadavendra for identifying and analysing this issue.
    
    Change-Id: I9645f0e7a3327cb5f20cdf3ba2bf1cc5b1509bb5
    Reviewed-on: https://gerrit.openafs.org/12610
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 90acda692a589eb177dc5dee99490947106f8141
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 20 00:12:05 2017 -0400

    relocate old afs docs to doc/txt
    
    Move the afs/DOC files to the top-leve doc/txt directory, since this has
    become the home for developer oriented documentation.
    
    Change-Id: I128d338c69534b4ee6043105a7cfd390b280afe3
    Reviewed-on: https://gerrit.openafs.org/12662
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5a88209a0ff0cefb7ec1a810e25011ee9795d2fe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 19 23:48:42 2017 -0400

    Incorporate old release notes into NEWS
    
    Cleanup the doc/txt directory by incorporating the old release
    notes into the NEWS file.
    
    Change-Id: I63911fc5cb0b476e201148c6d3fa3441f4746ab7
    Reviewed-on: https://gerrit.openafs.org/12661
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3629ae4a682d648d6830bf551ed78faaa4cfc477
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 19 22:39:51 2017 -0400

    Update NEWS for 1.8.0pre2
    
    Change-Id: I5f83e81f25177bde1ea691e756359563e80ee3f2
    Reviewed-on: https://gerrit.openafs.org/12660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1d5b255ff68af03da891a0babefdadd85f48def0
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 19 23:09:01 2017 -0400

    Import NEWS from openafs-stable-1_6_x
    
    Import change descriptions for 1.6.20.1, 1.6.20.2, 1.6.21.
    
    Change-Id: Ib4f06c7046eb6e1bb0a1ccfb9f6c45191154fe0e
    Reviewed-on: https://gerrit.openafs.org/12659
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 77c5e4f3fba57c85fd664f64dba2c44a44a4fb5c
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Jul 26 15:18:08 2017 +0200

    Linux: fix whitespace in osi_sysctl.c
    
    Remove dozens of trailing spaces and make consistent use of tabs
    for indentation throughout the file.
    
    Change-Id: Ibbd17d2b9828590ffd84b76aac70646e9fe9cb2c
    Reviewed-on: https://gerrit.openafs.org/12665
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b0461f2def17fe3d3f49e51e3c4a1df81a921eee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 15 15:32:41 2017 -0500

    LINUX: Workaround d_splice_alias/d_lookup race
    
    Before Linux kernel commit 4919c5e45a91b5db5a41695fe0357fbdff0d5767,
    d_splice_alias in some cases can d_rehash the given dentry without
    attaching it to the given inode, right before the dentry is unhashed
    again. This means that for a few moments, that negative dentry is
    visible to __d_lookup, and thus is visible to path lookup and can be
    given to afs_linux_dentry_revalidate.
    
    Currently, afs_linux_dentry_revalidate will say that the dentry is
    valid, because d_time and other fields are set; it's just not attached
    to an inode. This causes an ENOENT error on lookup, even though the
    file is there (and no OpenAFS code said otherwise).
    
    Normally this race is rare, but it can be frequently exercised if
    we access the same directory via different names at the same time.
    This can happen with multiple mountpoints to the same volume, or by
    accessing an @sys directory via its abbreviated and expanded forms.
    
    To get around this, make afs_linux_dentry_revalidate check negative
    'dentry's to see if they are unhashed. We also lock the parent inode,
    in order to guarantee that a problematic d_splice_alias call isn't
    running at the same time (and thus, we know the dentry will not be
    unhashed immediately afterwards). This slows down
    afs_linux_dentry_revalidate for valid negative 'dentry's a little, but
    it allows us to use negative dentry's at all.
    
    Linux kernel commit 4919c5e45a91b5db5a41695fe0357fbdff0d5767 fixes
    this issue, which was included in 2.6.34, so don't do this workaround
    for 2.6.34 and on.
    
    Change-Id: I8e58ebed4441151832054b1ef3f1aa5af1c4a9b5
    Reviewed-on: https://gerrit.openafs.org/12638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d55b41072ce873210481baa4cae5c7143011869b
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jul 24 11:37:54 2017 +0200

    Linux 4.13: use designated initializers where required
    
    struct path is declared with the "designated_init" attribute,
    and module builds now use -Werror=designated-init. Cope.
    
    And as pointed out by Michael Meffie, struct ctl_table has
    the same requirement now, so use a designated initializer
    for the final element of the sysctl table too.
    
    Change-Id: I0ec45aac961dcefa0856a15ee218085626a357c7
    Reviewed-on: https://gerrit.openafs.org/12663
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 030a9849e22f443492342794f436e2c86c98a903
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 7 11:11:12 2017 -0400

    afs: fix afs_xserver deadlock in afsdb refresh
    
    When setting up a new volume, the cache manager calls afs_GetServer() to
    setup the server object for each fileserver associated with the volume.
    The afs_GetServer() function locks afs_xserver and then, among other
    things, calls afs_GetCell() to lookup the cell info by cell number.
    
    When the cache manager is running in afsdb mode, afs_GetCell() will
    attempt to refresh the cell info if the time-to-live has been exceeded
    since the last call to afs_GetCell(). During this refresh the AFSDB
    calls afs_GetServer() to update the vlserver information. The afsdb
    handler thread and the thread processing the volume setup become
    deadlocked since the afs_xserver lock is already held at this point.
    
    This bug will manifest when the DNS SRV record TTL is smaller than the
    time the fileservers respond to the GetCapabilities RPC within
    afs_GetServer() and there are multiple read-only servers for a volume.
    
    Avoid the deadlock by using the afs_GetCellStale() variant within
    afs_GetServer(). This variant returns the memory resident cell info
    without the afsdb upcall and the subsequent afs_GetServer() call.
    
    Change-Id: Iad57870f84c5e542a5ee20f00ea03b3fc87683a1
    Reviewed-on: https://gerrit.openafs.org/12652
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a6ad67485bf23084c06e1de1a424b2e375ee70f3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jul 11 08:51:08 2017 -0400

    afs: restore force_if_down check when getting connections
    
    Commit cb9e029255420608308127b0609179a46d9983ad removed the
    force_if_down check in afs_ConnBySA, which effictively turned on
    force_if_down flag for every call to afs_ConnBySA. This caused
    afs_ConnBySA to always return connections, even for server addresses
    marked down and force_if_down set to 0.
    
    One serious consequence of this bug is the cache manager will retry the
    preferred vlserver indefinitely when it is unreachable. This is because
    the loop in afs_ConnMHosts always tries hosts in preferred order and
    expects afs_ConnBySA to return a NULL if the server address has no
    connections because it is marked down.
    
    Restore the check for server addresses marked down to honor the
    force_if_down flag again so we do not get connections for down servers
    unless requested.
    
    Change-Id: Ia117354929a62b0cedc218040649e9e0b8d8ed23
    Reviewed-on: https://gerrit.openafs.org/12653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a1c072ac562ccf74e5afb8449db1bcef86aef362
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 10 14:23:12 2017 -0400

    redhat: fix rpmbuild command line option defaults
    
    Fix the handling of default values for the various rpmbuild options
    which can be given. These have been broken as code was shuffled around
    over the years.
    
    Remove obsolete comments about detecting what to build based on the
    architecture.
    
    Provide the '--without authlibs' option to disable the openafs-authlibs
    package.
    
    Change-Id: I6c8db1f3163ee241f9a4d1282345a0ddeabd284c
    Reviewed-on: https://gerrit.openafs.org/12596
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit a5bedda935c8147517bcbb56858dd88288fdf9da
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Jul 18 12:04:11 2017 +0200

    mkvers: fix potential buffer overflow
    
    The space allocated for outputFileBuf is only 2 bytes larger than
    sizeof(VERS_FILE). But we add potentially 4 extra bytes like
    ".txt" or ".xml". Just allocate enough space for all file suffices.
    
    Change-Id: Ic0f97590be208deaf9c4a5c25e21056ea9d2cd6f
    Reviewed-on: https://gerrit.openafs.org/12657
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d7211350eec18b30e9ccf30f5e95fb58162c637d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 15 15:29:17 2017 -0500

    afs_linux_lookup: Avoid d_add on afs_lookup error
    
    Currently, afs_linux_lookup looks roughly like this pseudocode:
    
    {
        code = afs_lookup(&vcp);
        if (!code) {
            ip = AFSTOV(vcp);
            error = process_ip(ip);
            if (error) {
                goto done;
            }
        }
        process_dp(dp);
        newdp = d_splice_alias(ip, dp);
     done:
        cleanup();
    }
    
    Note that if there is an error while processing the looked-up inode
    (ip), we jump over d_splice_alias. But if we encounter an error from
    afs_lookup itself, we do not jump over d_splice_alias. This means that
    if afs_lookup encounters any error, we initialize the given dentry
    (dp) as a negative entry, effectively telling the Linux kernel that
    the requested name does not exist.
    
    This is correct for ENOENT errors, of course, but is incorrect for any
    other error. For non-ENOENT errors we later return an error from the
    function, but this does not invalidate the generated dentry. The
    result is that when afs_lookup encounters an error, that error will be
    propagated to userspace, but subsequent lookups for the same name will
    yield an ENOENT error (until the dentry is invalidated). This can
    easily cause a file to seem to mysteriously disappear, if a transient
    error like network problems caused the afs_lookup call to fail.
    
    To fix this, treat ENOENT as a non-error, like the comments already
    suggest. In our case, ENOENT is not really an error; it just means we
    populate the given dentry differently. So if we get ENOENT from
    afs_lookup, set our vcache to NULL and clear the error, and continue.
    
    This also has the side effect of not treating ENOENT errors from
    afs_CreateAttr identically to ENOENT errors from afs_lookup. That
    shouldn't happen, but there have been abuses of the ENOENT error code
    in the past, so it is probably better to be cautious.
    
    Many thanks to Gaja Sophie Peters for assistance in tracking down and
    testing fixes for this issue, including providing access to test systems
    experiencing the buggy behavior.
    
    FIXES 133654
    
    Change-Id: Ia9aab289d5c041557ab6b00f1d41de2edfc97a89
    Reviewed-on: https://gerrit.openafs.org/12637
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>

commit 5dd2ce2043f53e80e1ded25abcfd565b4071a3ad
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 15 15:29:48 2017 -0500

    LINUX: Rearrange afs_linux_lookup cleanup
    
    Currently, the cleanup and error handling in afs_linux_lookup is
    structured similar to this pseudocode:
    
        if (!code) {
            if (!IS_ERR(newdp)) {
                return no_error;
            } else {
                return newdp_error;
            }
        } else {
            return code_error;
        }
    
    The multiple different nested error cases make this a little complex.
    To make this easier to follow for subsequent changes, alter this
    structure to be more like this:
    
        if (IS_ERR(newdp)) {
            return newdp_error;
        }
    
        if (code) {
            return code_error;
        }
    
        return no_error;
    
    There should be no functional change in this commit; it is just code
    reorganization.
    
    Technically the ordering of these checks is changed, but there is no
    combination of conditions that actually results in different code
    being hit. That is, if 'code' is nonzero and IS_ERR(newdp) is true,
    then we would go through a different path. But that cannot happen,
    since if 'code' is nonzero, we have no inode and so IS_ERR(newdp)
    cannot be true (d_splice_alias cannot return an error for a NULL
    inode). So there is no functional change.
    
    Change-Id: I94a3aef5239358c3d13fe5314044dcc85914d0a4
    Reviewed-on: https://gerrit.openafs.org/12636
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>

commit d0b64a4a1b61b5e22f0e3fe509f8facd30bc2b74
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jun 29 16:57:42 2017 +0200

    doc: Add introduction and credits to ubik.txt
    
    Credit where it's due. And the remainder of the introduction may
    provide some useful context too.
    
    Change-Id: I99c7e599363126c581ae1ac00da67c33acc3687f
    Reviewed-on: https://gerrit.openafs.org/12644
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d1c4dbf28ae28bbfac3d8bc96d0fa5ae3d422bfd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Jun 25 13:56:04 2017 -0500

    Put jhutz's ubik analysis in doc/txt
    
    A file in the source tree is much easier to locate than an old
    mailing list post; it's quite handy to have this at hand as a
    reference.
    
    Change-Id: I5267a2f86b36e92b05249364085bdd33aeb28d1b
    Reviewed-on: https://gerrit.openafs.org/12642
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0327ead297e3cf395cced1e6690b901e445f074c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 23 17:20:11 2017 -0500

    afs: Improve "Corrupt directory" warning
    
    This warning is a bit confusing to see, since it doesn't say anything
    about AFS (making it unclear where it's coming from), and it lacks a
    trailing newline (making it ugly). Fix both of these.
    
    Change-Id: I92a3d07fd193bf99b545aef9b21f52d23c356a2d
    Reviewed-on: https://gerrit.openafs.org/12641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cdb92f94598e5b25fbcdfc6fb1650218ec05d63f
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Thu Jun 1 22:25:49 2017 -0400

    vol: modify volume updateDate upon salvage change
    
    If the salvager changed the volume, set the VolumeDiskData.updateDate
    field so that
    
      1. the change is visible via "vos examine"
    
      2. backup services will backup the corrected volume
    
    Teradactyl pointed out the problem which forces cell administrators
    to manually trigger a backup for each volume that has been salvaged.
    
    Change-Id: I9a35b92e8abbe3b54b08e64ac13de44442736c72
    Reviewed-on: https://gerrit.openafs.org/12629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f5491119ff7d422b1c0c311a50e30bec1c15296c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 2 15:19:26 2017 -0400

    bozo: do not fail silently on unknown bosserver options
    
    Instead of failing silently when the bosserver is started with an
    unknown option, print an error message and exit with a non-zero value.
    Continue to exit with 0 when the -help option is given to request the
    usage message.
    
    This change should help make bosserver startup failures more obvious
    when an unsupported option is specified. Example systemd status message:
    
       systemd[1]: Starting OpenAFS Server Service...
       bosserver[32308]: Unrecognized option: -bogus
       bosserver[32308]: Usage: bosserver [-noauth] ....
       systemd[1]: openafs-server.service: main process exited,
                   code=exited, status=1/FAILURE
    
    Change-Id: I8717fb4a788fbcc3d1e2d271dd03511c5b504f10
    Reviewed-on: https://gerrit.openafs.org/12630
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit aaa47dc1077f0dd5b0040006c831f64cc8a303b5
Author: Jeffrey Altman <jaltman@auristor.com>
Date:   Sat May 27 14:59:04 2017 -0400

    rx: wake up send after 'twind' has been updated
    
    Beginning in AFS 3.4 and 3.5 the ack trailer includes the size of the
    peer's receive window.  This value is used to update the sender's
    transmit window (twind).  When the twind is increased the application
    thread is signaled to indicate that more packets can be sent.
    
    This change wakes the application thread after twind is updated by
    the peer's receive window instead of beforehand.  Failure to do so
    can result in 100ms transmit delays when the receive window transitions
    from closed to open.
    
    Change-Id: Id129ea93e94612a4b8cce9f8cbddde9c779ff26b
    Reviewed-on: https://gerrit.openafs.org/12625
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 63e530e7df0b8013bcc4421b0bba558d4f1d2d57
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Tue May 16 07:29:30 2017 +0000

    LINUX: Switch to new bdi api for 4.12.
    
    super_setup_bdi() dynamically allocates backing_dev_info structures
    for filesystems and cleans them up on superblock destruction.
    
    Appears with Linux commit fca39346a55bb7196888ffc77d9e3557340d1d0b
    Author: Jan Kara <jack@suse.cz>
    Date:   Wed Apr 12 12:24:28 2017 +0200
    
    Change-Id: I67eed0fcb8c96733390579847db57fb8a4f0df3e
    Reviewed-on: https://gerrit.openafs.org/12614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b47dc5482da614742b01dcc62d5e11d766a9432f
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Wed May 10 19:46:38 2017 +0000

    LINUX: CURRENT_TIME macro goes away.
    
    Check if the macro exists, define it if it does not.
    
    Change-Id: I9990579f94bfba0804e60fa6ddcc077984cc46c3
    Reviewed-on: https://gerrit.openafs.org/12611
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7af9554bed2d906615e0f5a94537d3d553ca2d1e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 6 22:50:41 2017 -0400

    redhat: update rpm spec file
    
    Update the spec file to keep up with accumulated changes.
    
    * Correct installation location of db check programs.
    * Install afsd to the legacy location to avoid breaking
      init scrips and systemd configs.
    * Exclude yet another duplicated copy of kpwvalid.
    * libubik_pthread.a is gone.
    * Install the kpwvalid man page.
    * Continue to remove the obsolete kdb program.
    * Update the names of the pam_afs symlinks.
    * Add libkopenafs to authlibs.
    * Package dafssync-debug man pages.
    * Package opr/queue.h in devel.
    * Package akeyconvert and man page.
    * Do not package fuse version of afsd. A separate sub-package
      for afsd.fuse is warrented, since it adds new libfuse
      dependencies.
    * Package new server man pages, including dafsssync-* pages.
    * Package libafsrfc3961.a as a devel lib.
    * Continue to package kauth programs.
    
    Change-Id: I875c3b8dee53abbc67b0f05f8b291bb58abf41a5
    Reviewed-on: https://gerrit.openafs.org/12595
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit dd80f081663c50f93618da7a309b390f2fbdbc59
Author: Tim Creech <tcreech@tcreech.com>
Date:   Sun Mar 5 18:13:45 2017 -0500

    FBSD: build fix for FreeBSD 11
    
    r285819 eliminated b_saveaddr from struct buf, while r292373 changed the
    arguments to VOP_GETPAGES. The approach used by this patch to address
    these changes was inspired by FreeBSD's nfs and samba clients.
    
    Change-Id: Ibcf6b6fde6c86f96aa814af2bca08f1a8b286740
    Reviewed-on: https://gerrit.openafs.org/12575
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dcfebc7ca2923c1f93df9105e493bd4228ea8a0e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 5 16:48:36 2017 -0400

    redhat: convert rpm spec file to make install
    
    Convert the build and install from the deprecated 'make dest' to the
    modern 'make install' method.
    
    * Clarify the install section by unrolling the shell scripts,
      reorganizing, and improving the comments.
    * Remove the gzip glob of the man pages; rpmbuild automatically
      compresses the man pages and will handle symlinks correctly.
    * Remove the generated temporary list file and specify files directly.
    * Remove the extra tar commands to install the man pages out of the doc
      directory; 'make install..' installs the man pagess.
    * Remove code in the install section which determines the sysname. This is
      no longer needed during the install.
    * Update the kernel module install commands to accommodate the
      conversion from 'make dest'.
    
    Change-Id: I97ec80185a2b11704b27ea74941b50ff4a5aca8c
    Reviewed-on: https://gerrit.openafs.org/12594
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit bd8bec5b474315cd28df5a4741c1e07d48c7250a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 25 18:34:47 2017 -0400

    redhat: fix whitespace errors in the rpm spec file
    
    Remove trailing whitespace characters that have crept into
    the rpm spec file over the years.
    
    Change-Id: I08c7ad926ddb524d6938b26513963c28c70b4195
    Reviewed-on: https://gerrit.openafs.org/12606
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6b7b4239ab22fbb301e3b50e2ca4072445ba4e9e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Tue Apr 11 11:58:55 2017 +0200

    Linux: only include cred.h if it exists
    
    Commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2 introduced an explicit
    include of linux/cred.h since the latest kernel no longer includes it
    implicitly in sched.h. Alas, older kernels (like 2.6.18) don't have this
    file. Add a configure test for the existence of cred.h and only include
    it if actually present.
    
    Change-Id: Ia7e38160492b1e03cdb257e4b2bef4d18c4a28fb
    Reviewed-on: https://gerrit.openafs.org/12593
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 23 18:36:44 2017 -0700

    Linux v4.11: cred.h is no longer included in sched.h
    
    With Linux commit e26512fea5bcd6602dbf02a551ed073cd4529449, cred.h is no
    longer included in sched.h.
    
    Several components of libafs which require cred.h were picking it by
    including sched.h.
    
    Instead, explicitly add an include for cred.h. cred.h begins with a
    customary one-shot to prevent multiple loads:
    
     #ifndef _LINUX_CRED_H
     #define _LINUX_CRED_H
    
    Therefore we don't need a new autoconf test or preprocessor conditional
    to prevent redundant includes on older Linux releases.
    
    Change-Id: Ifc496c83141d2cfbd417133feb6d87c1146e5014
    Reviewed-on: https://gerrit.openafs.org/12574
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit ad001550949b612ff6b4899fa8da50ee58f87533
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 23 15:10:03 2017 -0700

    Linux v4.11: signal stuff moved to sched/signal.h
    
    In Linux commit c3edc4010e9d102eb7b8f17d15c2ebc425fed63c, signal_struct
    and other signal handling declarations were moved from sched.h to
    sched/signal.h.
    
    This breaks existing OpenAFS autoconf tests for recalc_sigpending() and
    task_struct.signal->rlim, so that the OpenAFS kernel module can no
    longer build.
    
    Modify OpenAFS autoconfig tests to cope.
    
    Change-Id: Ic9f174b92704eabcbd374feffe5fbeb92c8987ce
    Reviewed-on: https://gerrit.openafs.org/12573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit de5ee1a67d1c3284d65dc69bbbf89664af70b357
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Mon Mar 20 14:30:46 2017 +0000

    Linux v4.11: getattr takes struct path
    
    With Linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f
    
        statx: Add a system call to make enhanced file info available
    
    The Linux getattr inode operation is altered to take two additional
    arguments: a u32 request_mask and an unsigned int flags that indicate
    the synchronisation mode.  This change is propagated to the
    vfs_getattr*() function.
    
    -   int (*getattr) (struct vfsmount *, struct dentry *, struct kstat *);
    +   int (*getattr) (const struct path *, struct kstat *,
    +                     u32 request_mask, unsigned int sync_mode);
    
    The first argument, request_mask, indicates which fields of the statx
    structure are of interest to the userland call. The second argument,
    flags, currently may take the values defined in
    include/uapi/linux/fcntl.h and are optionally used for cache coherence:
    
     (1) AT_STATX_SYNC_AS_STAT tells statx() to behave as stat() does.
    
     (2) AT_STATX_FORCE_SYNC will require a network filesystem to
         synchronise its attributes with the server - which might require
         data writeback to occur to get the timestamps correct.
    
     (3) AT_STATX_DONT_SYNC will suppress synchronisation with the server in
         a network filesystem.  The resulting values should be considered
         approximate.
    
    This patch provides a new autoconf test and conditional compilation to
    cope with the changes in our getattr implementation.
    
    Change-Id: Ie4206140ae249c00a8906331c57da359c4a372c4
    Reviewed-on: https://gerrit.openafs.org/12572
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c666bfee8848183ccbc566c9e0fa019088e56505
Author: Jonathon Weiss <jweiss@mit.edu>
Date:   Thu Nov 10 17:06:18 2016 -0500

    Prevent double-starting client on RHEL7
    
    On RHEL7 if the AFS client is stopped with 'service openafs-client
    stop', but that fails for some reason (most commonly because some
    process has a file or directory in AFS open) systemd will decide that
    the openafs-client is in a failed state when it is actually running.
    If one then runs 'service openafs-client start' systemd will start a
    new AFS client.  At this point AFS access will continue to work until
    the functional AFS client is (successfully) stopped, at which point a
    reboot is required to recover.
    
    Have systemd check the status of 'fs sysname' before starting the
    AFS client, so we avoid getting into a state that requires a reboot.
    
    Change-Id: I28a5cca746823d69183ea5ce65c10e1725009c5c
    Reviewed-on: https://gerrit.openafs.org/12443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d2721be299c124d76b611ab2980c51be148fa1a7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Feb 20 22:18:09 2017 -0600

    XBSD: do not claim AFS_VM_RDWR_ENV
    
    The AFS_VM_RDWR_ENV configuration parameter (defined or not defined
    in each platform's param.h) is undocumented, but appears to be an
    indication of a property of the platform OS's VFS layer, or perhaps just
    of the complexity of the read/write vnops that we implement for it.
    That is, AFS_VM_RDWR_ENV is defined when the read/write vnops implement
    partial write logic (and presumably when they interact with the OS VM
    layer in ways not expressed by the afs_write() abstraction); systems
    that do not define AFS_VM_RDWR_ENV can use the afs_write() function
    fairly directly as the vnode operation.  Use of AFS_VM_RDWR_ENV
    evolved over time, with the original (AFS 3.2/3.3-era) code using a
    simple scheme that handled partial writes directly in afs_write()
    and avoided complexity in callers. In AFS 3.4, sunos and solaris
    gained a more complicated read/write vnop that incorporated the
    afs_DoPartialWrite() call itself, and eventually in 3.6 we see the
    behavior established at the original IBM import, with all the (Unix)
    OSes supported at that time defining AFS_VM_RDWR_ENV.
    
    When DARWIN support was brought in in commit
    a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b, its param.h properly did
    not define AFS_VM_RDWR_ENV, as OS X uses a VFS interface that shares
    some level of abstraction with the traditional BSD VFS and its
    read/write/getpages/putpages operations, so the afs_write() behavior
    was natural and no extra complications needed for integration with the
    VM layer or other optimizations.
    
    However, when the initial FreeBSD support came in a few months later,
    it seems to have taken inspiration from the OSes that were supported
    in the initial IBM import, and kept the AFS_VM_RDWR_ENV definition.
    This was then propagated to all the later BSDs as they were added.
    
    Perhaps the most noticeable consequence of this definition is that
    the calls to afs_DoPartialWrite() from afs_write() are bypassed, with
    a comment that "[i]f write is implemented via VM, afs_DoPartialWrite()
    is called from the high-level write op" (and calls to afs_FakeOpen()
    and afs_FakeClose() are similarly skipped).  This means that attempting
    to write a file larger than the local cache will hang waiting for
    more space to be freed, which will never happen as the vcache remains
    locked and will not be written out in the background.
    
    In the absence of a documented meaning for AFS_VM_RDWR_ENV, this
    also gives us a proxy that can be used to indicate whether a given
    OS's support intended to claim the AFS_VM_RDWR_ENV -- such platforms
    will actually contain the call to afs_DoPartialWrite() in the
    appropriate vnode operation.  This can be used to sanity-check the
    places where AFS_VM_RDWR_ENV is removed by this commit.  Interestingly,
    HP-UX does not call afs_DoPartialWrite() but also is clearly in a VFS
    that uses a rdwr()-based approach, as the corresponding vnode operation
    is implemented by mp_afs_rdwr(), so leave it unchanged for now.
    
    Tim Creech is responsible for noting the lack of calls to
    afs_DoPartialWrite() on FreeBSD, and Chaskiel Grundman for the
    historical research into pre-OpenAFS AFS behavior.
    
    Designing and implementing more complicated BSD read/write vnops that
    incorporate afs_DoPartialWrite() and other improvements is left for
    future work.
    
    
    Change-Id: I8e89855ac31303934f97d0753b64899fb7e3867c
    Reviewed-on: https://gerrit.openafs.org/12520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Antoine Verheijen <apv@ualberta.ca>
    Reviewed-by: Tim Creech <tcreech@tcreech.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2421da2bf327525216ec7e79b9aa81fa2c4f77d5
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Jan 31 11:43:18 2017 -0300

    vol: detach offline volumes on dafs
    
    Taking a volume offline always clears the inService bit. Taking a
    volume out of service also takes it offline. Therefore, if the
    inService flag is false, the volume in question should be offline.
    On dafs, an offline volume should be unattached.
    
    The attach2() function does not change the state of the volume received
    as an argument to unattached when the inService flag is false. Instead,
    this function changes the state of the volume in question to
    pre-attached and returns VNOVOL to the client. As result, subsequent
    accesses to this volume will make the server try and fail to attach
    this offline volume over and over again, writing to the FileLog each
    time.
    
    To fix this problem, detach the volume received as an argument if the
    inService flag is false. Since the new state of this volume will be
    unattached, subsequent accesses will not hit attach2().
    
    This situation where a volume is not offline but is also not in service
    can occur if a volume is taken offline with vos offline and some time
    later the DAFS fileserver is shutdown and restarted; the volume is
    placed into the preattach state by default when the server restarts.
    Each access to the volume by clients then causes the fileserver to
    attempt to attach the volume, which fails, since the in-service flag in
    the volume header is false from the previous vos offline.  The
    fileserver will log a warning to the FileLog on each attempt to attach
    the volume, and this will fill the FileLog with duplicate messages
    corresponding to the number of attempted accesses.
    
    Change-Id: Ifce07c83c1e8dbf250b88b847d331234bdaa9df5
    Reviewed-on: https://gerrit.openafs.org/12515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 22d841a45fff7026318b529a41dd957ce8bb0ddf
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Feb 28 18:02:39 2017 -0500

    SOLARIS: prevent BAD TRAP panic with Studio 12.5
    
    Starting with Solaris Studio 12.3, it is documented that Solaris kernel
    modules (such as libafs) must not use any floating point, vector, or
    SIMD/SSE instructions on x86 hardware.  However, each new Studio
    compiler release (12.4 and especially 12.5) is more likely to use these
    types of instructions by default.
    
    If the libafs kernel module includes any forbidden kernel instructions,
    Solaris will panic the system with:
      BAD TRAP:  type=7 (#nm Device not available)
    
    Provide a new autoconfig test to specify the required compiler options
    (-xvector=%none -xregs=no%float) when building the OpenAFS kernel module
    for Solaris, so that no invalid x86 instructions are used.
    
    In addition, reinstate default kernel module optimization for Solaris.
    It had been disabled in commit 80592c53cbb0bce782eb39a5e64860786654be9f
    to address this same issue in Studio 12.3 and 12.4.  However, Studio
    12.5 started using some SSE instructions even with no optimization.
    
    This commit has been tested with OpenAFS master and Studio 12.5 at all
    optimization levels (none, -xO1 through -xO5) and verified to contain no
    XMM register instructions via the following command:
      $ gobjdump -dlr libafs64.o | grep xmm | wc -l
    
    Change-Id: Ic3c7860f7d524162fd9178a1dab5dd223722ee43
    Reviewed-on: https://gerrit.openafs.org/12558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 38a3f51fb8b3910ecdd7cacb06f35ec681990aea
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Feb 20 20:16:47 2017 -0500

    DAFS: do not save or restore host state if CPS in progress
    
    If a fileserver is shutdown while one or more PR_GetHostCPS calls
    are in progress, this state is saved in the fsstate.dat file as
    hostFlags HCPS_WAITING, HCPS_INPROGRESS.  Other hosts that are
    merely waiting will have HCPS_WAITING recorded.
    
    However, it makes no sense to restore host structs in this state,
    because the GetCPS calls will no longer be in progress.  Once these
    hosts become active, they will block server threads and quickly cause
    all server threads to be exhausted as other CPS requests are blocked
    behind them.
    
    Instead, exclude these states from both save and restore.
    
    Change-Id: I3fad67b70c96dc967d6f8e3a7b393cfda076c91d
    Reviewed-on: https://gerrit.openafs.org/12561
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bd15a5f56fde98983464acf5fd4cdd731d206d9f
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Mar 2 12:52:10 2017 +0100

    doc: clarify the fs wscell manpage
    
    What's displayed by fs wscell is not necessarily the current content
    of ThisCell, but that at the time of starting the client. Say so.
    
    FIXES 133339
    
    Change-Id: Id3351f1236e5061340eb07041d4ce3e4de69a1a1
    Reviewed-on: https://gerrit.openafs.org/12537
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d39e7c7af77b4e1b043611e1a6e78267f5f956ef
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Mar 2 18:01:48 2017 -0300

    osx: build afscell only for active architecture
    
    The InstallerPlugins framework provided by the MacOSX10.12.sdk does not
    define symbols for architecture i386. As a result, the OpenAFS code
    cannot be built on OS X 10.12.
    
    To fix this problem, build the afscell xcode project only for active
    architecture.
    
    Change-Id: I2a2bd5694826b668fceb7402567fba1d0f128479
    Reviewed-on: https://gerrit.openafs.org/12531
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a13973985bc7e190364d208c590ec42dbccf81b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 11 13:14:27 2015 -0400

    libafs: vldb cache timeout option (-volume-ttl)
    
    The unix cache manager caches VLDB information for read-only volumes as
    long as a volume callback is held for a read-only volume.  The volume
    callback may be held as long as files in the read-only volume are being
    accessed.  The cache manager caches VLDB information for read/write
    volumes as long as volume level errors (such as VMOVED) are not returned
    by a fileserver while accessing files within the volume.
    
    Add a new option to set the maximum amount of time VLDB information will
    be cached, even if a callback is still held for a read-only volume, or
    no volume errors have been encounted while accessing files in read/write
    volumes.
    
    This avoids situations where the vldb information is cached indefinitely
    for read-only and read/write volumes.  Instead, the VL servers will be
    periodically probed for volume information.
    
    Change-Id: I5f2a57cdaf5cbe7b1bc0440ed6408226cc988fed
    Reviewed-on: https://gerrit.openafs.org/11898
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3893ed397283b0c3605def102004a645a325d476
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 27 01:40:51 2017 -0500

    SOLARIS: update convert from ancient _depends_on
    
    Commit 37db7985fde9e6a5e71ae628d0b7124a27bf31c3 modernized how we
    declare module dependencies on Solaris 10 and newer.
    
    Instead of explicitly specifying recent Solaris version numbers, specify
    old versions for the old method.  This should be more future proof.
    
    Thanks to Ben Kaduk for the suggestion.
    
    Change-Id: I7b3c90803825e2c0736548b56deb354183e81b15
    Reviewed-on: https://gerrit.openafs.org/12529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 69aadea298825f1f224406064b83d1a947abf96b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Feb 25 20:33:00 2017 -0500

    build: update search paths for solaris cc
    
    Move the macros to search for the solaris cc to a separate macro and
    update the search paths to keep up with released versions.
    
    Change-Id: Iaba816f1acf5f45d4e147ae517e73949eb8fe949
    Reviewed-on: https://gerrit.openafs.org/12528
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6ea6c182c7fb6c22dafbbf203abcc23726e06cba
Author: Sergio Gelato <Sergio.Gelato@astro.su.se>
Date:   Wed Feb 22 13:55:33 2017 -0800

    LINUX: Debian/Ubuntu build regression on kernel 3.16.39
    
    Now that kernel 4.9 has hit jessie-backports, it becomes desirable to
    also backport the associated openafs patches.
    
    Unfortunately, Linux-4.9-inode_change_ok-becomes-setattr_prepare.patch
    causes a build failure against jessie's current default kernel,
    3.16.39-1, due to the fact that setattr_prepare() is available (it was
    cherrypicked to address CVE-2015-1350) but file_dentry() is not (it was
    introduced in kernel 4.6).
    
    This makes it difficult to have a version of openafs for jessie that
    supports both kernels.
    
    To deal with this, follow the implementation of file_dentry() in 4.6,
    and simplify it to account for the lack of d_real() support in older
    kernels.
    
    Note that inode_change_ok() has been added back to 3.16.39-1 to avoid
    ABI changes. That means the current openafs packages in jessie continue
    to work with kernel 3.16.39-1 since they do not include
    Linux-4.9-inode_change_ok-becomes-setattr_prepare.patch.
    
    Originally reported at
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855366
    
    FIXES RT134158
    
    Change-Id: I157aa2ff25945c1c6e3b8e4a600557125711a681
    Reviewed-on: https://gerrit.openafs.org/12523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 789319bf0f2b26ad67995f8cbe88cee87a1bbdc0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Dec 7 11:11:45 2016 -0500

    Linux 4.10: have_submounts is gone
    
    Linux commit f74e7b33c37e vfs: remove unused have_submounts() function
    (v4.10-rc2) removes have_submounts from the tree after providing a
    replacement (path_has_submounts) for its last in-tree caller, autofs.
    
    However, it turns out that OpenAFS is better off not using the new
    path_has_submounts.  Instead, OpenAFS could/should have stopped using
    have_submounts() much earlier, back in Linux v3.18 when d_invalidate
    became void.  At that time, most in-tree callers of have_submounts had
    already been converted to use check_submounts_and_drop back in v3.12.
    At v3.18, a series of commits modified check_submounts_and_drop to
    automatically remove child submounts (instead of returning -EBUSY if a
    submount was detected), then subsumed it into d_invalidate.  The end
    result was that VFS now implicitly handles much of the housekeeping
    previously called explicitly by the various filesystem d_revalidate
    routines:
    - shrink_dcache_parent
    - check_submounts_and_drop
    - d_drop
    - d_invalidate
    All in-tree filesystem d_revalidate routines were updated to take
    advantage of this new VFS support.
    
    Modify afs_linux_dentry_revalidate to no longer perform any special
    handling for invalid dentries when D_INVALIDATE_IS_VOID.  Instead, allow
    our VFS caller to properly clean up any invalid dentry when we return 0.
    
    Change-Id: I0c4d777e6d445857c395a7b5f9a43c9024b098e9
    Reviewed-on: https://gerrit.openafs.org/12506
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 961cee00b8f5c302de5f66beb81caa33242c7971
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Thu Feb 16 18:01:50 2017 -0500

    LINUX: Bring debug symbols back to the Linux kernel module.
    
    Starting with 4.8 Linux kernels our existing build script
    generator, make_kbuild_makefile.pl, does not pass the debugging
    symbols CFLAGS that were present when building for previous kernels.
    
    This fix appends the $(KERN_DBG) variable which will only be defined
    when the configuration includes the --enable-debug-kernel option.
    
    Change-Id: I9a85dc0311a3a706239bc9e471b2d7197ebe1946
    Reviewed-on: https://gerrit.openafs.org/12519
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9bc6fd9312a2be591cc831d9b0afd91e53eec6fc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 10 10:39:09 2017 -0500

    build: add --without-swig to override swig check
    
    Add the --without-swig option to disable the automatic swig detection
    and disable the optional features which depend on swig.  This allows
    builders to avoid swig even if present on the build system.
    
    Also, add the --with-swig option to force the check and fail if not
    detected.  This allows builders to declare the swig features are
    mandatory.
    
    The default continues to be to check for swig, and if present, build the
    optional features which require swig.
    
    To disable the automatic check for swig and disable the features which
    depend on swig:
    
        ./configure --without-swig     # or --with-swig=no
    
    To force the check and fail if swig is not present on the system:
    
        ./configure --with-swig        # or --with-swig=yes
    
    If --with-swig is given and swig is not detected, then configure will
    fail with the message:
    
        configure: error: swig requested but not found
    
    The Perl 5 bindings for libuafs is the only feature which requires swig
    at this time.
    
    Change-Id: I0726658a9cc7b1b2a9d5e5d306adb6e36ad3c0f6
    Reviewed-on: https://gerrit.openafs.org/12518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit dd97cb7a7447313dbc1da65104786fe03ede7c8d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 10 01:29:28 2017 -0600

    PERLUAFS: Modernize lang-specific swig typemaps
    
    Currently, our swig bindings for PERLUAFS define a couple of typemaps
    like so:
    
        %typemap(in, numinputs=1, perl5) (char *READBUF, int LENGTH) {
            [...]
        }
    
    Embedding the target language name in the typemap arguments is a very
    old way of specifying what language the typemap is for; they were
    removed after swig 1.1. With swig 3.0.x releases (and possibly
    others), the specific combination of this deprecated syntax and some
    other features we're using causes a segfault. That's clearly a bug in
    swig, but we shouldn't be using the deprecated syntax anyway.
    
    Update this to instead use preprocessor symbols to specify
    language-specific typemaps (#ifdef SWIGPERL). We only actually define
    these for perl right now, so make sure to throw an error if we're not
    running for perl.
    
    FIXES 134103
    
    Change-Id: I14264a2dfada53d99413808ed5d60b79b1ee44f3
    Reviewed-on: https://gerrit.openafs.org/12517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5dc53812df9e5a42fa822c9b890c1b8a442bed64
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Dec 6 10:48:31 2016 -0500

    AFS_component_version_number.c: Respect SOURCE_DATE_EPOCH if set
    
    To improve build reproducibility, if the SOURCE_DATE_EPOCH environment
    variable is set, use it to deterministically replace the embedded build
    date, and do not include the username or hostname in this case.
    
    https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal
    
    Change-Id: I9ba951f1836385ffd14aad95f071bf8c672a01bb
    Reviewed-on: https://gerrit.openafs.org/12471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 872a63bbfb04addbdc17dc5c09ec018bb9ddf515
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 9 23:55:32 2017 -0500

    redhat: move the klog.krb5 man page to openafs-krb5
    
    Move the klog.krb5 man page to the openafs-krb5 package, which
    distributes the klog.krb5 binary, instead of the general openafs
    package.
    
    Change-Id: I6dc3896f330bb0c639cc75155f611ddaf11b9b75
    Reviewed-on: https://gerrit.openafs.org/12509
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b146c2d54ff3bd99f2c4674eb88d5af417a194d7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jan 12 12:27:36 2017 -0500

    SOLARIS: fix for AFS_PAG_ONEGROUP_ENV for Solaris 11
    
    Fix a bug introduced in commit aab1e71628e6a4ce68c5e59e2f815867438280d1
    in which a pointer was incorrectly checked for a NULL value.
    
    Fixes a crash when a PAG is set on Solaris.
    
        # mdb unix.1 vmcore.1
        > ::status
        ...
        panic message:
        BAD TRAP: type=e (#pf Page fault) rp=fffffffc802ba8f0 addr=0 occurred in
          module "afs" due to a NULL pointer dereference
        > ::stack
        pag_to_gidset+0x145()
        setpag+0xcc()
        AddPag+0x3a()
        afs_setpag+0x58()
        Afs_syscall+0x115()
    
    The crash occurs since gidslot is NULL during the assignment:
    
        *gidslot = pagvalue;
    
    Change-Id: Ic4d50c6b046d10faa49cd4363692e0302707583d
    Reviewed-on: https://gerrit.openafs.org/12508
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a92a3a0675d941536103b60d708a6b3305b9b8fa
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jan 11 06:05:04 2017 -0800

    osx: let prefpane knows where binaries can be found
    
    Starting from OS X 10.11, the OpenAFS binaries were moved to the
    following directories: /opt/openafs/bin and /opt/openafs/sbin. However,
    the OpenAFS prefpane is not aware of the change mentioned above. As a
    result, some functionalities provided by the OpenAFS prefpane are not
    working properly.
    
    To fix this problem, add the new paths to the proper environment
    variable.
    
    Change-Id: Idaa2f0329af2092cf9ad1d63f1a01300b150227a
    Reviewed-on: https://gerrit.openafs.org/12507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 19599b5ef5f7dff2741e13974692fe4a84721b59
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sat Jan 7 06:22:47 2017 -0500

    LINUX: eliminate unused variable warning
    
    Commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286 added routine
    osi_TryEvictDentries and included new logic for D_INVALIDATE_IS_VOID.
    Unfortunately, this new code path no longer uses dentry; it also should
    have been made conditional at that time.
    
    Wrap the declaration of dentry in #ifndef D_INVALIDATE_IS_VOID to
    eliminate the unused variable warning.
    
    Change-Id: I89c1430ba984539ca775da2540ea966030de0701
    Reviewed-on: https://gerrit.openafs.org/12505
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2207dcdaad40beed29b0326153dbb76bdf91564d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 3 14:41:36 2017 -0500

    cleanup afs_args.h
    
    Collect the syscall op code (AFSOP_) defines in one section and cleanup
    the use of whitespace and tabs.
    
    This should be a non-functional change.
    
    Change-Id: I1ba763a445b938fcb3677a388a703e1405ee166e
    Reviewed-on: https://gerrit.openafs.org/12501
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit aab1e71628e6a4ce68c5e59e2f815867438280d1
Author: Andrew Deason <adeason@dson.org>
Date:   Sat Aug 8 16:49:50 2015 -0500

    SOLARIS: Use AFS_PAG_ONEGROUP_ENV for Solaris 11
    
    On Solaris 11 (specifically, Solaris 11.1+), the supplemental group
    list for a process is supposed to be sorted. Starting with Solaris
    11.2, more authorization checks are done that assume the list is
    sorted (e.g., to do a binary search), so having them out of order
    can cause incorrect behavior. For example:
    
      $ echo foo > /tmp/testfile
      $ chmod 660 /tmp/testfile
      $ sudo chown root:daemon /tmp/testfile
      $ cat /tmp/testfile
      foo
      $ id -a
      uid=100(adeason) gid=10(staff) groups=10(staff),12(daemon),20(games),21(ftp),50(gdm),60(xvm),90(postgres)
      $ pagsh
      $ cat /tmp/testfile
      cat: cannot open /tmp/testfile: Permission denied
      $ id -a
      uid=100(adeason) gid=10(staff) groups=33536,32514,10(staff),12(daemon),20(games),21(ftp),50(gdm),60(xvm),90(postgres)
    
    Solaris sorts the groups given to crsetgroups() on versions which
    required the group ids to be sorted, but we currently manually put our
    PAG groups in our own order in afs_setgroups(). This is currently
    required, since various places in the code assume that PAG groups are
    the first two groups in a process's group list.
    
    To get around this, do not require the PAG gids to be the first two
    gids anymore. To more easily identify PAG gids in group processes, use
    a single gid instead of two gids to identify a PAG, like modern Linux
    currently uses (under the AFS_PAG_ONEGROUP_ENV). High-numbered groups
    have been possible for quite a long time on Solaris, allegedly further
    back than Solaris 8. Only do this for Solaris 11, though, to reduce
    the platforms we affect.
    
    [mmeffie@sinenomine.net: Define AFS_PAG_ONEGROUP_ENV in param.h.]
    
    Change-Id: I44023ee8aa42f3f69bb0c8a8e9178abd513951a1
    Reviewed-on: https://gerrit.openafs.org/11979
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 97fec642e591762391e6d453874ff9b5c9ba0c1e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 26 12:15:35 2016 -0600

    afsd_kernel: remove gratuitous OS dependence
    
    Commit 94c15f62 in 2010 gave NetBSD and only NetBSD the debug
    printing of errno and the strerror() output, with no justification
    in the commit message.  In the interest of unifying behavior and
    avoiding unnecessary OS dependence, give all platforms the errno
    and strerror() behavior.
    
    [mmeffie@sinenomine.net: print errno iff syscall returns -1.]
    
    Change-Id: If3c4e0ded54bbd4d5c2573f7d7ee1c82ee3e7223
    Reviewed-on: https://gerrit.openafs.org/12500
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 481047d2a2660609091dc04253d136f527469ceb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 12 22:21:59 2016 -0400

    afsd: print syscalls on separate lines with afsd -debug
    
    afsd prints information to standard out for testing and debugging when the
    -debug option is given. However, syscall tracing is emitted without trailing
    newlines on all platforms except netbsd, creating an unreadable wall of text.
    
        # afsd -debug
        ...
        afsd: Forking 4 background daemons.
        SScall(183, 28, 0)=0 183, 28, 6583200)=0 SScall(183, 28, 6583
        200)=0 SScall(183, 28, 6583200)=0 SScall(183, 28, 6583200)=0 S
        Scall(183, 28, 6583200)=0 SScall(183, 28, 6583200)=0 SScall(18
        ...
    
    Make the syscall call tracing usable by printing each one on a separate line.
    
        # afsd -deubg
        ...
        afsd: Forking 4 background daemons.
        SScall(183, 28, 0)=0 183, 28, 6583200)=0
        SScall(183, 28, 6583200)=0
        SScall(183, 28, 6583200)=0
        ...
    
    Change-Id: Ic9208243c1e05352744fb6f575384e00d0e3e59c
    Reviewed-on: https://gerrit.openafs.org/12385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9c0db059b6585959e151f7acce845de280952c55
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 26 11:19:13 2016 -0400

    vol: convert vnode macros to inline functions
    
    Convert the vnode macros to inline functions to fix integer overflows
    for very large vnode numbers (and generally improve the code robustness
    and readability).
    
    The macro version of vnodeIndexOffset() will evaluate to an incorrect
    offset for very large vnode numbers due to 32-bit integer overflow. The
    vnode index file will then be corrupted when writing to the incorrect
    offset.
    
    In code paths where the vnode number incorrectly defined as a signed
    32-bit integer, this change prevents vnodeIndexOffset() from evaluating
    to a negative result when a vnode number is larger than 2^31.
    
    Thanks to Mark Vitale for reporting and providing analysis.
    
    Change-Id: Ia6e0f2d2f97fa1091e0b5a4029d40098692ee681
    Reviewed-on: https://gerrit.openafs.org/12397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0ae62bfa99df8ef5d85b4848783f59a041f82828
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 3 15:33:19 2016 -0400

    doc: add the PtLog man page
    
    Clone the VLLog man page to create a man page for ptserver log as well.
    
    Fix the spelling of the PtLog file and add a link to the new PtLog man
    page in the ptserver man page.
    
    Add the missing PtLog log file name to the bos getlog man page.
    
    Change-Id: I95ad4a2cf380077780160ec78fd1f9bdec132ba7
    Reviewed-on: https://gerrit.openafs.org/12294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9ec765d8b4a327ae36c26e38a84dae215d3a2664
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Dec 16 02:43:48 2016 -0500

    opr: Make opr_uuid_hash endian-independent
    
    And also make sure it doesn’t use unaligned accesses.  Fixes a ‘make
    check’ failure on big-endian architectures.
    
    Change-Id: I490174f8d1eecb5f20969b4ef12ff16d0dd3806a
    Reviewed-on: https://gerrit.openafs.org/12495
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>

commit 5151c03351e8a4d2bd1e212720d7ec9144bf23f0
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Dec 16 03:04:18 2016 -0500

    opr: Make opr_jhash_opaque consistent with opr_jhash
    
    Change-Id: I42e1030f8c841dcb974476012a774b91c87d3fb0
    Reviewed-on: https://gerrit.openafs.org/12494
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 958120b89d62c8567ab00bc697c4fabdfecd46b4
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Dec 16 02:16:20 2016 -0500

    opr: Make opr_jhash_opaque endian-independent
    
    gcc -O2 produces exactly the same code for this on little-endian
    systems, but now big-endian systems have a chance of passing ‘make
    check’.
    
    Change-Id: Ifc6350648355a0a9f79184439e3f9522cd6f2ffa
    Reviewed-on: https://gerrit.openafs.org/12493
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eb7d3ac4bbd30fc31741cea74fe2b23577deb61e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Wed Dec 14 17:52:35 2016 -0500

    opr: ExitHandler: re-raise the signal instead of exiting with that code
    
    This fixes a ‘make check’ failure introduced by commit
    803d15b6aa1e65b259ba11ca30aa1afd2e12accb “vlserver: convert the vlserver
    to opr softsig”:
    
        $ make check
        …
        volser/vos..............FAILED 6
        …
        $ cd tests
        $ ./libwrap ../lib ./runtests -o volser/vos
        1..6
        ok 1 - Successfully got security class
        ok 2 - Successfully built ubik client structure
        ok 3 - First address registration succeeds
        ok 4 - Second address registration succeeds
        ok 5 - vos output matches
        Server exited with code 15
        # wanted: 0
        #   seen: -1
        not ok 6 - Server exited cleanly
        # Looks like you failed 1 test of 6
    
    afstest_StopServer has a check for the process terminating with signal
    15 (SIGTERM), but not for the process exiting with code 15.
    
    Change-Id: I022965ea2b5440486ea1cf562551d3bbd0516104
    Reviewed-on: https://gerrit.openafs.org/12489
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit eee532ac13a680bfb4cc857485cbaf5e454ab492
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Dec 16 00:29:21 2016 -0500

    doc/man-pages/Makefile.in: mkdir man[158] in case we did regen.sh -q
    
    Fixes this error:
    
    $ git clean -xdf
    $ ./regen.sh -q
    $ ./configure
    $ make
    […]
    make[3]: Entering directory '/…/openafs/doc/man-pages'
    rm -f man*/*.noinstall
    if [ "no" = "no" ] ; then \
            for M in man1/klog.1 man1/knfs.1 […] man8/kpwvalid.8 man1/klog.krb.1; do \
                    touch $M.noinstall; \
            done; \
    fi
    touch: cannot touch 'man1/klog.1.noinstall': No such file or directory
    touch: cannot touch 'man1/knfs.1.noinstall': No such file or directory
    […]
    touch: cannot touch 'man8/kpwvalid.8.noinstall': No such file or directory
    touch: cannot touch 'man1/klog.krb.1.noinstall': No such file or directory
    Makefile:34: recipe for target 'prep-noinstall' failed
    make[3]: *** [prep-noinstall] Error 1
    make[3]: Leaving directory '/…/openafs/doc/man-pages'
    
    Change-Id: I95098fb2b27f1d87fc9769497b225e9f91f72266
    Reviewed-on: https://gerrit.openafs.org/12492
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 93a7e754a44c333140e75e93cac09f61320f7cc9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Wed Dec 14 15:47:21 2016 -0500

    tests/opr/softsig-t: Avoid hanging due to intermediate sh -c
    
    If the build directory happened to contain shell metacharacters, like
    the ~ in /build/openafs-vb8tid/openafs-1.8.0~pre1 used by the Debian
    builders, Perl was running softsig-helper via an intermediate sh -c,
    which would then intercept the signals we tried to send to
    softsig-helper.  Use the list syntax to avoid this sh -c.
    
    Change-Id: I054b9c8f606e197accb414bfe3f89719255c62c4
    Reviewed-on: https://gerrit.openafs.org/12488
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9fd396adabaa1868517fdb3d7cfcbe9412c35b0b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 15 22:12:01 2016 -0600

    tests: use exec to call libwrap'd executables
    
    No need to leave the shell process hanging around.
    
    In particular, if we are manually running softsig-helper under
    libwrap to debug test failures, the child process of the shell is
    another shell, which interprets some signals that we wanted to
    be passed through, like SIGTERM.  On the other hand, once the
    softsig-helper is exec()'d, you basically need another shell to
    terminate it, which is a different problem....
    
    Change-Id: Iff7c519886a018cb68e692746d40c427b6299457
    Reviewed-on: https://gerrit.openafs.org/12490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8b2c4665aabece187759157bda0e26c4b566dd2f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 16 12:56:47 2016 -0400

    tests: fix signo to signame lookup in opr/softsig tests
    
    Fix the loop condition when scanning the signal number to name table to
    convert a signal number to a name.  Instead of looping sizeof(size_t)
    times, loop for the number of elements in the table.
    
    This bug was masked on 64 bit-platforms, since the signal number to name
    table table currently has 8 elements, which is coincidently the same as
    sizeof(size_t) on 64-bit platforms.  The bug becomes apparent on 32-bit
    systems; only the first 4 elements of the table are checked.
    
    Example error output before this fix:
    
        $ cd tests
        $ ./libwrap ../lib ./runtests -o opr/softsig
        1..11
        ok 1
        ok 2
        ok 3
        ok 4
        ok 5
        not ok 6
        # Failed test in ./opr/softsig-t at line 57.
        # got: 'Received UNK
        # '
        # expected: 'Received TERM
        # '
        not ok 7
        # Failed test in ./opr/softsig-t at line 60.
        # got: 'Received UNK
        # '
        # expected: 'Received USR1
        # '
        not ok 8
        # Failed test in ./opr/softsig-t at line 63.
        # got: 'Received UNK
        # '
        # expected: 'Received USR2
        # '
        ok 9 - Helper exited on KILL signal.
        ok 10 - Helper exited on SEGV signal.
        ok 11 # skip Skipping buserror test; SIGBUS constant is not defined.
        # Looks like you failed 3 tests of 11.
    
    Change-Id: I863cc9f3650c4a5e9ac9159d90e063b986a8460a
    Reviewed-on: https://gerrit.openafs.org/12367
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1d8cb56999a4ab25ae4cbc8e8a688b8100aedd3b
Author: Neale Ferguson <neale@sinenomine.net>
Date:   Thu Dec 8 11:47:09 2016 -0500

    s390: desupport 32-bit Linux kernels on s390/s390x
    
    Remove the obsolete and custom lwp assembler for the s390 and s390x
    architectures.  That assembler is no longer needed since 32-bit
    mainframe Linux distributions are no longer supported and are very
    unlikely to be in use.
    
    The generic process.default.s is sufficient for modern 64-bit Linux
    distributions on s390/s390x.
    
    [mmeffie@sinenomine.net: commit message wording]
    
    Change-Id: I654b10dfc257e7de90c9a50048982427276f4d61
    Reviewed-on: https://gerrit.openafs.org/12475
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b5e4e8c14130f601bbf43dee5927222ebf7613fa
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jan 12 18:06:51 2016 -0500

    afs: fs getcacheparms miscounts dcaches for large files
    
    fs getcacheparms issued with the -excessive option tabulates in-memory
    dcaches ("DCentries") by size.  However, any dcache with validPos > 2^31
    is miscounted in the 4k-16k bucket.  This is caused by a type mismatch
    between 'validPos' (afs_size_t) and 'size' (int) which leads to a
    negative value for size by sign-extension.  The size comparison "sieve"
    fails for negative numbers; it skips the first bucket (0-4K) and dumps
    them in the second one (4k-16k).
    
    Move the declaration of 'size' closer to its use, and declare it with
    the same type as 'validPos' (afs_size_t) so the comparison sieve
    correctly places these dcaches in the last (>=1M) bucket.
    
    Change-Id: Ib0d973da92865043a4f1c068de5e9b81bcde2b9a
    Reviewed-on: https://gerrit.openafs.org/12347
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c966c0b8414ef0a041b1a8d5261c9eccd4d39d99
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jan 12 17:50:36 2016 -0500

    afs: fs getcacheparms miscounts zero-length dcaches
    
    When fs getcacheparms is issued with the -excessive option, it
    tabulates all in-memory dcaches ("DCentries") by size.
    
    dcaches with validPos == 0 were being tabulated in the 4k-16k bucket.
    
    Fix the first comparison in the 'sieve' so these dcaches will be counted
    in the correct 0-4k bucket instead.
    
    Introduced by commit 176c2fddb95ced6c13e04e7492fc09b5551f273c
    
    Change-Id: I60acb0f115dad9f7951f0b17e5b3e37dc94321b9
    Reviewed-on: https://gerrit.openafs.org/12346
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7442752ba6ad618bcdf2185f699d90c56838e89e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 5 18:11:22 2016 -0600

    Make OpenAFS 1.8.0pre1
    
    Update version strings for the first 1.8.0 prerelease.
    
    Change-Id: I4f534c9934f6eb1baac9a784fb7c357b19924fb0
    Reviewed-on: https://gerrit.openafs.org/12470
    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>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit edcafa93b6c4744e0747842a2e115df27e20fd93
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 23 00:22:22 2016 -0500

    Update NEWS for 1.8
    
    [kaduk@mit.edu: adjust sorting, rewrap, reword a few entries and
    remove some entries that will not be applicable]
    
    Change-Id: Ifbadc31e3f201e05617a26c12e5e725a5f3c9195
    Reviewed-on: https://gerrit.openafs.org/12393
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 37c47e5da1cfcceb3b14e5a0c4064a6ca5806bd0
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 23 00:14:09 2016 -0500

    Import NEWS from openafs-stable-1_6_x
    
    The 1.6.x changelog entries have been going directly on the
    openafs-stable-1_6_x branch for ease of maintenance.
    
    However, we don't want to skip those changes when mentioning changes
    in OpenAFS 1.8, so pull back a copy onto master before adding
    things for 1.8.
    
    Change-Id: I545c19db9854300a84295d3ca8b1f301756c38b0
    Reviewed-on: https://gerrit.openafs.org/12392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 35f2b8cd49477b10cf358d853f5864b8ad24ba03
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Dec 6 17:07:40 2016 -0500

    Update libafsdep files for in-kernel fortuna
    
    Commit 0d67b00ff9db added heimdal's rand-fortuna PRNG to the kernel
    module on all architectures, even though it is only needed on the small
    subset that do not provide a cryptographically strong random number
    generator to kernel module consumers.  This was done to ensure that
    the build infrastructure for it gets regularly exercised by developers.
    However, not all build infrastructure was exercised at the time of
    that submission; in particular, the make_libafs_tree.pl script was
    not tested.  This led to a situation where the libafs tree generated
    by that script omitted several files that were now referenced by
    the kernel build due to the fortuna import.
    
    To remedy the situation, list the additional files that are needed,
    so that they will be copied into the build area for this class of
    kernel module builds.
    
    Since the libafs-tree functionality is used to build the Debian
    kernel-module source packages, this fix is needed in order to have
    a tree that can be built into debian packages without patching.
    
    Change-Id: I81502fb61d7fc718d337c5f73a51b88f6a433d6a
    Reviewed-on: https://gerrit.openafs.org/12473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 85c7d31cf2dacdbcd8a053fdc3f66952e7126528
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Dec 6 10:53:40 2016 -0500

    src/cf/roken.m4: Escape buildtool_roken correctly
    
    Fixes these errors from configure:
    
    ./configure: line 32154: LDFLAGS_roken: command not found
    ./configure: line 32154: LIB_roken: command not found
    
    Change-Id: I63b9ade5c8f55948ea2a3f7ae023de4ed9f62341
    Reviewed-on: https://gerrit.openafs.org/12472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4c03e42f91b36a0bf59398b0f649aa0b31b02975
Author: Andrew Deason <adeason@dson.org>
Date:   Wed Oct 26 16:04:51 2016 -0500

    rx: Add rxi_FlushWriteLocked
    
    Currently, a couple of places in Rx do this:
    
        MUTEX_EXIT(&call->lock);
        rxi_FlushWrite(call);
        MUTEX_ENTER(&call->lock);
    
    This is a little silly, because if rxi_FlushWrite has anything to do,
    it just acquires/drops call->lock again.
    
    This seems like a very minor performance penalty, but in the right
    situation it can become more noticeable. Specifically, when an Rx call
    on the server ends successfully, rx_EndCall will rxi_FlushWrite (to
    send out the last Rx packet to the client) before marking the call as
    finished. If the client receives the last Rx packet and starts a new
    Rx call on the same channel before the server locks the call again,
    the client can receive a BUSY packet (because it looks like the
    previous call on the server hasn't finished yet). Nothing breaks, but
    this means the client waits 3 seconds to retry.
    
    This situation can probably happen with various rates of success in
    almost any situation, but I can see it consistently happen with 'vos
    move' when running 'vos' on the same machine as the source fileserver.
    It is most noticeable when moving a large number of small volumes
    (since you must wait an extra 3+ seconds per volume, where nothing is
    happening).
    
    To avoid this, create a new variant of rxi_FlushWrite, called
    rxi_FlushWriteLocked. This just assumes the call lock is already held
    by the caller, and avoids one extra lock/unlock pair. This is not the
    only place where we unlock/lock the call during the rx_EndCall
    situation described above, but it seems to be easiest to solve, and
    it's enough (for me) to avoid the 3-second delay in the 'vos move'
    scenario. Ideally, Rx should be able to atomically 'end' a call while
    sending out this last packet, but for now, this commit is easy to do.
    
    Note that rxi_FlushWrite previously didn't do much of note before
    locking the call. It did call rxi_FreePackets without the call lock,
    but calling that with the call lock is also fine; other callers do
    that.
    
    Change-Id: I8f71e86f6c1f6019abea21c205d2b26b7da0d808
    Reviewed-on: https://gerrit.openafs.org/12421
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f413fd927af14a9a87034e47125a78eec63e599e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Jan 13 21:39:57 2015 -0500

    pts: add some sanity checks in ptuser.c
    
    Double-check that when we're expecting two entries back, we
    actually got two entries, in addition to the RPC return value.
    
    Change-Id: I34631ac542667c337ed3268153eb61c70e3fa87e
    Reviewed-on: https://gerrit.openafs.org/11668
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 32901c58b29ba4ac666f1dba9915cae2c1f03b52
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Mar 9 18:01:29 2015 -0500

    LINUX: Don't compile syscall code with keyrings
    
    osi_syscall_init() is not currently called if we have kernel keyrings
    support, since we don't need to set up or alter any syscalls if we
    have kernel keyrings (we track PAGs by keyrings, and we use ioctls
    instead of the AFS syscall now).
    
    Since we don't call it, this commit makes us also not compile the
    relevant syscall-related code. This allows new platforms to be added
    without needing to deal with any platform-specific code for handling
    32-bit compat processes and such, since usually we don't need to deal
    with intercepting syscalls.
    
    To do this, we just define osi_syscall_init and osi_syscall_cleanup as
    noops if we have keyrings support. This allows us to reduce the #ifdef
    clutter in the actual callers.
    
    Note that the 'afspag' module does currently call osi_syscall_init
    unconditionally, but this seems like an oversight. With this change,
    the afspag module will no longer alter syscalls when we have linux
    keyrings support.
    
    Change-Id: I219b92d89303975765743712587ff897b55a2631
    Reviewed-on: https://gerrit.openafs.org/11936
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a6e96a8f10df738eb9b69227d344a72eb830e02e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Nov 30 08:48:06 2016 -0500

    vos: fix vos release -verbose output
    
    Fix incorrect vos release -verbose messages introduced by commit
    9f4684cd5fac5eacf571b882e965150943383170.
    
    The commit 9f4684cd5fac5eacf571b882e965150943383170 did not take into
    account the change from commit 3fc800be9c702c1a40869908831a9895602909cb
    in which a partial commit is performed when just new sites are added and
    the read-write volume was not changed since the previous release.
    
    Change-Id: If4b3ab81cd810df2e866d6eca0152f475c5448d6
    Reviewed-on: https://gerrit.openafs.org/12455
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5b28061fb593f5f48df549b07f0ccd848348b93c
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Nov 28 09:42:44 2016 -0500

    afs: release the packets used by rx on shutdown
    
    When the OpenAFS client is unmounted on DARWIN, the blocks of packets
    allocated by RX are released. Historically, the memory used by those
    packets was never properly released.
    
    Before 230dcebcd61064cc9aab6d20d34ff866a5c575ea, only the last block of
    packets used to be released:
    
    ...
    struct rx_packet *rx_mallocedP = 0;
    ...
    void
    rxi_MorePackets(int apackets)
    {
        ...
        getme = apackets * sizeof(struct rx_packet);
        p = rx_mallocedP = (struct rx_packet *)osi_Alloc(getme);
        ...
    }
    ...
    void
    rxi_FreeAllPackets(void)
    {
        ...
        osi_Free(rx_mallocedP, ...);
        ...
    }
    ...
    
    As we can see, ‘rx_mallocedP’ is a global pointer that stores the
    first address of the last allocated block of packets. As a result, when
    ‘rxi_FreeAllPackets’ is called, only the last block is released.
    
    However, 230dcebcd61064cc9aab6d20d34ff866a5c575ea moved the global
    pointer in question to the end of the last block. As a result, when the
    OpenAFS client is unmounted on DARWIN, the ‘rxi_FreeAllPackets’
    function releases the wrong block of memory. This problem was exposed
    on OS X 10.12 Sierra where the system crashes when the OpenAFS client
    is unmounted.
    
    To fix this problem, store the address of every single block of packets
    in a queue and release one by one when the OpenAFS client is unmounted.
    
    Change-Id: Ibd6bd1a8bc45bb4802f9381a8e600c20ee85a59e
    Reviewed-on: https://gerrit.openafs.org/12427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f591f6fae3d8b8d44140ca64e53bad840aeeeba0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Nov 7 14:16:50 2016 -0500

    dir: do not leak contents of deleted directory entries
    
    Deleting an AFS directory entry (afs_dir_Delete) merely removes the
    entry logically by updating the allocation map and hash table.  However,
    the entry itself remains on disk - that is, both the cache manager's
    cache partition and the fileserver's vice partitions.
    
    This constitutes a leak of directory entry information, including the
    object's name and MKfid (vnode and uniqueid).  This leaked information
    is also visible on the wire during FetchData requests and volume
    operations.
    
    Modify afs_dir_Delete to clear the contents of deleted directory
    entries.
    
    Patchset notes:
    This commit only prevents leaks for newly deleted entries.  Another
    commit in this patchset prevents leaks of partial object names upon
    reuse of pre-existing deleted entries.  A third commit in this
    patchset prevents yet another kind of directory entry leak, when
    internal buffers are reused to create or enlarge existing directories.
    All three patches are required to prevent new leaks.  Two additional
    salvager patches are also included to assist administrators in the
    cleanup of pre-existing leaks.
    
    [kaduk@mit.edu: style nit for sizeof() argument]
    
    Change-Id: Iabaafeed09a2eb648107b7068eb3dbf767aa2fe9
    Reviewed-on: https://gerrit.openafs.org/12460
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a26c5054ee501ec65db3104f6a6a0fef634d9ea7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 6 23:29:22 2016 -0600

    afs: do not leak stale data in buffers
    
    Similar to the previous commit, zero out the buffer when fetching
    a new slot, to avoid the possibility of leaving stale data in
    a reused buffer.
    
    We are not supposed to write such stale data back to a fileserver,
    but this is an extra precaution in case of bugs elsewhere -- memset
    is not as expensive as it was in the 1980s.
    
    Change-Id: I344e772e9ec3d909e8b578933dd9c6c66f0a8cf6
    Reviewed-on: https://gerrit.openafs.org/12459
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 70065cb1831dbcfd698c8fee216e33511a314904
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 13 00:01:31 2016 -0400

    dir: fileserver leaks names of file and directories
    
    Summary:
    Due to incomplete initialization or clearing of reused memory,
    fileserver directory objects are likely to contain "dead" directory
    entry information.  These extraneous entries are not active - that is,
    they are logically invisible to the fileserver and client.  However,
    they are physically visible on the fileserver vice partition, on the
    wire in FetchData replies, and on the client cache partition.  This
    constitutes a leak of directory information.
    
    Characterization:
    There are three different kinds of "dead" residual directory entry
    leaks, each with a different cause:
    
    1. There may be partial name data after the null terminator in a live
    directory entry.   This happens when a previously used directory entry
    becomes free, then is reused for a directory entry with a shorter name.
    This may be addressed in a future commit.
    
    2. "Dead" directory entries are left uncleared after an object is
    deleted or renamed.  This may be addressed in a future commit.
    
    3. Residual directory entries may be inadvertently picked up when a new
    directory is created or an existing directory is extended by a 2kiBi
    page.  This is the most severe problem and is addressed by this commit.
    
    This third kind of leak is the most severe because the leaked
    directory information may be from _any_ other directory residing on the
    fileserver, even if the current user is not authorized to see that
    directory.
    
    Root cause:
    The fileserver's directory/buffer package shares a pool of directory
    page buffers among all fileserver threads for both directory reads and
    directory writes.  When the fileserver creates a new directory or
    extends an existing one, it uses any available unlocked buffer in the
    pool.  This buffer is likely to contain another directory page recently
    read or written by the fileserver.  Unfortunately the fileserver only
    initializes the page header fields (and the first two "dot" and "dotdot"
    entries in the case of a new directory).  Any residual entries in the
    rest of the directory page are now logically "dead", but still
    physically present in the directory.  They can easily be seen on the
    vice partition, on the wire in a FetchData reply, and on the cache
    partition.
    
    Note:
    The directory/buffer package used by the fileserver is also used by the
    salvager and the volserver.  Therefore, salvager activity may also leak
    directory information to a certain extent.   The volserver vos split
    command may also contribute to leaks.  Any volserver operation that
    creates volumes (create, move, copy, restore, release) may also have
    insignificant leaks.  These less significant leaks are addressed by this
    commit as well.
    
    Exploits:
    Any AFS user authorized to read directories may passively exploit this
    leak by capturing wire traffic or examining his local cache as he/she
    performs authorized reads on existing directories.  Any leaked data will
    be for other directories the fileserver had in the buffer pool at the
    time the authorized directories were created or extended.
    
    Any AFS user authorized to write a new directory may actively exploit
    this leak by creating a new directory, flushing cache, then re-reading
    the newly created directory.  Any leaked data will be for other
    directories the fileserver had in the buffer pool within the last few
    seconds.  In this way an authorized user may sample current fileserver
    directory buffer contents for as long as he/she desires, without being
    detected.
    
    Directories already containing leaked data may themselves be leaked,
    leading to multiple layers of leaked data propagating with every new or
    extended directory.
    
    The names of files and directories are the most obvious source of
    information in this leak, but the FID vnode and uniqueid are leaked as
    well.  Careful examination of the sequences of leaked vnode numbers and
    uniqueids may allow an attacker to:
    - Discern each layer of old directories by observing breaks in
      consecutive runs of vnode and/or uniqueid numbers.
    - Infer which objects may reside on the same volume.
    - Discover the order in which objects were created (vnode) or modified
      (uniqueid).
    - Know whether an object is a file (even vnode) or a directory (odd
      vnode).
    
    Prevent new leaks by always clearing a pool buffer before using it to
    create or extend a directory.
    
    Existing leaks on the fileserver vice partitions may be addressed in a
    future commit.
    
    Change-Id: Ia980ada6a2b1b2fd473ffc71e9fd38255393b352
    Reviewed-on: https://gerrit.openafs.org/12458
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1637c4d7c1ce407390f65509a3a1c764a0c06aa6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 6 15:06:02 2016 -0600

    bos: re-add -salvagedirs for use with -all
    
    The MR-AFS support code had a -salvagedirs option that was passed
    through to the salvager (when running, and when -all was used),
    that was removed in commit a9301cd2dc1a875337f04751e38bba6f1da7ed32
    along with the rest of the MR-AFS commands and options.
    
    However, it is useful in its own right, so add it back and allow
    the use of -salvagedirs -all to rebuild every directory on the server.
    
    Change-Id: Ifc9c0e4046bf049fe04106aec5cad57d335475e3
    Reviewed-on: https://gerrit.openafs.org/12457
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9e66234951cca3ca77e94ab431f739e85017a23a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Nov 6 14:31:22 2016 -0600

    dafs: honor salvageserver -salvagedirs
    
    Do not ignore the -salvagedirs option when given to the salvageserver.
    When the salvageserver is running with this option, all directories will
    be rebuilt by salvages spawned by the dafs salvageserver, including all
    demand attach salvages and salvages of individual volumes initiated by
    bos salvage.
    
    This does not affect the whole partition salvages initiated by bos
    salvage -all.
    
    Change-Id: I4dd515ffa8f962c61e922217bee20bbd88bcd534
    Reviewed-on: https://gerrit.openafs.org/12456
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3704fc6f2e6716d95446cd10aa2ec798be13472c
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:17:32 2016 -0400

    Remove NULL checks for AFS_NONNULL parameters
    
    Recent GCC warns about opr_Assert(p != NULL), where p is an
    __attribute__((__nonnull__)) parameter, just like clang did before those
    clang warnings were silenced by 11852, 11853.
    
    Now, we could go and add more autoconf tests and pragmas to silence the
    GCC versions of these warnings.  However, I maintain that silencing the
    warnings is the wrong approach.  The asserts in question have no
    purpose.  They do not add any safety, because GCC and clang are
    optimizing them away at compile time (without proof!—they take the
    declaration at its word that NULL will never be passed).  Just remove
    them.
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    In file included from casestrcpy.c:17:0:
    casestrcpy.c: In function ‘opr_lcstring’:
    casestrcpy.c:26:31: error: nonnull argument ‘d’ compared to NULL [-Werror=nonnull-compare]
         opr_Assert(s != NULL && d != NULL);
                                   ^
    /…/openafs/include/afs/opr.h:28:15: note: in definition of macro ‘__opr_Assert’
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                   ^~
    casestrcpy.c:26:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(s != NULL && d != NULL);
         ^~~~~~~~~~
    casestrcpy.c:26:18: error: nonnull argument ‘s’ compared to NULL [-Werror=nonnull-compare]
         opr_Assert(s != NULL && d != NULL);
                      ^
    /…/openafs/include/afs/opr.h:28:15: note: in definition of macro ‘__opr_Assert’
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                   ^~
    casestrcpy.c:26:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(s != NULL && d != NULL);
         ^~~~~~~~~~
    casestrcpy.c: In function ‘opr_ucstring’:
    casestrcpy.c:46:31: error: nonnull argument ‘d’ compared to NULL [-Werror=nonnull-compare]
         opr_Assert(s != NULL && d != NULL);
                                   ^
    /…/openafs/include/afs/opr.h:28:15: note: in definition of macro ‘__opr_Assert’
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                   ^~
    casestrcpy.c:46:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(s != NULL && d != NULL);
         ^~~~~~~~~~
    casestrcpy.c:46:18: error: nonnull argument ‘s’ compared to NULL [-Werror=nonnull-compare]
         opr_Assert(s != NULL && d != NULL);
                      ^
    /…/openafs/include/afs/opr.h:28:15: note: in definition of macro ‘__opr_Assert’
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                   ^~
    casestrcpy.c:46:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(s != NULL && d != NULL);
         ^~~~~~~~~~
    casestrcpy.c: In function ‘opr_strcompose’:
    /…/openafs/include/afs/opr.h:28:12: error: nonnull argument ‘buf’ compared to NULL [-Werror=nonnull-compare]
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                ^
    /…/openafs/include/afs/opr.h:37:25: note: in expansion of macro ‘__opr_Assert’
     # define opr_Assert(ex) __opr_Assert(ex)
                             ^~~~~~~~~~~~
    casestrcpy.c:98:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(buf != NULL);
         ^~~~~~~~~~
    kalocalcell.c: In function ‘ka_CellToRealm’:
    /…/openafs/include/afs/opr.h:28:12: error: nonnull argument ‘realm’ compared to NULL [-Werror=nonnull-compare]
         do {if (!(ex)) opr_AssertionFailed(__FILE__, __LINE__);} while(0)
                ^
    /…/openafs/include/afs/opr.h:37:25: note: in expansion of macro ‘__opr_Assert’
     # define opr_Assert(ex) __opr_Assert(ex)
                             ^~~~~~~~~~~~
    kalocalcell.c:117:5: note: in expansion of macro ‘opr_Assert’
         opr_Assert(realm != NULL);
         ^~~~~~~~~~
    
    Change-Id: I6fd618ed49255d7b3de2f8f3424d9659890829c0
    Reviewed-on: https://gerrit.openafs.org/12442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 822ca15a0e760ad9f2c04cd177ca5634f85ee8d6
Author: Dave Botsch <botsch@cnf.cornell.edu>
Date:   Thu Nov 17 13:22:17 2016 -0500

    Mac OS Sierra deprecates syscall()
    
    The syscall() function has been deprecated in MacOS 10.12 - Sierra. After
    discussions with developers, it would appear that syscall() isn't really
    needed, anymore, so we can just do away with it.
    
    Change-Id: I60e4220168b097bbae7a5ebaceb2d32276aad3e5
    Reviewed-on: https://gerrit.openafs.org/12452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 74f837fd943ddfa20d349a83d6286a0183cb4663
Author: Dave Botsch <botsch@cnf.cornell.edu>
Date:   Thu Nov 3 12:22:21 2016 -0400

    Define OSATOMIC_USE_INLINED to get usable atomics on DARWIN
    
    In Mac OS 10.12, legacy interfaces for atomic operations have been
    deprecated. Defining OSATOMIC_USE_INLINED gets us inline implementations
    of the OSAtomic interfaces in terms of the <stdatomic.h> primitives.
    This is a transition convenience.
    
    Also indent preprocessor directives within the main DARWIN block to
    improve readability.
    
    Change-Id: Id10ae007d5427486f1b0a307a04a90f263201150
    Reviewed-on: https://gerrit.openafs.org/12433
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f5f057ce8198480fb9c67f2a8c8eee906f8a7c4a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 7 15:51:18 2016 -0400

    doc: update information about vlserver logging
    
    Mention the vlserver -d option can be used to set the initial logging
    level.
    
    Thanks to Mark Vitale for the suggestion.
    
    Change-Id: Ia17a2063432343c2cf78e1b01c5897751625aae8
    Reviewed-on: https://gerrit.openafs.org/12324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 37db7985fde9e6a5e71ae628d0b7124a27bf31c3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Nov 5 12:42:19 2016 -0400

    SOLARIS: convert from ancient _depends_on to ELF dependencies
    
    The ancient way of declaring module dependencies with _depends_on has
    been deprecated since SunOS 2.6 (circa 1996). The presence of the old
    _depends_on symbol triggers a warning message on the console starting
    with Solaris 12, and the kernel runtime loader (krtld) feature of using
    the _depends_on symbol to load dependencies may be removed in a future
    version of Solaris.
    
    Convert the kernel module from the ancient _depends_on method to modern
    ELF dependencies.  Remove the old _depends_on symbol and specify the -dy
    and -N <name> linker options to set the ELF dependencies at link time,
    as recommended in the Solaris device driver developer guidelines [1].
    
    This commit does not change the declared dependencies, which may be
    vestiges of ancient afs versions.
    
    [1]: http://docs.oracle.com/cd/E19455-01/805-7378/6j6un037u/index.html#loading-16
    
    Change-Id: Ic5abd82108cd59c0796a8d7659ddaffa791dbeee
    Reviewed-on: https://gerrit.openafs.org/12453
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3af0460a4a6d7bf22e1789fd9e375659e20c3a55
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Nov 21 13:25:40 2016 -0500

    doc: correct help for 'bos getlog' -restricted mode
    
    Commit f085951d39c0d6c1e6a626177c30235704317600 introduced an error in
    the bos getlog helpfile.
    
    Modify the helpfile to describe the actual restrictions imposed by
    -restricted mode.
    
    Change-Id: I8d8fedb558a1bdbd55d80046b2011f3aacc71b3f
    Reviewed-on: https://gerrit.openafs.org/12454
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit c3bbf0b4444db88192eea4580ac9e9ca3de0d286
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 4 18:42:27 2016 -0400

    LINUX: do not use d_invalidate to evict dentries
    
    When working within the AFS filespace, commands which access large
    numbers of OpenAFS files (e.g., git operations and builds) may result in
    active files (e.g., the current working directory) being evicted from the
    dentry cache.  One symptom of this is the following message upon return
    to the shell prompt:
    
    "fatal: unable to get current working directory: No such file or
    directory"
    
    Starting with Linux 3.18, d_invalidate returns void because it always
    succeeds.  Commit a42f01d5ebb13da575b3123800ee6990743155ab adapted
    OpenAFS to cope with the new return type, but not with the changed
    semantics of d_invalidate.  Because d_invalidate can no longer fail with
    -EBUSY when invoked on an in-use dentry. OpenAFS must no longer trust it
    to preserve in-use dentries.
    
    Modify the dentry eviction code to use a method (d_prune_aliases) that
    does not evict in-use dentries.
    
    Change-Id: I1826ae2a89ef4cf6b631da532521bb17bb8da513
    Reviewed-on: https://gerrit.openafs.org/12363
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9d4be0bd01696768602a313f627a802b358b5885
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Nov 11 13:21:58 2016 -0800

    macos: do not quit prefpane unexpectedly
    
    If the user opens the OpenAFS preference pane and choose the Mounts
    tab, the preference pane crashes.
    
    To fix the problem, do not assume that we can cast a NSdictionary
    object to NSMutableDictionary.
    
    Change-Id: I3b5f6cb324a6b53c6b53606f71185f61450ee793
    Reviewed-on: https://gerrit.openafs.org/12446
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3e8529b6efec4625a4c67e6779fc8367291461a0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 18 00:36:12 2016 -0400

    salvager: fix error message for invalid volumeid
    
    If the specified volumeid is invalid (e.g. volume name was specified
    instead of volume number), the error is reported via Log().  However,
    commit 24fed351fd13b38bfaf9f278c914a47782dbf670 moved the log opening
    logic from before this check to after it, effectively making this Log()
    call a no-op.
    
    Instead, use fprintf to issue the error message.
    
    Change-Id: I488bc93b178c7973e48d7c9ef4e7ecde9ba62696
    Reviewed-on: https://gerrit.openafs.org/12288
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e8f066dede63648d7d54c632e0e257c80db6effa
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:48:02 2016 -0400

    src/tools/rxperf/rxperf.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    rxperf.c: In function ‘rxperf_server’:
    rxperf.c:930:4: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
        if (ptr && *ptr != '\0')
        ^~
    rxperf.c:932:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          break;
          ^~~~~
    rxperf.c: In function ‘rxperf_client’:
    rxperf.c:1102:4: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
        if (ptr && *ptr != '\0')
        ^~
    rxperf.c:1104:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          break;
          ^~~~~
    
    Change-Id: I4e8e1f75ec14fa9f95441275cfc136adbb448e9e
    Reviewed-on: https://gerrit.openafs.org/12440
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 85cf397ec18ecfde36433fb65e5d91ecd325b76e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:46:22 2016 -0400

    src/gtx/curseswindows.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    curseswindows.c: In function ‘gator_cursesgwin_drawchar’:
    curseswindows.c:574:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:576:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
             if (code)
             ^~
    curseswindows.c:579:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:581:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
             if (code)
             ^~
    curseswindows.c: In function ‘gator_cursesgwin_drawstring’:
    curseswindows.c:628:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:630:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      if (code)
      ^~
    curseswindows.c:633:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:635:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      if (code)
      ^~
    
    Change-Id: Ib53eb5755eebb5e22a5414ced8a2540825b41e15
    Reviewed-on: https://gerrit.openafs.org/12439
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 86153c65cad10b0459d0f87bbe227a1ebe40f4ea
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:44:00 2016 -0400

    src/afsd/afsd.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    afsd.c: In function ‘afsd_run’:
    afsd.c:2176:6: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
          if (enable_rxbind)
          ^~
    afsd.c:2178:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
       afsd_syscall(AFSOP_ADVISEADDR, code, addrbuf, maskbuf, mtubuf);
       ^~~~~~~~~~~~
    afsd.c:2487:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (afsd_debug)
         ^~
    afsd.c:2490:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      afsd_syscall(AFSOP_GO, 0);
      ^~~~~~~~~~~~
    
    Change-Id: Ic4769046dc06bb58d61428ac08ea12a2f70743e9
    Reviewed-on: https://gerrit.openafs.org/12438
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 38040db3bb7b5ae4d5b2c710da17ba60abe39935
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:39:34 2016 -0400

    src/ubik/uinit.c: Fix misleading indentation
    
    Fixes this warning (error with --enable-checking) from GCC 6.2:
    
    uinit.c: In function ‘internal_client_init’:
    uinit.c:96:2: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
      if (code)
      ^~
    uinit.c:98:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          return code;
          ^~~~~~
    
    Change-Id: Ib03c4128e206194fa5c34fa3c49bb06beb70e6d0
    Reviewed-on: https://gerrit.openafs.org/12437
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0aeb8c17a2701169ddb7397d951c73cf361087c8
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:38:08 2016 -0400

    src/rx/rx_packet.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    rx_packet.c: In function ‘rxi_ReceiveDebugPacket’:
    rx_packet.c:2009:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
             if (rx_stats_active)
             ^~
    rx_packet.c:2011:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          s = (afs_int32 *) & rx_stats;
          ^
    rx_packet.c:2017:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
             if (rx_stats_active)
             ^~
    rx_packet.c:2019:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          rxi_SendDebugPacket(ap, asocket, ahost, aport, istack);
          ^~~~~~~~~~~~~~~~~~~
    
    Change-Id: Iaecedf63e9ed393607b8700b892aea7678c774b3
    Reviewed-on: https://gerrit.openafs.org/12436
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bd70a176c19c09c49c6c3c01ea088ca947c45966
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:36:51 2016 -0400

    src/rxgen/rpc_parse.c: Fix misleading indentation
    
    Fixes this warning (error with --enable-checking) from GCC 6.2:
    
    rpc_parse.c: In function ‘analyze_ProcParams’:
    rpc_parse.c:861:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (tokp->kind != TOK_RPAREN)
         ^~
    rpc_parse.c:863:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      *tailp = decls;
      ^
    
    Change-Id: Ia63311c20eb8cd96123ba97b0bf7621b82956e79
    Reviewed-on: https://gerrit.openafs.org/12435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a7cc505d3be81e6aaf755bcc83d0dbcab85dbdad
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:18:52 2016 -0400

    regen.sh: Use libtoolize -i, and .gitignore generated build-tools
    
    Recent libtoolize actually deletes build-tools/missing, which Git was
    treating as a change to the working copy.  Besides, we should let
    libtoolize copy in its more recent version of config.guess, config.sub,
    and install-sh.
    
    Change-Id: If21f22649e1e1015ad3bcfbf6d34f297b56993a1
    Reviewed-on: https://gerrit.openafs.org/12434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 22933e02e2510f25b79230964f135571c7bfe710
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Oct 27 17:27:26 2016 -0500

    Reformat src/afs/LINUX/osi_vcache.c
    
    Apply the GNU indent options from CODING, with manual adjustments
    to leave jump labels in column zero.
    
    Also rename and mark static a function-local helper function.
    
    Change-Id: I50b8300b675b2a3f76ae743136b204473ac0c8b0
    Reviewed-on: https://gerrit.openafs.org/12422
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 742643e306929ac979ab69515a33ee2a3f2fa3fa
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 4 18:18:15 2016 -0400

    LINUX: split dentry eviction from osi_TryEvictVCache
    
    To make osi_TryEvictVCache clearer, and to prepare for a future change
    in dentry eviction, split the dentry eviction logic into its own routine
    osi_TryEvictDentries.
    
    No functional difference should be incurred by this commit.
    
    Change-Id: I5b255fd541d09159d70f8d7521ca8f2ae7fe5c2b
    Reviewed-on: https://gerrit.openafs.org/12362
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>

commit 0bed87a15db11bccb693b3a54f704ee5751ae553
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sun Oct 23 12:52:49 2016 -0700

    macos: packaging support for MacOS X 10.12
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 10.12 "Sierra".
    
    Change-Id: I8e715240c4b230c39c26c418324c0184268e1f73
    Reviewed-on: https://gerrit.openafs.org/12420
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0bdf750a962a81b9b2e61387d7a3340dabb13395
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Oct 25 19:33:38 2016 -0700

    macos: add support for MacOS 10.12
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 10.12 "Sierra".
    
    Change-Id: I42326cd271d84735188f9e3003e292afe5ee34be
    Reviewed-on: https://gerrit.openafs.org/12419
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8aeb711eeaa5ddac5a74c354091e2d4f7ac0cd63
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Oct 20 00:49:37 2016 -0400

    Linux 4.9: inode_change_ok() becomes setattr_prepare()
    
    Linux commit 31051c85b5e2 "fs: Give dentry to inode_change_ok() instead
    of inode" renames and modifies inode_change_ok(inode, attrs) to
    setattr_prepare(dentry, attrs).
    
    Modify OpenAFS to cope.
    
    Change-Id: I72f8dfbdbd25d7c775e9c35116e323ea4359e95c
    Reviewed-on: https://gerrit.openafs.org/12418
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f21e3ef8ce5093b4e0578d29666f76bd99aef1a2
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Sep 16 19:01:19 2016 -0400

    Linux 4.9: inode_operation rename now takes flags
    
    In Linux 3.15 commit 520c8b16505236fc82daa352e6c5e73cd9870cff,
    inode_operation rename2() was added.  It takes the same arguments as
    rename(), with an added flags argument supporting the following values:
    
    RENAME_NOREPLACE: if "new" name exists, fail with -EEXIST.  Without
    this flag, the default behavior is to replace the "new" existing file.
    
    RENAME_EXCHANGE: exchange source and target; both must exist.
    
    OpenAFS never implemented a .rename2() routine because it was optional
    when introduced at Linux v3.15.
    
    In Linux 4.9-rc1 the following commits remove the last in-tree uses of
    .rename() and converts .rename2() to .rename().
    aadfa8019e81 vfs: add note about i_op->rename changes to porting
    2773bf00aeb9 fs: rename "rename2" i_op to "rename"
    18fc84dafaac vfs: remove unused i_op->rename
    1cd66c93ba8c fs: make remaining filesystems use .rename2
    e0e0be8a8355 libfs: support RENAME_NOREPLACE in simple_rename()
    f03b8ad8d386 fs: support RENAME_NOREPLACE for local filesystems
    
    With these changes, it is now mandatory for OpenAFS afs_linux_rename()
    to accept a 5th flag argument.
    
    Add an autoconfig test to determine the signature of .rename().  Use this
    information to implement afs_linux_rename() with the appropriate number
    of arguments.  Implement "toleration support" for the flags option by
    treating a zero flag as a normal rename; if any flags are specified,
    return -EINVAL to indicate the OpenAFS filesystem does not yet support
    any flags.
    
    Change-Id: I165d2b7956942446d97beda8504ac1ed5185a036
    Reviewed-on: https://gerrit.openafs.org/12391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8e81b182e36cde28ec5708e5fcbe56e4900b1ea3
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Sep 14 18:01:22 2016 -0400

    Linux 4.9: deal with demise of GROUP_AT
    
    Linux commit 81243eacfa40 "cred: simpler, 1D supplementary groups"
    refactors the group_info struct, removing some members (which OpenAFS
    references only through the GROUP_AT macro) and adding a gid member.
    The GROUP_AT macro is also removed from the tree.
    
    Add an autoconfigure test for the new group_info member gid and define a
    replacement GROUP_AT macro to do the right thing under the new regime.
    
    Change-Id: I85a52c0ae0d91fc141a523f443a4ffc05eb72a2b
    Reviewed-on: https://gerrit.openafs.org/12390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e17cd5df703b8a924591f92c76636dd9e0d9eaf9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sun Oct 9 06:39:12 2016 -0400

    tests/util/ktime-t.c: Specify EST offset in TZ
    
    This fixes test failures observed on new Debian build servers that no
    longer install tzdata by default.  As the tests expect, EST is defined
    as UTC−05:00 with no daylight saving time.
    
    Change-Id: Ida8cb33687b5d87761cb0422e446afd99246d47a
    Reviewed-on: https://gerrit.openafs.org/12414
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1cd86de2912af9ad709d2d7cf8aa35d5d28fb6b3
Author: Yadav Yadavendra <yadayada@in.ibm.com>
Date:   Mon Oct 3 15:25:08 2016 -0400

    afs: afs_linux_write_end only commit copied
    
    In afs_linux_write_end() only commit the number of bytes actually copied
    to the page.
    
    Change-Id: I3576a28302d35917019d369adc9d1013ad5870c5
    Reviewed-on: https://gerrit.openafs.org/12409
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0fdbc0754be58a50f60e3187fc4b34f057faf198
Author: Daria Phoebe Brashear <dariaphoebe@auristor.com>
Date:   Sun Sep 25 19:45:48 2016 -0400

    git: add a mailmap file
    
    I'd like the source tree to stop deadnaming me, so, sharing this change to do it
    
    Change-Id: Iee65d1c8e7e695ea939485db5b148615e052f953
    Reviewed-on: https://gerrit.openafs.org/12394
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2fe3a28c6ec0ff9d19ddec5500b3a5e69b483210
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Aug 22 19:53:34 2016 -0400

    tests: avoid passing NULL strings to vprintf
    
    Some libc implementations will crash when NULL string arguments are given to
    *printf.  Avoid passing NULL string arguments in the make check tests that did
    so, and pass the string "(null)" instead.
    
    Change-Id: I65f11a3eef88d1c7b210c867ae0c40018160f55a
    Reviewed-on: https://gerrit.openafs.org/12377
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4e0bc086d6d09db66b3dd26d221ff712ff351386
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Aug 6 10:41:24 2016 -0400

    afsd: fix afsd -help crash
    
    afsd crashes after the usage is displayed with the -help option.
    
        $ afsd -help
        Usage: ./afsd [-blocks <1024 byte blocks in cache>] [-files <files in cache>]
        ...
        Segmentation fault (core dumped)
    
    The backtrace shows the crash occurs when calling afsconf_Open() with an
    invalid pointer argument, even though afsconf_Open() is not even needed
    when -help is given.
    
        (gdb) bt
        #0  __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:32
        #1  0x00007ffff726fc36 in *__GI___strdup (s=0x0) at strdup.c:42
        #2  0x0000000000408383 in afsconf_Open (adir=0x0) at cellconfig.c:444
        #3  0x00000000004054d5 in afsd_run () at afsd.c:1926
        #4  0x0000000000407dc5 in main (argc=2, argv=0x7fffffffe348) at afsd_kernel.c:577
    
    afsconf_Open() is called with an uninitialized pointer because commit
    d72df5a18e0bb8bbcbf23df3e8591072f0cdb770 changed the libcmd
    cmd_Dispatch() to return 0 after displaying the command usage when the
    -help option is specified.  (That fix was needed for scripts which use
    the -help option to inspect command options with the -help option.)
    
    The afsd_kernel main function then incorrectly calls the afsd_run()
    function, even though mainproc() was not called, which sets up the afsd
    option variables.  The afsconf_Open() is the first function we call in
    afsd_run().
    
    Commit f77c078a291025d593f3170c57b6be5f257fc3e5 split afsd into afsd.c
    and afsd_kernel.c to support libuafs (and fuse).  This split the parsing
    of the command line arguments and the running of the afsd command into
    two functions.  The mainproc(), which originally did both, was split
    into two functions; one (still called mainproc) to check the option
    values given and setup/auto-tune values, and another (called afsd_run)
    to do the actual running of the afsd command. The afsd_parse() function
    was introduced as a wrapper around cmd_Dispatch() which "dispatches"
    mainproc.
    
    With this fix, take the opportunity to rename mainproc() to the now more
    accurately named CheckOptions() and change afsd_parse() to parse the
    command line options with cmd_Parse(), instead of abusing
    cmd_Dispatch().
    
    Change the main fuction to avoid running afsd_run() when afsd_parse()
    returns the CMD_HELP code which indicates the -help option was given.
    
    afsd.fuse splits the command line arguments into afsd recognized options
    and fuse options (everything else), so only afsd recognized arguments
    are passed to afsd_parse(), via uafs_ParseArgs(). The -help argument is
    processed as part of that splitting of arguments, so afsd.fuse never
    passes -help as an argument to afsd_parse(). This means we to not need
    to check for CMD_HELP as a return value from uafs_ParseArgs().  But
    since this is all a bit confusing, at least check the return value in
    uafs_ParseArgs().
    
    Change-Id: If510f8dc337e441c19b5e28685e2e818ff57ef5a
    Reviewed-on: https://gerrit.openafs.org/12360
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 644d3b6ec4afb5e9c0f35f48058d20f791806a9d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 2 16:52:42 2016 -0400

    revert: "LINUX: Fix oops during negative dentry caching"
    
    Commit fd23587a5dbc9a15e2b2e83160b947f045c92af1 was done to fix an oops
    when parent_vcache_dv() was called without the GLOCK held.  Since the
    lockless code paths have been removed, and parent_vcache_dv() is always
    called with the GLOCK held, revert the extra locked flag argument and
    the calls obtain and release the GLOCK within parent_vcache_dv().
    
    Change-Id: I21c3272ec4ed5d4fa1a746a0f783cccfc14e0c22
    Reviewed-on: https://gerrit.openafs.org/12354
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 74d4fea1683ccd5b4db53709fc2b5053062ea052
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 4 14:10:23 2015 -0600

    Revert "Lockless path through afs_linux_dentry_revalidate"
    
    This reverts commit 3ecd65d3375f0a4fa4c28f9b59cdf6a1f6fd51b8.
    
    This commit made it possible to execute afs_linux_dentry_revalidate
    without taking the GLOCK under some circumstances. However, it
    achieved this by examining structure members outside of the GLOCK that
    were previously only examined under the GLOCK (such as vcp->f.states
    and vcp->f.m.DataVersion).
    
    While that does of course improve performance, it is not known to be
    completely safe. Revert this commit so we may implement a fastpath
    through afs_linux_dentry_revalidate using more trusted lockless
    techniques (atomics, RCU, etc).
    
    Change-Id: Ia3ca2cf53f97244e4e548db7c1caf218c16aca5c
    Reviewed-on: https://gerrit.openafs.org/11793
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a13ea7038ebe262ba1e5387f4a3b12897bd8822b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 13 13:11:09 2015 -0600

    opr: Add opr_StaticAssert
    
    Add a static assert macro, for asserting that certain build-time
    expressions are true.
    
    Change-Id: I33b0e7168f041e8e8406710d05689e044af45fad
    Reviewed-on: https://gerrit.openafs.org/11792
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7b99f2e4a8b7071930a5851c5f6c6ab6ddc0dd57
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 26 15:47:46 2014 -0700

    afs: Create afs_SetDataVersion
    
    Several different places in the codebase change avc->f.m.DataVersion
    for a particular vcache, when we've noticed that the DV for the vcache
    has changed. Consolidate all of these occurrences into a single
    afs_SetDataVersion function, to make it easier to change what happens
    when we notice a change in DV number.
    
    This should incur no behavior change; it is just simple code
    reorganization.
    
    Change-Id: I5dbf2678d3c4b5a2fbef6ef045a0b5bfa8a49242
    Reviewed-on: https://gerrit.openafs.org/11791
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Daria Phoebe Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Thomas Keiser <tkeiser@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fac0b742960899123dca6016f6ffc6ccc944f217
Author: Andrew Deason <adeason@dson.org>
Date:   Sun May 22 21:54:30 2016 -0500

    ubik: Return an error from ContactQuorum when inquorate
    
    Currently, when we need to contact all other servers in the ubik
    quorum (to create a write transaction, and send db changes, etc), we
    call the ContactQuorum_* family of functions. To contact each server,
    those functions follow an algorithm like the following pseudocode:
    
    {
        int rcode = 0;
        int code;
        int okcalls = 0;
    
        for (ts = ubik_servers; ts; ts = ts->next) {
            if (ts->up) {
                code = contact_server(ts);
                if (code) {
                    rcode = code;
                } else {
                    okcalls++;
                }
            }
        }
    
        if (okcalls + 1 >= ubik_quorum) {
            return 0;
        } else {
            return rcode;
        }
    }
    
    This means that if we successfully contact a majority of ubik sites,
    we return success, even if some sites returned an error. If most sites
    fail, then we return an error (we arbitrarily pick the last error we
    got).
    
    This means that in most situations, a successful write transaction is
    guaranteed to have been transmitted to a majority of ubik sites, so
    the written data cannot be lost (at least one of the sites that got
    the new data will be in a future elected quorum).
    
    However, if a site is already known to be down (ts->up is 0), then we
    skip trying to contact that site, but we also don't set any errors.
    This means that if a majority of sites are already known to be down
    (ts->up is 0), then we can indicate success for a write transaction,
    even though the relevant data has not been written to a majority of
    sites. In that situation, it is possible to lose data.
    
    Most of the time this is not possible, since a majority of sites must
    be 'up' for the sync site to be elected and to allow write
    transactions at all. There are a few ways, though, in which we can get
    into a situation where most other sites are 'down', but we still let a
    write transaction go through.
    
    An example scenario:
    
    Say we have sites A, B, and C. All 3 sites come up at the same time,
    and A is the lowest IP so it starts an election (after around BIGTIME
    seconds). Right after A is elected the sync site, sites B and C will
    have 'lastYesState' set to 0, since site A hasn't yet sent out a
    beacon as the sync site.
    
    A client can then start a write to the ubik database on site A, which
    site A will allow since it's the sync site (and presumably all the
    relevant recovery flags are set). Site A will try to contact sites B
    and C for a DISK_Begin call, but lastYesState is set to 0 on those
    sites. This will cause DISK_Begin to return UNOQUORUM
    (urecovery_AllBetter will return 0, because uvote_HaveSyncAndVersion
    will return 0, because lastYesState is not set).
    
    So site A will get a UNOQUORUM error from sites B and C, and so site A
    will set 'ts->up' to 0 for sites B and C, and will return UNOQUORUM to
    the client. The client may then try to retry the call (because
    UNOQUORUM is not treated as a 'global' error in ubikclient.c's
    ubik_Call_New), or another client write request could come in. Now
    that 'ts->up' is unset for both sites B and C, we skip trying to
    contact any remote sites, and the ContactQuorum functions will return
    success. So the ubik write will go through successfully, but the new
    data will only be on site A.
    
    At this point, if site A crashes, then sites B and C will elect a
    quorum, and will not have the modifications that were written to site
    A (so the data written to site A is lost). If site A stays up, then it
    will go through database recovery, sending the entire database file to
    sites B and C.
    
    In addition, it's very possible in this scenario for a client to write
    to the database, and then try to read back data and confusingly get a
    different result. For example, if someone issues the following two
    commands while triggering the above scenario:
    
        $ pts createuser testuser
        $ pts examine testuser
    
    If the second command contacts site B or C, then it will always fail,
    saying that the user doesn't exist (even though the first command
    succeeded). This is because sites B and C don't have the new data
    written to site A, at least temporarily. While this confusing behavior
    is not completely avoidable in ubik (this can always happen
    'sometimes' due to network errors and such), with the scenario
    described here, it happens 100% of the time.
    
    The general scenario described above can also happen if sites B and C
    are suddenly legitimately unreachable from site A, instead of throwing
    the UNOQUORUM error. All of the steps are pretty much the same, but
    there is a bit of a delay while we wait for the DISK_Begin call to
    fail.
    
    To fix this, do not let 0 be returned if a quorum has not been
    reached.  In some sense, UNOQUORUM could *always* be returned in
    that case, but it is more in keeping with historical behavior to
    return a "real" error if there is one available.
    
    It is somewhat questionable whether we should even be propagating
    errors received from calls like DISK_Begin/DISK_Commit to the ubik
    client (e.g. if we get a -1 from trying to contact a remote site, we
    return -1 to the client, so the client may think it couldn't reach the
    site at all). But this commit does not change any of that logic, and
    should only change behavior when a majority of sites have 'ts->up'
    unset.  A later commit might effect the change to always return
    UNOQUORUM and ignore the actual error values from the DISK_ calls,
    but that is not needed to fix the immediate issue.
    
    An important note:
    
    Before this commit, there was a window of about 15 seconds after a
    sync site is elected where a write to the ubik db would appear to be
    successful, but would only modify the ubik db on the sync site.
    (Details described above.) With this commit, writes during that
    15-second window will instead fail, because we cannot guarantee that
    we won't lose that data. If someone relies on 'udebug' data from the
    sync site to let them know when writes will go through successfully,
    this commit could appear to cause new errors.
    
    [kaduk@mit.edu: transfer long commit message describing the issue
    from an alternative fix, and tidy up accordingly]
    Change-Id: If6842d7122ed4d137f298f0f8b7f20350b1e9de6
    Reviewed-on: https://gerrit.openafs.org/12289
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 64cc7f0ca7a44bb214396c829268a541ab286c69
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 14 19:56:58 2014 -0500

    afs: Create afs_StaleVCache
    
    In numerous different places in the code, we do something like this to
    mark a vcache as stale:
    
      ObtainWriteLock(&afs_xcbhash, somenumber);
      avc->f.states &= ~CStatd;
      afs_DequeueCallback(avc);
      ReleaseWriteLock(&afs_xcbhash);
      if (avc->f.fid.Fid.Vnode & 1 || (vType(avc) == VDIR))
          osi_dnlc_purgedp(avc);
    
    There are some variations here and there, but all locations usually
    involve at least some code like that. But they all do the same general
    thing: invalidate a vcache so we hit the net the next time we need
    that vcache.
    
    In order to make it easier to modify what happens when we invalidate a
    vcache, and just to improve the code, take all of these instances and
    put the functionality in a single function, called afs_StaleVCache,
    which marks the vcache as 'stale'.
    
    To handle a few different situations that must be handled, we have
    some flags that can also be passed to the new function. These are
    primarily necessary to handle variations in the circumstances under
    which we hit this code path; for instance, we may already have
    afs_xcbhash locked, or we may be invalidating the entire osidnlc (if
    we're invalidating vcaches in bulk, for example).
    
    This should result in the same general behavior in all cases. The only
    slight differences in a few cases is that we hold locks for a few more
    operations than we used to; for example, we may clear an osidnlc entry
    while holding the vcache lock. But these are minor and shouldn't
    result in any actual differences in behavior.
    
    So, this commit should just be code reorganization and should incur no
    behavior change. However, this reorganization is complex, and should
    not be considered a simple risk-free refactoring.
    
    [kaduk@mit.edu: implement Tom Keiser's suggestion of a third argument
    to afs_StaleVCacheFlags, add AFS_STALEVC_CLEARCB and
    AFS_STALEVC_SKIP_DNLC_FOR_INIT_FLUSHED]
    
    Change-Id: I2b2f606c56d5b22826eeb98471187165260c7b91
    Reviewed-on: https://gerrit.openafs.org/11790
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 733dcec01784617e3354c2b8b29f50b09464a4bb
Author: Matt K. Light <mklight@gmail.com>
Date:   Tue Sep 13 14:18:38 2016 -0500

    Fix compile error for PPC64 gcc 6.1.1
    
    Cast function pointer stubs to remove compile errors
    on Fedora 24 PPC64 with ggcc 6.1.1
    
    FIXES 133407
    
    Change-Id: I59a191f7f8123ce17bfa6175b989ae14b5eab5a4
    Reviewed-on: https://gerrit.openafs.org/12386
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f2f5a7bca5e77971ef71bf2ddabf93868fe79f1d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 17 10:57:48 2016 -0400

    CODING: one-line if statements should not have braces
    
    Update the style guide with a declaration of the prevailing and
    preferred brace style for one-line if statements and loops. Provide an
    example and counter-example.
    
    Change-Id: Iafeea977203b76c0e67385779fb4ed57f3c6699a
    Reviewed-on: https://gerrit.openafs.org/12370
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f0fa5a5327c7440070d34127a124d6b7eb4bd32d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 11 11:25:51 2015 -0400

    libafs: update the volume setup time when the vldb is rechecked
    
    The vldb is rechecked when the fileserver returns certain error codes,
    such as VMOVED.  When the vldb is rechecked, update the volume
    setupTime to reflect the most recent time the volume vldb information
    is known to be correct.
    
    Be sure the VRecheck flag is cleared after checking the vldb, since
    the volume write lock was dropped after finding the volume.
    
    Change-Id: I0ba389ee408de602e0059fbe8013012501c337d3
    Reviewed-on: https://gerrit.openafs.org/11897
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ee08dbe37d9db4fe314bd88b9280bf73c92c37bd
Author: Andrew Deason <adeason@dson.org>
Date:   Sat Aug 8 16:13:54 2015 -0500

    afs: Make ONEGROUP_ENV not Linux-specific
    
    The functionality in AFS_LINUX26_ONEGROUP_ENV does not really need to
    be Linux-specific (it's just only implemented for Linux right now).
    Rename it to AFS_PAG_ONEGROUP_ENV, and remove some Linux-specific
    checks when checking for "onegroup" PAG GIDs.
    
    [mmeffie@sinenomine.net: Move AFS_PAG_ONEGROUP_ENV to param.h]
    
    Change-Id: I01d29fff309337ae95b9b6c65db3d2212cf4bf89
    Reviewed-on: https://gerrit.openafs.org/11978
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b39095c3a7e1c631bb17816b7e707bc21a6b8c71
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 9 16:23:46 2016 -0400

    afs: define NUMPAGGROUPS once
    
    Define the number of groups per PAG in one place.  Prefix the define
    with AFS_ to avoid name conflicts in the future (unlikely as it may be).
    
    Fix the misnamed AFSPAGGGROUPS symbol in linux implementation of two
    groups per PAG.
    
    Change-Id: I78bb42913f2a5d84c9f323f17dc36d800d8acb84
    Reviewed-on: https://gerrit.openafs.org/12382
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0028ea92ad3e7aac6a4c51f63703a4d9d7b9dcd6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 29 12:00:24 2015 -0400

    afs: add afsd -inumcalc option
    
    This commit adds the afsd -inumcalc command line switch to specify the
    inode number calculation method in a platform neutral way.
    
    Inode numbers reported for files within the AFS filesystem are generated
    by the cache manager using a calculation which derives a number from a
    FID. Long ago, a new type of calculation was added which generates inode
    numbers using a MD5 message digest of the FID.  The MD5 inode number
    calculation variant is computationally more expensive but greatly
    reduces the chances for inode number collisions.
    
    The MD5 calculation can be enabled on the Linux cache manager using the
    Linux sysctl interface.  Other than the sysctl method of selecting the
    inode calculation type, the MD5 inode number calculation method is not
    specific to Linux.
    
    This change introduces a command-line option which accepts a value to
    indicate the calculation method, instead of a simple flag to enable MD5
    inode numbers.  This should allow for new inode calculation methods
    in the future without the need for additional afsd command-line flags.
    
    Two values are currently accepted for -inumcalc. The value of 'compat'
    specifies the legacy inode number calculation. The value 'md5' indicates
    that the new MD5 calculation is to be used.
    
    Change-Id: I0257c68ca1a32a7a4c55ca8174a4926ff78ddea4
    Reviewed-on: https://gerrit.openafs.org/11855
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c17d14223044936a5de5007052eff3488350e9d4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Aug 6 12:57:59 2016 -0400

    CODING: update style guide for multiline comments
    
    Document the preferred style for multiple line comment blocks and give an
    example.
    
    Change-Id: I73d6183da9014a943316e5aea1d43be2acc81ad7
    Reviewed-on: https://gerrit.openafs.org/12361
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit aca8ac83bd456862815a7f247e9a7b89583517a8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Jul 13 18:23:50 2016 -0500

    Document minimum supported compiler versions
    
    Pick some fairly old versions of clang and gcc and document them
    as the minimum supported version.  This will let us make assumptions
    about compiler features that are available when using those compilers.
    
    Change-Id: Ibb8df72c9b12cc7adff39ece9708a428975ba703
    Reviewed-on: https://gerrit.openafs.org/12331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 83a0f2a9ef88e63fbd300fbb436c17ca80c245b4
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Mon Jul 25 21:04:59 2016 -0400

    Linux 4.7: Follow key_alloc API change
    
    Linux v4.7-rc1~124^2~2^2^2~9 adds an eighth optional argument
    restrict_link.  The same commit adds a KEY_ALLOC_BYPASS_RESTRICTION
    macro, which we test so we can avoid adding another configure test.
    
    Change-Id: I83e27b54ba5711124dccaa41de7155be77054f47
    Reviewed-on: https://gerrit.openafs.org/12345
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fa5af899319b69fa9542add78beca388521e3450
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri May 27 16:44:17 2016 -0400

    SOLARIS: corrupted content of mmap'd files over 4GiB
    
    Many Solaris programs and utilities (notably mdb and cp) use mmap() in
    their implementation.  When AFS files exceeding 4GiB are mmap'd, the
    contents of the file will be incorrectly mapped into memory. Starting at
    4GiB + 1, the first 4GiB will be repeated for the remainder of the file.
    If the mmap'd file is written back to storage (AFS or otherwise), the
    newly created file will also be corrupted.
    
    This is due to a bug in the afs_map() routine that supports mmap() of
    AFS files on Solaris.  The segvn_crarg.offset passed to the Solaris
    virtual memory APIs is incorrectly cast to u_int, causing it to wrap at
    4GiB.
    
    Although Solaris passes the offset from fop_map() to afs_map() as type
    offset_t, the destination segvn_crargs.offset is actually type
    u_offset_t.  Existing examples of other Solaris filesystems (e.g.
    zfs_map() ) cast the offset from offset_t to u_offset_t when assigning to
    segvn_crargs.offset.  If it's good enough for ZFS, it's good enough for
    AFS.
    
    Correctly cast the offset to u_offset_t.
    
    Thanks to Robert Milkowski for the report and diagnosis.
    
    Change-Id: Id25363255ec011f2ad7e003ca3e4a1385bebff7e
    Reviewed-on: https://gerrit.openafs.org/12292
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 75325fc9ab1cec4a338e1aaf1b32de1922492b12
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu May 26 16:53:47 2016 -0400

    SOLARIS: support mmap() over 4GiB
    
    When mmap() is issued for exactly 4GiB of a large AFS-resident file,
    mmap() fails with ENOMEM.  This is because the AFS code is handling the
    requested length as u_int instead of size_t, resulting in a 0 being
    passed back to the caller.
    
    When mmap() is issued for non-multiples of 4GiB, the subsequent mapping
    will not contain all the requested pages, and for the same reason - the
    mapped size has been truncated to 32 bits.  This results in SIGSEGV when
    accessing the non-mapped page(s).
    
    Fix the signature of afs_map() to specify the correct type for the length.
    
    Thanks to Robert Milkowski for the report and diagnosis.
    
    Change-Id: I8a9f0cb04ff9b80de5516e14d0679b06ef0b3f9a
    Reviewed-on: https://gerrit.openafs.org/12291
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 19ffa2b7f09bffea816dda4713ad53f4d8cb93cb
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jul 20 15:09:43 2016 -0400

    macos: pkgbuild.sh should not be tracked by git
    
    The automatically generated pkgbuild.sh file should not be tracked by
    git. To fix this problem, add the name of this file to the proper
    .gitignore file.
    
    Change-Id: I9bdbad8e7cc02926de61e337ccb94d8a2c27ae43
    Reviewed-on: https://gerrit.openafs.org/12343
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7f8af1b384cfdc2964a122953e4102b4d82e6cb1
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jun 18 15:32:36 2015 -0400

    afs: incorrect comments for afs_ClearStatus
    
    The brief description was identical to the one for afs_Analyze.
    
    Update it to accurately describe afs_ClearStatus.
    
    Change-Id: I70ceca41342c1b47950c35f567f8ae5a2566f925
    Reviewed-on: https://gerrit.openafs.org/12005
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d3dbdade7e8eaf6da37dd6f1f53d9f1384626071
Author: Andrew Deason <adeason@dson.org>
Date:   Sun May 1 11:24:30 2016 -0500

    ubik: Don't RECFOUNDDB if can't contact most sites
    
    Currently, the ubik recovery code will always set UBIK_RECFOUNDDB
    during recovery, after asking all other sites for their dbversions.
    This happens regardless of how many sites we were actually able to
    successfully contact, even if we couldn't contact any of them.
    
    This can cause problems when we are unable to contact a majority of
    sites with DISK_GetVersion. Since, if we haven't contacted a majority
    of sites, we cannot say with confidence that we know what the best db
    version available is (which is what UBIK_RECFOUNDDB represents; that
    we've found which database is the one we should be using). This can
    also result in UBIK_RECHAVEDB in a similar situation, indicating that
    we have the best db version locally, even though we never actually
    asked anyone else what their db version was.
    
    For example, say site A is the sync site going through recovery, and
    DISK_GetVersion fails for the only other sites B and C. Site A will
    then set UBIK_RECFOUNDDB, and will claim that site A has the best db
    version available (UBIK_RECHAVEDB). This allows site A to process ubik
    write transactions (causing the db to be labelled with a new epoch),
    or possibly to send the db to the other sites via DISK_SendFile, if
    they quickly become available during recovery. Ubik write transactions
    can succeed in this situation, because our ContactQuorum_* calls will
    succeed if we never try to contact a remote site ('rcode' defaults to
    0).
    
    This situation should be rather rare, because normally a majority of
    sites must be reachable by site A for site A to be voted the sync site
    in the first place. However, it is possible for site A to lose
    connectivity to all other sites immediately after sync site election.
    It is also possible for site A to proceed far enough in the recovery
    process to set UBIK_RECHAVEDB before it loses its sync site status.
    
    As a result of all of this, if a site with an old database comes
    online and there are network connectivity problems between the other
    sites and a ubik write request comes in, it's possible for the "old"
    database to overwrite the "new" database. This makes it look as if the
    database has "rolled back" to an earlier version.
    
    This should be possible with any ubik database, though how to actually
    trigger this bug can change due to different ubik servers setting
    different network timeouts. It is probably the most likely with the
    VLDB, because the VLDB is typically the most frequently written
    database.
    
    If a VLDB reverts to an earlier version, it can result in existing
    volumes to appear to not exist in the VLDB, and can result in new
    volumes re-using volume IDs from existing volumes. This can result in
    rather confusing errors.
    
    To fix this, ensure that we have contacted a majority of sites with
    DISK_GetVersion before indicating that we have located the best db
    version. If we've contacted a majority of sites, then we are
    guaranteed (under ubik assumptions) that we've found the best version,
    since previous writes to the database should be guaranteed to hit a
    majority of sites (otherwise they wouldn't be successful).
    
    If we cannot reach a majority of sites, we just don't set
    UBIK_RECFOUNDDB, and the recovery process restarts. Presumably on the
    next iteration we'll be able to contact them, or we'll lose sync site
    status if we can't reach the other sites for long enough.
    
    Change-Id: I84f745b5e017bb62d93b538dbc9c7de845bee1bd
    Reviewed-on: https://gerrit.openafs.org/12281
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3e531db9ce50dd41f0c64a11ab3bfcf0239ba0cd
Author: Andrew Deason <adeason@dson.org>
Date:   Thu May 12 21:34:31 2016 -0500

    vlserver: rx_SetRxDeadTime before ubik init
    
    Currently, vlserver calls rx_SetRxDeadTime to set the default rx
    deadtime to 50 seconds, but it does so after calling
    ubik_ServerInitByInfo. ubik_ServerInitByInfo creates several rx
    connections before it returns, and so these connections get the
    default rx deadtime (12 seconds), instead of the 50 seconds vlserver
    tries to set.
    
    When ubik detects that a remote site is down, ubik recreates the rx
    connections for that site, and this new connection gets the new
    deadtime of 50 seconds.
    
    This means that ubik behavior can have different timings in the
    vlserver, depending on if any remote sites have ever been detected as
    being 'down' or not. This can result in seemingly-inconsistent or
    confusing behavior, since some sequences of operations that appear
    identical can produce different results, depending on if the 12-second
    timeout or the 50-second timeout is being used.
    
    This behavior is not directly to blame for any problems, but it can be
    very confusing, especially when trying to diagnose or reproduce bugs.
    So to make things more consistent, just call rx_SetRxDeadTime earlier,
    so all conns always get the 50-second timeout.
    
    In order to do this, though, we must also ensure that rx_Init is
    called before rx_SetRxDeadTime (otherwise, rx_Init will overwrite our
    configured deadtime). So also call rx_Init earlier; rx_Init is
    idempotent, so it's okay that it may be called again after or before
    this.
    
    Note that vlserver is currently the only ubik server that sets a
    deadtime of 50 seconds, and it's not clear why. Another way to solve
    this is to just remove the call to rx_SetRxDeadTime, to make vlserver
    behave more similar to ptserver. But this commit takes a conservative
    approach to result in a deadtime that is probably the most common in
    current use. Since, most long-running vlservers will probably
    eventually lose contact with remote sites at one time or another, and
    so will eventually use a deadtime of 50 seconds.
    
    Change-Id: I49430144d9a62eb8cad1509c1aeafc9fcc927f8e
    Reviewed-on: https://gerrit.openafs.org/12285
    Tested-by: Andrew Deason <adeason@dson.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 48ce41a447c354b8a20b769e4aa5b502ba5bcc09
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Jul 15 12:22:11 2016 -0300

    macos: use pkgbuild to build the package on 10.10/10.11
    
    PackageMaker is no longer part of OS X. As a result, it
    is not possible to build the package on OS X 10.10 and
    OS X 10.11 using the existing code.
    
    To solve this problem, a new script, along with a couple
    of new files, are provided.
    
    - pkgbuild.sh
    
    This script uses the command line tools pkgbuild and
    productbuild to build the package on OS X 10.10 and
    OS X 10.11. By default, the package built by this
    script will not be signed. Optionally, the package
    might be signed.
    
    - Distribution.xml
    
    This file is nothing more than an XML file used by
    productbuild. It is mainly used to configure how the
    installer will look and behave.
    
    - conclusion.txt
    
    Contains the text that is displayed by Installer at
    the end of the installation process. Only used by
    El Capitan and further.
    
    - Uninstall.14.15
    
    This script can be used by OS X 10.10/10.11 users
    to uninstall OpenAFS.
    
    Notes:
    
    - This work is based on a patch made by Brandon Allbery
      <ballbery@sinenomine.net> with fixes and updates from
      Andrew Deason <adeason@dson.org>.
    
    - El Capitan and further prevent us from touching
      /usr/bin directly. As a result, /opt is used.
    
    - If the package is not signed, the user will have
      to disable the OS X security protections. Otherwise,
      the client will not work.
    
    - Now we have two different scripts to build the
      package on OS X. For OS X 10.10 and newer versions,
      pkgbuild.sh will be used. For older versions,
      the existing buildpkg.sh will be used.
    
    Change-Id: If8320666c553b82af450c0263f5e80a00c33e3b8
    Reviewed-on: https://gerrit.openafs.org/12239
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1bfc24dda0f391b88d7617c6947d03216abb0d80
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Wed Jul 6 09:56:26 2016 -0300

    pam: avoid warning messages
    
    In order to avoid some warning messages, do not
    ignore the code returned by some functions.
    
    Change-Id: Ie01fa98b54010d566fb5b980b001d58989ef9a67
    Reviewed-on: https://gerrit.openafs.org/12298
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a0417565a3ab7e6a49d7c48efd72d62bdeb4436c
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 28 18:35:13 2012 -0400

    ptuser: guarantee that all names are valid C strings
    
    The prname type is represented in XDR as a vector[PR_MAXNAMELEN]
    of char, not as a string, which means that the XDR (de)serializer
    will not guarantee null-termination.  Guarantee that all buffers
    used in the public protection server API are in fact valid strings
    by disallowing any names that are exactly PR_MAXNAMELEN (64)
    characters long.  DO NOT silently truncate names that are even
    longer than this.  Consistently use the prname typedef in
    declarations to reinforce the length limitation to those reading
    the header file.  Introduces a new protection error code,
    PRNAMETOOLONG, which will be returned if either IN or OUT parameters
    would exceed the limit.
    
    [kaduk@mit.edu convert macro to static_inline function and expand
    at call sites; add string_ wrapper to add checking to viced and libadmin;
    export the string_ wrapper from libafsauthent for the windows build]
    
    Change-Id: I65f850afcfea2fd2bc0110ca7b7f6ecca247dd58
    Reviewed-on: https://gerrit.openafs.org/7896
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f14d263a73f0be75e4de92f62e836fb2e55680dd
Author: Joe Gorse <jhgorse@gmail.com>
Date:   Thu Jun 9 14:11:23 2016 -0400

    Linux 4.6: rm PAGE_CACHE_* and page_cache_{get,release} macros
    
    This is an automatic patch generated by Coccinelle (spatch) from the commit message of the linked commit:
    https://github.com/torvalds/linux/commit/09cbfeaf1a5a67bfb3201e0c83c810cecb2efa5a
    
    We will not add an autoconfig test because the PAGE_{...} macros should exist
    where the PAGE_CACHE_{...} were previously.
    
    The spatch used:
    @@
    expression E;
    @@
    - E << (PAGE_CACHE_SHIFT - PAGE_SHIFT)
    + E
    
    @@
    expression E;
    @@
    - E >> (PAGE_CACHE_SHIFT - PAGE_SHIFT)
    + E
    
    @@
    @@
    - PAGE_CACHE_SHIFT
    + PAGE_SHIFT
    
    @@
    @@
    - PAGE_CACHE_SIZE
    + PAGE_SIZE
    
    @@
    @@
    - PAGE_CACHE_MASK
    + PAGE_MASK
    
    @@
    expression E;
    @@
    - PAGE_CACHE_ALIGN(E)
    + PAGE_ALIGN(E)
    
    @@
    expression E;
    @@
    - page_cache_get(E)
    + get_page(E)
    
    @@
    expression E;
    @@
    - page_cache_release(E)
    + put_page(E)
    
    Change-Id: Iabe29b1349ab44282c66c86eced9e5b2056c9efb
    Reviewed-on: https://gerrit.openafs.org/12297
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 16463b602a210768f80bec9ef7c6896ea8a9909d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Jul 13 16:55:11 2016 +0200

    redhat: Use a secure URL to retrieve CellServDB
    
    By default, makesrpm.pl will use wget to retrieve the CellServDB
    as specified in the spec file. Even though the script need not and
    thus should not be run by a privileged UID, make this a bit more
    secure by specifying an https URL.
    
    Change-Id: I0f14bbac35e7dc30a6e194f8706f7f3674d15a3f
    Reviewed-on: https://gerrit.openafs.org/12329
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8b57f9fc423c6a69a0fb8147d0621cb703e1374e
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Jun 9 15:04:18 2016 -0300

    build-sys: do not capitalize value of HAVE_PAM
    
    The value assigned to HAVE_PAM should not be capitalized.
    If so, the PAM source files will not be compiled.
    
    To fix this problem, convert to lowercase one of the values
    assigned to HAVE_PAM.
    
    Change-Id: I4973394f8d398bbea0f578fadb04aedee6fd1fc0
    Reviewed-on: https://gerrit.openafs.org/12296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a443accfdf8771b90e2b06da04e7e3d1e88028fd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 11 11:02:20 2015 -0400

    libafs: rename volume accessTime to setupTime
    
    Since OpenAFS 1.0, the struct volume accessTime member has been the time
    time the volume structure is setup, not the last time the volume was
    used (as indicated by the comments).  This time stamp is only used to
    find the oldest available volume slot in the disked backed volume cache.
    (Perhaps in pre-OpenAFS this was updated each time the volume was
    referenced.)
    
    Rename this structure member and update the comments for it.
    
    Change-Id: I33a6371e8800b2d0f7b2700db0785fc365a8649e
    Reviewed-on: https://gerrit.openafs.org/11896
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c5b52c815972b4f623defaec9e0d8c235228b7b8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 4 12:35:11 2016 -0400

    vlserver: --enable-ubik-read-while-write configure option
    
    Commit a0f416e3504929b304fefb5ca65e2d6a254ade2e unconditionally turned
    on the new ubik_BeginTransReadAnyWrite functionality for the vlserver,
    which allows us to read data from ubik during a conflicting ubik write
    lock.
    
    This feature is not ready for production use. Make it a build time
    option, marked as experimental, until more testing can be done.
    
    Change-Id: If64702e7a7ed2340066df5faf82ce8b0875fc610
    Reviewed-on: https://gerrit.openafs.org/12240
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cd52915b3e8c8249c5af1cfebd57276cd34a00b9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Oct 7 17:17:08 2014 -0400

    LWP fileserver is no more
    
    Don't mention it in the man pages.
    
    Change-Id: I8a6d706f055545642116af5a98fa8c04f533b990
    Reviewed-on: https://gerrit.openafs.org/11529
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 43a66de66c40171fedcf0450e9fa93b47c0d9f2e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 5 10:09:54 2015 -0400

    libafs: avoid resetting the dynroot volume every 10 minutes
    
    The dynroot volumes are synthetic, so do not need to be reset every time
    the background daemon checks the volumes.
    
    The results of osi_Time() is a signed 32-bit integer, and the volume
    expireTime is an signed 32-bit integer, so use signed 32-bit integers
    for the expiry check.
    
    Change-Id: Ib92157686c1d8b84a63d409cb148155705953b6d
    Reviewed-on: https://gerrit.openafs.org/11895
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b3e85976936239e30d44da00bf28fbe8487f6998
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jun 18 15:54:28 2015 -0400

    afs: document missing afs_Analyze parm
    
    rxconn was missing from the comments; add it.
    
    Change-Id: I8c0cf212ca2952d3a23c3bb5db1857dfd9a8f41e
    Reviewed-on: https://gerrit.openafs.org/12004
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit dda47aab6179b6940aa994a0cd7b88a4b0942fe6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jul 4 20:13:31 2016 -0500

    Add sysname IDs for FreeBSD 10.2 and 10.3
    
    While here, de-conflict the numbers for 10.0/10.1 and 7.2/7.3
    
    Change-Id: I87697587359a26258298f4710c7232bea417f807
    Reviewed-on: https://gerrit.openafs.org/12321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 683acaed17da90455aab0cbb3d1539c51415b137
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 15 13:51:56 2016 -0500

    viced: make -vhashsize usable for non-DAFS
    
    The ability to set the size of the volume hash table was added
    at the same time that DAFS was introduced, and got caught up
    in the same preprocessor conditional.  However, -vhashsize can
    be useful for the traditional fileserver as well (even though
    we recommend DAFS over the traditional fileserver), so let it
    be used in that case.
    
    Update the man pages accordingly and fix some grammar while here.
    
    Noted by Mark Vitale.
    
    Change-Id: Ic3282c9d661d60cf36f9ffb197e723a3f71da167
    Reviewed-on: https://gerrit.openafs.org/12287
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d3b8a05d229a80100f40fca4dfdcd820313fcea8
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Jun 28 12:48:06 2016 -0300

    venus: fix memory leak
    
    The fs getserverprefs command displays preference
    ranks for file / volume location server machine
    interfaces. In order to get the complete set of
    preference ranks, the VIOC_GETSPREFS system call
    might have to be called several times. If so, the
    memory previously allocated should be released.
    
    Change-Id: I8491117ead626e70aac40343923d52284f274efd
    Reviewed-on: https://gerrit.openafs.org/12315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 360f4ef53c454494cd5212a5ea46c658bdb2879c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 1 19:48:40 2016 -0400

    Linux 4.5: don't access i_mutex directly
    
    Linux commit 5955102c, in preparation for future work, introduced
    wrapper functions to lock/unlock inode mutexes.  This is to
    prepare for converting it to a read-write semaphore, so that
    lookup can be done with only the shared lock held.
    
    Adopt the afs_linux_*lock_inode() functions accordingly, and
    convert afs_linux_fsync() to using those wrappers, since the
    FOP_FSYNC_TAKES_RANGE case appears to be the current case.
    
    Amusingly, afs_linux_*lock_inode() already have a branch to
    handle the case when inode serialization is protected by a
    semaphore; it seems that this is going to come full-circle.
    
    Change-Id: Ia5a194acc559de21808655ef066151a0a3826364
    Reviewed-on: https://gerrit.openafs.org/12268
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2ef27ea1bb032cee8d26980e60e02b52a0805763
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Thu May 5 12:35:08 2016 -0400

    Linux 4.5: get_link instead of follow_link+put_link
    
    In linux commit 6b255391, the follow_link inode operation was
    replaced by the get_link operation, which is basically the same
    but takes the inode and dentry separately, allowing for the
    possibility of staying in RCU mode.
    
    For now, only support this if page_get_link is available and we are
    using the USABLE_KERNEL_PAGE_SYMLINK_CACHE
    
    The previous test for USABLE_KERNEL_PAGE_SYMLINK_CACHE used a bogus,
    undefined configure variable (ac_cv_linux_kernel_page_follow_link).
    Remove it, as it was not needed
    
    Change-Id: I2d7851d31dd4b1b944b16fad611addb804930eca
    Reviewed-on: https://gerrit.openafs.org/12265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d9cfc1f3f5a75f1dbb14a56cd3da9db6b7a48065
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun May 1 19:04:45 2016 -0400

    Linux 4.5: no highmem in symlink ops
    
    Symlink bodies in the pagecache should not be in highmem, as
    upstream converted in commit 21fc61c73.
    
    Change-Id: I1e4c3c51308df096cdfa4d5e7b16279e275e7f41
    Reviewed-on: https://gerrit.openafs.org/12264
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 49106a54993a0c9c64b407f05deaabe8f64e742d
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Fri Aug 1 02:48:21 2014 -0400

    Use rxkad_crypt for inter-volser traffic, if asked
    
    Add a -s2scrypt option to the volume server, with possible options:
    
      * never -- the existing behavior
    
      * always -- switch to using afsconf_ClientAuthSecure, which uses
        rxkad_crypt, for ForwardVolume calls.
    
      * inherit -- encrypt inter-server traffic if the causal client
        connection is encrypted.  This has the effect of "inheriting" the
        "-encrypt" flag given to "vos release", for example.
    
    Thanks to Jeffrey Altman for pointers and to Andrew Deason for noting
    the existence of rxkad_GetServerInfo.
    
    [mmeffie@sinenomine.net fix assertion and style update.]
    
    Change-Id: Ia295ba3f29a8494c8250a480fb26594468d2116a
    Reviewed-on: https://gerrit.openafs.org/11349
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Thomas Keiser <tkeiser@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4bd716223492aec23599a5ac01bce3cc47160bfd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat May 14 13:37:54 2016 -0500

    Fix typo in kaserver appendix
    
    Though it's very unlikely that someone would actually want to
    set up a new kaserver installation, if we have documentation for
    it, it ought to at least do what it claims to do.
    
    Thus, change kinit to klog where it was intended.
    
    Reported by Karl-Philipp Richter.
    
    FIXES 133043
    
    Change-Id: I478a42931fa863c11b4acca7624bcabc14e561b1
    Reviewed-on: https://gerrit.openafs.org/12286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 74413d886d047073b2dd396fbf8f606fd1b263a0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu May 12 22:23:36 2016 -0400

    salvageserver: unable to write child log: out of memory
    
    Changes to salvageserver logging in commit
    24fed351fd13b38bfaf9f278c914a47782dbf670
    introduced a new bug in SalvageLogCleanup; the test for calloc() failure
    was inadvertently inverted.
    
    Fix the sense of the test.
    
    Change-Id: Id0ee4ac3e60d7285163a9ab0b32bd7d48e570ac0
    Reviewed-on: https://gerrit.openafs.org/12284
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bf17a719e3443502e2b4bdb7f6b9d2f0c1e39510
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 10 22:51:38 2016 -0400

    salvageserver: segfault in DoSalvageVolume
    
    A typo in the recent logging changes for salvageserver
    ad455347bc99d1bd499535995958b5f77c2388ff
    caused a bad address to be passed to memset.
    
    Correctly memset the log options as intended.
    
    Change-Id: Ifef46defcc6da56df4e58f8ed9029717a77c0b39
    Reviewed-on: https://gerrit.openafs.org/12282
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 562efa7e4c303acadf5c1df35c72674a3743c577
Author: Andrew Deason <adeason@dson.org>
Date:   Thu May 5 00:01:22 2016 -0500

    ubik: Don't clear ubik_lastYesTime on startup
    
    In uvote_Init, we set ubik_lastYesTime to the current time just a few
    lines before. It is important to set ubik_lastYesTime to the current
    time, since that prevents us from voting for anyone in an ubik
    election for at least BIGTIME seconds.
    
    If we clear ubik_lastYesTime to 0, that means restarting a ubik server
    could cause it to immediately start voting for a different site than
    it was voting for before it started. This violates one of the ubik
    invariants; as mentioned in the comments in SVOTE_Beacon, we cannot
    promise sync site support to more than one site within BIGTIME
    seconds. So initializing ubik_lastYesTime to 0 could cause two
    different sites to be voted sync site simultaneously, if our restart
    caused a premature change in vote.
    
    Change-Id: I410fbefa8d699aac1c900d1fdd4e355b87917ad7
    Reviewed-on: https://gerrit.openafs.org/12279
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3c7a315b635fc4ee2118ee541f1169cf147622d5
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Jul 7 09:55:44 2014 -0400

    auth: Allow subnet ranges in NetInfo and NetRestrict
    
    Add the ability to specify a range of addresses in both NetInfo and
    NetRestrict.
    
    Change-Id: Iecdcca8587aa2e6e7cd56cbbebb63eb41b5d6f40
    Reviewed-on: https://gerrit.openafs.org/11313
    Reviewed-by: Daria Phoebe Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 88f10280f8d9f39c76e63fbaa9023c09d7c3f0d7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon May 12 12:35:44 2014 -0400

    export some kauth symbols for libadmin sample apps
    
    These functions are used, so they should be in the library's
    export list.
    
    Even though no one should be using kauth anymore.
    
    Change-Id: I3ad936c5b898f38194a461c7147792e2fe6f36b2
    Reviewed-on: https://gerrit.openafs.org/11139
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>

commit b0e6dd60b79e17a391dfdf1bcbb91f972f5c46b9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 3 20:31:41 2016 -0400

    afs: retire HAVE_LINUX_COMPLETION_H conditionals
    
    Now that support for linux 2.4 has been sunset, as of commit
    ccf353ede6ef5cce7c562993d1bea0d20844bdb7, it is no longer necessary to
    put conditional compilation checks around the linux wait-for-completion
    functions, which were introduced sometime during the linux 2.4 series
    and have been available since.
    
    Also, remove the remnant LINUX_COMPLETION_H_EXISTS autoconf macro, which
    was removed from use in commit ef8bd5a29b937a1211540aa60398ee966470a712.
    
    Change-Id: Iea974236f73eef8c567a897d6a473254edf95379
    Reviewed-on: https://gerrit.openafs.org/12278
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 591da537e22be88da23216b2640331a7338ce0ae
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 28 17:23:23 2016 -0400

    afs: remove commented out sleep in afs_call.c
    
    The cell info setup was moved to the beginning of the startup sequence
    and an unnecessary sleep commented out in the syscall in which the cell
    info was set in commit 3fa5f389b2b7778cf0df5a506c91b427b147c4c2.
    
    Clean up afs_call.c a bit by removing this commented out code.
    
    Change-Id: I8ef0ddce4e1d327032b54ecebb48e9fdfe7767b4
    Reviewed-on: https://gerrit.openafs.org/12277
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5277460eaa300fc973b59d007cd3eaea93d30873
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 28 17:15:06 2016 -0400

    afs: remove commented out AIX specific tweak
    
    This AIX specific code block has been commented out since
    openafs-ibm-1_0.  The comments seem to indicate this was a networking
    tweak specific to AIX, but the kernel variables involved were not
    exported.  Clean up afs_call.c by removing this dead code.
    
    Change-Id: Ieb66573c410199d590bfcccf942dca28547ed1e0
    Reviewed-on: https://gerrit.openafs.org/12276
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 91f5cecc937923e16c5feda675fccd36d2b95164
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 28 16:52:42 2016 -0400

    afs: cleanup remnant afs_vfs_mount prototype in afs_call.c
    
    The call to afs_vfs_mount() in afs_call.c was removed in commit
    a5ab24af71efe6b80eb0f78d1979c5ab1d1e594d.  Remove the remnant prototype
    and the useless conditionals around it.
    
    Change-Id: I032ab5971a6e18df203f799c3a6e4f683a66d726
    Reviewed-on: https://gerrit.openafs.org/12275
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8fb11c599270e6cc335258f3473ea4d10f22b85e
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 6 17:47:19 2015 -0500

    rw: Properly cleanup LWP environment
    
    Change-Id: I344d2081bdcfc2bd383e30bcf9a53f003356e9cb
    Reviewed-on: https://gerrit.openafs.org/11663
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fd26f09d770c5d16cc2c8b45ac697876d41c91e3
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Dec 31 07:39:15 2014 -0500

    lwp: fix bug in rw with assigning reader id
    
    Change-Id: I101202a49f14142cf503a64b45f9168a907bbace
    Reviewed-on: https://gerrit.openafs.org/11651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5731d3459c16ab7c6a706b4f738028875aed2287
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Dec 23 09:59:05 2014 -0500

    lwp: fix some warnings for rw.c
    
    Change-Id: I5459353649e3896b3ade3300403d4b88c85d6084
    Reviewed-on: https://gerrit.openafs.org/11650
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8c6bfb61922241b06f5c1467f3df0cf70d08e376
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Dec 23 10:39:10 2014 -0500

    lwp: remove preemption support
    
    This feature of lwp is basically unused and inconsistently implemented.
    
    Change-Id: Icf5c04b3bbd71af2c3d1b22dc4bfbe051952d80b
    Reviewed-on: https://gerrit.openafs.org/11649
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a9945c22185cfa22270a7b66d6ba356c2d9d8841
Author: Chas Williams <3chas3@gmail.com>
Date:   Fri Dec 25 06:37:06 2015 -0500

    LINUX: dcache updates for mkdir and sillyrename
    
    Commit d075b0549d62e4a81b7543b9c2f5dac242074909 introduced
    parent_vcache_dv() to get the data version from fakestat mount points.
    .mkdir (essentially .create for directories) should use this when
    updating ->d_time.
    
    In sillyrename, __dp is a negative dentry that should be forced to
    revalidate since the new name in dentry now exists.
    
    Change-Id: I5b112ce0437bfb061479024fee745b46821e599c
    Reviewed-on: https://gerrit.openafs.org/12141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 687b4d8af07dbcf187dea685e75b420884727efd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Aug 20 13:55:02 2015 -0400

    Make setting of CFLAGS_NOSTRICT make sense
    
    Previously, we would set -fno-strict-aliasing only when
    --enable-checking was given to configure but not
    --enable-checking=all.  The intent seems to have been to
    only warn about strict aliasing violations when --enable-checking=all
    is in use, but that there was no need to disable the strict-aliasing
    diagnostics when -Werror was not enabled.
    
    Unfortunately, -fno-strict-aliasing affects not only the diagnostics
    emitted by the compiler, but also the code generation!  So we were
    leaving the normal (no --enable-checking) case with the compiler
    assuming C's strict aliasing rules.  The OpenAFS codebase has
    historically not been strict-aliasing safe (for example,
    commit 15e8678661ec49f5eac3954defad84c06b3e0164 refers to a
    runtime crash using a certain compiler version, which is diagnosed
    as the compiler using the C strict aliasing rules to make
    optimizations that exposed the invalid program code.
    
    To avoid futher surprises due to new compiler optimizations
    that utilize the C strict aliasing rules, always disable
    strict aliasing except when --enable-checking=all is used.
    
    Change-Id: Ib5d3bbd7c88686bd9a878b6b2c5e7c2b4eeccc04
    Reviewed-on: https://gerrit.openafs.org/11988
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bc123573539084ffc5a16ef1efaaaced5b2be202
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Mar 3 18:23:28 2016 -0300

    afs: fix memory leak
    
    An error code is returned by afs_ProcessOpCreate if
    this function can not allocate memory for ttargetName.
    
    This function should release the memory previously
    allocated for tname and decrement the reference count
    of tdp as well.
    
    Change-Id: Ic771b1d57080df6ee562a7327762030afdd5b08c
    Reviewed-on: https://gerrit.openafs.org/12208
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a68f7a1c374789961fdfc6de1c228f4f33a8132
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Dec 20 13:33:36 2015 -0600

    Partially unifdef afs_pag_call.c
    
    This file is only built on linux, for afspag.ko.  There is no
    need to retain the artifiacts of its historical origin that include
    conditionals for SUN5 or HPUX or the like.
    
    Change-Id: Icbb2390d261f2f51766b392968fe332c4fb8aa6c
    Reviewed-on: https://gerrit.openafs.org/12134
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8d244c4a52b2111030e74fd32f79136aca5b8904
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 1 13:28:20 2014 -0500

    vos: Remove redundant " done" messages
    
    In 1.4, a 'vos backup' command looked like this:
    
        $ vos backup root.cell -verbose
        Re-cloning backup volume 537351386 ... done
        Created backup volume for root.cell
    
    As of 1.6.1, this output now looks like this:
    
        $ vos backup root.cell -verbose
        Re-cloning backup volume 537351386 ... done
         done
        Created backup volume for root.cell
    
    Note the extra " done". This change can break scripts that parse "vos"
    output, but mainly it just looks confusing and doesn't make any sense.
    
    This extra " done" appeared in verbose output for 'vos backup', 'vos
    backupsys', and 'vos clone'. It was introduced by commit 13a4f2b1,
    which added a VDONE to DoVolClone. This new VDONE call does make
    sense, as this does make DoVolClone more self-contained, but the old
    VDONE messages were not removed, so an extra " done" got printed.
    
    In addition, commit 13a4f2b1 introduced a new call to DoVolDelete
    followed by a VDONE, even though DoVolDelete calls VDONE itself,
    causing another redundant " done".
    
    To get rid of all of these redundant " done" messages, remove some
    extra VDONE calls in UV_BackupVolume and UV_CloneVolume.
    
    Almost all other calls to VDONE in vsprocs.c are matched by a
    preceding message that says what we are doing. The sole exception is
    UV_ChangeLocation, which outputs a " done" without any preceding
    message. However, this is the behavior that UV_ChangeLocation (and
    thus 'vos changeloc') has always has since it was introduced in
    0c03f860.
    
    Thanks to Jakub Moscicki of CERN, who originally reported this issue
    at EAKC 2014.
    
    Change-Id: I6a13c85e73deb59b511086207a296f4017f799dc
    Reviewed-on: https://gerrit.openafs.org/10980
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a62cbc209673632ec5124572304b5ee718ad1708
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon May 11 13:54:25 2015 +0200

    redhat: remove leftover legacy kmod code from spec
    
    Commit ec706b21530240d7fb66bad2f08513eff8f7c335 removed support
    for Linux 2.4 and legacy kernel modules, but missed a few more
    occurances of the latter. Remove those too.
    
    Change-Id: I449f0303ec916d597f65790c6f6a564d2f58ce48
    Reviewed-on: https://gerrit.openafs.org/11866
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>

commit c5e8d594e6809aedac1e6615f65e7e63652528ba
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Feb 13 13:02:55 2016 -0600

    doc: set use.id.as.filename for chunk.xsl
    
    The deployed documentation on docs.openafs.org uses html file names
    that match the id element for the XML elements in question.  On
    recent Debian systems, rebuilding these documents uses different
    names for the files, based on their position within the document
    hierarchy.
    
    For consistency with past usage, and to avoid breaking direct links
    when possible, set the xsl parameter use.id.as.filename to go back
    to the old naming scheme.
    
    Change-Id: I6d3fa2b74e319d1375891170817760d027e82f03
    Reviewed-on: https://gerrit.openafs.org/12189
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 170b584b3f0fb0e5121df7ded55364bb4df5abb1
Author: Steve Simmons <scs@umich.edu>
Date:   Tue Sep 13 13:41:19 2011 -0400

    Reconciliation of src/{afs,vol}/voldefs.h
    
    Bring these two files back into synchronization. Fix
    possible bug on very old SysV hosts where volume
    header file extension could be handled inconsistently.
    Overall differences reduced by about 50%. HPUX/AIX
    differences now correctly managed in both versions.
    Comment formats and whitespace in both modified to
    remove differences and follow openafs standards.
    
    Change-Id: I8fdf9941a0ee6ad7a091be38740bc2796f2b1d18
    Reviewed-on: https://gerrit.openafs.org/5405
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d3e043189abee8a6bd43a92a6e8c8ed7f578055e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 24 18:17:34 2015 -0600

    Add extra parentheses to macro bodies
    
    In order to avoid surprises due to operator precedence, the bodies
    of macros that are intended to be used as values should always
    be enclosed in an outer set of parentheses, if they contain more than
    one term.
    
    Change-Id: If175b1977b9452a7507c5906e4e611eccafb4d67
    Reviewed-on: https://gerrit.openafs.org/12143
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9c08ab654846b701557d89107e60cc8a96dc6d3a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Apr 30 11:32:14 2016 -0400

    git ignore akeyconvert
    
    Tell git to ignore the new akeyconvert binary added in commit
    6f4bdc8cb3cd020cf4b499c352ec4c4811b5a267.
    
    Change-Id: I4b9473e455319ac8ec378169a911c0619ab1fced
    Reviewed-on: https://gerrit.openafs.org/12263
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 066ef66648f0d955aa310d0991d888afea9b68d7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 4 13:34:53 2015 -0500

    configure: check for some more krb5 functions
    
    We will want to create a krb5_principal object that is used
    as a sigil for comparison against, and need to do so in a portable
    fashion.  krb5_parse_name and krb5_unparse_name have been around
    for a long time, but the counterpart krb5_free_unparsed_name is
    not always available, so provide compatibility for it.
    
    krb5_free_keytab_entry_contents is only a symbol in MIT krb5;
    we will need a compat macro on Heimdal systems where it is not present.
    
    Change-Id: I1cfe12910adac39216b8c7dd337b7e22d73555ed
    Reviewed-on: https://gerrit.openafs.org/11785
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit 6f4bdc8cb3cd020cf4b499c352ec4c4811b5a267
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 2 17:29:56 2015 -0500

    Add akeyconvert, for rxkad.keytab to KeyFileExt conversion
    
    A simple utility to help with the 1.6-->1.8 upgrade by
    bulk-converting keys, with some sanity checking.
    
    Change-Id: Ibae9a1ea3b7c3bbad5ffbc02410fa7a4ff6c4d7f
    Reviewed-on: https://gerrit.openafs.org/11786
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8bf89fdbc251822b6a3149088f5634bb40e5c225
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 5 16:29:05 2015 -0500

    roken: do not include the rk_rename() implementation on unix
    
    libroken provides roken/rename.c for platforms where the native rename()
    implementation does not replace the target if it already exists.  As designed,
    rk_rename() should be used instead of rename() everywhere and rk_rename()
    is #defined to be rename() on platforms where this fix is not necessary.
    
    Do not include the rk_rename() implementation on platforms which do not need
    the rk_rename since it is not used on those platforms.
    
    Note: This fix also avoids a recursive rename(). As currently implemented, the
    rk_rename() function is redefined to rename() within the roken/rename.c module
    when RENAME_DOES_NOT_UNLINK is not defined. This can mask the standard library
    rename() and leads to a recursive call to rename().
    
    Change-Id: I47a1fcd21939b161aaa7df7ffab26dc84e7b75ed
    Reviewed-on: https://gerrit.openafs.org/12091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 40dfd90a9f29ea56a871449172f809c4ae3cd4f6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 6 11:33:48 2015 -0500

    externalize log rotation
    
    Do not create new server log files when servers are restarted by
    default.  External log rotation tools may be used to rotate the logs by
    renaming log files and then signaling server processes to reopen
    log files.
    
    Add the -transarc-logs option to each server to provide backward
    compatibility with the traditional Transarc-style logging.  When
    -transarc-logs is given, log files are renamed to an ".old" file
    (overwriting the existing ".old" file) and the previous the log file is
    truncated.
    
    Change-Id: I2eeb67e3db32b2f75fe685b68dab1159e62061e9
    Reviewed-on: https://gerrit.openafs.org/11731
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 79c8b36e11073c40fde2918ae9ee80cc5c3b8efe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 6 10:56:43 2015 -0500

    util: reopen server logs on SIGUSR1 for external log rotation
    
    Claim the SIGUSR1 signal for reopening server log files.  A server
    process will reopen the log file when the SIGUSR1 signal is received.
    If the log file does not exist, the server process will create a new,
    empty log file.
    
    This allows external log rotation programs to rotate log files by
    renaming an existing log file then sending a SIGUSR1 signal to the
    corresponding server process.  Any messages written to the log after the
    log file was renamed but before the SIGUSR1 signal is received will
    continue to be written to the renamed log file.  The server process will
    write messages to the new log file after handling the SIGUSR1 signal.
    
    The SIGUSR1 signal is used to reopen the log file instead of the more
    commonly used SIGHUP signal, since SIGHUP is already used for resetting
    the logging level.
    
    The retirement of Linux 2.4 support, in particular the desupport of
    LinuxThreads, in commit ccf353ede6ef5cce7c562993d1bea0d20844bdb7 allows
    for the use of SIGUSR1 in OpenAFS.
    
    Change-Id: Ie3ff52ae4986eae30c7420b5f05ff1eacdfe7596
    Reviewed-on: https://gerrit.openafs.org/11727
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5892473c2381b40a2be375a1b04ddae080711e12
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 12 18:54:43 2016 -0500

    util: doxygenate server logging functions
    
    Provide doxygen style comment blocks for the server logging functions
    and module variables.
    
    Change-Id: Iacb49ce5d221f9219290e2479df8fa9a54a88fa7
    Reviewed-on: https://gerrit.openafs.org/12221
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ad455347bc99d1bd499535995958b5f77c2388ff
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 6 17:06:54 2016 -0500

    Remove server logging globals
    
    Remove the global variables used to setup server logging and replace
    with an argument to OpenLog.
    
    Keep the LogLevel variable as a global for use by the logging macros,
    but provide an inline function for applications which check the log
    level to dump more information when the log level is increased.
    
    Provide consistency by adding syslog tags to processes that did not
    previously set one (salvageserver, salvager, and volserver).
    
    [kaduk@mit.edu: update commit message, use old-style log rotation for
    kalog, minor commenting fixes]
    
    Change-Id: I11cffbdd1418304d33f0be02dd7e600955c4a8bb
    Reviewed-on: https://gerrit.openafs.org/12168
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4bfb874d19135e1e5dfe96edbba8e8968cae32b0
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Dec 2 22:56:57 2015 -0600

    Add comment about serverlog locking
    
    The lock protects global state such as the logging FD and the
    syslog-related variables.
    
    Change-Id: I5ea1b6945c10047da14d35b948a6a0ea53b55add
    Reviewed-on: https://gerrit.openafs.org/12123
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a8c9997e93ba0fd36b0b71601157e4a0e9f3b9f5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 5 16:59:52 2015 -0500

    Reopen the correct filename when -logfile is given
    
    The name of the log file passed to ReOpenLog() may not match the name
    given in the initial OpenLog() call. This can happen when the -logfile
    option is given to the fileserver or volume server.
    
    Since the name given to ReOpenLog() must match the original name, change
    ReOpenLog() to use the name previously given to OpenLog() and update all
    callers.
    
    Change-Id: Ie6fa4cb6e3c03f853efe0207bbec5d8412c6fe59
    Reviewed-on: https://gerrit.openafs.org/11723
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d92ef173bc6ab7dd85bd2cbadbb2a089a9d4bacf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Feb 4 12:19:32 2015 -0500

    util: always reopen the log file
    
    Reopen the log file even if the filename exists. This fixes the
    situation where an external program moves or deletes the log
    file, then creates a new file with the same log file name.
    
    Change-Id: I3b98d6fc0d05c7ab231f84e9a271f925506ab51f
    Reviewed-on: https://gerrit.openafs.org/11725
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 02b228bc4c778645efbbc3d3bb12586a0424c1cd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 5 10:47:32 2015 -0500

    util: refactor OpenLog and ReOpenLog
    
    Non-functional changes and cleanups in preparation for fixes and
    enhancements.
    
    Move the duplicated code to redirect the stdio/stderr streams to a common
    static function.  Add a helper function to check for named pipes.  Move the
    code to rename files when opening logs to a separate static function.
    
    Change-Id: I5b56b80a7e799b6605cfad7b58ac8249ac93acc8
    Reviewed-on: https://gerrit.openafs.org/11721
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ac5346b3612e4f7dc3f97a57990959794b18c3a7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Dec 20 22:11:23 2015 -0600

    util: Remove undocumented magic of mrafs-style logs
    
    The MR-AFS-style logs would always include the thread number in
    log entries with the timestamp; now that we are trying to rebrand
    this feature as "timestampped logs", having this bonus feature
    is unexpected.
    
    Thread ids are still used at higher log levels, as enabled by SIGTSTP.
    
    Change-Id: Ie8c276e47a34d729ccce685ddf27bfa9e7a8f9f1
    Reviewed-on: https://gerrit.openafs.org/12136
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4b698db3198d30aa1cf1028d3cb7856211792f18
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 5 15:42:16 2015 -0500

    util: fix file descriptor leak in mrafs-style logging
    
    When MR-AFS style logging is in effect, the SIGHUP signal handler will rename
    then create a new, empty server log file to support log rotation.
    
    Unfortunately, the old log file descriptor is not closed, so each SIGHUP
    signal will leak one file descriptor.
    
    Be sure to close the current log file descriptor before opening the log again.
    The OpenLog() routine will move the current log file to a new file, with a
    timestamp string appended to the log file, then open the server log file with
    truncate flag to start a new log file.
    
    Change-Id: Ic3f29607fa50ed868b9245865e375dedde438471
    Reviewed-on: https://gerrit.openafs.org/11722
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit db74758924b4d889e1c713a46be898d47f4ae6a9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 13 17:27:59 2016 -0400

    util: fix log file renaming of mrafs-style logs
    
    Do not make timestamped log files with an invalid number of seconds when
    renaming old mrsafs-style log files, i.e., more than 59 seconds in the
    seconds field.
    
    Replace the goto used in the mrafs-style make file name retries with a
    regular, bounded loop.
    
    Change-Id: I16d032197e4b1e227b1f005fbc395a013e099561
    Reviewed-on: https://gerrit.openafs.org/12220
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 721c3737c7f308c777a7f05cf014e4502c607eb2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Feb 4 20:53:52 2015 -0500

    util: remove unused printLocks variable from mrafs-style logs
    
    Remove the unused printLocks variable, which was added in commit,
    86f1dc2117e6b6c8abb55ccbc8621743969b8996 "mrafs-server-log-handling-20010212"
    but never used.
    
    Change-Id: I64459cf93e86352ef16d9526e46847cbb4997f10
    Reviewed-on: https://gerrit.openafs.org/11719
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 340ec2f79208ee21c3130c4b1c13995947ce426c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 14 16:09:56 2016 -0400

    util: allocate log filename buffers
    
    Allocate the ourName buffer to save the log filename during OpenLog(),
    instead of trying to copy the log filename to a fixed size buffer.
    Deallocate this buffer when the log is closed with CloseLog().  Save the
    log file name even when MR-AFS style logging is not effect to allow
    ReOpenLog() to use the saved filename in a later commit.
    
    Dynamically allocate a buffer when formatting a file name for log
    rotation instead of using a fixed size buffer on the stack.  Allocate
    the buffer for both traditional Transarc-style log file renaming
    (appending ".old" to the log filename) and the MR-AFS style logging
    (appending a timestamp to the log filename).
    
    Change-Id: Ie217a93b271b48ccfc7b5244ad3a8c949d55ef54
    Reviewed-on: https://gerrit.openafs.org/12219
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1a72f4a917f14c97ab067eb303252e3244cb59d1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 13 16:55:48 2016 -0400

    util: open mrafs-style logs with O_APPEND too
    
    Commit b71a041364d28d6a56905a770cd20d1497ee26ec added the O_APPEND flag when
    opening the log file to allow sites to use logrotate's "copy and truncate"
    feature.
    
    Add the O_APPEND to MR-AFS style logs as well so MR-AFS style logs can also be
    handled correctly with logrotate, we have consistent open flags, and can remove
    a duplicate call to open the log file descriptor.
    
    Change-Id: I8370838e1e2c7ddaa042508d6b9cbe1299339f68
    Reviewed-on: https://gerrit.openafs.org/12218
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 22da8ad7afa12313efdfba4eb6118c3496906275
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Feb 1 16:53:26 2015 -0500

    util: remove obsolete SETVBUF_REVERSED
    
    Commit 8af5762909714367c1cc764b3f491c06c2bcd5d0 "Clean up some
    obsolete Autoconf code" removed the obsolete autoconf check
    AC_FUNC_SETVBUF_REVERSED and one use of the results, but
    overlooked another instance; remove it.
    
    Change-Id: Id62a2a96b911c0d16d51d8cce0966ae3736bde87
    Reviewed-on: https://gerrit.openafs.org/11718
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5e49cb98ac09b85d830f443a4c006d91764d2e35
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 3 21:07:34 2015 -0500

    util: always initialize the server log mutex
    
    Be sure to always initialize the server log mutex. Use pthread_once to
    ensure the mutex is initialized only once.
    
    Before this change the server log mutex was not properly initialized
    with pthread_mutex_init when logging to the syslog.
    
    Change-Id: Ief2ee6b373f7309bc05061f7413b6ff623b86e31
    Reviewed-on: https://gerrit.openafs.org/11717
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 661f73beeb8cc61c24e1d53003d310e835c48a45
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 12 18:12:06 2015 -0400

    util: fix server log fd validity checks
    
    Do not assume the server log file descriptor cannot be zero.
    
    Thanks to Chas Williams for spotting this bug.
    
    Change-Id: I0d264828926bf8cd765b45db4e529233b8686404
    Reviewed-on: https://gerrit.openafs.org/11797
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ee1e344cef437dd43610cd421e80df2f21001b80
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 2 17:22:16 2015 -0400

    util: remove util/softsig
    
    Remove the old util/softsig implementation, which has been replaced by
    opr/softsig.
    
    Change-Id: Ie32f04129dd0b09a8baf9f6739abf53fbf1b98eb
    Reviewed-on: https://gerrit.openafs.org/11998
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 83fcf5d69800f6ba3c5733cb8cc0007f8b2c9dbc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 2 16:33:46 2015 -0400

    ptserver: convert the ptserver to opr softsig
    
    Convert the ptserver from regular signal handling to the opr soft
    signal handling when built with pthreads. This makes it safe to call
    pthread functions within signal handlers.
    
    Change-Id: I43d345517c75e275d6896154a979a908181a1f39
    Reviewed-on: https://gerrit.openafs.org/11997
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 803d15b6aa1e65b259ba11ca30aa1afd2e12accb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 2 16:32:54 2015 -0400

    vlserver: convert the vlserver to opr softsig
    
    Convert the vlserver from regular signal handling to the opr soft
    signal handling when built with pthreads. This makes it safe to call
    pthread functions within signal handlers.
    
    Change-Id: Ic9bd841c4796bd64b603505541da7e767afda83e
    Reviewed-on: https://gerrit.openafs.org/11996
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e0d7f9b591db66fd33b7e98f669b2e4ff9decf1c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 2 16:28:43 2015 -0400

    volser: convert the volume server to opr softsig
    
    Convert the volume server from regular signal handling to the opr soft
    signal handling when built with pthreads. This makes it safe to call
    pthread functions within signal handlers.
    
    Change-Id: I25b9a9184c526f4ce9b6e2abb25ae9135cc97ec6
    Reviewed-on: https://gerrit.openafs.org/11995
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 093fdd6c4cdaeb31a2d9078bd0db5b2e1030b335
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 31 16:40:40 2016 -0400

    viced: convert the fileserver to opr softsig
    
    Convert the fileserver from the obsolete softsig routines to the modern opr
    softsig routines for pthreaded programs.
    
    Change-Id: I9e98e402f73ebca05fcaf0f852055b9a5ad93632
    Reviewed-on: https://gerrit.openafs.org/11994
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 97d02926d3d82bf49ad0f53b85c186e0c6a96530
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jun 29 11:03:16 2015 -0400

    viced: remove old signal handler wrappers
    
    Remove remnants of old lwp thread signal handler wrapper functions from
    the fileserver. The lwp softsig handlers required a function which was
    passed a void pointer argument and returned a void pointer.  Tidy the
    code by removing the unneeded wrappers and use the signal handler
    functions directly.
    
    Change-Id: I3d52efe659b03ee9a9484ec7a9d74404f1970278
    Reviewed-on: https://gerrit.openafs.org/11921
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b5c2d7d3d574514fd8d4c602f8b01cb7bfa41091
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 31 16:39:48 2016 -0400

    util: softsig version of function to setup logging signal handlers
    
    Provide a new routine to setup the server log signals which registers
    soft signal handlers for the common log management signals (SIGTSTP and
    SIGHUP). Keep the old SetupLogSignals() routine around while lwp still
    exists.
    
    Change-Id: Ic9151c7ad25528e8e4008a4567836e4196cbe8c3
    Reviewed-on: https://gerrit.openafs.org/12238
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 524d92b497e525bb7bc0929385e722a0c4157890
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 31 16:38:29 2016 -0400

    Windows: opr_softsig.h
    
    Make the opr softsig header file available in the windows builds
    so it can be included unconditionally in the code base.
    
    Change-Id: I19a75ce060e20b525d83ec5bed42d3168362d852
    Reviewed-on: https://gerrit.openafs.org/12237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 22030429fc680959d4d222f20b0756b82eb56d4c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 31 16:37:42 2016 -0400

    procmgmt: wrappers for softsig handlers
    
    Provide procmgmt wrappers for Windows environments which match the opr_softsig
    functions. This allows builds of the windows servers continue to use the
    existing process management signal handling functions, without introducing
    additional conditional compilation in the server code.
    
    Change-Id: I0ac287bde294996fb7f32c19370f2992a0af2a58
    Reviewed-on: https://gerrit.openafs.org/12236
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 24fed351fd13b38bfaf9f278c914a47782dbf670
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 9 21:26:23 2015 -0400

    salvager: convert salvager and salvagerserver to libutil logging
    
    Use the libutil logging facility in the salvager and DAFS salvageserver
    in order to have consistent logging features and time stamp formats with
    the other OpenAFS servers.
    
    Change-Id: I8352d7e16b4a9f96b814a3b5c0b3b79a7c48e4bc
    Reviewed-on: https://gerrit.openafs.org/12003
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9c6e6d4c34d867639ac90ba9a46084f3700b57d1
Author: Jonathon Weiss <jweiss@mit.edu>
Date:   Fri Apr 15 19:29:58 2016 -0400

    Find Tivoli TSM headers in 64 bit location
    
    When building with --enable-tivoli-tsm locate the Tivoli TSM headers
    if they are installed in the path used by the 64 bit Tivoli TSM
    installation.
    
    Change-Id: I4f114a4ada1babcbe1e52f451f10e78d861b7fd0
    Reviewed-on: https://gerrit.openafs.org/12258
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5c136c7d93ed97166f39bf716cc7f5d579b70677
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 27 13:06:05 2015 -0400

    afs: shake harder in shake-loose-vcaches
    
    Linux based cache managers will allocate vcaches on demand and
    deallocate batches of vcaches in the background. This feature is called
    dynamic vcaches.
    
    Vcaches to be deallocated are found by traversing the vcache LRU list
    (VLRU) from the oldest vcache to the newest. Up to a target number of
    vcaches are attempted to be evicted.  The afs_xvcache lock protecting
    the VLRU may be dropped and re-acquired while attempting to evict a
    vcache. When this happens, it is possible the VLRU may have changed, so
    the traversal of the VLRU is restarted.  This restarting of the VLRU
    transversal is limited to 100 iterations to avoid looping indefinitely.
    
    Vcaches which are busy cannot be evicted and remain in the VLRU. When a
    busy cache was not evicted and the afs_xvache lock was dropped, the VLRU
    traversal is restarted from the end of the VLRU. When the busy vcache is
    encountered on the retry, it will trigger additional retries until the
    loop limit is reached, at which point the target number of vcaches will
    not be deallocated.
    
    This can leave a very large number of unbusy vcaches which are never
    deallocated.  On a busy machine, tens of millions of unused vcaches can
    remain in memory. When the busy vcache at the end of the VLRU is finally
    evicted, the log jam is broken, and the background deamon will hold the
    afs_xvcache lock for an excessively long time, hanging the system.
    
    Fix this by moving busy vcaches to the head of the VLRU before
    restarting the VLRU traversal. These busy vcaches will be skipped when
    retrying the VLRU traversal, allowing the cache manager to make progress
    deallocating vcaches down to the target level.
    
    This was already done on the mac osx platform while attempting to evict
    vcaches. Move the code to move busy vcaches to the head of the VLRU up
    the the platform agnostic caller.
    
    Thanks to Andrew Deason for the initial version of this patch.
    
    Change-Id: I7768d00604e56d8d5369ac5215f7c2ab7996c4eb
    Reviewed-on: https://gerrit.openafs.org/11654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 961875cbedc2c91cdba6dc34a43c6136ea9797fb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 25 18:49:20 2016 -0500

    LINUX: hold vcache while dropping dcache refs
    
    Hold a reference on a vcache while attempting to evict the inode from
    the dcache. Since the afs_xvcache lock is dropped, it could be possible
    for the vcache to be flushed during this time, making it unsafe to use
    the vcache after the eviction attempt.
    
    Change-Id: I9d91db98387b7aaa986ed915420c6cafb4f12438
    Reviewed-on: https://gerrit.openafs.org/12206
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3609ebcfa3f70ca7612364c0cc2345b1d7f1096b
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Apr 7 10:58:30 2016 +0200

    Linux: Fix misleading indentation and other whitespace
    
    Commit 7edc6694e7632c9736bd1516935604a638165313 introduced a
    misleading indentation of a line in afs_linux_prefetch. Correct
    it, and once here remove trailing whitespace throughout the file.
    
    Change-Id: Idab888bb72c782bfd25c7fc81316eb1b65c0d128
    Reviewed-on: https://gerrit.openafs.org/12253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 808b156bd890cd78dc59b443b4ebe32e98d440d4
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Apr 5 12:53:48 2016 -0500

    Fix typo in cm_dcache.c
    
    Commit b85c5f9339e20d3de9b1316217dadbea41ad537e introduced a new
    memset() but left out a prenthesis.
    
    In the absence of a windows build machine, this error went unnoticed.
    
    Reported by Mark Vitale.
    
    Change-Id: Ie250163029132896cd70dc822c6170913e83dafe
    Reviewed-on: https://gerrit.openafs.org/12241
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a3fa6dabf481cf0e79bdddaab315e801f213a46b
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Mon Mar 28 15:50:16 2016 -0300

    doc: add missing angle bracket
    
    The options -logfile and -config should be enclosed
    by angle brackets.
    
    Change-Id: I9e5767b7e43753b37dbc8d86c5346c778f8bab8d
    Reviewed-on: https://gerrit.openafs.org/12233
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ae5f411c3b374367ab8ae69488f78f8e0484ce48
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Tue Mar 8 14:15:17 2016 +0100

    Linux 4.4: Do not use splice()
    
    splice() may return -ERESTARTSYS if there are pending signals, and
    it's not even clear how this should be dealt with. This potential
    problem has been present for a long time, but as of Linux 4.4
    (commit c725bfce7968009756ed2836a8cd7ba4dc163011) seems much more
    likely to happen.
    
    Until resources are available to fix the code to handle such errors,
    avoid the riskier uses of splice().
    
    If there is a default implementation of file_splice_{write,read},
    use that; on somewhat older kernels where it is not available,
    use the generic version instead.
    
    [kaduk@mit.edu: add test for default_file_splice_write]
    
    Change-Id: Ib4477cdfb2cd0f49f516da75edc3cb9d1a8817dc
    Reviewed-on: https://gerrit.openafs.org/12217
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 58d82226a555d3781a5cb45e5cc177727628ebd8
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Mon Jan 18 19:58:00 2016 +0100

    Linux 4.4: Use locks_lock_file_wait
    
    The locks API was changed in Linux 4.4, introducing locks_lock_file_wait
    (e55c34a66f87e78fb1fc6b623b78c5ad74b475af) and removing
    flock_lock_file_wait (616fb38fa7a9599293e05ae1fa9acfaf73922434).
    
    locks_lock_file_wait can be used as a drop-in replacement so define
    flock_lock_file_wait as an alias for it.
    
    Change-Id: Iba89a43c651737c86cbf519a933289d97c25a467
    Reviewed-on: https://gerrit.openafs.org/12170
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5067ee3ae11932a3f1c972c8f88b20afbd9e1d88
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Mon Jan 18 18:29:00 2016 +0100

    Linux 4.4: key_payload has no member 'value'
    
    In Linux 4.4 (146aa8b1453bd8f1ff2304ffb71b4ee0eb9acdcc) type-specific and
    payload data have been merged. The payload is now accessed directly and has
    no 'value' member anymore.
    
    FIXES 132677
    
    Change-Id: Id26c40c80314a0087ecc0735029412787058ef07
    Reviewed-on: https://gerrit.openafs.org/12169
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 279f9c54b4ccd8a55812ac8423a153d5c2deb0ab
Author: Chas Williams <3chas3@gmail.com>
Date:   Mon Nov 23 14:19:38 2015 -0500

    Remove automated casting in rxgen
    
    We should let the compiler warn us when we attempt to convert types that
    should not be converted.
    
    Change-Id: Ie9f5f6ab5d5978bbe5e741b1a20bfb4d36fb314c
    Reviewed-on: https://gerrit.openafs.org/12116
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9823c576229f74fe4c308b5164149873e0fddbaf
Author: Chas Williams <3chas3@gmail.com>
Date:   Mon Nov 23 14:15:08 2015 -0500

    rxgen: Don't use size_t in struct rx_opaque with XDR
    
    OpenAFS's XDR doesn't support size_t at this time.  For now, use a
    temporary stack variable to avoid 32/64-bit issues and copy back the
    returned value upon success.
    
    Change-Id: Ia3dd8abd665a19e04aa611f940728d088a8f87b7
    Reviewed-on: https://gerrit.openafs.org/12115
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5aa6d4a26a5b84389ecb22bc8c6cd69dee8e4ca4
Author: Chas Williams <3chas3@gmail.com>
Date:   Mon Nov 23 12:29:31 2015 -0500

    Refactor printing arguments to the xdr routines
    
    This makes some future changes a bit easier to read and implement.
    
    Change-Id: I48eafa67659739865f43a0bcfe1f8a897a7a8940
    Reviewed-on: https://gerrit.openafs.org/12114
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f99c1ec32bb6e8d31ac517173ff7502dbd85aa05
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 18 10:22:33 2016 -0400

    doc: fs examine no longer requires read rights on the volume root vnode
    
    Update the man page to reflect the current access rights required for fs
    examine.  Historically, fs examine required read access on the root
    vnode of the volume housing the directory or file being examined.  This
    access check was relaxed in commit d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a,
    since the information returned by the file server is already available
    anonymously by other means.
    
    Change-Id: If62b625bce8a260b98fb56a6feec49c674f2de53
    Reviewed-on: https://gerrit.openafs.org/12223
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 02a393de6b30a500b77f276011c70d41eff363b5
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 16 16:16:49 2016 -0500

    Add param files for FreeBSD 10.2, 10.3
    
    FreeBSD 10.3 is in the beta stage now; better get ready for it.
    
    Change-Id: I2a6b6144916f13768bfad27af5eb5340e039939b
    Reviewed-on: https://gerrit.openafs.org/12222
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e63c2570f9d95bee7c7a00dd578a6971c6e733b9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 14 23:15:20 2016 -0500

    OPENAFS-SA-2016-002 ListAddrByAttributes information leak
    
    The ListAddrByAttributes structure is used as an input to the GetAddrsU
    RPC; it contains a Mask field that controls which of the other fields
    will actually be read by the server during the RPC processing.
    Unfortunately, the client only wrote to the fields indicated by the
    mask, leaving the other fields uninitialized for transmission on the
    wire, leaking some contents of client memory.
    
    Plug the information leak by zeroing the entire structure before use.
    
    FIXES 132847
    
    Change-Id: I9ccf814ceff206ddb3a74da97dc50b7e1e3c2014

commit c12b3fee2fabd92c57d92fc945d70acba9f53ab3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 14 23:15:20 2016 -0500

    OPENAFS-SA-2016-002 VldbListByAttributes information leak
    
    The VldbListByAttributes structure is used as an input to several
    RPCs; it contains a Mask field that controls
    which of the other fields will actually be read by the server
    during the RPC processing.  Unfortunately, the client only
    wrote to the fields indicated by the mask, leaving the other
    fields uninitialized for transmission on the wire, leaking
    some contents of client memory.
    
    Plug the information leak by zeroing the entire structure before use.
    
    FIXES 132847
    
    Change-Id: I14964e98a57ba6ef060c6e392497f1ebd3afe042

commit 67646c7c901a1f346d78666f432b673c5b341380
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 14 23:15:20 2016 -0500

    OPENAFS-SA-2016-002 AFSStoreVolumeStatus information leak
    
    The AFSStoreVolumeStatus structure is used as an input to the
    RXAFS_SetVolumeStatus RPC; it contains a Mask field that controls
    which of the other fields will actually be read by the server
    during the RPC processing.  Unfortunately, the client only
    wrote to the fields indicated by the mask, leaving the other
    fields uninitialized for transmission on the wire, leaking
    some contents of kernel memory.
    
    Plug the information leak by zeroing the entire structure before use.
    
    FIXES 132847
    
    Change-Id: Ib309e6b00b95bc4178740352899d7f940f2eb1ea

commit b85c5f9339e20d3de9b1316217dadbea41ad537e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Mar 13 12:56:24 2016 -0500

    OPENAFS-SA-2016-002 AFSStoreStatus information leak
    
    Marc Dionne reported that portions of the AFSStoreStatus structure
    were not written to before being sent over the network for
    operations such as create, symlink, etc., leaking the contents
    of the kernel stack to observers.  Which fields in the request
    are used are controlled by a flags field, and so if a field was
    not going to be used by the server, it was sometimes left
    uninitialized.
    
    Fix the information leak by zeroing out the structure before use.
    
    FIXES 132847
    
    Change-Id: I84a5a10442732ebbcb5d5067ca22030fb795168b

commit d853866c56a114616ecb68f06a914aaea0e5c7c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 9 20:38:10 2016 -0600

    OPENAFS-SA-2016-001 group creation by foreign users
    
    CVE-2016-2860:
    
    In AFS 3.3 as part of the addition of the cross-cell support for foreign
    user auto-registration a bug was introduced that permits foreign users
    to create arbitrary groups as if they were system administrators.  This
    permits the groups to be created without any group quota checks, and
    using group names that non-administrators would not normally be able to
    create, such as groups with the "system:" prefix or groups with no colon
    (that is, in the namespace for users).
    
    Additionally, all entries created using the auto-registration service
    were marked as being created by system:administrators.  This behavior
    should not be changed on the stable release branch, but for the next
    release the behavior will change to show these entries as being
    self-created, to better reflect reality.
    
    FIXES 132822
    
    [kaduk@mit.edu: reword commit message, minor style adjustments]
    
    Change-Id: I54ddca3e4e1339f76ed320f0d6c53d8820aed89c

commit e3bb92c2a0883ae2922ac6019eed543201dbc2ec
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 9 22:34:55 2016 -0600

    ptserver: fix pt_util creation of groups
    
    In commit 53ac98931adf9f04c150d9bc084cae31f3913476 the adjustment of
    owner id was moved from CreateEntry() into CreateGroupName().  This was
    done for two reasons:
    
     1. to reuse the computation of "is administrator" within
        CreateGroupName() in order to permit the owner id to be set
        to the invalid values 0 and ANONYMOUSID.
    
     2. to allow the owner id to be altered in ChangeEntry().
    
    Unfortunately, CreateEntry() needs to be able to alter the owner id
    when creating users not only groups.
    
    This change moves the computation of "is administrator" and the
    owner id assignment to CreateEntry() and ChangeEntry().
    
    Change-Id: I0d37f5a43ea5919d1bbc3ba6d82b2924ab38befc

commit b702ab5da216976ed01ad3b1c474ecd4cc522ff2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Feb 24 16:57:11 2016 -0500

    LINUX: ifconfig is deprecated
    
    ifconfig is deprecated and is no longer installed by default on RHEL 7 and
    Centos 7. Use the replacement ip command in the init script for linux.
    Fallback to ifconfig in the event the ip command is not available.
    
    Thanks to Ben Kaduk for pointing out the hash built-in command.
    
    Change-Id: I7ffe272eb712cd83a70a7d880d239f72b40cb5df
    Reviewed-on: http://gerrit.openafs.org/12192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d833ba768064a32a19c6b0b94ffb0d8a3a40a089
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 27 06:36:59 2014 -0400

    DAFS: large volume support - fileserver crash after "addled bitmap"
    
    Any DAFS fileserver operation that allocates a new vnode but fails
    to update the vnode index will crash:
    
    "Fatal Rx error: assertion failed: --vp->nWaiters >= 0,
                                    file: ../vol/volume.c, line: nnnn"
    
    Note: This crash was exposed by other bugs (to be addressed in future
    commits) in OpenAFS large volume support.  However, there may
    be other failure paths (unrelated to large volumes) that expose
    this error as well.
    
    When VAllocVnode() must allocate a new vnode but fails while
    updating the vnode index file (e.g. an "addled bitmap" due to other
    bugs in working with a vnode index larger than 2^31 bytes), it branches
    to common recovery logic at label error_encountered:.
    
    Part of this recovery is to call VFreeBitmapEntry_r().  Commit
    08ffe3e81d875b58ae5fe4c5733845d5132913a0 added a VOL_FREE_BITMAP_WAIT
    flag to VFreeBitmapEntry() in order to prevent races with VAllocBitmapEntry().
    If the caller specifies VOL_FREE_BITMAP_WAIT, VFreeBitmapEntry_r will
    call VCreateReservation_r() and VWaitExclusiveState_r().  However, the
    exit from VFreeBitmapEntry_r() calls VCancelReservation_r() unconditionally.
    This works correctly with the majority of callers to VFreeBitmapEntry_r,
    which do specify the VOL_FREE_BITMAP_WAIT flag.
    
    However, the VAllocVnode() error_encountered logic must specify 0 for
    this flag because the thread is already in an exclusive state
    (VOL_STATE_VNODE_ALLOC).  This correctly causes VFreeBitmapEntry_r() to
    forgo both the reservation and wait-for-exclusive-state.  However, before
    exit it erroneously calls VCancelReservation_r().  We now have unbalanced
    reservations (nWaiters); this causes an assert when the VAllocVnode()
    error_encountered recovery code later calls VCancelReservation_r()
    for what it believes is its own prior reservation.
    
    Modify VFreeBitmapEntry_r() to make its final VCancelReservation_r()
    conditional on flag VOL_FREE_BITMAP_WAIT.
    
    Change-Id: Id6cf6b1279b11e6dfc4704bba5739912f663beca
    Reviewed-on: http://gerrit.openafs.org/11983
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@auristor.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cc79ca882d180fddadb785f65279c4340210d5d0
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sat Jul 18 01:12:51 2015 -0400

    bozo: allow start of fs and dafs bnodes with options
    
    fs_create() and dafs_create() issue stat() to verify
    the existence of each executable specified in the bnode.
    However, commit fda2bc874751ca479365dc6389c0eebb41a0bda1
    inadvertently removed the code that stripped any command
    arguments before the stat().  Therefore, any bnode that
    specifies arguments (e.g. /usr/afs/bin/dafileserver -d 5),
    causes the stat() to fail and the bnode will not start.
    
    Rename function AppendExecutableExtension() to a less
    "window-ish" name: PathToExecutable().
    
    Modify the Windows version of PathToExecutable()
    to properly strip arguments.
    
    Reimplement the Unix macro as function PathToExecutable()
    that properly strips arguments.
    
    Change-Id: I04f7ce2afb8211bd12b9063db1335738bff1cc1e
    Reviewed-on: http://gerrit.openafs.org/11934
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 44349d0694c7a185fae4c55c75cb01196d109a26
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Feb 16 14:55:03 2016 -0500

    viced: incorrect FID audit of BulkStatus and InlineBulkStatus
    
    The audit code for object AUD_FIDS is off by one - we list the
    first FID twice and skip the last FID.
    
    Repair so all FIDs are properly audited.
    
    Change-Id: I99f4687e25031eb26ccd7e07b732217b098005de
    Reviewed-on: http://gerrit.openafs.org/12191
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c0876aa6b5edb2796330d786660ed4f2075a1fcf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 8 10:10:32 2016 -0500

    test: skip buserror test when SIGBUS is not defined in perl POSIX module
    
    Older versions of the perl POSIX module do not define the SIGBUS symbol, which
    causes the opr/softsig-t perl test to fail to compile.  Instead of trying to
    defined SIGBUS, which may be platform dependent, skip the buserror unit test on
    these older platforms.
    
    Change-Id: Ib8cfd77215ea43566e9d47b501d4989556b83734
    Reviewed-on: http://gerrit.openafs.org/12186
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 378eae1d534d61d357a0ad681b57b5e203f814ad
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 8 12:12:22 2016 -0500

    CellServDB update 01 Jan 2016
    
    Update all remaining copies of CellServDB in the tree, and make the
    Red Hat packaging use it by default too.
    
    Change-Id: Idf9d97151b8e9075fefa7aece58fd023bfd857ff
    Reviewed-on: http://gerrit.openafs.org/12187
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ed52d65fe98549e13023e0a8997da479b626085a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 30 12:20:10 2015 -0500

    volser: detect eof in dump stream while reading acl
    
    Detect an EOF condition while reading the ACL in a dump stream
    and return a restore error, instead of filling the ACL with
    0xFF and then failing the restore due to an invalid tag.
    
    Change-Id: If7a71946c81f47ac68ed2f7afdfca1023bad3baf
    Reviewed-on: http://gerrit.openafs.org/11703
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 97150150e6d12cbbc0c4a5af3424c9bf1e56918c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 22 14:23:49 2015 -0600

    cellconfig: check for invalid dotted quads
    
    IP addresses entered into the CellServDB with components larger
    than 255 would silently be trucated down to 8-bit unsigned integer
    representations.  This could cause confusing behavior with
    occasional hangs.
    
    FIXES 131794
    
    Change-Id: I44834cb4662e178fdb4be2eeb03ad58d2fa7c556
    Reviewed-on: http://gerrit.openafs.org/12109
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 11845765c75a2f15404ac55a882358c3f88595b9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 11 20:51:09 2015 -0500

    afs: Log abnormally large chunk files
    
    Any chunk in our cache for a regular file should be smaller than or
    equal to our configured chunksize. If someone sets a chunk to be
    larger than that, it is very strange and may cause other confusing
    issues. Specifically, afs_DoPartialWrite determines if our cache is
    "too full" by counting the number of dirty chunks. If we have a dirty
    chunk that is much larger than the chunksize, it can throw off the
    afs_DoPartialWrite calculation.
    
    This is only true for dcaches backing regular files, though. For
    directories, we fetch the entire directory into a single chunk file,
    and the size of a directory blob can easily exceed the chunksize
    without issues. The aforementioned issue with afs_DoPartialWrite does
    not apply, since directory chunks cannot be dirty (we only locally
    modify the chunk if we modify the dir on the server, and the DVs
    match).
    
    Anyway, it should not be possible to get a chunk for a regular file
    larger than the chunksize. Log a message if it does occur, to help
    assist anyone in tracking down issues when this does occur.
    
    [mmeffie@sinenomine.net remove unnecessary casts in afs_warn args.]
    
    Change-Id: I5cf58e3659dc04255c62fa56b044d5bc1c7ce877
    Reviewed-on: http://gerrit.openafs.org/11831
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 775b8873f45ef563b5caaae9911acd91232f9966
Author: Chas Williams <3chas3@gmail.com>
Date:   Sat Apr 25 16:53:43 2015 -0400

    opr: Use opr_Assert() instead of silently failing
    
    These routines should never be passed a NULL.  If this happens it
    is a serious issue that needs to be addressed.
    
    Change-Id: I9728dcd67bc9f8e9927bed1674fc0ee83567df1a
    Reviewed-on: http://gerrit.openafs.org/11853
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 04661c4139b3f0bc7d44a43160c9a0ac1405ca5e
Author: Chas Williams <3chas3@gmail.com>
Date:   Sat Apr 25 16:38:12 2015 -0400

    opr: Disable some warnings during opr assertions
    
    Detect _Pragma(), a C99 extension for inline #pragma's, and use it to
    disable to certain warnings during the use of opr_Verify() and
    opr_Assert().
    
    Because some versions of clang support _Pragma, do not have support
    for -Wtautological-pointer-compare, and do set -Werror and -Wunknown-pragmas,
    we must explicitly check for pragma support for -Wtautological-pointer-compare
    as well.
    
    Change-Id: Id3d5ee347f320a366a0571572b58414aa7044bf7
    Reviewed-on: http://gerrit.openafs.org/11852
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5fbf45b56298aa5a93cf9015f2d6346c7a0f615c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 9 21:26:25 2015 -0500

    afs: Log weird 'size' fetchdata errors
    
    There are a couple of situations that should never happen when issuing
    a fetchdata, but cause errors when they do:
    
     - The fileserver responds with more than 2^32 bytes of data
     - The fileserver responds with more data than requested (but still
       smaller than 2^32)
    
    While these should normally never be encountered, it can be very
    confusing when they do, since they cause file fetches to fail. To give
    the user or investigating developer some hope of figuring out what is
    going on, at least log a warning in these situations, to at least
    indicate this is the area in which something is breaking.
    
    Only log these once, in case something causes these conditions to be
    hit, e.g., every fetch. Once is at least enough to say this is
    happening.
    
    [mmeffie@sinenomine.net remove unneeded casts in afs_warn args and
    explicit static initializers.]
    
    Change-Id: I7561a9ecc225386f9b140e633912b900c591a9bb
    Reviewed-on: http://gerrit.openafs.org/11830
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c0f52c3a3d76059c9d8b2df3374df844d8d6861b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 7 22:10:53 2015 -0500

    afs: Fix fetchInit for negative/large lengths
    
    Currently, the 'length64' variable in rxfs_fetchInit is almost
    completely unused (it just goes into an icl logging function). For the
    length that we actually use ('*alength'), we just take the lower 32
    bits of the length that the fileserver told us. This method is
    incorrect in at least the following cases:
    
     - If the fileserver returns a length that is larger than 2^32-1,
       we'll just take the lower 32 bits of the 64-bit length the
       fileserver told us about. The client currently never requests a
       fetch larger than 2^32-1, so this would be an error, but if this
       occurred, we would not detect it until much later in the fetch.
    
     - If the fileserver returns a length that is larger than 2^31-1, but
       smaller than 2^32, we'll interpret the length as negative (which we
       assume is just 0, due to bugs in older fileservers). This is also
       incorrect.
    
     - If the fileserver returns a negative length smaller than -2^31+1,
       we may interpret the give length as a positive value instead of a
       negative one. Older fileservers can do this if we fetch data beyond
       the file's EOF (this was fixed in the fileserver in commit
       529d487d65d8561f5d0a43a4dc71f72b86efd975). This positive length
       will cause an error (usually), instead of proceeding without error
       (which is what would happen if we correctly interpreted the length
       as negative).
    
    On Solaris, this can manifest as a failed write, when writing to a
    location far beyond the file's EOF from the fileserver's point of
    view, because Solaris writes can trigger a fetch for the same area.
    Seeking to a location far beyond the file's EOF and writing can
    trigger this, as can a normal copy into AFS, if the file is large
    enough and the cache is large enough. To explain in more detail:
    
    When copying a file into AFS, the cache manager will buffer the dirty
    data in the disk cache until the file is synced/closed, or we run out
    of cache space. While this data is buffering, the application will
    write into an offset, say, 3GiB into the file. On Solaris, this can
    trigger a read for the same region, which will trigger a fetch from
    the fileserver at the offset 3GiB into the file. If the fileserver
    does not contain the fix in commit
    529d487d65d8561f5d0a43a4dc71f72b86efd975, it will respond with a large
    negative number, which we interpret as a large positive number; much
    larger than the requested length. This will cause the fetch to fail,
    which then causes the whole write() call to fail. Specifically this
    will fail with EINVAL on Solaris, since that is the error code we
    return from afs_GetOnePage when we fail to acquire a dcache. If the
    cache is small enough, this will not happen, since we will flush data
    to the fileserver before we have a large amount of dirty data,
    e.g., 3GiB. (The actual error occurs closer to 2GiB, but this is just
    for illustrative purposes.)
    
    To fix this, detect the various ranges of values mentioned above, and
    handle them specially. Lengths that are too large will yield an error,
    since we cannot handle values over 2^31-1 in the rxfs_* framework
    currently.
    
    For lengths that are negative, just act as if we received a length of
    0. Do this for both the 64-bit codepath and the non-64-bit codepath,
    just so they remain identical.
    
    [mmeffie@sinenomine.net: directly use 64 bit comparisons, don't mask
    end call error code, commit nits.]
    
    Change-Id: I7e8f2132d52747b7f0ce4a6a5ba81f6641a298a8
    Reviewed-on: http://gerrit.openafs.org/11829
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3caee7575491c33920b9c84f5dc4098d99373cf6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 9 19:58:51 2015 -0500

    afs: Avoid incorrect size when fetching beyond EOF
    
    Currently, afs_GetDCache contains a couple of calculations that look
    similar to this:
    
        if (position + size > file_length) {
            size = file_length - position;
        }
        if (size < 0) {
            size = 0;
        }
    
    Most of the time, this is fine. However, if 'position' is more than
    2GiB greater than file_length, 'size' will calculated to be smaller
    than -2GiB. Since 'size' in this code is a signed 32-bit integer, this
    can cause 'size' to underflow, and result in a value closer to
    (positive) 2GiB.
    
    This has two potential effects:
    
    The afs_AdjustSize call in afs_GetDCache will cause the underlying
    cache file for this dcache to be very large (if our offset is around
    2GiB larger than the file size). This can confuse other parts of the
    client, since our cache usage reporting will be incorrect (and can be
    even way larger than the max configured cache size).
    
    This will also cause a read request to the fileserver that is larger
    than necessary. Although 'size' will be capped at our chunksize, it
    should be 0 in this situation, since we know there is no data to
    fetch. At worst, this currently can just result in worse performance
    in rare situations, but it can also just be very confusing.
    
    Note that an afs_GetDCache request beyond EOF can currently happen in
    non-race conditions on at least Solaris when performing a file write.
    For example, with a chunksize of 256KiB, something like this will
    trigger the overflow in 'size' in most cases:
    
        $ printf '' > smallfile && printf b | dd of=smallfile bs=1 oseek=2147745793
    
    But there are probably other similar scenarios.
    
    To fix this, just check if our offset is beyond the relevant file
    size, and do not depend on 'size' having sane values in edge cases
    such as this.
    
    Change-Id: Ie36f66ce11fbee905062b3a787871ec077c15354
    Reviewed-on: http://gerrit.openafs.org/11828
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>

commit 4a69d3894c68a52f592b43d3d8d8cb73691f7eee
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jan 21 17:55:37 2016 -0500

    doc: afsd -settime and -nosettime are obsolete
    
    Update the afsd man page -settime and -nosettime options, which are obsolete
    and no longer have any effect.  Use the same wording as the other obsolete
    options in the afsd man page.  Keep the recommendations to use the time keeping
    daemons provided by the operating system to maintain the system time.
    
    Change-Id: I08a1bd5ae0b2d6618b3e212ebcbb98f470e33820
    Reviewed-on: http://gerrit.openafs.org/12175
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f3145b0de0e7718e0ad741ee826764e284fc8b3a
Author: Dave Botsch <botsch@cnf.cornell.edu>
Date:   Wed Oct 28 11:53:26 2015 -0400

    rxinit_status needs to be global for the kext since
    RXK_UPCALL_ENV is defined in src/rx/DARWIN/rx_knet.c
    
    Change-Id: I23b535f0cd6b45c3e186319c4bacf5b6c5a93681
    Reviewed-on: http://gerrit.openafs.org/12073
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bf3707ccbf98f44103171f4a5c6fb5bcd0744bfc
Author: Dave Botsch <botsch@cnf.cornell.edu>
Date:   Wed Oct 28 11:28:01 2015 -0400

    Initial set of changes for El Capitan OS X 10.11 .
    
    Mainly new El Capitan specific config files and defitions of
    Darwin 15 variables and config tests/etc.
    
    Change-Id: I87b926109561f41ee95a2f3f94fbdbcf2903691a
    Reviewed-on: http://gerrit.openafs.org/12072
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 767694d9ec86fc9451f5a4ba2ec7405c29986a21
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 22 18:22:58 2015 -0600

    Fix optimized IRIX kernel module builds
    
    Commit 9f94892f8d996a522e7801ef6088a13769bee7c2 (from 2006)
    introduced per-file CFLAGS, using $(CFLAGS-$@); this construct
    is not parsed well by IRIX make, which ends up attempting to
    expand '$@)' and finding mismatched parentheses.
    
    Commit 5987e2923a2670a27a801461dc9668ec88ed7d2a (from 2007) followed,
    fixing the IRIX build but only for the NOOPT case.  This left the
    problematic expression in CFLAGS_OPT until 2013, when another RT
    ticket was filed reporting the continued breakage.  That ticket
    was then ignored until 2015 (now) with no particular cries of
    outrage on the mailing lists.  Perhaps this gives some indication
    of the size and/or mindset of the IRIX userbase.  (There have
    been successful IRIX installations during this time period, so
    presumably it was discovered that disabling optimizations helped
    the build along.)
    
    FIXES 131621
    
    Change-Id: Id5298103221b016239723aa08ebe0dc54bdadc5e
    Reviewed-on: http://gerrit.openafs.org/12111
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit baa037a14f167b87a83762904eb52efc96baf3f9
Author: Chas Williams <3chas3@gmail.com>
Date:   Thu Dec 24 17:58:32 2015 -0500

    LINUX: don't cache negative entries for dynroot
    
    The dynroot volume lacks any callbacks that would invalidate the directory
    or change the data version.  Further, the data version for the dynroot
    is only updated for when a new cell is found or added (a positive lookup).
    
    Change-Id: If0b022933de7335d3d94aafc77c50b85b99f4116
    Reviewed-on: http://gerrit.openafs.org/12140
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6db49a841784459cf583e914b3f2433ce1e70f4c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Dec 19 01:08:06 2015 -0600

    Typo fix in comment
    
    afsd -shutdown takes only a single dash, as with all cmd-style
    options.
    
    Improve the grammar a bit while we're here.
    
    Change-Id: Ie96c80dba1770e735617e5c93fe3d4c1e3afd3a9
    Reviewed-on: http://gerrit.openafs.org/12133
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 70fd9bc6dcc79cb25e98cdcfd0f085c4bf4f310a
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Dec 29 10:31:43 2015 -0300

    afs: do not allow two shutdown sequences in parallel
    
    Often, ‘afsd -shutdown’ is called right after ‘umount’.
    Both commands hold the glock before calling ‘afs_shutdown’.
    However, one of the functions called by 'afs_shutdown', namely,
    ‘afs_FlushVCBs’, might drop the glock when the global
    'afs_shuttingdown' is still equal to 0. As a result, a scenario
    with two shutdown sequences proceeding in parallel is possible.
    
    To fix the problem, the global ‘afs_shuttingdown’ is used as an
    enumerated type to make sure that the second thread will not run
    ‘afs_shutdown’ while the first one is stuck inside ‘afs_FlushVCBs’.
    
    Change-Id: Iffa89d82278b0df5fb90fc35608af66d8e8db29e
    Reviewed-on: http://gerrit.openafs.org/12016
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a4c4b786059ac7d5f9ecc5ec07727f000b62c13f
Author: Brian Torbich <btorbich@gmail.com>
Date:   Thu Jan 21 10:08:27 2016 -0500

    redhat: Correct permissions on systemd unit files
    
    Change the systemd unit file permissions created via
    openafs.spec to be 0644 instead of 0755.  Having the
    systemd unit files be executable will trigger a systemd
    warning.
    
    FIXES 132662
    
    Change-Id: I9f5111c855941528193aaabeb42bf1b732246a7e
    Reviewed-on: http://gerrit.openafs.org/12174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9ee5fa152b7b7de6a6ddc6ed87bbf9f76da6e3e4
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jun 22 10:44:11 2015 +0200

    redhat: Avoid bogus dependencies when building the srpm
    
    By default the spec defines that both userland and kernel module
    packages should be built. This results in a dependency of the form
    "kernel-devel-`uname -m` = `uname -r`" being added to the source
    package created by makesrpm.pl, which is bogus because the uname
    values are from the system on which the srpm is built and needn't
    apply to the system where it is used. While rpm and rpmbuild ignore
    such dependencies of source packages, other tools don't and may fail.
    
    Some versions of rpmbuild will also enforce those requirements when
    building the srpm itself, which is pointless too.
    
    Avoid both problems by pretending not to attempt building modules
    and ignoring any dependencies when makesrpm.pl invokes rpmbuild -bs.
    
    Change-Id: I0134e1936638c7d9c3fd9ff0ccf1cba36710d0d3
    Reviewed-on: http://gerrit.openafs.org/11903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit db4343b870232417079ab6628381e356964497fa
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 28 18:30:30 2015 -0600

    Tweak grammar in README
    
    So as to get a trivial change as confirmation that an updated
    gerrit is functioning correctly.
    
    Change-Id: I04eb12cab982a3f1b5ecc92d60c455e7a0d2242c
    Reviewed-on: http://gerrit.openafs.org/12156
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 318692134d16caeab7176219f56aee98dfaa439b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Dec 28 16:11:17 2015 -0600

    Remove blank line from README
    
    There's no reason for this file to start with a blank line.
    
    Change-Id: I175390d3c9796fc10ef8086a5b179f4fc27362b5
    Reviewed-on: http://gerrit.openafs.org/12153
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit f7c6915358f30d25287cf28092625c75e5d5c7b7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Feb 4 10:11:29 2015 -0500

    Update extra-iput configure argument description
    
    Commit 15260c7fdc5ac8fe9fb1797c8e383c665e9e0ccd did not function
    as advertised, since the conditional which attempted to make
    the configure option --(en|dis)able-linux-d_splice_alias-extra-iput
    mandatory on linux checked a variable for the system type which
    was not set at the time the check ran.
    
    Subsequent discussion of this behavior produced a consensus that
    there is not a need to make the configure option mandatory,
    due to the narrow range of kernels affected by the bug in question,
    so this follow-up commit just fixes the documentation and removes
    the ineffective code.
    
    Change-Id: I36d1f8801d355f33c3132fcab166ea76faab8e87
    Reviewed-on: http://gerrit.openafs.org/11710
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5fd9aed2ba6f43eeb157560724f56cd742fd3c62
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 4 16:15:37 2013 +0000

    compile_et: Don't overflow input file buffer
    
    Don't overlow the buffer that's used for the input filename by
    copying in to much with sprintf. Use asprintf to dynamically
    allocate a buffer instead.
    
    Link roken for rk_asprintf where needed.
    
    Build compile_et with libtool, to ensure that it is linked statically,
    as is needed for build tools such as compile_et.  (This requires
    a preceding change to set a buildtool_roken make variable.)
    
    Caught by coverity (#985907)
    
    Change-Id: I207dd2c49bcae3f04fa41c826b08a0a615d5f422
    Reviewed-on: http://gerrit.openafs.org/9545
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 87ce2a6f05e313dad43311fba93224f33b86f54f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Feb 25 18:46:28 2015 -0500

    Provide a buildtool_roken make variable
    
    When using roken in build tools, i.e., binaries which must be
    executed during the build stage, the roken library must be usable
    prior to the 'install' stage.  In particular, if the internal
    rokenafs is used, the shared library will not be installed and
    the runtime linker will not be able to find it, causing execution
    of the build tool to fail.  To avoid this failure, librokenafs
    must be linked statically into these build tools.
    
    Unfortunately, the way we currently use libtool is not very
    well aligned to libtools model of how it should be used.  As a result,
    it does not seem feasible to cause libtool to link librokenafs
    statically without breaking other parts of the build.
    
    Libtool peeks at the compiler command-line arguments to affect its
    behavior when invoked as a linker.  The flags -static, -all-static,
    and -static-libtool-libs can affect whether dynamic or static linkage
    is used for various libraries being linked into the executable.
    Passing -all-static tells libtool to not do any dynamic linking at
    all, but is silently a no-op if static linking is not possible (the
    default situation on most modern Linuxen, OS X, and Solaris).
    Passing -static causes libtool to not do any dynamic linking of
    libtool libraries which have not been installed, and passing
    -static-libtool-libs causes libtool to not do any dynamic linking
    of libtool libraries at all.
    
    In order to get libtool to actually link statically in all cases,
    we should pass -all-static, not just -static.  However, because
    too many platforms disallow static linking by default, this is
    not a viable option.
    
    If we retain the libtool archive librokenafs.la in the linker search
    path, libtool then records the library dependency of libafshcrypto on
    librokenafs in its metadata and refuses to install libafshcrypto.la to
    any path other than the configured prefix.  This restriction of
    libtool is incompatible with our use in 'make dest', and it is not
    feasible to desupport 'make dest' before the 1.8 release.
    
    The most appropriate workaround seems to be to just pass the
    path to librokenafs.a on the linker command line when linking
    build tools.  As such, provide a new make variable buildtool_roken
    which is appropriate for linking roken into build tools -- this
    variable will be set to the path to librokenafs.a when the internal
    roken is used, and the normal -lrokenafs when an external roken
    is used.
    
    Change-Id: I079fc6de5d0aa6403eb1071f3d58a248b1777853
    Reviewed-on: http://gerrit.openafs.org/11763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 93f7041a08526b1c3ac37197cd7bee40c7430010
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 01:42:55 2015 -0400

    rxkad: Resolve warnings in ticket5.c
    
    Resolves these warnings:
    
    ticket5.c: In function ‘tkt_MakeTicket5’:
    ticket5.c:574:33: warning: pointer targets in passing argument 1 of ‘_rxkad_v5_encode_EncTicketPart’ differ in signedness [-Wpointer-sign]
         code = encode_EncTicketPart(encodebuf, allocsiz, &data, &encodelen);
                                     ^
    In file included from ticket5.c:80:0:
    v5gen-rewrite.h:43:30: note: expected ‘unsigned char *’ but argument is of type ‘char *’
     #define encode_EncTicketPart _rxkad_v5_encode_EncTicketPart
                                  ^
    v5gen.c:1889:1: note: in expansion of macro ‘encode_EncTicketPart’
     encode_EncTicketPart(unsigned char *p, size_t len, const EncTicketPart * data, size_t * size)
     ^
    ticket5.c:602:33: warning: pointer targets in passing argument 1 of ‘_rxkad_v5_encode_EncryptedData’ differ in signedness [-Wpointer-sign]
         code = encode_EncryptedData(ticket + *ticketLen - 1, *ticketLen, &encdata, &tl);
                                     ^
    In file included from ticket5.c:80:0:
    v5gen-rewrite.h:16:30: note: expected ‘unsigned char *’ but argument is of type ‘char *’
     #define encode_EncryptedData _rxkad_v5_encode_EncryptedData
                                  ^
    v5gen.c:690:1: note: in expansion of macro ‘encode_EncryptedData’
     encode_EncryptedData(unsigned char *p, size_t len, const EncryptedData * data, size_t * size)
     ^
    ticket5.c: In function ‘tkt_DecodeTicket5’:
    ticket5.c:320:10: warning: ‘plainsiz’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         code = decode_EncTicketPart((unsigned char *)plain, plainsiz, &decr_part, &siz);
              ^
    
    Change-Id: Ic1b878f01cf82222dc258847747ce192ee5948fc
    Reviewed-on: http://gerrit.openafs.org/11955
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c0d771672f8bad23fa6816d383f5ad81137f6e57
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 2 20:19:07 2015 -0500

    Add filepath entries for rxkad.keytab
    
    Even though master is not using it, we still want to be able to
    find it.
    
    Change-Id: I31fa39fe4d4bed5144c5169236b1106bd9f18501
    Reviewed-on: http://gerrit.openafs.org/11784
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a14dec2bff2423c4fbb9db672ef91659bcdfb4ba
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Mar 2 16:05:51 2015 -0500

    Make typedKey helpers more friendly to use
    
    Make freeing a NULL key pointer a no-op.
    
    Allow passing NULL to afsconf_typedKey_values() when not all
    values are needed.
    
    Change-Id: I3a4088747913e9e88be094da891cd2cca0cbb114
    Reviewed-on: http://gerrit.openafs.org/11783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 6e4f8e55282963a5b2e28c4d90f7a32f5ceb37b0
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Dec 24 17:23:23 2015 -0300

    viced: do not overwrite possible failure
    
    The function ‘hpr_Initialize’ overwrites the code
    returned by ‘ubik_ClientInit’. As a result, ‘hpr_Initialize’
    will not report any failure triggered by ‘ubik_ClientInit’.
    
    To fix this problem, store the code returned by ‘rxs_Release’
    in a new variable. Only return this code if the function
    ‘ubik_ClientInit’ worked properly. Otherwise, return the code
    provided by ‘ubik_ClientInit’.
    
    Change-Id: I1820e3cbc2131daace01cec0464e56fd2982a783
    Reviewed-on: http://gerrit.openafs.org/12137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit b8757341fb9592519032ef64030d0e98195d8d3d
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Nov 23 21:03:57 2015 -0500

    afs: incorrect types for AFSDB IPv4 addresses
    
    DNS lookup results were being handled with int types.
    
    Fortunately, this seems to be harmless, due to use of
    memcpy when the types don't match, and assignment only
    when both sides were int.
    
    However, to avoid any future unpleasantness, change
    them to afs_uint32.
    
    No functional change should be incurred.
    
    Change-Id: I31aeabb4ae3194a00b29a1fa767d05af167b4e4f
    Reviewed-on: http://gerrit.openafs.org/12117
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 17ca935bbd18dd96b8252e22229c9470850fb20f
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Aug 7 11:56:16 2015 -0400

    afs: pioctl kernel memory overrun
    
    CVE-2015-8312:
    Any pioctl with an input buffer size (ViceIoctl->in_size)
    exactly equal to AFS_LRALLOCSIZE (4096 bytes) will cause
    a one-byte overwrite of its kernel memory working buffer.
    This may crash the operating system or cause other
    undefined behavior.
    
    The attacking pioctl must be a valid AFS pioctl code.
    However, it need not specify valid arguments (in the ViceIoctl),
    since only rudimentary checking is done in afs_HandlePioctl.
    Most argument validation occurs later in the individual
    pioctl handlers.
    
    Nor does the issuer need to be authenticated or authorized
    in any way, since authorization checks also occur much later,
    in the individual pioctl handlers.  An unauthorized user
    may therefore trigger the overrun by either crafting his
    own malicious pioctl, or by issuing a privileged
    command, e.g. 'fs newalias', with appropriately sized but
    otherwise arbitrary arguments.  In the latter case, the
    attacker will see the expected error message:
     "fs: You do not have the required rights to do this operation"
    but in either case the damage has been done.
    
    Pioctls are not logged or audited in any way (except those
    that cause loggable or auditable events as side effects).
    
    root cause:
    afs_HandlePioctli() calls afs_pd_alloc() to allocate two
    two afs_pdata structs, one for input and one for output.
    The memory for these buffers is based on the requested
    size, plus at least one extra byte for the null terminator
    to be set later:
      requested size        allocated
      =================     =================================
      > AFS_LRALLOCSIZ      osi_Alloc(size+1)
      <= AFS_LRALLOCSIZ     afs_AllocLargeSize(AFS_LRALLOCSIZ)
    
    afs_HandlePioctl then adds a null terminator to each buffer,
    one byte past the requested size.  This is safe in all cases
    except one: if the requested in_size was _exactly_
    AFS_LRALLOCSIZ (4096 bytes), this null is one byte beyond
    the allocated storage, zeroing a byte of kernel memory.
    
    Commit 6260cbecd0795c4795341bdcf98671de6b9a43fb introduced
    the null terminators and they were correct at that time.
    But the commit message warns:
     "note that this works because PIGGYSIZE is always less than
      AFS_LRALLOCSIZ"
    
    Commit f8ed1111d76bbf36a466036ff74b44e1425be8bd introduced
    the bug by increasing the maximum size of the buffers but
    failing to account correctly for the null terminator in
    the case of input buffer size == AFS_LRALLOCSIZ.
    
    Commit 592a99d6e693bc640e2bdfc2e7e5243fcedc8f93 (master
    version of one of the fixes in the recent 1.6.13 security
    release) is the fix that drew my attention to this new
    bug.  Ironically, 592a99 (combined with this commit), will
    make it possible to eliminate the "offending" null termination
    line altogether since it will now be performed automatically by
    afs_pd_alloc().
    
    [kaduk@mit.edu: adjust commit message for CVE number assignment,
    reduce unneeded churn in the diff.]
    
    Change-Id: I1a536b3a53ec4b6721fbd39a915207da4358720c

commit 634ca4fdc206884afe0826bc682aa7d5208cdc8b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 16 20:03:21 2015 -0400

    viced: add missing new lines to log messages
    
    The server logger requires an explicit new line.
    
    Change-Id: Iffbfcfee7499bfa745a63d1b5ccb8038ee06acd0
    Reviewed-on: http://gerrit.openafs.org/11841
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0bf9fba458b39035a09f45c1b63f1e65672d4c00
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 30 12:12:03 2015 -0500

    volser: range check acl header fields during dumps and restores
    
    Perform range checks on the acl header fields when reading an
    acl from a dump stream and when writing an acl to a dump
    stream.
    
    Before this change, a bogus value in the total, positive, or
    negative acl fields from a dump stream could cause an out of
    bounds access of the acl entries table, crashing the volume
    server.
    
    Change-Id: Ic7d7f615a37491835af8d92f3c5f1b6a667d9d01
    Reviewed-on: http://gerrit.openafs.org/11702
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 888fc16db5f0063464bf219a6cf6fee0faea4705
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 22 13:24:43 2015 -0600

    volser: set error, not code, before rfail
    
    The rfail cleanup handler overwrites 'code' ~unconditionally, but
    does use an existing 'error' value if present.  Since the intent
    is to return failure to the caller, preserve the code in the error
    variable and do so.
    
    FIXES 131897
    
    Change-Id: I25db2f9ad75a5b856626d39d35f97a09f26bd7a9
    Reviewed-on: http://gerrit.openafs.org/12108
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2f3b27ac47e26e57796b66b670f378222ef45009
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 9 21:24:04 2015 -0400

    util: add CloseLog routine to close the server log
    
    Add the missing complement to OpenLog().
    
    Change-Id: I45e7e5d2da3241c163d2d4baa6b386167e90e582
    Reviewed-on: http://gerrit.openafs.org/12002
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d646387c8e52eb13fc36e95f5cfe21360d3e056e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 9 13:22:26 2015 -0400

    salvager: redd up showlog global flag
    
    Clean up the show log flag so it is only set by the salvager and
    is reset when spawning a child process.
    
    Change-Id: I1702cf98faca583409594d1199a8215ffe08a75e
    Reviewed-on: http://gerrit.openafs.org/12001
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4ed8f850b4bcef4db9c0bba0ebffdf3d410190b7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 9 10:14:41 2015 -0500

    dafs: log to stderr when running salvageserver in client mode
    
    When the -client option is given to the salvageserver, print
    Log() messages to stderr instead of losing them.
    
    Change-Id: I065e8136db9a8cc241639fbe34607db884751b95
    Reviewed-on: http://gerrit.openafs.org/11729
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dc134f3eff66c7cc5f3dcc1f2d92536ffdbc771e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 30 13:20:42 2015 -0400

    dafs: remove the salvageserver -showlog option
    
    Remove the salvagerserver option to print log messages to stdout.  This
    was a carry over from the stand-alone salvager and is not appropriate for
    a daemon.
    
    Change-Id: I55b99112278cdabb3e9911948dbda6a628030951
    Reviewed-on: http://gerrit.openafs.org/11815
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b800f7d9bd5ea390ab330c1c0c38ac8277eb9998
Author: Brandon S Allbery <ballbery@sinenomine.net>
Date:   Tue Nov 24 16:39:02 2015 -0500

    gtx: use getmaxyx() with sensible fallbacks
    
    configure now checks for the standard getmaxyx() macro; failing that,
    it looks for the older but pre-standardization getmaxx() and getmaxy(),
    then falls back to the 4.2BSD curses _maxx and _maxy fields; if all
    else fails, gtx building is disabled.
    
    gtx now defines getmaxyx() itself if necessary, based on the above.
    
    This also fixes a bug in gtx with all ncurses versions > 1.8.0 on
    platforms other than NetBSD and OS X: gtx was using the _maxx and
    _maxy fields, which starting with ncurses 1.8.1 were off by 1 from
    the expected values. As such, behavior of scout and/or afsmonitor
    may change on most ncurses-using platforms.
    
    Change-Id: I49778e87adacef2598f0965e09538dfc3d840dcc
    Reviewed-on: http://gerrit.openafs.org/12107
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 359e1f2a25d242984229edfb378c0b95c3ee8570
Author: Chas Williams <3chas3@gmail.com>
Date:   Wed Dec 2 10:38:42 2015 -0500

    Open syscall emulation file O_RDONLY
    
    As reported on the -info mailing list, docker is now exporting the
    /proc filesystem as read only.  ioctl() doesn't need write permissions
    to do its work, so change O_RDWR to O_RDONLY.
    
    Change-Id: I2068888b13b6b5e31b1a2205bbcbe43f5f9fc55a
    Reviewed-on: http://gerrit.openafs.org/12122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a86b0b4902e8308de4ec3346006af0cbe03a1ef1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 30 13:17:25 2015 -0400

    dafs: remove the salvageserver -datelogs option
    
    Remove the undocumented -datelogs option from the salavageserver, which
    was a carry over from the standalone salvager program, but is not
    appropriate for a daemon.
    
    Change-Id: Ia382d6550e0641edcba55a414e00323755487e18
    Reviewed-on: http://gerrit.openafs.org/11814
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fb91be7759605bb4ea5b4dd3ce089df1141c431a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Mar 31 11:08:34 2015 -0400

    doc: remove unimplemented -showsuid and -showmounts from the salvageserver man page
    
    These options were copied from the salvager man page and are not implemented by
    the salvageserver.
    
    Change-Id: Ib6c5b3fd494f1662b958442863e5fbfc0755a0c2
    Reviewed-on: http://gerrit.openafs.org/11817
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fee3e66161a06fd96a912a618482040b32d78f69
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Nov 22 16:34:16 2015 -0600

    Fix ptserver -default_access parsing
    
    Commit 0b9986c8758c13a1de66b8bdae51b11abaea6cf3 converted ptserver
    to use libcmd for parsing, but erroneously listed the
    -default_access argument as CMD_SINGLE instead of CMD_LIST, since
    two arguments are needed.  This made it impossible to use
    -default_access at all, since libcmd would reject an extra argument
    and the later argument processing would notice that the second
    argument was missing.
    
    FIXES 131731
    
    Change-Id: Ib8241308d4f40f980d635513e2255aafa06c3d8a
    Reviewed-on: http://gerrit.openafs.org/12110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e4bae29efc3d370d1eaf6d954c63c324094c48e5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Mar 31 11:04:26 2015 -0400

    doc: add syslog options to salvageserver man page
    
    Add the missing -syslog and -syslogfacility options to
    the salvageserver man page.
    
    Change-Id: I1cb057a8085c4aeda32bb003cc4cec5035d00407
    Reviewed-on: http://gerrit.openafs.org/11816
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5a0e69726d4a8cedb29e074d398f0ff29984524e
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Nov 18 14:02:50 2015 +0100

    tabular_output: allocate footer-line when set for the first time
    
    If the footer line is not allocated, programs segfault at runtime.
    The printFooter functions should check if the footer
    is allocated before printing them.
    
    Change-Id: Ib4066a67ee104be918811e178c0b7d7d33d790b8
    Reviewed-on: http://gerrit.openafs.org/11753
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 670381aa5d3a7bc91ad74c7499605cca2c33d612
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Nov 18 15:09:37 2015 -0500

    vlserver: VL_GetEntryByName* requests undercounted
    
    Commit a14e791541bf19c6c377e68bc2f978fba34f94b1
    refactored and corrected the counting of requests and aborts.
    However, it inadvertently introduced a new undercount for
    VL_GetEntryByName* requests, counting them only if
    NameIsId(volname), e.g. volname="536870911".
    
    Ensure that the normal case of a non-"numeric" volname is
    also counted.
    
    Discovered during review of pullup to 1.6.x.
    
    Change-Id: Ic5dbc1a5871d0e0ff184dc4f3b11e92166c92f65
    Reviewed-on: http://gerrit.openafs.org/12106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f6247f90c9644d7a396531c219c585f705e0c251
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Tue Nov 17 15:03:03 2015 +0100

    writeconfig: emit error messages again in VerifyEntries
    
    Before commit e4a8a7a38dbf29e89bc1a7b6b017447a6aa0c764 an error message
    was printed if looking up a server hostname failed. Restore this, and
    also print a message in the now detected case that the lookup returns
    loopback addresses only.
    
    Change-Id: Idf7c3133ab5c83e081335ba1dc8fcbddb7da7329
    Reviewed-on: http://gerrit.openafs.org/12097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 33020f573bb52c00e1a2f2f0da8062e17b6d1278
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Aug 27 20:20:58 2015 -0500

    CODING: permit --enable-checking with clang
    
    Starting at 3.2, a mostly arbitrarily selected version.
    
    Change-Id: I9f6a946e2571b939911cbf4b1b64e1d62e39e1a3
    Reviewed-on: http://gerrit.openafs.org/11991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ef435746d04845753477af8b7d920d66e9dce54f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 9 09:37:54 2015 -0500

    doc: fix the salvageserver log file name
    
    Fix capitialization of the salvageserver log file name.
    
    Change-Id: If08dd191e35e7fb15db533a623b832154a6f9f17
    Reviewed-on: http://gerrit.openafs.org/11728
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 11468ae0e12a627a8802711e8562948828834f06
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 21 14:42:47 2015 -0500

    bozo: create a syslog connection only if the -syslog option is given
    
    Fix a minor bug in which an unnecessary syslog connection is opened when
    the BosLog is not present (typically, the first time the bosserver is
    started) or when the BosLog is a named pipe, even if the -syslog option
    was not given.
    
    This bug was introduced in commit bdc7e43117706d0aa46d3b6435489e9d4c2b0888,
    which added checks to avoid renaming logs when they are named pipes.
    
    lstat() and S_ISFIFO are provided by libroken, so do not need to be hidden
    behind conditional compilation.
    
    Change-Id: I828534be69949fe017cc7dbed1b6798aa4c0ba17
    Reviewed-on: http://gerrit.openafs.org/11686
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 15e8678661ec49f5eac3954defad84c06b3e0164
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 17 21:54:46 2015 -0500

    prdb_check: fix out of bounds array access in continuation entries
    
    A continuation entry (struct contentry) contains 39 id elements, however
    a regular entry (struct prentry) contains only 10 id elements.
    Attempting to access more than 10 elements of a regular entry is
    undefined behavior.
    
    Use a stuct contentry when when processing continuation entries in
    prdb_check.  This is done to safely traverse the id arrays of the
    continuation entries.  Use the new pr_PrintContEntry to print
    continuation entries.
    
    The undefined behavior manfests as a segmentation violation in
    WalkNextChain() when built with GCC 4.8 with optimization enabled.
    
    Change-Id: I7613345ee6b7b232c5a0645f4f302c3eac0cdc15
    Reviewed-on: http://gerrit.openafs.org/11742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3e9e244d1004972f202490faa0375768959f7690
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 17 20:58:27 2015 -0500

    prdb_check: check for continuation entries in owner chains
    
    Continuation entries may not be in owner chains. Fix the
    comments in WalkOwnerChain (which were probably copied from
    WalkNextChain) and add a check and error message for
    continuation entries found on owner chains.
    
    Change-Id: I8c49378478cf6a3d31317ff90a52fe1e74517dd3
    Reviewed-on: http://gerrit.openafs.org/11751
    Reviewed-by: Daria Phoebe Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 121ac2d939e19741986ddfbd387b5310c40edd0d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 17 21:11:50 2015 -0500

    libprot: add pr_PrintContEntry function
    
    A continuation entry (struct contentry) contains 39 id elements, however
    a regular entry (struct prentry) contains only 10 id elements. Attempting
    to access more than 10 elements of a regular entry is undefined
    behavior.
    
    Add a new function to safely print continuation entries and change
    pr_PrintEntry to avoid accessing the entries array out of bounds.
    
    The pr_PrintEntry function is at this time only used by the prdb_check
    and ptclient debugging utilities.
    
    Change-Id: Ie836983c8a5970a9495b87d0627ba6c05d117a9b
    Reviewed-on: http://gerrit.openafs.org/11750
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ed52ea68c661a7428baeddeca2d95972fe3fe618
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed May 21 17:27:47 2014 -0400

    doc: document the version subcommand
    
    Document the built-in version sub-command which displays
    the OpenAFS version string. This sub-command is provided
    by the cmd library.
    
    Document the switch style -version option provided by the cmd
    library for the initcmd based commands: afsmonitor, scout,
    xstat_fs_test, and xstat_cm_test.
    
    Change-Id: Id421d2c68a5c49a2b1a5abb2f3e9ca64ea36cd3e
    Reviewed-on: http://gerrit.openafs.org/11161
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit eca86749d8f158d27d131ecaafe6be282703535e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Oct 12 22:16:54 2015 -0400

    afs: fix for return an error from afs_readdir when out of buffers
    
    Commit 9b0d5f274fe79ccc5dd0e4bba86b3f52b27d3586 added a return code to
    BlobScan to allow afs_readdir to return an error when afs_newslot failed
    to allocate a buffer.  Unfortunately, that change introduced a false
    EIO error.
    
    Originally, BlobScan would return a blob number of 0 to indicate the end
    of the file has been reached while traversing the directory blobs.
    Restore that behavior by changing the cache manager's DRead function to
    return ENOENT instead of the generic EIO error to indicate the page to
    be read is out of bounds, and change BlobScan to return a blob of zero
    to indicate to callers the last blob has been reached.  All callers
    already check for a blob number of zero, which is out of range.
    
    Change-Id: I5baae8e5377dd49dcca6765b7a4ddc89cca70738
    Reviewed-on: http://gerrit.openafs.org/12058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 69d11fd5ee556bb375967d7c41dab39b9c1befbe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 6 11:56:31 2015 -0500

    vos: reinstate the -localauth option for vos setaddrs
    
    Commit d1d411576cf39c4bc55918df0eb64327718d566c added the vos remaddrs
    subcommand, but unfortunately stole the common parameters from
    setaddrs.  Fix this bug and remove the extra blank line between
    the subcommand syntax and the common params macro.
    
    Change-Id: I1171bfadec08ac34679204f0a9245d76c468cafa
    Reviewed-on: http://gerrit.openafs.org/12093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1c6db90677a8c0d185a408a3b7fa18cf0f47df0a
Author: Tim Creech <tcreech@umd.edu>
Date:   Mon Nov 2 08:12:32 2015 -0500

    Make libuafs safe for parallel make
    
    In src/libuafs, "make" with a large number of jobs (e.g., "make -j16")
    can fail because some of the LT_objs depend on make_h_tree having been
    called already.
    
    Make "h" (the libuafs header subdirectory) a dependency of all of
    LT_objs.
    
    Change-Id: Ie005dbb1f1b0a794c703147062615808a45956dc
    Reviewed-on: http://gerrit.openafs.org/12079
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5f70b79817f98b5f482414a4ec849bd4bd15a5d6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 8 22:22:12 2015 -0400

    rx: OPENAFS-SA-2015-007 "Tattletale"
    
    CVE-2015-7762:
    
    The CMU/Transarc/IBM definition of rx_AckDataSize(nAcks) was mistakenly
    computed from sizeof(struct rx_ackPacket) and inadvertently added three
    octets to the computed ack data size due to C language alignment rules.
    When constructing ack packets these three octets are not assigned a
    value before writing them to the network.
    
    Beginning with AFS 3.3, IBM extended the ACK packet with the "maxMTU" ack
    trailer value which was appended to the packet according to the
    rx_AckDataSize() computation.  As a result the three unassigned octets
    were unintentionally cemented into the ACK packet format.
    
    In OpenAFS commit 4916d4b4221213bb6950e76dbe464a09d7a51cc3 Nickolai
    Zeldovich <kolya@mit.edu> noticed that the size produced by the
    rx_AckDataSize(nAcks) macro was dependent upon the compiler and processor
    architecture.  The rx_AckDataSize() macro was altered to explicitly
    expose the three octets that are included in the computation.
    Unfortunately, the failure to initialize the three octets went unnoticed.
    
    The Rx implementation maintains a pool of packet buffers that are reused
    during the lifetime of the process.  When an ACK packet is constructed
    three octets from a previously received or transmitted packets will be
    leaked onto the network.  These octets can include data from a
    received packet that was encrypted on the wire and then decrypted.
    
    If the received encrypted packet is a duplicate or if it is outside the
    valid window, the decrypted packet will be used immediately to construct
    an ACK packet.
    
    CVE-2015-7763:
    
    In OpenAFS commit c7f9307c35c0c89f7ec8ada315c81ebc47517f86 the ACK packet
    was further extended in an attempt to detect the path MTU between two
    peers.  When the ACK reason is RX_ACK_PING a variable number of octets is
    appended to the ACK following the ACK trailers.
    
    The implementation failed to initialize all of the padding region.
    A variable amount of data from previous packets can be leaked onto the
    network.  The padding region can include data from a received packet
    that was encrypted on the wire and then decrypted.
    
    OpenAFS 1.5.75 through 1.5.78 and all 1.6.x releases (including release
    candidates) are vulnerable.
    
    Credits:
    
      Thanks to John Stumpo for identifying both vulnerabilities.
    
      Thanks to Simon Wilkinson for patch development.
    
      Thanks to Ben Kaduk for managing the security release cycle.
    
    Change-Id: I29e47610e497c0ea94033450f434da11c367027c

commit c372bc92a3f78ac00aa69b2fb7a2050993b4fed8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 12 09:56:07 2015 -0400

    Windows: CM_ERROR_INEXACT_MATCH is not a fatal error
    
    cm_BPlusDirLookup() and cm_Lookup() can return CM_ERROR_INEXACT_MATCH
    which is not a fatal error.  Instead it is an indication that the returned
    cm_scache object was not a case sensitive match.  Do not fail the request
    and do not leak the cm_scache reference.
    
    Change-Id: Ieef3ce1ac96a8794859b5b9c530545d4fdd26bd5
    Reviewed-on: http://gerrit.openafs.org/12057
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7e3289891d9032288f32b550ba6376f59f7e9a08
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 8 19:47:26 2015 -0400

    Windows: cm_Lookup return ambiguous filename to caller
    
    cm_Lookup() must not mask a CM_ERROR_AMBIGUOUS_FILENAME error by
    converting it to CM_ERROR_BPLUS_NOMATCH.  Doing so results in the
    redirector believing that the object does not exist instead of
    there being a STATUS_OBJECT_NAME_COLLISION.
    
    Change-Id: Iaa84d50271c234a84e11dd58d78ef90f5d224032
    Reviewed-on: http://gerrit.openafs.org/11930
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dffaab441d09a3b955d358292c550116b76a6410
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 8 16:49:38 2015 -0400

    Windows: fix RDR detection of ambiguous directory entries
    
    The redirector is supposed to reject access to file objects if there
    is no case exact match and multiple entries match in a case insensitive
    comparison.  The check was only present in the AFSLocateNameEntry()
    function and not elsewhere.
    
    Fix the AFSLocateNameEntry() call and addd the missing checks.
    
    Change-Id: I15aba954179fa85e28b348989779bc05122c0037
    Reviewed-on: http://gerrit.openafs.org/11929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit be603388ef3ec8918dba47ede9dc3e4196492100
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 18 20:32:06 2015 -0400

    Windows: rdr pioctl operations are opaque
    
    Although pioctl operations are delivered through the redirector the
    contents of the operations are opaque to the redirector.  Therefore,
    the cm_req must not be initialized as a redirector operation.  If they
    are the necessary invalidation notifications for symlink and mount point
    operations will not be delivered.
    
    Change-Id: I48c2d89d2b2e0fc3f0ef56e7731108a8c51e1674
    Reviewed-on: http://gerrit.openafs.org/12062
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8b530d52a5f482145c71682b407e9c8f258dac70
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 15 13:22:05 2015 -0400

    Windows: clientServiceProviderKeyExists use subkey
    
    clientServiceProviderKeyExists() must use AFSREG_CLT_SVC_PROVIDER_SUBKEY
    since it is a relative path from HKEY_LOCAL_MACHINE.
    
    Change-Id: I975d594bfe69c563f692978057c08b834d54b8b1
    Reviewed-on: http://gerrit.openafs.org/12059
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4f20b7305efcea9d930f64c348fc58555a736c6b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 9 10:20:41 2015 -0400

    Windows: if no known IP addrs, query the addr list
    
    If cm_noIPAddrs == 0, then no servers will be probed.   If
    syscfg_GetIFInfo() fails then cm_noIPAddrs is set to 0.  Therefore,
    also set cm_LanAdapterChangeDetected to non-zero if syscfg_GetIFInfo()
    fails so that the interface info can be queried again prior to a server
    probe attempt.
    
    Change-Id: I6639441fa6266671cfb875256eb23c3b018e67c9
    Reviewed-on: http://gerrit.openafs.org/12055
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c615a712bf9eae3c88252c4a37bd91a0e9db89da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 7 18:09:50 2015 -0400

    Windows: Only install Service NP if one exists
    
    Do not blindly install a network provider for the service since at
    least one end user organization does not install the service's network
    provider.
    
    Change-Id: I15a528ff34ffd3e060fdbd93545af3857592c835
    Reviewed-on: http://gerrit.openafs.org/12051
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cda7556b854a07220326a617a56edcf55769567a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 7 18:09:17 2015 -0400

    Windows: InstNetProvider do not leak key handle
    
    If we open a handle, close it.
    
    Change-Id: I1a5b2308a91f3c66791e65f76ca17ae52d34789f
    Reviewed-on: http://gerrit.openafs.org/12050
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3957abea2abcd791e97e66be3f3ef211672ce713
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 30 13:23:36 2015 -0400

    Windows: multi ping do not leak ping count
    
    In cm_CheckServersMulti() if cm_ConnByServer() fails or if cm_noIPAddr is
    zero then a cm_server.pingCount will be leaked.  This can result in
    servers being marked down and never restored to an up state.
    
    This change adds the necessary pingCount decrement and moves the
    assignment of the cm_server_t pointer to serversp[] to make it clear
    that the cm_server_t will not be in the array if a failure occurs.
    Only objects in the array will have the pingCount decremented after
    the RPCs are issued.
    
    Change-Id: I18895c848039e4131a674d814019f236a1b0e5b5
    Reviewed-on: http://gerrit.openafs.org/12048
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f8bf8221db919521ecabea20c4c8e496fb423ef4
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Sun Sep 13 08:53:22 2015 -0700

    SOLARIS: Minor whitespace corrections
    
    Fix some incorrectly indented code in osi_file.c
    
    Change-Id: I75a8ec18bfef13bb05a99f84b2cfbfae34fcd440
    Reviewed-on: http://gerrit.openafs.org/12017
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@dson.org>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c565450501e4bb43697fa957f55f8486f21071fa
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 30 11:53:58 2015 -0500

    volser: update log formatting in dump and restore
    
    Update the log messages to use modern formatting specifiers for
    volume ids and inodes in the volume dump and restore code.
    
    Change-Id: Ic2844e389e5951d2f2bbbc31a86c2342f2e8d848
    Reviewed-on: http://gerrit.openafs.org/11701
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 518807cae868b6547685a3b5aaf41c6f012665ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 25 18:12:24 2015 -0400

    Windows: remove extraneous "pingCount" format param
    
    In 0a0927497c8165aec11e718df01632da75fa4cdc an extra "pingCount"
    format parameter was added in cm_DumpServers().  Remove it.
    
    Change-Id: I79c2212c11319d7f94f963214d90b0530a978ab5
    Reviewed-on: http://gerrit.openafs.org/12046
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0a0927497c8165aec11e718df01632da75fa4cdc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 16 09:10:04 2013 -0400

    Windows: Replace CM_SERVERFLAG_PINGING with pingCount
    
    Instead of replying upon a server flag use a pingCount interlocked
    variable to track whether active ping operations are being performed
    and whether or not to wait sleeping threads.
    
    Change-Id: Ie967beee0debdb9c0963ca40b12737bd3fa88548
    Reviewed-on: http://gerrit.openafs.org/12022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e314167f11f289248704426fe65fea13a734a937
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 14 18:29:45 2015 -0400

    Windows: cm_GetCell_Gen rework cell prefix matching
    
    The cm_GetCell_Gen() function permits cells to be searched for by
    prefix.  The idea is to permit "cs.cmu.edu" to be abbreviated "cs"
    when at CMU.  There are two problems with the current behavior:
    
    1. the existing match rules will accept "cs.c" and "cs.cmu.ed" as
       valid prefix matches.  By not restricting the prefix matching
       to full components the Freelance symlink list can become
       cluttered.
    
    2. the existing match rules will accept the first cell that
       matches even if there are more than one cells that would match.
       this can result in unpredictable behavior since the ordering
       of the cells is not guaranteed.
    
    Instead, fail requests for cell prefixes that are not full component
    matches or that would be ambiguous.
    
    Change-Id: I59fb5ea9bba4cebdd71808fc9fae9662456943e0
    Reviewed-on: http://gerrit.openafs.org/11886
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 946d2c1699be7ec8d31251d54d603d321b1f7936
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 4 13:25:04 2015 -0400

    Windows: Network Provider registration at service start
    
    Windows 8, 8.1 and pre-releases of 10 have a horrible bug as part
    of the upgrade process.  All non-Microsoft network provider services
    are removed from the NetworkProvider "Order" registry value.  For
    OpenAFS this has the side effect of breaking integrated logon and
    all drive letter mappings to \\AFS.
    
    During service start add code to:
    
     1. Add "AFSRedirector" before "LanmanWorkstation" if not present
     2. Add "TransarcAFSDaemon" to the end of the list if not present
    
    If the service is running in SMB mode
    
     3. Remove "AFSRedirector" if present
    
    Change-Id: I14a703e44c6e0ee1bd36afd306f92a17dcc0d2a5
    Reviewed-on: http://gerrit.openafs.org/12024
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6baaa39333fba8afda84ccdb68ba106ce7ae3705
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 15:06:34 2015 -0400

    Windows: cm_Analyze mark server down for misc rx errors
    
    In cm_Analyze() replace the token error retry logic for miscellaneous
    rx errors and simply mark the server down.  The most common error
    that will be seen in this category is RX_INVALID_OPERATION which would
    be received if the Rx service id or security class is not recognized
    by the peer.  This could happen if an AuriStor server is replaced by
    an AFS3 server or if a packet is reflected.
    
    A side effect of this change is that V* and CM_ERROR_* errors will
    once again be retried.  This will permit proper failover to occur.
    
    Change-Id: I77e6325eb05643ea6df1fc0bc877bd4ef496c974
    Reviewed-on: http://gerrit.openafs.org/11920
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 653647e8617d4fc3e7721832ebdd1f1e9057e9ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 14:56:47 2015 -0400

    Windows: avoid vldb lookup race with network stack
    
    If a VLDB query attempt occurs when there is no current cell db server
    list then the VLDB query won't actually occur but the last query time
    would be set.  This prevents a query from taking place again on the volume
    for 60 seconds.  If the volume in question is the root.cell volume then
    the redirector will be forced to return device not ready for the share
    (aka \\afs\cell).
    
    Check for a failure of cm_UpdateCell() and only set the last update time
    for the volume if there was success or if the VLDB responded with volume
    unknown.
    
    Change-Id: Ic87d871feac3f2ea3d3db377854efa9dc9db3c00
    Reviewed-on: http://gerrit.openafs.org/11919
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af957c35e940aa80fda4dd42ebf92f7e7ed18f3b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 14:00:24 2015 -0400

    Windows: cm_ApplyDir calls cm_SyncOpDone too soon
    
    cm_ApplyDir() failed to maintain the synchronization state while the
    GetBuffer() operation proceeded.
    
    Change-Id: I616622e9aebbdb20a325826032991e5d5c5d9e24
    Reviewed-on: http://gerrit.openafs.org/11918
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1409bf8e007ac1060dfaf8ec09bdc27e95db3ba9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:59:28 2015 -0400

    Windows: cm_CheckNTDelete missing SyncDone call
    
    cm_CheckNTDelete() forgot to call cm_SyncDone() in one of the error
    paths.  Fixup the call pattern and do not forget to call cm_SyncDone().
    
    Change-Id: I9274b65c5a5f22ca71e0b10f860d57d7e567a56c
    Reviewed-on: http://gerrit.openafs.org/11917
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dfc8db6e3d21208c43f07bc90835cdd37f6f6812
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:51:40 2015 -0400

    Windows: NPSupport Remote Name verification
    
    When adding a connection verify that the server name and the share name
    are valid.  If not return ERROR_BAD_NETWORK_NAME.
    
    When getting connection information, if a pre-existing connection does
    not exist and either the server name or the share name do not verify
    return ERROR_BAD_NETWORK_NAME and not ERROR_INVALID_PARAMETER.
    
    Change-Id: Ib40a6b56318793d1c1b351ba895736beb616585d
    Reviewed-on: http://gerrit.openafs.org/11916
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2f072b2fe6e7d5927bd4e597614af7f62240ccb1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:43:03 2015 -0400

    Windows: NPGetResourceInformation return redir error
    
    When the redirector ioctl fails in NPGetResourceInformation() return the
    actual error to the caller.   Do not hide all errors as WN_BAD_NETNAME.
    
    Change-Id: Ie02ca5331aa34aef4476c99045048871c6c25de0
    Reviewed-on: http://gerrit.openafs.org/11915
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d977906371ef9cef4e62d9b86daf673b0d9b599b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:39:32 2015 -0400

    Windows: NP RemoteName Length checks
    
    Ensure that RemoteName paths have at least two characters before
    attempting to access character [1].
    
    Change-Id: I75487056686dccf2bf57b22e7c99e9d8210eaaf3
    Reviewed-on: http://gerrit.openafs.org/11914
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 69bc77c538a181315f532ce4ee9e49698e589083
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:27:03 2015 -0400

    Windows: AFSParseName() uniFullName.MaximumLength
    
    The uniFullName.MaximumLength in AFSParseName() is not properly
    modified and can end up being extended beyond the actual memory
    allocation due to a missing decrement.
    
    Change-Id: I070ee33acd32849d05bbc83c6e7cfaf55e6a0997
    Reviewed-on: http://gerrit.openafs.org/11913
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b170a840b5f702356c15bb59737e7ed106cdc88c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:24:13 2015 -0400

    Windows: remove dead network provider code
    
    Remove all #if 0 code blocks.
    
    Change-Id: I981d7a178c0ae1be7b3ca9f546a7a1aab8f5a48c
    Reviewed-on: http://gerrit.openafs.org/11912
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6405e0584a16711d09cf0e0c80b5916a050be7d2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:21:35 2015 -0400

    Windows: npdll do not retrieve auth id
    
    The authentication id for the process will always be obtained in kernel
    so no longer try to fetch it in userland.
    
    Change-Id: I8d35af1349e137b8a3d7d8299b16e443710c6482
    Reviewed-on: http://gerrit.openafs.org/11911
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 967c5dbef3340ee0c870b1fb1f91c24fb6443358
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:18:01 2015 -0400

    Windows: Always fetch auth id in kernel
    
    When processing network provider requests in afsredirlib.sys always
    obtain the auth id using the SYSTEM worker thread.   Do not trust
    the values provided by userland.
    
    Change-Id: I9786b0c836cf967074035a7595c38c8700cb7589
    Reviewed-on: http://gerrit.openafs.org/11910
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d35164370a8e799ed35f7f23670ddee02dc87f50
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 28 13:12:13 2015 -0400

    Windows: Move GetAuthenticationId to Worker Thread
    
    When PsReferenceImpersonationToken(), PsReferencePrimaryToken(), and
    SeQueryInformationToken() are called in the kernel from a user process
    thread the restrictions on the userland process still apply.  Since we do
    not want to be restricted we must obtain the token and query the token
    information from a SYSTEM thread.
    
    This change restructures the AFSGetAuthenticationId() process to queue a
    synchronous task to the worker thread.
    
    This should address the problem that has been seen during system boot when
    the Group Policy Service attempts to query, remove or create a drive
    letter mapping.
    
    Change-Id: Ib8772e185aa1e4e52979ec847bbc18a9878bcaca
    Reviewed-on: http://gerrit.openafs.org/11909
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4233e4d661e3beb8e4ecb59e4a4c0ed3d9df69b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 9 08:55:44 2015 -0400

    Windows: AFSRetrieveFileAttributes no parent path
    
    Modify AFSRetrieveFileAttributes() to handle the case of a ParentPathName
    with a Length == 0.   In such a case the introduction of a path separator
    would result in the construction of an absolute path when a relative path
    is required.
    
    Change-Id: I2e633b22992b0aee914927a451bb146fc57110e8
    Reviewed-on: http://gerrit.openafs.org/11889
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 456b68ccb6d8ad31b735d2c08d0313963ff66c22
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 9 08:44:43 2015 -0400

    Windows: AFSRetrieveParentPath handle no parent
    
    AFSRetrieveParentPath() when presented with a relative path that has no
    parent will walk off the front of the FullFileName buffer.  Add checks to
    ensure that Length never becomes less than zero.
    
    Change-Id: I7d619dc569d6c002b1d236a9340921414c51647f
    Reviewed-on: http://gerrit.openafs.org/11888
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af7f7da0aad29ff9bf5adad288b512d31954b36e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 12 23:15:50 2015 -0400

    Windows: AFSGetConnectionInfo partial match validation
    
    AFSGetConnectionInfo() is called to respond to NPGetResourceInformation
    and NPGetConnectionPerformance WNet API requests.  The former permits
    the requestor to provide a path containing components that are not
    processed by the file system represented by the called network provider.
    As such partial matches are permitted BUT they must consist of full
    components.  In other words, \\afs\sh is not a valid partial match for
    \\afs\share but \\afs\share is a valid partial match for \\afs\share\dir.
    
    This change adds validation checks to enforce full component comparisons.
    It also cleans up some of the associated comparisons and trace output.
    
    Change-Id: Ia736030f554f9770b201227c4dce26d7d45fe0d2
    Reviewed-on: http://gerrit.openafs.org/11887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 99894f0a7070caca7c8e96af3d82cf2bfdfe2bb9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 6 01:39:41 2015 -0400

    Windows: NetrShareGetInfo do not return registry errors
    
    In NetrShareGetInfo() when registry api calls fail do not leak the
    error codes to the caller.  Instead, set the error to CM_ERROR_NOSUCHPATH
    so that NERR_NetNameNotFound can be returned.
    
    Change-Id: I2c8f12573ca604385176ebb18d92ff2f7023a27e
    Reviewed-on: http://gerrit.openafs.org/11924
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a640e76d0f84c647abfe4968c842c0cb33f670e5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 6 01:38:01 2015 -0400

    Windows: NetrShareGetInfo no return buffer on error
    
    When processing the NetrShareGetInfo() pipe service rpc do not
    allocate memory for the return buffer is the path cannot be found.
    
    Change-Id: I782df44de4d6b7a4664234ae0f8295294b889469
    Reviewed-on: http://gerrit.openafs.org/11923
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ac05e8ceebd05c2d8496759e70cf7b1b92541134
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 29 11:54:45 2015 -0400

    libafs: remove linux conditionals for md5 inode number calculation
    
    Remove the conditionals which hide the md5 digest calculation for inode
    numbers on non-linux platforms.  This feature was originally added to
    support sites running on linux, but is generally useful and the
    implementation is not specific to linux.
    
    Change-Id: I7f406f9492780c1893dc1a2892db253b05036120
    Reviewed-on: http://gerrit.openafs.org/11854
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit c6a8739a67edca8a7e987bd1f3d5dcc226ad47a0
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Aug 20 13:20:38 2015 -0400

    openafs: add a contributor code of conduct
    
    In the interest of fostering a friendly, welcoming environment
    for contributors, institute a code of conduct for the project.
    
    Adapted from the Contributor Covenant.
    
    LICENSE MIT
    
    Change-Id: I4eb3b8a84981ef04f02e7d60ec46873305888147
    Reviewed-on: http://gerrit.openafs.org/11987
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Thomas L. Kula <kula@tproa.net>
    Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fd23587a5dbc9a15e2b2e83160b947f045c92af1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Sep 15 13:33:12 2015 -0400

    LINUX: Fix oops during negative dentry caching
    
    Commit 2e9dcc069904aaa434787eec53c6f9821911cbab reinstated negative
    dentry caching, but introduced an oops when fakestat is in use.  Be sure
    the GLOCK is held when looking up the parent vcache dv when the parent
    is a mount point and fakestat is in use, since the calls to do the
    lookup require the GLOCK to be held.
    
    Change-Id: I6c47fbf53280400bf40271b1ff2837bd7c6dc69e
    Reviewed-on: http://gerrit.openafs.org/12019
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 152ad2848661c0827a29d4f15543be341c1251c3
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 15 20:27:04 2015 -0500

    doc: remove supergroup caution from pt_util
    
    Supergroup information is explicitly present in -members
    
    Change-Id: I25527c093858bc0b029417cbf2bb07717c50bb32
    Reviewed-on: http://gerrit.openafs.org/11681
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ab4b5557b8c10fb27ac2e63ffdece2fc78c027d8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 21 22:44:32 2015 -0500

    bozo: move more initialization code to functions
    
    Move the code to create the initial "localcell" configuration and the
    code to get the rx bind address out of main and into separate
    functions.
    
    Replace the global array of host addresses used to get the rx bind
    address with a local variable.
    
    Replace the call to rx_getAllAddr() with rx_getAllAddrMaskMtu(). The
    former is not safe to call before rx_InitHost().
    
    Initialize the cell info structure to zeros when creating the initial
    "localcell" configuration.
    
    Change-Id: I756aef86018d0cdd499afa58fdea99a7ac0d99df
    Reviewed-on: http://gerrit.openafs.org/11690
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 0aee126cf20a4357d9ab1df08a8428ae9313e3b9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 3 16:07:32 2015 -0400

    opr: export softsig functions
    
    Add the softsig functions to the exported symbols list.
    
    Change-Id: I9378297ae035111459e597ae211fe832e93b63e3
    Reviewed-on: http://gerrit.openafs.org/11999
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8e97a6c93604014b126fb2e9e33642b11f4c2fc0
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 15 11:54:30 2015 -0500

    afs: Increase vcache and dcache hash table sizes
    
    Now that we are using a real hash function, larger hash tables
    will be more useful.
    
    The vcache hash tables are statically sized, and this increase will
    add about a megabyte to the kernel module's memory footprint.
    
    Update the algorithm used to dynamically size the dcache hash tables,
    keeping the old behavior for small numbers of dcaches, but growing
    the hash table's size to keep the average chain length near two
    for a range of dcache numbers.  Cap the dcache hash tables at 32k
    entries to avoid excessive resource usage.
    
    This involves code from opr, namely opr/ffs.h, which is acceptable
    in the kernel module because that header is a standalone header
    like jhash.h, with no dependencies on the system.
    
    Change-Id: I7cdb3e993b1c2ad177a46ecc06bfa2be52e619e5
    Reviewed-on: http://gerrit.openafs.org/11679
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9b0d5f274fe79ccc5dd0e4bba86b3f52b27d3586
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Dec 18 08:20:24 2009 -0500

    return an error from afs_readdir when out of buffers
    
    Instead of silently failing, return EIO from readdir when the
    cache manager is unable to allocate a buffer in afs_newslot,
    (afs: all buffers locked).
    
    Change-Id: I3d5a5d73ce78db216400cab45a651fd8a49ea0c3
    Reviewed-on: http://gerrit.openafs.org/1001
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2e9dcc069904aaa434787eec53c6f9821911cbab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Aug 24 23:01:16 2014 -0500

    LINUX: Restore negative dentry caching
    
    One of the changes in commit 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba
    effectively disabled negative caching for dentries, by always
    invalidating a negative dentry in afs_linux_dentry_revalidate. This
    was because various temporary errors could result in ENOENT errors
    being returned to afs_lookup, which created incorrect negative dentry
    cache entries.
    
    These incorrect ENOENT errors were rectified in change
    Ib01e4309e44b532f843d53c8de2eae613e397bf6 . So, negative dentry cache
    entries should work now, so remove the code to unconditionally
    invalidate these negative entries.
    
    Change-Id: Ic027147fd1f733beaa0fafbbabfa8c09f5656d34
    Reviewed-on: http://gerrit.openafs.org/11789
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 07e474e35e070b9ddcc5158796c95442aea0597f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Jan 27 16:33:25 2015 -0500

    Make compile_et output usable out-of-tree
    
    Prior to this commit, the output C files from compile_et would
    emit #includes of <afsconfig.h> and <afs/param.h>.  These files
    are not installed, and are only available in an OpenAFS build tree.
    The output C files also emit #includes of <afs/error_table.h>, which
    is an installed file, and is therefore expected to be available on
    a system with OpenAFS installed.  Removing the first two headers will
    allow OpenAFS's compile_et binary to be used to compile error tables
    which are not part of OpenAFS, on systems where OpenAFS is installed.
    
    The inclusion of afsconfig.h was added in commit
    972a4072827fb2ec680354d5adebc2c5cca06939 to ensure that it was included
    prior to afs/param.h; however, the inclusion of afs/param.h in
    compile_et.c stems from the original IBM import and seems of minimal
    value.  The only changes needed to build without param.h are to use
    int instead of afs_int32 in a couple places (int is 32 bits on
    all platforms currently supported) and to include <sys/types.h>
    for size_t.
    
    Change-Id: I1ee969eec92b139d265a7494e13ddfc69c05f238
    Reviewed-on: http://gerrit.openafs.org/11708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit e99bfcfaa3bca3e65f03928718c2c9eb5eff7c8c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Jan 13 20:22:59 2015 -0500

    afs: use jenkins hash for dcache, vcache tables
    
    Switch the four dcache and vcache hash tables to use the jenkins
    hash from opr.
    
    This requires making DCHash into a full-weight function in order
    to properly hash all three inputs; convert all four symbols to
    full functions for consistency.  Just pull in <opr/jhash.h> via
    afs.h so all consumers (e.g., of VCSIZE) can use it without
    modification.
    
    This is the first use of src/opr/ in src/afs/ (outside UKERNEL),
    but it is permissible because opr/jhash.h is a standalone
    header and there are no C files needed for its implementation which
    would require anything from the system.
    
    Change-Id: Ic7f31e7dc548ff2cf13ac087a9e4bbb2b874e03a
    Reviewed-on: http://gerrit.openafs.org/11673
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 244b82d24c37355bc855361815a7e682d6445af3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Dec 14 16:13:39 2014 -0500

    rx: Tidy up rxi_CheckCall()'s mtuout handling
    
    We don't actually do anything that matters if lastPacketSizeSeq
    is set and lastPacketSize is zero, so zero both when we're cleaning
    up.
    
    lastPacketSize and lastPacketSizeSeq are set together in
    rxi_SendPacket (and rxi_SendPacketList), when we are sending a packet
    larger than the current estimate of the peer's maxPacketSize.
    
    The two fields are checked together during ack processing, but
    rxi_CheckCall() only checks lastPacketSize, ignoring lastPacketSizeSeq.
    
    Change-Id: I4e52bed0900b5551859200699f114f5d5a61581c
    Reviewed-on: http://gerrit.openafs.org/11633
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 20d5760fe9653fb748fc25661257ab9720b2b5a6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Feb 27 18:20:19 2015 -0500

    Document KeyFileExt(5)
    
    Add a manual page for the KeyFileExt file.
    
    Add cross-references from all places which currently reference
    KeyFile(5), and update their body text accordingly.
    
    Change-Id: Iab56847fcb59dda0c8a344a626ddb0ff35b98b26
    Reviewed-on: http://gerrit.openafs.org/11770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 05e7c2f2fb60805e21f6235d7666b9c6f943a685
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 21 14:31:51 2015 -0500

    bozo: use the full path when renaming BosLog to BosLog.old
    
    Use the full path when renaming the BosLog file to BosLog.old and when
    checking whether the BosLog file can be opened, otherwise the rename
    will fail (and go unnoticed), and the initial BosLog check opens a
    handle to a file in the wrong directory.
    
    Create the server directories, including the logs directory, before
    forking and log file initialization.
    
    Change-Id: I3733d64335f348190572f6278086b634641f2754
    Reviewed-on: http://gerrit.openafs.org/11685
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit df05a15ce3cb1c730bf87613711c38fa25be349f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 9 15:04:19 2015 -0500

    bozo: fix -pidfiles default
    
    Fix the default value for the -pidfiles argument. The pidfiles
    should be stored in the local state directory, not the server
    configuration directory when using modern paths.
    
    Fixes commit bdf86d245fd55c5c7ac7ea81e3d6b6bafdbe1783.
    
    Change-Id: Ie338b0071c6ea6ee44b376d231d12b85571de6ae
    Reviewed-on: http://gerrit.openafs.org/11732
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 64eb76eebb7e4f0363aca2c92fd6b1cc0ce8e7b0
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 01:49:03 2015 -0400

    kauth: Resolve date signedness warning in SetFields
    
    Resolves this warning:
    
    admin_tools.c: In function ‘SetFields’:
    admin_tools.c:611:30: warning: pointer targets in passing argument 2 of ‘ktime_DateToInt32’ differ in signedness [-Wpointer-sign]
      code = ktime_DateToInt32(s, &expiration);
                                  ^
    In file included from /home/anders/wd/openafs/include/afs/afsutil.h:84:0,
                     from admin_tools.c:39:
    /home/anders/wd/openafs/include/afs/afsutil_prototypes.h:101:18: note: expected ‘afs_int32 *’ but argument is of type ‘afs_uint32 *’
     extern afs_int32 ktime_DateToInt32(char *adate, afs_int32 * aint32);
                      ^
    
    Change-Id: Id24e7a6cd1ab2291c0c05d3835f4ad7fddfec8d7
    Reviewed-on: http://gerrit.openafs.org/11956
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fa8e0beb96c8693a98d5ce0f310255bcd0731f6f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Feb 27 17:47:45 2015 -0500

    Update asetkey.8 for KeyFileExt
    
    Prefer KeyFileExt to KeyFile ~everywhere.  Make the main documentation
    assume a modern cell with KeyFileExt and rxkad-k5, moving the old
    rxkad and KeyFile documentation to a new section,
    HISTORICAL COMPATIBILITY.
    
    Note that kaserver is deprecated.
    
    Do not mention the Update Server, which is also disrecommended for
    new installations.
    
    Add a copyright statement for the new content.
    
    Change-Id: Idcb4940615a00189b655538a9a190cc35153cc89
    Reviewed-on: http://gerrit.openafs.org/11769
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 05f64de7d723a8d5430d9b5928c2025838a6fa52
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Jul 29 09:03:14 2015 -0300

    Linux: Only use automount for volume roots
    
    As long as we avoid using directory aliases when crossing
    a mount point (at the volume root), we should always get
    to a given non root directory with the same dentry.
    The mechanism added by commit de381aa0 ("Linux: Make dir
    dentry aliases act like symlinks") is therefore only really
    necessary for a volume root.
    
    With kernel 4.2 it is not possible to tweak the "total link
    count", resulting in ELOOP errors when looking up a path
    with 40 or more directories that are being looked up for
    the first time.  With this change, only mountpoints will
    count against the limit.
    
    Change-Id: Id0e5a51d579eee51ecb8d7fb575a7a30740ea70e
    Reviewed-on: http://gerrit.openafs.org/11945
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c38382c12763128d3f66e750e5e7b1c767ac74f7
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Thu Aug 6 11:53:23 2015 -0300

    tests: give the full path to the softsig test helper program
    
    In order to start the softsig test helper properly,
    the full path of this program is necessary.
    
    FIXES 132246
    
    Change-Id: I4e9ff1e62a0b82078338eeaf0d4368ac1b35dccc
    Reviewed-on: http://gerrit.openafs.org/11977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fcfa8d039a56d051838142cc5b361be195d225e3
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 23:26:43 2015 -0400

    tests/auth/keys-t.c: Don’t ignore return value of write
    
    Resolves this warning:
    
    keys-t.c: In function ‘copy’:
    keys-t.c:63:6: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
          write(out, block, len);
          ^
    
    Change-Id: If2427f2658b428091ffba3d11643ad95f193a67d
    Reviewed-on: http://gerrit.openafs.org/11957
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 86053beac56629f7bdbc2695fda560e0410e430f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:19:13 2013 +0000

    Unix CM: Make rootVolume array big enough
    
    In afs_CheckRootVolume, the local rootVolumeName array needs to
    be large enough to hold the contents of the global
    afs_rootVolumeName string, which is 64 characters long. Fix our
    local array to be the same length by using a new defined constant
    MAXROOTVOLNAMELEN.
    
    Caught by coverity (#985758)
    
    Change-Id: I4c926b94efb40d7107e2d7160ade0ba8b381004e
    Reviewed-on: http://gerrit.openafs.org/9348
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 06caaaa6d089e0c0393e45c43b525d202c9c7a24
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Wed Jan 14 12:39:38 2015 +0100

    vos dump -clone: use volumename of cloned volume
    
    with the command "vos dump -clone" use the volumename of the cloned volume
    instead of the fixed string "dump-clone-temp". This volumename is recorded
    in the DumpHeader and VolumeHeader of the dump file.
    
    Change-Id: I38ef846f043680c8f13dce263581a61bbd7ef7dd
    Reviewed-on: http://gerrit.openafs.org/11670
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8ea75188476edde820ec369039691497057b88ab
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Dec 16 16:52:17 2013 -0500

    afsmonitor: Skip additional bits for large timeval
    
    When the timeval structure uses 64-bit values for sec and usec,
    64 extra bits need to be skipped in the input for every time value
    that is parsed.  There's a remaining assumption in this part of the
    code that the time values received from the server are 32-bits, but
    after decoding they will always have the local size which may well
    be 64-bits.
    
    Change-Id: Iaf52df8f9da1146807dddc1c44a9e52e83654d9c
    Reviewed-on: http://gerrit.openafs.org/10592
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 763eb16380986959aeb8c2cc6111f1d9cdb7b17d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 12 16:34:21 2015 -0500

    vol: Switch to Jenkins hash for volume hash table
    
    While here, bump the default size from 256 to 1024.
    
    Change-Id: Ife95f14009764785a18556289d5dfe5e7a96b477
    Reviewed-on: http://gerrit.openafs.org/11667
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ebf04c3a3eeb6dd49756a93f31e0f90fd706a44f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 12 16:13:28 2015 -0500

    Switch to jhash for VNODE_HASH
    
    Remove the vnodeHashOffset field, as the Jenkins hash will get
    a uniform-enough distribution without this extra help.  Per-volume
    unique hashing is retained by using the volume ID as the initial
    value input to the Jenkins hash.
    
    While here, increase the vnode hash table size from 256 to 2048.
    
    Change-Id: I353dfc8178f13f4e9adcd03a331adf2a7c64a1a9
    Reviewed-on: http://gerrit.openafs.org/11666
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 22faedd3ccac9b74f759709a6116befb3c4bc17a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 12 16:15:53 2015 -0500

    vol: relocate some comments
    
    Put them closer to the code they are describing.
    
    Change-Id: Iaf7137eae2bf4464f26d98b0c3e0e9040f19c321
    Reviewed-on: http://gerrit.openafs.org/11665
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bfa668c14730b2335c29abd7b8aa20b8e6df338b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 12 15:14:48 2015 -0500

    Normalize on vp->hashid for hash table usage
    
    At present the hashid is set to the same value as the volume ID
    (i.e., V_id(vp) a.k.a. vp->header->diskstuff.id), but we should
    not leak across the abstraction barrier without cause.
    
    Change-Id: I6a727e60c34bdc938f4ae2e815c7513802a4dbc9
    Reviewed-on: http://gerrit.openafs.org/11664
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 899f8eaf3f63b1f91fe6b6eb8f582f82bd10cb66
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 14 15:13:48 2014 -0500

    objdir build: Normalize COMPILE_ET_* commands
    
    A few different places in the tree currently invoke compile_et in a
    few different ways. These three general styles all appear:
    
        ${COMPILE_ET_H} -p ${srcdir} foo
        ${COMPILE_ET_H} -p ${srcdir} foo.et
        ${COMPILE_ET_H} ${srcdir}/foo.et
    
    Of these, the first is the correct way to invoke compile_et in a
    Makefile. The other two can fail during at least some objdir builds.
    
    Take this example of the second style of invocation:
    
        afs_trace.h: afs_trace.et
                ${COMPILE_ET_H} -v 2 -p ${srcdir} afs_trace.et
    
    During an objdir build, the compile_et command will get expanded like
    so, due to VPATH expansion:
    
        $top_objdir/src/comerr/compile_et -emit h -v 2 \
            -p $top_srcdir/src/afs \
            $top_srcdir/src/afs/afs_trace.et
    
    The compile_et command concatenates the -p prefix with the actual
    filename provided, so the file it tries to open is:
    
        $top_srcdir/src/afs/$top_srcdir/src/afs/afs_trace.et
    
    For non-objdir builds this doesn't happen, since $srcdir is just '.',
    and afs_trace.et gets expanded to just afs_trace.et (or possibly
    ./afs_trace.et). This is also not a problem for objdir builds that are
    specified as a relative path and are 'adjacent' to the srcdir. For
    example, if we ran '../openafs-1.6.10pre1/configure --options', our
    $top_srcdir is just '../openafs-1.6.10pre1', with some magic to
    expand '..' to the correct number of levels. So in the above example,
    the compile_et invocation gets expanded to:
    
        /path/to/objdir/src/comerr/compile_et -emit h -v 2 \
            -p ../../../openafs-1.6.10pre1/src/afs \
            ../../../openafs-1.6.10pre1/src/afs/afs_trace.et
    
    And compile_et then tries to open the path
    ../../../openafs-1.6.10pre1/src/afs/../../../openafs-1.6.10pre1/src/afs/afs_trace.et
    which collapses to just
    ../../../openafs-1.6.10pre1/src/afs/afs_trace.et, which is the correct
    file.
    
    However, if the $srcdir is specified as an absolute path, or if the
    number of '..'s is wrong, this doesn't work. It is perhaps easiest to
    explain why by just using another example. For an absolute path, the
    invoked command is:
    
        /path/to/objdir/src/comerr/compile_et -emit h -v 2 \
            -p /path/to/openafs-1.6.10pre1/src/afs \
            /path/to/openafs-1.6.10pre1/src/afs/afs_trace.et
    
    And compile_et tries to open
    /path/to/openafs-1.6.10pre1/src/afs/path/to/openafs-1.6.10pre1/src/afs/afs_trace.et,
    which obviously does not exist. This results in a build failure like:
    
        /path/to/openafs-1.6.10pre1/src/afs/path/to/openafs-1.6.10pre1/src/afs/afs_trace.et: No such file or directory
        *** Error code 1
        make: Fatal error: Command failed for target `afs_trace.msf'
    
    For a non-working relative objdir, we may invoke a command like this:
    
        /path/to/objdir/src/comerr/compile_et -emit h -v 2 \
            -p ../../../../openafs-1.6.10pre1/src/afs \
            ../../../../openafs-1.6.10pre1/src/afs/afs_trace.et
    
    And compile_et tries to open
    ../../../../openafs-1.6.10pre1/src/afs/../../../../openafs-1.6.10pre1/src/afs/afs_trace.et,
    which is ../../../../../openafs-1.6.10pre1/src/afs/afs_trace.et, which
    (probably) doesn't exist, since it goes one too many levels up.
    
    To avoid this, we can just prevent the filename argument to compile_et
    from undergoing VPATH expansion. compile_et never opens the given path
    directly if -p is given, so it's not really a file path and so should
    not be altered by VPATH.
    
    compile_et will add a trailing .et to the filename if it doesn't have
    one, so we can avoid the VPATH expansion by just leaving out the
    trailing .et. We could also avoid the VPATH expansion by specifying
    something like './afs_trace.et', but it is perhaps more clear to not
    say the explicit filename, since we're not really specifying a path to
    a file.
    
    Just leaving out the -p option, as in this style of compile_et
    invocation:
    
        dumpscan_errs.h: ${srcdir}/dumpscan_errs.et
            $(COMPILE_ET_H) ${srcdir}/dumpscan_errs.et
    
    also fails for objdir builds. This is because, without the -p option,
    compile_et defaults to '.' as the prefix. If the srcdir is
    /path/to/openafs-1.6.10pre1, then this will expand to:
    
        /path/to/objdir/src/comerr/compile_et -emit h \
            .//path/to/openafs-1.6.10pre1/src/tools/dumpscan/dumpscan_errs.et
    
    which will fail, since that path to dumpscan_errs.et does not exist.
    
    So to fix this, make all compile_et invocations follow this style:
    
        ${COMPILE_ET_H} -p ${srcdir} foo
    
    Many other invocations of compile_et in the tree are already like
    this, so this commit just changes the others to match.
    
    Change-Id: Ied12e07a1cc6e115d4a10cd7a6c97aae9ce7f5f9
    Reviewed-on: http://gerrit.openafs.org/11391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4e05184264bf1c0d54e20741563ba9dadc2ef522
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jan 12 23:24:55 2014 -0600

    LINUX: Fix "unused but set var" autoconf warnings
    
    A few of the linux autoconf tests generate -Wunused-but-set-variable
    warnings, unless the test is run with -Wno-unused-but-set-variable.
    Since we run these tests with -Werror, this can cause the tests to
    incorrectly fail if they are not run with
    -Wno-unused-but-set-variable.
    
    The Linux kernel build process normally does run with that option, but
    due to some other (possibly buggy) behavior, sometimes these configure
    tests do not run with that option. So, make our tests work without
    generating that warning, so we will work in more cases.
    
    Reorganize a few of these tests so we are setting a field in a global
    structure, instead of a function-local one. Make the test function
    names and style little more consistent while we are here, but do not
    make the global structure 'static', in case the compiler recognizes we
    are setting fields for a structure that cannot be used by anything.
    
    In particular, the "revalidate takes nameidata" test had been wrongly
    succeeding, but that didn't usually matter because of how the feature
    tests are ordered in the code.  It does matter in the case when the
    "revalidate takes unsigned" check also gets a wrong result, which
    can cause kernel BUGs, which should be fixed by these changes.
    
    See:
    <http://lists.openafs.org/pipermail/openafs-devel/2014-January/019727.html>
    <http://thread.gmane.org/gmane.comp.file-systems.openafs.devel/11361>
    
    Change-Id: Ic29c4fc61da17633d8d1af81949b3917beb58cf6
    Reviewed-on: http://gerrit.openafs.org/10706
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9738c82bd6e5a1c294911d06e3c3e38b70a8caa8
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sun Jun 23 22:08:34 2013 +0100

    opr: fix often reported warning
    
    $ make CC=cgcc CHECK="smatch -Wsparse-all" 2>&1 | tee debug
    $ sed -n 's/.*warning: //p' debug | sort | uniq -c | sort -n | tail -1
       7218 passing argument 1 of 'opr_AssertionFailed' discards 'const' qualifier from pointer target type [enabled by default]
    
    Change-Id: I81c5c1db39b1a08c7dda3caa3d4cdf685186ff5b
    Address: http://smatch.sourceforge.net/
    Reviewed-on: http://gerrit.openafs.org/10019
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 204cb4deec73121ff8ef13654beb9936f828a804
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 10 14:13:39 2014 -0600

    vol: Log more info on wrong SYNC response length
    
    We log that the length of the response was wrong, so we're dropping
    the connection. Log what the actual and expected lengths were, at
    least, so we can maybe get a little bit of useful information from
    this message.
    
    Change-Id: I499d43c7625712b507698d908feb21477b789563
    Reviewed-on: http://gerrit.openafs.org/10829
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2aa4cb047596b654a175f5a22197c2923002a271
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 13 18:08:25 2015 -0600

    afs: Stop abusing ENOENT
    
    When looking up a file, the ENOENT error code is supposed to be used
    if we know that the target filename does not exist. That is, the
    situation is a user or application error; they specified a filename
    that was not previously created.
    
    Currently, though, we use ENOENT for a variety of different
    situations, such as:
    
     - After successfully looking up a directory entry, we fail to
       afs_GetDCache or afs_GetVCache on the FID for that entry.
    
     - We encounter an invalid mount point, in certain code paths.
    
    In each of these situations, an ENOENT error code is incorrect, since
    the target filename does indeed exist and these situations may be
    caused by network or administrative errors. An ENOENT error implies
    that the user may be able to then create the target filename, which is
    not true most of the time in the above situations.
    
    In addition, on LINUX we return a negative dcache entry when we
    encounter an ENOENT error on lookup. This means that if any of the
    above scenarios occur, Linux would cache the fact that that directory
    entry did not exist, and return ENOENT for future lookups. This was
    worked around in one of the changes in commit
    652f3bd9cb7a5d7833a760ba50ef7c2c67214bba to always invalidate such
    negative dentries, but at the cost of performance (since this caused
    negative lookups to never be cached).
    
    To avoid all of these issues, just don't use ENOENT in these
    situations. For simple non-disconnected afs_GetDCache or afs_GetVCache
    errors, return EIO, since we have encountered an error that is
    internal to AFS (either the underlying data is inconsistent, or we
    have a network error, or something else). In disconnected operation,
    return ENETDOWN like in other disconnected code paths, since often the
    root cause is due to us not having network access. When a bad
    mountpoint is encountered, return ENODEV, since that is what we use
    elsewhere in the code when encountering a bad mountpoint.
    
    It is also noteworthy that this changes removes the translation of
    VNOVNODE into ENOENT, since a nonexistent vnode is not the same as a
    nonexistent filename, as described above. Some code paths have special
    behavior for this situation (ignoring the error in some cases where it
    does not matter). These code paths should be okay with this change,
    since all of them examine error codes that have not been translated
    through afs_CheckCode.
    
    Some useless references to ENOENT were also removed in
    src/afs/LINUX*/osi_misc.c. These did not result in incorrect behavior,
    but removing them makes searching for bad ENOENT references easier.
    
    Change-Id: Ib01e4309e44b532f843d53c8de2eae613e397bf6
    Reviewed-on: http://gerrit.openafs.org/11788
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a19728ba55f30a41799855b49c5cf6c07c840f87
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 13 18:02:44 2015 -0600

    afs: Clarify vcache->mvid accesses
    
    Currently, numerous places in the code treat the 'mvid' field in
    struct vcache as a few different things:
    
     - If the vcache is a mountpoint, mvid points to the fid of the root
       dir of the target volume.
    
     - If the vcache is a volume root dir, mvid points to the fid of the
       parent dir for the mountpoint.
    
     - If the vcache is a sillyrenamed file, mvid points to a string,
       which is the name the vcache was renamed to.
    
    Despite these three things being very different (and one of them is a
    completely different type than the others), everywhere in the code
    just accesses mvid as 'avc->mvid'. This can make it very confusing as
    to what the field actually means at any particular part of the code,
    and makes it very difficult to search the code for places that use
    mvid in any one of these specific ways.
    
    So, to aid in code clarity, make mvid into a union, with the following
    members:
    
     - target_root: For the "mountpoint" case.
    
     - parent: For the "root dir" case.
    
     - silly_name: For the "sillyrename" case.
    
    This should have no effect on code behavior, but just makes the code a
    bit clearer.
    
    Change-Id: I45391bb7a99d6f8e35c44873b677d157ea681900
    Reviewed-on: http://gerrit.openafs.org/11748
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 65cffcadb96389ff3e794eb822d2231220c71160
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 13 17:31:37 2015 -0600

    afs: Use named constants for mvstat
    
    Currently the vcache 'mvstat' field is assigned three magic values: 0
    for normal files and directories, 1 for mountpoint objects, and 2 for
    volume root dirs. These values are clearly defined in comments, but
    everywhere we actually assign or compare these values, we use the bare
    numbers.
    
    Stop this nonsense and use named constants, to make the code less
    inscrutable.
    
    Change-Id: Ic1b133109d619b70317141431f163e552bafd109
    Reviewed-on: http://gerrit.openafs.org/11747
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>

commit 721451286285d4cc15b2fc22bfcde83b21e954a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 11 13:51:39 2014 -0500

    vol: Avoid FDH_SEEK/FDH_READ
    
    All code in the tree except for this uses positional i/o
    (FDH_PREAD/FDH_PWRITE). For consistency and to ensure that we do not
    mix positional and non-positional i/o, just use the positional i/o
    functions here. It's simpler, too.
    
    Change-Id: Ib65f81dde7532631cd7d642c9ef814d47c71581a
    Reviewed-on: http://gerrit.openafs.org/11377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Hans-Werner Paulsen <hans@mpa-garching.mpg.de>
    Tested-by: Hans-Werner Paulsen <hans@mpa-garching.mpg.de>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ce51d192861ca8a21208fadf38e30a62ac06a019
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 14:25:54 2014 -0400

    readme: remove README.PTHREADED_UBIK
    
    We enabled pthreaded ubik by default in commit 27cb0d38885428474b0d4287,
    and it is no longer considered beta or experimental.  There is no longer
    a need for separate documentation of it, and adjust the options
    listing in INSTALL accordingly.
    
    [kaduk@mit.edu: adjust for the changed default behavior.]
    
    Change-Id: Ib1315e55c1e00bdae0f55f0f8446f5a2c3d9671f
    Reviewed-on: http://gerrit.openafs.org/10978
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9a77af6d2265c478b561bf1c5525e913b371525d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 14:03:58 2014 -0400

    readme: Rename README to INSTALL
    
    Create a new top level README to introduce OpenAFS.
    
    Move the old README to a file called INSTALL for information about
    building and installing OpenAFS on various platforms.
    
    Change-Id: Id8853de73f669a6d5497cafd65a1e98b309c6efc
    Reviewed-on: http://gerrit.openafs.org/10976
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f61beda6d628f72a0357e2066d4e03cf52f0ba03
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 13:02:00 2014 -0400

    readme: move the LICENSE file to the top level directory
    
    Move the LICENSE file to the top directory to make it
    more visible and to clean up the src directory.
    
    Update the top level make file and redhat packaging
    to accomodate the new path to the LICENSE file.
    
    Change-Id: I64b655584cf61b8a45c6d6788a84aff31df8e83e
    Reviewed-on: http://gerrit.openafs.org/10972
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c9f430fd8f479bbfe28829f7032ecd325a4f833d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 1 09:32:35 2015 -0400

    vlserver: ListAttributesN2 volume name safety
    
    The vlserver ListAttributesN2 RPC permits filtering the result set
    by volume name in addition by site or volume id.
    
    Two issues identified by Andrew Deason (Sine Nomine Associates) are
    addressed by this patch.  First, the size of the volumename[] buffer
    is insufficient to store the valid input read over the network.  The
    buffer needs to be able to store VL_MAXNAMELEN characters of the volume
    name, two characters for the regular expression '^' and '$', and the
    trailing NUL.
    
    Second, sprintf() is used to write to the buffer and even with valid
    input from the caller SVL_ListAttributesN2 can overflow the buffer
    when ".backup" and ".readonly" are appended to the volume name.  If
    there is an overflow the search name is invalid and there can not be
    a valid match.
    
    This patch increases the size of volumename[] to VL_MAXNAMELEN+3.
    
    It also uses snprintf() instead of sprintf() and performs error
    checking.  The error VL_BADNAME is returned when the network input is
    invalid.
    
    Change-Id: Id65b83e0dd14c6f41af73c6868975ae53c4975a7
    Reviewed-on: http://gerrit.openafs.org/11969
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 049323e7e03c64f534a73ff452d218f19d5b8132
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Jul 18 16:00:12 2014 -0400

    vlserver: limit use of regex to admins always
    
    allow regexes only if the querying user is a superuser.
    if the superuser uses up all the resources, well, they could just do
    whatever damage directly anyway. means even in unrestricted mode
    we are not vulnerable
    
    Change-Id: Ib35d649f31e752ba5ae8373a06b67ea76f97425c
    Reviewed-on: http://gerrit.openafs.org/11968
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fc43236872c798fe426590714d19773c74d4bbbe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 3 15:03:00 2015 -0400

    Revert "vlserver: Disable regex volume name processing in ListAttributesN2"
    
    This change reverts commit 22481ab3705522ac1988b7de038c4dbc1e5009a9 which
    by disabling regex queries of volume names breaks some backup software
    including TSM.
    
    Change-Id: Ic8b398e289845b45b6b073729e9a091c8b5d71b5
    Reviewed-on: http://gerrit.openafs.org/11967
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>

commit 682d5e74347495045fc2a550adddea243118126b
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sun Aug 2 21:26:13 2015 -0400

    kas: remove @CFLAGS_NOERROR@ in favor of specific pragma
    
    Change-Id: Icf07c63a0e5a59da19a9db4edf7ac3c346349088
    Reviewed-on: http://gerrit.openafs.org/11966
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7254d831b766c72f8e1b77158082e0e5b3d20224
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 23:28:49 2015 -0400

    tests/volser/vos-t.c: Don’t ignore return value of pipe
    
    Resolves this warning:
    
    vos-t.c: In function ‘TestListAddrs’:
    vos-t.c:60:5: warning: ignoring return value of ‘pipe’, declared with attribute warn_unused_result [-Wunused-result]
         pipe(outpipe);
         ^
    
    Change-Id: I7eb58a91b5a7d9df18a4952400f74c79299e857d
    Reviewed-on: http://gerrit.openafs.org/11958
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5a0603ced26bebb867b52f3f3a0cb1604880d0df
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Aug 1 05:05:11 2015 -0400

    tests/opr/jhash-t.c: Fix unsigned constant warning
    
    Resolves this warning on 32-bit GCC:
    
    jhash-t.c: In function ‘main’:
    jhash-t.c:60:4: warning: this decimal constant is unsigned only in ISO C90
        is_int(3704403432, opr_jhash(test, 2, 0),
        ^
    jhash-t.c:62:4: warning: this decimal constant is unsigned only in ISO C90
        is_int(3704403432, opr_jhash_int2(test[0], test[1], 0),
        ^
    
    Change-Id: Ie3ab0f5aacdc719fa63f32e545b5863ec351f5eb
    Reviewed-on: http://gerrit.openafs.org/11961
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 540050bbc893416fbd075ed5e349abaa5baaeba1
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Aug 1 03:15:39 2015 -0400

    Squash a frightening number of warnings from XBSA-related code
    
    Mostly missing prototypes and mismatched format strings, but also some
    more disturbing bugs.
    
    Change-Id: I9a10728c7da645bb562374a3598414484de33f4d
    Reviewed-on: http://gerrit.openafs.org/11960
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 8f78afa65be0c8a1c130661a590e5b15be527537
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Aug 1 03:58:19 2015 -0400

    Add XBSA_XLIBS to XLIBS after it’s computed
    
    Commit 353aa7ef2c172f574998480d6d051b3f4e95ae7b (after 1.6 was
    branched) reordered things such that XBSA_XLIBS was being added to
    XLIBS before it was computed, which caused link failures with
    --enable-tivoli-tsm.
    
    Change-Id: I791add1b916c845d975d1ee21652c13244c50736
    Reviewed-on: http://gerrit.openafs.org/11959
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ac39d879f8cb6adc11efecef4cb3966582e09c82
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Aug 1 05:54:42 2015 -0400

    tests/opr/time-t.c: Use labs instead of abs for long argument
    
    Resolves this warning with clang:
    
    time-t.c:46:8: warning: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause
          truncation of value [-Wabsolute-value]
        ok(abs(osTime - osNow) < 2, "opr_time_Now returns a reasonable value");
           ^
    time-t.c:46:8: note: use function 'labs' instead
        ok(abs(osTime - osNow) < 2, "opr_time_Now returns a reasonable value");
           ^~~
           labs
    
    Change-Id: Ib98069e1349161d936c8ada0e69f9b33d2f71ce3
    Reviewed-on: http://gerrit.openafs.org/11965
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 09bf3ebb26a3d8a4bd10571b394a59207a7f6980
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Aug 1 05:52:59 2015 -0400

    src/kauth/krb_udp.c: Remove redundant NULL check for array address
    
    Resolves this warning with clang:
    
    krb_udp.c:302:13: warning: address of array 'tentry.misc_auth_bytes' will always evaluate to 'true' [-Wpointer-bool-conversion]
            if (tentry.misc_auth_bytes) {
            ~~  ~~~~~~~^~~~~~~~~~~~~~~
    
    Change-Id: I0656b055090654eada2cd63476330fb288490acc
    Reviewed-on: http://gerrit.openafs.org/11964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 38bd5def2a90303b6bb07926f99d0ab095ba96c0
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 01:35:05 2015 -0400

    rfc3961: prototype _krb5_internal_hmac
    
    Resolves this warning:
    
    src/external/heimdal/krb5/crypto-arcfour.c: In function ‘_oafs_h__krb5_HMAC_MD5_checksum’:
    src/external/heimdal/krb5/crypto-arcfour.c:82:5: warning: implicit declaration of function ‘_oafs_h__krb5_internal_hmac’ [-Wimplicit-function-declaration]
         ret = _krb5_internal_hmac(context, c, signature, sizeof(signature),
         ^
    
    Change-Id: I10f028b8a0e1756cb1f1638a061616db0e76779e
    Reviewed-on: http://gerrit.openafs.org/11953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit f5a35b240b183f2daeef83caa985e8f4a712fec9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 21:27:42 2015 -0400

    make distclean: clean doc/xml/*/Makefile
    
    These files are conditionally generated by configure.ac.
    (Conditionally is okay because this is an ‘rm -f’ line.)
    
    Change-Id: I7ade07e09b5e378b2abf6481dc8ffac26b574eed
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/11952
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8d75f24aae3d2ed62dc070fd257464713d615a23
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Jul 31 20:47:35 2015 -0400

    libadmin: #define UBIK_LEGACY_CALLITER 1 in afs_kasAdmin.c
    
    Replaces this warning:
    
    afs_kasAdmin.c: In function ‘GetPrincipalLockStatus’:
    afs_kasAdmin.c:710:6: warning: implicit declaration of function ‘ubik_CallIter’ [-Wimplicit-function-declaration]
          ubik_CallIter(KAM_LockStatus, kaserver->servers, UPUBIKONLY,
          ^
    
    with these marginally less alarming warnings:
    
    In file included from ../adminutil/afs_AdminInternal.h:17:0,
                     from afs_kasAdmin.c:21:
    /home/anders/wd/openafs/include/ubik.h:627:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
     extern afs_int32 ubik_CallIter(int (*aproc) (), struct ubik_client *aclient,
     ^
    /home/anders/wd/openafs/include/ubik.h:632:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
     extern afs_int32 ubik_Call_New(int (*aproc) (), struct ubik_client
     ^
    
    Change-Id: I49dbc5f6bb9199764c73c6ee8449d62518f377e6
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/11954
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 22481ab3705522ac1988b7de038c4dbc1e5009a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 8 14:37:16 2015 -0400

    vlserver: Disable regex volume name processing in ListAttributesN2
    
    For the interim and until it is needed, this is most prudently
    simply disabled.
    
    FIXES 131890
    
    Change-Id: Ib52da4ba38b579e51a0d8571e2da1307ae50a06f

commit 8ce4a3905268385d3f5a0e11f20594875467cae6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jul 8 14:28:50 2015 -0400

    Solaris: setpag should verify that ngroups will not overflow
    
    Our ngroups management (since PAGs are still encoded as 2 groups) needs
    to ensure that we do not overflow what we are prepared to handle,
    and do not panic due to misheld mutexes if we have to return an error
    when handling it.
    
    FIXES 131878 (CVE-2015-3286)
    
    Change-Id: I044d5e7d3161de815b3c2dace9c211fbb4b51ffa

commit ef671f497e9161ec2759446d594789495d3346f1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 8 14:20:13 2015 -0400

    afs: Use correct output buffer for FSCmd pioctl
    
    MRAFS added the FsCmd pioctl for passing messages to the fileserver;
    a bug causes it to write into the wrong memory and potentially panic
    clients.
    
    FIXES 131896 (CVE-2015-3285)
    
    Change-Id: Ic3a81fe06edc886f24bbc0537ea53e994b086c9e

commit 592a99d6e693bc640e2bdfc2e7e5243fcedc8f93
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Jul 8 14:16:41 2015 -0400

    afs: Clear pioctl data interchange buffer before use
    
    Avoid leaking data in pioctl interchange buffers; clear the memory
    when one is allocated.
    
    FIXES 131892 (CVE-2015-3284)
    
    Change-Id: I880bbaa75b07b491a08c62fb17527b9fff47ec8c

commit 62926630a82b8635d1cb1514b852f9f7a2609311
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Jul 8 14:11:33 2015 -0400

    bos: Use crypt for commands where spoofing could be a risk
    
    bos defaults to not requiring crypt in a lot of cases, instead using clear.
    
    As the simplest way to secure the channel is to enable crypt, do so.
    
    FIXES 131782 (CVE-2015-3283)
    
    Change-Id: I354fcbb5db37db225391a47b59d99518d1d0b2f9

commit 415a2aad4c1e9ab5d034b62989e4c16a37b5dcc7
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Jul 8 13:51:47 2015 -0400

    vos: Clear nvldbentry before sending on the wire
    
    Don't leak stack data onto the wire. Clear nvldbentry before use.
    
    FIXES 131907 (CVE-2015-3282)
    
    Change-Id: I18ea2c6ce21b6462277d067de329f4fb44dfb3ae

commit 656aaacd01a90f658a5126111af9988fa1854dec
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Dec 16 19:25:06 2014 -0500

    vos: changeaddr refuse to change mh entries without -force
    
    Add a client side check to vos changeaddr -oldaddr -newaddr
    to refuse to change multihomed server entries, unless -force
    is given.
    
    Change-Id: I1428e94f0c2fc19bb6ba3b2c53468f4587283bbc
    Reviewed-on: http://gerrit.openafs.org/11638
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6c3ac6dc1ea865153a65b5c5c4f288617a3e6d0f
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jul 6 13:01:38 2015 -0300

    Linux 4.2: Changes in link operation APIs
    
    The follow_link and put_link operations are revised.
    Test for the new signature and adapt the code.
    
    Change-Id: I2834589cbe36c41924ab0505e6ca4ecd797a57fd
    Reviewed-on: http://gerrit.openafs.org/11928
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c2c0b6bc86c6d67814d0f7fe14fa8eefc445b4a4
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jul 6 12:00:10 2015 -0300

    Linux: Add AC_CHECK_LINUX_OPERATION configure macro
    
    Add a new macro to check the signature of a particular
    operation against a provided typed argument list.
    One of the arguments is an arbitrary label that is used
    to construct the pre-processor define name.  This will
    allow for testing of different forms for the same
    operation.
    
    This can be used to replace many of the remaining odd
    checks in src/cf/linux_test4.m4.
    
    Change-Id: Ic619ace54f81aa8e1eb744e2d11f541a303b9587
    Reviewed-on: http://gerrit.openafs.org/11927
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 89aeb71a3e23c944f58cfa9572e9eae4d2130d37
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jul 6 11:00:13 2015 -0300

    Linux 4.2: total_link_count is no longer accessible
    
    The value is now stored in the nameidata structure which
    is private to fs/namei.c, so we can't modify it here.
    
    The effect is that using a path that contains 40+ directories
    may fail with ELOOP, depending on which directories in the
    path were previously used.  After a directory is accessed once
    its D_AUTOMOUNT flag is reset and it will no longer count
    against the symlink limit in later path lookups.
    
    Change-Id: I90e4cb0e9004b075bff2330d165c67b7a923193f
    Reviewed-on: http://gerrit.openafs.org/11926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e597b879677d023165298adadfb88db031883ff4
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Jul 8 14:32:31 2015 -0300

    Linux 4.2: Pass namespace to sock_create_kern
    
    sock_create_kern gains an additional network namespace
    argument.
    
    Pass in the default system namesapce.
    
    Change-Id: I640e9497510242788e5060759779785ffb563a81
    Reviewed-on: http://gerrit.openafs.org/11925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4ef47f787a64dc5c8ebb73a454b0851c86d7c06b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 26 09:09:18 2015 -0400

    doc: bosserver runs in the background
    
    Since OpenAFS 1.0 bosserver automatically puts itself into the
    background and removes it's controlling terminal. Update the examples in
    the Admin and Quick Start Guides to remove the unneeded '&' on the
    command line to start the bosserver.
    
    Change-Id: I1fd8f31c604004b099d50ffe166262b4d0d58804
    Reviewed-on: http://gerrit.openafs.org/11906
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 73e080cbb043424d9094a4bdd8f3e82c47a89502
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 12 12:38:49 2015 -0400

    tests: fix typo in softsig test helper
    
    Change-Id: I74183a04b54b70bf3593a53fdb5f164cbd6c3b98
    Reviewed-on: http://gerrit.openafs.org/11893
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 683ea4a983ada3845ecc8589f0362802ed967dc2
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Mar 4 17:25:14 2015 -0500

    vos: desupport -stayonline
    
    roll back -stayonline support for volume releases for now.
    
    Change-Id: I5b4de15892f975514ea699994cb7c1da17ac83c2
    Reviewed-on: http://gerrit.openafs.org/11787
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 82e02157fec248293e7336f0e0b3d1c9da545228
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 11 20:28:43 2015 -0400

    libafs: reset all the volumes with fs flushall
    
    Fix a logic bug in fs flushall in which only the first volume in each
    hash chain is reset (invalidated).  Instead, reset all the volumes in
    the volume hash.
    
    This bug was introduced in commit 4197bbecd9d0b2ff0b8eaec75a0df9a64f713cf0
    (libafs: fs flushall for unix cm)
    
    Also, when flushing a single volume with fs flushvolume, don't bother
    searching all the hash chains, instead start on the hash chain
    containing the volume being flushed.
    
    Change-Id: I7be67fdb310b4845d02dc916f4400f83cc649cb8
    Reviewed-on: http://gerrit.openafs.org/11892
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0b8e85c1f9c6d741e1b8556cc3be6b62c97e7937
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Feb 9 12:09:32 2015 -0500

    pagsh: do not call set[ug]id()
    
    Supposedly calling setuid(getuid()) and setgid(getgid()) would
    help pick up a new group list on some systems, in the depths
    of history.  In the absence of reason to believe this is still
    the case, drop the calls to avoid scary warnings about unchecked
    return values.
    
    Change-Id: I39e87a27fb52f5a6868b867c9325d4a5fa93ef58
    Reviewed-on: http://gerrit.openafs.org/11759
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c6ec6410afdb21cc6f2ecdf0d36559dc8f0fc6cd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Feb 9 10:38:04 2015 -0500

    Avoid unsafe scanf("%s")
    
    Reading user input into a fixed-length buffer just to check the
    first character is silly and an easy buffer overrun.  gcc on
    Ubuntu 13.03 warns about the unchecked return value for scanf(),
    but scanf("%s") is guaranteed to either succeed or get EOF/EINTR/etc..
    
    In any case, we don't need to use scanf() at all, here -- reuse an
    idiom from BSD cp(1) and loop around getchar to read the user's
    response, eliminating the fixed-length buffer entirely.  A separate
    initial loop is needed to skip leading whitespace, which is done
    implicitly by scanf().
    
    Change-Id: Ic5ed65e80146aa3d08a4b03c213f748ef088156b
    Reviewed-on: http://gerrit.openafs.org/11758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 74ffe9bc78a898361bdcb3b97cb512bac338c62a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 27 16:13:13 2015 -0400

    afs: Do not supply bogus poll vnodeops for FBSD
    
    We currently provide one which just always returns 1, but the
    kernel provides a vop_nopoll which conceptually is the same thing.
    That one, however, provides some feature checks and fails when
    consumers ask for fancy features that are not portable.
    
    Change-Id: Iba03904aac2883e18a1abdd4f09289b6c6f907c0
    Reviewed-on: http://gerrit.openafs.org/11882
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c19cadbf6a7b625f034f26245dcba225afc03aba
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Feb 6 14:15:11 2015 -0500

    Ignore return values more harder
    
    Building on Ubuntu 14.04 with gcc 4.8.2-19ubuntu1, we encounter
    fatal warnings about unchecked return values in uss, which is
    now always built, as of 00a33b26d74aa067086ddc340efb82184715857f.
    
    Change-Id: I997dcb683e33902c2765121c70bdcf21e9d5e892
    Reviewed-on: http://gerrit.openafs.org/11757
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 95b857399d71cb1f6619e625bff256f8c4c72c6a
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Apr 22 15:06:12 2015 -0300

    Linux: mmap: Apply recursion check only to recursion cases
    
    The CPageWrite flag was originally added to prevent a scenario
    where a thread doing "writepage" would realize that the cache
    was too full and that some of its contents need to be written
    back to the server.  Before writing back it would ask the OS to
    flush any dirty VM associated with the vcache entries that are
    to be written, to make sure the data is not stale.  This flush
    could itself trigger writeback, leading to deadly recursion.
    One such scenario is a process doing mmap writes to a file larger
    than the cache.
    
    With some kernel versions and some callers of writepage, this
    can cause the mapping to be marked as being in an error state,
    leading to EIO errors passed back to user space.
    
    Make the recursion check more specific to only bail when the
    calling thread is one that was originally seen writing.  A list
    of current writers is maintained instead of a single state flag.
    
    This lets other threads (like the flusher thread) go on with
    writeback to the same file, and limits the WRITEPAGE_ACTIVATE
    return case to call sites that can deal with it.
    
    In testing this helps avoid EIO errors when writing large
    chunks of data through mmap.
    
    Thanks to Yadav Yadavendra for extensive analysis and testing.
    
    Change-Id: Ic3136d7050c62e3ffac5e52441171f322b60fe86
    Reviewed-on: http://gerrit.openafs.org/11124
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cb0081604ef5369f34279c6eb77eb4d28406f2ac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 23 21:26:14 2012 +0000

    opr: Add new softsig implementation
    
    Signals and pthreaded applications are a poor match. OpenAFS has had
    the softsig system (currently in src/util/softsig.c) in an attempt to
    alleviate some of these problems. However, that implementation itself
    has a number of problems. It uses signal functions that are unsafe in
    pthreaded applications, and uses pthread_kill within its signal
    handlers. Over the years it has been responsible for a number of
    portability bugs.
    
    The old implementation continues to receive signals in the main thread
    of the application. However, the handler code is run within a seperate
    signal handler thread. When the main thread receives a signal a stub
    handler is invoked, which simply pthread_kill()s the signal handler
    thread.
    
    The new implementation simplifies things by only receiving signals in
    the handler thread. It uses only pthread-compatible signal functions,
    and invokes no code from within async signal handlers.
    
    A complete test suite is supplied.
    
    Change-Id: I4bac68c2f853f1e7578b54ddced3833a97dd3f82
    Reviewed-on: http://gerrit.openafs.org/6947
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit b8648dbefb3968329d20cad8976ce15947428678
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 20 10:57:53 2015 -0400

    afsio: switch BreakUpPath to strdup
    
    The current version of BreakUpPath is slightly broken, since
    commit 4e68282e26b0c4569d25d076d54274f0da47a691 -- it has two
    output parameters but takes only one length parameter for the
    size of the output buffers passed in.  The callers ended up using
    the shorter of the buffer lengths in question, so there is not
    a risk of a buffer overrun, but long paths would not be properly
    handled.
    
    There is not really any need to pass in a length at all, since
    what is going on is conceptually strdup, and there is no real
    need to use strlcpy at all.  Make the change from strlcpy to
    str(n)dup, and adjust callers to free the outputs as appropriate.
    
    While here, convert writeFile() to use goto and a cleanup handler
    to avoid leaks.
    
    Change-Id: Ib742cb73a6d70aa863c8d30423416887b977677b
    Reviewed-on: http://gerrit.openafs.org/11874
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 9076cbd58dd48801ad212f803f586fdc53d7b886
Author: Daria Phoebe Brashear <shadow@gmail.com>
Date:   Thu May 21 16:34:09 2015 -0400

    Add defines for recent darwin sysctl constants
    
    These were accidentally omitted from commit
    ab9bb6363ca95f658764fbb9fb68ec88f89a5b3f.
    
    Change-Id: Ic3374484eb79fe44a4032def1484c9ed733f9422
    Reviewed-on: http://gerrit.openafs.org/11875
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5c1237432edf4600111845d175c92252430d5f76
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Apr 20 10:41:53 2015 -0300

    Linux 4.1: Don't define or use ->write directly
    
    We no longer have to define a ->write operation, and we can't
    expect the underlying disk cache filesystem to have one.  Use
    the new __vfs_read/write helpers that will select the operation
    to use based on what's available for that particular filesystem.
    
    Change-Id: Iab923235308ff57348ffc2dc6d718dd64040656b
    Reviewed-on: http://gerrit.openafs.org/11849
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fcfa5ae2468d878db962a93d6013fcd3042e6c13
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Apr 20 10:37:40 2015 -0300

    Linux 4.1: No need for do_sync_read
    
    Make the test here a bit more specific. do_sync_read no longer
    exists, but we don't use it for new kernels.  Trying to define it
    here in terms of generic_file_read is not helpful as that doesn't
    exist anymore.
    
    Change-Id: Iffb059716165436c3439e66db15002cdec5dfc16
    Reviewed-on: http://gerrit.openafs.org/11848
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 810f0ccd0354dac30af024ca7b5acf3ebabf5f4b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Apr 22 13:43:43 2015 -0400

    kauth: fix clock skew detection
    
    Commit 5b3c1042969daec38ccb260e61d665eda0c713ea changed/removed some
    uses of abs() on unsigned time values. While the previous use of abs()
    was indeed incorrect, the result wasn't necessarily much better, even
    though it built with recent compilers, since it only checked for skew
    in one direction.
    
    Define and use a  macro to correctly evaluate the conditionals in 64-bit
    precision, avoiding C's integer promotion rules which prefer unsigned types
    (Date) to signed types of the same width (time_t on 32-bit systems).
    
    Change-Id: Ifcbe59e73942a52a8635cb0f43cce94fdeea85a3
    Reviewed-on: http://gerrit.openafs.org/11850
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit abca1fefc018e7f7ccc91ff31ada1d5e6d8076e0
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Wed Apr 22 09:58:48 2015 -0700

    afsd: Update list of supported flags
    
    afsd.c starts with a block comment listing the flags supported by the
    afsd command.  As the code has evolved this list has not been kept up
    to date.  Bring the list up to date.  Some obsolete options no longer
    have any backing code.  These are marked OBSOLETE.  Some obsolete
    options have code that says they are now deprecated.  These are
    marked IGNORED.
    
    Additionally fix a typo in backuptree's help text.
    
    Change-Id: I90ddf4db826c891bf1daf6959f94feee17d35f78
    Reviewed-on: http://gerrit.openafs.org/11857
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit df5f4925aa0f9f9e6e3b38f5804ad00e71a63d76
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 30 09:47:11 2015 -0400

    libafs: remove extraneous solaris headers from afs_util.c
    
    Remove several solaris specific headers from afs_util.c which are no
    longer needed.
    
    Change-Id: Id3874c90448215dc506b7ab9b5e695c2aeef50f3
    Reviewed-on: http://gerrit.openafs.org/11856
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ab9bb6363ca95f658764fbb9fb68ec88f89a5b3f
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Apr 16 13:12:05 2015 -0400

    osx: update afssettings for yosemite
    
    handle deprecated functions
    
    Change-Id: I437ec88b7909c38af247f44d58599da8810a72f2
    Reviewed-on: http://gerrit.openafs.org/11836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fda2bc874751ca479365dc6389c0eebb41a0bda1
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jun 17 21:08:14 2013 -0400

    Allocate pathname buffers dynamically
    
    This change reworks numerous places which formerly used potentially
    large on-stack buffers (of size AFSDIR_PATH_MAX) for constructing or
    storing pathnames.  Instead, these buffers are now allocated from the
    heap, either by using asprintf() to build a pathname in a correctly
    sized buffer or, where necessary, using malloc() to allocate a buffer
    of size AFSDIR_PATH_MAX.
    
    A few occurrances of AFSDIR_PATH_MAX-sized buffers are not changed;
    these are generally either globals or are contained within another
    data structure that is already allocated on the heap.
    
    [kaduk@mit.edu convert to cleanup-handler memory management where
    appropriate]
    
    Change-Id: Ib1986187a1c467e867d50280aaf1d8a86d9108c8
    Reviewed-on: http://gerrit.openafs.org/9985
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6f1979c83a4357c82be2e011b79d993b21e545f9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Jan 14 15:32:47 2015 -0500

    vol: use ffs from opr instead of inline
    
    volume.c defined its own ffs() macro if AFS_HAVE_FFS was not
    defined.  Now that ffs() is in opr, just use it from there always.
    
    Change-Id: Ia80a439924541be236b3221b9480143b511c885a
    Reviewed-on: http://gerrit.openafs.org/11674
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ec706b21530240d7fb66bad2f08513eff8f7c335
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Apr 13 12:05:12 2015 -0400

    Remove Linux 2.4 compat from RedHat packaging
    
    You can't package what you can't build.
    
    Change-Id: Ife3a46dfa1fee72b36d0f1fb21d82928aa8d83b6
    Reviewed-on: http://gerrit.openafs.org/11833
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit d457769173753a73c3f767294743ab486ed1d3e5
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:36:26 2015 -0400

    Remove linux24 conditionals from mcas/Makefile.osi
    
    Linux 2.4 has been desupported by OpenAFS.
    
    Change-Id: I7803d718ca9d2760a799f1ac2c438f8e6df8b9b9
    Reviewed-on: http://gerrit.openafs.org/11806
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit b3ad01ec0c091d43976061cb575224fc64aba6ee
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:34:49 2015 -0400

    Remove stale MakefileProto.LINUX.in conditionals
    
    Linux 2.4 and older are no longer supported; there's no need to
    keep the noise in this file.
    
    Change-Id: Ia1a968e0cdc1180e66bdedd0aa0638eadfd897fb
    Reviewed-on: http://gerrit.openafs.org/11805
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit 763a18f488a5d5677bb2f742c7b0b9a2b9d90409
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:23:43 2015 -0400

    Remove LINUX24 from src/rx
    
    These files are no longer used.
    
    Change-Id: Iebf85590e18c2542663ebdd279b126a3ab058213
    Reviewed-on: http://gerrit.openafs.org/11803
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit 91713206b0c414c82992fc3bb18da36995ae83c0
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:23:16 2015 -0400

    Remove LINUX24 from src/afs
    
    These files are no longer used.
    
    Change-Id: I4a7e0cc8c308399004c999b3769c77388794cfdd
    Reviewed-on: http://gerrit.openafs.org/11802
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit 83a27da150dd164f9f7afbb29163431c89a504bc
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:20:07 2015 -0400

    Remove linux22 and linux24 param files
    
    They are no longer used.
    
    Change-Id: I1337bf0e1239336e7ae39f88f484cb8237002302
    Reviewed-on: http://gerrit.openafs.org/11801
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit 7a998206127e03e48837380063566a464321604b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:17:59 2015 -0400

    Remove osconf conditionals for linux24
    
    They are no longer triggerable now that linux 2.4 is desupported,
    so make the code easier to read.
    
    Change-Id: I77b48d30db66b635cfdc06e977f9884dd2825713
    Reviewed-on: http://gerrit.openafs.org/11800
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit ccf353ede6ef5cce7c562993d1bea0d20844bdb7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 13:11:44 2015 -0400

    Mark Linux 2.4 as unsupported
    
    The Linux 2.4 series (and older) will not be supported platforms
    for OpenAFS 1.8 and later.  Detect these systems at configure time
    and direct users of those systems to the OpenAFS 1.6 series of releases.
    
    These systems are believed to not be in common use with OpenAFS,
    and retaining support for the LinuxThreads threading implementation
    they require presents a maintenance burden that the project is
    not equipped to deliver.  The project will be able to move forward
    more quickly by desupporting these systems.
    
    Code conditional on these old systems can be removed in subsequent
    commits.
    
    Change-Id: I679fc2390b35851f3b0457a846047c812bc03dba
    Reviewed-on: http://gerrit.openafs.org/11799
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Daria Brashear <shadow@your-file-system.com>

commit 6c62237ecd80077b0a72b24fec5db20b623eb897
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Feb 12 16:01:28 2015 -0500

    aklog: swap order of roken and hcrypto
    
    hcrypto depends on roken, so roken must come after it.
    
    Change-Id: Ic63de1f9095555a6c3e83f2f6d2f9d024ad00006
    Reviewed-on: http://gerrit.openafs.org/11743
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d1d411576cf39c4bc55918df0eb64327718d566c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 17 11:23:38 2014 -0500

    vos: remaddrs sub-command
    
    Introduce the vos remaddrs sub-command for removing multi-homed server
    entries from the vldb.  The remaddrs sub-command completes the listaddrs
    and setaddrs command suite and allows vos changeaddr to be deprecated
    completely.
    
    Change-Id: I98e92e776a153591a617a5b04037c3b6139d4732
    Reviewed-on: http://gerrit.openafs.org/11606
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams <3chas3@gmail.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 25373555f838ec7f9a7a1625e66c7d83108a62f2
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 18 10:35:33 2015 -0400

    Do not redeclare mutexes for darwin
    
    Partially revert commit e2e93aa8920c0b1bfc672a555a59eb4e15dbeaae,
    which added local declarations for des_init_mutex, des_random_mutex,
    and rxkad_random_mutex to a number of files in libadmin, apparently
    to fix the build on macos 10.3.  That OS is long EoL-ed, and
    more recent versions of OS X include toolchains that do not
    need these extra declarations.  In particular, the extra declarations
    can be harmful when these files start to pull in more symbols
    from our libraries (e.g., libafscp), since the details of the
    linking process can cause that to generate duplicate symbol errors.
    
    There is no longer any need to have local declarations of these
    symbols for OS X, so just remove them.
    
    Change-Id: Ie152387b4bd16b470054821fc8ddf852e1a4285c
    Reviewed-on: http://gerrit.openafs.org/11798
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 777870da86e9ed66756e01e858a54e959959482d
Author: Nathan Dobson <ndobson@andrew.cmu.edu>
Date:   Fri Mar 20 18:32:22 2015 -0400

    aklog: Correct size used for strlcpy()
    
    When copying into the 'cell' array, use the size of cell, not
    the size of some other array that is copied into a few lines previously.
    
    Change-Id: Ib8b523901dd8008038c5a95a7c315b899cff8cee
    Reviewed-on: http://gerrit.openafs.org/11807
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7ae8e64d1ee79c23da96c326111fdc40015ed5a6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Feb 9 18:16:16 2015 -0500

    pioctl.c: restore required result variable
    
    Commit b9fb9c62a6779aa997259ddf2a83a90b08e04d5f refactored lpioctl()
    so that LINUX would have its own implementation. This also simplified
    the other lpioctl() implementations by removing superfluous variable
    'rval'.
    
    Unfortunately, 'rval' was actually required for both DARWIN and SUN511.
    On both of these platforms, the address of 'errcode' is passed
    to the respective ioctl_*() routine so its value may be passed back
    to lpioctl().   Therefore, 'errcode' must not also be used for the
    return value from these functions;  doing so results in the return
    value from the function overwriting the intended value of 'errcode' upon
    return to lpioctl().
    
    In the case of Solaris 11, ioctl_sun_afs_syscall() always returns zero
    (as long as the ioctl device 'dev/afs' opened successfully).
    So 'errcode' was always being set to zero, even if the pioctl had
    actually failed.  For example, without this fix, 'fs listcells'
    loops forever on Solaris 11, listing an infinite number of "cells",
    because it will never "see" the EDOM that informs it of the last defined
    cell.
    
    Partially revert b9fb9c62a6779aa997259ddf2a83a90b08e04d5f by restoring
    the 'rval' variable and logic for DARWIN and SUN511.
    
    Change-Id: I4407af29d54813689cf8ccf2517bb2df4dd8eb25
    Reviewed-on: http://gerrit.openafs.org/11734
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 026fcc6f975dbc13ac39d3276d28a48a9b56ee7d
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu Feb 5 12:07:50 2015 +0100

    bos, pts: emit error messages on stderr
    
    as one expects.
    
    Change-Id: Icb67a05b61ddcef8def826768491b9a1952862e9
    Reviewed-on: http://gerrit.openafs.org/11605
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c73d151853a80806247126730a0ffbd984508559
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Feb 11 19:02:00 2015 -0500

    Namespace-clean some more heimdal symbols
    
    We get linker conflicts if we try to statically link against the
    system libkrb5 when it is heimdal, from both hcrypto and rfc3961.
    
    While here, add an include guard to hcrypto's config.h.
    
    Change-Id: Ib5fcd9291b295415325a4ed230bd35d496961367
    Reviewed-on: http://gerrit.openafs.org/11740
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5b3c1042969daec38ccb260e61d665eda0c713ea
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Feb 13 09:47:20 2015 -0500

    Fix incorrect uses of abs()
    
    abs(3) is a function of one variable of type int returning int.
    labs(3) is a function of one variable of type long returning long.
    
    labs(3) should be used when the input is of type long, as in
    kaprocs.c.
    
    Calling anything from the abs(3) family on a variable of unsigned
    type is a bogus type pun, and a logical operation which is a no-op.
    (Unsigned values are never negative and thus the absolute value
    function is the identity over the entire range of values representable
    in an unsigned type.)  Just remove the use of abs() for unsigned
    values, as in kaprocs.c, krb_udp.c, and vldb_check.c
    
    While in kaprocs.c, wrap a long line that was touched for the
    conversion to labs(3), spell the argument to time(3) as NULL
    instead of 0, remove unneeded parentheses, and correct the spelling
    of "reserved".
    
    Change-Id: I0897b250fd885a1230d1622015eec9afe3450b46
    Reviewed-on: http://gerrit.openafs.org/11745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit fb499c2406450fa5dc423a0b038266d3b8e79e33
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Feb 11 17:47:10 2015 -0500

    Remove spurious NULL checks
    
    clang 3.5 is more aggressive about these checks than the previous
    FreeBSD system compiler, so new warnings (which became errors)
    appeared on FreeBSD 11-CURRENT.
    
    In afs_dcache.c, checking &tdc->f for NULL-ness has no effect.
    The struct fcache f member of struct dcache is an ordinary structure
    element; its address will be the value of tdc plus the offset of
    f within struct dcache, which will not be NULL even if tdc is NULL.
    
    In ubik_db_if.c, udbHandle is a file-scope global and thus has
    allocated storage; the address of a member variable will never
    be NULL.  The 0 it was compared against was spelled RX_SECIDX_NULL,
    which shows the intended check, which is for the value of the
    uh_scIndex member variable, not its address.
    
    In afscp_server.c, srv->conns can never be NULL since conns is a member
    variable of struct afscp_server (of array type, containing pointers
    to struct rx_connection).  Comparing the array member variable against
    NULL is comparing the address of the array, which is never NULL since
    it is not allocated separately from struct afscp_server.
    
    In fssync-debug.c, state.vop->partName is never NULL because
    common_volop_prolog always allocates for state.vop, and the
    partName member variable of struct fssync_state is of array type,
    and thus is not separately allocated from the containing structure.
    
    Change-Id: I03e1332d8a3320f1a4d303b444985648a207116e
    Reviewed-on: http://gerrit.openafs.org/11739
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8cb4a42496f71c3d47ebe30a96ec33478e203c82
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Feb 26 10:13:50 2015 +0100

    Update CellServDB to 20150119 snapshot
    
    Update all remaining copies of CellServDB in the tree, and make the
    Red Hat packaging use it by default too.
    
    Change-Id: Id915a82b1364ef6e301921e4d3873c7203aef91c
    Reviewed-on: http://gerrit.openafs.org/11764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 1cc77cd43732cca1c617db329a71693903d2b699
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Dec 16 16:13:01 2014 -0500

    vlserver: do not perform ChangeAddr on mh entries, except for removal
    
    Fix a long standing bug in the ChangeAddr RPC which damages the vldb,
    
    When vos changeaddr is run with -oldaddr and -newaddr, and the -oldaddr
    is present in an multi-homed entry, instead of changing the address in
    the mh entry, the server slot is "downgraded" to a single homed entry
    and the mh entry is orphaned in the vldb.
    
    Instead, if the -oldaddr is in a multi-home entry, refuse to change the
    address with a VL entry not found error and log the event.
    
    Multi-homed addresses can be changed manually using the vos setaddrs
    command which calls the RegisterAddrs() RPC.
    
    Change-Id: I20ba3e7fa5ffdb1b1abd2e2a716d8e4bb6594542
    Reviewed-on: http://gerrit.openafs.org/11639
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 30667a5d7b86b29f9aafe2b490d89b8e01bfc541
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 11 01:25:04 2015 -0500

    ubik: DISK_UpdateInterfaceAddr == server restart
    
    If a DISK_UpdateInterfaceAddr RPC is received the server that sent
    it restarted.  Force the urecovery code to verify the server state.
    
    Change-Id: I465863dc3a52d844b56d576bd55229435556cfd6
    Reviewed-on: http://gerrit.openafs.org/11738
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d47beca13236c64ed935fabeff9d1001e8a8871f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 22 01:14:28 2015 -0500

    ubik: SDISK_Begin no quorum, wrong db, no transaction
    
    When processing an DISK_Begin RPC verify that there is an active quorum
    and that the local database is current.  Otherwise, fail the RPC with
    a UNOQUORUM error.
    
    The returned error must be UNOQUORUM instead of USYNC becase the returned
    error code will be returned by the coordinator's ContactQuorum_iterate()
    to the client that triggered the write transaction.  Most ubik clients
    will only retry if the error is UNOQUORUM.
    
    FIXES 131997
    
    Change-Id: Icaa30e6aca82e7e7d33e9171a4f023970aba61df
    Reviewed-on: http://gerrit.openafs.org/11689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5cca05d1a1c9883e33c953b31c4cb32252474f77
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Mon Feb 23 00:13:05 2015 -0500

    Linux 4: struct address_space no longer has backing_dev_info
    
    The backing_dev_info is only stored in the super_block now.
    
    Change-Id: I57e147100bd47a8d1f5e97224ceb3322ea102a48
    Reviewed-on: http://gerrit.openafs.org/11756
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a5b091e1ec69d4a43d6f1b1efc93134ef7ed2167
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sun Feb 22 23:43:49 2015 -0500

    Treat Linux 4 (and greater) as Linux 2.6/3
    
    In an age where Linux version numbers are determined by Google+ polls,
    it’s clear that they aren’t going to be very useful for marking major
    API compatibility boundaries like they were in the days of 2.2/2.4.
    
    Change-Id: I56e0e88eb178573c3eb280d5a5a01d8b8a20a363
    Reviewed-on: http://gerrit.openafs.org/11755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e02b852f05c0927d48b6467872378bae99df2760
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Tue Feb 17 15:34:33 2015 +0100

    Document --enable-linux-d_splice_alias-extra-iput
    
    Even though we hope no one will actually ever need to use it, explain
    this configure switch in the same place as the others.
    
    Change-Id: Ib59f963b9000c3e66dc84c7b18eb220f0e108bd5
    Reviewed-on: http://gerrit.openafs.org/11749
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 7266685a03b12ca03c247623e7ffdc054a017382
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 29 12:14:24 2014 -0400

    vos: preserve cloneId and backupId when restoring
    
    Preserve the volume clone and backup ids in the volume header when
    restoring over an existing volume, instead of always setting the clone
    and backup ids to zero.
    
    For example, before this change, restoring over a volume resets the
    ROnly and Backup ids reported in the volume header section of vos
    examine.
    
        $ vos examine xyzzy
        xyzzy                          536871023 RW          3 K  On-line
            myhost /vicepa
            RWrite  536871023 ROnly  536871024 Backup  536871025
         ...
         RWrite: 536871023     ROnly: 536871024     Backup: 536871025
            number of sites -> 2
               server myhost partition /vicepa RW Site
               server myhost partition /vicepa RO Site
    
        $ cat /tmp/xyzzy.dump | vos restore myhost a xyzzy -overwrite incremental
        Restoring volume xyzzy Id 536871023 on server myhost partition /vicepa .. done
        Restored volume xyzzy on myhost /vicepa
    
        $ vos examine xyzzy
        xyzzy                          536871023 RW          3 K  On-line
            myhost /vicepa
            RWrite  536871023 ROnly          0 Backup          0
         ...
         RWrite: 536871023     ROnly: 536871024     Backup: 536871025
            number of sites -> 2
               server myhost partition /vicepa RW Site
               server myhost partition /vicepa RO Site
    
    Change-Id: If7ffcf84a983046c10d9d215d672a6a1ba1f9400
    Reviewed-on: http://gerrit.openafs.org/11516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 34e495d69a8831c57cac2ccf18898e63f02c7745
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Dec 10 14:07:14 2014 -0500

    Handle backupDate of zero
    
    In older versions of OpenAFS (prior to 2001), the backupDate was
    never set.  Try to provide somewhat more reasonable behavior in
    this case, by using a different date in that case.
    
    Change-Id: Id74ce003c6a2317b06e78ba64d6891229c16421a
    Reviewed-on: http://gerrit.openafs.org/11627
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d14ad1374d39693d8a44c75f4d95607a45b260d2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 13:38:01 2014 -0600

    libafscp: Remove comment with dead code
    
    You're not supposed to write the length of the submitted data on the
    split rx stream for a StoreData operation; the fileserver knows how
    much data to read from the "Length" parameter of the StoreData RPC.
    
    For a FetchData, putting the data length over the split rx stream is
    required, since we can't get the "OUT" arguments before reading the
    file data. But for a StoreData, this is unnecessary, since the length
    is right there in the arguments.
    
    So just get rid of this commented-out code; it's clearly wrong and
    this commit explains why.
    
    Change-Id: Idde0f9079e90da75d71a142f4a9f36a84ce79776
    Reviewed-on: http://gerrit.openafs.org/10786
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d309b193671a85c118e75c82171144c52ad1c48c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 00:02:24 2014 -0600

    rx: Set lastBusy on RX_CALL_TIMEOUT
    
    Currently, if a server RPC hangs forever, the client call will error
    out with RX_CALL_TIMEOUT (if idle/dead timeouts are configured). If we
    later try to make a new call on that conn, the server will respond
    with BUSY packets, and we'll have to wait until we RX_CALL_TIMEOUT
    again. After that we'll set lastBusy and avoid the call channel, but
    that extra delay with the BUSY packets is avoidable.
    
    So, avoid this extra delay by setting lastBusy when we kill a call
    with RX_CALL_TIMEOUT, so a future rx_NewCall will avoid the call
    channel. It makes sense to set lastBusy here, since the call channel
    is more likely to be busy than the other call channels.
    
    Change-Id: Iadf77f52ae418491e3108a4b0b5388361f2424aa
    Reviewed-on: http://gerrit.openafs.org/10785
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 28f9712b4b1c615e5d0b565fbcaa828b559bff4a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 00:40:57 2014 -0600

    rx: Remove RX_CALL_BUSY
    
    Commit 23d6287f7f494383891a497038e8c0e870e824bf introduced the
    behavior where a client can immediately retry a call if it receives a
    "busy" packet from the server (meaning, the call channel is already in
    use). This happened via Rx returning the error code RX_CALL_BUSY, and
    the caller was supposed to immediately retry the call, so Rx could
    reissue the RPC on a different call channel.
    
    However, this behavior makes it more likely for the server to process
    an RPC that the client thinks has not been processed. Say the client
    issues an RPC, the server replies with a "busy" packet, and the client
    resends the original packet before it sees the "busy" packet. In
    this case, the server will get the resent packet for the RPC request
    and process it, but the client will think the call has failed (and
    presumably will retry the call on a new channel). For calls that are
    non-idempotent (e.g. MakeDir), this can result in incorrect errors
    (e.g. EEXIST) as well as incorrect cache state in the client.
    
    There may be some ways to mitigate at least some of the problems here,
    but this kind of "instant" retry behavior is often not really that
    helpful. Calls that take a very long time to run on the server are
    very rare (and usually indicate some other problem), while the
    occasional short-lived "busy" packet is relatively common (sometimes
    the server just hasn't cleaned up the call by the time we issue a new
    call). So just get rid of the retrying behavior to ensure we don't
    continue to encounter any problems like this.
    
    To get rid of this behavior, we remove the RX_CALL_BUSY code, and all
    code dealing with processing it. This means removing the RX_CALL_BUSY
    handling from the client, as well as removing
    rx_SetBusyChannelError(). This effectively reverts most of
    23d6287f7f494383891a497038e8c0e870e824bf, and a few other commits
    related to RX_CALL_BUSY.
    
    With this change, if all we get from the server are BUSY packets when
    we try to issue an RPC, the call will eventually error out with
    RX_CALL_TIMEOUT (or hang forever, if no timeouts are configured). This
    can be thought of intuitively as similar to "idle dead" behavior,
    since we are just waiting for the server to proceed with processing
    the call. So, if "idle dead" is configured, we still timeout after the
    "idle dead" timeout. And if no idle or hard dead timeout is
    configured, we will hang forever; just like if the server started
    processing the call but then hangs forever.
    
    Note that not all of 23d6287f7f494383891a497038e8c0e870e824bf is
    reverted. Namely, the logic to have rx_NewCall try to pick the "least
    busy" channel is retained.
    
    Thanks to Simon Wilkinson for bringing up and discussing this issue in
    this thread:
    <http://thread.gmane.org/gmane.comp.file-systems.openafs.devel/10931>
    <https://lists.openafs.org/pipermail/openafs-devel/2013-April/019297.html>
    
    Change-Id: I272e51f252356aa14bc4b8a3b7c594700deb432c
    Reviewed-on: http://gerrit.openafs.org/10784
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0f339711ebf7b7a76e299f9ab9ee74264bedb0d2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 00:39:39 2014 -0600

    rx: Remove RX_CALL_IDLE
    
    After change Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17, RX_CALL_IDLE
    is not generated by Rx anymore; "idle dead" timeouts just cause
    RX_CALL_TIMEOUT errors. Any code dealing with it is thus now dead code
    (this value was deliberately never sent over the wire), so remove the
    dead code.
    
    Change-Id: I2b38327f77ffc8168712b83506afa1da3eea1224
    Reviewed-on: http://gerrit.openafs.org/10783
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 846f2c8eae4968d1c400d18ec66ca1daf5fdef02
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 00:36:22 2014 -0600

    rx: Remove idleDeadDetection
    
    After change Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17,
    testing for idleDeadDetection is equivalent to testing if idleDeadTime
    is non-zero. The idleDeadDetection field is thus redundant, so remove
    it.
    
    Change-Id: Id11f2829167f4de1505cee286dcc7c56b431a5a6
    Reviewed-on: http://gerrit.openafs.org/10782
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7acac948fcda0e772326a26ad24481ccf1ae31ef
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 27 00:36:14 2014 -0600

    rx: Rely on remote startWait idleness for idleDead
    
    This commit removes the functionality introduced in
    c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1 (which is also modified by a
    few later commits), as well as
    05f3a0d1e0359f604cc6162708f3f381eabcd1d7. Instead we modify the
    startWait check in rxi_CheckCall to apply to both "reading" and
    "writing" to enforce "idle dead" timeouts.
    
    Why do this? First, let's start out with the following:
    
    If an Rx call gets permanently "stuck", what happens? What should
    happen?
    
    Here, "stuck" means that either the server or client hangs while
    processing the call. The server or client is waiting for something to
    complete before it issues the next rx_Read() or rx_Write() call. In
    various situations over the years, this has happened because the
    server or client is waiting for a lock, waiting for local disk I/O to
    complete, or waiting for some other arbitrary event to occur.
    
    Currently, what happens with such a "hanging" call is a little
    complex, and has several different results in different situations.
    The behavior of a call in this "stuck" situation is handled by the
    "idle dead" timeout of an Rx call/connection. This timeout is enforced
    in rxi_CheckCall, in two different conditionals (if an "idle dead"
    timeout is configured):
    
        if (call->startWait && ((call->startWait + idleDeadTime) < now) &&
            (call->flags & RX_CALL_READER_WAIT)) {
            if (call->state == RX_STATE_ACTIVE) {
                cerror = RX_CALL_TIMEOUT;
                goto mtuout;
            }
        }
    
    and
    
        if (call->lastSendData && ((call->lastSendData + idleDeadTime) < now)) {
            if (call->state == RX_STATE_ACTIVE) {
                cerror = conn->service ? conn->service->idleDeadErr : RX_CALL_IDLE;
                idle_timeout = 1;
                goto mtuout;
            }
        }
    
    The first of these handles the case where we are waiting to rx_Read()
    from a call for too long (the other side of the call needs to give us
    more data). The second handles the case where we are waiting to
    rx_Write() for too long (the other side of the call needs to read some
    of the data we sent previously).
    
    This second case was added by commit
    c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1, but it has the general
    problem that this check does not check if anyone is actually trying to
    write to the call, and just tries to keep track of the last time we
    wrote to the call. So, we may have written some data to the call
    successfully, and then we went off to do something else. We can then
    kill the call later for taking too long to write to, even though
    nobody is trying to write to it. This results in a few problems:
    
     (1) When the fileserver is writing to the client, it may need to wait
         for various locks and it may need to wait for local disk I/O to
         complete. If this takes too long for any reason, the fileserver
         will kill the call (currently with VNOSERVICE), but the thread
         for servicing the call will still keep running until whatever the
         fileserver was waiting for finishes.
    
     (2) lastSendData is set whenever we send any ACK besides an
         RX_ACK_PING_RESPONSE (as of commit
         658d2f47281306dfd46c5eddcecaeadc3e3e7fa9). If we are the server,
         and we send any such ACK (in particular, RX_ACK_REQUESTED is
         common), the "idle dead" timer starts. This means the server can
         easily kill a call for idleness even if the server has never sent
         the client anything, and even if the server is still actively
         reading from the client.
    
     (3) When a client tries to issue an RPC for the server, the "idle
         dead" timeout effectively becomes a hard dead timeout, since we
         will write the RPC arguments to the Rx stream, and then wait for
         the server to respond with the output arguments. During this
         time, our 'lastSendData' is the last time we sent our arguments
         to the server, and so the call must finish before
         'call->lastSendData + idleDeadTime' is in the past.
    
    In addition to this "idle dead" processing, commit
    05f3a0d1e0359f604cc6162708f3f381eabcd1d7 appears to attempt to provide
    "idle dead"-like behavior by disabling Rx keepalives at certain points
    (when we're waiting for disk I/O), controlled by the application
    process (currently only the fileserver). The idea is that if
    keepalives are disabled, the server will just appear unreachable to
    the client, and so if disk I/O takes too long, the client will just
    kill the call because it looks like the server is gone. However, this
    also has some problems:
    
     (A) Clients send their own keepalives, and the server will still
         respond to them. So, the server will not appear to be
         inaccessible anyway. But even if it did work:
    
     (B) This approach only accounts for delays in disk I/O, and not
         anywhere else (we could hang for a wide variety of reasons). It
         also requires the fileserver to decide when it's okay for a call
         to be killed due to "idle dead" and when it's not, which
         currently seems to be decided somewhat arbitrarily.
    
     (C) This doesn't really let the client dictate its own "idle dead"
         timeout for idleness specifically; it just looks like the server
         went away.
    
     (D) The fileserver would appear to be unreachable in this situation,
         but it's not actually unreachable. This can be confusing to
         clients, since distinguishing between a server that is completely
         down vs just taking too long is an important distinction.
    
     (E) As noted in (1) above, the fileserver thread will still keep
         waiting for whatever it has been waiting for, even though the
         call has been killed and is thus useless.
    
    So instead of all of this stuff, just modify the rxi_CheckCall "idle
    dead" check to depend on the call->startWait parameter instead. This
    parameter will be set whenever anyone is waiting for something to
    proceed in the call, whether that is waiting to read data or write
    data. This should make "idle dead" processing much simpler, as it is
    reduced to effectively: if we've been waiting for longer than N
    seconds, kill the call.
    
    This involves ripping out much of the code related to lastSendData and
    rx_KeepAlive*. This means removing the call->lastSendData field and
    the rx_SetServerIdleDeadErr function, since those were only used for
    the behavior in c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1. This also
    means removing rx_KeepAliveOn and rx_KeepAliveOff, since those were
    only used for the behavior in
    05f3a0d1e0359f604cc6162708f3f381eabcd1d7. This commit also removes the
    only known use of the VNOSERVICE error code, so add some comments
    saying what this code was used for (especially since it is quite
    different from other V* error codes).
    
    Note that the behavior in (1) could actually be desirable in some
    situations. In environments that have clients without "idle dead"
    functionality, and those clients cannot be upgraded or reconfigured,
    this commit means those clients may hang forever if the server hangs
    forever. Some sites may want the fileserver to be able to kill such
    hanging calls, so the client will not hang (even if it doesn't free up
    the fileserver thread). However, such behavior should really be a
    special case for such sites, and not be the default behavior (or only
    behavior) for all sites. The fileserver should just be concerned with
    maintaining its own threads and availability, and clients should
    manage their own timeouts and handle hanging servers.
    
    Thanks to Markus Koeberl, who originally brought attention to some of
    the problematic behavior here, and helped investigate what was going
    on in the fileserver.
    
    Change-Id: Ie0497d24f1bf4ad7d30ab59061f96c3298f47d17
    Reviewed-on: http://gerrit.openafs.org/10773
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1f2818192fef9bd2707068414e8800dfc56b681e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 10 02:36:03 2015 -0500

    Windows: Fake status info on EACCES
    
    When enumerating a directory if status info for an entry cannot be
    obtained, fake it.  Do not return STATUS_ACCESS_DENIED to the redirector
    as that will be interpreted as the directory not being listable.
    
    Change-Id: I488f5d8d244c363135e00e156a685cd56fd060c8
    Reviewed-on: http://gerrit.openafs.org/11736
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0008ca80a873975e042993b30cbdc47d8f8f116b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 22 19:48:32 2015 -0500

    Windows: foo.backup -> foo.backup too many symlinks
    
    In the case where an explicit mount point to a .backup volume is
    resolved from a .backup volume the cache manager refuses to evaluate
    the mount point target.  This is meant to address unwanted recursion
    in the directory tree searches.
    
    Change the error code to ERROR_TOO_MANY_SYMLINKS and propagate that
    error to the AFS redirector.  That will result in the application
    receiving STATUS_ACCESS_DENIED instead of
    STATUS_REPARSE_POINT_NOT_RESOLVED.
    
    The STATUS_REPARSE_POINT_NOT_RESOLVED error causes cmd.exe and
    powershell.exe to terminate recursive directory searches.
    
    Change-Id: I5dfdd835e8696b823af45a8e5c33a5ca6320cf31
    Reviewed-on: http://gerrit.openafs.org/11693
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 73cad3be0a3489237ab7e66d3b12c52ffb0b67d0
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Jun 16 16:28:22 2013 -0400

    Ignore return values harder
    
    In various places where we intentionally ignore the return values of system
    calls and standard library routines, this changes the way in which we do so,
    to avoid compiler warnings when building on Ubuntu 12.10, with gcc 4.7.2 and
    eglibc 2.15-0ubuntu20.1.
    
    Change-Id: I41f806a686d68b02aec2847886bd5d787cbff3d3
    Reviewed-on: http://gerrit.openafs.org/9980
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a762e6871ad6837ee126cec9e63d99388b4bf119
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 4 10:25:38 2015 -0600

    rx: Zero unitialized uio structs
    
    We use some uio structures that were allocated on the stack, but we
    only initialize them by initializing individual fields. On some
    platforms (Solaris is one known example, but probably not the only
    one), there are additional fields we do not initialize. Since we
    cannot be certain of what any additional fields there may be, just
    zero the whole thing.
    
    This is basically the same change as
    I0eae0b49a70aee19f3a9ec118b03cfb3a6bd03a3, but in the rx subtree.
    
    Change-Id: I400144143bb1f47409eccb931daacc8a5058e074
    Reviewed-on: http://gerrit.openafs.org/11711
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit c16ec571273b03e9d4f4905efdeaa2182bbe0c6a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Nov 5 14:26:36 2014 -0500

    Deorbit AIX-specific QuickStartGuide bits
    
    Although there are still servers deployed on AIX systems,
    there may not be any clients in use, and it is unlikely that
    there will be new deployments which require this documentation.
    
    Change-Id: Id6554e120cb01c5d4de5c7de67e74e802b7ea217
    Reviewed-on: http://gerrit.openafs.org/11592
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ca66b1aff35b31a944679656ca71546768c91c47
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Nov 5 14:26:36 2014 -0500

    Deorbit HP-UX-specific QuickStartGuide bits
    
    Get the rest of them all at once.
    
    Change-Id: Idb33746d43a4a1a9f41e21d7f6d81360ecdd952e
    Reviewed-on: http://gerrit.openafs.org/11591
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 69e84bd8a2ccc6065c3a06b7239c855207b92e4d
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Jan 14 10:22:25 2015 -0500

    LINUX: ensure mvid is set on root vnodes
    
    it shoudn't happen that we aren't setting mvid on root vnodes,
    so assert so we notice if the invariant is violated
    
    Change-Id: I32c8aa4dced8751d11817d74508b87ff44261837
    Reviewed-on: http://gerrit.openafs.org/11669
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 31e4a030f58f7ecb0cbc4236cab3d7cc25f29ccb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 22 19:36:59 2015 -0500

    afs: refactor afs_linux_dentry_revalidate
    
    No functional change.   Separate the
    
      if (locked && vcp->mvstat == 1) { ... }
    
    conditional into
    
      if (locked) {
        if (vcp->mvstat == 1) { ... }
      }
    
    in preparation for another change.
    
    Change-Id: I1fe42ed7771882ce365d9359a4e6187c283592a8
    Reviewed-on: http://gerrit.openafs.org/11692
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 381c7afbe60a0e6d53e8cc1bca2de920574b3383
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 21 14:58:35 2015 -0500

    bozo: do not exit when the client config already exists
    
    The bosserver creates symlinks for the client CSDB and ThisCell config
    files during initialization.  Avoid exiting if the client CSDB or
    ThisCell configuration already exists, otherwise the bosserver cannot be
    restarted with bos restart.
    
    This fixes an error introduced with commit
    720363fa9bf7cfbebdc485104b74ca6bac1895f6, Fix unchecked return values.
    
    Change-Id: Ie6ecf126d1ed663f161c26da2a8c4d568369d99d
    Reviewed-on: http://gerrit.openafs.org/11684
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d908845831ec6d6f641b06926b6724bd4818043c
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Mon Jan 19 19:35:41 2015 -0800

    doc: backup manpage fix
    
    While reviewing gerrit 11678 I noticed the -n flag was
    duplicated.  Remove the duplicate flag.
    
    Change-Id: I4a63a50199e1564a0b0394445e9dc1569bb08a0c
    Reviewed-on: http://gerrit.openafs.org/11688
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5ef1de5eddccce0e7b135bb9ed4decaa62fc19ce
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 30 13:29:57 2015 -0600

    afs: Zero uninitialized uio structs
    
    In several places in the code, we allocate a 'struct uio' on the
    stack, or allocate one from non-zeroed memory. In most of these
    places, we initialize the structure by assigning individual fields to
    certain values. However, this leaves any remaining fields assigned to
    random garbage, if there are any additional fields in the struct uio
    that we don't know about.
    
    One such platform is Solaris, which has a field called uio_extflg,
    which exists in Solaris 11, Solaris 10, and possibly further back.
    One of the flags defined for this field in Solaris 11 is UIO_XUIO,
    which indicates that the structure is actually an xuio_t, which is
    larger than a normal uio_t and contains additional fields. So when we
    allocate a uio on the stack without initializing it, it can randomly
    appear to be an xuio_t, depending on what garbage was on the stack at
    the time. An xuio_t is a kind of extensible structure, which is used
    for things like async I/O or DMA, that kind of thing.
    
    One of the places we make use of such a uio_t is in afs_ustrategy,
    which we go through for cache reads and writes on most Unix platforms
    (but not Linux). When handling a read (reading from the disk cache
    into a mapped page), a copy of our stack-allocated uio eventually gets
    passed to VOP_READ. So VOP_READ for the cache filesystem will randomly
    interpret our uio_t as an xuio_t.
    
    In many scenarios, this (amazingly) does not cause any problems, since
    generally, Solaris code will not notice if something is flagged as an
    xuio_t, unless it is specifically written to handle specific xuio_t
    types. ZFS is one of the apparent few filesystem implementations that
    can handle xuio_t's, and will detect and specially handle a
    UIOTYPE_ZEROCOPY xuio_t differently than a regular uio_t.
    
    If ZFS gets a UIOTYPE_ZEROCOPY xuio_t, it appears to ignore the uio
    buffers passed in, and supplies its own buffers from its cache. This
    means that our VOP_READ request will return success, and act like it
    serviced the read just fine. However, the actual buffer that we passed
    in will remain untouched, and so we will return the page to the VFS
    filled with garbage data.
    
    The way this typically manifests is that seemingly random pages will
    contain random data. This seems to happen very rarely, though it may
    not always be obvious what is going on when this occurs.
    
    It is also worth noting that the above description on Solaris only
    happens with Solaris 11 and newer, and only with a ZFS disk cache.
    Anything older than Solaris 11 does not have the xuio_t framework
    (though other uio_extflg values can cause performance degradations),
    and all known non-ZFS local disk filesystems do not interpret special
    xuio_t structures (networked filesystems might have xuio_t handling,
    but they shouldn't be used for a cache).
    
    Bugs similar to this may also exist on other Unix clients, but at
    least this specific scenario should not occur on Linux (since we don't
    use afs_ustrategy), and newer Darwin (since we get a uio allocated for
    us).
    
    To fix this, zero out the entire uio structure before we use it, for
    all instances where we allocate a uio from the stack or from
    non-zeroed memory. Also zero out the accompanying iovec in many
    places, just to be safe. Some of these may not actually need to be
    zeroed (since we do actually initialize the whole thing, or a platform
    doesn't have any additional unknown uio fields), but it seems
    worthwhile to err on the side of caution.
    
    Thanks to Oracle for their assistance on this issue, and thanks to the
    organization experiencing this issue for their patience and
    persistence.
    
    Change-Id: I0eae0b49a70aee19f3a9ec118b03cfb3a6bd03a3
    Reviewed-on: http://gerrit.openafs.org/11705
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit b9647ac1062509d6a3997ca575ab1542d04677a2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 30 13:08:19 2015 -0600

    SOLARIS: Avoid uninitialized caller_context_t
    
    Currently we pass a caller_context_t* to some of Solaris' VFS
    functions (VOP_SETATTR, VOP_READ, VOP_WRITE, VOP_RWLOCK,
    VOP_RWUNLOCK), but the pointer we pass is to uninitialized memory.
    
    This code was added in commit 51d76681, and this particular argument
    is mentioned in
    <https://lists.openafs.org/pipermail/openafs-info/2004-March/012657.html>,
    where the author doesn't really know what the argument is for.
    
    Over 10 years later, it's still not obvious what this argument does,
    since I cannot find any documentation for it. However, browsing
    publicly-available Illumos/OpenSolaris source suggests this is used
    for things like non-blocking operations for network filesystems, and
    is only interpreted by certain filesystems in certain codepaths.
    
    In any case, it's clear that we're not supposed to be passing in an
    uninitialized structure, since the struct has actual members that are
    sometimes interpreted by lower levels. Other callers in
    Illumos/OpenSolaris source seem to just pass NULL here if they don't
    need any special behavior. So, just pass NULL.
    
    I am not aware of any issues caused by passing in this uninitialized
    struct, and browsing Illumos source and discussing the issue with
    Oracle engineers suggest there would currently not be any issues with
    the cache filesystems we would be using.
    
    However, it's always possible that issues could arise from this in the
    future, or there are issues we don't know about. Any such issues would
    almost certainly appear to be non-deterministic and be a nightmare to
    track down. So just pass NULL, to avoid the potential issues.
    
    Change-Id: I41babe520530ba886d1877de99eb1644c1b9f699
    Reviewed-on: http://gerrit.openafs.org/11704
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit cb6de07fb8a12199ad0f1c4990f19074a9a54fcc
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Wed Sep 17 09:41:16 2014 +0200

    use V_creationDate in DumpHeader for R/O volumes
    
    This patch modifies a patch committed as 1e6fb1b7b7, the dumpTimes.to is now
    set to creationDate for R/O volumes. The old value copyDate is wrong, if the
    R/O volumes is re-cloned. This does not happen with "vos dump -clone", but
    may happen with dumping a R/O volume directly: "vos dump <R/O volume>".
    
    Change-Id: Ia3ae7e1ae4a22aa47f0f28fac45077ff6789e720
    Reviewed-on: http://gerrit.openafs.org/11468
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 40d97fa9f0356fce7aec76d69dbacb81eac3db37
Author: Antoine Verheijen <apv@ualberta.ca>
Date:   Tue Jan 27 19:49:04 2015 -0700

    OpenBSD: Clean up use of LK_CANRECURSE in call to lockmgr()
    
    The LK_CANRECURSE and LK_RECURSEFAIL flags in the call to lockmgr()
    are mutually exclusive. Previous version of OpenBSD didn't really
    check well for this but more recent versions look for the conflict
    and take a kernel panic when they're both set.
    
    The OpenBSD kernel module currently just blindly sets the
    LK_CANRECURSE flag in its call to lockmgr(). This patch changes
    that behaviour so that it checks to make sure that the LK_RECURSEFAIL
    flags is not set before it actually applies the LK_CANRECURSE flag.
    That removes the kernel panics that have started to arise.
    
    This behaviour is more consistent with other OpenBSD code that makes
    use of the LK_CANRECURSE flag.
    
    Change-Id: Ie435559f4b88195136e09c6184543861f06257da
    Reviewed-on: http://gerrit.openafs.org/11699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit d354386b8c6047206800dc52ab82886e23db77ad
Author: Antoine Verheijen <apv@ualberta.ca>
Date:   Tue Jan 27 19:44:56 2015 -0700

    OpenBSD: Remove obsolete parameter in call to osi_VM_FlushVCache()
    
    The second parameter in the call to osi_VM_FlushVCache() in the kernel
    module is obsolete and has been removed. However, one call in the
    OpenBSD module still contains that parameter in its call. This patch
    removes it, eliminating the compile error.
    
    Change-Id: Ia3f79c74e86b8038301459e1adbf17a58056e8b1
    Reviewed-on: http://gerrit.openafs.org/11698
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 15260c7fdc5ac8fe9fb1797c8e383c665e9e0ccd
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Dec 18 08:43:22 2014 -0500

    Linux: d_splice_alias may drop inode reference on error
    
    d_splice_alias now drops the inode reference on error, so we
    need to grab an extra one to make sure that the inode doesn't
    go away, and release it when done if there was no error.
    
    For kernels that may not drop the reference, provide an
    additional iput() within an ifdef.  This could be hooked up
    to a configure option to allow building a module for a kernel
    that is known not to drop the reference on error.  That hook
    is not provided here.  Affected kernels should be the early
    3.17 ones (3.17 - 3.17.2); 3.16 and older kernels should not
    return errors here.
    
    [kaduk@mit.edu add configure option to control behavior, which
    is mandatory on non-buildbot linux systems]
    
    Change-Id: Id1786ac2227b4d8e0ae801fe59c15a0ecd975bed
    Reviewed-on: http://gerrit.openafs.org/11643
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b9d86a12d1fccf93f0663b06a317a01811d981d8
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Dec 15 11:04:06 2014 -0500

    IRIX: remove mention of unsupported sgiefs from Makefile.in
    
    Change-Id: Ib3594fa5c75df2c10d2692801ed64d657ece5d19
    Reviewed-on: http://gerrit.openafs.org/11635
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 84422047f4948d88ab91fc4132767c272138d3f4
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Dec 15 10:58:02 2014 -0500

    IRIX: Move src/sgistuff to platform/IRIX
    
    Change-Id: Ie7e17859c346e472af1d07adf2c359250f71d653
    Reviewed-on: http://gerrit.openafs.org/11634
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6e545ebf974c81f29b3249d3201821b52586ba6f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Nov 5 14:26:36 2014 -0500

    Deorbit IRIX-specific QuickStartGuide bits
    
    Get the rest of them all at once.
    
    Change-Id: Ife9920f00ec8eea953929a76a30f86d958d55f9c
    Reviewed-on: http://gerrit.openafs.org/11590
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ccda3b6cbbb61fb8d9bc3eea451beb299ad01c1b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 4 16:52:37 2014 -0500

    Add auditing to GetXStats
    
    This will record the caller as well as the fact that we received
    a GetXStats call.
    
    Change-Id: I101b9fcea37e26e031efa4a8cf74df8351866dcf
    Reviewed-on: http://gerrit.openafs.org/11620
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 012fc253c21e6ab35ddc571aed6706fd3c75e74e
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Tue Aug 26 16:44:51 2014 +0200

    AFSVolClone: remove calls to AssignVolumeName
    
    The calls in AFSVolClone to AssignVolumeName are unnecessary, because
    the volume name is overwritten few lines later with strcpy.
    
    Change-Id: If5031271b9ade08ae248703c8a72f3a083fd4fce
    Reviewed-on: http://gerrit.openafs.org/11432
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2b1481dae535c399cce837f3d63b1c76831b8190
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jan 9 09:52:53 2013 +0000

    Build system: MT_LIBS includes XLIBS
    
    The MT_LIBS library list already includes XLIBS, so there's no need
    to specify both on a link line.
    
    Change-Id: I8594b1b6e1a16af741b40822cbce49e846b26f49
    Reviewed-on: http://gerrit.openafs.org/8904
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d7052df849278ca685bae113a580bfaadce3d2aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 23 17:51:28 2010 -0500

    Add asserts to VLock* functions
    
    Make sure we don't continue on if we have unbalanced locks and
    unlocks. Having a negative refcount is a serious internal error, and
    they are difficult to fix unless we assert right away.
    
    Change-Id: Ib9b5b3f209635e0365df96c79ea8bf49c765008b
    Reviewed-on: http://gerrit.openafs.org/2594
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 82a30ed17c9cf56e319d5e13ca2e18d82f8b239c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 4 14:15:34 2012 -0500

    DAFS: Free header on partially-attached vol salv
    
    When we VRequestSalvage_r a volume, normally the header is freed when
    the volume goes offline. This happens when we VOfflineForSalvage_r,
    either via VCheckSalvage when nUsers drops to 0, or in
    VRequestSalvage_r itself if nUsers is already 0. We cannot free the
    header under normal circumstances, since someone else may have a ref
    on vp, which implies that the vol header object is okay to use.
    
    However, for VOL_SALVAGE_NO_OFFLINE, we skip all of that. For
    VOL_SALVAGE_NO_OFFLINE, the volume has only been partially attached,
    so it does not go through the full offlining process, so we don't ever
    hit the normal VPutVolume_r handlers etc. So, in the current code, we
    don't free the header. But our nUsers drops to 0 anyway, and when
    nUsers is 0, our header is supposed to be on the LRU (if we have one).
    "oops"
    
    Rectify this by freeing the volume header when VOL_SALVAGE_NO_OFFLINE
    is set. Add some comments to try to be very clear about what's going
    on.
    
    Note that similar behavior was removed in commit
    4552dc552687267fce3c7a6a9c7f4a1e9395c8e5 via a similar flag called
    VOL_SALVAGE_INVALIDATE_HEADER. I believe now that this is the same
    scenario that VOL_SALVAGE_INVALIDATE_HEADER was trying to solve.
    However, VOL_SALVAGE_INVALIDATE_HEADER was not always used correctly,
    and its purpose was not really adequately explained, which contributed
    to the idea that its very existence was buggy.
    
    Previously, when VOL_SALVAGE_INVALIDATE_HEADER existed, it was used
    incorrectly in the VRequestSalvage_r calls in GetVolume,
    VForceOffline_r, and VAllocBitmapEntry_r. All of these call sites
    could have a vp with other references held on it, and so invalidating
    the header there can cause segfaults when the header is freed. So
    ideally, commit 4552dc552687267fce3c7a6a9c7f4a1e9395c8e5 would have
    just removed the flag from those call sites.
    
    This change effectively restores the behavior that
    VOL_SALVAGE_INVALIDATE_HEADER provided. But no new flags are gained,
    since this behavior is what we want for the VOL_SALVAGE_NO_OFFLINE
    flag. This is not a coincidence; for the 'normal' case, we will free
    the header whenever we offline the volume. But for the 'do not
    offline' case, obviously that will never happen, so we need to do it
    separately. So, these two flags are really the same thing.
    
    Change-Id: Ia369850a33c0e781a3ab2f22017b8559410ff8bf
    Reviewed-on: http://gerrit.openafs.org/8204
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 71072c2bb373a6ae5edec91884985c3cfc478147
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 4 14:39:41 2013 -0500

    ihandle: Add a comment on IH_OPEN/IH_REALLYCLOSE
    
    Currently, it's not really 'safe' in ihandle to issue an IH_OPEN
    against an IHandle_t when an IH_REALLYCLOSE is running at the same
    time. The reasons for this are explained a bit in ticket 131530 and
    related commits, but briefly:
    
    Say IH_OPEN runs, and drops IH_LOCK to open a new fd on disk. Then
    IH_REALLYCLOSE runs and closes all fds, or marks them as needing
    close. The running IH_OPEN then acquires IH_LOCK again and puts the
    newly-opened fd onto the per-IH list of fds. We now have an fd that
    effectively "survives" across the IH_REALLYCLOSE; effectively
    IH_REALLYCLOSE did not close all fds for the ih.
    
    This is possibly fixable by maintaining some extra information in
    IHandle_t's, but this is only a problem if we allow IH_OPEN calls to
    happen simultaneously with IH_REALLYCLOSE calls. Ever since
    ih_sync_thread was removed (or changed to not call IH_OPEN), there
    should be no cases where this is possible. All instances of
    IH_REALLYCLOSE happen during error recovery for a newly-created file,
    or happen under a per-vnode write lock, or for volume metadata files
    only happens when the ref count for a volume drops to zero when we're
    offlining the volume.
    
    So, do not bother trying to fix this, since doing so is currently a
    waste of time and the resulting complexity could introduce bugs. But
    in case someone ever tries to do something resulting in IH_OPEN calls
    executing outside the normal threads of execution, add a comment
    around the IH_REALLYCLOSE explanations to try and briefly explain that
    this cannot currently be done.
    
    Change-Id: I989806635f3b048b0c084480a4b02dc1902ba031
    Reviewed-on: http://gerrit.openafs.org/9709
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit d43699173e0e5ee5650974fcff105b38105c0422
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Jan 14 15:05:35 2015 -0500

    opr: implement the BSD ffs() functions
    
    Provide opr implementations of ffs(), fls(), ffsll(), and flsll().
    There is no need to provide the 'long' form, since int is 32 bits
    and long long is 64 bits.
    
    These functions return the index of the first (or last) bit set
    in a given (long long) word, or zero if no bits are set.
    
    Change-Id: I126000f8b650f41d67567a9af659e0805478af2d
    Reviewed-on: http://gerrit.openafs.org/11671
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 6419d241866af95942d285b2e07dd510a43086f6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 12 17:48:25 2015 -0500

    afs: Remove unused constant DCSIZE
    
    The size of the dcache hash table is automatically determined
    from the size of the vcache hash table size, since even before
    the initial OpenAFS 1.0 release.  AFS 3.3 had constants
    DCHASHSIZE and DVHASHSIZE which were used to size the respective
    hash tables, but DCSIZE was unused even there.
    
    Change-Id: I1f4e278eacb881b60a457fa9871225de7ce0f9f8
    Reviewed-on: http://gerrit.openafs.org/11672
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit afa6bda887c39101dbfc7c3268a315e48d47fa09
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 16 17:03:34 2014 -0600

    cacheout: Use authenticated secClass for VLDB
    
    Currently 'cacheout' will always utilize an unauthenticated connection
    when talking to the VDLB, even if it uses an authenticated connection
    when talking to fileservers. This is regardless of any tokens
    retrieved or command-line parameters, etc.
    
    Using an authenticated connection to the VLDB can be useful, since a
    user may want to encrypt the VLDB communication, or require stronger
    guarantees of data consistency. So, just use the same security class
    information for our VLDB communication as for our fileserver
    communication.
    
    'scnull' is now not used anywhere after this commit, so get rid of it.
    
    Change-Id: I1e8a440ea7427399a3b219246e4c3623a603c35e
    Reviewed-on: http://gerrit.openafs.org/11637
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 52b8073a6c1ef11f1a47fb26d77efd87425be556
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 14 16:57:53 2014 -0500

    fix byte ordering in check_sysid
    
    Several uuid fields as well as the ip addreses in the sysid file are in
    network byte order.  Fix the check_sysid utility to decode these fields
    properly.  In addition, print the server uuid in the common string
    format used to display uuids, instead of by individual uuid fields.
    
    Change-Id: I9688e9117490d0ef0eb6dd5af417222482322e0c
    Reviewed-on: http://gerrit.openafs.org/11603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 7644d02f258cd2dfd880d7d52c2f41b2eb2ce870
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Dec 14 15:12:04 2014 -0500

    rx: rxi_SendPacketList remove duplicate conditional
    
    Presumably these checks were different at some point in the past.
    
    Change-Id: I0fb8737404a3c4fa786ab7965b60d35328d0bf32
    Reviewed-on: http://gerrit.openafs.org/11632
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit a1a6331e2e1ccfd846927752a5aacb7a39c14488
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Dec 13 23:18:36 2014 -0500

    rx: Remove dead AFS_ADAPT_PMTU SUN5 code
    
    AFS_ADAPT_PMTU is only defined on linux26, so anything which is
    conditional on both AFS_ADAPT_PMTU and AFS_SUN5_ENV being set is
    dead code.
    
    This seems to have been dead code since its introduction in
    commit 1206e7538be86f073b21cd289266286b60a95d0a.
    
    Change-Id: I9bb6ff40de87a7f2d8d953ef7583c6c2b090ab48
    Reviewed-on: http://gerrit.openafs.org/11631
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit d03e3c392eee2bd9158c417f42bcbf2009dabfc3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 13 17:58:50 2012 -0500

    rx: Normalize use of some MTU-discovery fields
    
    When we store MTUs (peer->ifMTU, peer->natMTU, etc.), we store the
    maximum transport unit usable by RX, i.e., excluding the IP and UDP
    headers, but including the RX header.  Contrariwise, when we track the
    size of packets we've sent (conn->lastPacketSize, peer->maxPacketSize),
    we track logical packet lengths which exclude the RX header (and the IP
    and UDP headers).  However, the consumers of lastPacketSize and
    maxPacketSize were not always interpreting their values correctly as
    excluding the RX (and other) headers.
    
    Add comments to these fields in their respective structure definitions
    to help make clear what they contain (and the difference between them).
    Correct several checks which were using the wrong constant for
    correcting between these two worldviews (and the wrong sign).  Modernize
    the style of lines that are touched.
    
    The lastPacketSize and maxPacketSize variables are only accessed from
    five places: while sending packets, while processing acks, while sending
    acks, while handling growMTU events, and in rxi_CheckCall().  They are
    used to track the size of packets that have been successfully sent (and
    thus, indirectly, to control the size of packets we send).  The
    maxPacketSize is only set once we have received an ack from the peer for
    a packet of that size, and lastPacketSize tracks the size of a
    speculative packet larger than that size, until it is acked.
    
    When sending packets, we check if the size of the packet we are sending
    exceeds the recorded maxPacketSize, and if so, record that speculative
    size in the lastPacketSize variable, along with the sequence number of
    that packet in lastPacketSizeSeq.
    
    Correspondingly, when processing acks, if the packet tracked in
    lastPacketSizeSeq is being acked, we know that our speculative large
    packet was successfully received, and can attempt to update the recorded
    maxPacketSize for the peer.  This is done through an intermediate
    variable, 'pktsize', which holds either the value of lastPacketSize or
    lastPingSize, without adjustment for the size of any headers.
    
    The ack processing has a bit of code to handle the case where
    maxPacketSize has been reset to zero, initializing it to a small value
    which should be expected to always work.  The intention seems to have
    been to initialize maxPacketSize to the smallest permitted value (since
    RX_MIN_PACKET_SIZE is amount of data available to RX in the smallest
    permitted IP packet), but the old code was actually initializing
    maxPacketSize from zero to something a bit larger than the minimum, by
    RX_IPUDP_SIZE + RX_HEADER_SIZE.  This over-large initialization was
    mostly harmless, see below.  After this potential initialization,
    'pktsize' was incorrectly used to set a new ifMTU and natMTU for the
    peer.  It correctly determined that a packet larger than the previous
    maxPacketSize had been acked, but then set the peer's ifMTU and natMTU
    to smaller values than the acked packet actually indicates.  (It is
    careful to only increase the ifMTU, though.)  The actual peer->MTU is
    *not* updated here, but will presumably trickle through eventually via
    rxi_Resend() or similar.  It is possible that this code should be using
    rxi_SetPeerMtu() or similar logic, but that might involve locking issues
    which are outside the scope of this analysis.
    
    The over-large initialization of maxPacketSize (from zero) was
    fortuitously mostly harmless on systems using minimum-sized IP packets,
    since a correspondingly wrong check was used to detect if a new MTU
    invalidates this maxPacketSize, with the constants offsetting.
    Likewise, the checks in rxi_SendAck() had the wrong constants, but they
    offset to produce the correct boundary between small and large packets
    while trying to grow the MTU.  Unfortunately, the old behavior in the
    "small" case is not correct, and the grow MTU event would try to send a
    packet with more padding than was intended.  In networks allowing
    packets slightly larger than the minimum (but not much larger than the
    minimum), the old code may have been unable to discover the true MTU.
    
    In the main (MTU-related) logic of rxi_SendAck, a variable 'padbytes' is
    set to a small increment of maxPacketSize in the "small" case, and a
    larger increment of maxMTU in the "large" case.  There is a floor for
    padbytes based on RX_MIN_PACKET_SIZE, which ended up being larger than
    intended in the old code by approximately the size of the rx header.
    (Some of the adjustments performed are rather opaque, so the motivations
    are unclear.)
    
    The more interesting places where accesses to lastPacketSize and
    maxPacketSize happen are during the MTU grow events and in
    rxi_CheckCall().
    
    In rxi_CheckCall(), the packet size variables are only accessed if
    the connection has the msgsizeRetryErr flag set, the call is not timed
    out (whether for idleness or during active waiting), and the call has
    actually received data.  In this case, we conclude that sending packets
    failed and decrease the MTU.  The old code was quite broken in this
    regard, with a reversed sense of conditional for whether a speculative
    large packet was outstanding, and a rather large decrease in MTU size
    of effectively 128 + RX_HEADER_SIZE + RX_IPUDP_SIZE = 212, when only
    a decrease of 128 was intended.  The new code corrects the sense of
    the conditional and sets the decrease in MTU to the intended value of 128.
    
    With respect to MTU grow events, this change only touches
    rxi_SetPeerMtu(), to correct the conditional on whether the MTU update
    invalidates/overrides the cached maxPacketSize.  There is a window of
    values which could cause the old code to incorrectly fail to invalidate
    the cached maxPacketSize.  Values in this window could result in the old
    code being stuck on a bad MTU guess, but should not cause an actual
    failure to communicate.  That conditional zeroing of maxPacketSize is
    the only access to the PacketSize variables in rxi_SetPeerMtu().
    maxPacketSize is also checked in rxi_GrowMTUEvent(), but only against
    zero to avoid sending RX_ACK_MTU packets needlessly, so it is unaffected
    by the issue at hand.
    
    In summary, in certain network conditions, the old code could fail
    to find an optimum MTU size, but would always continue to operate.
    The new code is more likely to find a better MTU size, and the old
    and the new code should interoperate fine with both each other and
    themselves.
    
    [kaduk@mit.edu add a few missed cases; expound on analysis in commit message]
    
    Change-Id: I7494892738d38ffe35bdf1dfd483dbf671cc799a
    Reviewed-on: http://gerrit.openafs.org/8111
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit fa5434adf19d040bd194b63993b81263c395fa78
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Sep 14 14:24:17 2014 -0500

    afs: Warn about afs_conn overcounts
    
    Currently we panic if we detect an undercount on an afs_conn
    structure, as this is a serious bug and can cause corruption and other
    issues. But an overcount is never noticed, until the refCount
    overflows and looks negative. Log a warning if the refCount gets
    really high, so an administrator has a chance at noticing and
    notifying a developer before the machine actually panics.
    
    [kaduk@mit.edu use the %p format specifier, mandated by C89]
    
    Change-Id: Ifc291fc10959e4e1c60115813d82a09e5a65ef75
    Reviewed-on: http://gerrit.openafs.org/11465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 0c89335b5aa7ae3582862596878936dfcbe99bf1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 30 17:32:26 2013 -0500

    afs: Refactor GetDSlot parameters
    
    The 'indexvalid' and 'datavalid' parameters were really representing 3
    different scenarios, not 2 different values with 2 possibilities each.
    Change these to a single parameter, 'type', with 3 different values:
    DSLOT_NEW, DSLOT_UNUSED, and DSLOT_VALID. Hopefully this will make the
    relevant code paths easier to understand.
    
    This should incur no functional change; it is just code
    reorganization.
    
    Change-Id: Iac921e74532de89121b461fa0f53ddb778735e0c
    Reviewed-on: http://gerrit.openafs.org/9834
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit d61cb9ad764115811fcca3dd0a735ecad1d6eac4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 1 10:11:38 2014 -0600

    LINUX: Remove fix_bad_parent
    
    For Linux, fix_bad_parent (and in 1.6 and earlier, check_bad_parent)
    served the purpose of fixing mvid if it was "wrong", for volume-root
    vcaches (mvstat == 2).
    
    However, in modern Linux, we never really use mvid for root vcaches.
    This would normally be used for looking up ".." entries in the root
    dir, but Linux handles that for us.
    
    Specifically, the only times an "mvstat == 2" mvid is used are:
    
     - afs_lookup(), where we specifically check for a ".." lookup. Linux
       cannot give us a lookup for "..", since Linux itself services ".."
       lookups through the dcache.
    
     - afs_readdir_move(), where we look for ".." entries. Linux does not
       use this function, since Linux reimplements afs_readdir() in
       afs_linux_readdir(), and so this function is never called.
    
    Of course, mvid is used in many other locations, mostly for "mvstat ==
    1" vcaches (mountpoints) and a few other special cases. But these are
    the instances where mvid is relevant for root dirs.
    
    So, since mvid is never really used for "mvstat == 2" vcaches on
    Linux, don't bother trying to keep it up-to-date. Doing so is just
    needless waste, and causes problems when there are bugs in
    fix_bad_parent. The mvid field is still updated in cross-platform code
    from time to time; removing that would be more complex and possibly
    not worth the effort.
    
    Change-Id: I5011ba069e5c8ed947ab6ff8d8dd393241d9c4bf
    Reviewed-on: http://gerrit.openafs.org/11615
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 8b6ea7213a69f19ce2e591f1ae56a1db946c136c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Dec 10 14:36:36 2014 -0500

    Add AFSCONF_NOCELLNAME error code
    
    Contrast with AFSCONF_NOCELL, which is for when no cell configuration
    information is available at all (i.e., a struct afsconf_dir* was NULL) --
    this code is used when there is some cell configuration available, but
    that configuration does not include the cell name.
    
    Replace the only existing use of AFSCONF_UNKNOWN with this more-informative
    error code, leaving AFSCONF_UNKNOWN free for use in other situations.
    
    Change-Id: I989756a960e5377545af43f8e9414d1f2d6476b4
    Reviewed-on: http://gerrit.openafs.org/11628
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 72e22eb00f641f137f7dbe4195d6d82f4a8addc9
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jan 5 07:17:14 2015 -0500

    Linux 3.19: struct nameidata becomes opaque
    
    With kernel 3.19 struct nameidata becomes opaque.  As a result
    we cannot rely on STRUCT_NAMEIDATA_HAS_PATH being true for
    new kernels.
    
    Rework the conditions here so that STRUCT_NAMEIDATA_HAS_PATH
    is only tested when we're using a nameidata structure and
    the result matters.
    
    Also modify a configure test to use a nameidata pointer
    instead of an actual structure.
    
    Change-Id: I0d71fca44a67570ac3b86151c70f2969dc463f4f
    Reviewed-on: http://gerrit.openafs.org/11648
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ec9a7c2db833efacfd0692c658c2d38ed9f852ba
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jan 5 07:13:37 2015 -0500

    Linux 3.19: Use mgs_iter in struct msghdr
    
    struct msghdr gets msg_iov replaced by msg_iter.  Add a configure
    test and adjust the affected code.
    
    Change-Id: I9b9e3987e55a10e48087b318d98a5a7bb17a4612
    Reviewed-on: http://gerrit.openafs.org/11647
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f9ca302b7a10ffc36f2439e068333ab147791c5a
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon Jan 5 07:03:16 2015 -0500

    Linux 3.19: No more f_dentry
    
    Back in kernel 2.6 .20 struct file lost its f_dentry field
    which was replaced by f_path.To ease transition f_dentry
    was defined as f_dpath.dentry in the same header.This
    define finally gets removed with kernel 3.19.
    
    Keep using f_dentry in the code, but add a configure test
    for the presence of f_path and the absence of the f_dentry
    macro so we can add it if its missing.
    
    Change - Id:I8e8a7e4d3ddd861018de50af1eb7315e730ad529
    
    Change-Id: I4b05aa3d37f01e0e675c420cbf941d682c49c69c
    Reviewed-on: http://gerrit.openafs.org/11646
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d6f29679098aff171e69511823b340ccf28e5c31
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Dec 18 07:13:46 2014 -0500

    Linux: d_alias becomes d_u.d_alias
    
    The fields in struct dentry are re-arranged so that d_alias
    shares space wth d_rcu inside the d_u union.  Some references
    need to change from d_alias to d_u.d_alias.
    
    The kernel change was introduced for 3.19 but was also backported
    to the 3.18 stable series in 3.18.1, so this commit is required
    for 3.19 and current 3.18 kernels.
    
    Change-Id: I711a5a3a89af6e0055381dfd4474ddca2868bb9c
    Reviewed-on: http://gerrit.openafs.org/11642
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a0ffea098d8c5c5b46c6bf86a12d28d6e7096685
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 12 09:51:39 2013 -0500

    ptserver: Limit length on namelist, idlist
    
    namelist and idlist are used as IN parameters to ptserver RPCs that
    can be issued by unauthenticated clients. Not having a length limit on
    them means anyone can use up a ton of ptserver memory by just issuing
    those RPCs with a very large length.
    
    So, put a limit on them. PR_MAXLIST is a constant that already exists,
    but is small enough to potentially limit real use, so define a new
    OpenAFS-internal value for this purpose.
    
    prlist and prentries are returned from the ptserver to clients, so
    also limit them in the same way.
    
    Change-Id: Iaf45639bbae401093354adbfb4daa172fe97ede1
    Reviewed-on: http://gerrit.openafs.org/9588
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 00a33b26d74aa067086ddc340efb82184715857f
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Jan 5 10:41:53 2015 -0500

    uss: always build uss
    
    Revert change Ibab1dd189e7fbc41ca01e7ef7479421c056999f5 since uss
    should always be safe to build now that its parser symbols are private.
    
    Change-Id: I65fd2008b037dd36a2c7d3ef8817d4d7dda689d7
    Reviewed-on: http://gerrit.openafs.org/11653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 1bb8ad417188650e9049da9b33177de7f14226cb
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 6 17:58:05 2015 -0500

    uss: Avoid -i (inplace) with sed
    
    Not all sed versions support inplace editing, so do things ourselves.
    Also use the sed version found by configure for consistency.
    
    Change-Id: I6194b8dd6b7abf88d0b0fa36ba871e0ba092ce1e
    Reviewed-on: http://gerrit.openafs.org/11655
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 6ca324e565c34d9d04f3c553b7d0febe675ae538
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Dec 18 06:57:22 2014 -0500

    Linux: Move code to reset the root to afs/LINUX
    
    Move the Linux specific bit of code to reset the root to
    afs/LINUX platform specific files.  Things that play with
    the Linux vfs internals should not be exposed here.
    
    No functional change, but this helps cleanup some ifdef
    mess.
    
    Change-Id: Ia27fca3d8052ead45783cb2332c04fe6e99e5d9f
    Reviewed-on: http://gerrit.openafs.org/11641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>

commit 720363fa9bf7cfbebdc485104b74ca6bac1895f6
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Jun 16 15:28:03 2013 -0400

    Fix unchecked return values
    
    This change fixes numerous places where the return values of various
    system calls and standard library routines are not checked.  In
    particular, this fixes occurrances called out when building on Ubuntu
    12.10, with gcc 4.7.2 and eglibc 2.15-0ubuntu20.1, when the possible
    failure is one we actually do (or should) care about.  This change
    does not consider calls where the failure is one we deliberately
    choose to ignore.
    
    Change-Id: Id526f5dd7ee48be2604b77a3f00ea1e51b08c21d
    Reviewed-on: http://gerrit.openafs.org/9979
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 218561a5d920bb9bfaa668d3bdd11e1dfac1df9f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 21 17:41:32 2014 -0400

    vol: rename volUpdateCounter macro
    
    Change the volUpdateCounter volume macro name to be
    consistent with the volume header name.
    
    Change-Id: I55f55f2c084135e9598c194ed9081fce800ddfe9
    Reviewed-on: http://gerrit.openafs.org/11318
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ada9dba0756450993a8e57c05ddbcae7d1891582
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Mon Dec 8 08:34:26 2014 +0100

    Remove traces of Debian packaging
    
    In e34e0d1 the Debian packaging was removed. Some traces are still left, so
    remove those as well.
    
    Change-Id: I1d5c22181f59b2bee42dd34c9f3a043297d294a2
    Reviewed-on: http://gerrit.openafs.org/11630
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 88a4efbfa3dbf497a96ad4d8b8ab2cd68351ffbf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 19 09:49:33 2013 -0500

    dafs: avoid asserting on dafs VSALVAGING error code
    
    DAFS introduced the VSALVAGING error code which is returned when a vnode
    cannot be put and a volume has been scheduled to be salvaged.
    
    Update the afsfileprocs to not assert on VSALVAGING, as well as the
    VSALVAGE error code.
    
    For example, VPutVnode() and VVnodeWriteToRead() may call
    VRequestSalvage_r() which will set the error code to VSALVAGING when a
    salvage is requested.
    
    This was noticed during a code inspection.
    
    Change-Id: I6cacfe92347bc5af57defef17b8a2f98c5302f93
    Reviewed-on: http://gerrit.openafs.org/10611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ed1b1df3c8acf9a2c5d4dface88ac15dcb8d7a2e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 10 16:23:07 2014 -0600

    bozo: Constify bozo_Log 'format' argument
    
    We clearly do not need to modify the format string; declare it const.
    This makes the signature of bozo_Log identical to FSLog, which can
    make it easier to use these functions interchangeably.
    
    Change-Id: I89ae9babec2c4e8714019f58fe29dacc7283ae15
    Reviewed-on: http://gerrit.openafs.org/10830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4b648925603a50d2a248304a954308e8fa902df4
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Nov 20 15:05:21 2013 -0500

    fssync-debug: close test connection
    
    A valid fssync-debug query <volid> command issued against
    a DAFS fileserver will produce the following error messages in FileLog:
    
            SYNC_getCom:  error receiving command
            FSYNC_com:  read failed; dropping connection (cnt=1)
    
    Routine dafs_prolog() issues a tentative FSYNC_VOL_LISTVOLUMES operation
    to test for the presence of a DAFS fileserver.  If DAFS is detected,
    we then call dafssync-debug for the original requested operation.
    However, the FSYNC connection for the tentative LISTVOLUMES operation
    is never closed. This results in the errors when the command completes.
    
    Close the test connection.
    
    Change-Id: I3c987289408407ba38cd184b7518e72ee1ae9cfc
    Reviewed-on: http://gerrit.openafs.org/10476
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit ffe0757a5610d1fe6cf7e513d62ccc570d559206
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Aug 12 15:13:46 2014 -0400

    Attempt to clean up tvolser dependencies
    
    The volserver only needs vl_errors.c to be locally generated, not
    vlserver.h; in fact, the only consumers of vlserver.h in src/volser/
    consume it via afs/vlserver.h.
    
    Instead of reaching over to ../volser for the generated volerr.c,
    generate our own local copy, as well as the volser.h generated from
    the same error table -- volser.h is included with double-quotes from
    the volser sources.
    
    Add the appropriate dependencies on volser.h, and remove the unneeded
    dependencies on vlserver.h
    
    Change-Id: Ic6e728fa455419cc8e95dc25c41ed6d6b7d20934
    Reviewed-on: http://gerrit.openafs.org/11380
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 05217c29179100b69a32562202b302ae60b4b36c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 1 14:54:15 2013 -0500

    rx: Ignore responses to nonexistent challenges
    
    Consider the following situation:
    
     - A client sends a data packet to a server, using a security class
       that requires a challenge
     - The server responds with a challenge
     - The server is restarted
     - The client responds to the challenge with a response
    
    In that situation, the server will process the response, but since the
    server was restarted, it has no knowledge of the challenge that was
    sent. This generally means that we error the connection, since the
    given response is not valid. For rxkad with modern endpoints, this
    results in an RXKADPACKETSHORT error, since we interpret the response
    as an 'old' response, but it's actually a 'v2' response, so we
    interpret the fields in the response as garbage.
    
    This means that the client gets a connection error when the client did
    nothing wrong, and there's no way for the client to distinguish this
    from a real connection error.
    
    One way to solve this would be to send a Challenge packet to the
    client immediately when we detect that this situation has occurred.
    However, if we do that, then we never see a data packet with a
    checksum, so we fall back to using "old" challenges and responses. And
    in general, that would cause the server side to never see a data
    packet during the connection negotiation, which is unusual and I am
    concerned there may be other niggles of odd behavior that may occur in
    that scenario.
    
    So instead, to fix this, make the server ignore responses in this
    situation (that is, if we haven't sent out any challenges yet).
    Clients will eventually resend the data packet, and we will go through
    negotiating the connection security like normal. This should never
    cause any new problems, since dropping a challenge packet must be
    handled anyway (sometimes packets just get dropped). And a client will
    never hang on sending the same response over and over again; clients
    only ever send a Response in response to a Challenge packet.
    
    Change-Id: Id3fae425addb2ac8ab60965213b3ebca2e64ba5d
    Reviewed-on: http://gerrit.openafs.org/10315
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 3b9d52b2e8020cce65d55516db36580d58a51f0b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Nov 8 13:14:27 2014 -0500

    vldb_check: rebuild free list with -fix
    
    Rebuild the vldb free chain in addition to the hash chains when
    vldb_check is run with the -fix option.  Print a FIX: message for
    entries added to the free chain.
    
    Example vldb with a broken free chain.
    
        $ vldb_check vldb.broken
        address 199364 (offset 0x30b04): Free vlentry not on free chain
        address 223192 (offset 0x36818): Free vlentry not on free chain
        address 235180 (offset 0x396ec): Free vlentry not on free chain
        Scanning 1707 entries for possible repairs
    
        $ vldb_check -fix vldb.broken
        Rebuilding 1707 entries
        FIX: Putting free entry on the free chain: addr=199364 (offset 0x30b04)
        FIX: Putting free entry on the free chain: addr=223192 (offset 0x36818)
        FIX: Putting free entry on the free chain: addr=235180 (offset 0x396ec)
    
    Thanks to Kostas Liakakis for reporting this bug.
    
    Change-Id: I57d6b17263ffe5f8818f70f8260a0dce8d85ab1f
    Reviewed-on: http://gerrit.openafs.org/11598
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9de36a0398a53fffd7bde8ed9e57573bed3b669d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 23 17:27:05 2013 -0500

    RedHat: Update configure options, again
    
    Commit 83f85c9ad6c439eb9676436a3e09c40c2813f1c1 updated the arguments
    we give to configure, since --enable-disconnected and --with-krb5-conf
    no longer exist. But, it only updated the configure options for the
    userspace configure, and did not update the configure invocation for
    building kmod kernel modules.
    
    Update the other configure invocation, so they match and both of them
    avoid using outdated configure options.
    
    Change-Id: Ia7fe16a373b5feabd4060bd85fbf9220407082f5
    Reviewed-on: http://gerrit.openafs.org/10623
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 24f0fdcce4cdc493edcf35c8578a151b8bbb32fd
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 10 09:12:31 2014 -0400

    uss: Make the uss parser private
    
    Attempt to make the parser in uss private so that it doesn't
    conflict with other libraries that might leak their parser symbols.
    
    Change-Id: I15b52f55b419b3bbc788ced9660bc41163e2be36
    Reviewed-on: http://gerrit.openafs.org/11533
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c11c58646f56f0adc2016e31a7d3a3d34d6cdd3a
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sun Oct 19 02:42:08 2014 -0400

    Linux: get sysname even if kernel module disabled
    
    Fall back to `uname -r` if we aren't probing for kernel sources,
    as we still need to know for the rest of the build.  While this
    could be worked around by explicitly passing the sysname as an
    argument, this seems friendlier.
    
    Change-Id: I0db75ba5fc7d1f5ec08d27dfce6858b968b6ce28
    Reviewed-on: http://gerrit.openafs.org/11552
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b22c586bcdf785c489009ab96cbb572181cb9b09
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Fri Dec 19 10:11:53 2014 -0500

    Unix CM: Avoid using stale DV in afs_StoreAllSegments
    
    It was reported in RT 131976 that on Linux some file
    corruption was observed when doing mmap writes to
    a file substantially larger than the cache size.
    
    osi_VM_StoreAllSegments drops locks and asks the OS to flush
    any dirty pages in the file 's mapping.  This will trigger
    calls into our writepage op, and if the number of dirty
    cache chunks is too high (as will happen for a file larger
    than the cache size), afs_DoPartialWrite will recursively
    call afs_StoreAllSegments and some chunks will be written
    back to the server.  After potentially doing this several
    times, control will return to the original afs_StoreAllSegments.
    
    At that point the data version that was stored before
    osi_VM_StoreAllSegments is no longer correct, leading to
    possible data corruption.
    
    Triggering this bug requires writing a file larger than the
    cache so that partial stores are done, and writing enough
    data to exceed the system's maximum dirty ratio and cause
    it to initiate writeback.
    
    To fix, just wait until after osi_VM_StoreAllSegments to
    look at and store the data version.
    
    FIXES 131976
    
    Change-Id: I959f06b5a7a51171e7ed70189620e9d11d52efa2
    Reviewed-on: http://gerrit.openafs.org/11644
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4f03d6e07ba8ea5bddfd952cf47f9d2172051ca4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Nov 8 11:10:52 2014 -0500

    doc: document the vldb free list
    
    Document vldb free list in the vldb format (vldb.txt). The nextIdHash[0]
    is on the free chain when the vl entry is free.
    
    Also fix two typos in vldb.txt.
    
    Change-Id: I5d79f55214295e029e7174ef46838afd7dc44bf1
    Reviewed-on: http://gerrit.openafs.org/11597
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 54c0ee608f4afd2b178c9b60eabfc3564293d996
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Sep 14 14:10:11 2014 -0500

    afs: Fix some afs_conn overcounts
    
    The usual pattern of using afs_Conn looks like this:
    
      do {
          tc = afs_Conn(...);
          if (tc) {
              code = /* ... */
          } else {
              code = -1;
          }
      } while (afs_Analyze(...));
    
    The afs_Analyze call, amongst other things, puts back the reference to
    the connection obtained from afs_Conn. If anything inside the do/while
    block exits that block without calling afs_Analyze or afs_PutConn, we
    will leak a reference to the conn.
    
    A few places currently do this, by jumping out of the loop with
    'goto's. Specifically, in afs_dcache.c and afs_bypasscache.c. These
    locations currently leak references to our connection object (and to
    the underlying Rx connection object), which can cause problems over
    time. Specifically, this can cause a panic when the refcount overflows
    and becomes negative, causing a panic message that looks like:
    
      afs_PutConn: refcount imbalance 0xd34db33f -32768
    
    To avoid this, make sure we afs_PutConn in these cases where we 'goto'
    out of the afs_Conn/afs_Analyze loop. Perhaps ideally we should cause
    afs_Analyze itself to be called in these situations, but for now just
    fix the problem with the least amount of impact possible.
    
    FIXES 131885
    
    Change-Id: I3a52f8ccef24f01d04c02db0a4b711405360e323
    Reviewed-on: http://gerrit.openafs.org/11464
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 604f1eece60a8586642bb7006e2265913d2a4a25
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Dec 6 07:40:04 2014 -0500

    doc: fix unbalanced <listitem> in AdminGuide/auagd018.xml
    
    This was introduced by c04c57c6c57d2e0b09ba60b68de738b636c9450b
    
    Change-Id: I2dbc558bf97673074c774b457b53b4a4436b43c1
    Reviewed-on: http://gerrit.openafs.org/11624
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5cc3920ce40d5943fb400f5aca04151da70cea63
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Dec 6 07:31:46 2014 -0500

    doc: fix duplicate tag usage in QuickStartUnix
    
    The duplicate LIWQ54 tag appears to break newer versions of fop.  Since it
    isn't referenced by anything, just remove in both instances.
    
    Change-Id: Ie996f0110a9114399a1873ebda1eba4c7696f716
    Reviewed-on: http://gerrit.openafs.org/11623
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5e3df1d99df207a65d883f6747d8a616fa4b8f9c
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 15:04:13 2013 -0400

    rxgen: Only cast array/pointer/vector types
    
    Assuming the correct values are passed to the xdr functions, no casts
    are required. Don't cast simple/struct/union/typedef values. Do cast
    array/pointer/vectors, since the relevant xdr wrapper functions expect
    char *.
    
    Change-Id: I375c03899576735668c1a0df0af47377223ae97a
    Reviewed-on: http://gerrit.openafs.org/10260
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b7bfd3aa2715e49b2b1ec056b60d8dda72317ebc
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 14:28:07 2013 -0400

    rxgen: Always pass aliases (typedefs) as pointers
    
    Since prototypes were introduced, xdr functions for typedef foo
    expect a foo *, never a foo, even if the underlying type is an array.
    print_param (for stubs) got this right, but print_stat (for inter-xdr
    calls) did not.
    
    Change-Id: I2b12aaf919fd39e6195d85072fdfd915a1c509f0
    Reviewed-on: http://gerrit.openafs.org/10259
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1c445cc7e5d66881ef28860c9d43695feedf37d7
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 10:42:20 2013 -0400

    Remove sunrpc compatibility
    
    Remove sunrpc compatibility from rxgen. It's not tested, and
    rpcgen is available from other sources. This will allow changes to be
    made to rxgen without worrying about their impact on rpcgen compatibility.
    
    Removals consist of the -l, -m, and -s switches, the source files
    rpc_clntout.c and rpc_svcout.c, and the scan tokens 'program' and
    'version'. The -R switch ('R compatibility') is also removed, as it's
    a noop.
    
    Change-Id: I960fac14faf072d221b8cb166e9388ab4accfa26
    Reviewed-on: http://gerrit.openafs.org/10258
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4d72af9fbd8f676e722fe8fa07b8e1342255fd01
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sun Mar 23 17:47:25 2014 -0400

    vlserver: Refactor auditing
    
    Refactor auduting to be more like other uses in the code base.
    Auditing is now done in a wrapper.
    
    Change-Id: I491aeda31c223e594e3870573871ae10a541d010
    Reviewed-on: http://gerrit.openafs.org/11315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 75d67780b42c1a7bfa506fcd230b28a6f293fcbd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 13 12:12:12 2014 -0500

    redhat: do not overwite the server CellServDB
    
    The bosserver creates a pair of symlinks in the client's configuration
    directory (/usr/vice/etc) during startup, if the configuration files are
    not present:
    
      /usr/vice/etc/CellServDB -> /usr/afs/etc/CellServDB
      /usr/vice/etc/ThisCell -> /usr/afs/etc/ThisCell
    
    Due to a bug in the bosserver (which is not fixed on 1.6.x), the
    symlinks are only created when the /usr/vice/etc directory already
    exists when the bosserver is started.
    
    If the bosserver is started before the client is installed (and the
    /usr/vice/etc directory is present), then the packaging script will
    write to the symlink CellServDB, overwriting the server's CellServDB with
    the contents of the client's CellServDB.local and CellServDB.dist files.
    Also, if the client is started after the bosserver creates the symlinks,
    the client init script will overwrite the server's CellServDB with the
    contents of the client's CellServDB.local and CellServDB.dist files.
    
    Update the packaging and the client init script to delete this symlink
    if present, since it is only intended to provide stub configuration
    for the client utilities while setting up an initial server.  Then,
    the updating of the CellServDB will create a local file, instead of
    following the symlink and overwriting the server CellServDB.
    
    While here, adjust the indentation whitespace to match the tabs below.
    
    Change-Id: I802fd8d85f73946ca8d8d57e115abb8ae6958196
    Reviewed-on: http://gerrit.openafs.org/11601
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit de1ac7daff3183bf5b2c2a3482e74a099f7fb641
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun May 20 17:32:13 2012 -0500

    afs: Add xvcache-related afs_FlushVCache comments
    
    Add a couple of comments to help make it explicit when it is okay to
    drop afs_xvcache here.
    
    Change-Id: I451ffe80755ea471322e32017f71c0619e6a8e63
    Reviewed-on: http://gerrit.openafs.org/7436
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 73bfe94802ef62a7e6f8d2c36cb801be6ab2863a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 18 17:49:31 2012 -0400

    afs: Remove 'slept' from osi_VM_FlushVCache
    
    No implementation of osi_VM_FlushVCache drops and reacquires
    afs_xvcache. Doing so would cause problems when afs_FlushVCache calls
    osi_VM_FlushVCache, since someone could grab a reference to the vcache
    while xvcache is dropped. So, prohibit dropping and reacquiring
    afs_xvcache in osi_VM_FlushVCache, and remove the 'slept' argument to
    it.
    
    Change-Id: I50b4ee35f54a5277749f44e93b1094e4fb5c93e9
    Reviewed-on: http://gerrit.openafs.org/7435
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2b10d96762366ce25a4816641ecfaf9705592d44
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Mon Dec 8 12:33:05 2014 -0800

    afs: Correct routine name on error message
    
    While studying some code I noticed one of the error messages in
    afs_UFSGetVolSlot was prefixed with a different routine name.
    More shocking was that git blame fingered me as the last person
    to update that line!  Indeed I had but I hadn't noticed, nor had
    my reviewers, the mis-matched routine name.
    
    Update afs/afs_volume.c to correct routine name.
    
    Change-Id: Id7ee275c9f8991bb71082b9dfcd52c14ead83955
    Reviewed-on: http://gerrit.openafs.org/11625
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dc4d9d64342b76be7be3e8f0264e66c6d943b64c
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Apr 26 14:49:36 2014 -0400

    afs: Remove AFS_BOZONLOCK_ENV
    
    The only user of AFS_BOZONLOCK_ENV is ppc_darwin_80.  This was added
    to the param file by commit:
    
        commit 379e3be3196aeb3fefaa1e9296e52a9f8018550a
        Author: Derrick Brashear <shadow@dementia.org>
        Date:   Sun Jun 19 00:20:01 2005 +0000
    
            ppc-darwin80-20050618
    
            this is actually a throwaway
    
    It isn't clear to me what the intent was.  Darwin clearly isn't
    using the Bozon lock around every osi_FlushPages() despite comments
    in DARWIN/osi_vnodeops.c about said lock.   The possibility of the
    Bozon lock being required only ppc_darwin_80 and not ppc_darwin_70 and
    ppc_darwin_90 is unlikely.
    
    The comments about the Bozon lock in FBSD/osi_vnodeops.c appears to be
    a copy/paste from DARWIN's.  Curiously, FBSD doesn't drop the GLOCK()
    when osi_FlushPages() calls osi_VM_FlushPages() despite a comment to
    the contrary in osi_VM_FlushPages().
    
    Also, instead of editing the alpha_dux param files, just remove them.
    Nothing is using them.
    
    Change-Id: Ic1f6aabd82b9bd3686c95fd501a9d72163595421
    Reviewed-on: http://gerrit.openafs.org/11108
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2725a4ca14fb29f897d905d9de0e3c9c1925e597
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 24 16:26:43 2012 -0400

    budb:  Avoid use of anonymous structures to determine size
    
    Change-Id: Ife337e4e020a0450020f9ae641b1711435b936c4
    Reviewed-on: http://gerrit.openafs.org/8153
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 49088ad21aea794aecd5df928f21e7872ee36280
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Nov 27 16:23:12 2014 -0500

    volser: Break callbacks to the target of VolClone
    
    With the "-stayup" release mechanism, clients may have callbacks
    to the target of VolClone rather than the target of VolRestore,
    so also break callbacks there.
    
    This could cause clients to not be notified of a volume release
    done with -stayup and have stale contents.
    
    Change-Id: I94009f4b9382471a3615d2a729e4ee3955a14d44
    Reviewed-on: http://gerrit.openafs.org/11619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c47d619f6c93ba3362f3e65f102a875d509e5c44
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 4 17:00:04 2014 -0500

    Remove FreeBSD packaging
    
    The packaging used by official FreeBSD package builds is taken from
    the FreeBSD Ports Collection's version control, which is currently
    available at https://svnweb.freebsd.org/ports/head/net/openafs/ .
    
    The version of the FreeBSD packaging in the openafs repository
    will almost always be out-of-date and is not needed by FreeBSD
    (although a small portion of it is currently used by the upstream
    FreeBSD packaging), and the actual packaging used by FreeBSD is
    easily available, so there is no purpose in maintaining FreeBSD
    packaging in the OpenAFS source code repository.
    
    Change-Id: I969cd6933ecd56d6940b8d48da67f50260101571
    Reviewed-on: http://gerrit.openafs.org/11622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e34e0d149f3b3a8b48ab563b7b52174065925975
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Dec 4 17:00:04 2014 -0500

    Remove Debian packaging
    
    The packaging used for uploads to Debian is maintained on Debian
    infrastructure, presently at
    http://anonscm.debian.org/cgit/pkg-k5-afs/openafs.git .
    
    The packaging repository for any given Debian openafs source
    package will be listed in the Vcs-* fields in the package's
    control file.
    
    The version of the Debian packaging in the openafs repository
    will almost always be out-of-date and is not used by Debian,
    and the actual packaging used by Debian is easily available, so
    there is no purpose in maintaining Debian packaging in the OpenAFS
    source code repository.
    
    Change-Id: I23011315ece011e32cdddd992c4f8a176e348c67
    Reviewed-on: http://gerrit.openafs.org/11621
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a4dc1d8fc0ae5b9b0130d2524aff0c22fa34faa3
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 20:20:52 2013 +0100

    build-sys: make docbook path find easier to read
    
    Additional gain, when horizontal lists are converted to vertical, is that
    each item will be individually version controlled.
    
    Change-Id: I4f12efac9c3d828fafdc7ab8a15740cfb0276538
    Reviewed-on: http://gerrit.openafs.org/10014
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 72ca1e876f61ec7a2984e4379dcc59cfd160f2a5
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sat Jul 26 15:05:19 2014 -0400

    Make all VLDB interactions use VLF/VLSF names
    
    src/volser/volser.p.h defined the values used in VLDB entries.  These values
    appear (by exhaustive walk of source and by inspection of the volser's rxrpc
    api) to be unused by any aspect of the volser and were solely used in
    communication with the VLDB.
    
    This patch deletes the misplaced definitions and moves the entire tree to
    use the VLF_{RW,RO,BACK}EXISTS and VLSF_* macros from vlserver/vldbint.xg .
    No include wrangling was needed; these definitions have always been in scope
    but relatively unused.
    
    It also serves to head off a potential problem, which actually motivated the
    whole thing: ITSRWREPL was 0x10, which was claimed as VLSF_UUID;
    VLSF_RWREPLICA is 0x40, which did not have an ITS equivalent.  As ITSRWREPL
    was not used, this had never shown itself in operation.  There was no ITS
    semantic equivalent of VLSF_UUID.
    
    Change-Id: I60426c2635976b9ac34bf820a8aec7a0c8575e20
    Reviewed-on: http://gerrit.openafs.org/11331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e331ee87a32ad3a26c7c933203e1d3690148448f
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Wed Dec 3 02:06:35 2014 -0500

    DeleteVolume should check ITSROVOL as a bit
    
    Other bits may be asserted even if this is a RO vol.
    
    Change-Id: Iff5256db25502b61b161ec068bd9d2a389f796c7
    Reviewed-on: http://gerrit.openafs.org/11617
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit a36aab0dd6e846dbce925cbf3484b74f7f8590a9
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Thu Jul 31 01:52:30 2014 -0400

    Revert "vos-sync-flag-voltype-properly-20080521"
    
    The convention appears to be that ITSRWVOL is the correct flag for
    the backup volume.
    
    This reverts commit dcafea769a1cb70c7b1f8763ae4f7b7744b2a436.
    
    Change-Id: I0f88107d56817515f41a68062053b263683afc94
    Reviewed-on: http://gerrit.openafs.org/11341
    Reviewed-by: Daria Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 654f9e4ad46dd31e789b71a23f7e1465f8300132
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 20:06:34 2013 +0100

    build-sys: reindent AC_ARG_WITH section in acinclude.m4
    
    Change-Id: I80b68eeecf9f72ac7f2ce133d9a5642a67dde22c
    Reviewed-on: http://gerrit.openafs.org/10013
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 2f2e6effa791e3f36f002702cd72e615ccf1a1a7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 30 12:23:43 2013 -0500

    namei: Remove icreate tfd hack
    
    Currently, the namei icreate routine creates a fake FdHandle_t for a
    SetLinkCount call if we're creating a linktable. In the past this was
    probably done because we did not want to open a "real" fdP ,since that
    would mean opening another file descriptor, when we already had a file
    descriptor (from the creating afs_open call).
    
    This is a problem in the salvager, since it means that we can reach
    ihandle code before the ihandle package has been initialized.
    Specifically, we can reach icreate -> namei_SetLinkCount -> ih_fdsync.
    If we reach ih_fdsync without the ihandle package being initialized,
    we assert and dump core.
    
    The ihandle package assumes that we've already initialized it if we
    reach any ihandle code, since creating any IHandle_t causes the
    package to initialize. But since namei_icreate fakes its own IHandle_t
    and FdHandle_t structures, that doesn't happen.
    
    So, to avoid this, stop faking our FdHandle_t and create a real one.
    Since we have ih_attachfd, we can create a real FdHandle_t with our
    existing file descriptor.
    
    Change-Id: I7a8c1e0ed1ee8e5c8ce2e165b9493811d5d2435d
    Reviewed-on: http://gerrit.openafs.org/10213
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 47a1a786786bc7f1e3939aff9100c2196cfcb5a7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 13 19:18:57 2014 -0400

    kauth: fix klog principal name parsing
    
    If a principal name is specified to the klog command, it is not
    correctly passed in the pw structure.  This in turn causes
    uninitialized storage to be passed to ka_UserAuthenticateGeneral.
    This may either lead to a segmentation fault in klog, or cause
    garbage to be passed to the kaserver, leading to garbage in some
    log and audit messages.  In all cases it is impossible to authenticate
    to kaserver with a specified principal name.  However, klog
    still works correctly when no principal name is specified.
    
    This was introduced by commit 68ce3aa814a7e3085242e705f013f05ed5da2d5c
    which removed lclpw to eliminate a clang warning.  However, the clang
    warning was misleading in this case, as lclpw was actually used
    (confusingly) to indirectly update the pw structure.
    
    Instead of reverting this commit, just update pw->pwname directly.
    
    Change-Id: I565360c6e2f970637422e8b01998d3fc29874ec4
    Reviewed-on: http://gerrit.openafs.org/11145
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 01917b4497c5ad4f91bf8bd260a3cc6b7c25f150
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 3 10:53:51 2014 -0400

    auth: Clean up and document functions in netrestrict.c
    
    Clean up and document parseNetRestrictFile_int and ParseNetInfoFile_int
    in preparation for some future changes.
    
    Change-Id: I3c8f1823ba1e042fb6ae68c6f0aba58128ef5b81
    Reviewed-on: http://gerrit.openafs.org/11312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 185966b471325ce15d05d28325e98faaa34ad146
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Mon Jul 28 13:26:22 2014 -0400

    Export xdr_nbulkentries in liboafs_vldb
    
    Change-Id: Id6ba0e4fdb802cc10aa98b32d7e7c9b605c90606
    Reviewed-on: http://gerrit.openafs.org/11334
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 35247b0adb7f31775409fd86aa7a4c4db6267b53
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Oct 9 07:38:10 2013 +0200

    liboafs_util: export symbols for tabular_output
    
    Otherwise compilation fails on AIX.
    
    Change-Id: Id22b7726d9aa56f9a2e0665257b3099baf774896
    Reviewed-on: http://gerrit.openafs.org/10326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cd8f24d9a1ba8563c6bef2b8d30885a753e8d30c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 10 14:47:31 2014 -0500

    doc: Document fs listquota 2TB partition limit
    
    We have previously documented that volumes over 2TB can result in
    inaccuracies, but this documentation does not say how the 'partition'
    field in "fs listquota" can be inaccurate. It is confusing to see a
    usage of 0% for a partition that you know is being used, so try to
    briefly explain in what way this field is inaccurate.
    
    The reason we _under_-report the partition usage is that the
    fileserver actually gives back PartBlocksAvail and PartMaxBlocks (not
    "blocks used" and "blocks total"). So 1TB used and 4TB total is
    truncated to 2TB and given back as 2TB free and 2TB total. One we hit
    3TB used we'll report it as 1TB free 2TB total (50%) when the actual
    usage is 75%.
    
    Change-Id: I0b3de04ef2bd6cd32fdcb1a82cbac58d5d621e5b
    Reviewed-on: http://gerrit.openafs.org/11245
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f889469e271cee5ccf362d829c7827307a6add4c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 18 13:00:38 2014 -0600

    vol: Make FindLinkHandle static and namei-only
    
    FindLinkHandle is only referenced inside vol-salvage.c. Also, the
    concept of a link table only exists on namei, so the function is only
    used for the namei server (and it's only called by other namei-only
    code).
    
    So, make the function static, and put it inside the AFS_NAMEI_ENV
    ifdef, to be a little more clear about where it can be used. Moving it
    inside the AFS_NAMEI_ENV ifdef also avoids a warning if FindLinkHandle
    is made static, since otherwise the function would be defined but
    unused on non-namei.
    
    This change should incur no difference in behavior; it is just code
    reorganization.
    
    Change-Id: Ia8cdadafaf15c724462f600514aa59910619a090
    Reviewed-on: http://gerrit.openafs.org/10848
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4103aee514615c46e919202fb7842b9b2e254ff9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 14 13:17:27 2014 -0500

    ubik: Unlock version lock before udisk_end
    
    Currently, BeginTrans calls udisk_end with UBIK_VERSION_LOCK held when
    it gets an error from DISK_Begin. However, udisk_end itself acquires
    UBIK_VERSION_LOCK to update the database flags, so this causes a
    deadlock.
    
    So, unlock UBIK_VERSION_LOCK before calling udisk_end. Also unlock it
    before calling DISK_Abort, udisk_abort, and DISK_Begin, as well, since
    none of those modify fields protected by UBIK_VERSION_LOCK. (Any read
    access is allowed because we DBHOLD the database.) This commit unlocks
    the lock immediately after we are done modifying versioning
    information, which is right after we change writeTidCounter for write
    transactions.
    
    Change-Id: I31343d67c82734ff88b76bec740ef16767bb9667
    Reviewed-on: http://gerrit.openafs.org/11541
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b19bb7db413de426984f6ddb79b7b97ea478ffaf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 13 15:06:36 2014 -0500

    ubik: Convert DoProbe 'i' to 'nconns'
    
    DoProbe was using the variable 'i' to keep track of how many
    connections we have in the conns array. Keep track of this separately
    using a variable called 'nconns' instead, to make this function a bit
    less confusing.
    
    Change-Id: Ica2b4901c083b315e901366820042fad64030b3c
    Reviewed-on: http://gerrit.openafs.org/11540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8ce37d0d4aa4e6107f79efaf5027f31ea5a17604
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 13 22:28:08 2014 -0500

    libafs: remove "Please install afsd with check server daemon" warning
    
    Apparently, ancient versions of afsd did not start the check server
    daemon (AFSOP_START_CS). The afs_Daemon tries to detect when the check
    server daemon is not running and issues a warning to upgrade afsd.  The
    afs_Daemon waits for the cache initialization to complete (AFSOP_GO)
    before detecting if the cache server daemon is started.
    
    Unfortunately, when running with memcache, the cache initialization is
    fast enough to race with the start of the check server daemon, and the
    "Please install afsd with check server daemon" message is sometimes
    printed to the syslog.
    
    Since all modern versions of afsd do start the check server daemon, this
    error message is no longer needed, so just remove the message and the
    flag used to print it on only once.
    
    Change-Id: If6a57ca0e6fb7e20a1e104c46416139cf5fe785a
    Reviewed-on: http://gerrit.openafs.org/11602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e1f6e4e8f70b0994ba7fdfaeb9df926709b806b
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 8 19:19:05 2013 -0500

    Free security objects used in VolForward
    
    VolForward and VolForwardMulti create rx security objects, but
    never free them. The RXS_Close's are positioned where they are
    to limit the need for conditionals
    
    Change-Id: Iec6879270ad54c30c1fea571cea583afaca9364b
    Reviewed-on: http://gerrit.openafs.org/9527
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit aea3c2a327860297168ea42bb72145b44e6e5acf
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 19:52:51 2013 +0100

    build-sys: fix indentation in test code
    
    Change-Id: If2c0c2a0b0b01bb425f8c1658cef9df232844b1c
    Reviewed-on: http://gerrit.openafs.org/10012
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7d689390a89823df8a102c844d313c1c7a2c096a
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Wed Jun 19 21:15:19 2013 +0100

    build-sys: fix m4 quotation to make upstream autotools to work
    
    Macro arguments for AC_ARG_WITH, such as AC_CHECK_PROGS, need to be
    quoted.  Unless they are the latest version of autoconf will expand
    macros slightly wrong way making the configure to fail at line where
    there are only two ticks.
    
    $ ./regen.sh
    [...]
    $ automake -a -f
    [...]
    automake: error: no 'Makefile.am' found for any configure output
    $ ./configure
    [...]
    checking pkg-config is at least version 0.9.0... yes
    ./configure: line 13348: syntax error near unexpected token `newline'
    ./configure: line 13348: `    '''
    
    Notice that the 'automake' run is needed in order to avoid later
    configure error, which would look something like.
    
    configure: error: cannot find install-sh, install.sh, or shtool in build-tools "."/build-tools
    
    Change-Id: I39476270f351d2f5b332c5c945d6ac67fe16dd82
    Reviewed-on: http://gerrit.openafs.org/9995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 23d81757394824702c3e8bce31fd0f6d568dd680
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 29 13:24:37 2013 -0400

    Remove UKERNEL code from files that don't need it
    
    Remove #ifdef UKERNEL sections from auth, kauth, ptserver, and ubik sources
    that are no longer part of libuafs
    
    Change-Id: I515f65c7e634d9562680c60666a15758261aaae0
    Reviewed-on: http://gerrit.openafs.org/9955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 8b0a296bef8529cf66664b0713a3b451e3b5a5ec
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 29 13:26:29 2013 -0400

    Remove kauth headers from afs_usrops.c
    
    Since ka_* functions are no longer called from here, we don't need
    the headers
    
    Change-Id: I538c27cf4fe2f16811d1d3056b25054c80ba5b2a
    Reviewed-on: http://gerrit.openafs.org/9956
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1df1a68535bcf243b7f6c43f79bc597322719ff8
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 29 13:05:15 2013 -0400

    rxgen: skip ubik for KERNEL
    
    Declare ubik rxgen stubs only for !KERNEL, UKERNEL doesn't need them anymore.
    Don't declare ubik_client or #include ubik.h on KERNEL or UKERNEL.
    
    Change-Id: I0b1587eb46e9efbf627f04c74e0d76f9858bffd0
    Reviewed-on: http://gerrit.openafs.org/9954
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c09785aa036125074db03a799f7dfebb411f4852
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun May 20 17:20:54 2012 -0500

    FBSD: Drop afs_xvcache for vgone()
    
    For FreeBSD, osi_TryEvictVCache was calling vgone() without dropping
    afs_xvcache. Prior to aad83a30a82407bfa6ac15b49fd31d69b563e898, this
    is what osi_TryEvictVCache did, and since the 'slept' pointer
    represents whether we dropped xvcache (not whether we dropped glock),
    it seems like this is the intention of the code.
    
    Change-Id: Icb8cc86d972d7ca717bd91e250771d90931e1ba7
    Reviewed-on: http://gerrit.openafs.org/7434
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b656710d30e6227c5bab75805ef422d237359f46
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun May 20 17:16:37 2012 -0500

    FBSD: Do not vgone() in osi_VM_FlushVCache
    
    osi_VM_FlushVCache just needs to remove VM references to the given
    vcache; calling vgone() entirely should be unnecessary. Remove the
    call to vgone() and other osi_TryEvictVCache-ish stuff, and just try
    to cache_purge the vnode, like the other BSD implementations do.
    
    Change-Id: I71d71f137c04d9ef3625f6a8ae22f0ffb90b9637
    Reviewed-on: http://gerrit.openafs.org/7433
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0315bb393fa9429361e27478832e8a4ed68182d4
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 28 10:47:32 2014 -0400

    Rewrap some long lines in the toplevel Makefile
    
    Only rewrap long lines in make scope; long lines in shell scope
    are untouched.
    
    We are inconsistent about whether continuation lines for listing
    the dependencies of a target are indented by one or two tabs,
    which this commit does not fix.
    
    Change-Id: I2e438a0f42faa2ef7922d2c3b143e14bc82de826
    Reviewed-on: http://gerrit.openafs.org/11178
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 138017efd8166f248d6a1706e5851f2074ad1b34
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 15 18:16:00 2013 -0400

    Remove FOREIGN
    
    It has been unused since the original import of IBM's code.
    
    Change-Id: Ieec597c76e53453d012f1cd86f6860ae60dade5c
    Reviewed-on: http://gerrit.openafs.org/9918
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit bd6859861d7331569081d03450db80a0b476875d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 29 16:14:23 2013 -0500

    salvager: Don't lie about locked-ness to namei_SLC
    
    We have not locked the linktable with a prior call to
    namei_GetLinkCount. So don't claim that we did.
    
    Change-Id: I43adf92b60a0e46b90ae624e4713747585d12c67
    Reviewed-on: http://gerrit.openafs.org/10198
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bdd8c60e798cd1cc6d9e6ec4ee55d60eab1574ca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 29 16:00:37 2013 -0500

    namei: Remove namei_SetNonZLC
    
    This function is unused. Remove it.
    
    Change-Id: Ie48d5370187c851afdd7cd359115d9e74d001aae
    Reviewed-on: http://gerrit.openafs.org/10197
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 752d77b5561bfb6b70e203d3bfcddd93c9dffa12
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 29 15:33:49 2013 -0500

    namei: IH_REALLYCLOSE special inode on delete
    
    When we delete a special inode, we should IH_REALLYCLOSE it, to ensure
    no other cached file handles are open for that special inode. However,
    currently PurgeHeader_r does this, and then IH_DECs the special
    inodes. On namei, calling IH_DEC on a special inode causes the inode
    to be opened, so we create a cached file handle right after we closed
    all cached file handles for that inode with IH_REALLYCLOSE.
    
    Making namei IH_DEC not open an FdHandle_t for the given file is
    non-trivial, at least when dec'ing the linktable. So instead, just
    make namei IH_DEC itself issue the IH_REALLYCLOSE right before the
    actual unlink() call.
    
    With this, we can keep the cached file handle open for special inodes
    until right before they are actually deleted, so we don't issue extra
    unnecessary open()s and close()s.
    
    Change-Id: I35b234ab429bc7cd0f29654cc8f854c82c961071
    Reviewed-on: http://gerrit.openafs.org/10196
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5b62fac45d9eab00626f8aba9d9994d9138980c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 29 15:16:00 2013 -0500

    namei: Remove redundant linktable SetLinkCount
    
    If we're setting the linktable linkcount to 0, we're about to delete
    the whole linktable. So, don't bother setting the link count. Still
    make sure we unlock the linktable, as we still have it locked at this
    point, from the previous GetLinkCount call.
    
    Change-Id: Ia00c1e14de6b8fcd69d594f0dbdbafa32b066dc5
    Reviewed-on: http://gerrit.openafs.org/10195
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit d527a8082507bf091f89c7964ce152dfce5d4052
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Jun 15 18:58:13 2013 -0400

    Fix unchecked calls to asprintf
    
    The return value of asprintf() is the number of bytes printed, or -1 if there
    was an error allocating a large enough buffer.  In the latter case, the value
    of the result string is undefined, and so it cannot be counted on to be NULL.
    
    This change fixes numerous places where the result of asprintf is checked
    incorrectly (by examining the output pointer and not the return value) or not
    at all.
    
    Change-Id: I9fef14d60c096795d59c42798f3906041fb18c86
    Reviewed-on: http://gerrit.openafs.org/9978
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 13c1684b59d5780e205f451da1a7d7f61f5ce78d
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Jan 7 13:33:12 2013 -0500

    volser: make splitvol use VolumeId
    
    convert split volume rpc to also use volumeid type
    
    Change-Id: I6b1ed670a0abdc1487daa65b7e136a1370afd5fd
    Reviewed-on: http://gerrit.openafs.org/8888
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 81a1a53a367f550f6804c7fc562498534ce10d51
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 8 16:51:33 2014 -0400

    Clean up our cleaning
    
    'make clean' and 'make maintainer-clean' still leave around a fair
    number of droppings, prior to this commit.
    
    We were not descending into the 'tests' top-level directory while
    cleaning.  Furthermore, tests/opr/Makefile needed $(LT_CLEAN), and
    tests/rx/Makefile needed to spell it correctly.
    
    The libtoolization places a lot of files to be removed in the
    'pristine' target.
    
    The processing used to implement the =include directive in the pod
    sources for the man pages leaves around the non-.in versions of
    files; we should clean that up in the 'pristine' target as well.
    
    The 'pristine' target should likewise remove the man pages which
    are generated from the pod files.
    
    Additionally, the documentation build uses a Doxyfile which is
    output by configure; that should be removed (if present) by the
    'distclean' target.
    
    When hcrypto was converted to libtool, the use of ${OBJECTS} in
    the clean target was missed, so we were leaving around most of the
    actual object files -- $(LT_CLEAN) does not handle this for us.
    Change the rule to remove *.o as is done elsewhere.
    
    The conversion of libafsrpc to libtool added a convenience library
    libafsrpc_sys.la, and changed how syscall.o was generated on
    most architectures, to be the result of compiling an empty .c file
    (instead of just an empty .o file).  This introduced a new
    intermediate file, syscall.c, which must be cleaned up.
    
    tvolser was only listing volserver and not vos in its list of
    executables to remove while cleaning.
    
    The conversion of venus/test to libtool was not done quite right.
    Makefile.libtool and the .lo suffix are only needed when libtool
    is being used to link *libraries*; just Makefile.pthread suffices
    when libtool is being used to link executables.  As such, remove
    the inclusion of Makefile.libtool, and change the .lo targets back
    to regular .o ones, and add back *.o to the list of files to remove
    in the 'clean' target (it was needed there even without the
    other changes to that Makefile).
    
    Change-Id: Ifbc3eee4ad2dce54df991301bc5edd11eb29a24a
    Reviewed-on: http://gerrit.openafs.org/11532
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8f2fa9d6393a958080387e8d84f6b8cd032b5ff8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 24 17:50:02 2014 -0500

    afs: Consolidate fheader initialization
    
    We were initializing an afs_fheader structure in two different places,
    with the same values. Consolidate these into a single function, so
    updating the structure is easier. Also zero the whole structure, just
    to make sure everything is initialized, even if the structure changes.
    
    This commit should have no behavior impact; it is just code
    reorganization.
    
    Change-Id: If90757166d8490eaa053aa086c7b95349a62332e
    Reviewed-on: http://gerrit.openafs.org/11510
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0125d8c911faf0706667a1733fc086adae6decce
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 20 16:54:25 2014 -0500

    vos: fix crash when getting a non-loopback host address
    
    Fix a crash in vos when trying to find a non loopback server address.
    
    The struct hostent h_addr_list field is a null terminated array of
    pointers to addresses, in network byte order.  The struct hostent length
    field is not the length of the h_addr_list array (as one would expect),
    but rather the length of an address in bytes, which is always 4 for IP
    version 4 addresses.
    
    Verify the returned addresses are IPv4 and take care to not iterate
    beyond the end of the address pointer array.
    
    The non-loopback address check was introduced
    commit dc2a4fe4e949c250ca25708aa5a6dd575878fd7e.
    
    Change-Id: I75dff5ed2a7dd3c4bd6605b375a7a2ffa91eff01
    Reviewed-on: http://gerrit.openafs.org/11609
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 21c9f5341ecb7ef17f37f19406804971090f276f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Dec 4 18:43:51 2013 -0500

    libafs: fix some nits around the symlink VOP
    
    Commit 3f4c1099b7b (gerrit 10474) introduced a few issues, addressed here.
    
    vpp is idiomatically of type 'struct vnode *', not 'struct vcache *';
    use pvc as the name of the parent vcache pointer instead.
    
    Fix whitespace.
    
    Change-Id: Ic5d98a43446861bb571fe5a260e7ae1eea1051fd
    Reviewed-on: http://gerrit.openafs.org/10531
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ba0b0986ecd6407fc07d5733ca741c1e5fa7bf52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 6 19:20:27 2014 -0400

    Windows: Fix cm_AppendServerList
    
    Should use || and not | as the operator when testing for
    NULL pointers.
    
    Change-Id: I00afe64aec4f965d6a831028b546ed01d8e9672a
    Reviewed-on: http://gerrit.openafs.org/11523
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3b8c4abf81ea90e7f24fb7d729062ebb0753043d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 4 10:14:15 2014 -0400

    cmd: avoid piggy-backing flags in the help string
    
    Remove the hack to piggy-back the hidden command option
    in the help string argument.
    
    Change-Id: Iedcb6b96e98b766e3ef2c87cd6e5d41874f2c0b7
    Reviewed-on: http://gerrit.openafs.org/10982
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0adad43d8e400e273ae243cc98ab1503673eb8be
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 21 00:25:45 2014 -0400

    cmd: add flags argument to create syntax function
    
    Add the flags argument to cmd_CreateSyntax() and update all callers.
    The flags argument will be used to set command options, such as
    CMD_HIDDEN.
    
    Change-Id: Ia51be9635f262516cb084d236a9e0756f608bf16
    Reviewed-on: http://gerrit.openafs.org/11430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 744a0e6df11ceefde0885a2ab737a8e689762d53
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Aug 12 21:56:22 2014 -0400

    FBSD: osi_vcache: remove support for unsupported FreeBSD releases
    
    Support for FreeBSD 7.x terminated in early 2013, and it's highly
    unlikely that anyone was successfully using OpenAFS in that
    environment.  OpenAFS has not been tested on 7.x since at least that
    time, probably longer.  This removes the #ifdefs that support pre-8.0
    releases.
    
    Change-Id: I01cbce2d98f02755b170df34d948a94525df3853
    Reviewed-on: http://gerrit.openafs.org/11382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 94d5807d82cc863eefee2814bcc71a7c91f88d51
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sun Sep 7 20:41:06 2014 -0400

    Export xdr_nbulkentries from liboafs_vldb
    
    Change-Id: I117b875189f4f9de971a99ff68eca470515a11ad
    Reviewed-on: http://gerrit.openafs.org/11449
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e053b6bf435519cbbdedaef23f537992f3b50a15
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sun Jul 27 20:16:35 2014 -0400

    Move vos COMMONPARMS to a larger offset
    
    Currently, vos.c leaves a gap of 12 in the argument handling array
    before its common operations (-verbose, -noauth, etc.); 'vos each'
    will take more, so move that to 25.
    
    While here, switch to named constants for these arguments, which
    should make it easier to do this again, if ever necessary.
    
    Change-Id: Idc4424e5fe4efd78389ea8421db000a361b461ec
    Reviewed-on: http://gerrit.openafs.org/11332
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit 562b8f39d14fbcbabb9b39547c3ac81516f6b6d2
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Nov 27 17:31:16 2013 -0500

    rx: Named values for securityObjectStats types
    
    Stop using hardcoded constants and use defined symbols for these
    values.
    
    Change-Id: I3edcf809572cb8c8360af19dcab7a12c4d1be4a9
    Reviewed-on: http://gerrit.openafs.org/10528
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit da12da791e53c8f1ff7f67eda1b58d53a3a2e1cc
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 26 07:35:29 2014 -0400

    Disallow creating users with ANONYMOUSID
    
    It can result only in sadness.
    
    Document this restriction alongside UID 0 as a reserved number.
    
    Change-Id: Ibea2d98bc15a730bc85e84477791ca45a40f2d92
    Reviewed-on: http://gerrit.openafs.org/10950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cb8195d2d6ce1c01e132c05c1bf5593eab45b2c6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 2 17:51:46 2014 -0500

    systemd: RemainAfterExit in openafs-client.service
    
    Currently, if the client is started without any options that require
    an extra thread (like -afsdb), all processes spawned by afsd will
    exit. There may be some kernel threads still active, but those are
    spawned by the kernel module, and are not child processes of the
    parent afsd process, or anything like that.
    
    Since we are a Type=forking service in systemd, systemd interprets
    this situation to mean that the service has stopped successfully, and
    then runs the ExecStop commands. So, for example, if our AFSD_ARGS in
    our sysconfig is "-fakestat -afsdb", the service starts as normal. But
    if it is changed to "-fakestat", then when openafs-client.service is
    started, it immediately stops again.
    
    To avoid this, turn on the systemd option RemainAfterExit, which tells
    systemd that the service has not stopped if all of our processes have
    exited. The client service will thus remain running until it is
    stopped.
    
    Issue reported by Rich Sudlow.
    
    Change-Id: If760d3617d4afbcfac923df726eb58b03ce25771
    Reviewed-on: http://gerrit.openafs.org/11440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>

commit cbf67da1e5b8134be58bb1632be6ea69f2052cf5
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 17 11:03:11 2014 -0500

    NetBSD osi_crypto: use cprng(9) for random source on NetBSD 6.99/7.x
    
    Change-Id: Id8ee7f149cdc921989a5de7dda35739147de0014
    Reviewed-on: http://gerrit.openafs.org/11086
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ce0cad182cddd21ccdebbf05a3e2379c7fcbe8fe
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Nov 19 14:14:07 2014 -0500

    Update CellServDB to 20141117 snapshot
    
    This should be all the locations we keep it in-tree.
    
    Change-Id: I6819bf0658766aaad21ad38417295616418d41c5
    Reviewed-on: http://gerrit.openafs.org/11607
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f8ec0c9d559cc61561d0245f133cb162c4b6f6d5
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 17 12:32:17 2014 -0500

    NetBSD: catch up to <sys/simplelock.h> removal in NetBSD 6.99.x
    
    Change-Id: I2c663fc426914e978e98c6003419503b57a020d3
    Reviewed-on: http://gerrit.openafs.org/11087
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7ae5b73a90940fe693fd5a726aa31408bd7aec39
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Oct 31 23:45:13 2014 -0400

    fix whitespace errors in acinclude.m4
    
    Use tabs instead of spaces in the sysname lookup case
    statement for the macos cases.
    
    Change-Id: Iee03d1b593aee4f6c4bc2488b069b21e116c9f1d
    Reviewed-on: http://gerrit.openafs.org/11566
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a9a3cb2efff7e6c020be4687b004d157bc070ac6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 5 10:22:00 2014 -0600

    LINUX: Avoid check for key_type.match existence
    
    Commit b5de4a9f removed our key_type 'match' function for kernels that
    do not have such a 'match' function pointer. However, this added a
    configure test where we are supposed to fail for the "new" behavior,
    which is discouraged.
    
    This causes an actual problem, because this test will fail on at least
    RHEL5, due to arguably unrelated reasons (the header file for the
    relevant struct is in key.h instead of key-type.h). And so, in that
    situation we avoid defining a 'match' function callback, meaning our
    'match' function callback is NULL, which causes a panic when we try to
    actually look up keys for a PAG.
    
    To fix this, transform the 'match' config test into one where we
    succeed for the "new" behavior. We do this by testing for the
    existence of the new functionality that replaced the old 'match'
    function, which is the match_preparse function (specifically, the
    'cmp' field in the structure accepted by match_preparse). This should
    cause unrelated compilation errors to cause us to revert to the "old"
    behavior instead of the "new" behavior. At worst, this should cause
    build issues if we get the config test wrong (since we will try to use
    the 'match' function definition that does not exist), instead of
    panicing at runtime.
    
    Note that while we test for key_type.match_preparse, we don't actually
    use that function, since our 'match' functionality is the same as the
    default behavior (according to b5de4a9f). So, we can avoid defining
    any such function for newer kernels.
    
    Thanks to Stephan Wiesand for bisecting this issue.
    
    Change-Id: If6f93d6b5340fa738a55adeb7778d26ff5dbacc1
    Reviewed-on: http://gerrit.openafs.org/11589
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 255c0a564fce8616a2ebc9e6d1c2d7370b1d6908
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Fri Feb 7 11:23:32 2014 +0100

    rx: initialize memory before use
    
    initialize sockaddr_in.sin_zero before using. cosmetic, might fix some
    compiler warnings.
    
    Change-Id: Ib9c4707373ca98742f6a5e28e60006499527fa38
    Reviewed-on: http://gerrit.openafs.org/10816
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7583f97d5f19aa2d207f8a35a1a3a8b76f672e30
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 15 15:03:36 2014 -0400

    Allow compiling with KERNEL and AFS_PTHREAD_ENV
    
    Add the necessary preprocessor conditionals to allow building
    libuafs with AFS_PTHREAD_ENV defined.
    
    A follow-up commit will switch to building libuafs using libtool,
    which will set the pthread compiler/linker flags.  UKERNEL is already
    using the pthread primitives for its internal kernel synchronization,
    so there should not be any harm from additionally specifying the
    pthread build arguments.
    
    This change was produced mostly in a mechanical fashion, attempting
    to perform such a build, and eliminating compiler and linker errors
    in an iterative process.  No concerted effort has been made to audit
    the whole kernel codebase for correctness of conditionals, but the
    linktest executable does link (that is, the overall build succeeds).
    
    Change-Id: I14a3ab5fce72812d92ba5657c734783dbd086ee3
    Reviewed-on: http://gerrit.openafs.org/11546
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a55d61b1f5206d4e8dffca0088e31c54836110f9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 15 12:19:44 2014 -0400

    klog: make krb5_524 non-fatal for native K5 tokens
    
    The krb5_524_conv_principal() function should fail whenever the Kerberos
    v5 principal cannot safely be mapped onto a Kerberos v4 principal, and
    does fail on some Kerberos v5 principals used in real-world AFS
    deployments.
    
    Prior to this patchset a failure was treated as a fatal error that
    in turn prevents an AFS token from being generated or set into the
    cache manager.
    
    Prior to b1f9b4cb5dd295162ae51704310e9d6058008f0a the
    krb5_524_conv_principal() function wasn't used and a local client
    mapping was created.  b1f9b4cb5dd295162ae51704310e9d6058008f0a
    replaced the local mapping with the krb5 function because the local
    mapping could be wrong and confusing.
    
    The krb5_524_conv_principal() function as applied to AFS tokens is
    just a local guess.  How the username in the token is interpreted by
    the AFS server is up to the server.
    
    krb5_524_conv_principal() is only used for Krb5 native tokens. For Krb4
    tokens the krb5_524_convert_creds() function is used to obtain both the
    Kerberos v4 ticket and the converted names from the KDC. Many
    organizations used the krb524d service to perform name translation. When
    the krb524d service is used, the name translation is performed by the KDC,
    so there is no local call to krb5_524_conf_principal() which might fail.
    As a result, disallowing the use of a native Krb5 token due to a failed
    local name translation is a needless loss of functionality; the local name
    translation is not an essential part of obtaining a token.
    
    This patchset modifies the behavior such that krb5_524_conv_principal()
    errors are non-fatal.
    
     1. If -noprdb is not specified the error message is generated
        and a NULL username is used.
    
     2. If the username is NULL the prdb lookup is disabled.
    
     3. If the username is NULL the informational messages do not
        include a username.
    
     4. If the username is NULL the username info provided to the
        cache manager in the token description is the nul string.
    
    Credit to Ben Kaduk for assistance with the wording of this
    commit message.
    
    Change-Id: Ib07131fc0ff4bf5319815213198c3f0adac17b10
    Reviewed-on: http://gerrit.openafs.org/11542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit d9a39f3580484a0818f2169f6db38fc685afda80
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Mon Oct 13 01:02:41 2014 -0400

    Stylistic tweak lwp/process.o machinery
    
    Rename process.s to process.default.s so that the name "process.s" is free
    for use, and switch to using that as the ephemeral file name.  This enables
    the use of gcc for ${AS}, despite gcc's ignoring files with extensions that
    it does not recognize.
    
    Change-Id: Idc0716547770fe4fc94bc3fa2c223966f3f76c3b
    Reviewed-on: http://gerrit.openafs.org/11535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 96e001088c7e22e992366d5a6dd03e300c858f43
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 6 13:47:13 2014 -0400

    tests: Fix fmt-t.c warning
    
    'main' in fmt-t.c was declared as a prototype-less function, which
    triggers a warning, which is an error with --enable-checking. Fix it
    by declaring 'main' properly.
    
    Change-Id: I45cfec591acd0ef8d7836c79e997e8ffe29b9e38
    Reviewed-on: http://gerrit.openafs.org/11539
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>

commit 6b93ad695e53a86dbe9eea13bd0ff651e1d8c9b7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Oct 24 17:17:07 2014 -0400

    vldb_check: fix false mh block error message
    
    Fix a false error message about invalid mh blocks when the vldb has more
    than one mh block.  To add insult to injury, vldb_check complains about
    the wrong address and block number.
    
    The flags field in the mh block header is in network byte order, in all
    of the blocks, not just the first one.  Be sure to convert all of them
    to host byte order so the VLCONTBLOCK flag check works.  Fix the error
    message on the secondary blocks to show the correct address and block
    number.
    
    Example bogus error messages:
    
    vldb_check ./vldb.DB0
    address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block
    address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block
    address 132120 (offset 0x20458): Multihomed Block 0: Not a multihomed block
    
    Change-Id: I31d96ad43f01fbf2774815184942be45e2d7820b
    Reviewed-on: http://gerrit.openafs.org/11555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 46bc619c38591b831b61b3efa7fb7706fbd44527
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Oct 6 17:19:44 2014 -0400

    Finish deorbiting libjuafs.a
    
    Change I2074d5bc26e326db36b16e055431818ef1c69210 removed the separate
    compilation/link of a libjuafs.a (since it was functionally identical
    to the libuafs.a already being built), but retained a libjuafs.a in
    TOP_LIBDIR for use by src/JAVA/libjafs/.
    
    This commit adjusts src/JAVA/libjafs to refer to libuafs.a directly,
    and removes references to libjuafs.a which are no longer relevant.
    
    Change-Id: I0d02ea9e4be773ac50a04925c45e5f243650e21a
    Reviewed-on: http://gerrit.openafs.org/11526
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 003519485db7a185f0e1b843e5b569977ff1224b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Oct 16 00:04:14 2014 -0400

    Make afs_usrops.h more closely resemble reality
    
    Remove prototypes for many routines which are not implemented.
    (I thought some toolchains would complain about this sort of thing?
    Maybe we disable it.)
    
    Change-Id: Id09f494f1c64c2feb05ae82ead9898c08888a5de
    Reviewed-on: http://gerrit.openafs.org/11547
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 33f20e841d1ba39761b292d8a69aec2e6fdf883d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 19 23:04:10 2014 -0400

    Build libuafs with libtool
    
    Use the standard program for building PIC and non-PIC object files,
    instead of rolling our own.  This allows us to pull the build rules
    into the Makefile.common, leaving just compiler flags and similar
    in the MakefileProtos.
    
    This does change the build flags being used to compile these files
    somewhat -- the old CRULE1 and CRULEPIC used CC instead of CCOBJ
    or MT_CC, and did not pass MT_CFLAGS, but it should be safe to
    move to the standard compiler invocations.  We can also eliminate
    the libuafs-specific 'OPTF' variable which expands to OPTMZ almost
    everywhere.
    
    Rename our COMMON_INCLUDE to MODULE_INCLUDE so it's picked up properly
    by the standard build rules; this will let us remove
    ${TOP_OBJDIR}/src/config and ${TOP_INCDIR} once the rest of the
    build rules in this Makefile are converted to use libtool, as those
    include directories are already added by COMMON_INCL in Makefile.config.
    
    As a side effect, we get rid of the LIBUAFS make variable -- all sites
    were defining it to libuafs.a anyway, so we can just hardcode it.
    
    We can also build a shared libuafs.la "for free".  Don't install
    it anywhere just yet, though.
    
    Change-Id: I2bda2f40bbd0aa808c24e074d2d7bcd329f6b77e
    Reviewed-on: http://gerrit.openafs.org/11472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit ba229cbf45bce094d1a93f800483c4b98d32f6db
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Oct 16 12:46:11 2014 -0400

    Attempt to make hcrypto parallel-safe
    
    make -j4 on a Fedora buildbot machine failed to compile engine.lo
    because hcrypto/rand.h was missing.
    
    Change-Id: I2750db9ed932144fbc66ede41d24c4930172a446
    Reviewed-on: http://gerrit.openafs.org/11548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c7f1db24d5d0e1fdc956896c7b9804657e4d5b28
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 15 19:49:12 2014 -0400

    (Partially) unify XDR for libuafs and libafs
    
    The libuafs build was getting xdr_vector() from both afsaux.c and
    xdr_update.c, but because of the rules for creating static libraries,
    this did not cause build errors.
    
    The libafs build is sensitive to duplicate symbols, and was only
    getting xdr_vector() from afsaux.c; libafs was not building xdr_update.c
    or xdr_refernce.c (that is not a typo).
    
    Remove duplicate xdr_vector() from afsaux.c, and build xdr_update.c
    and xdr_refernce.c into libafs.
    
    Remove the unused #define of AUTH_DES.
    
    Change-Id: I58ea595d424801697acb07406664ede33aeaf026
    Reviewed-on: http://gerrit.openafs.org/11545
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 67d168511e716d12cc68476a7fda7e984e2ff96a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 15 17:52:22 2014 -0400

    Avoid AFS_version conflicts in uafs
    
    libuafs links in both afsd.o and AFS_component_version_number.o;
    afsd.c #includes AFS_component_Version_number.c, which causes
    symbol conflicts when linking shared.
    
    Don't include the version file when compiling for UKERNEL, to
    avoid the conflict.
    
    Change-Id: I9474faf10e029d0022b12431aad51e27412b19fc
    Reviewed-on: http://gerrit.openafs.org/11544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 7223d7b00c20032a957bd6f82ddaf2e0c7d522a9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Apr 7 21:54:46 2014 -0400

    Do not install kauth manpages when kauth is disabled
    
    Commit 5afe7a882b0bb90a515e505d9ffce4f644633f06 added a configure
    option to disable the installation of the kauth suite, but did not
    add any logic to disable the installation of the corresponding man
    pages, so those man pages were always installed regardless of the
    options to configure.
    
    Add logic to doc/man-pages/Makefile.in to create .noinstall files
    for man pages which should not be installed in the current configuration.
    Depend on the Makefile (which will be regenerated by configure) in
    this target so as to attempt to behave properly if configure is re-run
    with different arguments in the same working tree.
    
    Change-Id: I19b77a9f20fe27c49db14f3e800d8c77cda1bb3a
    Reviewed-on: http://gerrit.openafs.org/10993
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c36a1525f13d3900817caea7dbd0c934cc93931e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 14 17:02:55 2014 -0500

    auth: Fix GetNthIdentityOrUser EOF return code
    
    Before commit 0af17e7e, afsconf_GetNthUser always returned 1 on
    failure, to indicate to the caller that they should stop traversing
    over the list. After commit 0af17e7e, when reaching the end of the
    list, we return EIO or -1. This causes 'bos listusers' invocations to
    always fail, since 'bos' clients expect to get the code 1 when
    reaching the end of the SUsers list.
    
    To fix this, make GetNthIdentityOrUser always return -1 when searching
    beyond the end of the list. For the newer interface
    afsconf_GetNthIdentity, we return this as-is, to have a separate
    return code specifically for EOF, but still allowing us to return any
    positive error code in case of an error.
    
    For the older interface afsconf_GetNthUser, return 1 in this
    situation, to retain compatibility with the old interface (both at the
    libauth level and on the wire).
    
    Change-Id: I2db4760440d7846dc290a05fa24e24ec97a02f12
    Reviewed-on: http://gerrit.openafs.org/7377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 01bbe3772734c496b64af2cd7c213cc5f6533ba6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 15 15:04:16 2014 -0400

    Remove dead code
    
    RX_ENABLE_TSFPQ is never defined for KERNEL builds.
    
    In any case, there's a syntax error in the removed code, with a
    missing '&' before rx_stats.receivePktAllocFailures.
    
    Change-Id: I3aaf3d80f7dfee6836016b65b057e1312d716368
    Reviewed-on: http://gerrit.openafs.org/11543
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f39dd54e11dff5e2b4da3eec419ae7c0825c210f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Oct 30 19:51:29 2014 -0400

    Build fix for recent FreeBSD -current
    
    r273707 added a flags argument to syscall_register(), so
    add the appropriate version check in param.generic_fbsd.h
    and ues that in the main code.
    
    Change-Id: I7ddf6e1295d7ed94625f19fdeee4e38ef5fd511e
    Reviewed-on: http://gerrit.openafs.org/11565
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit ae8df21d26dd3462c75beb89e6ebbe6dedebd106
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 21 00:06:26 2014 -0400

    remove cmd-suite-option-for-hiding-admin-commands
    
    Remove the incomplete and non-functional cmd option for hiding admin
    commands, introduced in commit 36d02757fd6863a845163daf0d730bdcc0a28343.
    
    This patch removes the CMD_ADMIN flag, the non-functional help -admin
    parameter, and the non-functional cmd_IsAdministratorCommand() function.
    
    Thanks to Jeffrey Altman for pointing out this old commit and for
    suggestions on cleanup.
    
    Change-Id: I72c7d2ed7109b1238713fe0d6d177c5af6fc6b7d
    Reviewed-on: http://gerrit.openafs.org/11429
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c22e1797e8c200140f3885647d0ddcb901e8fc37
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sun Nov 2 01:22:52 2014 -0500

    Add sparc_linux26 sysname and params
    
    A copy of sparc_linux24 without #undef USE_UCONTEXT.  Userland
    tested on a Debian unstable-release machine.
    
    Change-Id: I69a4226622748b18f5835d6517297b2d3750586a
    Reviewed-on: http://gerrit.openafs.org/11567
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 27b66f24aad04d1e74a7aa43d6ebcca0b98af18f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Oct 30 19:38:50 2014 -0400

    Attempt to make the server install bits current
    
    Avoid using -noauth, and mention both the rxkad.keytab (1.6)
    and the KeyFileExt (as 1.8, though it's only master at present).
    To support these, move forward the use of kadmin to extract
    the afs/cell principal's keytab.
    
    Move the buserver's creation to the end of the list and mark it
    as optional (many sites do not run the AFS backup suite).
    
    Deindent some programlisting blocks so they don't flow off the
    page as much in the PDF version.
    
    Drop vos syncserv and vos syncvldb from the tasks for setting
    up a new server; they should not be needed, as the new db server
    should pick up the existing database when it joins the quorum.
    
    General edits for clarity, whitespace and such.
    
    Change-Id: I951ec3ee237e4c83a17c82802328f0a454b61097
    Reviewed-on: http://gerrit.openafs.org/11581
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f0ba037073bc215132c02c40e66732f2514983d6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 13:33:56 2014 -0500

    Switch other-linux to built-from-source
    
    Don't talk about tarball distributions; we shouldn't be
    doing those anymore.  Also switch away from 'make dest'.
    
    Change-Id: If0badacab4b3c2492e90867328153f83da82bfc1
    Reviewed-on: http://gerrit.openafs.org/11580
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 112064b98ff14da8418d1b4fe0844ef1adb9f258
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 13:13:44 2014 -0500

    Add a Debian/Ubuntu subsection
    
    As an alternative to rpm-based systems or "systems packaged as
    tar files".  Luckily, the instructions are pretty simple.
    
    Change-Id: I8045763b518465c3ffd7fe3f177fff98146033fb
    Reviewed-on: http://gerrit.openafs.org/11579
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit face986d9440faa28c00dfbc5ff33a3a852ed14c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 16:47:16 2014 -0500

    Deorbit upserver from the quickstart guide
    
    It's not the recommended way to push updates anymore,
    and clutters up the guide.
    
    Change-Id: I248380f12609a2ca03f47602773dc08f230b6fbe
    Reviewed-on: http://gerrit.openafs.org/11578
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b83ba7e3fd950c88db3afedd989349e6fa7bb4d8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 16:46:20 2014 -0500

    Drop the non-DA fileserver
    
    The instructions are clearer when we just tell people what
    to do, and we think that dafs should be right for almost
    everyone.  Mention that the traditional fileserver is an
    option and where to read about it, but nothing more.
    
    Change-Id: I1fccceb8ee2bf2ec1e5afb0f5b034f029ee96c61
    Reviewed-on: http://gerrit.openafs.org/11577
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2c6886bf8c62f72eb399d96508012ff7724e1180
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 12:59:14 2014 -0500

    Reorder "Getting Started" sections
    
    Put the ones most likely to be relevant at the top, instead
    of sorting alphabetically.
    
    Change-Id: I6ad80ee2a30b7192d8c8e4668234fa1789e1a213
    Reviewed-on: http://gerrit.openafs.org/11576
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f71063b0324031178432468aff6dca12c3019f4b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 12:57:08 2014 -0500

    Deorbit "Getting started on IRIX systems"
    
    IRIX is mostly gone as an upstream.  The case for removing this
    is less clear than the case for removing the HP-UX docs, but
    it still feels like clutter in this document.
    
    Change-Id: Ib7e9bfc8f7ae8e08e9f12b70d5df615496f57bb6
    Reviewed-on: http://gerrit.openafs.org/11575
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit ce57b96ecb4274901d96a01c602dc747509d604e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Nov 3 12:55:55 2014 -0500

    Deorbit "Getting started on HP-UX systems"
    
    We don't really support HP-UX anymore; no need to clutter up
    the documentation with it.
    
    Change-Id: Ib75f4f137c3cfcb5ab2aece3746964f1cfbab051
    Reviewed-on: http://gerrit.openafs.org/11574
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2e9c06056b6047f1b9f6fb8ad18caba3a849c2f4
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 29 09:10:21 2014 -0400

    Update QuickStartGuide front matter
    
    Bump copyright and, uh, major version for the "in progress" note...
    
    Change-Id: I5edd235864138b82c84dc1c1218f849217efad1e
    Reviewed-on: http://gerrit.openafs.org/11573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 86cdf6daa74e6f6f963eaf8c014b4ad5dc68d7e4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 1 09:13:43 2014 -0400

    roken: configure checks for inet_ntop and inet_pton
    
    Change-Id: Idf2eee040235bbf1f34ed993c74dd5936ae063c6
    Reviewed-on: http://gerrit.openafs.org/11584
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit dedc1734e511329e06100b7c39cc33502e0581ab
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Fri Aug 1 08:56:02 2014 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d)
    
    New files are:
            roken/inet_ntop.c
            roken/inet_pton.c
    
    Change-Id: Ice2f687c67550409b366fbea3e52ae42284f4cbd
    Reviewed-on: http://gerrit.openafs.org/11583
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f4c2befbdf1d8b251a2b029297c31c3ab1ba917c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 1 08:38:45 2014 -0400

    roken: add inet_ntop and inet_pton to the imported file list
    
    Change-Id: If785d18e3fd5f333c62bff9ddee2c5835ee871db
    Reviewed-on: http://gerrit.openafs.org/11582
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e4a8a7a38dbf29e89bc1a7b6b017447a6aa0c764
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 3 19:06:15 2014 -0500

    avoid writing loopback addresses into CellServDB
    
    Do not use loopback addresses for the server side CellServDB file.  Use
    getaddrinfo() instead of gethostbyname() to look up a list of IPv4
    addresses for a given hostname, and take the first non-loopback address.
    
    This avoids writing a loopback address into the CellServDB on systems
    such as Debian, which map the address 127.0.1.1 to the hostname in the
    /etc/hosts file.
    
    Change-Id: I11521df50262ca80c7db21b7b44671d94bef3587
    Reviewed-on: http://gerrit.openafs.org/11585
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9be7e23cc562a2dfec2dc4cd7614c5ca5f397789
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Oct 29 17:25:29 2014 -0400

    Document the vldb (ubik) file format
    
    Briefly document the vldb version 4 file format.  Describe the vl
    header, the vl entry, and mh extensions.
    
    Thanks to Marcio Barbosa for an initial draft, comments, and review.
    
    Thanks to Ben Kaduk the prdb.txt, and for an initial review and comments.
    
    Change-Id: If3ca85419027a218b7bb1585f5d5cd4763ad5b26
    Reviewed-on: http://gerrit.openafs.org/11564
    Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit ba1cc838ab4a80b7a7787c441a79aca31d84808c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 28 00:10:56 2014 -0500

    LINUX: Avoid d_revalidate failure on mtpt mismatch
    
    Currently, if afs_linux_dentry_revalidate is given an inode that
    corresponds to a mtpt vcache ('vcp'), it resolves the mtpt to its root
    dir if it's easy to do so (mvid and CMValid are set). Later on, we run
    afs_lookup to see if looking up our dentry's name returns the same
    vcache that we got; afs_lookup presumably will also resolve the mtpt
    if it's easy to do so.
    
    However, it is possible that afs_linux_dentry_revalidate and
    afs_lookup will make different decisions as to whether or not they
    resolve a mtpt to a dir. Specifically, if CMValid is cleared after
    afs_linux_dentry_revalidate checks for it, but before afs_lookup does,
    then afs_lookup will return a different vcache than
    afs_linux_dentry_revalidate is expecting, even though the relevant
    directory entry has not changed. That is, tvc is not equal to vcp, but
    tvc could be a mtpt that resolves to vcp, or vice versa. CMValid can
    be cleared by another thread at virtually any time, since this is
    cleared in some situations when we're not sure if the mtpt resolution
    is still valid (callbacks are broken, vldb cache entries expire, etc).
    
    afs_linux_dentry_revalidate interprets this situation to mean that the
    directory entry has changed, and so it eventually d_drop's the
    associated dentry. The way that this manifests to users is that a
    "fakestatted" mtpt can appear to be deleted effectively randomly, even
    when nothing has changed. This can be a problem because this causes
    the getcwd() syscall to return ENOENT when the working directory
    involves such an affected directory.
    
    To fix this situation, we just detect if afs_lookup returned either
    'vcp' (our possibly-resolved vcache), or the original inode associated
    with the dentry we are revalidating. If the returned vcache matches
    either of these, then the entry is okay and we don't need to
    invalidate or drop anything.
    
    FIXES 131780
    
    Change-Id: Ide1dd224d1ea1e29a82eb7130a010877cf4e9fc7
    Reviewed-on: http://gerrit.openafs.org/11559
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b5de4a9f42bb83ae03f2f647b11a1200a502d013
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Oct 23 11:27:55 2014 -0400

    Linux 3.18: key_type no longer has a match op
    
    Structure key_type no longer has a match op, and
    overriding the default matching has to be done
    differently.
    
    Our current match op doesn't do anything special so there's
    no need to try to override the defaults; just remove the
    assignment of .match and the associated function.
    
    Change-Id: I0ee195e47f40688d9a71ea62a0b87a4265363f05
    Reviewed-on: http://gerrit.openafs.org/11563
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit a42f01d5ebb13da575b3123800ee6990743155ab
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Oct 23 11:12:57 2014 -0400

    Linux 3.18: d_invalidate can no longer return an error
    
    d_invalidate is now defined as void and does not have
    a return value to check.
    
    Change-Id: Ief1b562db63877dde9f4a8ac4918b727a05b23bb
    Reviewed-on: http://gerrit.openafs.org/11562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 882146b0e671e008e1d599cd34213bf940410d33
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 11 20:53:09 2014 -0400

    viced: kill CLIENT_TO_ZERO macro
    
    Move all struct client fields that are to be zeroed upon structure
    reuse to a new struct client_to_zero.  Include the new structure
    within struct client and call memset() on that structure.
    
    Change-Id: I0f83f5f18b41bc0d4f8e1f7f8e04cd5508cbe4e1
    Reviewed-on: http://gerrit.openafs.org/11288
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 1b5d5afca69b4a5a6c4027d4b5968d4ebdadc89a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 11 20:40:47 2014 -0400

    viced: kill HOST_TO_ZERO macro
    
    Move all struct host fields that are zeroed into a new structure
    host_to_zero which is then included in struct host as 'z'.
    
    Remove the HOST_TO_ZERO macro entirely as its presence can lead
    to the introduction of dangerous errors.
    
    Change-Id: I44afd37413afae4e4357e68cdadf5c28784611c5
    Reviewed-on: http://gerrit.openafs.org/11287
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit fb67a8d4ef62387f8ed7d1ffc373a07475e70588
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 11 19:37:34 2014 -0400

    viced: move host tmay fields before index
    
    The index field and those after it in struct host do not get zeroed
    when a host is reused.  The placement of the tmay fields after index
    in commit 9a0a8ca4d186cf953b87d9fae1a35f66090b060c results in the
    use of uninitialized memory.
    
    This change moves the tmay fields before index which permits
    the HOST_TO_ZERO() macro to compute the correct size to be memset()
    to zero.
    
    Change-Id: I1f93bebb23c99eaa7826dafa8cd7497d1b49bb53
    Reviewed-on: http://gerrit.openafs.org/11286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 235e88a36c1c26b5e5160510ce3b63e61d597e19
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Jun 12 14:20:24 2014 -0400

    viced: remove obsolete comment about alignment
    
    Alignment may have been historically relevant, but is no longer.
    Remove the comment.
    
    Also remove the unneeded 'dummy' field which does not provide
    padding for a useful alignment.
    
    Change-Id: I447fb73c379e6f86facd955a29ffd80e8929ceff
    Reviewed-on: http://gerrit.openafs.org/11289
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 3b27be6692796bb5319dfa1ea0e01698bbf64aab
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Oct 14 14:03:40 2014 -0400

    libafs: avoid contaminating the return of lookup vnop
    
    when we resort to checking the inlinebulk errors to see if a retry
    is needed, do not overwrite the lookup return code; only decide if
    a retry is needed.
    
    problem case was where the first vnode returned EACCES and so
    all vnodes were assumed to have failed, when just one did.
    
    Change-Id: Ifd7361ce5af50a72817afa81d31d9cfbda906efd
    Reviewed-on: http://gerrit.openafs.org/11537
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8f630226f6f1f73a4d816b72caab3bb1e4620312
Author: Christer Grafström <christer.grafstrom@ltu.se>
Date:   Wed Oct 29 08:05:06 2014 +0100

    Packaging support for MacOS X 10.10 "Yosemite"
    
    This is just the packaging part of the patch submitted in the
    RT ticket. The configuration part is in the preceding change.
    
    FIXES 131946
    
    Change-Id: Ic5b200b1f54d7f9f9552b0f9e2b881c3f0af9bc2
    Reviewed-on: http://gerrit.openafs.org/11561
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 4109785a891d802194ad11edb600a61de316d262
Author: Christer Grafström <christer.grafstrom@ltu.se>
Date:   Wed Oct 29 07:56:35 2014 +0100

    Add support for configuration of MacOS 10.10 "Yosemite"
    
    This is just the configuration part of the patch submitted
    in the RT ticket. The packaging part will will follow in the
    next change.
    
    FIXES 131946
    
    Change-Id: Ic8835b1ddf317600483505a2d94d9f3568720804
    Reviewed-on: http://gerrit.openafs.org/11560
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 8c78a44cf5197ceee6907e947074973138c442f0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 27 16:39:34 2014 -0500

    rx: Reset lastSendData when resetting call
    
    Currently we use call->lastSendData to attempt to detect a stalled
    call, if it's been too long since the last time the call sent any
    data. However, we never initialize lastSendData to anything when
    creating a new call.
    
    This means that when rx_NewCall (or rxi_NewCall) returns, lastSendData
    can be nonzero. This can happen if we reuse a DALLY call, or if we
    pull a call off of rx_freeCallQueue. This can be a time very far in
    the past, since the lastSendData time has not changed since the last
    time the call was used; it will remain unchanged until a user of the
    new call writes something to the call stream.
    
    This can be a problem between the time when a caller creates a new
    call with rx_NewCall and when the caller actually writes something to
    the stream. Between those two times, if lastSendData happens to be set
    to a time in the past, we may call rxi_CheckCall on that call, and
    abort the call for being idle. The call will thus be aborted before it
    even sent any data on the wire.
    
    This is of particular concern for multi_Rx calls, since those can
    create a large number of call structures, possibly introducing a delay
    between calling rx_NewCall and writing anything to the stream (if one
    of the later rx_NewCall invocations blocks waiting for an open call
    channel, for instance, all of the previous allocated calls will stick
    around unused for potentially a long time).
    
    One such multi_Rx call is done by the cache manager, where it
    periodically uses multi_Rx to call RXAFS_GetCapabilities to probe
    fileservers for reachability. If this issue occurs during that
    operation you can see a large number of servers get marked down for
    code -9 (RX_CALL_IDLE), and then get marked as coming back up.
    
    To fix this, set lastSendData to 0 when resetting a call, along with
    most of the other fields in a call, to indicate that the call has
    never sent any data. As long as lastSendData is 0, the call will never
    get aborted with RX_CALL_IDLE, and this situation will be avoided.
    This ensures that this issue cannot happen, since rxi_ResetCall is
    guaranteed to be called at some point whenever we reuse a call
    structure for any reason.
    
    Change-Id: Ie96d1c640616fd5a234c635f60dfef4ad7c19d28
    Reviewed-on: http://gerrit.openafs.org/11557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 616d19a2ebedf62e47a30c3357b3596aa234e011
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sat Oct 25 19:48:36 2014 -0400

    Remove duplicate CREATE_SGUID_ADMIN_ONLY define
    
    A trivial omission from 30433f36a953187f27b5db9fb432f3b7dce91e6b
    
    Change-Id: If85ebd73a68c6226077b690243a94c2e40f88149
    Reviewed-on: http://gerrit.openafs.org/11556
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c04c57c6c57d2e0b09ba60b68de738b636c9450b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Oct 22 12:07:37 2014 -0400

    Remove documentation of 'program'
    
    This tool was removed in 2006 in commit
    b405868ca02880207bda1ec6eb4e21c7b0ac250c. Also remove mention of
    wsadmin, removed at the same time.
    
    Change-Id: I8475b951f576f10ddd2f4b72565354b9fba41d94
    Reviewed-on: http://gerrit.openafs.org/11554
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 6e167d4646992e95d294927b238e21f39b1169e3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Oct 6 22:54:09 2014 -0400

    Remove unused -k argument to fileserver
    
    It has been unused since the LWP fileserver was removed.
    It was used to set the LWP stack size.
    
    Change-Id: I2ffd3a2f02049a307b668a46b62b31dc9bc128a8
    Reviewed-on: http://gerrit.openafs.org/11527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 89febdba40119c3f1e2d33901bdce4f649a12400
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Oct 6 17:06:53 2014 -0400

    Warn at configure time about bitmap-later
    
    It's superseded by DAFS and is slated for removal post-1.8.
    
    Change-Id: Id2c870fb76eeb470bbf393e99654df434b1a1a86
    Reviewed-on: http://gerrit.openafs.org/11525
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f7ddab6606617cb587a0f667bba6837c8103d5e9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Oct 6 13:31:23 2014 -0400

    Merge pam into the kauth configure option
    
    Realistically, you shouldn't be using either kauth or pam.  The
    pam functionality provided by the module in our tree is only
    useful in a kaserver-style environment, so it makes sense to merge
    the two knobs.
    
    Retain a separate enable_pam variable so that it can be overridden
    on a per-architecture basis where it is known to not work.  Consolidate
    the two places where we did such checks, as well.
    
    Change-Id: I6bf39ee5002f943548c51d089fe612f7e2f0501b
    Reviewed-on: http://gerrit.openafs.org/11524
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2c3a517e876013f24430462fc5a2eea25e5cd61d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Sep 24 00:31:16 2014 -0400

    Retire Makefile.shared
    
    It has served its purpose, and been replaced by libtool.
    
    Change-Id: Ifb4e2f585fb4239e9138daef82dcc7f41d7f2a99
    Reviewed-on: http://gerrit.openafs.org/11485
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 6d2395ed2205d438cb8814689960b8f524454fea
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Sep 24 00:11:07 2014 -0400

    Build kopenafs with libtool
    
    Prior to this commit, we were installing libkopenafs.so.1.1.  As
    for the other libtoolizations, bump SONAME to 2.0 as a general
    precaution.
    
    Change-Id: I6edef89737cf057eb8aab8dfe2eacfb4f417dd6e
    Reviewed-on: http://gerrit.openafs.org/11484
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 5815ee92a41cdcf105741d834042a5617dc4c219
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Sep 25 07:52:12 2014 -0300

    Linux 3.17: Deal with d_splice_alias errors
    
    In 3.17 the logic in d_splice_alias has changed.  Of interest to
    us is the fact that it will now return an EIO error if it finds
    an existing connected directory for the dentry, where it would
    previously have added a new alias for it.  As a result the end
    user can get EIO errors when accessing any file in a volume
    if the volume was first accessed through a different path (ex:
    RO path vs RW path).
    
    This commit just restores the old behaviour, adding the directory
    alias manually in the error case, which is what older versions
    of d_splice_alias used to do.
    
    Change-Id: I5558c64760e4cad2bd3dc648067d81020afc69b6
    Reviewed-on: http://gerrit.openafs.org/11492
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 6a23ca5b6e8bcaf881be7a4c50bfba72d001e6cd
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Tue Sep 9 10:39:55 2014 -0300

    Linux 3.17: No more typedef for ctl_table
    
    The typedef has been removed so we need to use the structure
    directly.
    
    Note that the API for register_sysctl_table has also changed
    with 3.17, but it reverted back to a form that existed
    before and the configure tests handle it correctly.
    
    Change-Id: If1fd9d27f795dee4b5aa2152dd09e0540d643a69
    Reviewed-on: http://gerrit.openafs.org/11455
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit cadaea4f86427c4dc74f56fc66707e8cfb0166cb
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Wed Sep 3 18:26:36 2014 -0400

    Linux: Refine openafs-client.service dependencies
    
    Make sure that openafs-client is started after the network is online,
    and before services that need remote-fs at startup.
    
    Change-Id: Ib69e0c07f9079f47bbe5057626652c44039c433a
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/11441
    Reviewed-by: Chaskiel Grundman <cg2v@andrew.cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 57ca77786eb6c04519f9358f1456fdf5b8006757
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Sep 17 12:07:02 2014 -0400

    Fix disk name initialization in scout
    
    Scout needs to initialize names in scout_disk structures to prevent
    the use of uninitialized data.  However, '\0' is a NUL character
    constant, i.e., the integer value 0, which is interpreted as NULL
    (the pointer constant) in a pointer context, such as when assigned to
    a variable of type char*.  Since the name field in these structs is
    passed to printing routines, the safe initialization value is the
    empty string constant "", not a zero value.
    
    Change-Id: Ie0530fc4fc090b226c0e54201b4a74158efddebd
    Reviewed-on: http://gerrit.openafs.org/11469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 66a431bf82da5e09e89307c250991bfc12caf532
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 16 22:57:53 2014 -0400

    Build fixes for recent FreeBSD -current
    
    Let's try a new paradigm of using flag checks in the main code,
    which are based off of precise version checks in the FreeBSD-specific
    param.h file.  It's not quite configure checks, but is much more
    granular.
    
    Change-Id: I8274a8ad3747d3847cdec3ce8d521837fd5b2a92
    Reviewed-on: http://gerrit.openafs.org/11467
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec2382e060753dfdcaf84b9ac03e1534c65fcdbc
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 13:47:33 2014 -0400

    Tweak AFSDIR_PATH_MAX definition
    
    On recent Debian, we run into runtime errors in the test suite
    because _POSIX_PATH_MAX is only 256, and that buffer is too small
    for a call to realpath().  Use PATH_MAX if it's available and larger
    than _POSIX_PATH_MAX, in a way that should be safe even when PATH_MAX
    is not defined.
    
    Change-Id: I39127e88d92b358245ece21131219380ca4be98a
    Reviewed-on: http://gerrit.openafs.org/11453
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 4514dbb1c4527a91a41e2a29c8a721091f6351a9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 13:42:27 2014 -0400

    Let mancheck_utils ignore version subcommands
    
    We don't have a man page for the 'version' subcommand, which has
    "always" been present but only recently was exposed to the usage.
    It's okay to not have a man page for it, so tell the test infrastructure
    to not complain about its absence.
    
    Change-Id: Ife834d41797d1d1efe403b204736ac85d62724e9
    Reviewed-on: http://gerrit.openafs.org/11452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 27cb0d38885428474b0d42878fa2c539ce45b025
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 23 23:42:50 2014 -0400

    Adjust configure defaults for 1.8
    
    Disable pam; enable pthreaded ubik.
    (Pam is actually not installed by default anyway, since it is
    functionally part of kauth.)
    
    pthreaded ubik is believed to be stable, and we want to move away
    from LWP moving forward.
    
    Change-Id: I14d20e3157df625a9e04059534bbb59268384213
    Reviewed-on: http://gerrit.openafs.org/11483
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit f2d4ba8b61bfe51d2c2167190f0049c4ec94f220
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 19 14:39:04 2014 -0400

    Build hcrypto with libtool
    
    Or rather, with lwptool, since we need a LWP version as well as
    the various pthreaded versions.
    
    The previous version was the initial version, 1.1, but since we're
    switching to libtool, bump the version to 2.0 just to be safe.
    
    Libtool abstracts away the extra logic that had previously been needed
    to build different copies of rand-fortuna for the pthreaded and LWP
    libraries.
    
    As for roken, we must install both shared and static libraries
    to $(TOP_LIBDIR) for unity of consumption, but remove the libtool
    archive after instllation.
    
    Change-Id: Ibc530a1fa4baa7a38b44eb3e0719e1905a6fe269
    Reviewed-on: http://gerrit.openafs.org/11482
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit a6d7014187e238c9659141919d3c0934aac61f3b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 23 18:19:09 2014 -0400

    Allow external hcrypto
    
    Put the configure checks into a separate file in src/cf, following
    the same general structure as the roken checks.
    
    Allow explicitly requesting the internal version, or checking
    what's in the default paths, or providing a specific hcrypto root
    or lib/include dirs for Debian compatibility.
    
    We must still always compile libafshcrypto_lwp.a for use by LWP
    binaries, from the bundled sources, but other binaries will use
    the system version.
    
    The hcrypto headers have an unfortunately large number of dependencies,
    including depending on being able to find each other by including
    <hcrypto/foo.h> paths.  As such we must pass both the user-supplied
    directory and $dir/hcrypto to the preprocessor in order for things
    to work, and we also may need to revisit the includes used in the
    configure check for use on non-linux systems due to the dependencies
    on system headers.
    
    Change-Id: Idcba1418a19a7b562335524c911d69dc84268177
    Reviewed-on: http://gerrit.openafs.org/11481
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 493765cc88a15fd7db14d13dc03f0771cf6bb210
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 23 16:58:08 2014 -0400

    Link aklog against LIB_hcrypto
    
    This was the last place where libafshcrypto.a was explicitly referenced,
    preventing the use of an out-of-tree hcrypto library.
    
    We will continue to need to build the in-tree code to produce a
    libafshcrypto_lwp.a library for use in LWP applications, until we
    do not have any more LWP applications, but some systems (such as
    Debian) have a desire to avoid bundled libraries, so we should
    facilitate the use of an external libhcrypto where possible.
    
    Many consumers of libafshcrypto_lwp.a will be removed when the
    LWP versions of various modules are removed after 1.8 is branched.
    
    Change-Id: I23049866caae9c16ffb2ec32c5e7b058465a26ba
    Reviewed-on: http://gerrit.openafs.org/11480
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit d31d7c3cb0d78f77e2e12215a35efaa7754813e4
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 19 15:01:29 2014 -0400

    Build venus tests with libtool
    
    This was the only place doing -lafshcrypto_lwp on the command line.
    (There are other consumers, which list libafshcrypto_lwp.a explicitly;
    we can use the presence of libafshcrypto_lwp.a to track progress towards
    not needing a LWP hcrypto build, which must come from the in-tree version.)
    
    Convert the tests to build with libtool (as pthreaded), where we can
    just throw in $(LIB_hcrypto) and deal with what we get.
    
    Change-Id: Ibc99615d2ff03b8aebf956502a2a6b1cb26f0a65
    Reviewed-on: http://gerrit.openafs.org/11479
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 3160b1ad38a87c0c7e132246de2e5f3c3fac92bd
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Sep 18 13:55:15 2014 -0400

    Build roken using libtool
    
    Previously it was version 1.1; just in case I did something terrible,
    bump it to 2.0, as was done for the other libtool conversions.
    
    Install both the libtool archive and the static archive to $(TOP_LIBDIR),
    so that all our internal consumers can just use -L$(TOP_LIBDIR) -lrokenafs
    (well, via the LDFLAGS_roken and LIB_roken aliases) whether linking
    statically or shared.  Installing the libtool archive gets us the shared
    library there, but we have to then remove the libtool archive, since
    this is not the location we told libtool we would install to (the prefix
    we configured with), and libtool would get confused trying to use this
    installed, but installed-at-the-wrong-place libtool archive.
    
    Add rk_vsyslog to the export list, for AIX.
    
    It is tempting to eschew this installation and instead point LIB_roken
    at the libtool archive file librokenafs.la directly (with empty
    LDFLAGS_roken), but this is not possible until all consumers of roken
    are converted to build using libtool.  In practice, this will probably
    not happen until LWP is evicted from the tree.
    
    Change-Id: If6ab6c2d57c0a1b1511f9631b9aeb522d7e7392b
    Reviewed-on: http://gerrit.openafs.org/11477
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 933d980341556f776a500b41f12a86854bdd41a2
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Tue Sep 23 15:33:08 2014 -0400

    Build auth tests with libtool
    
    (And pthreaded.)
    
    This was the only place consuming librokenafs directly, which is
    forbidden if we are to properly support using an external roken.
    Convert to libtool and throw $(LIB_roken) on at the end.
    
    Change-Id: I0cdea690800be1022888244b613929ce3154db1d
    Reviewed-on: http://gerrit.openafs.org/11476
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit efe449adbb8994e6333bfb018be225b46d9f4ba6
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Sep 18 21:35:30 2014 -0400

    Fix LT_LDLIB_shlib_missing
    
    Libtool's -symbols-file argument is taken as an exact match of symbols
    that this library claims to export.  It does not filter based on what
    symbols are actually present in the objects comprising the library.
    Instead, if there are symbols in the file which are not implemented
    by the library, there is an implicit assumption that some other library
    will provide those symbols, which must be linked into a consumer of
    this library alongside this library.
    
    These are not the semantics we want (at present, only for roken), wherein
    a library will implement some (but probably not all) of a given list
    of symbols, and we want the export list to reflect only those symbols
    which are implemented.  Instead, use the symbols file to build a regex that
    will only match symbols listed in the file (and no other symbols), and
    only export the subset which is present.
    
    Change-Id: Id81f7a35089ae7f760fe643680f9bfb9c81521aa
    Reviewed-on: http://gerrit.openafs.org/11475
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 119d2edf8a4b42ca4c3fd36d17e3621ddc0de60d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 22 17:02:27 2014 -0400

    Allow building with MIT krb5 and external roken
    
    That is, an external roken which is part of a heimdal distribution,
    with full headers and libraries, most notably krb5.h and libkrb5.
    
    This adjusts the ordering of file- and module-specific compiler and
    linker arguments so that the more specific arguments are able to
    take precedence.  For general flags arguments, such as enabling
    or disabling warnings or features, the more-specific settings should
    come last, so as to override the flags set by default.  However,
    for arguments that affect a global search list (e.g., for headers
    or libraries),  the more-specific arguments must come first, so
    as to be at the beginning of the search list.
    
    We presently use per-file CFLAGS for both warning-type flags and
    preprocessor (i.e., include path) type flags, so add an additional
    file-specific setting for CPPFLAGS, which comes at the beginning of
    the compiler invocation.
    
    At present, MODULE_CFLAGS are essentially only used for preprocessor
    functionality, so treat them as CPPFLAGS and put them right after
    the per-file CPPFLAGS.  (It might be cleaner to rename them to
    MODULE_CPPFLAGS, but that would be more churn than is needed.  If
    such a distinction turns out to be necessary, it can be done at a
    later date.)  Likewise the MODULE_LDFLAGS are generally being used
    to affect the library search path, so put them early as well.
    
    Make the necessary Makefile changes to use these new features to
    allow building with MIT krb5 and external roken: put KRB5_CPPFLAGS
    in per-file CPPFLAGS, and put LDFLAGS_KRB5 in MODULE_LDFLAGS for
    aklog.
    
    Change-Id: I1091223b3b75c782b39b9e189bdd47e52ebefae2
    Reviewed-on: http://gerrit.openafs.org/11474
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 9e3596c3fae6912783ec6d714a37f3dc05f8925c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 22 15:27:44 2014 -0400

    Adjust roken.m4 to allow separate lib and include
    
    In some installations (e.g., Debian), the roken libraries and headers
    will not be installed in a common root directory to which /lib and
    /include may be appended to find the appropriate library and header
    directories, respectively.
    
    Take inspiration from rra-c-util's GSSAPI macros and allow the
    specification of separate include and lib directories.  Since there
    are now three values to pass to the guts of the checking routine,
    pass them in global variables instead of as parameters.
    
    The expected usage would be to set either --with-roken, or both of
    --with-roken-libdir and --with-roken-includedir, as in
    configure --with-roken-include=/usr/include/heimdal
    --with-roken-lib=/usr/lib/x86_64-linux-gnu/heimdal
    
    This also fixes a typo that prevented --with-roken=internal from
    functioning as intended.
    
    Change-Id: I6f651ef3f3abf37c92ea81ea1801294ca3dc00b2
    Reviewed-on: http://gerrit.openafs.org/11473
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit bd5c12995e6de74d36bd2205f7268a0f32029b7f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 19 21:18:38 2014 -0400

    Deorbit separate JUAFS build
    
    Since 80943970b8cfcdf3fc630b25804aebaea228bd73, when the web enhancements
    were enabled universally, there has no longer been a functional difference
    between the UAFS and JUAFS builds.  Their object files are compiled
    using the same compilation rule, and the list of object files differed
    only by rx_kmutex.o (which is devoid of content) and xdr_int32.o
    (which is preumably an oversight).
    
    Save the extra build time by just reinstalling libuafs.a as libjuafs.a
    to preserve the existing interfaces.
    
    Additionally, drop the LIBJUAFS make variable -- all definitions set
    it to libjuafs.a.  Similarly, the LIBJUAFS_FLAGS variable was unused
    and can be removed.
    
    Change-Id: I2074d5bc26e326db36b16e055431818ef1c69210
    Reviewed-on: http://gerrit.openafs.org/11471
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 9799484891ae90e408cdd7d86ef2e928cdd07c61
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 19 21:45:31 2014 -0400

    Deorbit the netscape plugin
    
    Netscape hasn't been a thing since 2008.
    
    We would only try to build it if someone manually ran 'webinstall'
    in src/libuafs, and there is no documentation telling anyone to do so.
    
    It's dead, Jim.
    
    Change-Id: I7486ca33da7ff19f23f0d9f54f5fb4e7e3232540
    Reviewed-on: http://gerrit.openafs.org/11470
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 5d2bd0416bbaf5b85f28e870a06dbc2955a1adf7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sun Sep 14 21:16:56 2014 -0400

    Make pam conditional on INSTALL_KAUTH
    
    The pam module we provide is only useful in kaserver-like environments,
    and as such should not be installed when the user has requested to
    not have kauth.
    
    Change-Id: I9b336593e34cedfd6e8c2210f3798575d115d2d6
    Reviewed-on: http://gerrit.openafs.org/11466
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 6825d6aeaa7c3951aafc216fa3707ae6c62e8691
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 12 18:07:51 2014 -0400

    Build a usable pam_afs.so
    
    Our use of libtool for building the pam modules resulted in shared
    objects which had dependencies on liboafs_auth.so and liboafs_kauth.so,
    neither of which are installed.
    
    We still need some way to resolve those dependencies at link time, and
    a dependency on libafsauthent.so seems ill-advised to insert into the
    pam stack, so we are left with only the option of directly linking in
    the requisite functionality.  Fortunately, almost all of the requisite
    convenience libraries of PIC objects already exist to meet the
    requirements of libafsrpc and libafsauthent; the only exception is
    from the auth module.  Here, we require a new convenience library,
    because the pam_afs.krb.so module includes its own version of ktc.o,
    compiled with AFS_KERBEROS_ENV defined, yet the pam_afs.so module
    requiers a ktc.o compiled without AFS_KERBEROS_ENV defined.  The
    convenience library from the auth module can only include one version,
    and would therefore be wrong for the other.  As such, create the new
    libpam_auth.la archive from the BASE_objs in src/auth, and manually
    compile ktc.lo and ktc_krb.lo as needed for the pam modules.
    
    As for libafsrpc and libafsauthent, the convenience libraries included
    from other parts of the tree belong in LT_objs, not LT_deps, because
    they are contributing actual content to be included in the resulting
    library; they are not library dependencies of the output of this module.
    
    Change-Id: I5292718a5494710d166043fd08ad07269ff9fdf2
    Reviewed-on: http://gerrit.openafs.org/11463
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 96b0307b3c79ccfc2305f98a3045b49f3c2a4723
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 18:06:25 2014 -0400

    Build and install libafsauthent.so.2
    
    During the libtool interim, we had been building a .0 but not
    installing it.  Prior to the libtoolization of shlibafsauthent, we
    had installed a libafsauthent.so.1.1, which is the same version currently
    installed by the 1.6 branch.  Since there have been backwards-incompatible
    ABI changes (e.g., afsconf_BuildServerSecurityObjects) since the .1.1
    version, we must bump the SONAME to .2.0.
    
    At time of this writing, the libtool rules for updating the
    version information is found at:
    http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
    and
    http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
    
    This lets us consolidate the building of the shared and static libafsrpc
    and their installation), as libtool will happily do both for us
    at once.
    
    We explicitly do not install the .la files, as our libtool use is
    to be kept entirely internal.
    
    Change-Id: I283f9bb74eb9853c268e8642ac1f01741deeae2b
    Reviewed-on: http://gerrit.openafs.org/11462
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 248b3216e77d333126c84987319a928a9ca6e3af
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 18:06:25 2014 -0400

    Build and install libafsrpc.so.2
    
    During the libtool interim, we had been building a .0 but not
    installing it.  Prior to the libtoolization of shlibafsrpc, we
    had installed a libafsrpc.so.1.4 (though the 1.6 branch was
    installing libafsrpc.so.1.5, "so we don't collide with the shlibafsrpc
    versions on the master branch", which seems misguided).  Since there
    have been backwards-incompatible ABI changes (e.g., rx_SetMaxMTU) since
    the .1.4 version, we must bump the SONAME to .2.0.
    
    At time of this writing, the libtool rules for updating the
    version information is found at:
    http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
    and
    http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
    
    This lets us consolidate the building of the shared and static libafsrpc
    and their installation), as libtool will happily do both for us
    at once.
    
    We explicitly do not install the .la files, as our libtool use is
    to be kept entirely internal.
    
    Change-Id: I11bc3cbc80048d0192aadeb80b89d2772bcd01cd
    Reviewed-on: http://gerrit.openafs.org/11461
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit cd030f3c36c6a6ed6fa721cdcaa98fe4a4fce8a4
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 12 17:21:42 2014 -0400

    Normalize LT_deps/LT_objs split
    
    As described in the commit message of
    69f26ece3c4545ecc9099641f7a507796fe9dc77, LT_objs should contain
    the .lo files for the given module, and LT_deps should contain the
    libtool dependencies, i.e., the .la files from other parts of the
    tree.  However, this simple split by file suffix is not correct
    when we are using convenience libraries.  Really, LT_objs represents
    the "new" objects being provided by the module, and LT_deps is
    libraries from other modules that provide functionality on which
    we depend.  Since convenience libraries are just thin aggregates
    of object files, they behave more like object files than libraries
    upon which we depend.  In particular, libafsrpc and libafsauthent
    are wrapper libraries that gather together the functionality of
    several modules and export them as a single library interface;
    they do not have any objects of their own.
    
    However, libafsauthent has a dependency on libafsrpc, which does
    belong in LT_deps (or possibly in LT_libs).
    
    Simon's description of LT_libs leaves a little ambiguity, as it
    does not describe what should be done with non-libtool libraries
    from within OpenAFS.  (At present, these include libafshcrypto
    and librokenafs, both of which are regularly put in LT_libs.)
    I prefer to recast LT_libs as containing externally visible libraries,
    not just external libraries, which rationalizes the inclusion of
    roken and hcrypto there, since we currently install those libraries,
    and build libraries that have shared library dependencies on them.
    
    In the future, as we begin committing to stable shared library
    interfaces for libraries produced by libtool, I would like to
    have those .la files be moved to LT_libs, since they would then
    be external library dependencies of the given module.
    
    Change-Id: Ie50010da84df99cec048c3e39ffeb9d5897fc08c
    Reviewed-on: http://gerrit.openafs.org/11460
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit a470b30ecabb7db578a9345771b0d371a5581f8d
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Sep 12 15:41:23 2014 -0400

    Normalize names of libtool convenience libraries
    
    Part of why libtool was introduced into the tree was to reduce the
    number of times each source file is compiled.  PIC code is needed
    for shared objects, and non-PIC code for static libraries, so in most
    cases a C file must be compiled twice, but not more than that.
    
    Libtool automatically manages which version of an object is passed to
    the linker when libtool is used to link .la files.  At several places
    in the tree (libafsrpc, libafsauthent, libuafs_pic.so, and pam_afs.so)
    we use libtool to link a .la library and pass other .la libraries in
    as linker inputs.  In normal situations, libtool would produce an
    output shared library that registered a shared library dependency on
    the (shared version of the) input library.  However, in our usage,
    these input .la libraries are used only for our convenience, and are
    not intended to be installed, so libtool would produce an output
    library that was not usable.
    
    Libtool refers to our usage of libraries not intended to be installed
    as "convenience libraries"; for us, they are essentially just
    static archives that contain PIC objects (as opposed to normal
    static archives which contain non-PIC objects).
    
    Prior to this commit, we had named our convenience libraries things
    like libafsauthent_auth.la or libafsrpc_comerr.la, since they were
    mostly only used for either libafsrpc or libafsauthent.  However,
    future commits will need to use some of these convenience libraries
    in other shared objects (such as pam_afs.so), so we normalize the
    library name to indicate merely that it is a PIC version of that
    module.
    
    There are three exceptions to this rule: libafsrpc_sys.la, which
    contains only a single file and not the whole of the sys module,
    libafsrpc_util.la, which contains a subset of the util objects,
    and libauthent_ubik.la, which contains a subset of the ubik
    objects.  Since these convenience libraries are in fact tailored to
    the particular application, a target-specific name is appropriate.
    
    The convenience library provided by the ptserver module is named
    libprot_pic to match the existing public interface libprot.a.
    
    We cannot link the dependencies of the convenience libraries
    directly into them, because any given object may only be linked
    once into a given library, and our dependency graph between
    modules is decidedly not a tree, so attempting to link in the
    dependencies would result in duplicate symbol errors.
    
    Change-Id: I5f10af74b8582edd51e5f1b3f0026dbc7ef9f7ad
    Reviewed-on: http://gerrit.openafs.org/11459
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 81189b7bc9ef66519a5bf96e20ec2fbe0267dfc8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 18:28:11 2014 -0400

    Use correct syntax for libtool version info
    
    It does not take an '='.
    
    Whomever thought that making libtool silently accept all (i.e.,
    malformed) command-line arguments was a good idea ... seems to
    have been mistaken.
    
    Change-Id: I357cd44ac6f495474f9763a2f768ac9c8d1e4cb4
    Reviewed-on: http://gerrit.openafs.org/11458
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 25be08520935bc4b0604bff0a476ee53e1a511d5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 10 09:00:11 2014 -0400

    build: remove trailing whitespace from makefiles
    
    Remove trailing whitespace from the makefiles, except for
    trailing whitespace in the boilerplate comment headers.
    
    Change-Id: Ib8ee87a51f00633ba15e1974ac0b311969bef1bf
    Reviewed-on: http://gerrit.openafs.org/11456
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit fbea3265b3bc042b97be17229839ccf7d11a0bf9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Sep 30 13:52:31 2014 -0400

    aklog: Fix segfault on aklog -path
    
    Commit 2fac53522e7ef5b3a376e191bffdc1f6784e6995 “aklog: Fix improper
    use of readlink” inadvertently changed the meaning of int link from a
    boolean flag (length > 0) to just a length.  This caused ‘aklog -path
    (anything)’ to segfault.
    
    Update the type of link and the condition of the while loop to account
    for this change.
    
    FIXES 131930
    
    Change-Id: Ia05836795425a53e858ab29866900f6d45970644
    Reviewed-on: http://gerrit.openafs.org/11517
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c6b61a4510c0c34688b979182ea6f3823a840296
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Thu May 29 15:51:57 2014 -0700

    afs: Verify osi_UFSOpen worked
    
      In some builds (UKERNEL) osi_UFSOpen returns a NULL if it runs
    into a problem.  On the other builds osi_UFSOpen simply panics.
    afs/afs_cell.c was checking for a NULL return but other callers
    were not.  Add checking logic to all callers.
      This is a prepartory patch.  A subsequent patch will have
    osi_UFSOpen return NULL rather than panic for other builds too.
    
    Change-Id: I3610a57dff59b84fe5ea8b1c862f3192157f255f
    Reviewed-on: http://gerrit.openafs.org/11243
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c90c5e97c6361e06ff06aab02d0768a0bd43354d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 25 13:23:16 2014 -0400

    Windows: SetDispositionInfo vs Link Count
    
    When SetDispositionInfo is called to mark a file for pending
    delete the link count should not be decrememented.  The count is
    decremented only when the file is actually deleted.
    
    Change-Id: I611e2b9695179abcba01d6fa83022b08044ee8bf
    Reviewed-on: http://gerrit.openafs.org/11508
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8da84729c8f1e849882aea7b1268c6ac49936f21
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 25 13:21:48 2014 -0400

    Windows: FileStandardInfo Link count
    
    Instead of returning 1 in all cases the ObjectInformation.Links
    value should be returned to the caller.
    
    Change-Id: I719bebca9299953c6afc3352117c1e1bf99d63f6
    Reviewed-on: http://gerrit.openafs.org/11507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 243537f7071a108950d5442a4f9f7ab0747ca080
Author: pete scott <pscott@kerneldrivers.com>
Date:   Thu Sep 25 09:01:27 2014 -0600

    Windows: Check for RO and Open Target in rename
    
    During a file rename operation, check to see if the target file
    has the DOS readonly attribute set or has a non-zero reference
    count.  If yes, the request must be failed.  The error status
    depends upon the state of the pending delete flag.  Either
    STATUS_PENDING_DELETE or STATUS_ACCESS_DENIED.
    
    Change-Id: I90fa1ea54176f96ca3052ee2b774b1179642e2ef
    Reviewed-on: http://gerrit.openafs.org/11506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a27bed59cae1a4244429c752edfde0a8363c8a3b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 25 12:34:18 2014 -0500

    afs: Move init_hckernel_init to osi_Init
    
    Currently we call init_hckernel_init inside afs_InitSetup, to
    initialize the hcrypto mutex. However, we use the hcrypto mutex in the
    AFSOP_SEED_ENTROPY syscall, which afsd calls before any syscall that
    cals afs_InitSetup. This means we crash on trying to
    AFSOP_SEED_ENTROPY.
    
    To avoid this, just call init_hckernel_init inside osi_Init instead,
    which is called when our kernel module itself is initialized. This
    ensures that the mutex is initialized early on, regardless of what
    happens with afsd and the startup syscalls.
    
    Change-Id: Ib6cbed7abcfd8f9a61685f613a848e9f36d6050d
    Reviewed-on: http://gerrit.openafs.org/11509
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cdfa21ad5e86184f822496c1a9aa769fa98a8bb1
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Sep 24 11:49:38 2014 -0600

    Windows: Use the allocation size from the service
    
    The prior patchset modified the service AllocationSize return value
    to count the number of 1KB units.  Use the value from the service
    without modification.  This corrects an inconsistency in the
    FileStandardInformation response.
    
    Change-Id: I9a5f0a4f43aa12de903875b6ed4c5493e37b0163
    Reviewed-on: http://gerrit.openafs.org/11491
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d9ca3050c697a9d6b623be874ea46aaf2312ad87
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 24 18:12:31 2014 -0400

    Windows: report AllocationSize in 1KB increments
    
    Windows expects storage to be allocated in increments of some
    block size.  The AFS servers allocate in 1K units so lets report
    that to Windows.
    
    Change-Id: I64ad1844339357733933cd9e360551fdcd450146
    Reviewed-on: http://gerrit.openafs.org/11490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3f1465f8da47dc589cf27b1c4168ec0bce0fa5d6
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Sep 24 11:00:36 2014 -0600

    Windows: Remove trailing slash on non-root directories
    
    For the FileNameInformation and FilePhysicalNameInformation queries
    a trailing slash is required for the \\server\share\ path but is
    not required for directories below the root.
    
    Change-Id: Iabbe7daed4f60ad995c04c70dfb2992af095281e
    Reviewed-on: http://gerrit.openafs.org/11489
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 70f67371e7fb6262d43874950107864f31f903c9
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Sep 24 10:49:06 2014 -0600

    Windows: FilePhysicalNameInfo query AFS prefix
    
    In response to the FilePhysicalNameInformation query the AFS redirector
    failed to include the server name in the response.  Since the constructed
    name is the same as the FileNameInformation query create a helper function
    AFSGetFullFileName() to populate the file name into the provided buffer
    and use it to satisfy both queries.
    
    Change-Id: I78eef49a9902341c751d942a395921bb687c503b
    Reviewed-on: http://gerrit.openafs.org/11488
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af72e83832e0849f04e28a355b5a55166cfc0982
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Sep 24 10:06:38 2014 -0600

    Windows: FileInfo too small INFO_LENGTH_MISMATCH
    
    The FileAllInformation query is initially processed by the IO Manager
    and when the IO Manager is passed a buffer that is too small to hold
    the File Information structure it returns STATUS_INFO_LENGTH_MISMATCH.
    Previously the afs redirector returned STATUS_BUFFER_TOO_SMALL in this
    case.  Instead follow IO Manager's lead.
    
    Change-Id: I74d1b68d37fb9e79cae79408eac1f5dc4dd05e1e
    Reviewed-on: http://gerrit.openafs.org/11487
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 06995ceb4d664c3f14f6626da447cf9891470719
Author: pete scott <pscott@kerneldrivers.com>
Date:   Tue Sep 23 13:20:45 2014 -0600

    Windows: !overwrite IOMgr populated FileInfo data
    
    I/O Manager will populate the FILE_ACCESS_INFORMATION,
    FILE_MODE_INFORMATION, and FILE_ALIGNMENT_INFORMATION portions of
    a FILE_ALL_INFORMATION structure prior to forwarding a FileAllInformation
    FileInfo query to the file system.  There is no need for the file system
    to duplicate the effort.
    
    Change-Id: Iaa7f1de95c6b7e42bdc326cc3f4bfe8596add949
    Reviewed-on: http://gerrit.openafs.org/11478
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5ebe2437efa7a64f0b0cc61e2123f9ae766b84cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 10 10:23:17 2014 -0400

    Windows: preserve prior vlserver list on dns failure
    
    Do not destroy the existing vlserver list if the DNS resolver query
    fails.  Continue using the prior vlserver values until a DNS response
    is obtained.  This will result in repeated DNS queries and a delay
    if there is continued failure, but it will permit VL RPCs to continue
    to be issued in the face of a DNS failure or misconfiguration.
    
    Change-Id: Icac97c2bebdef744cc316225c1a6b1888ceb2f6e
    Reviewed-on: http://gerrit.openafs.org/11457
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f999113d33adadf9b276e2a30c36d2b3a5e74f7d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 09:16:47 2014 -0400

    Windows: power management suspend/resume changes
    
    1. Call cm_UpdateIFInfo() for all power management events to force
       an update of the valid network interface count.
    
    2. Ensure that regardless of which Suspend and Resume events are
       generated that the service only suspends once and resumes once.
    
    Change-Id: If0c2fe5b6a18dd6b7ee01b511378cb78837efa3d
    Reviewed-on: http://gerrit.openafs.org/11447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ac601314706043f623ace379e3da597a7d5c5e9a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 09:14:07 2014 -0400

    Windows: No network, no probe
    
    Modify cm_PingServer and cm_CheckServersMulti to avoid probing servers
    when there are no network interfaces with which to do so.  Just mark
    the servers down.
    
    Change-Id: I5ba6c9813a28ec44b09dccd8f8c5ffc7e0c0ce10
    Reviewed-on: http://gerrit.openafs.org/11446
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 15c62a9dd014dc56192c8e880fa6855f5377154e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 09:11:25 2014 -0400

    Windows: introduce cm_MarkServerDown
    
    Consolidate the operations necessary to mark a server down into a
    new routine cm_MarkServerDown()
    
    Change-Id: I9f70752498600046d677686c212c3adf3e810bde
    Reviewed-on: http://gerrit.openafs.org/11445
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec1dcfbe29961fad23dec087c2d214be785a7816
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 09:08:32 2014 -0400

    Windows: replace lana_OnlyLoopback() calls
    
    lana_OnlyLoopback() relies upon Netbios over TCP being enabled but
    Netbios over TCP is not officially supported on Vista and above.
    Replace all lana_OnlyLoopback() calls with a test on the number of
    network interfaces as computed by syscfg_GetIFInfo().   That list
    excludes loopback interfaces.
    
    Change-Id: I22d952f1487734ead02335108377bc404baa6024
    Reviewed-on: http://gerrit.openafs.org/11444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 95c3db9c7ccb86c7ad384c06094c066107de262c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 09:04:42 2014 -0400

    Windows: cm_UpdateIFInfo consolidate syscfg_GetIFInfo calls
    
    Add a new function cm_UpdateIFInfo() that consolidates all of the
    syscfg_GetIFInfo() call functionality into a single rountine.  Replace
    all of the existing call sites.
    
    It is safe to call cm_UpdateIFInfo() without holding cm_syscfgLock
    during afsd initialization because no other threads have been created.
    
    Change-Id: Ifd4ca4f4f698014852a26d2c95a523c3b2cc851f
    Reviewed-on: http://gerrit.openafs.org/11443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 092684e2bd31424c958ca3a9e88b7987b4c5555c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 4 01:11:01 2014 -0400

    Windows: Prevent MDL leak on Cc*Mdl* failure
    
    If CcMdlRead or CcPrepareMdlWrite fail, check the IoStatus.Information
    field to see if any MDL pages have been locked.  If the Information
    value is greater than zero, complete the Mdl operation to unlock the
    pages.
    
    Change-Id: Icb44e74e25b46c7976f3f418410364a90a723d91
    Reviewed-on: http://gerrit.openafs.org/11442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bf11f54790bcd99f7789b0004d36cc3747f12e11
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jul 24 20:56:41 2014 -0400

    Sort libtool symbol files
    
    Some entropy had crept in.
    
    Change-Id: I72ae9d16a3aa4b9b66bc8efcda46bdc35edf95c9
    Reviewed-on: http://gerrit.openafs.org/11323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 544b5096e5f3a12426f149c91dfeba1c5c207002
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 27 13:37:42 2013 -0400

    Remove rx_SetEpoch, rx_SetConnectionEpoch, rx_SetConnectionId
    
    The core RX code now manages the Epoch and CID; external callers
    should not be modifying them.
    
    Change-Id: Ia517205aa280b2a0bbd2568274be7fb010fba0bc
    Reviewed-on: http://gerrit.openafs.org/10843
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a63a07c3357cc6f54ef129e0542ec531f2ce9433
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 26 19:43:07 2013 -0400

    Garbage-collect afs_GCUserData's argument
    
    We no longer need the ability to force all rxnull connections to be
    reaped, as the epoch is set globally.  Change the prototype and
    callers accordingly.
    
    Change-Id: I0815fdd035c3dd9d56f72e43603f9c53f5cec79d
    Reviewed-on: http://gerrit.openafs.org/10842
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 39b165cdda941181845022c183fea1c7af7e4356
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 26 13:41:40 2013 -0400

    Move epoch and cid generation into the rx core
    
    Now that we have hcrypto available everywhere, we can get real randomness
    in the rx core (both uerspace and kernel), and thus can initialize the
    RX epoch to a real random value when first initializing a host; there is
    no need to rely on rxkad to produce randomness for this purpose.
    Initialize a connection ID counter at the same time, and use that in
    rx_NewConnection, also supplanting rxkad-specific logic.
    
    The rxkad-specific logic is removed, and in particular there is no longer
    a need to export rxkad_EpochWasSet to the rest of the world.
    The code in afs_Daemon() to check whether the rxepoch was set can be
    removed, as if the epoch is not set, rx initialization fails.
    
    Add libafshcrypto to LIBS in the handful of places it hadn't crept already,
    and likewise afshcrypto.lib in the NTMakefiles.
    
    Change-Id: I1dd1015b29a600aaf72b6b4b36f8a17032453c97
    Reviewed-on: http://gerrit.openafs.org/10841
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0d67b00ff9db48c5555e8ae11daff9a469c770b0
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 27 17:02:55 2013 -0400

    Export heimdal's rand-fortuna PRNG to the kernel
    
    Some systems (e.g., AIX, SGI, DFBSD, HPUX) do not supply a useful
    implementation of osi_readRandom(), in some cases because the kernel
    does not expose a random-number interface to kernel modules.  We want
    real random numbers on all systems, because we want to use the for
    setting the RX epoch and connection ID in the kernel.
    
    Build hcrypto's rand-fortuna PRNG into the rand-kernel interface we expose,
    and implement RAND_bytes using rand-fortuna when osi_ReadRandom()
    is not useful.
    
    Add stub routines to config.h as needed, and add a heim_threads.h
    with the necessary locking for rand-fortuna.  The rand-fortuna algorithm
    requires some measure of time's passage, so provide a stub gettimeofday()
    with single-second resolution.  We use a single (global) mutex for the
    hcrypto kernel code, so that we can statically declare an initializer to
    be the address of that mutex.  Otherwise the locking is taken essentially
    wholesale from rx_kmutex.
    
    rand-fortuna requires the sha256 code for its hashing, and also
    requires a stub rand-fortuna to satisfy linker symbol visibility.
    
    Since the rand-fortuna code does not have any actual sources of entropy
    available to it during its initialization routines, we must explicitly
    seed the in-kernel rand-fortuna using entropy passed in from userland.
    (Userland will always have at least /dev/random available, so the
    userland hcrypto should always have usable entropy.)  Be sure to do so
    early in the afsd startup sequence, before any daemons are started, so
    that entropy is available to the core rx code for generating the epoch
    and cid -- the rand-fortuna code will (erroneously) always claim that
    it has startup entropy even though in this case it may not actually
    have any entropy.  The rand-fortuna code does not consider itself
    fully seeded until it has 128 bytes of entropy, so be sure to pass
    more than that in from userspace.
    
    It is preferrable to always build this code into the kernel, even on
    systems when it is not going to be used, to help prevent bitrot.  This
    also avoids the possibility of a new system being supported that would
    attempt to use the rand-fortuna code but fail to supply any seed entropy,
    which would not necessarily be readily apparent.
    
    Change-Id: I614d2bd9ac52803ec3b9572cc694cd836c8427dd
    Reviewed-on: http://gerrit.openafs.org/10840
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bcf3d33f2879e00c894afc7fc53c6116ad3bad5a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 14:46:34 2014 -0400

    Add missing tests to tests/opr/.gitignore
    
    dict-t and fmt-t were missing.
    
    While here, sort the existing entries.
    
    Change-Id: If62e0f9f93f4d51900cdd7747beede561861f51e
    Reviewed-on: http://gerrit.openafs.org/11454
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 75d9e4b954d86ff2efbd230cba95b559b88de6d8
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Sep 8 13:40:48 2014 -0400

    Fix memset invocation in rx/event-t.c
    
    The order of the parameters was swapped, which recent gcc complains
    loudly about.
    
    Change-Id: I2329ca3dd0eee81639731e78172621b580199024
    Reviewed-on: http://gerrit.openafs.org/11451
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 11efae8362c5c73cdac19ef9f1c5e7f9c33883d8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Aug 25 16:25:43 2014 +0100

    ubik: Don't leak UBIK_VERSION_LOCK if udisk_LogEnd fails
    
    If the call to udisk_LogEnd() fails (probably due to an I/O error)
    don't leak the UBIK_VERSION_LOCK.
    
    This is the possible cause of a vlserver deadlock, which had
    approximately 4800 threads blocked. Analysis of backtrace of all
    of these threads showed that all blocked threads were waiting in
    ubik.c:555 (blocked on DBHOLD) with the exception of:
    
    One in beacon.c:388 (blocked on UBIK_VERSION_LOCK)
    One in recovery.c:503 (blocked on DBHOLD)
    One in ubik.c:125 (blocked on DBHOLD)
    One in ubik.c:585 (blocked on UBIK_VERSION_LOCK)
    
    The last of these is the critical one, because it already holds
    the lock that DBHOLD waits on - so despite the vast majority of
    threads being blocked in DBHOLD, it's actually UBIK_VERSION_LOCK
    that we're waiting on.
    
    There is no sign of a thread which is still active which currently
    holds UBIK_VERSION_LOCK.
    
    Change-Id: I1627b448d359152237912d4d78c9fa52c7149aa0
    Reviewed-on: http://gerrit.openafs.org/11427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b9bbd21e88e2050957c1a7d49f3ad603cae763b2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Aug 25 16:15:26 2014 +0100

    ubik: Don't leak UBIK_VERSION_LOCK if setlabel fails
    
    If a call to the setlabel() physical IO function fails, don't
    leak the UBIK_VERSION_LOCK.
    
    This is the possible cause of a vlserver deadlock, which had
    approximately 4800 threads blocked. Analysis of backtrace of all
    of these threads showed that all blocked threads were waiting in
    ubik.c:555 (blocked on DBHOLD) with the exception of:
    
    One in beacon.c:388 (blocked on UBIK_VERSION_LOCK)
    One in recovery.c:503 (blocked on DBHOLD)
    One in ubik.c:125 (blocked on DBHOLD)
    One in ubik.c:585 (blocked on UBIK_VERSION_LOCK)
    
    The last of these is the critical one, because it already holds
    the lock that DBHOLD waits on - so despite the vast majority of
    threads being blocked in DBHOLD, it's actually UBIK_VERSION_LOCK
    that we're waiting on.
    
    There is no sign of a thread which is still active which currently
    holds UBIK_VERSION_LOCK.
    
    Change-Id: Ie6093409e9375d50fa69733908b5ce99586e1b1d
    Reviewed-on: http://gerrit.openafs.org/11426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 123f0fb134370ffe417d466fb9d103b13565960a
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Aug 28 03:09:49 2014 -0400

    config: remove support for old FreeBSD releases
    
    The FreeBSD project no longer supports 5.x, 6.x, or 7.x releases, and
    has not done so for a long time.  It's unlikely the OpenAFS works
    properly on any of them, if it even still builds, since it is not
    regularly build-tested on anything older than 8.3.  Unclutter
    src/config by removing the param.*.h files for these obsolete
    releases.
    
    Change-Id: Iedd11e9a9045b39d2193c61b9833abd592d1bfa2
    Reviewed-on: http://gerrit.openafs.org/11438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ad655372fcb3f41a648f055668afaaad6af8a675
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Aug 28 03:04:19 2014 -0400

    README: update for current state of FreeBSD support
    
    The FreeBSD project hasn't supported releases prior to 8.x for a long
    time now, and OpenAFS is neither built nor tested regularly on
    anything that old.  Dedocument support for these releases in
    preparation for later removing configuration support.
    
    Change-Id: I42e78291cfed91e20b3414576cf885a11b7f341b
    Reviewed-on: http://gerrit.openafs.org/11437
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 65ec004ce5fdca7446f65cb70f720a77a861762c
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Tue Aug 26 11:55:06 2014 +0200

    vos clone  use the value of the -toname argument
    
    The -toname argument was not followed with the vos clone command. The name
    of the clone volume was always ".clone".
    
    Change-Id: I76b78d239ecb38e793098078ac34a703f2ffeeeb
    Reviewed-on: http://gerrit.openafs.org/11431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 58e4e4802d4208604a6aa05362454e6174fe3277
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 8 03:27:26 2014 -0400

    Windows: Avoid deadlock during pending delete cleanup
    
    Release the Fcb resource and clear the AFS_DIR_ENTRY_PENDING_DELETE
    flag prior to the AFSProcessRequest(AFS_REQUEST_TYPE_CLEANUP_PROCESSING)
    if a delete is pending during cleanup of the last FCB open handle.
    
    Failure to do so results in an out of order lock acquisition when
    the parent object info tree lock is acquired after the AFSProcessRequest()
    call to the service completes.
    
    Change-Id: Id1c770b3dfe669d6804276bbe832af2d215c72dc
    Reviewed-on: http://gerrit.openafs.org/11425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e6fb1b7b7ed32e2035452db9fc221f38a8b4956
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Thu Aug 14 11:56:22 2014 +0200

    use V_copyDate in DumpHeader for cloned volumes
    
    Volume dumps can be created from backup volumes, cloned volumes, or
    directly from RW volumes. The beginning and end of the time range
    covered by the dump is recorded in the DumpHeader. The end time is
    based on the type of the volume. Use backupDate for backup volumes,
    use copyDate for cloned volumes, and updateDate for RW volumes.
    
    Change-Id: I18206d25f056e553eed2f3c3e0695fed003f3714
    Reviewed-on: http://gerrit.openafs.org/11389
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit d93b89ddb61d44b47f039ae96af6304f2d87b5e2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 21 04:19:28 2014 -0500

    Windows: AFSEvaluateTargetByName NULL ptr assignment
    
    If DirEnumEntry is NULL, then on failure of AFSEvaluateTargetByName()
    a NULL pointer will be dereferenced prior to function return.
    
    Change-Id: I6d0d646e667c4b805abcddce1af49b81037ae51d
    Reviewed-on: http://gerrit.openafs.org/11422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1ce48e9e93c686aef24bb066ce76c2fcf08f96b6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 8 16:34:25 2014 -0400

    sys: pioctl_nt translate WinErr to Unix
    
    When reading the result of a pioctl fails with ERROR_NOT_SUPPORTED
    this must be translated to an EINVAL errno.
    
    Change-Id: I3db03f80b8a0da5d7e4931dc5673c7010d580d8d
    Reviewed-on: http://gerrit.openafs.org/11417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fc70e0ddebb8521a69aaeb6e1d249b9ca577db52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 14 22:58:52 2014 -0400

    Windows: registry enum do not request write perm
    
    Only Read and Query privileges are required to enumerate the registry
    keys, do not request write privileges for an enumeration.
    
    Change-Id: Ifc9acb4203db71b6e94bf5a21ca5aa104d94d35b
    Reviewed-on: http://gerrit.openafs.org/11416
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 47ef2e4e514234bb947cdf325634ad0b8ae5d7da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 28 23:03:45 2014 -0400

    Windows: Do not sync callbacks when only need locks
    
    Syncing lock operations with callback fetching is unnecessary because
    local lock state is not tracked via callbacks.  More importantly it
    risks blocking the cm_LockDaemon thread which needs to be able to
    renew locks without obstruction.
    
    Change-Id: Iabe9bb33fef599c4eb0e876e222587ee3e2fdb49
    Reviewed-on: http://gerrit.openafs.org/11415
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bcaaf4640d06c761b798c1eb2c82f81f21ec78d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 5 01:40:22 2014 -0400

    Windows: do not forget cm_SyncOpDone
    
    If cm_SyncOp was called, then cm_SyncOpDone must be called.
    By goto out of the loop, the cm_SyncOpDone call was skipped.
    
    Change-Id: I20105ec8708c19eecbf215258ada0779cd705f73
    Reviewed-on: http://gerrit.openafs.org/11414
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bf687348e0269deb0d76475ba9b7219a6e1b40e8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 18 15:28:14 2014 -0400

    Windows: set hard dead timeout not conn timeout for probes
    
    For the Rx connections used for probing VL and FILE servers set a
    hard dead timeout and not a connection timeout.   A connection timeout
    will not terminate the call as long as the lastReceiveTime continues
    to be updated by ping packets.  The hard dead timeout will cause the
    connection to fail when the 10 second limit expires.
    
    Change-Id: I371dcd95fc0ff822a205cf903fa6218e80a2b042
    Reviewed-on: http://gerrit.openafs.org/11401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8e23809542556937a0845246960a0f5484b6cf1e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 18 15:25:50 2014 -0400

    Windows: Freelance whole volume rdr invalidate
    
    When updating the Freelance directory do not notify the redirector
    of individual objects to invalidate since that can leaad to race
    conditions.  Send whole volume invalidations since that is what is
    required in any case.
    
    Change-Id: I22a963907ebbb3da3178750670a2897603463cfe
    Reviewed-on: http://gerrit.openafs.org/11400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d5b6a545ed1e9f01c295280495b806981d9877d3
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Aug 13 15:28:49 2014 -0400

    Windows: Obtain File Attribs for DFS Link target
    
    The AFSRetrieveFileAttributes() function is used to acquire the
    attributes for an AFS symlink.  The result is either returned directly
    to the application or used internally to determine the attributes
    to be exposed by reparse points.
    
    If the evaluated symlink crosses a DFS Link the redirector cannot
    return the request to IO Manager to evaluate the target.  Instead
    the redirector must handle the request internally and attempt to
    read the attributes of the target object.
    
    Change-Id: If14df8dc41e13fd59b524fdb575c46abab1dfc2f
    Reviewed-on: http://gerrit.openafs.org/11399
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dceb8d6336e574a735b9887cf670c229bc6ee446
Author: pete scott <pscott@kerneldrivers.com>
Date:   Mon Aug 11 13:18:16 2014 -0400

    Windows: LocateName skip DFS Link only last component
    
    As with Mount Points and Symlinks, when AFSLocateName() is called to
    process a CreateFile with Open_Reparse_Point enabled, DFS Link processing
    must be disabled only for the last component in the path.  Failure to
    do so results in the AFS Redirector succeeding IRP_MJ_CREATE calls that
    should be given back to the IO Manager so the path can be evaluated by
    another file system.
    
    Change-Id: I1627e7c6582d3a80d99dd2acc5171135a6a7bc4b
    Reviewed-on: http://gerrit.openafs.org/11398
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d36b8ff8db63ee893941d57422e54ca05e4a1564
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 11 01:07:27 2014 -0400

    Windows: Reparse Policy vs DFSLinks
    
    When a reparse policy is specified and AFSLocateNameEntry() returns
    with STATUS_REPARSE, do not re-evaluate the path with the reparse
    policy disabled.  STATUS_REPARSE was returned because the FileObject's
    FileName was modified and the IO Manager needs to reparse the request.
    
    Change-Id: I290837357793d3961833923ea1d5300d08bf7dfc
    Reviewed-on: http://gerrit.openafs.org/11397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 68d5e229e9bca83b90cd3e4c8c17719ea9864b00
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 11 01:41:52 2014 -0400

    Windows: AFSParseRelatedName always use related name
    
    When parsing a RelatedFileObject always refer to the RelatedFileObject
    FileName and not the IrpSp->FileObject.
    
    Set the output FileName to pRelatedCcb->FullFileName
    
    Test pRelatedCcb->FullFileName for wild cards
    
    Change-Id: I86f5bb7fc05eddc0d3d1ca9fbb069248af23be98
    Reviewed-on: http://gerrit.openafs.org/11396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2f4f1e3f8619b1531838a62031e969cbf64be7dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 11 01:38:54 2014 -0400

    Windows: AFSParseName always set FileName output
    
    The FileName output parameter is used by the caller even when an
    error occurs.  In case of error it indicates that path that failed
    to parse. Not all of the error paths set FileName.
    
    Start AFSParseName() with FileName referring to
    IrpSp->FileObject->FileName.  It can be updated as required later.
    
    Change-Id: I37c615aa815affec0c8f4dfef7d8c5777650c275
    Reviewed-on: http://gerrit.openafs.org/11395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d57d87a87a6041b1596532c7fe08795ae9d91b95
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 11 01:28:12 2014 -0400

    Windows: Refactor AFSParseName related name parsing
    
    AFSParseName() is a very long complex function.  Extract the parsing
    of RelatedFileObject name parsing to a new function AFSParseRelatedName().
    This removed ~160 lines of source code out of AFSParseName().
    
    This changeset is not intended to introduce any functional changes.
    
    Change-Id: If04a1bee0c104461f2d8bc33bca426e9ff71be74
    Reviewed-on: http://gerrit.openafs.org/11394
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit da1597d74a0f56e35a156ec27df231f965934910
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 18 15:23:54 2014 -0500

    vos: cross-device link error message
    
    Print a better diagnostic message for cross-device link errors, which
    happens when a clone volume is not in the same partition as the
    parent read-write volume.
    
    Change-Id: If58284a1dc53f8264fb17757f37c627fc2a378db
    Reviewed-on: http://gerrit.openafs.org/10850
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f433bc779b18e0111a122e9baf5cbddc4864f101
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Wed Jun 4 15:27:32 2014 -0700

    redhat: Fix minor whitespace errors in openafs-kmodtool
    
    During review of commit c20c01185ed748b2bc823369a8f28cf004b7d1c9
    gerrit flagged one of the changed lines as having a trailing whitespace
    error.  This patch corrects that error and several others that were
    in the file.
    
    Change-Id: I3668e67e456322cccdfa76df935951053f9b6a48
    Reviewed-on: http://gerrit.openafs.org/11200
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 418ca56f911a05d9487f4c3c3dc2ca2d37c5da15
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Tue May 27 00:07:52 2014 -0700

    Correct comment typos in a couple files
    
    Correct typos in a couple files.  These were noticed while
    researching code paths.  Comment changes only.  No code change.
    afs/afs_stats.h has source file names updated on several lines.
    Many source file name comments are wrong in this file.
    I didn't attempt to correct them all, just the ones I bumped
    into.  If I bump into others in the future I'll fix them then.
    rx/rx_call.h has source of enumerated types corrected.
    
    Change-Id: Ie78b7f20b5c9c2261ec8a73701e77bdfbabd8465
    Reviewed-on: http://gerrit.openafs.org/11172
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1283226ccb638be47ead6cc4d9a47381aa6b08d1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 6 15:08:33 2014 -0400

    volscan: fix copyright and licence notice
    
    These are new files and new content; fix the copyright notice and
    license to reflect.
    
    Change-Id: I8d5f00fb7edaf2e3855e2dc2a1af07bba471c0d6
    Reviewed-on: http://gerrit.openafs.org/11362
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2ceb387191d4dced7815237c20a9b2cb577ad3df
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 21 17:30:36 2014 -0400

    Remove some incomplete struct initializers
    
    C99 requires that objects with static linkage, which includes
    global variables, be initialized to zero/NULL.
    
    It is possible that old compilers required a hack of using one
    explicit initializer and relying on the requirement from C99 that
    the elements of the structure not listed in the initializer be
    initialized as if it had static linkage.  These incomplete initializers
    seem to have been introduced to support old OS X compilers which
    are not believed to still be in use.
    
    Using a complete explicit initializer is undesired here, as the
    rxkad statistics structures have a great number of elements and
    the uuid structure is somewhat complicated.
    
    Change-Id: Iefe7842cbf874252267cb3a8aee5d90ec2cab169
    Reviewed-on: http://gerrit.openafs.org/11374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f81f17938cf9ec2dfa3541983c125afc37817698
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 21 17:50:50 2014 -0400

    FBSD: avoid unused-variable warning
    
    This variable is passed as an argument to the ma_vn_lock() compat
    macro, which ignores the thread argument on some versions of FreeBSD.
    Make the variable only be declared in those cases when it will be used.
    
    Change-Id: I1ed10654fb402f4feec55d6d7c7ece6f0c78bc8e
    Reviewed-on: http://gerrit.openafs.org/11373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit edafaf047b13a0defdfbca55b7517a52a33bdda5
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 21 14:13:39 2014 -0400

    FBSD: initialize 'retval' for afs3_syscall
    
    In the same way as linux_ret.
    
    An ugly hack, but retval is not really used for anything relevant at
    the moment, and the compiler will warn about it being used uninitialized
    otherwise.
    
    Change-Id: Ia31ea6668ac3bc2edbec143d0b839f3e797ff424
    Reviewed-on: http://gerrit.openafs.org/11372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 59e9b3b409be73dfd004077b634958abcd79b91d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 21 11:01:04 2014 -0400

    Avoid a name conflict in a local variable
    
    Modern compilers will warn when a variable in a nested scope hiding
    a variable of the same name in an outer scope.  One of the arguments
    to afs_lhash_remove() is already named 'data'; don't reuse that name
    for a local variable.
    
    Change-Id: Icbb5010d298110cd4dab395fc5eec45e01ec9ba3
    Reviewed-on: http://gerrit.openafs.org/11371
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 64da7c133a66a15233c2cdc5d9a8f71d17d80d77
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jul 24 09:40:21 2014 -0400

    Make kernel hcrypto calloc return zeroed memory
    
    As far as I can tell, the afs_osi_Alloc contract does not
    guarantee zeroed memory.  On FreeBSD, with a debug kernel, it
    definitely does not currently provide zeroed memory, returning
    instead memory initialized with 0xdeadc0de.
    
    Properly speaking, the role of calloc() is to both check for overflow
    from the multiplication and to produce zeroed memory.  However, since
    we do not have a reasonable way to report failure, do not bother
    checking for overflow at this time.
    
    Change-Id: I187c2057d473fba869692c1dfa11735502b260c1
    Reviewed-on: http://gerrit.openafs.org/11322
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9dd67783bb2bd9ef8a972a1aac47b1925069a655
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 13 02:32:06 2014 -0400

    viced: time_t might not be long
    
    Fix a couple of printf format errors that bite on FreeBSD 10 for i386.
    Since time_t might be an int, it can't be printed with a long format.
    Since time_t might be a long in general, cast to it to long when
    printing.
    
    Change-Id: Iecc4487adee7a64542dd2dc17f94485a6198e707
    Reviewed-on: http://gerrit.openafs.org/11385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f02beb8d644ec2a52bf21737a040321905a39e20
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 13 02:20:02 2014 -0400

    afsd: correct printf format mismatch in debugging printf
    
    On platforms where size_t is unsigned int, the type of
    cacheFiles * sizeof(AFSD_INO_T) is not an unsigned long as the format
    string requires.  Casting cacheFiles to unsigned long ensures that the
    result is at least unsigned long, although it will still be wrong if
    any architecture makes size_t be long long.  Fixes build for FreeBSD
    10 on i386.
    
    Change-Id: Ifd124d81b16f53133293dd591f7f8cf2f7d3175a
    Reviewed-on: http://gerrit.openafs.org/11384
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 80f4939a3b9e1d48c03d0797a21c9e77a844cf7f
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Aug 8 17:13:09 2014 +0200

    redhat: package volscan
    
    Add volscan and the manual page to the files in the server package.
    
    Change-Id: I97c210da1e0d9d28682e555e92863c4c408b94da
    Reviewed-on: http://gerrit.openafs.org/11370
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2e2bef28f00f505190c21bd42398f6a01268879c
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Jun 6 19:27:04 2014 -0400

    opr: opr_AssertionFailed undefined in kernel module
    
    The opr_Assert in opr_rbtree_remove is incompletely defined;
    the opr_Assert macro is defined in opr.h, but the definition
    for the opr_AssertionFailed routine it invokes is not included.
    This allows the kernel module to build successfully even though
    it retains a hidden undefined reference for opr_AssertionFailed.
    
    However, the logic in obr_rbtree_remove ensures that this
    particular opr_Assert can never fail - it is superfluous.
    Some compilers (e.g. gcc for Linux AFS kernel module
    builds) are able to recognize this and optimize it out.  Others
    (e.g. Solaris 5.12) do not, and when this happens the OpenAFS
    build appears to succeed but the kernel module will fail to load
    due to the undefined symbol.
    
    Remove the superfluous opr_Assert.
    
    This partially reverts commit 9f8b765bbdbb8913fcadbde8d3362039e9dc8e61.
    
    Change-Id: I4ed2b1873c434e41dce0f2e474926bf8b449b819
    Reviewed-on: http://gerrit.openafs.org/11296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 594e2980a0ab12f6967d626b842fc6569f4343e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 6 14:34:46 2014 -0400

    Revert "libafs: remove stray "-v 2" argument to afs_compile_et"
    
    This reverts commit d7082793eedc46d3647d38ffdf5a2b52fadb3cc3
    
    Change-Id: I8ad37f109fc244d198f85c4642dcf1e8eb33a184
    Reviewed-on: http://gerrit.openafs.org/11360
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e0d0e6ffdbb11d5445b129ef0bd5030aec59d333
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 17 10:33:23 2014 -0500

    LINUX: Avoid premature RO volume lock error
    
    Commit 0fc27471e7da0c5de4addcdec1bfbca5208072cc avoids processing lock
    requests for RO volumes, but it did this both in afs_lockctl() and in
    the Linux-specific afs_linux_lock(). The changes in afs_linux_lock()
    are incorrect, since they also avoid F_GETLK requests (whereas
    afs_lockctl() just avoids F_SETLK* requests).
    
    Additionally, the section in afs_linux_lock() incorrectly reports an
    error, since it returns a positive EBADF error code, when we are
    supposed to return -EBADF.
    
    The result of all of this is that an F_GETLK F_WRLCK request for an RO
    volume always fails with fcntl() returning 9 (EBADF), which is an
    invalid return code for fcntl() F_GETLK (instead we should return -1
    with an errno of 9). But if there are no locks, we should return
    success anyway.
    
    Just remove this section, since afs_lockctl() handles this case itself
    anyway.
    
    Thanks to Todd Lewis for reporting this issue.
    
    Change-Id: Ia7f3f0b1bdbb922dca06be9de02a9c2b33f9ffee
    Reviewed-on: http://gerrit.openafs.org/11316
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7ca2cce89ea525c73bc1571578c316016c6c4461
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 8 16:22:48 2013 -0500

    tools: fix unpack in example sysvmq audit reader
    
    Fix the unpack in the example sysvmq audit reader script to
    correctly unpack the message type, which is an native long.
    
    From the msgrcv perl docoumentation:
    
      Note that when a message is received, the message type as a native
      long integer will be the first thing in VAR, followed by the actual
      message.  This packing may be opened with "unpack("l! a*")".
    
    Change-Id: I5c5480c30d530b384d8057fb071b01e67f1b4ad2
    Reviewed-on: http://gerrit.openafs.org/10445
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 36ce11ce5506fba2de3d46120f68b15467996273
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Sun Jun 29 16:27:37 2014 -0400

    afs: remove cruft from Solaris afs_freevfs
    
    Remove some unused variables left behind in a previous
    refactor of flushing vcaches during afs_shutdown
    (commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0).
    
    Change-Id: Ie0a23cb08fc2946f1c400b8ce8e15ef3dc22ec20
    Reviewed-on: http://gerrit.openafs.org/11310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bf5685e537ea3991644ee5e79de0f88c34508c59
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Jul 23 13:57:50 2014 +0200

    volinfo: fix documenting comments
    
    As pointed by Andrew deason during review of the 1.6 pullup of
    commit ae27283550dab33704f30e18975722e0ed2c5424, psize is not
    a parameter of HandleHeaderFiles, and in function HandleSpecialFile
    it is of type inout since the value is first read by the += operation.
    Fix this, and try to improve the description of psize too.
    
    Change-Id: Ia728b20475f0c44b6104dc954aaa04d5f0f098b5
    Reviewed-on: http://gerrit.openafs.org/11319
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2edf5c0382385f898a017fd8e0e2429f8b2b3520
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 24 11:07:45 2014 -0500

    LINUX: Check afs_lookup return code explicitly
    
    Checking if the returned vcache is NULL or not is a bit of an indirect
    way to check if an error occurred. Just check the return code itself,
    to make sure we notice if any kind of error is reported.
    
    Suggested by Chas Williams.
    
    Change-Id: I61cc7304e9885ddaaebe96db3b12457cb6224420
    Reviewed-on: http://gerrit.openafs.org/11321
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 774d77e056515ae3e87c8f0be8e133c3cdb36bbb
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 18 15:19:24 2014 -0400

    FBSD: adhere to gop_lookupname() semantics
    
    The current semantics are that gop_lookupname() returns an unlocked
    vnode; the previous code was written to a different semantic that
    a locked vnode should be returned.
    
    This makes a disk cache more likely to work on FreeBSD, but such
    configurations remain not very tested.
    
    Change-Id: I12ac77cd271be72af2fa4045c2ebf576847b625e
    Reviewed-on: http://gerrit.openafs.org/11317
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b18b59e03689a20e988b6068499c6f2a561fcbdc
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jul 31 20:50:04 2014 +0200

    libafs: remove stray "-v 2" argument to afs_compile_et
    
    Commit 4e6b7ab904d38d38da1b80a7342bd815668a8c09 separated the
    compile_et rules for creating the source and header files using
    the new -emit functionality. During review for inclusion in 1.6,
    Chas Williams spotted a stray "-v 2" carried over to the rule
    for creating the header file, where it doesn't apply. Remove it.
    
    Change-Id: I554354eae0fa018e56fe7b78df69a43e5b5a0b07
    Reviewed-on: http://gerrit.openafs.org/11347
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 51c97beb3f3bb68704d33e126561b8c2866ddab3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 28 20:57:01 2014 -0400

    libafs: fix vrequest leak in afs_lookup
    
    Fix vrequest leak introduced in commit
    9930567bcf9655d3f562b210b2dc4b4a99226691.
    
    Thanks to Andrew Deason for finding this error.
    
    Change-Id: I8fc1391ab43f33c5a8208ff58d1d0641292cf63e
    Reviewed-on: http://gerrit.openafs.org/11337
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b7f1763652fb932ca5bd3f3351a48df11e58f2dc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 28 17:27:40 2014 -0400

    libafs: do not allow NULL creds for afs_CreateReq
    
    Do not allow callers to pass a NULL cred to afs_CreateReq.  This
    avoids setting the uid of zero in the vrequest when no cred is
    passed.  Update callers to pass afs_osi_credp for an anonymous cred
    when no cred is available.
    
    Thanks to Andrew Deason for pointing out afs_osi_credp should be
    used.
    
    Change-Id: I05f694026ec72ab701160d9920e47c16cda46cd7
    Reviewed-on: http://gerrit.openafs.org/11336
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit eb5102e998d09466c5169eabe96d3e1ed1919d17
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 31 11:45:14 2014 -0400

    config: Refactor the FreeBSD configuration files
    
    Use a common file for most of the platform specific settings.
    
    Change-Id: If95ad44de99fc3320570d53d706fed4d760fe67d
    Reviewed-on: http://gerrit.openafs.org/11346
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c5f8d5adb252e7ba0b6ac51b0eb191e2d0b7bf23
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 31 11:40:23 2014 -0400

    config: AFS_SHORTGID no longer in use
    
    Remove the AFS_SHORTGID macro from the param header files.  There
    are no usages in the rest of the source tree.
    
    Change-Id: I417b6e90fa9a094bfef727134b640964596eceb3
    Reviewed-on: http://gerrit.openafs.org/11345
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9d61dd420df47cff6926ea5daa510527b243b13b
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 31 11:14:57 2014 -0400

    config: Updates to AFS_HAVE_STATVFS for FreeBSD
    
    Always define AFS_HAVE_STATVFS.  According to the man page, statvfs()
    appeared in FreeBSD 5.0.  Additionally, this macro is only used for
    userspace which eliminates all disables except for FreeBSD 5.0 which
    appears to have just been an oversight when the param file was created
    from the 4.x param files.
    
    Also fixes the comment so it reflects the actual choice.
    
    Change-Id: Ibdcd694e9c4a0d0cecccd91a51962af6fb11ff36
    Reviewed-on: http://gerrit.openafs.org/11344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9171cbda2f7e5016186dbe0438758047d53be452
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Jul 28 08:24:48 2014 -0400

    config: Remove deprecated macro from FreeBSD configuration files
    
    The macro STDLIB_HAS_MALLOC_PROTOS was deprecated in commit
    daff4006627fc88be85dade3d72aa45e57a6804a.
    
    Change-Id: I9c2129f6f3d5be6a00ef6ddd358967e0fd4f7ec9
    Reviewed-on: http://gerrit.openafs.org/11333
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 05dbea9fc4da02c6349d9e0b69656acb3254cfe8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 1 18:27:35 2014 -0400

    libafs: fix error location code in LINUX/osi_export
    
    Fix the missing error location code introduced in commit
    40fb2650b783fbafe51aefd3d0af7a6b0536c265
    libafs: allocate vattrs in LINUX to reduce stack used
    
    Use location number 104, which is the next in the sequence.
    
    The code in this module is compiled when building the
    nfs translator, which is only built under linux when
    configure detects it is possible.
    
    Thanks to Andrew Deason for spotting this error.
    
    Change-Id: I00c834bc915fa3be7d5f27467895930e4f62aa76
    Reviewed-on: http://gerrit.openafs.org/11351
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit a5866b3a7c21551a8aa40fc6141cca3a65fea563
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 23 11:54:47 2014 -0500

    LINUX: Drop dentry if lookup returns new file
    
    Background: when an entry is looked up after its parent changes,
    afs_linux_dentry_revalidate re-looks-up the entry name in its parent.
    If we get an ENOENT back, we d_drop the dentry, and in any other
    situation we just d_invalidate it. As discussed in prior commits
    997f7fce437787a45ae0584beaae43affbd37cce and
    389473032cf0b200c2c39fd5ace108bdc05c9d97, we cannot simply d_drop the
    dentry in all cases, because that would cause legitimate directories
    to be reported as "deleted" if we just failed to lookup the entry due
    to e.g. transient network errors (this causes, among other things,
    'getcwd' to fail with ENOENT).
    
    However, this logic has problems if the dentry name still exists, but
    points to a different file; the case where 'tvc != vcp' in
    afs_linux_dentry_revalidate. If that case happens, and the dentry is
    still held open by some process, we will continue to try to reference
    the vcache pointed to by the 'old' dcache entry, which is incorrect.
    
    To maybe more clearly illustrate the issue, consider the following
    cases:
    
      $ sleep 9999 < /afs/localcell/testvol.ro/dir1/file1 &
      $ rm -rf /afs/localcell/testvol.rw/dir1
      $ mkdir /afs/localcell/testvol.rw/dir1
      $ vos release testvol
      $ ls -l /afs/localcell/testvol.ro
      ls: cannot access /afs/localcell/testvol.ro/dir1: No such file or directory
      total 0
      d????????? ? ? ? ?            ? dir1
    
    Here, on the last 'ls', afs_linux_dentry_revalidate will afs_lookup
    'dir1', and notice that it points to a different file (tvc != vcp),
    and will d_invalidate the dentry. But since the file is still held
    open, the dentry doesn't go away, and so we are still pointing to the
    vcache for the old, deleted 'dir1'. That file doesn't exist anymore on
    the fileserver, so we get an ENOENT when actually trying to stat() it
    (we get a VNOVNODE from the fileserver, whcih gets translated to an
    ENOENT).
    
    A possibly more serious case is when the file is just renamed:
    
      $ sleep 9999 < /afs/localcell/testvol.ro/dir1/file1 &
      $ mv /afs/localcell/testvol.rw/dir1 /afs/localcell/testvol.rw/dir1.moved
      $ mkdir /afs/localcell/testvol.rw/dir1
      $ touch /afs/localcell/testvol.rw/dir1/file2
      $ vos release testvol
      $ ls -l /afs/localcell/testvol.ro/dir1
      total 0
      -rw-rw-r--. 1 1235 adeason 0 Jul 23 11:09 file1
      $ kill %1
      $ ls -l /afs/localcell/testvol.ro/dir1
      total 0
      -rw-rw-r--. 1 1235 adeason 0 Jul 23 11:10 file2
    
    In this situation, the same code path applies, but the old file still
    exists, so we will continue to use it without error. But since we are
    still pointing at the old file, of course the results are incorrect.
    Once we kill the process holding the file open, the bad dentry finally
    goes away and the results are valid again.
    
    To fix this behavior, d_drop the dentry in all cases, except when we
    encounter an error preventing the lookup from being done. This ensures
    that the dentry is unhashed from the parent directory in the scenarios
    above, and so cannot be used for a subsequent lookup.
    
    With this change, the only afs_lookup response that causes a simple
    d_invalidate is when we encounter actual errors during the lookup
    (such as transient network failures). This is correct, since in those
    cases we don't _know_ that the dentry is wrong. For all other cases,
    we do know that the dentry is wrong and so we must force it to be
    unhashed.
    
    Change-Id: I11a2db1e05d68a755a77815ec5e8d01ac7b36129
    Reviewed-on: http://gerrit.openafs.org/11320
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2d89d447c8b00a40d3fc559813fe31c177da164b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 30 11:12:39 2014 -0500

    ptserver: Fix RemoveFromSGEntry hentry memcpy
    
    In this function, hentry is the "previous" continuation entry that we
    looked at, and centry is the "current" continuation entry. We keep
    track of the previous continuation entry in case we need to update its
    'next' pointer, which we do if we free one of the continuation entries
    because it is empty after the removal.
    
    So, this memcpy is supposed to copy the current entry to the previous
    one, but the arguments are flipped, so we just copy zeroes to centry
    (since hentry is initialized to zeroes early on in the function), and
    hentry never gets set to anything besides zeroes.
    
    The effect of this is that whenever a ptdb entry has more than one
    continuation entry, and we free up any of them after the first one via
    RemoveFromSGEntry, the previous continuation entry becomes blanked
    (though the 'next' pointer should still be correct). This means the
    membership information for that group is not recorded correctly, as it
    loses a chunk of the IDs that it is a member of. The reverse mapping
    should still be intact (the parent groups have a pointer to the
    sub-group), but the group probably doesn't function correctly.
    
    The reason this happened is because of the confusing conversion from
    bcopy to memcpy. Most of the instances of bcopy/bcmp/bzero/etc were
    converted (correctly) back in commit c5c521af, but the supergroups
    implementation was added afterwards, in 8ab7a909, and contained a
    bcopy reference. This bcopy was converted to memcpy in 58d5f38b, but
    the argument order was not corrected, causing this bug.
    
    To fix this, just flip the first two arguments of the memcpy. Just get
    rid of the casts here, too, to match the code in the non-supergroups
    RemoveFromEntry and elsewhere.
    
    Change-Id: Ibcbbdcb13ef5c033ea3452555832a0fd3f916efd
    Reviewed-on: http://gerrit.openafs.org/11340
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 11e68c181ab9cb09e89e27a33e86d49bbfd550b7
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Fri Jul 25 11:50:16 2014 -0400

    Move VLOP_RESTORE and VLOP_ADDSITE home
    
    Change-Id: I19c04ea1762eec349b0e9645fa9777e6a6c5263a
    Reviewed-on: http://gerrit.openafs.org/11325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2809bae58851ce9168ca8b18c94360392b8a609f
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 26 00:43:10 2014 -0400

    FBSD: 10.1 is coming out soon
    
    The 10.1 release cycle is starting in a month, so let's get ahead of
    the curve by adding the config bits now.
    
    Change-Id: Ia17e1267dafee5c80d87a6bfc5e423982f83306d
    Reviewed-on: http://gerrit.openafs.org/11328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6667399aa426009a841cdd6459dbfa498e562646
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 26 00:22:09 2014 -0400

    FBSD: 9.3 has been released, so add config bits and sysname
    
    Change-Id: I453a457d5311dfea04fd7e8173f1296a0db74902
    Reviewed-on: http://gerrit.openafs.org/11327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f63eed308a2def003b9d8d1a98e934c7082b314a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 9 11:37:21 2014 -0400

    ptserver: fix errant debug message log level
    
    Fix the log level a debugging message introduced
    in commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06.
    Thanks to Ben Kaduk for reporting this issue.
    
    Change-Id: I8913472aba8fe5247a29e31e3f04090bc0fce64e
    Reviewed-on: http://gerrit.openafs.org/11314
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 668b1765478eb32b5d0895d25301773e412df7a0
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 3 11:02:40 2014 -0400

    auth: Fix library dependencies so that tests build again
    
    Change-Id: Ia95a94a77290baea419beb942ea60cd1b89c22fa
    Reviewed-on: http://gerrit.openafs.org/11311
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a303bb257ed9e790d8c14644779e9508167887b6
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Jun 18 09:06:39 2014 -0400

    Linux 3.16: Convert to new write_iter/read_iter ops
    
    Change read/write operations to the new write_iter/read_iter
    operations.
    
    Change-Id: Ia58e5f90182f3968d1a81cfc2f831e7a9cf35d93
    Reviewed-on: http://gerrit.openafs.org/11303
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e284db57f94c8f97ed1c95dcd0bd9518d86c050c
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Jun 18 08:53:48 2014 -0400

    Linux 3.16: Switch to iter_file_splice_write
    
    Users of generic_file_splice_write need to switch to
    using iter_file_splice_write.
    
    Change-Id: If4801d27e030e1cb986f483cf437a2cfa7398eb3
    Reviewed-on: http://gerrit.openafs.org/11302
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d704f1d4dc3fca4d903c443130374da2284f3f15
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jun 16 12:44:08 2014 -0400

    Use an unsigned type for bitmask values
    
    As noted by clang -Wshift-sign-overflow, the expression "1<<31"
    overflows the signed int type, giving undefined behavior.
    
    Use an unsigned type to make the result of the shift defined
    behavior by the C99 standard.
    
    Also change an instance of "1<<31" that was checking for whether the
    most significant bit was set, as it's still undefined behavior.
    
    Change-Id: I8cf9443aa92470181044fc3b63d491da18ff5e34
    Reviewed-on: http://gerrit.openafs.org/11301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e1105acb1c61670caec7d283b0dc6d73d84a0ff2
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Nov 27 17:06:33 2013 -0500

    auditU: also report for rxkad-always-encrypt
    
    The logic that works for security index 2 also works for index 3.
    
    While here, update a comment in preparation for rxgk.
    
    Change-Id: Ifd868fa8d9d0ba2f422fa1fac43e4f583d27a1ff
    Reviewed-on: http://gerrit.openafs.org/10527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 30a1c829af970ad725bb9d0f44a019fb01530bf7
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Nov 27 17:01:39 2013 -0500

    Use the RX_SECIDX_* enums in more places
    
    Add symbols for security indices 1 (rxvab, unused) and 3 (rxkad with
    always-encrypt, maybe-used).
    
    kauth and bubasics defined macros for RX_SCINDEX_*; replace those
    with the common core rx enums as well.
    
    Use the global symbols instead of custom defines like BULK_NULL and
    SAMPLE_NULL, which can now be removed.
    
    Reformat a comment to match current style, since we're changing it anyway.
    
    Change-Id: I82bbb0016a5c3129dfd18ff7dc77ff7839501ad8
    Reviewed-on: http://gerrit.openafs.org/10526
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c8dfe8e4c2fd685ef7df181a3d6d45b122d6ff44
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Apr 7 18:56:26 2014 -0400

    afs: maintain afs_users buckets in sorted order
    
    Modify afs_GetUser() to insert a new unixuser into an afs_users
    hash bucket in sorted order, by uid/PAG.  This is in support of
    other small optimizations in future commits.
    
    Change-Id: I68c51ab38733575290aa0c8aa2a306168c5483c0
    Reviewed-on: http://gerrit.openafs.org/11071
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 7d4f3a4710fb8c9fbde4294c2458ecf32658300b
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Apr 3 16:37:51 2014 -0400

    afs: only reset access caches for the matching cell
    
    When an AFS user's tokens change (unlog, aklog) or expire,
    afs_ResetAccessCache() is called to reset all the access caches
    for that uid/PAG.
    
    However, a user/PAG may have tokens for multiple cells, and they
    may expire or be set/reset at different times.  Therefore, it is
    incorrect to assume that all access caches for a uid/PAG should
    be discarded when only one cell's tokens have changed.
    
    Modify afs_ResetAccessCache() to acccept a new argument 'cell',
    and only reset the access caches for a uid/PAG if the vcache
    resides in the specified cell.  If the caller really wants to
    reset all a user's access caches, specify cell=-1.
    
    For cache managers that are running with multiple PAGs and multiple
    cells, this should improve performance because 1) it avoids
    scanning access caches chains for vcaches that are not part of the
    current cell and 2) it avoids deleting access caches that may still
    good, thus preventing unnecessary FetchStatus calls.
    
    Change-Id: Id4c138dab45fd48265a4029880a5d57947e67a52
    Reviewed-on: http://gerrit.openafs.org/11070
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e2f666fe81f2152a9dd1f35680499cf029e8381b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 10 22:17:57 2014 -0500

    roken: configure checks for getaddrinfo and friends
    
    Change-Id: Icb2ace89332024668c9dc4326b967a1015afc1e9
    Reviewed-on: http://gerrit.openafs.org/11199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b0bb7bdb499367a5aebde7183e6e5d188280545a
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Jun 4 16:04:19 2014 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d)
    
    New files are:
            roken/freeaddrinfo.c
            roken/gai_strerror.c
            roken/getaddinfo.c
            roken/getnameinfo.c
    
    Change-Id: I4a80dfd0d95cfd252af5ce3228fb824b4aacb961
    Reviewed-on: http://gerrit.openafs.org/11198
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 064b69ca267e58a7fdd8c4c7b728e79fd23a97cc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jan 10 22:12:08 2014 -0500

    roken: add getaddrinfo and friends the imported file list
    
    Change-Id: I2203bf9ab45feb47df760b404727d23d1fa15381
    Reviewed-on: http://gerrit.openafs.org/11197
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 48789d47b613e40734e7b0caac58572a80f8b318
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jun 2 23:24:45 2014 -0400

    linux: dont ignore kmod build errors
    
    Errors from the linux kmod build are not propagated, since make is
    run as the first command in a pipeline, and the shell returns the
    exit code of the last command in the pipeline.  Run the make command
    in a subshell to detect errors, and exit afterwards.  (This method
    is more portable than bash specific pipeline processing options.)
    
    Thanks to Mark Vitale for pointing out this build system defect
    to me.
    
    Change-Id: If3e204fe31dbdc9e7416d52fae897f792d27d678
    Reviewed-on: http://gerrit.openafs.org/11186
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 1673764ea091a3f02a64a3d853c3e14f758cdda7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 4 09:42:46 2014 -0500

    bozo: Ignore ListKeys ka_KeyCheckSum return value
    
    With commit c04de52da4e89e15b211b4a19a3d9bc4d612b209, an error in
    ka_KeyCheckSum here makes the entire BOZO_ListKeys RPC to fail. This
    caused two changes:
    
     - That commit makes the RPC fail in situations where it did not
       before. But even if we cannot calculate the checksum, we can still
       return other information about the key, so this is undesirable.
    
     - It masks the previous 'code' value, returned from stat(). The
       return code of stat() is now effectively ignored, except for the
       purposes of setting st_mtime, whereas previously a failure caused
       the RPC to fail. This is a behavior change.
    
    So, effectively revert c04de52da4e89e15b211b4a19a3d9bc4d612b209.
    Explicitly cast the return value of ka_KeyCheckSum to void, to make it
    clear that we are intentionally ignoring the return value, so
    hopefully this will not be flagged as a warning by code analysis tools
    such as coverity.
    
    Change-Id: Iac745d7c88ed7c2d97660e6949caa63580eef6e2
    Reviewed-on: http://gerrit.openafs.org/11194
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 4bf942f5c38fd711136e1a2010cb0b2ea4612901
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Jun 4 20:41:57 2014 -0400

    rx: Do not try to cancel nonexistent events
    
    Unconditionally cancelling the resend event and releasing the
    reference it was supposed to have on the call, can cause the
    call reference count to go negative.
    
    In particular, the call chain when a new rx_call structure is
    allocated would cause its reference count to become negative.
    
    Behave similarly to all the other rxevent_Cancel calls touched
    by 20034a815750beff262d49b37fba225c72dd0ab1, and only cancel the
    event and drop a reference when the event is present on the call.
    
    Change-Id: Icf2dd58c2545814ac17bb960077621c6d3209da0
    Reviewed-on: http://gerrit.openafs.org/11201
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2d973c10f13b40c0ac9da25fe7f4c73b3560a686
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri May 23 07:48:11 2014 -0400

    afs/VNOPS: use osi_AllocSmallSpace() correctly
    
    Send the size down to the allocator so it can perform some
    consistency checks.
    
    Change-Id: I6c089ab912014c639888b744a92a28813fb4b3c4
    Reviewed-on: http://gerrit.openafs.org/11168
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 3ab546395536a3c93613dfd53363d380e2c05081
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jun 2 16:15:15 2014 +0200

    fstrace: Don't read uninitialised data on other platforms either
    
    Commit 908105fe8d51551e45692de4e145022138a0356c fixed an off-by-one
    error potentially causing a buffer overread in CheckTypes, but only
    in the IRIX/AIX version of the function. Apply the same fix to the
    code for the other platforms.
    
    Spotted by Andrew Deason.
    
    Change-Id: I5f70c072e609337b39064ba48353b4fdf23acf17
    Reviewed-on: http://gerrit.openafs.org/11185
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 69705782318226806b6a2b092ec4b63d594d184c
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Thu May 29 19:24:24 2014 -0700

    afs: Delete unneeded duplicate code
    
    Delete a memory release and a goto since natural code flow will
    result in exactly the same thing.
    
    Change-Id: I8fe1400aa2db0e15cbbd577ba18cc1fcdec18447
    Reviewed-on: http://gerrit.openafs.org/11179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 02565591855f5a5ddb7dd6e308d9f535c2fd64b8
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Tue May 27 01:26:59 2014 -0700

    config: Move AFS_LRALLOCSIZ to afs_args.h
    
    AFS_LRALLOCSIZ is currently defined in afs/afs.h.  Other memory
    related definitions such as AFS_SMALLOCSIZ and AFS_MDALLOCSIZ
    are defined in config/afs_args.h.  Move AFS_LRALLOCSIZ to
    config/afs_args.h for consistency.
    
    Change-Id: Ie1e286c24be6a2def404a54355a2fa4b2c42330d
    Reviewed-on: http://gerrit.openafs.org/11174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit de74227d9c925206cd6d46496ec4682569d3105b
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Tue Apr 29 12:48:03 2014 -0400

    libafs: Speed up afs_CheckTokenCache
    
    On systems with a large number of PAGs and files in use, the
    periodic daemon job that checks for expired credentials and
    cleans up the axs cache can run for a very long time.  This
    can lead to kernel soft lockups and eventually hang processes
    and file access because of unavailable locks.
    
    Rework the scanning logic in afs_CheckTokenCache to make the
    scanning more efficient in most real world cases.  On a test
    system accessing ~4000 files from processes in 1000 PAGs, this
    has been observed to reduce the runtime of afs_CheckTokenCache
    from a problematic ~70s down to about 0.7s.
    
    Additionally, this changes the conditions in which an axscache is
    discarded. uid+cell (rather than just uid) must now match, and
    if no matching unixuser is found, it will also be discarded.
    
    Adapted from code from Jeffrey Altman who provided the original
    loop algorithm and code.
    
    Change-Id: I65b275b4244b3b6ab65453623bb8729530a9e1a6
    Reviewed-on: http://gerrit.openafs.org/11123
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 231bd022ede3309238d840461dc63a46aaa357e5
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jan 4 16:16:04 2013 -0500

    Dummy Makefile for rxgk
    
    Include a libtool export symbol list for the shared library, which
    only has the client RPC calls and the NewFooSecurityObject primitives
    for now, since that's all that's stubbed out.
    
    Also connect the rxgk directory up to be buildable from the root, but
    nothing depends on it yet so it will not be built.
    
    Looking ahead, build a libafsrpc_rxgk.la object.
    
    Change-Id: I12ddefbdaa1ad4845649e3a32efdeaaa21b5e9b7
    Reviewed-on: http://gerrit.openafs.org/10563
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit ee56e925f0c6484ac58e23ccdd1b1bf1a3760505
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 6 15:24:58 2013 -0500

    Add rxgk boilerplate
    
    Just the skeleton of what needs to be there.  The actual import is split
    over multiple commits, to make the reviewer's burden more manageable.
    
    Error table, protocol description, and stubs for the security object
    routines, with header to declare them.
    
    The public header rxgk.h currently only contains a few typedefs and the
    NewSecurityObject prototypes, and includes the RPC interface and com_err
    code headers.
    
    Change-Id: I7893f78119bb4aef12112cc1e51e1ec69de326c2
    Reviewed-on: http://gerrit.openafs.org/10562
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e156fae7a1866d1b00a1d9252c0a775128e2f033
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 6 14:56:25 2013 -0500

    Add some configure bits for GSS-API
    
    rxgk will require gss_pseudo_random and might want a couple other
    krb5-specific bits.  We'll also need substvars to tell whether or
    not we can try building these things.
    
    Change-Id: Id18eb3f554605875696095eb40c25ec54df1f74b
    Reviewed-on: http://gerrit.openafs.org/10561
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0abf5fcbe8a0367a91224fa50480e78f0e6b02e4
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon May 5 13:33:10 2014 -0400

    Linux: Drop PageReclaim AOP_WRITEPAGE_ACTIVATE case
    
    The exit case here seems to have been added to avoid recursion into
    the writeback code and eventual deadlock (see RT #15239).  One issue
    is that the PageReclaim check can trigger in code paths that don't
    deal with the AOP_WRITEPAGE_ACTIVATE code correctly, leading to EIO
    errors when multiple threads are doing large mmap writes and memory
    pressure is sufficient to trigger reclaim.
    
    The check could be improved to check wbc.for_reclaim which seems to
    indicate more reliably when it is safe to return ACTIVATE, but given
    that the CPageWrite flag already provides more targeted recursion
    prevention, it seems safer to just drop this special case.
    
    Note that many kernel filesystems used to have a similar check mainly
    to prevent excessive stack usage, but as more recent kernels have
    moved away from doing any writeback during direct reclaim this is a
    case that should no longer occur.  Partly as a result of this there
    are very few users of AOP_WRITEPAGE_ACTIVATE left in the kernel,
    which may be a motivation to find a better mechanism for OpenAFS
    eventually.
    
    This has been shown to help avoid EIO errors with multiple processes
    doing intensive mmap writing.
    
    Thanks to Yadav Yadavendra for identifying the issue and providing
    extensive analysis and testing.
    
    Change-Id: I88d9ef6e6e7a8f666f82c5ca481254839c2ba1e5
    Reviewed-on: http://gerrit.openafs.org/11125
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 21a85792c44e2145eea6d10dc31d58028ba933b8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 18 13:59:59 2014 -0500

    volser: log message for cross-device link errors
    
    Add a log entry to the volume server to help diagnose those pesky
    'Invalid cross-link device' errors returned by vos, which occur when
    a clone volume is located in a different partition than the parent
    read-write volume, or when a read-only volume is on the incorrect
    partition on the server.
    
    With this change, a new log entry is added when the volume server
    fails to create a clone or a read-write volume because a volume with
    the target volume id already exists on a different partition.  For a
    clone volume, this would be a different partition than the
    read-write volume. For a read-only volume, this would be a different
    partition than indicated in the vldb.
    
    Examples:
    
    Volume foobar is on /vicepb, but foobar.backup is incorrectly on
    partition /vicepa.
    
    $ vos backup foobar
    Failed to clone the volume 536870934
    : Invalid cross-device link
    
    VolserLog:
     VCreateVolume: volume 536870936 for parent 536870934 found on /vicepa; unable to create volume on /vicepb.
     1 Volser: Clone: Couldn't create new volume 536870936 for parent 536870934; clone aborted
     ...
    
    The vldb indicates a read-only volume should be on /vicepa on a
    remote site, but the actual volume is on /vicepb.
    
    $ vos release xyzzy
    Failed to create the ro volume: : Input/output error
    The volume 536870921 could not be released to the following 1 sites:
                                         mantis /vicepa
    VOLSER: release could not be completed
    ...
    
    VolserLog on mantis:
     VCreateVolume: volume 536870922 for parent 536870921 found on /vicepb; unable to create volume on /vicepa.
     ...
    
    Change-Id: Iaa471c46059d598a5095d59580e3b0b8ac6e1992
    Reviewed-on: http://gerrit.openafs.org/10849
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c0683441a0121433d772bfb36e1e9a1c020a5dcb
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed May 28 09:53:58 2014 -0400

    vol: Fix gcc 4.9 warnings
    
    gcc 4.9 complains here because the trailing 0 in these macros
    has no effect, the value having already been set to NULL.
    Just remove the offending 0s, nothing uses the return value
    anyway, even if there were platforms where 0 != NULL.
    
    Change-Id: Ic9a79d51419726c0c823a9228c21c13dea918dc8
    Reviewed-on: http://gerrit.openafs.org/11176
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 40fb2650b783fbafe51aefd3d0af7a6b0536c265
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun May 18 19:28:16 2014 -0400

    libafs: allocate vattrs in LINUX to reduce stack used
    
    Allocate temporary vattrs in LINUX to reduce the amount
    of stack space used.
    
    Change-Id: Iafa8d920b7149486f1ea8fb1999c1f4c9a935615
    Reviewed-on: http://gerrit.openafs.org/11170
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9630c075409a262424805411ed473178814b412c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun May 18 17:17:38 2014 -0400

    libafs: api to create and free vattrs
    
    Add a pair of functions to allocate and free struct vattrs,
    to avoid having struct vattrs on the stack.
    
    Change-Id: Ia5a148ebcdf8a2f1e3a2aa9d8fd3c0e0cd0e25e9
    Reviewed-on: http://gerrit.openafs.org/11169
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f66c467bdd7182eb80ede3b9faa5f5ae5231632f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 28 10:41:02 2014 -0400

    Use a separate toplevel target for venus/tests
    
    There's no particular reason to lump them in with the venus target,
    and we have reports that it causes parallel build failures on some
    systems.
    
    Just use a separate 'venustests' target akin to rxtests and ubiktests
    and the like, instead.
    
    Some of these lines are now long and should be wrapped, but leave
    that for a follow-up commit.
    
    Change-Id: Idd50c02d3c0c88dc2788ecfd221bbc5cbf8cba19
    Reviewed-on: http://gerrit.openafs.org/11177
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit f05abc47938beddb436fd0b9677f7b59fc64a215
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri May 30 15:05:28 2014 +0200

    libadmin: Remove redundant memset call
    
    Commit bf78bf2c115659b78c34d3bc9d1934bcff21c8cc added initialisation
    of the nbulkentries structure to 0, to avoid freeing garbage due to a
    goto fail_... before the structure is initialised. As pointed out by
    Andrew Deason, there already is an equivalent memset call later in the
    code which is now redundant. Remove it.
    
    Change-Id: I236e6de2a79f4f483be314654225bd52316f5a02
    Reviewed-on: http://gerrit.openafs.org/11180
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e7a4359a0870f214091113f3efb0b32a4b68663c
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Fri May 30 14:28:53 2014 -0700

    audit: Delete va_copy kludge
    
    When I developed fix c3d4c109305b2db8a63b754c1894ad37326dc340 I used
    va_copy.  I was nervous because it required C99, but I had no
    problem with any of the buildbots, nor did any reviewer comment.
    audit/audit.c contains a local hack to simulate va_copy in the
    pre C99 days.  There are no uses of va_copy in audit.c but
    presumably at some point there was.  Delete the local va_copy.
    
    Change-Id: I5e30c7e3052aeffe56e366888c5a3db3a705fd00
    Reviewed-on: http://gerrit.openafs.org/11184
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 85f3d0941b37c71047f59e1b1f4f92557d232fb8
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Tue May 27 01:16:26 2014 -0700

    Delete several unused memory management constants
    
    Change 412854593cf368006c18e6c0dc607a9ecd76a0e0, removed from
    the code base the last usage of:
    AFS_SALLOC_LOW_WATER (defined in afs/afs.h)
    AFS_MALLOC_LOW_WATER (defined in config/afs_args.h)
    AFS_MDALLOCSIZ (defined in config/afs_args.h)
    This patch deletes these constants.
    
    Change-Id: I1333aed508875e9b13dc3f36f3ff0d5eadfb2cfd
    Reviewed-on: http://gerrit.openafs.org/11173
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7a37f49e9db2dad980f22b3df8766863711ddb4c
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 13 13:19:04 2013 -0500

    bcrypt keys are on the rxkad list, not rxgk
    
    Make the code match the comment.
    
    Change-Id: If891b9a4b33eafc93816077c321790f5af10803f
    Reviewed-on: http://gerrit.openafs.org/10582
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 882b9dedef974f1cbc71093a64675819811b4b1f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 8 12:51:31 2013 -0400

    Suppress nonliteral format string warning/error
    
    Clang doesn't like a nonliteral format string, and some kernel
    builds (e.g., freebsd) are done with -Werror.  Use the standard
    workaround for FreeBSD and UKERNEL builds by calling vsnprintf()
    into a fixed buffer.
    
    Remove the !defined(AFS_LINUX26_ENV) check, as it duplicates a
    conditional around the entirety of osi_Panic().
    
    Change-Id: If6287dd19604b78150c81febba8a59b73f56783c
    Reviewed-on: http://gerrit.openafs.org/9880
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 4b4d44b3dd62c2a36908f20eeff345b666e7858d
Author: Georg Sluyterman <georg@sman.dk>
Date:   Wed Mar 26 21:48:56 2014 +0000

    cmd: List version in help for commands
    
    List version in help for commands using cmd library
    
    Change-Id: I4da64be11244e64d961e8de47cecb24cbbadce32
    Reviewed-on: http://gerrit.openafs.org/10956
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c01236beb5a6ad55cd424f0ccc3a836d737f78f3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Oct 26 23:35:14 2013 -0400

    build: separate source and header compile_et rules
    
    Generate source and header files separately to support parallel make
    without contortions.
    
    Add a complete list of dependencies for each generated header file
    to avoid build errors during parallel make.
    
    Change-Id: I804ff553e08d411a1cfe20a4ef4e57da9d321837
    Reviewed-on: http://gerrit.openafs.org/10370
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 0408718b8108882d5fb70612e7e7e5d3184fb65f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 2 14:54:00 2014 -0500

    rxkad: fix include quotes for generated headers
    
    Change-Id: I36f7df2205fb4e655c3f342b864df5b877469aec
    Reviewed-on: http://gerrit.openafs.org/10871
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit d3eed1e58a7605b320ec38d48ff1c185aa2d9806
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 2 12:26:24 2014 -0500

    auth: fix include quotes for generated headers
    
    Change-Id: If4786c30b0b448ea4ff663d62d5e0f8623736084
    Reviewed-on: http://gerrit.openafs.org/10870
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 4e6b7ab904d38d38da1b80a7342bd815668a8c09
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Jan 19 17:04:08 2014 -0500

    libafs: separate source and header compile_et rules
    
    Use the new compile_et -emit flag to generate source and header
    files separately to support parallel make.
    
    Export afs_trace.h since it is required to build libafs.  Before the
    compile_et -emit flag was available, The afs_trace.h file was
    generated as a side-effect of creating afszcm.cat.
    
    Change-Id: I4e93691dda34ddc8600d6a818503e0c9e75e618a
    Reviewed-on: http://gerrit.openafs.org/10729
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e97198372a8ddbdba4b5a58c0659f2aa5d2b2d56
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 21 13:45:32 2014 -0500

    libadmin: separate source and header compile_et rules
    
    Use the new compile_et -emit option to generate source
    and header files separately for parallel make support.
    
    Remove unneed -h options, since there are no prolog
    files and the header names match the error table names.
    
    Change-Id: Ib94bf2cd34e9102d4047d8f1ae0b108af3299cc4
    Reviewed-on: http://gerrit.openafs.org/10730
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 1141d120a5b8a0e0f33c6b8f8bfe57f1f3eb5180
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 30 11:53:16 2014 +0200

    doxygen: make dox
    
    Add an optional make target (make dox) and doxygen configuration to
    generate doxygen output files.  Auto-detect when the doxygen and
    graphviz dot tools are available.  When dot is present, configure
    doxygen to create dependency graphs.
    
    Since the graph generation can take a very long time, a new
    configure option has been added to override the dot tool
    auto-detection. To disable the graph generation (even if dot is
    installed), run configure with the option: --without-dot
    
    When graph generation is desired, but graphviz dot is not present in
    the PATH, specify the path to dot with the configure option
    --with-dot=<path-to-dot>.
    
    The configure summary has been updated to show when doxygen document
    and graph generation is configured.
    
    Thank you Jason Edgecombe for providing the doxygen configuration
    for OpenAFS.
    
    Change-Id: Ie875fc2961877ee76e4c17631bbb95c29ef20b9e
    Reviewed-on: http://gerrit.openafs.org/10970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 8050a005a39faf39a6743293c72fa8ed7e928a47
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 30 14:02:17 2014 +0200

    configure: fix comment about unix variants
    
    Remove vulgar comment, and remove commented out checks for
    aix and minix.
    
    Change-Id: I1ee6948bab3185a7855f1d9dc0e9557e27d4e1d2
    Reviewed-on: http://gerrit.openafs.org/10969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 383602344921ab6dbe72e35bdc085567ccda2b69
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Apr 25 15:23:16 2014 -0400

    rxgen: use unsigned type for max array length
    
    Plain '0' is of type int, i.e., signed, and therefore so is '~0'.
    The length of an XDR array is unsigned, so this constant should
    be of an unsigned type.
    
    Change-Id: I13f5f94b2f54bc0adcdf2ded1696b797b5205057
    Reviewed-on: http://gerrit.openafs.org/11107
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 200658834fcb22ca608dba8856d2d47872d3b2b3
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Apr 25 15:24:22 2014 -0400

    Some rx type cleanup for signedness
    
    The epoch, Cid, and security header/trailer sizes are all fundamentally
    unsigned quantities.  Change the types exposed in some API signatures
    to match this reality, and also change the global variables for the
    epoch and Cid to match.  (Per-connection variables were already of
    an unsigned type.)
    
    Change-Id: I4a56736ef7d78028d1d0b980cda0b4c37d694388
    Reviewed-on: http://gerrit.openafs.org/11106
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 7a701239d8327ae738124edb5e11f3bcbb08a76b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed May 21 15:58:17 2014 -0400

    Install afscp.h from srcdir, not the build dir
    
    That header is not a generated file, and is not found in the
    object directory.  make install would fail from a separate objdir
    prior to this change.
    
    Change-Id: I31041c793bd930cfe2fc3c5f8a754ba1b91c26e5
    Reviewed-on: http://gerrit.openafs.org/11160
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1ac4eb1b84db2732b9c2645492daff9e25417475
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 9 08:40:21 2014 -0400

    libafs: reduce stack space in LINUX
    
    Allocate temporary vrequests to reduce the amount
    of stack space used.
    
    Change-Id: I71ed86b6345ce69a70f33cdbaf5eed2abb2cef19
    Reviewed-on: http://gerrit.openafs.org/11005
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 76ad941902c650a4a716168d3cbe68f62aef109f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 14 16:07:53 2014 -0400

    libafs: api to create and free vrequests
    
    Add a pair of functions to allocate and free struct vrequests, which
    are to be used to avoid having struct vrequests on the stack.
    
    Change-Id: I6cbfe2ed21beb1ba500975188bb76608fdee4bc7
    Reviewed-on: http://gerrit.openafs.org/11074
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit b71a041364d28d6a56905a770cd20d1497ee26ec
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu Apr 24 06:19:32 2014 +0200

    Logfiles: open with O_APPEND
    
    This does not change the current (normal) behaviour, but allows
    logrotation via "copy and truncate" as offered by logrotate.
    Otherwise the processes will remember the offset of the last write
    and a truncated file is filled with '\0' until the current offset.
    The mrafsStyleLogs are untouched, since they can be rotated by a
    kill -HUP and are deprecated anyway.
    
    Change-Id: I09437aac63205fee3d97850507531e6833fed14f
    Reviewed-on: http://gerrit.openafs.org/11092
    Reviewed-by: Nathaniel Filardo <nwfilardo@gmail.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit f4ab11a8dd562bd7ee11c45e51814281d64c866c
Author: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
Date:   Sat Mar 29 22:56:21 2014 -0400

    Add a small string formatting utility to opr
    
    This is to be used by the (coming next) vos-foreach utility, but it seemed
    sufficiently general and useful to break out into its own free-standing
    component.
    
    Change-Id: I92c3a615fecb80e1766f78492b229a826a23e18a
    Reviewed-on: http://gerrit.openafs.org/10965
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 18511623f2e2bb33e3ebe9f768afed52fd53f9ce
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 14:01:37 2014 -0400

    readme: move README.WARNINGS to CODING
    
    Move the information about compiler warnings to the CODING
    readme file.
    
    Change-Id: I0be752c76ddee809fe80bd1f97048953eeee89ee
    Reviewed-on: http://gerrit.openafs.org/10975
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit eff41a2e53acd2622d89003647ba711a8b5bc75c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 13:57:33 2014 -0400

    readme: move git info to CODING
    
    Move the REAME.GIT information to the CODING readme file.
    
    Change-Id: I3013e03ebfe003dce23f0e2d808ab6905dd2b452
    Reviewed-on: http://gerrit.openafs.org/10974
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 04c7ed855ef78e1d1a15821ffff5fe0f26b9d0c4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 13:06:03 2014 -0400

    readme: rename README.DEVEL to CODING
    
    Rename the developer's readme file to CODING as a home
    for developer related information.
    
    Change-Id: I8c2cf70258671387b926ef3d666f6476056ef06e
    Reviewed-on: http://gerrit.openafs.org/10973
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 2db8242aebea7dfda7f9f1a2827f76a6fe5c8dc7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 30 14:11:00 2014 +0200

    makefile: remove comment about washtool
    
    Once upon a time, AFS used something called washtool as part
    of the build system. Remove the remnant comment about it.
    
    Change-Id: I566920b98c03d3cc65a6e2974a78a9247fd79842
    Reviewed-on: http://gerrit.openafs.org/10968
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9930567bcf9655d3f562b210b2dc4b4a99226691
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 8 16:10:36 2014 -0400

    libafs: reduce stack space in VNOPS
    
    Allocate temporary vrequests to reduce the amount
    of stack space used.
    
    Change-Id: Ic14cc4f657f7c7e97ef396601bd6c8c7f91abe55
    Reviewed-on: http://gerrit.openafs.org/11004
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 027e2bbb1191c31dbbe968a925c192b064d52c47
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 28 00:36:29 2014 +0100

    libafs: reduce stack space
    
    Allocate temporary vrequests to reduce the amount
    of stack space used.
    
    Change-Id: I8c50a3af3028512003a02e46a2960b9b135213a5
    Reviewed-on: http://gerrit.openafs.org/11003
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit cdbf49f06baf33abd803b5d1ec245e58a94eec52
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 24 15:27:38 2014 -0400

    libafs: check afs_InitReq return code
    
    Do not ignore the return code from afs_InitReq everywhere it is
    called. If afs_InitReq fails, the vrequest could not be initialized
    for some reason.
    
    Change-Id: Ibae9f93c1e20a9fcae812f047da14106e6717454
    Reviewed-on: http://gerrit.openafs.org/11097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c20c01185ed748b2bc823369a8f28cf004b7d1c9
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed May 7 15:20:51 2014 +0200

    redhat: Use the right path to depmod
    
    As of Fedora 17 and RHEL 7, depmod has moved from /sbin to /usr/sbin.
    The full path to depmod is used in package scripts and as a dependency.
    This hasn't caused problems in most cases because on an installed
    system a link /sbin -> /usr/sbin is present and during ordinary package
    installations yum/rpm correctly then figure out that /sbin/depmod is
    actually provided. But in other situations, the dependency check is not
    that clever and (incorrectly) fails.
    
    Add a macro to the spec defining the full path to depmod, use the macro
    rather than plain /sbin/depmod throughout the spec, and also pass it to
    kmodtool when required to generate the kmod package scripts and
    requirements.
    
    FIXES 131860
    
    Change-Id: I1f2e4f7100d244477c2cb9087d2f48bbcea27fdc
    Reviewed-on: http://gerrit.openafs.org/11128
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e1d0342326d11a14e1fb0075fb62cc6be9389b97
Author: Antoine Verheijen <apv@ualberta.ca>
Date:   Wed May 7 14:57:26 2014 -0600

    OpenBSD: Add support for OpenBSD 5.4
    
    Add param header files and other config info to provide
    support for OpenBSD 5.4.
    
    Change-Id: I56d2e716bd7fa4dee699f8d190cb4b60bb0f67a8
    Reviewed-on: http://gerrit.openafs.org/11130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 0287086fa78f0bc0012325c2eadb3dccb6b1f766
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Mon Mar 31 04:42:22 2014 -0700

    afs: Suppress duplicate message on Linux
    
    Update afs_util.c to call afs_warnall in places where afs_warn and
    afs_warnuser are called back to back with identical parameters.
    
    Change-Id: I529344dea12149d8f18ec38bb17418c703f7d26b
    Reviewed-on: http://gerrit.openafs.org/11006
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit a70f8e1a7e3fcbc13c9a60f8a7409dd01d014afb
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Sat Mar 22 00:52:32 2014 -0700

    afs: Define afs_warnall routine
    
    In a Linux environment afs_warn and afs_warnuser both go to
    the same spot, resulting in duplicated messages if both are
    invoked back to back.  Define a new function afs_warnall
    for use when identical messages are directed to both warn
    and warnuser.  In a Linux environment it will do the right
    thing and present only one copy of the message.
    
    Change-Id: I1abdc63adc74fe5b08d3872d48698ec9dcc7a40c
    Reviewed-on: http://gerrit.openafs.org/10943
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit c3d4c109305b2db8a63b754c1894ad37326dc340
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Fri Mar 21 23:31:21 2014 -0700

    afs: restructure afs_warn and afs_warnuser
    
    Restructure afs_warn.c to provide an afs_vwarn and afs_vwarnuser
    that accepts a va_list rather than a variadic parameter
    specification.  afs_warn and afs_warnuser continue to be
    variadic functions but now call afs_vwarn and afs_vwarnuser.
    This is a preparatory change.  A subsequent update will
    further exploit afs_vwarn and afs_vwarnuser.
    
    Change-Id: I8e740c4db311582bda6422e6600f1503dfbd0f5a
    Reviewed-on: http://gerrit.openafs.org/10942
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bec2555feb70be92bbd5685d9a43ae3138de382b
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri May 9 13:25:55 2014 -0400

    solaris: help fs_conv_sol26 build cleanly
    
    handleit(), being static, should be declared before usage.
    
    Change-Id: I5cf9767ed2fc552f7a22c7570d0a4d256a4111b1
    Reviewed-on: http://gerrit.openafs.org/11134
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 995cc38a24840cd1ba2b8dcdf3c9df233c1b2abe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 1 17:46:45 2013 -0500

    vos: vos release -force-reclone option
    
    Add a new vos release option called -force-reclone to force the
    reclone of the release clone and a release to all of the remote
    sites, regardless of the state of the VLDB flags on the remote
    sites, but does not force full volume dumps when distributing the
    volume.
    
    Provide an alias -f for -force for compatibility with the original
    IBM vos, in case scripts were written to use the old '-f' option,
    and for users with muscle memory.
    
    Change-Id: I0ebebc5e8099299781e8da57579d91848bb2ad19
    Reviewed-on: http://gerrit.openafs.org/9020
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 84cbafc3b1394eb5bce1fd617a5581536530d54e
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 17 12:55:34 2014 -0500

    NetBSD: update kernel module glue for NetBSD 6.99.x
    
    Change-Id: I4fe5ccb33ec823a6df3a73e94247a0a42b970e57
    Reviewed-on: http://gerrit.openafs.org/11089
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2f64bc272434562dfb84c4f480c82354019dec19
Author: Gergely Risko <gergely@risko.hu>
Date:   Wed Mar 19 10:56:26 2014 +0100

    RestrictedQuery feature
    
    Make vlserver and volserver suppport a new command line parameter,
    "-restricted_query admin".  When this is on, the query RPCs that
    are not needed for normal cache manager operations are restricted
    to administrators listed in UserList.  This is off by default.
    
    Change-Id: I2a23a4e99cabd46b19ed491a6520773731a5994e
    Reviewed-on: http://gerrit.openafs.org/10927
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7206d4088d823bf535aaddef49dab1653a43a0fe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 17 09:31:18 2014 -0400

    uss: add missing include
    
    Fix a build error when configured with --enable-uss. The
    added include defines the VolumeId which is needed by
    the volser.h.
    
    Change-Id: Ifbdaadf4de726ff1da54e93ba47124c5b5eb9cfb
    Reviewed-on: http://gerrit.openafs.org/11084
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b9979e1a23ce28b20fe95d5e6042b9b15506c993
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 9 11:43:35 2014 -0400

    aklog: double get_credv5 in retry logic
    
    Fix a bug where get_credv5() is called twice, even if the first one
    succeeded, in the aklog retry logic.
    
    (This bug uncovers another bug where get_credv5_akimpersonate
    crashes in the krb5 libs when get_credv5 is called back to back.)
    
    Change-Id: Ie6cac3b4522946c87c30ad3cd6939738234800bf
    Reviewed-on: http://gerrit.openafs.org/11133
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3946b50a7ecdfd34681ab471863929b2f82aff4b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 15 12:30:19 2014 -0500

    doc: Clarify some BosConfig.new text
    
    It is not always clear to users whether BosConfig.new is noticed
    during an automatic restart, or if it requires stopping and starting
    the bosserver. Slightly reword the relevant text and add a small note
    that a "general restart" does cause BosConfig.new to be noticed, so
    this is explicitly clear.
    
    Change-Id: Iab3eaff176305b0b2991a6636e70204b5072b1b0
    Reviewed-on: http://gerrit.openafs.org/11076
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 72bc3848536cc71b8950e5619f5769f60a73f3ab
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 14 06:42:40 2014 -0400

    Windows: Restrict redir trace buffer to 10240KB
    
    Define macro AFS_DBG_LOG_MAXLENGTH to 10240 and then use it to
    enforce the 10MB trace buffer limit.
    
    Change-Id: I98b759d9f51d24d402bfdc56570c0f0de93926a0
    Reviewed-on: http://gerrit.openafs.org/11146
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ccb092c37802d300b6ec12d45f10bed42d2a5a59
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Mon May 12 21:50:48 2014 -0400

    Windows: Fix uninitialized variables
    
    VS2013 spotted two cases where we do not set up the
    Iosb.Status when we catch an exception from Cc.
    Fix them.
    
    Change-Id: I93b8a48863f22fd1dc2d7dba4d9de18454f35fe0
    Reviewed-on: http://gerrit.openafs.org/11140
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d075b0549d62e4a81b7543b9c2f5dac242074909
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Fri May 2 14:10:06 2014 -0400

    Linux: Prevent some fakestat data inconsistencies
    
    When fakestat is enabled for a mount point, the parent vcache
    entry is not the right place to find the DataVersion of
    the target volume root directory.  This can lead to data
    inconsistency since the revalidation checks rely on the parent's
    DataVersion to determine if a file entry is still valid.  If the
    file was replaced or deleted remotely, the only callback we
    get is for the parent directory, and in that case the client
    will think the file entry is still valid and give back stale
    data to the user.
    
    If fakestat is enabled and we have a mountpoint, always use
    the parent vcache pointer returned by FakeStat before using it
    to either store (in the lookup and create ops) or compare
    (in the revalidate op) the DataVersion.
    
    FIXES 131855
    
    Change-Id: I03c05c1dab39e663b74635700e80ba70861b1c2e
    Reviewed-on: http://gerrit.openafs.org/11118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit aad509a7e11432bbe8cf0a3a0adaa78d7f9c9da5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 8 09:06:07 2014 -0400

    Windows: cm_Analyze retries vs CM_REQ_NORETRY (2)
    
    Commit a1b5a1d42280753de13094006dcc130fede978a1 left out a critical
    part of the patch.  The check for "retry < 2" when determining whether
    retries should be skipped due to CM_REQ_NORETRY.
    
    Change-Id: I9b750e2bab11d28813447b2ee92287b8dcfbbba3
    Reviewed-on: http://gerrit.openafs.org/11131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a111d0db7768e0ab924f51666d626ddb3e25ca38
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 24 13:40:06 2014 -0400

    libafs: fix lock leak during shutdown
    
    afs_getattr returns EIO when afs is in the process of shutting
    down.  Be sure to unlock the locks taken before returning.
    The bozon lock leak has been present since IBM AFS.
    
    Change-Id: Id3e330c458996abf1519de6364060cc0b8828e6a
    Reviewed-on: http://gerrit.openafs.org/11096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d9e14a08129cc70a3baca67c2c1adb8aba5945a2
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Sun May 4 14:33:11 2014 -0400

    Windows: Adjust Last Write time handling for -1
    
    The "what date/time gets changed when and by whom" in Windows is badly
    defined, but all filesystems support the semantic that if a date is set
    using a specific file object (or the timestamp is set to the magic number
    -1)
    then other changes provoked by that file object will be ignored.
    
    AFS redirector timestamp handling does not support this behavior.
    For the LastWrite timestamp (other timestamps are pretty much advisory and
    maintained on a best effort basis) the timestamp would be updated by a
    write operation even after -1 is set via the file handle.
    
    This patchset implements the -1 behavior for LastWrite.  It also follows
    the standard Windows practice of setting the LastWrite timestamp to be the
    time of close of the handle that performed the write, not the time of the
    write itself.
    
    Finally, it should be noted that since RX*FS_StoreXXX operations update
    the last write time on the server the client must restore the LastWrite
    timestamp at handle close if -1 was specified.
    
    Change-Id: Ica0c566fabb6b3046eb51f827402d622190daea8
    Reviewed-on: http://gerrit.openafs.org/11110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a1f5a9d72f795023813c116329cd40dec3bd43af
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 21 05:44:41 2014 -0500

    Windows: RDR AFSSubtituteName invalid UNICODE_STRING
    
    The 'ComponentName' parameter to AFSSubstituteName() is a UNICODE_STRING
    pointer.  Its address should not be passed to AFSDbgTrace when used
    in conjunction with a %wZ format.
    
    Change-Id: I12ead951b1ae376e42da12b21e32f65e736375ab
    Reviewed-on: http://gerrit.openafs.org/11090
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9c10c202f1f2e516dde8b70c3a3b69a73d163070
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sun May 4 05:30:25 2014 -0400

    Fix buffer length validation in ktc_GetToken and knfs
    
    The signed int tktLen is checked against a maximum size, then passed
    as the unsigned size_t argument to memcpy.  So we need to make sure it
    isn’t negative.
    
    This doesn’t appear to be exploitable: tktLen comes from the kernel,
    which should have previously validated the length within the SETTOK
    pioctl.
    
    This bug was found with STACK <http://css.csail.mit.edu/stack/>.
    
    Change-Id: I781bd300cad3d725d3517e7f6ac9e6423c417087
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/11109
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 279345c231d0a2d9f6e8c2f76a5347bafd40e70b
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Wed Mar 6 13:53:29 2013 -0700

    doc: recommend cleanup steps in "vos convertROtoRW" man page
    
    vos convertROtoRW leaves the older RW copy on the original fileserver,
    although it is no longer in the VLDB. Provide the user with some hints
    regarding clean up.
    
    Change-Id: I5f6fcf7d5a516b59438d84e60f163a567d3a64fd
    Reviewed-on: http://gerrit.openafs.org/9408
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit c91b2a119a72a2293d9e9ffe5bd97c70d0c22eee
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Dec 9 14:54:18 2013 -0500

    Fix typo in rfc3961 namespace-cleaning
    
    Change-Id: If93119ce4345ab8d1eccb9df7196b1681d2762cb
    Reviewed-on: http://gerrit.openafs.org/10550
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 074d745a02d80bfd2c16a4e2b7b4222022f8e641
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Apr 7 17:55:09 2014 -0400

    vol: Fix build with separate objdir
    
    The volscan-main and volinfo-main source files are in the source
    tree, not the object tree; refer to the objects in the Makefile
    as dependencies, so that they will be picked up properly.  The
    objects will be made just fine by the implicit .c.o rule.
    
    Change-Id: Ieec4b32cfbe5d260e1560a08d4ed8162720f9222
    Reviewed-on: http://gerrit.openafs.org/10988
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 279e01051600f0884ed3669786543578e53cf518
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Apr 22 11:38:44 2014 -0400

    linux: make reading unixusers from proc actually work
    
    our indentation did not match our braces so we would never read all the
    objects in each unixuser hash chain. add the missing braces
    
    Change-Id: I001b55f0d43639124b06758095664a31e8230db6
    Reviewed-on: http://gerrit.openafs.org/11094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bd2137018c87d864ef842aa941b67d4e53bd5300
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 17 12:48:30 2014 -0500

    NetBSD: fix rx_kmutex's CV_WAIT_SIG macro
    
    Change-Id: I6550f5c71bafe03290c1dbda545ff3feea01a805
    Reviewed-on: http://gerrit.openafs.org/11088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit dd8d2aa871fc5841c281d1292c39ffb8edf1ebd1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 4 16:42:36 2014 -0400

    Windows: Deny writes/truncation to files w RO attr
    
    If the readonly file attribute is set on a file, refuse to process
    writes, truncations or overwrites.   The afsd_service will do so
    and this can lead to data corruption.
    
    At the same time, writes from the redirector to afsd_service must
    not be denied because of the readonly attribute.  That check was
    performed during the CreateFile.   Otherwise, a new file can be
    created with the readonly attribute and then not be writable.
    
    Change-Id: I921a11eb8c1a3e642d60c23fc905b3febc0f0761
    Reviewed-on: http://gerrit.openafs.org/10985
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e24ed842eba54f62105b08d2b9fb281cc19519f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 12 12:49:40 2014 -0400

    Windows: NP Fail requests if AFSGetAuthenticationId fails
    
    If during the processing of a network provider request the Logon
    Session AuthenticationId is zero and the AFSGetAuthenticationId()
    function is unable to obtain the current thread's AuthenticationId,
    then fail the request.
    
    Change-Id: If2aeba836d762f4f1b982d954fac720863a05c1f
    Reviewed-on: http://gerrit.openafs.org/10900
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 70299e6c3def0b84520232c02b9071c9cbf8a851
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 15 12:19:21 2014 -0400

    Windows: Fix AFSSetBasicInfo attribute processing
    
    The prior behavior of AFSSetBasicInfo() was to let the caller
    set whatever it wanted as the new file attributes regardless of
    the attributes that are supported by AFS.  In doing so, reparse
    point and directory attributes could be cleared, and other values
    could be set even though they would be lost as soon as the
    DirectoryCB object was garbage collected.
    
    New behavior:
    
    1. return STATUS_INVALID_PARAMETER if reparse point attribute
       would be altered
    
    2. return STATUS_INVALID_PARAMETER if directory attribute would
       be altered.
    
    3. successfully modify readonly attribute
    
    4. ignore all other attribute values
    
    Change-Id: Ic678960101ef99cdad0c0e84b21c9d65c6831ca8
    Reviewed-on: http://gerrit.openafs.org/11073
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a4bcc4b1dccf6ab2745be83288c380f5454a2db9
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Mon Apr 14 16:50:36 2014 -0400

    Windows: Pin write position prior to defer
    
    If we extend the file prior to defrring the write *and* the write
    is set up FILE_WRITE_TO_END_OF_FILE then we have to convert the
    FILE_WRITE_TO_END_OF_FILE to an absolute position since we have
    already moved the FCB->Header.FileSize.
    
    Change-Id: Ibe1a5d616490a3db152818cbd6bb24d5af251c5f
    Reviewed-on: http://gerrit.openafs.org/11069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 564f9fd06777882abd29a0da6274150f5b1e7d7f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 14 16:48:32 2014 -0400

    Windows: AFSCommonWrite add bWriteToEndOfFile var
    
    To improve readability add a bWriteToEndOfFile variable which
    stores the value of
    
      liStartingByte.LowPart == FILE_WRITE_TO_END_OF_FILE &&
      liStartingByte.HighPart == -1
    
    Change-Id: I6594196a6c8c3ab41561ffdbd3eddf3d34b410de
    Reviewed-on: http://gerrit.openafs.org/11068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 41b865212b7576c0840bfc0f7c34c900e46f41c8
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Mon Apr 14 16:45:37 2014 -0400

    Windows: Do not defer Synchronous operations
    
    There is nothing to be gained by posting a synchronous write.
    Let it hang out in CcCopyWrite until there is enough memory
    unless the write became synchronous after a deferral in which
    case it can be deferred again.
    
    Introduce bWait variable which is set to the result of
    IoIsSynchronousWrite( Irp).
    
    This change is being introduced after further analysis of the
    FastFat example.
    
    Change-Id: I0942975a142b0413e52076ee94977401c1d00dc9
    Reviewed-on: http://gerrit.openafs.org/11067
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fe706913190acf176292e8c68d0a0adfc015f487
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 11 10:22:45 2014 -0400

    Windows: No RO volume test SetFilePosInfo
    
    Setting the file position information on a file is not a data
    changing operation.  Do not perform a readonly volume check.
    
    Change-Id: I5dccff569b39187c2891d4339f18db8c54c029a7
    Reviewed-on: http://gerrit.openafs.org/11066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a10696d9408b0ac21f8a011fce0a6a72b1c0fe0e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 13:50:11 2014 -0600

    Fix rx_EndCall error precedence
    
    Callers of rx_EndCall in various parts of the code handle errors a bit
    differently from each other. The correct way to use rx_EndCall is
    almost always some form of:
    
        code = rx_EndCall(call, code);
    
    This will cause the call to abort with 'code' if the call is not
    already aborted, and will return the abort code for the call (or 0 if
    the call ended successfully). It is thus impossible for 'code' to
    start out with a non-zero value in the code snippet above, and end up
    with a value of 0 after the code snippet.
    
    Most code follows this pattern, because this is how the
    rxgen-generated client RPC wrappers are written. So for any non-split
    Rx call, this is how the error precedence works.
    
    However, some code (mostly for Rx split calls), needs to handle
    calling rx_EndCall itself, and some code appears to think it is
    possible for rx_EndCall to return 0 when we already had a non-zero
    error. Such code tries to ensure that we don't ignore an error we
    already got by doing something like this:
    
        code2 = rx_EndCall(call, code);
        if (code2 && !code) {
            code = code2;
        }
    
    However, this is not correct. If a call gets killed with an abort code
    partway through executing an RPC, and the client tries to end the RPC
    with e.g. EndRXAFS_FetchData, the client will get an error code of
    -451 (RXGEN_CC_UNMARSHAL). The actual error code is in the abort code
    for the call, but with the above 'code2' snippet, we can easily return
    an error of -451 instead, which will usually get interpreted as some
    unknown network-related error.
    
    This can manifest as a problem in the unix client, where if a
    FetchData call fails due to, for example, an "idle dead" timeout, we
    should result with an error code of RX_CALL_TIMEOUT. But because of
    the above issue, we'll instead yield an error of -451, causing the
    server to be marked down with the following message:
    
        afs: Lost contact with file server ... (code -451) ...
    
    So, fix most rx_EndCall callers to follow the 'code = rx_EndCall(call,
    code);' pattern. Not all of the changes here are to "wrong" code, but
    try to make all of the rx_EndCall call sites look more consistent.
    There are a few exceptions to this pattern, which warrant some
    variations:
    
     - A few instances in src/WINNT/afsd/cm_dcache.c do seem to want to
       record the original error before we ran rx_EndCall, instead of
       seeing the rx abort code. We still return the rx_EndCall-returned
       value to the caller, though.
    
     - Any caller of RXAFS_FetchData* needs to read a 'length' raw from
       the rx split stream. If this fails, we need to abort the call, but
       we don't really have an error code to give to rx_EndCall. Failure
       to read a length indicates that the server is not following
       protocol properly, so give rx_EndCall RX_PROTOCOL_ERROR in these
       instances. The call should already be aborted by this point, so
       most of the time this code will be ignored; it will only make a
       difference if the server tries to end the call successfully without
       sending a length, which is indeed a protocol error.
    
     - Some Rx clients can encounter a local error they don't want to send
       to the server via an abort, so they just end the call successfully,
       and only use the rx abort code if they don't already have a local
       error. This is in a few places like src/butc/dump.c and
       src/volser/vsprocs.c.
    
     - Several places don't care what the error from rx_EndCall is, such
       as various call sites in server-side code.
    
    The behavior of the Windows client w.r.t rx_EndCall was changed a bit
    into its current behavior in commit
    a50fa631cad6919d15721ac2c234ebbdda2b4031 (ticket 125018), which just
    appears to be wrong. This was partially reverted by commit
    ae7ef5f5b963a5c8ce4110a7352e0010cb6cdbc1 (ticket 125351), but some of
    the other call sites were unchanged. The Unix client appears to have
    been doing this incorrectly for at least FetchData calls since OpenAFS
    1.0.
    
    To make it hopefully more clear that rx_EndCall cannot return 0 if
    given a non-zero error code, add an assert to rx_EndCall that asserts
    that fact.
    
    FIXES 127001
    
    Change-Id: I10bbfe82b55b509e1930abb6c568edb1efd9fd2f
    Reviewed-on: http://gerrit.openafs.org/10788
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d820af6cd0eb1c6655ecf8e210294791825cfbad
Merge: ad71d031ec21 bd2cc32da969
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 9 14:10:09 2014 +0100

    Merge branch 'security-master' into HEAD
    
    Merge fix for OpenAFS-SA-2014-001 into master, along with the fix
    for the RX denial of service issue.
    
    Change-Id: I499e7202c9278d21f2d8628d497755e6c593abb2

commit ad71d031ec219ca418303bea3f37e40f59dde05d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 12:59:59 2014 -0400

    readme: remove ancient build notes
    
    Remove the ancient and unmantained src/BUILDNOTES readme file.
    
    Change-Id: I652fded2526dbe97f6f87ef7263a2b39038486d5
    Reviewed-on: http://gerrit.openafs.org/10971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit e385571ba37fa6d43fecca17e9e5d60a22a414cd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 27 18:12:41 2013 -0500

    afs: Raise fake free space reporting
    
    We report 'fake' values for free space, free file nodes, etc for the
    'AFS' filesystem, since these values are not meaningful for AFS
    itself. Currently we report about 9G of free space for most platforms,
    and a few different values for a few others. Raise all of these to
    2^32-1, so that trying to copy over 9G of data into AFS does not fail
    for those applications that check the destination free space with
    statfs(2). Note that one such application is KDE 4.8.x.
    
    Consolidate all places that do this, and put the 'fake' value in one
    place, AFS_VFS_FAKEFREE, along with the relevant comments.
    
    Related issues reported by Lars Schimmer, Richard Brittain, and
    others.
    
    Change-Id: Ia15175da32744e11f62489c29bedfe1f5560d2b4
    Reviewed-on: http://gerrit.openafs.org/9688
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Markus Koeberl <markus.koeberl@tugraz.at>
    Tested-by: Markus Koeberl <markus.koeberl@tugraz.at>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit be236140f72fc51e111898abc896f93cc505fac7
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Apr 3 14:12:38 2014 -0400

    rx: Remove rx_waitingForPacket
    
    Commit f43c2f4412d670ce1131dc429cb43302352df3e4 introduced
    rx_waitingForPacket.  Given its current usage, I can't see any
    functionality.
    
    It looks like this might have been the result of merging a renamed
    rx_waitForPacket from another development branch?
    
    Change-Id: I47fc7a2b25cbfcd59ea4ad1606b734bb9d4ceecc
    Reviewed-on: http://gerrit.openafs.org/10981
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1b2802b6fbe6f1b6d8d5af08c114bdc182f11779
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 26 10:25:13 2014 -0400

    pts: Don't assume that pr_IdToName() was successful
    
    If pr_IdToName fails for some reason, tnames won't be available.
    
    Change-Id: I5270ba0ecf3cfad9bfb909c97b27473d96ca1307
    Reviewed-on: http://gerrit.openafs.org/10952
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit cc4e292174f36868008d35df63df57543f033ee4
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 26 10:15:10 2014 -0400

    ptserver: Optionally restrict anonymous access to the ptserver
    
    Currently, one could simply query from 0 to 'pts listmax' to determine
    all the usernames in a cell.  The -restrict_anonymous option will block
    access to almost all of the unauthenticated RPC's.   PR_NameToID is still
    open since aklog still needs access to this RPC.  An "attack" against
    this RPC would have to scan a much larger key space to determine valid
    usernames in a cell.
    
    Change-Id: I7e475bc004f08d28d195c199804befa89f0ceb0c
    Reviewed-on: http://gerrit.openafs.org/10951
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Gergely Risko <gergely@risko.hu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 972585c24b5c193a982570ff9264a1971760f48f
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Mar 28 16:46:32 2014 -0400

    afs/VNOPS: reduce stack usage
    
    AFSFetchStatus is rather large and is in the stack twice.  Allocating with
    osi_AllocSmallSpace will save about 160 bytes of stack.
    
    Change-Id: I13ac31814d9d5975f245ba8c66a7befac471503e
    Reviewed-on: http://gerrit.openafs.org/10964
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bd2cc32da969abe57334d20563d5cddf065a905e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Feb 15 12:03:43 2014 -0500

    viced: fix get-statistics64 buffer overflow
    
    Range check the statsVersion argument of the GetStatisitics64 RPC to
    avoid a buffer overflow in the fileserver, or a huge memory allocation,
    by a rogue client.
    
    FIXES 131803
    
    Change-Id: Ib084ca28cbe350d846fa5978d489e523aaae299b

commit 0ec67b0a9a175af14e360da75d1f5429c6c97b24
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 21 15:30:49 2014 -0600

    rx: Avoid rxi_Delay on RXS_CheckResponse failure
    
    Currently we rxi_Delay whenever RXS_CheckResponse fails for any
    reason. This can result in disastrous performance degradations if a
    client keeps sending "bad" responses, since rxi_Delay'ing here will
    delay the Rx listener thread. This means we cannot receive any packets
    for about a second, which can easily cause us to drop a lot of
    incoming packets.
    
    Instead, send the abort after 1 second by scheduling an event. This
    will retain existing behavior from the point of view of the client
    (it will get the abort after 1 second), but avoids hanging the Rx
    listener thread.
    
    FIXES 131802
    
    Change-Id: Id8f9fc46902ae3cf019dd0ece0a96133b9b9d07c

commit 61d80537cae95d125c4b9fed31e2454a281b8b02
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 21 15:26:35 2014 -0600

    rx: Split out rxi_SendConnectionAbortLater
    
    Take the functionality in rxi_SendConnectionAbort that schedules a
    delayed abort, and split it out into a new function,
    rxi_SendConnectionAbortLater. This allows callers an easy interface to
    send such a delayed abort with their own delay.
    
    This commit should incur no change in behavior; it is just code
    reorganization.
    
    Change-Id: I6503cf6ebb3e664d95b8792f2311ea14ee63c11d

commit db00a2c8b5186c003fc049b8ae6eda97f58ffcea
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Mar 28 09:19:30 2014 -0400

    Disable kauth by default
    
    We should actively be discouraging the use of the kaserver and related
    utilities.
    
    The src/kauth/ directory will still be compiled, just not installed.
    (If we stopped compiling it, it would likely bitrot very quickly so
    as to become unbuildable, and having it still build seems a reasonable
    goal given our obligations with respect to compatibility with IBM
    AFS for the use of the AFS name.)
    
    Change-Id: Ib710af3e177223d85cd9c6099ce75e700b6a2958
    Reviewed-on: http://gerrit.openafs.org/10962
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e6110959e802bd9ae60e3724ba41078e7b335bab
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 28 17:08:46 2014 +0100

    volser: fix spurious strcat of volume extension.
    
    Fix malformed merge error left over from
    commit 4f9ec8396d1c7f12f8fa264cea7c255ce62b7b8d
    where we converted strcat to strlcat.
    
    Change-Id: Ibae3e09c8a659f4b084256b18ee5774f11fe9f8f
    Reviewed-on: http://gerrit.openafs.org/10963
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 70f825bcd2de3eab9d0c62079318a215f8728cd6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 27 09:24:16 2014 +0100

    viced: disable hot threads
    
    Turn off the rx hot threads feature in the file server.  This feature
    was an old optimization intended to reduce context switching, however
    generally makes performance worse on modern hardware.
    
    Performance improvements from disabling hot threads was identified by
    Simon Wilkinson (YFS) at the European AFS and Kerberos Conference (EAKC)
    2014 at CERN.
    
    Change-Id: Id3053a61ebdb2d49d2bf36ebe07a35cc07b5d65c
    Reviewed-on: http://gerrit.openafs.org/10957
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit da549eea21941681c075796512a27a830259c835
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Wed Mar 12 10:47:17 2014 +0100

    doc: bos setrestricted -mode 0 does make sense
    
    Commit 070230ab76e1df338db3f2a7971111ca976a0c1a added documentation of
    the mode parameter to bos setrestricted, claiming that the value 0 is
    useless, and commit eee0bf5871944d919951cc8b7b4908ee909c3b62 added
    documentation of the restrictmode entry in BosConfig, claiming that it
    can only be set back to 0 with an editor. Both claims are wrong, since
    bos setrestricted -mode 0 will do exactly that (if it succeeds, which
    it only can if the server is running in unrestricted mode, which can
    be achieved by sending it the FPE signal). Fix the man pages
    accordingly.
    
    Change-Id: I07b75f7d0cea2e247fa4f346121de258e35119f5
    Reviewed-on: http://gerrit.openafs.org/10885
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    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: D Brashear <shadow@your-file-system.com>

commit 0e9bb718ce231ffd73fe11810d8dc1d3902e4b2d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 26 11:42:16 2014 -0600

    viced: Restore some previous log message language
    
    Before commit 6c41b1f740e16b5b9adfe9026630595be6f0699e, we logged
    these three messages in the fileserver in different situations:
    
      CallPreamble: Couldn't get client.
      CallPreamble: Couldn't get CPS. Fail
      CallPreamble: couldn't reconnect to ptserver
    
    After commits 6c41b1f740e16b5b9adfe9026630595be6f0699e and
    0a5e878aa0a71c4dfaef1806744ed78bcc13b9f4, these messages were changed
    to contain more useful information, but the language was also changed.
    The messages now look like:
    
      Client host too busy while handling request from host %s:%d viceid %d fid %lu.%lu.%lu, failing request
      Cannot get CPS for client while handling request [...], failing request
      Cannot reconnect to ptserver while handling request [...], failing request
    
    While the new messages are more informative, and (in my opinion)
    better describe what is happening in those situations, they do look
    very different from the old messages. This can break scripts that try
    to parse these logs, but in general it is also not clear to
    administrators that these messages still refer to the same events.
    
    So instead, put these messages back the way they were. Still include
    the extra information, of course, but revert the language to look more
    like the old messages. Now we log:
    
      CallPreamble: Couldn't get client while handling request from host %s:%d viceid %d fid %lu.%lu.%lu, failing request
      CallPreamble: Couldn't get CPS while handling request [...], failing request
      CallPreamble: couldn't reconnect to ptserver while handling request [...], failing request
    
    Thanks to Ben Kaduk for bringing this up.
    
    Change-Id: Ie2389fb598640d79f0f0725c3161c7af7924ffb4
    Reviewed-on: http://gerrit.openafs.org/10857
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit a30b98c97d6fbf87018bcb6943e09c1c75a3918d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 13 12:40:17 2014 -0400

    doc: volscan man page
    
    Provide a man page for the volscan utility
    
    Change-Id: Ibaecb2b9030ee71d81f13b897694c4cf3b4b9516
    Reviewed-on: http://gerrit.openafs.org/10905
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit af2e3d81cff39ed06e3bfbfcbfff52163c503c54
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 12 15:15:32 2014 -0400

    volinfo: separate volscan binary
    
    Refactor vol-info.c into several files and change the makefile to
    build a separate volscan binary, instead of using the program name
    to determine if the user is running volinfo or volscan.
    
    This commit adds new source files for the volinfo and volscan main()
    function and a common header file.
    
    Change-Id: I53a2a503812237a850170c39c81ee3fb56c8282e
    Reviewed-on: http://gerrit.openafs.org/10903
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 77e4d2146e166c5c70d4255408bde5e6499a06bf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 12 09:37:59 2014 -0400

    volinfo: refactor global options
    
    Move the global options to a structure and pass it to the vol-info
    functions. This is a precursor for creating separate volinfo and
    volscan programs.
    
    Change-Id: I86ea9e875f73831e6c7ea4b50591e31df3e0c39f
    Reviewed-on: http://gerrit.openafs.org/10902
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 8119636976de651ff0b8ccdca6a1a703643f7447
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 15 11:04:31 2014 -0400

    volscan: hide -mask option
    
    The -mask option is unneccessary and sets a bad precedent, so
    deprecate and hide this option. The vnodes of interest can be found
    can be found easily and much more flexibly with a simple command
    pipeline.
    
    Change-Id: Ibe75928c6b041d135c0cb5867228947cd7f4e889
    Reviewed-on: http://gerrit.openafs.org/10901
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit db2ed13359ce8e3cd6a4981f8ce8e10ba61f6463
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 4 15:10:16 2013 -0400

    volscan: avoid printing null mount-point cellname
    
    The 'mcell' field is null when there is no cell set in the mount point,
    so do not try to print it.
    
    Change-Id: I363310665313f7bbcca783a4d9be87aaa7b0a8fe
    Reviewed-on: http://gerrit.openafs.org/10226
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit dfd416440670d6a14496d44996097d4f501947ca
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 17:34:21 2014 -0500

    aklog: those pesky assignments in conditionals
    
    This one should actually be an assignment, and the compiler warning
    for having two sets of parentheses is helpful.
    
    Found by clang on FreeBSD 10.0.
    
    Change-Id: Ic906cbdc50a20bcd0b91555581b60c518da2bc81
    Reviewed-on: http://gerrit.openafs.org/10823
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b9fb9c62a6779aa997259ddf2a83a90b08e04d5f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 16:11:49 2014 -0500

    pioctl.c: removed unused variable
    
    The 'rval' variable is only actually used in the LINUX20 case;
    adding another conditional block is making the LINUX20 case
    different enough that it should get split out entirely.
    Doing so lets the 'else' clause be simpler.
    
    Found by clang on FreeBSD 10.0.
    
    Change-Id: I60c56af355fdb68752d9596ff2cd7a4259b43fe9
    Reviewed-on: http://gerrit.openafs.org/10819
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 8beba712d95b637225f215534a759961ff4d80a9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 7 06:55:31 2014 -0800

    fs: display cell not available on ESRCH
    
    The cache manager pioctls abuse ESRCH to represent errors due to
    unavailable cell information.  Give a more sensible error message to
    the user when a pioctl returns an ESRCH error, instead of "no such
    process", which is the conventional meaning of ESRCH.
    
    The new error message is consistent with the Windows implementation
    of fs.
    
    For example, on a host with a misconfigured ThisCell and/or CellServDB.
    
        $ fs wscell
        fs: No such process
    
    becomes:
    
        $ fs wscell
        fs: Cell name not recognized.
    
    Change-Id: Ibdcb0957118205b9540cae07b3cafa65c51ff497
    Reviewed-on: http://gerrit.openafs.org/10824
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 3db647e327bbb4621f4d66f85678424471453703
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 6 10:50:56 2014 -0500

    libafs: allow bkg daemon requests without creds
    
    Make the creds argument optional for background daemon
    requests which do not need to pass a cred.
    
    Change-Id: Ic4ac69d746e8a84993069e37bdd0440622febd70
    Reviewed-on: http://gerrit.openafs.org/10880
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit d07fb827a6d142142216b3effd32814cd721cc06
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 8 14:30:27 2014 -0500

    libafs: afs_SetupVolSlot function
    
    Move the code block to get and setup volume slots out of
    afs_SetupVolume to a new local function called afs_SetupVolSlot.
    This new function acquires the afs_xvolume lock and releases it
    before returning.
    
    Change-Id: I1bd33f13e0525f9ff050d7e161cf29a511e5c4b8
    Reviewed-on: http://gerrit.openafs.org/10879
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit bbda24f9d324493e3f59c216a465fb2383d8f557
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 8 12:35:23 2014 -0500

    libafs: put volume disk cache i/o in afs_UFSGetVolSlot
    
    Move the reading of the volume items file to the afs_UFSGetVolSlot()
    to make it more clear the volume items file is not accessed when
    memcache is in effect.
    
    This changes the afs_GetVolSlot to return an intialized volume slot,
    if one can be gotten.
    
    Change-Id: I0c76ca8c8e1cc19677ce950bfb454755bbbee86a
    Reviewed-on: http://gerrit.openafs.org/10878
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 75e3a5897405eeeba047cca1103ac32ccfaa03dc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 8 11:41:26 2014 -0500

    libafs: afs_InitVolSlot function
    
    Add a new local function to initialize newly gotten volume slots and
    move that code out of afs_SetupVolume().  Initialize the slot before
    putting the volume in the volume hash table list.
    
    Make it more clear to avoid using record 0. The volume items record 0 is
    not used, so avoid setting the tf pointer to the static fvolume buffer
    when reading record 0.
    
    Change-Id: Iffba52fbf8d72459c9a36015964e61d485f22ad4
    Reviewed-on: http://gerrit.openafs.org/10877
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit be36376b244d1d94b24cb8fce44810fb31b7b5ce
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 1 14:52:48 2014 -0500

    compile_et macros to generate source and headers separately
    
    Common makefile macros to generate headers and source files
    separately using the new compile_et -emit option.
    
    Change-Id: I5848922fbe1d94f9d3cec829a3ed657e7f63d191
    Reviewed-on: http://gerrit.openafs.org/10869
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 389473032cf0b200c2c39fd5ace108bdc05c9d97
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Mar 19 11:15:13 2014 -0400

    Linux: Do drop dentry if lookup returns ENOENT
    
    Commit 997f7fce437787a45ae0584beaae43affbd37cce switched to using
    d_invalidate instead of d_drop to prevent unhashing dentries
    which are only temporarily invalid and may still be referenced
    by someone having a current working directory pointing to it.
    This could result in getting ENOENT from getcwd() after some
    transient problems, even when the directory is there and
    accessible.
    
    The change had the side effect of potentially leaving something
    visible when it has actually been removed, for instance a mountpoint
    removed by "fs rm".
    
    If afs_lookup returns ENOENT, we want to forcibly drop (unhash)
    the dentry, even if it has current users.
    
    Change-Id: I0e7b6e09b2c4ae551fa6c84235ed31f7df476b45
    Reviewed-on: http://gerrit.openafs.org/10928
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 5cc3aec78a4329885b450c15ce228fa6fb413fdf
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Sat Mar 22 15:28:46 2014 -0400

    bcrypt keys are in the rxkad list, not the rxgk list
    
    Fix the presumed typo in the loop intended to skip them.
    
    Change-Id: I863fb12792b82d528938ad0598aa626880f11a41
    Reviewed-on: http://gerrit.openafs.org/10947
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 900427ecac4bde5ef78ae9fc86f9237552cc1dd4
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Mar 21 16:33:36 2014 -0400

    vlserver: Add auditing to some more RPC's
    
    A future commit will conditionally restrict access to these RPC's.
    Auditing will allow debugging and monitoring of this feature.
    
    Change-Id: Id8a8a1831c82ef967eb6cced1609915d1d6b774f
    Reviewed-on: http://gerrit.openafs.org/10939
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cc39ac77c6e8d120a41ffe67a60896463323ab31
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Mar 21 14:35:46 2014 -0400

    volser: remove commented code
    
    Apparently this predates AFS 3.0 so it should be safe to remove.
    
    Change-Id: Ifec145c71da4668066bf428fb594943dfce20e88
    Reviewed-on: http://gerrit.openafs.org/10935
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dc2a4fe4e949c250ca25708aa5a6dd575878fd7e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 14 19:38:50 2013 -0500

    vos: GetServer search for non-loopback address
    
    GetServer() is used to obtain an IP address for the 'aname' parameter.
    'aname' can be either a dotted address or a host name.   If it is a dotted
    address, it is returned immediately.  If it is a host name, then
    gethostbyname() is used to obtain an IP address.
    
    The prior version of this function had two failings:
    
    1. It assumed that a struct hostent only contained a single address.
       It used the former h_addr field.  For all platforms supported by
       OpenAFS h_addr is a macro referencing the first address in the
       h_addr_list array.  If h_addr was a loopback address, it would
       ignore any additional addresses that might be in the list.
    
    2. It assumed that if gethostbyname(aname) returned a loopback
       address as h_addr that 'aname' must be referring to the machine
       that the vos command is being executed on.  It therefore used
       gethostname() to obtain an alternate name to use for a gethostbyname()
       query.  The results of this query were not checked to be a loopback.
       As a result, a loopback address could be returned to the caller which
       in turn could be set into the VLDB.
    
    Change-Id: Ib8d513be9daf650045e9c40718b0187f6b9770a2
    Reviewed-on: http://gerrit.openafs.org/10585
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Harald Barth <haba+gerrit@kth.se>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b8589f1b59e520aae8d412170b663ff3bc214667
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 18 23:03:44 2014 -0500

    libadmin: add missing bubasics dependency
    
    bubasics is a dependency of libadmin. Add it to the top level
    makefile.
    
    This missing dependency was found by analyzing the libadmin header
    file includes.
    
    Change-Id: I300669387cea95a0fe800cffb4024356641591e6
    Reviewed-on: http://gerrit.openafs.org/10727
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 64dd6dd018eb7413636ed6416bd244bb81893d9e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Mar 11 12:40:33 2014 -0400

    libafs: reset global icl set pointers on shutdown
    
    Avoid panicking when an icl tracing function is called after
    shutdown_icl.
    
    There is a window during shutdown in which pioctls can be requested
    after the shutdown_icl is issued. Reset the global icl set pointers
    so tracing is disabled after the shutdown_icl, instead of using
    pointers to freed memory.
    
    Removed the unneeded afs_icl_FindSet calls and use the global
    pointers which were set during the initialization.
    
    Change-Id: I3310868a28850236a2870b8dab858ecb7a815c11
    Reviewed-on: http://gerrit.openafs.org/10884
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit cb4ec4e4952b40999013d4f67c0add6bf51ff286
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Mar 19 12:16:48 2014 -0400

    Make struct CallBack indentation uniform again
    
    Align the per-field comments.
    
    Change-Id: Ic9da32851c518b29e110fb80428a1f261bbd9cbf
    Reviewed-on: http://gerrit.openafs.org/10929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 705f3ee384814bc082817267a2658bd5c918550c
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Mar 10 17:21:21 2014 +0100

    volser: use also vn_length_hi in dump size calculation
    
    Only the low order 32 bits of the file length were used.
    Now using macro VNDISK_GET_LEN instead of direct FillInt64.
    
    FIXES 131819
    
    Change-Id: Iaecd68764f4b071d6b8c838362e7e657578d9b2f
    Reviewed-on: http://gerrit.openafs.org/10876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3a0c348d6ebc375f11d2bab70de9a00f5905fe94
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 15 11:31:27 2014 -0400

    doc: fix typo in volinfo man page
    
    Change-Id: I46e13bb879206fb561fe0f0d99a6ed412ab64629
    Reviewed-on: http://gerrit.openafs.org/10904
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit cb18fbde6536942e4bc87bd5943a13cc14fbe332
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Mar 14 11:13:15 2014 -0400

    libafs: DARWIN: update for Xcode 5.1
    
    (1) remove -mlong-branch from amd64 build
    
    Random internet postings suggest that it has triggered a warning
    since at least Xcode 3.2, and the gcc manual page suggests that
    it is only applicable on ppc, anyway.
    
    (2) remove -mpreferred-stack-boundary=4 from the amd64 build
    
    The evidence here shows up less readily in an internet search,
    but it seems that Apple's compilers will force the stack alignment
    to 16 bytes regardless of what is passed here.  One poster had
    trouble with -mpreferred-stack-boundary being unused in Xcode 4.4.1
    
    This change only fixes warnings reported as errors by buildbot; it
    does not attempt to fully synchronize with the flags that Xcode 5.1
    uses for kernel module builds.
    
    Change-Id: Iac1fcf3cdb5ab847a04278d1c05761bd371828e2
    Reviewed-on: http://gerrit.openafs.org/10896
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 52a9d1929518feab17b81b0a9db7ba45f69d5071
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Mar 13 16:37:10 2014 -0400

    Do not use garbage-collection for DARWIN ObjC apps
    
    Xcode 5.1 does not support this feature.
    
    Change-Id: I30457ae73f867637ab154b94d4a6c57089d9b48d
    Reviewed-on: http://gerrit.openafs.org/10890
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit 8832cd4e61f04fa5c650060e968bd7834afebd92
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Mar 13 15:33:44 2014 -0400

    Use correct include guard for vol_prototypes.h
    
    Correct the case of the 'h'.
    
    Change-Id: Ib78cbff02ac881aa54c46832db94094f7a74ff5f
    Reviewed-on: http://gerrit.openafs.org/10889
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3f189f8fe8cbb52aac4b7b5fe767d0de481cb569
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Mar 13 15:30:42 2014 -0400

    Remove static const char copyright[]
    
    We do not have copyright strings in our other executables for the other
    copyright statements applicable to them, so these are rather exceptional.
    They also cause build failures with OS X Xcode 5.1 and --enable-checking .
    
    Change-Id: I0ead56387f77459a49093ff66fdea9c033f02f5a
    Reviewed-on: http://gerrit.openafs.org/10888
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0aad06df1d25208659005192e8bbd872d5fb613b
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Mar 13 15:27:16 2014 -0400

    opr: removed the unused static_inline initnode
    
    This was included in the initial rbtree import, but is not used.
    
    clang from OS X's Xcode 5.1 now warns about this unused function,
    which is an error with --enable-checking .
    
    Change-Id: I896504e83be317394418a7cc1b3f518e675fbb5b
    Reviewed-on: http://gerrit.openafs.org/10887
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 62f922445d3501fff4320cc7c8d93b6cd1a6361e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 16 15:41:45 2014 -0400

    Windows: Platform specific MIDL output
    
    Add $(CPU) to the MIDL generated _c.c and _s.c output files
    to prevent conflicts.
    
    Change-Id: Ie10c85fa0b9cab19b107b44c2cf452925b8ee521
    Reviewed-on: http://gerrit.openafs.org/10907
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit faa5195fcfe1e202665462d273c00b900bf5ac17
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 15 12:44:09 2014 -0400

    Windows: XP do not mark rdr devices as secure
    
    Commit 9174531dca75f1f2d235ed806f784422792c3ab2 introduced the use
    of device characteristics (secure and remote) to the IoCreateDevice()
    and IoCreateDeviceSecure() calls for the AFSRedirector device objects.
    
    After this change end users began to report problems on 32-bit Windows
    XP SP3 when the initial access to the AFS redirector was performed by
    a Limited Access Account.
    
    This patchset conditionalizes the specification of the secure device
    characteristic when registering the redirector with MUP on 32-bit
    Windows XP.
    
    Change-Id: I0fb9671b8a05a841f2356d100e7031c961a7c482
    Reviewed-on: http://gerrit.openafs.org/10906
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 85b747fc549a46b2170c99ab4fb86326894210ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 12 12:41:45 2014 -0400

    Windows: NP AFSGetConnectionInfo AuthId == 0
    
    During the processing of a network provider GetConnectionInfo request
    if the provided Authentication Logon Session Id is zero, the redirector
    should attempt to obtain the Logon Session Id in kernel.  This was
    not performed within AFSGetConnectionInfo().
    
    Change-Id: Ia060abfdebc17e52eefac24ac9dc19a7d6434314
    Reviewed-on: http://gerrit.openafs.org/10899
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8a6732f9f6d876fc20f5612a4b325533d157d091
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 12 12:39:59 2014 -0400

    Windows: NP AFSGetConnection retrieve AuthId sooner
    
    When processing a network provider GetConnection requestion obtain
    the Authentication Logon Session Id earlier in the function so that
    it can be logged as part of subsequent trace messages.
    
    Change-Id: Ifef7d2da44e0266683b93bc76f25ee825294062c
    Reviewed-on: http://gerrit.openafs.org/10898
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 939784c017f065a2f4fce19b48cdde56ac4be83c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 10 05:13:37 2014 -0500

    Windows: AFSShareWrite do not assign pFcb too soon
    
    In AFSShareWrite the value of pFcb is used to determine whether
    or not the pfcb->NPFcb->Resource must be released upon exit.
    Therefore, it must not be assigned a value until just before the
    resource is acquired.
    
    Change-Id: I6951d91fcf672c8d236d19e075fff0be3552c9b8
    Reviewed-on: http://gerrit.openafs.org/10828
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 01a7c64e472c241798306e7f8137de28efdef37e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Feb 28 18:47:12 2014 +0100

    bozo: remove obsolete bnode_Deactivate() prototype
    
    Commit 54eb2485b59550ba42569ed3a8d76211a3a35019 removed the
    implementation of bnode_Deactivate(), which had been #ifdef'd out
    for a long time, but left the prototype in place. Remove the
    obsolete declaration in bosprototypes.h as well.
    
    Change-Id: I323a3f945fcab97d7c4db191192d3ef11482d64e
    Reviewed-on: http://gerrit.openafs.org/10868
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit eee0bf5871944d919951cc8b7b4908ee909c3b62
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Mar 7 11:03:36 2014 +0100

    doc: improve man pages related to bos restricted mode
    
    Mention the restrictmode entry and the commands for setting and
    querying it in the BosConfig man page, and add/fix cross references
    between the BosConfig, bos, bos_getrestricted and bos_setrestricted
    ones.
    
    Change-Id: I938ef4c43c1a248335f09975c454b36f7570782c
    Reviewed-on: http://gerrit.openafs.org/10874
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 89fdd9084fa31827dea487ddb68355d621170f58
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Wed Mar 5 21:53:16 2014 -0800

    cellconfig: move memcpy outside loop
    
    memcpy only needs to be done once prior to each entry into loop,
    so move it outside the loop.
    
    Change-Id: I68c09b240756f830b1a4dc9b8a338916f91cd7b2
    Reviewed-on: http://gerrit.openafs.org/10872
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 189a17146e789f2cf716ed3a477ed6f54776df12
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 6 11:42:52 2014 -0500

    doc: fix typo on ka-forwarder man page
    
    Change-Id: I9cedc1ee2c3fac249ad5b2c66c5e0eef6d5d570c
    Reviewed-on: http://gerrit.openafs.org/10873
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8803c35994eb48605e26831296bd1c57f0adf50a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 17 01:12:37 2014 -0500

    Windows: cm_ForceNewConnections serverp == NULL
    
    If serverp == NULL, return immediately.  Do not dereference a NULL
    pointer.
    
    Change-Id: I47781a03f22a83289a23b30ff375249fec18ff51
    Reviewed-on: http://gerrit.openafs.org/10845
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4e3ceaccd9dc2b6e6a20e938d82af1ebaa2c43c8
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Nov 21 10:44:05 2013 +0100

    redhat: don't package kpasswd
    
    While kpasswd was in the separate openafs-kpasswd package to avoid
    clashing with the krb5 executable, openafs-debuginfo still conflicted
    with krb5-debuginfo.
    
    Don't package kpasswd at all. Package the renamed executable, kapasswd,
    in openafs-kpasswd instead of openafs, together with the renamed man
    page. Once we're here, provide the man page for the other executable in
    there too.
    
    FIXES 131771
    
    Change-Id: I0d7af82072847a19f0e1ce34dbeeb34623d2ef38
    Reviewed-on: http://gerrit.openafs.org/10481
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 7a7ee20bb609ec0b23d36d2376ffc6eda58fa47b
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Feb 13 23:03:59 2014 -0500

    doc: Document dependencies required for building everything
    
    Add a new section to README.DEVEL that describes the packages required
    to build everything (including all optional code like the FUSE-based
    user-mode client).  Start with what I figured out for FreeBSD (tested
    on a clean 10.0 install) and what Russ Allbery described on the
    openafs-devel list in
    <https://lists.openafs.org/pipermail/openafs-devel/2014-February/019759.html>.
    
    Change-Id: Ib90cd653a822f8699df613aabdd3442edc10c98a
    Reviewed-on: http://gerrit.openafs.org/10844
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b7326e487f6387033282cc5d1128b00a0456673a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Wed Feb 5 18:32:16 2014 -0500

    afs_fetchstore: re-avoid uninitialized variable
    
    As noted in the gerrit comments for change 10742, commit
    baf6af8a8f2207ce39b746d59ca4bc661c002883 does not handle the case
    where the second rx_Read() call fails, and the 'length' variable
    can still be used uninitialized.
    
    Instead of using an err label and jumping to it on the case of
    errors, initialize length to zero and take care to neither
    set nor access *alength if an error has occurred.  This is
    more consistent with the style of the surrounding code while still
    avoiding the use of an uninitialized variable.
    
    Change-Id: I6abfa4a5f051368ca12ada1494fc7687f378d319
    Reviewed-on: http://gerrit.openafs.org/10806
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 63291be2216762dd89072f41c9a016608b736ceb
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 17:27:28 2014 -0500

    fstrace: only declare 'rval' when it is used
    
    ... to avoid compiler warnings about unused variables.
    
    Found by clang on FreeBSD 10.0.
    
    Change-Id: I30c9fbc0e2fb0f9af273f0f17861009b6d0577df
    Reviewed-on: http://gerrit.openafs.org/10822
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 53d7145416c0a6bafa7ecccd113178fc4af04f8f
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 17:01:19 2014 -0500

    FBSD: Switch the dummy 'data' for mount(2)
    
    The mount(2) API takes a void*, but 'rn' is const char*, which
    is const-incorrect.  Our vfs_cmount implementation ignores the 'data'
    parameter, but upstream's kernel mount(2) implementation did
    have a NULL check until r158611 (in the 6.1 or 7.0 timeframe),
    so leave that comment for now.
    
    Arguably we should be using nmount(2) instead of mount(2) anyway,
    but leave that for a separate patch.
    
    Change-Id: I22fd85c2f1a32aa849e182d263de119a953690d2
    Reviewed-on: http://gerrit.openafs.org/10821
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 758ec15f9391c296f1caa042385148f1a5e0bc84
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 16:22:49 2014 -0500

    pointers are not castable to unsigned int
    
    When printing a pointer's value for debugging purposes, use the
    dedicated printf format specifier for pointers instead of assuming
    that unsigned int ('x') is good enough.
    
    Found by clang on FreeBSD 10.0.
    
    Change-Id: I18c42df0bf03c2d0e9e7c757445b8ff0f616c671
    Reviewed-on: http://gerrit.openafs.org/10820
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a52346ae503dc6aedb5115ef6b089ae26f46a58c
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 15:52:49 2014 -0500

    Satisfy clang's aggressive strlcpy warnings
    
    Passing something related to the length of the source as the
    length argument to strlcpy triggers a warning, which is converted
    to an error with --enable-checking (on FreeBSD 10.0).  The current
    code is safe, since it is using the same expression that was used
    to allocate the destination buffer, but switch to using a separate
    variable to hold the length and use that variable for both allocation
    and copying, to appease the compiler.
    
    Change-Id: I580083d142fd19a4e7828c915b4846868fa8f917
    Reviewed-on: http://gerrit.openafs.org/10818
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit add4b8100e9b9624b6e03fa7d471367720ab062e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Feb 6 15:52:42 2014 -0500

    Remove unneeded inclusion of <sys/timeb.h>
    
    This file is deprecated on FreeBSD, and is not used anywhere.
    
    Change-Id: If10816f26da91855d10826d53501e5b9974cd292
    Reviewed-on: http://gerrit.openafs.org/10817
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3e4af71581fa8d174a0127bb225e7fba2450aaae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 22 22:17:56 2014 -0500

    Windows: cm_GetCell_gen Fixup cm_server cellp on race
    
    If a race occurs during the instantiation of a new cm_cell_t object,
    the created servers will point at the wrong cm_cell_t object after
    the race is detected.  Before cm_GetCell_gen completes the cm_server_t
    objects must be fixed to point to the correct cm_cell_t.
    
    Change-Id: I8341c2cfd2a8ac7be31699d11f78b4b9ced257af
    Reviewed-on: http://gerrit.openafs.org/10777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7760acc4570a306390f0b7e5acf4b21e8a8cc90d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 31 00:56:49 2014 -0500

    Windows: Support arbitrary callback ports
    
    Reconfigure the advanced firewall to support callback ports
    other than port 7001.
    
    This changes the semantics of the afsicf api.  AFS_PORTSET_SERVER is now
    zero.  Any other value is treated as a callback port.
    
    Change-Id: I4df421cc0ceb4dca94a6b5e81990115a4ce0334e
    Reviewed-on: http://gerrit.openafs.org/10776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd9e59805b37a93f0f64c67cfa3ba4d80f1f358c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 31 00:49:44 2014 -0500

    Windows: cm_AddCellProc always call cm_NewServer
    
    The current implementation of cm_NewServer handles races and
    collisions.  There is no need to perform a cm_FindServer() check
    first.  Just call cm_NewServer() for all server entries.
    
    Move the logging of server creation and cell assignment to
    cm_NewServer().
    
    Change-Id: If0cdb2eda9bcb6234eeaef7c2a35edf751a9c0ca
    Reviewed-on: http://gerrit.openafs.org/10775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1d1e96219205d83c73d92a68b8390346ef011ef0
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Feb 6 12:47:16 2014 -0500

    bos: Remove last of MRAFS references
    
    A few MRAFS tidbits were left behind during the cleanup in commit
    a9301cd2dc1a875337f04751e38bba6f1da7ed32.
    
    Change-Id: I7dcd30797ff87c61d57781c66cb9f7369638fa36
    Reviewed-on: http://gerrit.openafs.org/10808
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b490cfd240021d072a3fe8e2ec2a21f218baf5ae
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Fri Feb 7 12:37:57 2014 +0100

    libacl: use initialized memory
    
    Replace malloc with calloc to use zeroed memory when converting access
    lists.
    
    Change-Id: I17558d1737fee020772919e423c9fba37180beca
    Reviewed-on: http://gerrit.openafs.org/10815
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9f90b12e14e5511cb1c11cbc4d85cfa291be861f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 31 16:46:12 2014 -0600

    afs: Throttle byte-range locks warnings per-file
    
    Currently, the warning messages about byte-range locks are throttled
    only according to what the last PID of the locking process was. So, if
    that same process performs a bunch of byte-range locks a bunch of
    times, we log this warning message at most once every 2 minutes.
    
    However, if we have even just one other process also performing
    byte-range locks, the throttling can become pretty useless as
    lastWarnPid ping-pongs back and forth between the two different PIDs.
    This can happen if multiple unrelated byte-range-lock-using pieces of
    software just happen to be running on the same machine, or if a piece
    of software uses byte-range locks after forking into separate
    processes.
    
    To avoid flooding the log in situations like this, keep track of the
    last warn time in the relevant vcache, so we don't get frequent
    warnings for byte-range lock requests on the same file.
    
    Change-Id: I446cf6a438a75aa741c5543b93f74f4184ee6508
    Reviewed-on: http://gerrit.openafs.org/10796
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1096582bde6156bb469f2e397cbc40d13a8f2822
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 30 14:21:16 2013 -0500

    namei: Ignore misplaced files
    
    The namei salvaging/ListViceInodes code currently ignores files where
    we cannot derive an inode number from a given filename. However, if a
    file is a valid inode filename, but is in the wrong directory, we
    still record it. This can cause the salvager to abort, since it
    assumes inode e.g. 12345 is present, but when it tries to open 12345,
    namei translates the inode to a nonexistant path, and we bail out.
    
    It is unknown how a namei directory structure can reach this state,
    but try to handle it. To be on the safe side, just ignore the files,
    and log a message about them. That way, if the files are required for
    reconstructing the volume or contain important data, they are still
    available if needed. And if they contain incorrect or old data, we
    don't screw up the volume by trying to use them.
    
    Thanks to Sabah S. Salih for reporting a related issue.
    
    Change-Id: I529e0c51f48b5b7a62d6aab0470fad71788a5b69
    Reviewed-on: http://gerrit.openafs.org/10214
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 602e8eb2000be02ef2a6627633b7ba80ea847762
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 3 12:51:41 2013 -0500

    salvager: Handle multiple/inconsistent linktables
    
    The ListAFSSubDirs code in namei_ops.c currently detects
    incorrectly-named linktable files, and whines about them and says the
    salvager will handle them. However, the salvager doesn't really handle
    them, since we just use the first linktable we find (FindLinkHandle)
    without checking any of the information about it.
    
    So, check for these. Fix FindLinkHandle to only consider a linktable
    the "real" linktable to use if it actually matches the volume group id
    we're salvaging. Also delete any inconsistent linktables via the new
    function CheckDupLinktable later on.
    
    Note that inconsistently-named linktables have been known to have been
    created in the past due to a bug in the salvager (fixed by ae227049),
    and possibly due to other unknown issues.
    
    Change-Id: Iac461e1254e1f73406a2bc74eaa5a5f53d697304
    Reviewed-on: http://gerrit.openafs.org/10322
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 9fca71287d2c9730139a0472c6ee891603e72672
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Feb 15 16:58:16 2013 -0500

    vos: move convertROtoRW core logic to vsprocs
    
    Create new vsprocs routine UV_ConvertRO in preparation for adding
    new function to vos convertROtoRW.
    
    Change-Id: Ic66ecbf7cacb277891bec9f8783040995ce6ce17
    Reviewed-on: http://gerrit.openafs.org/9277
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit b78b7f0c3454be02048e4533ee26ef28dc8f78ff
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Fri Jan 31 17:01:06 2014 +0100

    RedHat: don't package manpages for binaries not included
    
    We don't package copyauth, aklog_dynamic_auth and rmtsysd.
    Omit their manpages too.
    
    Change-Id: I653e24be9ac258bcb1539bc773eebae728d6261b
    Reviewed-on: http://gerrit.openafs.org/10781
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 4f253106dc5d1a5280b0a5be393df0e87e00a661
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 31 16:40:35 2014 -0600

    afs: Include FID in DoLockWarning
    
    Provide the FID that is being locked when we warn about byte-range
    locks, so the user can find what file the process is trying to lock.
    
    Change-Id: I56a185c200ac73045ee29b79410e27222c2637f2
    Reviewed-on: http://gerrit.openafs.org/10795
    Reviewed-by: D Brashear <shadow@your-file-system.com>
    Tested-by: D Brashear <shadow@your-file-system.com>

commit c73883e7846fa0421cfac29830c27c9b6aacf5ed
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 31 16:36:44 2014 -0600

    afs: Refactor DoLockWarning
    
    Change DoLockWarning around a little bit, so subsequent changes are
    easier to follow. Move lastWarnTime/lastWarnPid so they are only
    usable within this function.
    
    This commit should incur no functional change.
    
    Change-Id: I5d25f64e9c088aecee0f0c46b6c401b2caa71ccb
    Reviewed-on: http://gerrit.openafs.org/10794
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: D Brashear <shadow@your-file-system.com>

commit 997f7fce437787a45ae0584beaae43affbd37cce
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Jan 30 13:50:37 2014 -0500

    Linux: When revalidating, don't drop in-use dentries
    
    The Linux client can get into a state where the current working
    directory is seen as "deleted" by some tools, while it is still
    there and accessible to "ls" and other tools.  This has been
    reported by several users and sites.
    
    One scenario that has been observed while debugging:
    - A process does a chdir() into a directory
    - This stores a pointer to the dir's dentry in the task structure
    - The server hosting the volume goes offline temporarily
    - The dentry for the directory is passed to afs_linux_dentry_revalidate
    - afs_linux_dentry_revalidate calls afs_lookup which returns an
    error (110 - ETIMEDOUT)
    - It then considers the dentry not valid, and calls d_drop()
    - d_drop unhashes the dentry unconditionally
    - Server comes back up, but dentry is still unhashed
    - getcwd() fetches the task structure pointer to the current dir
    dentry.  If unhashed, it returns ENOENT, and the vfs layer is
    not involved at all.
    
    At that point, many things won't work and there is no obvious way
    for the user to get the directory rehashed.
    
    Instead of calling d_drop directly, call d_invalidate instead, as
    it will only drop (unhash) the dentry if we're the only one holding
    a reference.  Since d_invalidate will also call shrink_dcache_parent,
    also remove that call from our code so it doesn't get called twice.
    
    Change-Id: I03e9872f6f9aebd28cdf6b833e14955edaa2527c
    Reviewed-on: http://gerrit.openafs.org/10774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3ef0bca9ac4705f29d429af6ce2951ad1d39def1
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Fri Jan 10 17:29:11 2014 +0100

    Log shutdown progress
    
    Shutting down fileservers with thousands of volumes can take a while and
    it is helpful for operations to actually see that there is progress when
    detaching volumes. This patch adds a log message to the fileserver log
    every time 100 volumes have been detached.
    
    Change-Id: I1685aa62335b223cf7cd3286188781318084c22f
    Reviewed-on: http://gerrit.openafs.org/10797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b39833048124030bc15526d116b504fd43e100bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 30 14:43:57 2014 -0600

    afs: Pay attention to fetchOps->destroy error code
    
    The ->destroy function in our fetchops could change our error code, or
    even raise a new error. Don't ignore it. This currently doesn't do
    much, since fetchDestroy currently won't change the error code if it's
    given an error, but this can change in the future.
    
    Change-Id: I6fa98cc709cb0fbd4c1e868ba4b9be53313573ff
    Reviewed-on: http://gerrit.openafs.org/10787
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3b5c636480cda73938a532ffd079ba040907f78f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 27 00:33:18 2014 -0500

    Windows: Add caching to cm_GetAddrsU
    
    Cache the results of VL_GetAddrsU queries and reuse the results
    for subsequent calls when possible.
    
    Change-Id: I7e2b086ec311208a46439588bc820a1929d2b2b9
    Reviewed-on: http://gerrit.openafs.org/10764
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 74982e6ae1919f81184d221b56aba7f153d188ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 27 00:30:20 2014 -0500

    Windows: cm_GetAddrsU wrapper for VL_GetAddrsU
    
    cm_GetAddrsU() is a wrapper for the VL_GetAddrsU() RPC.  The initial
    version is a bare bones replacement for the VL_GetAddrsU() call from
    cm_UpdateVolumeLocation().  Future changes will add caching.
    
    Change-Id: I7d51d98d8fd21b91f25424bdb795576ea44deab4
    Reviewed-on: http://gerrit.openafs.org/10763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 311505170d59360b3c3dd67f789f395b7278bbbe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 27 00:14:36 2014 -0500

    Windows: replace cm_allServersp list with osi_queue
    
    Replace the cm_allServersp list with an osi_queue.  This simplifies
    the Add/Remove functionality which will be required in case of VLDB
    server uniquifier changes.
    
    Change-Id: I6b118f2a27ee4bd2eb24011aae868865615eb09f
    Reviewed-on: http://gerrit.openafs.org/10762
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 335a70653adb59795f262663af3972de016c068d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 27 18:03:59 2014 -0600

    afs: Translate VNOSERVICE to ETIMEDOUT
    
    Some fileservers will kill calls that are taking too long with the
    VNOSERVICE abort code. Our logic for retrying calls is already aware
    of this usage, but if we cannot retry the call, we still just return
    VNOSERVICE as an error code to our caller.
    
    Don't return this raw, since has the same value as ENOBUFS, which can
    cause a confusing error message from logs or applications ("No buffer
    space available"). Return ETIMEDOUT instead.
    
    Change-Id: Ic16422585a10cda7f21646a27c92f690b131ce9b
    Reviewed-on: http://gerrit.openafs.org/10766
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>

commit e459f44efef8d102c54205556f65318d63fec24f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 26 17:17:44 2013 -0500

    afs: Fix afs_CheckCode identifier collision
    
    The last argument to afs_CheckCode should be unique so the call site
    can be identified if fstrace is turned on. BStore and BPartialStore
    were both using 43, so change BPartialStore to 430 to avoid the
    collision.
    
    Change-Id: I81a43ee41623fad10d0e70a7d9c8e6029aba30eb
    Reviewed-on: http://gerrit.openafs.org/10635
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 34e4a4fed356fbda9fc8ace1d01a080bd09238b0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 26 16:42:46 2013 -0500

    afs: Treat vc_error as a CheckCode-translated code
    
    The vcache field vc_error is generally treated as an error code that
    has been translated through afs_CheckCode, but this is inconsistent in
    a few places. Fix this in a few ways:
    
     - Adjust afs_nfsrdwr so we do not call afs_CheckCode on vc_error,
       translating the error code twice.
    
     - Change afs_close to store vc_error in code_checkcode, and have the
       logging code check for specific values in code_checkcode as well.
       Log unknown values of code and code_checkcode, so we can
       distinguish between e.g. a 'code' value of VBUSY, and a
       'code_checkcode' value of ETIMEDOUT.
    
    Change-Id: Iab4928efd183fb6c5b0b0f30375b9952ba13b45a
    Reviewed-on: http://gerrit.openafs.org/10634
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit d2084563648cc1e8ec697c61f593935a0b5804a3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 18 22:40:12 2014 -0500

    libadmin: add header file deps
    
    Add the missing header file dependencies to the library targets.
    This is needed for parallel make.
    
    Change-Id: I60d60e68ef808a62b4063a6106672f5178c1b605
    Reviewed-on: http://gerrit.openafs.org/10726
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 66093e4a2db297afea755d164cca7a6080909bda
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 22 13:36:54 2013 -0500

    libadmin: use INSTALL_DATA to export headers
    
    Use the INSTALL_DATA macro instead of cp to export
    header files.
    
    Change-Id: Ia460d8227f2fb2f594793a01c27f64ff7ce45273
    Reviewed-on: http://gerrit.openafs.org/10515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9b1ffeeeb62cd9535dc2fc1522400abb428a0ac2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 18 22:01:59 2014 -0500

    libadmin: makefile rule for afs_AdminError.h
    
    Add a makefile rule to export the libadmin afs_AdminErrors.h header
    file, instead of exporting afs_AdminErrors.h as a side effect of
    generating the afs_AdminBosErrors error table.
    
    Add the missing afs_AdminErrors.h dependency to the afs_utilAdmin.o
    dependency list.
    
    Change-Id: Ib8c7d22d705061615fb20a6a521dc20f0f1d6da0
    Reviewed-on: http://gerrit.openafs.org/10369
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9b105c5586a2e9c5c55dce7785e681f73ea0a759
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 18 21:56:36 2014 -0500

    libadmin: remove duplicate dependency
    
    afs_AdminPtsErrors.h was listed twice in the dependency
    afs_utilAdmin.o dependency list.
    
    Change-Id: I4bf37d0502e26e05f912a136045814e32de73c4a
    Reviewed-on: http://gerrit.openafs.org/10725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e39e226a13e38bfe0fb12b73633b6415c790c569
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Jan 19 14:15:13 2014 -0500

    tvolser: fix makefile clean target
    
    Remove generated source files with the clean makefile target.
    
    Change-Id: I1e7d06c217f63fb9ee749e23bca1531d22babdda
    Reviewed-on: http://gerrit.openafs.org/10724
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 31d6467aa058a2b49c22188dfb0ca70b766d127f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Jan 19 14:02:28 2014 -0500

    config: use the standard INSTALL_DATA makefile macro
    
    Replace the custom INST makefile macro with the standard
    INSTALL_DATA macro for installing and exporting files.
    
    Change-Id: I5d8c41d1c6d2c3ee021e0d6a5fbca8ef9178e74d
    Reviewed-on: http://gerrit.openafs.org/10723
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c8e83f0e826bc0a56321408b1c7a2afa137bab05
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 22 12:23:17 2013 -0500

    config: parallel-safe param.h makefile rule
    
    Generate the param.h.new temporary file in a parallel-safe
    way.  The rule to generate the three copies of param.h can
    run at the the same time under a parallel make, clobbering
    the param.h.new temporary file. Instead of creating this file
    inline, create a common rule to generate the temporary file
    once.
    
    Change-Id: I823b6a55f3168e991b64660bfe51303d43f693a9
    Reviewed-on: http://gerrit.openafs.org/10516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 52fe3f52de95b698c93ca5da3c1ed59447817610
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 22 11:50:11 2013 -0500

    libafscp: makefile install rule update
    
    Change the makefile install rules to install the header
    file from the libafscp directory, and not the top level
    include directory to make the install rules consistent
    with the rest of the tree.
    
    Change-Id: Ia06c29e72f7005569f2d11d3d0f6691413e0eeec
    Reviewed-on: http://gerrit.openafs.org/10514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9df43aacab0f311c15837b230761a11750f8b9cb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 1 17:26:33 2012 -0400

    comerr: compile_et -emit option for parallel make
    
    Add the -emit option to the compile_et command to support parallel make.
    
    The -emit option allows make to generate the header and the source files
    independently, instead of building two files at the some time.  This
    avoids the issue where one command creates two separate files, which is
    difficult to handle correctly for parallel makes.
    
    Change-Id: Ib44a8e358643cf19b4834b3bd4d5b88db6cd0ccf
    Reviewed-on: http://gerrit.openafs.org/7921
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 501d6d288fcaa195c3cda0be0e3423c7959c9958
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 20 14:37:52 2014 -0500

    doc: afs_compile_et -h option
    
    Document the afs_compile_et -h option.
    
    Change-Id: I4972bcc1948e8dd7ae73dfcabfbaf822cfbfe64b
    Reviewed-on: http://gerrit.openafs.org/10722
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 534f802ac900df4704f4e8397eca0aeccf169023
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Jan 23 14:43:32 2014 +0100

    RedHat: Use systemd unit files on RHEL >= 7
    
    Handle rhel >= 7 like fedora >= 15 when deciding whether
    to package systemd unit files or sysvinit scripts in the
    rpm spec file.
    
    Change-Id: I2f1e807786e484774e5a1a97c297532d86f99265
    Reviewed-on: http://gerrit.openafs.org/10631
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 37937a3e924eee7a09c7719ca6355703e65092e1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 21 09:26:11 2014 -0500

    comerr: long and short form of the -prefix option.
    
    The man page documented the prefix option as -prefix; compile_et
    supported only the short form -p.
    
    Document and support both the long and short forms for the prefix
    option; -p and -prefix.
    
    Change-Id: Ide5551b06ae888748600677ed09ba674506a584f
    Reviewed-on: http://gerrit.openafs.org/10721
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 15c80b1a92516a41d4aed8403db1485e97a7eff6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 22 15:26:34 2013 -0500

    comerr: avoid comma operator
    
    Avoid unnecessary use of the comma operator in compile_et's
    command-line argument processing.
    
    Change-Id: If9308d211676be471f3534e144c7d90214994699
    Reviewed-on: http://gerrit.openafs.org/10491
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 355ca7b20b8bb9f06b030be966311d4afb40ed00
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 21 09:39:56 2014 -0500

    doc: afs_compile_et -lang short form
    
    Document the -lang short form for -language.
    
    Change-Id: I4a57bdb23ca5fab4e1565d7e930cdc10097a7414
    Reviewed-on: http://gerrit.openafs.org/10720
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit de8ff76f8767246431115bf04a1475a0cf3ad28a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 21 09:36:37 2014 -0500

    doc: afs_compile_et formatting fixes
    
    Fix two pod formatting errors and remove one trailing
    whitespace characters.
    
    Change-Id: I2ba4fd56afb8c26591d2770301c3edfdd1a898fb
    Reviewed-on: http://gerrit.openafs.org/10719
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8817308a87ca76bc47a0f5564b97c7942b3be04a
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jan 24 12:00:20 2014 -0500

    FBSD: catch up to 1997 and include if_var.h with if.h
    
    The commit message for upstream's r257244 change includes:
     - Make the prophecy from 1997 happen and remove if_var.h inclusion
       from if.h.
    Despite the clear public posting, we were caught unawares.  We made
    it down to the cellar despite the missing stairs, but "Beware of
    the Leopard" caused us to turn back, apparently.
    
    Since if.h is included in many places and if_var.h is not present
    on all OSes, pull the if.h inclusion into the common kernel headers
    for afs/ and rx/ , and add in if_var.h (as well as the sys/socket.h
    prerequisite).
    
    Change-Id: I228c1560a128388c187804e05c0dd2500fb2853e
    Reviewed-on: http://gerrit.openafs.org/10754
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7f58e4ac454f9c06fb2d51ff0a17b8656c454efe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 20 12:16:37 2013 -0600

    afs: Return raw code from background daemons
    
    Currently, a background daemon processing a 'store' request will
    return any error code in the 'code' field in the brequest structure,
    for processing by anyone that's waiting for the response. Since any
    waiter will not have access to the treq for the request, they won't be
    able to call afs_CheckCode on that return code, so the background
    daemon calls afs_CheckCode before returning its error code.
    
    Currently, afs_close uses the 'code' value from the background daemon
    as if it were not passed through afs_CheckCode. That is, if all
    background daemons are busy, we get our 'code' directly from
    afs_StoreOnLastReference, and if we use a background daemon, our
    'code' is tb->code. But these values are two different things: the
    return value from afs_StoreOnLastReference is a raw error code, and
    the code from the background daemon (tb->code) has been translated
    through afs_CheckCode.
    
    This can be confusing, in particular for the scenario where a
    StoreData fails because of network errors or because of a VBUSY error.
    If we get a network error when the request went through a background
    daemon, afs_CheckCode will translate this to ETIMEDOUT, which is
    commonly value 110, the same as VBUSY. So, an ETIMEDOUT error from the
    background daemon is difficult to distinguish from a VBUSY error from
    a direct afs_StoreOnLastReference call. Either case can result in a
    message to the kernel like the following:
    
      afs: failed to store file (110)
    
    To resolve this, have the background daemon store both the 'raw' error
    code, and the error code that has been translated through
    afs_CheckCode. afs_close can then use the raw error code when
    reporting messages like normal, but can still use the translated error
    code to return to the caller, if it has a translated error. With this
    change, now afs_close will always log "network problems" for a network
    error, regardless of if the error came in via a background daemon or a
    direct afs_StoreOnLastReference call.
    
    In Irix's afs_delmap, we just remove the old usage of tb->code, since
    the result was not used for anything.
    
    Change-Id: I3e2bf7e36c1f098df16a1fdb0dc88b45ea87dfa9
    Reviewed-on: http://gerrit.openafs.org/10633
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit eb3f8c99edcf005dfba836ae9ab1d3102f162c2a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jan 22 20:23:29 2014 -0500

    doc: fix typo in fs setacl
    
    Fix typo in the dropbox section where 'l' was referred
    to as 'read', not 'lookup'.
    
    Change-Id: I6429c125f0561a1b5d4e7816930988ac1b347be7
    Reviewed-on: http://gerrit.openafs.org/10750
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit e03b026c4d74912152be71885f09ef50ff8c32db
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 23:34:30 2014 -0500

    Remove some explicit sbrk() usage
    
    Mac OS X 10.9 now considers this function deprecated and warns on
    its use, causing the buildslave configuration to error out.
    
    Use the library routine to get a process's size instead of inlining
    the call to sbrk (which is unlikely to have worked as intended for
    quite some time -- most malloc implementations in use do not use
    sbrk to get their storage).
    
    Change-Id: If616e1ebbea7c0aa541fb96c486820e883363df1
    Reviewed-on: http://gerrit.openafs.org/10696
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e605de61e454bc6d2c960c0c5eb514424159da7c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 15 09:48:48 2014 -0600

    Revert "viced: Enable NAT ping on hosts"
    
    This reverts commit aafdc08cfc49da4c23ecd91f9e690fd70e95df55.
    
    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: Ibf6718eb1d37b2a7e610617acc697f4ee398b89a
    Reviewed-on: http://gerrit.openafs.org/10712
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 51d31209dc9a3082461cc9430da0975fdf28b085
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jan 10 00:00:52 2014 -0500

    Use an explicit symbol for uninitialized vnode types
    
    Avoid trying to get clever with stuffing -1 into an unsigned bitfield,
    which causes the value to change and generates a warning from clang.
    Just use vNull, which is intended to be used for uninitialized/empty
    vnodes.
    
    Change-Id: I5662887e5a68c7e687025d19226f821d8f2d6a09
    Reviewed-on: http://gerrit.openafs.org/10701
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8c937cf95f95581e63df298766f19f14db00a2b9
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 23:57:37 2014 -0500

    Add braces to avoid a 'dangling else' warning
    
    Change-Id: I301d7d2473d651002f0bf6baa18906bce6d46497
    Reviewed-on: http://gerrit.openafs.org/10700
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 17c50911f79382e3ba8960e4b6c122b348e9baef
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 23:54:45 2014 -0500

    Disable deprecated warnings for krb5 routines
    
    In OS X 10.9 Mavericks, Apple has marked all of the krb5 routines
    as deprecated (in favor of the GSS framework).  We must disable
    these warnings in order to allow the buildslave to have a successful
    build.
    
    Luckily, Apple has left in rope for us to programmatically disable
    the deprecated attribute with a preprocessor macro.  Defining this
    macro should be safe everywhere, so do so unconditionally.
    
    Change-Id: Iedc920001fdc5731254336424b0ab7b27274555c
    Reviewed-on: http://gerrit.openafs.org/10699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d72ed6ad4cb568c80d6d0d8e6445f1b2260df680
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 23:40:09 2014 -0500

    vol/salvaged.c: Remove unused variable
    
    It was incremented from an uninitialized value, which caused a build
    error on the OS X 10.9 buildslave.  Since it's unused, just remove
    it entirely.
    
    Change-Id: I845e9139ffd27ba7bf4e010cf4e5625658125486
    Reviewed-on: http://gerrit.openafs.org/10698
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8105129987e2848f21247eea4103ae31772d68be
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 23:38:36 2014 -0500

    viced/callback.c: Ignore dump write errors even harder
    
    Not only do we need to check the return value of write(2), but
    we also need to do so in a way that does not leave an empty body
    in the if statement, in order to appease the clang-500.2.79 found
    on OS X 10.9 with Xcode 5.0.2.
    
    Change-Id: I4564f05927fe14fea3365e9e250834ee948fe387
    Reviewed-on: http://gerrit.openafs.org/10697
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5c4e555f93b8db4f36667966a897fae0acd763e5
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jan 10 12:33:18 2014 -0500

    Add a routine to get the size of the current process
    
    Use rusage when available, and fall back to the very old sbrk(0)
    hack otherwise.
    
    Change-Id: Ic986fd6b93476b80008908a95f8b8e0c76d9ed9a
    Reviewed-on: http://gerrit.openafs.org/10695
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit baf6af8a8f2207ce39b746d59ca4bc661c002883
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 22:42:26 2014 -0500

    afs_fetchstore: avoid use of uninitialized variable
    
    rxfs_fetchInit() attempts to do a 64-bit RPC first, but falls back
    to the 32-bit StartRXAFS_FetchData() if the server appears to not
    support the 64-bit RPCs.
    
    We correctly did not read a length from the call if the FetchData
    RPC(s) failed, but proceeded to assign from the 'length' local
    variable into the 'alength' output variable unconditionally later on.
    
    Instead of blindly continuing on, jump to the error-handling part of
    the routine when we cannot read a length from the call.  This has the
    side effect of skipping an afs_Trace3() point in the error case.
    
    Change-Id: I4840d5c692c61630c68e97b5e88f9460abade19e
    Reviewed-on: http://gerrit.openafs.org/10694
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 5b8133deddc0bb32788362a44507d77ec587aef7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 17:29:04 2014 -0500

    rfc3961: Use enctypes, not keytypes
    
    We previously defined the enctype symbols to be aliases for keytype
    symbols.  The numerical values matched what we wanted (since these
    values are specified in an IANA registry), but the C type is not
    required to be the same for enctypes and keytypes.
    
    Some of our buildslave configurations notice the type mismatch and
    complain, so fix the types by using the enctype enum for enctype symbols
    instead of keytypes.
    
    Change-Id: I56ca634d52954ee44baa34e2d8c876271f171288
    Reviewed-on: http://gerrit.openafs.org/10693
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 9f8b765bbdbb8913fcadbde8d3362039e9dc8e61
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 9 12:44:44 2014 -0600

    opr: Silence rbtree warning
    
    On OS X, gcc can complain that 'child' is uninitialized whenever this
    'else if' condition is false. We already handled the case where both
    node->right and node->left are non-NULL earlier in this function, so
    this should never occur. So, to get rid of the warning, just always
    take the path in the 'else if', and assert that the right child is
    NULL.
    
    Change-Id: I3575de84ea172d3c7e0e022809fdcd0e3b4dcc27
    Reviewed-on: http://gerrit.openafs.org/10687
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b921bf94f6433f831a8d241b5a7e96b63dc5f3f7
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Mon Jan 13 16:08:14 2014 -0500

    De-duplicate a couple afs_CheckCode uniquifiers
    
    These uniquifiers are supposed to be globally unique, to identify the
    call site within the tree.  For whatever reason, a couple of them
    were duplicated at different call sites; provide new (unique) values
    to disambiguate between them.
    
    There remain a couple of uniquifiers which are used in multiple
    places, but those are in different architectures' implementations
    of afs/ARCH/foo.c, and thus will be globally unique for any particular
    build.
    
    Change-Id: Iff5defcade74143a45d7ef3aaacbdeb7523f2a40
    Reviewed-on: http://gerrit.openafs.org/10709
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ba0208f1d69c8c403150fb6312214f9b1c972c6d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 13 15:38:44 2014 -0500

    xstat: fix a malformed debug message
    
    a munged format specifier obscured the missing rn arg.
    
    Change-Id: Ic0eb20413123b88e86484a9095beb3e37fdd7ed3
    Reviewed-on: http://gerrit.openafs.org/10708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cda5e665ebee3da5615dba71b7a11ffff1229c6d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 13 15:28:17 2014 -0500

    xstat: use ephemeral ports for xstat_fs_test and scout
    
    Instead of trying to bind to port 7101, and then retrying if
    the port is in already in use, let the os find an available
    port for scout and xstat_fs_test.
    
    This fixes a bug where scout and xstat_fs_test do not call
    rx_Finalize() before retrying rx_Init() with a different port
    number, causing the program to crash later when more than
    one copy of xstat_fs_test and/or scout are running at the same
    time.
    
    Change-Id: I64e4916b03b1cae20ef36bb1ae293885962677e7
    Reviewed-on: http://gerrit.openafs.org/10707
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ccc5d3f7adceda4d8cf41f04fe02d5cfe376befd
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Tue Dec 3 14:10:00 2013 -0500

    Linux 3.13: Check return value from bdi_init
    
    The use of the bdi_init function now gets a warning because the
    return value is unused and the function is now defined with
    the warn_unused_result attribute.
    
    Assign and check the return value.
    
    Change-Id: I78ae4ea356aef8c9dabe75179ad67db1fd64c28b
    Reviewed-on: http://gerrit.openafs.org/10530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9a0a8ca4d186cf953b87d9fae1a35f66090b060c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 4 17:35:01 2013 -0500

    viced: Avoid issuing redundant TMAY requests
    
    Currently, if a new Rx connection comes in from a host we already have
    a host struct for, we make a TellMeAboutYourself (TMAY) call to the
    given host, to verify the UUID (and caps, interface info, etc) is what
    we expect it to be. That is, if it's still the "same" host that we
    know about. This is necessary because we otherwise have no way of
    telling if the Rx connection is from the same host, or from a new host
    that just happens to have the same IP address (e.g. in the case that
    hosts are moving around and changing IPs). We do this while the host
    is locked, so we only issue these TMAY calls one at a time.
    
    If a large number of Rx connections come in from the same host at
    around the same time, this can result in a lot of TMAY requests being
    issued against the host, even for hosts that never change IPs and
    never do anything strange. In these situations, issuing so many TMAYs
    is useless. If we have several calls waiting to lock the host to issue
    a TMAY, some of the extra TMAY calls are provably useless. So instead
    of calling TMAY repeatedly, remember what the last successful TMAY
    result was, and reuse it for the "provably useless" calls.
    
    Note that this 'cache' stores the actual raw results of
    TellMeAboutYourself. We could save some memory by storing just how we
    interpret that data later on in h_GetHost_r, but this way results in
    way simpler h_GetHost_r logic. Since, we can use the same code paths
    as for a "real" TMAY call.
    
    Change-Id: I6df74e625e90499bd64c9eb34f20db440f6605a6
    Reviewed-on: http://gerrit.openafs.org/9711
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5c0a1d4acce78a582187b5ab3d0d4d60b97d7557
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 19 14:04:56 2013 -0600

    DARWIN: Convert crfree back into a macro
    
    Commit 1d8937b860509fcaabb041bc14faf7aa3023f3c9 turned crfree on
    DARWIN into an inline function to work around an error flagged by
    clang. A side effect of this is that the address passed to
    kauth_cred_unref will not be the actual address of the value given to
    crfree; we are instead giving kauth_cred_unref the address of our
    function argument in order to adhere to the semantics of a function
    call.
    
    kauth_cred_unref seems to just take a pointer to the cred pointer in
    order to set the value to effectively NULL afterwards, so this is not
    a huge deal. However, this does mean that our current implementation
    undoes any of the safeguards intended by making kauth_cred_unref work
    this way in the first place.
    
    So, revert 1d8937b860509fcaabb041bc14faf7aa3023f3c9 and put the crfree
    definition back to the way it was. Fix the caller in
    afs_StoreOnLastReference to not cause an error by just assigning the
    cred pointer to a temporary value. While it's not ideal that some
    callers may need to do this, this is the only place where this is
    necessary and it's more of an artifact of the weirdness of storing a
    cred pointer in linkData, which probably should be changed anyway.
    
    Change-Id: I50557901203d22a7b19028be551eb40f0c4cd751
    Reviewed-on: http://gerrit.openafs.org/10614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b0f433986ce344bf153cce1f6372de20750e052b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 7 18:24:54 2014 -0600

    SOLARIS: Support VSW_STATS
    
    Specify the VSW_STATS flag to the vfsdef_t structure we give to
    Solaris. This turns on statistics that can be retrieved via fsstat(1M)
    and allows the fsinfo::: DTrace provider to work with AFS files.
    
    We don't need to actually maintain these statistics; Solaris does that
    for us. This flag just signifies that our vfs_t structure is capable
    of storing the information. Since we get our vfs_t from Solaris (via
    domount(), it gives us a vfs_t when it calls our afs_mount function)
    and do not allocate a vfs_t ourselves, we are safe and this is fine to
    do.
    
    Change-Id: I356df91ea409245f0c5b1e4ef693ac28ad8f11b2
    Reviewed-on: http://gerrit.openafs.org/10679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 64d7715c0247734731ef4cc8be5de32ee7c4a1f6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 23 12:10:36 2013 -0500

    vol: reset nextVnodeUnique when uniquifier rolls over
    
    The on disk uniquifier counter is set to 200 more than the current
    nextVnodeUnique counter when the volume information is updated to disk. When
    the nextVnodeUnique is near UINT32_MAX, then the uniquifier counter rolls
    over.  This can happen during a volume header update due to
    VBumpVolumeUsage_r().
    
    With this change, the nextVnodeUnique customer is reset to 2 and the
    uniquifier is reset to 202 when a roll over occurs. (uniquifier of 1 is
    reserved for the root vnode.)
    
    With this change, the number of possible uniquifier numbers is limited to
    200 less than UINT32_MAX.
    
    The following shows a series of vnode creation/deletions to illustrate
    the uniquifier rollover before this commit:
    
    fid = 536870918.4.4294967114, nextVnodeUnique = 4294967115, uniquifier = 4294967295
    fid = 536870918.4.4294967115, nextVnodeUnique = 4294967116, uniquifier = 4294967295
    fid = 536870918.4.4294967116, nextVnodeUnique = 4294967117, uniquifier = 21
    fid = 536870918.4.4294967117, nextVnodeUnique = 4294967118, uniquifier = 22
    
    and after this commit:
    
    fid = 536870918.4.4294967115, nextVnodeUnique = 4294967116, uniquifier = 4294967295
    fid = 536870918.4.4294967116, nextVnodeUnique = 2, uniquifier = 202
    fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 202
    fid = 536870918.4.3, nextVnodeUnique = 4, uniquifier = 202
    
    Change-Id: I93c8a7cf47e39b8701265d6507cfc4f8c1352ddc
    Reviewed-on: http://gerrit.openafs.org/10617
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1a287c631ead0221828ae70e10c3cfd5563fdfb7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 23 11:42:19 2013 -0500

    vol: fix nextVnodeUnique roll over
    
    Fixes for the per volume nextVnodeUnique counter roll over. Uniquifier number 1
    is reserved for the root vnode, so reset the unique count to 2 when the
    nextVnodeUnique counter rolls over.
    
    Update the disk backed V_uniquifier count when the in-memory nextVnodeUnique
    counter rolls over during the creation of a new vnode. If the nextVnodeUnique
    rolls over when V_uniquifier is UINT32_MAX, then the V_uniquifier is not updated
    and remains at UINT32_MAX until the next VUpdateVolume_r() call for the volume.
    
    This bug is usually masked by the VBumpVolumeUsage(), which on every 128 volume
    accesses, bumps the V_uniquifier to be 200 more than the current
    nextVnodeUnique counter.  This causes the V_uniquifier to roll over before
    reaching UINT32_MAX.  (The number of access before updating the headers is set
    in the usage_threshold volume package option, which is currently set to 128 by
    default.)
    
    The following shows the unique counters for a series of vnode
    creation/deletions before this commit.  The nextVnodeUnique rolls over to 1,
    and the uniquifier is not reset.  The `usage_threshold' was set to a value
    greater than 200 to avoid the VBumpVolumeUsage() calls during this test run.
    
    fid = 536870918.4.4294967294, nextVnodeUnique = 4294967295, uniquifier = 4294967295
    fid = 536870918.4.4294967295, nextVnodeUnique = 0, uniquifier = 4294967295
    fid = 536870918.4.1, nextVnodeUnique = 2, uniquifier = 4294967295
    fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 4294967295
    
    The following shows the unique counters after this commit:
    
    fid = 536870918.4.4294967294, nextVnodeUnique = 4294967295, uniquifier = 4294967295
    fid = 536870918.4.4294967295, nextVnodeUnique = 0, uniquifier = 4294967295
    fid = 536870918.4.2, nextVnodeUnique = 3, uniquifier = 203
    fid = 536870918.4.3, nextVnodeUnique = 4, uniquifier = 203
    
    Change-Id: I438670200bf97baeac1486eda7df4cf243aabfc4
    Reviewed-on: http://gerrit.openafs.org/10616
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 67232bd9d6db545cc3f0839c59ecc667a3f9965e
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Fri Jan 10 16:27:44 2014 -0500

    Fix vcache/vnode mismatch in lookup for DARWIN
    
    We have a vcache and need a vnode, so AFSTOV() is the right macro,
    not VTOAFS().
    
    It's kind of unfortunate that --enable-checking doesn't catch this.
    
    Change-Id: I924649918dd0149b5fd7e4380b5f2e49d21fc8c4
    Reviewed-on: http://gerrit.openafs.org/10702
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 71ec4a3e3d887efd56be7bf712c0fd5da2f92083
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 14 12:53:40 2013 -0600

    afs: Don't clear afs_CacheTooFull prematurely
    
    Currently, we can clear afs_CacheTooFull here, even if
    afs_CacheIsTooFull() doesn't agree that the cache is no longer 'too
    full'. This could theoretically result in afs_CacheTooFull being
    cleared, even though the cache is indeed 'too full', according to
    afs_CacheIsTooFull(). Just break here, and let afs_CacheIsTooFull()
    decide.
    
    This reverts a small part of 488c7c97854a4bd0ec67bcfe17df93b3fd025f88.
    This part doesn't seem important to the functionality in that commit,
    though; the rest of that commit is still here, and avoids the extra
    work if we have calculated no needed space to free.
    
    Change-Id: If0adce7fa2e88a970ddb202de02c8ff048d2ad15
    Reviewed-on: http://gerrit.openafs.org/10460
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 81b785774128e9501c1d758340b6f008403b5181
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 14 12:06:56 2013 -0600

    afs: Fix some dcache-related comments
    
     - The comments preceding the afs_CacheIsTooFull macro, describing the
       cache-related high and low water marks, are a little out of date.
       We start freeing on 90% space, not 95%, and we also can take into
       account how many free/used chunks we have.
    
     - afs_WakeCacheWaitersIfDrained looks at the number of non-used (free
       or discarded) blocks, not just free blocks.
    
    Change-Id: I5bf923b3c24993294e752f4312737815d0102779
    Reviewed-on: http://gerrit.openafs.org/10459
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cef726558d9ae24a5d3dd00d92550a527f3226df
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 11 13:19:02 2012 -0600

    rx: Clarify error checks for busy channel check
    
    Commit a84c6b0ece1fdee4f462c6ce27fa78c2e0d419f4 changed this so we
    don't just discard an incoming request if the call already had an
    error. But if the call already has an error, rxi_WaitforTQBusy is a
    no-op, so checking if the error has "changed" is unnecessary and can
    be confusing. Just bypass this whole block if the call already has an
    error.
    
    Discussed during the 5 Dec 2012 release-team meeting.
    
    Change-Id: Id57d65736f3228d4e7595f56800f42c52e83ef39
    Reviewed-on: http://gerrit.openafs.org/8748
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 31b518fcf184ba122b6faab54e2e4fa0d37605a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 14 17:25:44 2012 -0500

    viced: Move host quota calculation
    
    Calculate this during initialization, not every time we want to use
    it.
    
    Change-Id: I931d2f3f0b4b99add682c098dd51f03c9942f5b4
    Reviewed-on: http://gerrit.openafs.org/9710
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 16d8ab09bd9a0bd75319e6c32afb8bc2c5c04e51
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.
    
    Change-Id: I5e13f227ed62c4bbb7ac72f2c844136648c935c7
    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>

commit 837ec9dd41c4b1e10ad9d32a52b0f34dd665026a
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.
    
    Change-Id: I309272f4f4f740058c48e92530e40a1c64d63668
    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>

commit cddc732ec5fd40c94126e5f0b7103136592a2efe
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.
    
    Change-Id: I64dfd483eb2cfa57d67c97ae6db09be5bb020195
    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>

commit cb52cc6e44ed85515cc81685adacd7c40a48b8db
Author: Benjamin Kaduk <kaduk@mit.edu>
Date:   Thu Jan 9 12:13:27 2014 -0500

    ktc: fix up initializer for local_tokens
    
    The old initializer was incomplete (initializing only one of the four
    fields in the struct), which prompted warnings from clang
    (-Wmissing-field-initializers):
    ../../../openafs/src/auth/ktc.c:149:2: warning: missing field 'server'
          initializer [-Wmissing-field-initializers]
    
    Since the variable is at file scope, it will be initialized to all
    zeros anyway, and there is no need for an explicit initializer.
    
    Change-Id: Ib7690759ec3403d1913852e30bb553ef8ac8f019
    Reviewed-on: http://gerrit.openafs.org/10686
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2d5f0a971baa05fc1a79726265a8235a0ebca4c0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 9 09:58:56 2014 -0500

    Windows: AFSCommonWrite STATUS_PENDING is Success
    
    AFSCommonWrite() can return STATUS_PENDING if the write has been
    deferred.  In that case, the function exit must not:
    
     * Update the Valid Data Length
    
     * Purge the cache
    
     * or do anything else related to the request
    
    Change-Id: Ib34bef3a1d56d452babcaf1f3cfbf77fe8f93388
    Reviewed-on: http://gerrit.openafs.org/10685
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d5bcff7429dd9972b17055a9abd98f3a590dee68
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 9 09:57:33 2014 -0500

    Windows: Mark Irp Pending before Deferring
    
    After CcDeferWrite() is called we no longer have access to the
    current Irp.  If we mark it deferred after calling CcDeferWrite()
    we might mark the wrong thing.
    
    Change-Id: Id4b1bbd241b5e2acafc8d015e85966cb80518dde
    Reviewed-on: http://gerrit.openafs.org/10684
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6995a56884f31974e9b5a7c0c50e9c1aa0351a45
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 7 10:57:01 2014 -0500

    Windows: cm_ConnByServer fix search for replication
    
    Separate connection objects are maintained for use when accessing
    replicated and single source volumes.   If the matching connection
    type cannot be found while holding the cm_connLock shared a second
    search is performed after the lock is upgraded to an exclusive lock.
    This second connection search was not enforcing the replication criteria.
    
    Change-Id: I408a5d87c3a82da5235fa2255db7d1d7a6bcb6d9
    Reviewed-on: http://gerrit.openafs.org/10681
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cccb5e614212c341d2f5e799066d1c30e54ba494
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 7 10:53:37 2014 -0500

    Windows: cm_connLock not required for cm_GetUCell
    
    In cm_ConnByServer() there is no need to hold the cm_connLock across
    the cm_GetUCell() call.  Obtain the cm_ucell_t object before the
    cm_connLock is obtained.
    
    Change-Id: I971b55e0aae7748b59895785c1c22b5461c4fd35
    Reviewed-on: http://gerrit.openafs.org/10680
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit da7adce6dddd39eb151576abfb1681c559e1e4e5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 27 14:41:18 2013 -0500

    Windows: Rewrite LargeSearchTime conversions
    
    Use LARGE_INTEGER to avoid the need for shifting and DWORD casts.
    Take into account the size of time_t.
    
    Change-Id: I056d920894b661ebb2060a5010efd9a0cd5a4a5d
    Reviewed-on: http://gerrit.openafs.org/10673
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fd9d5318023e977793a4bf62f196e70b45049f10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 26 22:02:50 2013 -0500

    Windows: RDR_EvaluateNodeByName out of order param
    
    The bHoldFid parameter is after the bNoFollow parameter.  The
    two values were swapped resulting in unnecessary VLDB lookups.
    
    Change-Id: Ia94bd761576d54e9dde847385a4900f2d915c34d
    Reviewed-on: http://gerrit.openafs.org/10636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fb6bc16b335d0e50b49ed85570dbe9fc9adfaee0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 18 08:48:44 2013 -0500

    Windows: cm_SetupStoreBIOD compute correct scanEnd
    
    The algorithm used to ensure "chunk size" operations attempts to
    enforce aligned chunks.  There are two problems:
    
     1. an aligned chunk range may extend beyond the end of the file.
    
     2. an aligned chunk might end before the requested length of the
        active write.
    
    Protect against scanning beyond the end of the file and do not truncate
    writes.
    
    Change-Id: Ibe6caebd78f73d2c93bfef0dcebef379ca843994
    Reviewed-on: http://gerrit.openafs.org/10625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4f1d4b63a90e85fd0c2edc592d18bdbe6a0b07f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 18 00:07:55 2013 -0500

    Windows: BUF_HASH use opr_jhash_int2
    
    BUF_HASH takes to 4-byte integers not three and therefore cannot use
    the basic opr_jhash which assumes a minimum of three 4-byte integers.
    
    Change-Id: I7f30351025b3e9cd2156f772b0ed550b20964ad7
    Reviewed-on: http://gerrit.openafs.org/10624
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d8f75d3206eaa56b3a819a5bc13a4bf3a9130512
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 10 17:02:34 2013 -0600

    cellconfig: Do not use 'long' for dbserver IPs
    
    A few places in this file assume that our dbserver IP addresses are
    "long"s. A long int can be 8 bytes on some platforms, but we know
    these IP addresses are all 4-byte integers. In the rare instances
    where we have the maximum number of dbservers, this can overwrite a
    bit of extra memory. This can also result in a misaligned access on
    platforms such as SPARC v9, since the elements of he->h_addr_list are
    not guaranteed to be 8-byte aligned.
    
    So instead, treat these as 4-byte integers. For copying out of
    he->h_addr_list, also use a memcpy anyway to be safe, since we are not
    guaranteed alignment.
    
    Change-Id: I1afd6e49df32693f86392cb39ce8d7477422aa94
    Reviewed-on: http://gerrit.openafs.org/10599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 76076708a921aae0635975d418dea4b06d2c1af6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Dec 11 17:56:47 2013 -0500

    viced: remove dead code CheckHost()
    
    Remove CheckHost().
    
    Change-Id: I618066d28ef64fdfe94d5ab08ef89adb08a99fd6
    Reviewed-on: http://gerrit.openafs.org/10580
    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>

commit 0c5d403076946c7a4f53f5e44df8fe0d986cea06
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Fri Dec 13 11:46:04 2013 +0100

    make openafs uninstallable even if /afs is missing
    
    The preuninstall scriptlet of the openafs RPM removes /afs. If, for
    whatever reason, that directory does not exist, the scriptlet will
    fail and hence break the deinstallation of the openafs package. The
    proposed patch makes the scriptlet evaluate to true even if the /afs
    has been removed by some other means and allows the package to be
    uninstalled.
    
    Change-Id: I3340c94521e15c56fe10840aff7b0b1080009c10
    Reviewed-on: http://gerrit.openafs.org/10581
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8b8e8c2ab1974ba4c14942cc7bd94aac8602192f
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.
    
    Change-Id: I16ede184265e03a104fb724bece7fc461ca10415
    Reviewed-on: http://gerrit.openafs.org/10595
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e988aa45d765c935fef4bcd35585d6a3594cc497
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 17 17:30:26 2013 -0600

    LINUX: Use sock_create_kern where available
    
    Currently, we use sock_create to create our Rx socket. This means that
    accesses to that socket (sendmsg, recvmsg) are subject to SELinux
    restrictions. For all recvmsg accesses and some sendmsg accesses, this
    doesn't matter, since the access will be performed by one of our
    kernel threads (running as kernel_t or something similar, which is
    unrestricted). Such as: the rx listener, a background daemon, the rx
    event thread, etc.
    
    However, sometimes we do run in the context of a normal user process.
    For some RPCs like FetchStatus, we tend to run the RPC in the
    accessing user thread, which can result in us sendmsg()ing the data
    packets with the initial arguments in the user thread. We can also
    send delayed ACKs via rx_EndCall, and possibly a variety of other
    scenarios.
    
    In any of these situations when we are sendmsg()ing from a user
    thread, SELinux can prevent us from sending to the socket, if the
    calling user thread context is not able to write to an afs_t
    udp_socket. This will result in packets not being sent immediately,
    but the packets will be resent later, so access will work, but appear
    very slow. This can easily happen for processes that are specifically
    constrained by SELinux; for example, webservers are often constrained,
    even if most of the rest of the system is not. This can be noticed by
    seeing the 'resends' and 'sendFailed' counters rising in 'rxdebug
    -rxstat', as well as noticing SELinux access failures if 'dontaudit'
    rules are ignored.
    
    To avoid this, use sock_create_kern to create the Rx socket, to
    indicate that this is a socket for use by kernel code, and not
    accessible by a user. This should cause us to bypass any LSM
    restrictions (SELinux, AppArmor, etc). Add a configure check for this,
    since this function has not always existed, according to
    <https://lists.openafs.org/pipermail/openafs-devel/2004-June/010651.html>
    
    Change-Id: I77e7f87e93be4d750d398e01dc1634efd80657bc
    Reviewed-on: http://gerrit.openafs.org/10594
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2ed7023b26acb3277e42eac803a0702b95167e6e
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.
    
    Change-Id: Idf2ff879f05774f49a11d04f87579afccf385b57
    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>

commit 61cc913ffeb9468a6e07fa4e6263bb35b6b441d0
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 13 19:07:13 2013 -0500

    Sort the rfc3961 library's export symbol list
    
    It was originally committed in an unsorted state.
    
    Change-Id: Ife43b60cd625eae5062865942fc5c8956d6b6aab
    Reviewed-on: http://gerrit.openafs.org/10583
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d40ed7391670010db0df2202d770341b2ca82f32
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>
    
    Change-Id: I1cd58a7e528abfeb7473cf47ae4cff5b8c8f419c
    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>

commit ce96143d79ea006f7b1318dd1c962d4c4f79fc1e
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>.
    
    Change-Id: I28848f5294d0575d8abb1759c202cc3c2db85ac2
    Reviewed-on: http://gerrit.openafs.org/10540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cb53d255a6285c884c6a5ea9a20427327b1ab9b3
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>.
    
    Change-Id: Ibc7d79953667dfdfcc2e6c5c1c4c77249f11f4ad
    Reviewed-on: http://gerrit.openafs.org/10539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit aac384b2eda823519780afed84e53a868561711d
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>
    
    Change-Id: I331cfc0040fab526c32e24f6af970f352f0a0a8e
    Reviewed-on: http://gerrit.openafs.org/10538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2c8d55bee128071807143db6e880a4a6afaea9ba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 5 00:41:10 2013 -0500

    Windows: RXAFS_GetVolumeStatus no PRSFS_READ check
    
    Since d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a the file server no
    longer performs a PRSFS_READ access check for the GetVolumeStatus RPC.
    The cache manager should no longer test for PRSFS_READ as a means of
    avoiding RPCs that are known to fail.
    
    Change-Id: I67bd849d337d87657db8e1f0ed2839367b7972a8
    Reviewed-on: http://gerrit.openafs.org/10532
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 082597be62ce3f0dfd5fb881abd8770e2fa1ad43
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 25 07:13:32 2013 -0500

    lwp: rw now depends on libopr
    
    rw (a test program for lwp) needs libopr to build
    
    Change-Id: I489e675f5a1b845c7a8083466b44a73af305f8b8
    Reviewed-on: http://gerrit.openafs.org/10517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit faf14be3827fa72914a1c792c9a99a3353717ded
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.
    
    Change-Id: I5f68fdf425b365d69ee94680cef014de679cf6ff
    Reviewed-on: http://gerrit.openafs.org/10529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9b6f79108725dc5b6d4cbea4697199e5e745dc99
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 27 12:26:44 2013 -0500

    Windows: RDR capture Cc/Mm exceptions do not break
    
    All of the Cc and Mm functions are wrapped in try/except blocks.
    The purpose is to ensure that Cc and Mm do not return an error as
    an exception which could result in the afs redirector failing to
    release a resource.   Instead of calling the AFS exception handler
    just handle the exception with EXCEPTION_EXECUTE_HANDLER.  This permits
    the __except block to capture the exception code.
    
    The AFS exception handler will throw its own exception if the
    AFSDebugFlags AFS_DBG_BUGCHECK_EXCEPTION bit is set.  This is helpful when
    debugging exceptions thrown by errors in the afs redirector code.  It is
    not helpful when a Cc function throws an exception.  For example,
    CcReadCopy() will throw STATUS_DELETE_FILE as an exception if an attempt
    to read from a deleted file is initiated.   This should simply fail the
    read operation not BSOD the system.
    
    Change-Id: I2fd1d4db530600441272e59353fbf28b831e2691
    Reviewed-on: http://gerrit.openafs.org/10524
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e24762a2cf6590798aa9ce483a1374466c7847b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 25 20:27:10 2013 -0500

    Windows: AFSRDFSProvider NPOpenEnum vs no redirector
    
    If there is no redirector device present, return WN_NO_NETWORK
    to indicate that this network provider is not ready for browsing.
    
    Change-Id: I3e33769bb2d52a59b0ff993aa07e89d959d60800
    Reviewed-on: http://gerrit.openafs.org/10523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 45f7528af726b040062b4c769bbf4fcbb93488d1
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Nov 27 10:26:33 2013 -0500

    Remove klogin
    
    It has not been connected to the build since at least the 1.2 days
    and should be considered dead code.
    
    FIXES 131777
    
    Change-Id: Id1551e7f9f543934dc8755a29f46aa7b905bfadd
    Reviewed-on: http://gerrit.openafs.org/10522
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 06fe2957348cfb2c571f2a0b099e09ef7e9fb3b0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 26 10:52:45 2013 -0500

    Windows: Rationalize Freelance vs "fs flush*"
    
    Background:
    
    cm_scache_t objects representing Freelance volume (cell=-1, volume=-1)
    are special because they are populated from the Freelance mountpoint
    and symlink tables.  These tables are in turn generated from the
    registry.  The tables are regenerated on-demand after the execution of
    cm_noteLocalMountPointChange() which increments cm_data.fakeDirVersion
    which becomes the new data version value for the (-1.-1.1.1) directory
    object.
    
    The next time that cm_GetSCache() is called for a Freelance object
    the fake root directory is rebuilt by cm_InitFakeRootDir().  Since the
    vnode values are not persistent with regards to directory entry names the
    FileId unique is used to distinguish the various versions.
    cm_data.fakeUnique is incremented with each call to cm_InitFakeRootDir().
    
    Each time cm_noteLocalMountPointChange() is executed the afs redirector is
    notified of the data version change which will force the redirector to
    rebuild its view of the directory the next time a path evaluation requires
    evaluation of the root (\afs).  In other words, on the next request.
    
    If cm_noteLocalMountPointChange() is executed multiple times there is the
    possibility of a race between the redirector and the service.  When the
    race is lost the redirector receives an invalidation event for -1.-1.1.1
    as it is in the process of rebuilding the directory contents.  The
    redirector ends up believing it has the most recent data version when it
    doesn't but the service no longer has Freelance mountpoint and symlink
    tables representing the requested data version.  Hence, the mountpoints
    and symlinks end up as CM_SCACHETYPE_INVALID.
    
    fs flushfile and fs flushvolume both had explicit checks to prevent
    flushing Freelance objects because each call to cm_FlushFile() on a
    Freelance object would execute cm_noteLocalMountPointChange() triggering
    the race.
    
    The Problem:
    
    fs flushall is not executed on a specific object (volume or file).
    Therefore there was no explicit check to prevent execution against
    Freelance objects.  For each cm_scache_t in the cache cm_FlushFile() is
    processed.  If there are N Freelance mountpoints and symlinks, there will
    be N+1 calls to cm_noteLocalMountPointChange() in quick succession.  Not
    only does this risk losing the race described above but it is extremely
    wasteful as the Freelance tables may be repeatedly regenerated.
    
    This Patchset:
    
    This patchset re-organizes the Freelance processing in the flush code
    paths.  cm_FlushFile() and cm_FlushVolume() can simply no longer be
    successfully executed against a Freelance object.  Both will return
    CM_ERROR_NOACCESS.
    
    "fs flush <file>" is not permitted against Freelance objects.
    
    "fs flushvolume <path>" will execute cm_noteLocalMountPointChange() once if
    the path is a Freelance object.
    
    "fs flushall" continues to execute cm_FlushFile() on all cm_scache_t
    objects.  The calls on Freelance object will fail.  After all cm_scache_t
    objects are flushed then cm_noteLocalMountPointChange() will be executed
    once to force the Freelance directory to be rebuilt.
    
    This patchset does not address the race but significantly reduces the
    likelihood the race will be lost.
    
    Change-Id: I298dad453432001b7b2e6f4533ddee17e041b02e
    Reviewed-on: http://gerrit.openafs.org/10521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0e851b7fcb6f8c802106e5e76c601800867e65e1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 26 10:31:32 2013 -0500

    Windows: Reset mp/symlink target during fs flush*
    
    When processing a "fs flush*" command, reset the the cm_scache_t
    mountPointStringp which contains the known mountpoint or symlink
    target information.
    
    Change-Id: I72bba6101699e82649eed226cdfc73077b13de92
    Reviewed-on: http://gerrit.openafs.org/10520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5b67620c7b3ad224ea53075e37ecf1f7e6a7c51a
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.
    
    Change-Id: Icbb82446ef66edd2650f33135ed6ccd2b8a920b2
    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>

commit 3f4c1099b7b2d1467b1f5b701ea2f953fec20dc0
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
    
    Change-Id: I33b2f51cd10f76689eb9868eb05800ab493087c4
    Reviewed-on: http://gerrit.openafs.org/10474
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a1b5a1d42280753de13094006dcc130fede978a1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 17 23:03:43 2013 -0500

    Windows: cm_Analyze retries vs CM_REQ_NORETRY
    
    CM_REQ_NORETRY is set by threads that want all errors returned
    immediately.  However, there are some errors that should never
    be returned:
    
      RX_MSGSIZE
      RX_CALL_BUSY
      VNOSERVICE
      RX_CALL_IDLE
      RXKADEXPIRED
      VICECONNBAD
      VICETOKENDEAD
    
    For these errors even if the thread has requested no retries a RPC
    retry must be performed.
    
    Change-Id: I692f65a9fdbbf27fc880ac8912fc72c1d1357c6d
    Reviewed-on: http://gerrit.openafs.org/10470
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a95b1f2f15d3f8efff74ad7df5085b8f30885dbc
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Nov 20 13:57:13 2013 -0500

    cmd: Correctly initialize cmd_OptionAsString arguments
    
    These are coming from the stack and as such they might not be NULL.
    
    Change-Id: Ia5c6efd08574b4de05a11dceae47021b0160395b
    Reviewed-on: http://gerrit.openafs.org/10475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 779ab18bafdea3535b403ba62f3ec8a8b127748e
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.
    
    Change-Id: I1e84969b26e87e36893b071103325a7a532ebbf9
    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>

commit 250a4341bc85a74f1b3a89a2ebd7df324f0b8b71
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Oct 2 15:37:18 2013 -0400

    util: remove dup include
    
    Change-Id: I415dbcae5ae549b6347286ecdee5717fb66cc012
    Reviewed-on: http://gerrit.openafs.org/10319
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 38fc16ddbf1e5477050db21c94d55f75bdadf80b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Oct 2 15:35:09 2013 -0400

    cleanup potpourri.h references
    
    Clean up references to a header file which was removed some time ago.
    
    Change-Id: I2ddc26afc01edf84bb1bdb21a3488c88dd6c9775
    Reviewed-on: http://gerrit.openafs.org/10318
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a178a9bd00cdce93a33f7663bfc4989c9eda3979
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Nov 6 08:45:52 2013 -0500

    autoconf: Combine the x86/solaris configuration stanzas
    
    This reduces some clutter and makes it easier to see what is
    different.
    
    Change-Id: I2bad8b085daf04444d2740287c106008e2650bc9
    Reviewed-on: http://gerrit.openafs.org/10463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d067089e444124e723d1405cc13c058883b66e6d
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Nov 6 07:36:02 2013 -0500

    autoconf: Combine the sparc/solaris configurations
    
    According to cc's man page:
    
      v9        Is equivalent to -m64 -xarch=sparc
                Legacy makefiles and scripts that use
                -xarch=v9 to obtain the 64-bit memory model
                need only use -m64.
    
    Change-Id: Idd1021f3fef9c427072079f3c7d7aa9ca6fa0060
    Reviewed-on: http://gerrit.openafs.org/10462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0570d13a62c6f9416bed4fcbab5cf49a45b4dcc1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 15 17:32:37 2013 -0600

    Windows: cm_FindVolumeByFID
    
    cm_GetVolumeByFID() does not query the vldb if the volume group
    is not known to the cache manager.   cm_FindVolumeByFID() is to
    be used in cases where the volume group data must be known for the
    operation to successfully complete.
    
    Change-Id: I9bb3bd13f14dea534952495b00a3348aafd2d591
    Reviewed-on: http://gerrit.openafs.org/10465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dbedd62b7cb6c2203afea72d6f0ea32b0d623b10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 12 09:58:44 2013 -0500

    Windows: Fix out of range pointer validation
    
    The ACL, Stat, and Volume pointer validation checks did not take
    into account that NULL is a valid pointer value.  As a result the
    cache validation failed.
    
    Change-Id: I538310d534fd4ada383d5bf0dc58d49206fe3dfb
    Reviewed-on: http://gerrit.openafs.org/10453
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 727e951d8c49a98d2c37378c863cd050b8d768eb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 4 00:12:07 2013 -0500

    Windows; GetSystemTimeAsFileTime
    
    As per Raymond Chen's "The Old New Thing" blog
    
      http://blogs.msdn.com/b/oldnewthing/archive/2013/11/01/10462403.aspx
    
    Calling GetSystemTime() followed by SystemTimeToFileTime() performs
    two format translations which can be avoided by using
    GetSystemTimeAsFileTime() directly.
    
    Change-Id: I3d3de0e045777c9dfdb1c1f4503bfdfe19fb7b73
    Reviewed-on: http://gerrit.openafs.org/10430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3f5f3013e91de3fddaee96598ef0311f8f2d5e22
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 30 00:44:25 2013 -0400

    Windows: GiveUpAllCallBacks only if non-loopback
    
    If the only ip addresses are known to be loopback addresses, then
    do not waste time by attempting to GiveUpAllCallBacks during suspend
    or shutdown.
    
    Change-Id: I28b08e61435a7132ba08c9649010185097df0da0
    Reviewed-on: http://gerrit.openafs.org/10429
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d0a13fe678412464452afae9379d63fa48d41d83
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).
    
    Change-Id: I4ecd164ed3604558ed4419bf6f9d531bd5d1a9ff
    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>

commit f5f53cb0a1f326ed4695621f6a5a63f798444549
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.
    
    Change-Id: I8ec1ed365c5b3cf60bd34af0aca94e0c496bcaa3
    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>

commit 9f6f419b9a93b40280bd2a622ed1561f032361bf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 3 12:44:30 2013 -0400

    build: more configure summary
    
    Improved configure summary, including a check for namei fileserver mode.
    
    Change-Id: Id5117ae8c27126c56e28eb3ab7f6e8ef7fd0558d
    Reviewed-on: http://gerrit.openafs.org/10372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 53a50414c23dd8b045eca6b58d4be13707f2f36d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 7 00:05:39 2013 -0600

    doc: backup manpage fixes
    
     - Consistently specify -dryrun and -n across various subcommands.
       Many did not list -n, some listed -n but no -dryrun, and some
       listed -noexecute instead.
    
     - backup_volrestore: Add missing option -usedump
    
     - backup_deletedump: Add missing options -groupid, -dbonly, -force,
       and -portoffset
    
    Change-Id: Iec1c36cba0ad0e61d7e6215c9cba81228b95a81f
    Reviewed-on: http://gerrit.openafs.org/10441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ad357e4ce49fe034221179e500ce53944b3a8bf4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 7 00:03:17 2013 -0600

    backup deletedump: Change -port to -portoffset
    
    Use -portoffset instead of -port, for consistency with all of the
    other backup suite commands. Leave -port in as an alias, for backwards
    compatibility. Currently -port will mean -portoffset anyway, since
    it's an unambiguous abbreviation, but put in the alias explicitly,
    just in case some other option comes along starting with -port.
    
    Change-Id: I2f8aaa34fdf9e7c80a8fec1dc1caf63d9b7192b1
    Reviewed-on: http://gerrit.openafs.org/10440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dc4384653fed48104016a0e00fc2487851eb6806
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 5 11:00:21 2013 -0600

    backup: Display general help on -help
    
    Currently, 'backup' tries to guess if we are running 'backup
    interactive' before libcmd actually parses our arguments. This is
    tricky, since we run 'backup interactive' if no explicit subcommand is
    actually given. One consequence of this is that currently, running
    'backup -help' just displays the help for the 'backup interactive'
    command, not the help output for 'backup' itself.
    
    The current heuristics for guessing at whether we are running 'backup
    interactive' or not are a bit fishy, but at least for now, just make
    sure -help works. This should still ensure any other behavior is
    unchanged, but just 'backup -help' now works like other command
    suites.
    
    Change-Id: I31ecbcad7efffd301d23f109c66eee0417882a90
    Reviewed-on: http://gerrit.openafs.org/10439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c870513c5ec576a966f97cd2ab92c900dcbe4410
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 12 17:48:46 2013 -0500

    doc: Add 'checkman' tool
    
    Add the 'checkman' script, which compares a command's "-help" output
    to the options actually documented in its manpage. This command is
    certainly not perfect, and may contain false negatives and false
    positives. It is not (currently) intended to be run as an automated
    check, but is meant to assist a human manually checking the
    correctness of man pages. An error reported by 'checkman' does not
    necessarily indicate something that should actually be changed.
    
    Change-Id: Iae1965c441279dd3f93c1a7283ea0a0140d5ebe3
    Reviewed-on: http://gerrit.openafs.org/10442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a9301cd2dc1a875337f04751e38bba6f1da7ed32
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 15:37:27 2013 -0500

    bos: Remove MR-AFS commands and options
    
    The blockscanner and unblockscanner commands, as well as many options
    to "bos salvage", were only of use to MR-AFS. MR-AFS is not used
    anywhere anymore, and these commands and options were largely
    undocumented, so get rid of them. See
    <https://lists.openafs.org/pipermail/openafs-info/2013-January/039215.html>.
    Thanks to Hartmut Reuter for providing information about this.
    
    Change-Id: I496eb4a23a0310aafd6c224a08c76a8b7464c758
    Reviewed-on: http://gerrit.openafs.org/10425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 27768ade8578ced4485b1601e26bff53d5450f50
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 30 23:33:40 2013 -0500

    volserver: Remove -sleep functionality
    
    This option is completely useless since the LWP volserver was removed.
    Remove the code for it.
    
    Change-Id: I2257ba2ecd2ffeb9c47d21cbb516d6a0abb19b94
    Reviewed-on: http://gerrit.openafs.org/10424
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 90753f9dc77ea5a4ec4e13947e78e3aa63d785f0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 30 23:28:16 2013 -0500

    volserver: Restore -allow-dotted-principals
    
    Commit cd3492d0 converted volserver command-line parsing to use
    libcmd. However, it accidentally also changed the
    -allow-dotted-principals option to -dotted. Change it back to
    -allow-dotted-principals for consistency with previous versions, as
    well as other server processes.
    
    Note that currently there are no public releases of OpenAFS containing
    cd3492d0, so no public release has contained the -dotted option.
    
    Change-Id: Ied07f0eb867a13591656daae00bc9e85a2c7f6c8
    Reviewed-on: http://gerrit.openafs.org/10423
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 90d4cbc285071bd5c9b6f9d5096879bc6bb43da1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 29 21:22:02 2013 -0500

    volserver: Exit on arg parsing failure
    
    If ParseArgs returns an error, argument parsing failed. Currently we
    keep going anyway, ignoring the error. Exit instead.
    
    Change-Id: I2f9e4e06d6c3fab8e29921bdb0ea30d714c794b1
    Reviewed-on: http://gerrit.openafs.org/10422
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b7f4f2023b2b3e1aac46715176940fb50cc75265
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.
    
    Change-Id: Icc03f9098dd25b483d406db5167264ba960cdcb7
    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>

commit 231e50ff9742927188d67099f0e1dbaf09858c3c
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).
    
    Change-Id: I0b18de8e5d9b6cd9b20da43ed050163c2d8651ff
    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>

commit 076b9b746569ebdfbec2c8ae98a1d338c97a3d70
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 29 21:11:54 2013 -0500

    Exit successfully on -help
    
    Running a command with -help is not an error. cmd_Dispatch handles
    this correctly, but several server processes call cmd_Parse directly,
    and exit with failure on -help. Make them exit successfully instead.
    
    Change-Id: Ieab32ba4a62a182308538469e69320d241dc3aad
    Reviewed-on: http://gerrit.openafs.org/10421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d28a21f0d806e867ccef9bd534ce25b52978df62
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 21:58:21 2013 -0500

    klog.krb5: Don't hide the -x option
    
    We accept the -x option, even if it doesn't do anything. Don't hide
    it, to be honest about what options we accept.
    
    Change-Id: I779558c429b18c97c495c5e9ae81f8630383f572
    Reviewed-on: http://gerrit.openafs.org/10420
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e7b75a2e405032990932bf7734e851379c32adf6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 3 18:59:08 2013 -0600

    Do not hide -enable_{peer,process}_stats
    
    Both afsd and kaserver accepted the -enable_peer_stats and
    -enable_process_stats options, but they did not include the options in
    their usage message. We already document these flags in the manpages,
    so also include them in the usage message; they are not a secret.
    
    Change-Id: Ic1ff0e8c0dcd07e2721676b09a53c30a3db3ee9d
    Reviewed-on: http://gerrit.openafs.org/10419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 701fe99a58f2be2a82b3dd83658c09bdbc715f55
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jun 30 17:44:21 2013 -0500

    ptserver: Fix argument aliases
    
    It's "-db", not "db". Similarly, it's "-depth", not "depth".
    
    Change-Id: I24a3f08d02f9b14d06ad3f04c52957c46001b2d9
    Reviewed-on: http://gerrit.openafs.org/10418
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 20faeaaa324c3dc13824727e352bcfba2e2387f9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jun 30 13:41:47 2013 -0500

    bozo: Fix help message formatting
    
    Need a space here to separate [-allow-dotted-principals] from the
    following option.
    
    Change-Id: Iabe353fd1c5366064a448c15a7c986d0fcf35415
    Reviewed-on: http://gerrit.openafs.org/10417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f2ac99c5b4e905f77d64efea9a9d9ab357331957
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 16:17:44 2013 -0500

    viced: Misc argument parsing fixes
    
     - It's -pctspare, not pctspare.
    
     - The -config and -logfile options are already specified in the
       "testing" options section. Don't specify them again here.
    
    Change-Id: Ieace97d92d35dc2e310a8122bdec7987246aa723
    Reviewed-on: http://gerrit.openafs.org/10416
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5e461e52dcd02e7b18424c89fa64f05f67c8654c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 27 23:19:24 2013 -0500

    doc: Add 'fs discon' manpage
    
    Change-Id: I67c3bf50bfb7f4f7c0eb46cd011cc8ae68ec5302
    Reviewed-on: http://gerrit.openafs.org/10415
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit e96803d22a7393e280dc206b7db6b008a78f0643
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Oct 19 16:12:03 2013 -0400

    doc: Add 'fs nukenfscreds' manpage
    
    Change-Id: I51c6cd56f463e10ab51adf20a0cf8505e3361326
    Reviewed-on: http://gerrit.openafs.org/10414
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit fb311d271ddc335c38c3a0775720695cb29b08f2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Oct 12 23:55:09 2013 -0400

    doc: Add 'fs precache' manpage
    
    Change-Id: Ib4101fdb37cf91a547974216425e4a005392d988
    Reviewed-on: http://gerrit.openafs.org/10413
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit ff3fca515e558d1ed62955ab11f5b328471a94ba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 5 00:48:02 2013 -0500

    doc: Symlink all dafssync-debug pages
    
    For every fssync-debug subcommand, provide a symlink for the
    associated dafssync-debug subcommand. This way, running e.g.
    "man dafssync-debug_attach" will actually give you a manpage, instead
    of needing to specifically run "man fssync-debug_attach".
    
    Change-Id: I83d71dc14f9f838d9a9900fcc62817677898dd27
    Reviewed-on: http://gerrit.openafs.org/10412
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 477f270656171da1cc69902b6b5917d79e19bd3d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 4 10:04:42 2013 -0600

    doc: Fix livesys output formatting
    
    If we indent text here, the formatting codes are not interpreted, and
    the text is output "raw". So currently, we actually see
    "I<system_type>" in this section, which is a bit confusing.
    
    Saying the actual output with string substitutions and stuff here
    doesn't seem very helpful when the output doesn't have any constant
    text in it. Just describe what the output is instead; an example
    immediately follows if this is unclear.
    
    Change-Id: Ib3e0f0c5143afa2dd41a655ff3908c791026a426
    Reviewed-on: http://gerrit.openafs.org/10411
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit e3cd2bcc613743f1e49c4da011a7c6bb580ff1ef
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 5 00:26:00 2013 -0500

    doc: butc manpage fixes
    
    Add missing -rxbind option.
    
    Change-Id: I25fb205dc058ed345bda4d86bd1d344457432939
    Reviewed-on: http://gerrit.openafs.org/10410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bd8282d7bcd84a96f1007e86782e35d7ed9004d9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 22:14:07 2013 -0500

    doc: pt_util manpage fixes
    
    Add missing -help option.
    
    Change-Id: I2edd7bcaf5b5799ba1216777200580df2cd9ca7f
    Reviewed-on: http://gerrit.openafs.org/10409
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0ccd02ebae1308d7b73cb5aa257f7cb0a1d1b805
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 22:10:16 2013 -0500

    doc: kdb manpage fixes
    
    Add the missing -numeric and -long options.
    
    Change-Id: I83776e64a161bc0a3ca9260944570799c506bbac
    Reviewed-on: http://gerrit.openafs.org/10408
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 37cdc7113279d0e04ad4d7e36776d2af963d0bf8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 21:49:05 2013 -0500

    doc: volinfo manpage fixes
    
    We now have a -checkout option, but no -online option. Document
    -checkout and remove -online.
    
    Change-Id: Ie8d6e35c6e09abf994b8417b3bb20ee379095a25
    Reviewed-on: http://gerrit.openafs.org/10407
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c9b2a191ea87eee909d2bf64b13e95ae90877ed4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 21:00:14 2013 -0500

    doc: rxdebug manpage fixes
    
    Add missing option -long.
    
    Change-Id: I23e3bc38e6962b7727a2aaa07bab7b0818ebcee0
    Reviewed-on: http://gerrit.openafs.org/10406
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 374593ca5790203cd856ea1705dbda721d3c3f3a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 24 18:00:25 2013 -0500

    doc: vldb_check manpage fixes
    
     - Add missing option -fix
    
     - Don't use brackets in the option list; we don't do this in most
       other manpages.
    
    Change-Id: Ifd87dd749aaab2987b2f9c3224b8e931b7bc221c
    Reviewed-on: http://gerrit.openafs.org/10403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a86ca4a49c7d3d693d9fd03e7dad6a1f8d1c57e9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 20:54:20 2013 -0500

    doc: upserver manpage fixes
    
    Add missing option -rxbind.
    
    Change-Id: I1e6057c3747cf6c502bf14e1d094b8b64691615d
    Reviewed-on: http://gerrit.openafs.org/10405
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit c9dad4dd6f5d43340b8c566ba89365e2e9fa69f5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 26 20:40:50 2013 -0500

    doc: afsmonitor manpage fixes
    
    Add missing option -debug.
    
    Change-Id: I48b37cce536987f5cbf3905e1de70238e83664b5
    Reviewed-on: http://gerrit.openafs.org/10404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ade56fa2f9ba8217919dbae301639c3ff10027ef
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Jun 29 21:06:51 2013 -0500

    doc: Make all vos pages =include common options
    
    Many manpages for "vos" subcommands were not using the "common" vos
    fragments, and instead were just repeating the information directly in
    their manpage. Make them all use the "common" vos fragment to avoid
    duplication.
    
    Change-Id: I62d84a1164b4ba46082e33a6d27fd24e3722014c
    Reviewed-on: http://gerrit.openafs.org/10398
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7e49cd3110f4833bd3d8c4f7be85a5edcd3d7e7c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 20 17:45:05 2013 -0500

    doc: vos manpage fixes
    
     - Add missing -config option to 'common' vos options, and to the
       synopsis for all commands
    
     - Remove brackets in the options descriptions for vos_shadow,
       vos_create, and vos_clone. We don't do this in other manpages.
    
     - vos_create: Add missing -id, -roid to synopsis
    
     - vos_clone: Add missing -readwrite option
    
     - vos_shadow: Add missing -toid option
    
    Change-Id: I41fd56509e78116698c82a2f3f4fd07f26cdc95f
    Reviewed-on: http://gerrit.openafs.org/10397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 90398d078755e84b9c1b0864485744473f0316f9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Jun 29 15:59:51 2013 -0500

    doc: fs manpage fixes
    
     - fs_whichcell: Fix formatting typo
    
     - fs_setcbaddr: Change -host to -addr
    
     - Add missing -help to fs_setcbaddr and fs_rxstatproc
    
     - fs_getfid: Add missing -literal to synopsis
    
     - fs_exportafs: List on/off options in single =item. Doing this in
       two separate consecutive =items confuses the manpage generator.
    
     - fs_exportafs: Add missing -clipags and -pagcb
    
    Change-Id: I4e986543292f1000fc00456fde486d7da573c9c3
    Reviewed-on: http://gerrit.openafs.org/10396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 202c1018b1b8646083368d55ed0dae64229b6a8b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jun 30 18:59:02 2013 -0400

    doc: restorevol manpage fixes
    
     - Remove nonexistent -verbose option from synopsis
    
     - Add missing options -umask and -help
    
    Change-Id: Iedddf78c074ead9ab3454bf151adb90138a562b6
    Reviewed-on: http://gerrit.openafs.org/10402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f430e98ce74eebe50417ac2d0cb151b8fe953edf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 3 19:04:30 2013 -0600

    doc: bosserver manpage fixes
    
    Fix -noauth documentation. The current documentation is referring to
    the client-side -noauth option, but this is actually the server-side
    -noauth option, which is very different.
    
    Change-Id: I65154aef4734e69bb0f3ae485baacac11a718488
    Reviewed-on: http://gerrit.openafs.org/10401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8387a00550c2ac6a195a2c016276de0202c1d26e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 3 19:03:42 2013 -0600

    doc: vlserver manpage fixes
    
     - Indent synopsis formatting
    
     - Add missing options -trace, -noauth, -smallmem, -rxmaxmtu,
       and -syslog
    
     - Fix some formatting typos in the synopsis
    
     - Document the -db alias by putting it next to the -database option,
       separated by a pipe "|"
    
    Change-Id: I4c84baf53d346cb47416cb2843e8b7de2437d147
    
    vlserver: -database option
    
    Change-Id: I7f5539aeebee71441a3901a183033fac05fa411f
    Reviewed-on: http://gerrit.openafs.org/10400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1974b55b1cd6dacbf7374e926c6dd94d61687505
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 3 19:02:50 2013 -0600

    doc: ptserver manpage fixes
    
     - Indent synopsis formatting
    
     - Document the -db and -depth aliases by putting them next
       to -database and -groupdeth (respectively) separated by a pipe "|"
    
    Change-Id: Ic40fa0001feee293afe6c22ade7b85dc46fde938
    Reviewed-on: http://gerrit.openafs.org/10399
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit f5340b748bedc3663469c3fb9598a9eb277ecb7c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 20 17:20:17 2013 -0500

    doc: Add -help option to fssync-debug manpages
    
    Change-Id: Id90554b1c56437c62ff9982681ac8a64d4d34948
    Reviewed-on: http://gerrit.openafs.org/10395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1aaeafb45f9746e98f61a93d14b94f42e2ed223a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 30 23:27:19 2013 -0500

    doc: volserver manpage fixes
    
     - Fix synopsis formatting, so option arguments are on the same line
       as the option name
    
     - Add missing options -rxmaxmtu, -rxbind, -syslog, and -sleep
    
    Change-Id: I6e6f06d716e7f78be288bfebde97a3701f086924
    Reviewed-on: http://gerrit.openafs.org/10394
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3c776a0e5ed5a39e5b48c5885e83631a8c431d4f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 16:54:01 2013 -0500

    doc: fileserver manpage fixes
    
     - Fix typo in -syslog option formatting
    
     - Add missing -nobusy
    
     - Add missing -vlrudisable
    
     - Add missing -sync in synopsis
    
    Change-Id: Id63c3228af619c2da5ef88a40e9c2e91888535bb
    Reviewed-on: http://gerrit.openafs.org/10393
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fe4bdeaf6dee1d7d499d6e5d70ba9f500d864c28
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 16:15:03 2013 -0500

    doc: kaserver manpage fixes
    
     - Add missing -rxbind
    
     - Add missing -crossrealm
    
     - Fix synopsis formatting, so option arguments are on the same line
       as the option name
    
    Change-Id: I8c73d0f14396aad83651c3037fde1137d83e6692
    Reviewed-on: http://gerrit.openafs.org/10392
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 10b356c1ebb060b8c5c154ca62886dd5a80c5940
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 16:03:40 2013 -0500

    doc: voldump manpage fixes
    
    Add missing documentation for the -time and -help options.
    
    Change-Id: I04ca0fe6d4a5c298415e450a38a19b719dca4800
    Reviewed-on: http://gerrit.openafs.org/10391
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 070230ab76e1df338db3f2a7971111ca976a0c1a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 15:58:45 2013 -0500

    doc: bos manpage fixes
    
    Add missing documentation for the -mode option.
    
    Change-Id: I360dc3d4cc6d7405feb655bbf2a05aee27a41d46
    Reviewed-on: http://gerrit.openafs.org/10390
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cb8576d77fd48c2631b76006db56557c1a2d4fa9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 14 15:33:19 2013 -0500

    doc: buserver manpage fixes
    
     - Add missing -ubikbuffers
    
     - Remove -enable_peer_stats and -enable_process_stats; we don't
       actually accept these options
    
     - Fix synopsis formatting, so option arguments are on the same line
       as the option name
    
     - Fix the -noauth documentation. The current text is referring to the
       client-side -noauth option, but this is actually the server-side
       -noauth option, which is very different.
    
    Change-Id: I11e557e54a8539627ae7bb79cb7af3e8fbc77d25
    Reviewed-on: http://gerrit.openafs.org/10389
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 54cecedb429a02b108e18ba92304c659728153f5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 3 17:58:02 2013 -0600

    doc: Fix udebug -port bullet list
    
    The formatting gets screwed up if we have multiple =item tags together
    like this. To just have each one be a bullet point, just have a bare
    =item before each one, without a "tag" or "key" for the =item.
    
    Change-Id: I5cb7a98bd16f5999d529a42a0f822835f6d2f66e
    Reviewed-on: http://gerrit.openafs.org/10388
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f69bf0b19490ddde05917f7467383bbe248e81c4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 12 18:22:27 2013 -0500

    doc: pts manpage fixes
    
     - Mention the -help, -auth, -encrypt, and -config options for all pts
       commands in their synopsis
    
     - Add the -auth option to the pts.pod page
    
     - Reference the -auth, -encrypt, and -config options from all
       subcommand pts pages
    
     - pts_removeuser: Replace -name with -user
    
     - pts_sleep: Add missing -delay
    
     - pts_source: Add missing -file
    
    Change-Id: I4f0889d661c46f6bdd2a9604d8423d809a632d2d
    Reviewed-on: http://gerrit.openafs.org/10387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3dc1fb3feba83d2b537039b8384dbff611bf6495
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Mon Oct 14 11:39:02 2013 -0600

    doc: add linked cells description to man pages
    
    The man pages previously described linking DCE cells to AFS cells.
    OpenAFS and YFS also allow linking between two AFS cells. Update the
    description of linked cells in CellServDB(5), aklog(1), and
    fs_newcell(1) to refer to AFS instead of DCE.
    
    Add a linked cell example to the CellServDB man page with an
    explanation.
    
    Change-Id: Ic9b1c643861b7307c09fcc5a1775f4abf4cb4155
    Reviewed-on: http://gerrit.openafs.org/10342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3fa2f656f3ecc52cf71d17e5f3dadec70b852e93
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: I1c9ac4f9a6d03077047837af6ef9a09e256ea07d
    Reviewed-on: http://gerrit.openafs.org/10235
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b73fa104ea9e1651114377c1e4f8e05705edc6c3
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: I9a60da6db65511c8bf2391a53a6f76043f825078
    Reviewed-on: http://gerrit.openafs.org/10238
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2fb13e7e795934398bdb49599e5df8abf619a2bf
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: I114341f8a71654b0a064d6dad2a704dd1fa8dbe2
    Reviewed-on: http://gerrit.openafs.org/10236
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 13a746abfb4d8a34b17f31a278cfae3148eccd78
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: I11b4c42868ca67e4717fd431b1d33a85ce57bd0f
    Reviewed-on: http://gerrit.openafs.org/10234
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 765d964f13e49fe94a9a75839571fbffa04a0b65
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: I10e35afbc1f1469038e111a7bbd209c8897c8972
    Reviewed-on: http://gerrit.openafs.org/10233
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit aa4f70578ec825742567a70213f7acd78a58ce19
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: Ic9063280d88eb28d84851cbe6b7e4867a1110659
    Reviewed-on: http://gerrit.openafs.org/10232
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 064558a69281398d1dc6873453449eee9b3a8d8d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 28 01:06:47 2013 -0400

    Windows: RDRLib Worker Thread shutdown
    
    The thread waiting to unload the library is polling the state of
    the AFS_WORKER_INITIALIZED flag in the PoolContext->State field
    for each worker.  Ensure that the thread performs no actions other than
    PsTerminateSystemThread() after clearing the AFS_WORKER_INITIALIZED flag.
    
    Change-Id: I0baa92f05a5d5f00219a2cc63ca71c7a6a1f52b5
    Reviewed-on: http://gerrit.openafs.org/10383
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c0a33ddd82736d71faf2585495102fe1e4b88eb0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 29 08:24:06 2013 -0400

    Windows: Uninitialized TargetNameLength/Offset
    
    In RDR_PopulateCurrentEntry it is possible for TargetNameLength and
    TargetNameOffset to be uninitialized resulting in stack garbage being
    returned to the redirector.  This can result in a blue screen.
    
    Change-Id: Ifa306ba54bea3f26f1938cbd6bdc28521065299d
    Reviewed-on: http://gerrit.openafs.org/10373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6e26922f68d2b0f692212e6150d7955a0d393929
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 18 19:26:56 2013 -0400

    Windows: cm_NewSCache skip in hash recycled entries
    
    If cm_RecycleSCache returns an in-hash entry it means that either
    it wasn't recycled properly or somehow we raced this entry with
    another thread.  Just skip it and keep searching.
    
    Change-Id: Ia443a04b063a019003662639d31f96db486d673c
    Reviewed-on: http://gerrit.openafs.org/10353
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 05ecdb353a7c960a34133002a388889e9882d946
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 18 19:14:00 2013 -0400

    Windows: cm_RemoveSCacheFromHashTable scp not found
    
    If the cm_scache_t has CM_SCACHEFLAG_INHASH flag set but cannot be
    found in the CH_SCACHE_HASH(&scp->fid) hash chain then search the
    entire hash table for the object.  At the end of the function we
    will know that the CM_SCACHEFLAG_INHASH flag is safe to clear.
    
    Change-Id: I92bfad98b7d3cdc42b5aa6b8fae24d47557465e7
    Reviewed-on: http://gerrit.openafs.org/10352
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7068836e6bab73e9edcb2c84727b92b25e1a6109
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Sun Oct 20 14:29:35 2013 -0400

    Windows: EOF for Synchronous Deferred Writes on XP/2003
    
    The Windows IO Manager is not supposed to issue multiple
    outstanding cached writes to a file system for a synchronous
    file object.  To do so would risk out of order application
    of writes that extend the end of file and in turn risk data
    corruption.  It turns out that on Server 2003 SP2 and more
    than likely XP and 2000 as well, if a file system returns
    STATUS_PENDING because a write was deferred due to the
    Windows Cache Manager failing CcCanIWrite(), the IO Manager
    will happily continue issue subsequent write requests.
    
    On OSes older than Vista disable the use of deferred writes
    and sit in a spin loop waiting for the Windows cache manager
    to make room.  This is much less efficient and increases the
    write latency but it is safe.
    
    Change-Id: Ic47d62749bdb4d0475661967fcbfd25834f21a72
    Reviewed-on: http://gerrit.openafs.org/10351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e1f75c1401c5391a123daa2f59af7544a3418195
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 21 11:26:16 2013 -0400

    Windows: Store OS version as a global
    
    In DriverEntry() RtlGetVersion() is used to obtain the OS version
    information.  Store the result in a global structure that can be
    used elsewhere to make run time decisions based upon the OS.
    
    Change-Id: I194e7da6858d1dea755d8de82a9bee70e63ade4d
    Reviewed-on: http://gerrit.openafs.org/10350
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c56d99e9dd240b2485acc07f5b81a6195c6e0856
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Oct 25 17:45:38 2013 -0400

    Remove bucoord/expire.c
    
    It was not compiled into anything.
    
    Correct references in bucoord_internal to command.c.
    
    Remove the forward declaration of struct cmd_parmdesc and make cmd.h
    a prerequisite for this header, since all but two consumers had cmd.h
    already.
    
    Change-Id: Id60a550871643610ccd96c226ecf0a3c4acb3955
    Reviewed-on: http://gerrit.openafs.org/10363
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7b5f27f944ad773a45f1d47fa9b8962097999783
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Oct 3 21:42:10 2013 -0400

    auth: prevent uninitialized key list in AFS config
    
    _afsconf_OpenInternal() may exit early for a number of reasons
    before properly initalizing afsconf_dir->listKeys.
    This leads to a crash when _afsconf_CloseInternal() attempts
    to clean up listKeys.
    
    Prevent this situation by calling afsconf_InitKeys() before any
    possible exit from _afsconf_OpenInternal().
    
    Change-Id: I6911427817a2518a576c00a7ea56351f9fb4fd19
    Reviewed-on: http://gerrit.openafs.org/10323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit aa440ec7cbb8732ad0d9e1e1401fe4929c2cfd50
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Oct 25 13:47:59 2013 -0400

    ubik: fix include quotes
    
    Include the generated header in the current directory.
    
    Change-Id: Iaa22fcfd0e22e5f33e7c9bf8a26a838b25668160
    Reviewed-on: http://gerrit.openafs.org/10361
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4af32591f05ce2d3237c0aeaa785799d11680152
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 23 15:32:19 2013 -0500

    vos: Remove pthread send/receive select()
    
    Commit 65e701fee4968b17066bb81e25b7adaa4024d4f3 introduced a couple of
    select() calls when the pthreaded vos writes to or reads from a usd
    pipe, corresponding to the IOMGR_Select() calls in LWP. However, these
    select() calls are unnecessary, since the read() or write() calls
    themselves will block anyway. The reason they are there for LWP is so
    the IOMGR can run another process while we're waiting for the file
    descriptor to be ready.
    
    The select() in ReceiveFile currently incorrectly waits for the output
    to be ready for reading, even though we're trying to write to it. As a
    result, if we try to 'vos dump' to a pipe with the pthreaded vos (such
    as stdout), we will hang forever, since it will never be ready for
    reading.
    
    To fix this, just get rid of the select() calls, since they don't
    really do anything.
    
    FIXES 131749
    
    Change-Id: Ibe8841e0c01f1e55ac4ca1a8a99ab71083654662
    Reviewed-on: http://gerrit.openafs.org/10360
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f7c31f865cd6cda9105a362f26fdd82a500adb37
Author: Perry Ruiter <pruiter@sinenomine.net>
Date:   Tue Oct 22 05:46:10 2013 -0700

    afs: Clarify comment
    
    Fixing a couple typos and rewording a comment for clarity in afs_segments.c
    
    Change-Id: Ic631b6f8d59e4e9a56f61e583a8ef0f8f8794d8b
    Reviewed-on: http://gerrit.openafs.org/10364
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1b674ae30925c8459e1a5614e19562af460850d8
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.
    
    Change-Id: Ic79ff26aa39e08940b6035770fe4c6f15b02c418
    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>

commit 1bdcc3c7bca092f189f434f1f7b174090c24250c
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.
    
    This lets us get rid of a workaround for the FreeBSD kernel build,
    wherein particular compiler flags masked the stack corruption that
    can occur due to this ABI mismatch.
    
    Change-Id: I68f9947b0875dca7343ecd41a4c529d5c5bc3be5
    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>

commit e222b08c4049dae95475eda2d5c54bd43dd45e2e
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.  Fixing this lets us get rid of some unnecessary -I
    arguemnts in the kernel module build, which seem to have not been functioning
    as expected, anyway.
    
    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.
    
    Change-Id: Icc253b1e938a58a7ab8d1b789c82b9b940d263fd
    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>

commit 0a5e878aa0a71c4dfaef1806744ed78bcc13b9f4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 17 20:22:48 2013 -0400

    viced: Improve client error log messages
    
    Commit 6c41b1f740e16b5b9adfe9026630595be6f0699e improved a few log
    messages to include the client ip and port of the request triggering
    that log message. Include the viceid and fid (if applicable), too, so
    an administrator may more easily identify the cause.
    
    This creates the function LogClientError, so we can use a common
    function for logging very similar information. This also modifies
    h_FindClient_r to give the viceid to the caller, even in the case of
    error. In addition, this modifies CallPreamble to accept a fid and
    modifies all callers to accomodate.
    
    Change-Id: I326e17538265ea3251db27a05ede25c33e9a230d
    Reviewed-on: http://gerrit.openafs.org/10347
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5828b993c3757665348643de16fe36aa90cb98f4
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Oct 9 08:06:03 2013 +0200

    tabular_output: enable compilation on Windows
    
    Add the required directives to the makefile.
    
    Change-Id: I7a6e612b37cbf1f6cb61faf55d7c248f8f85808c
    Reviewed-on: http://gerrit.openafs.org/10328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0954c7859939b548afab01d11b7bc6288cdbc3ea
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Oct 9 08:01:35 2013 +0200

    tabular_output: move public headers
    
    from tabular_output.h to afsutil_prototypes.h
    Like this, tabular_output.h does not have to be included
    in any devel-package.
    
    Change-Id: I9e3089fe4a65b2a801c45ba513a8f5dc49ce609b
    Reviewed-on: http://gerrit.openafs.org/10327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 950dec0715de719f90a4cf59293f0c70d42841cc
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Oct 10 13:50:26 2013 -0400

    Convert buserver to libutil's logging
    
    The primary motivation is to get automatic log rotation, but we
    also get built-in locking for the logging calls.
    
    This does have a side effect of changing the format used to print
    timestamps in the log file.
    
    Export WriteLogBuffer from liboafs_util so as to be mostly compatible
    with the ... idiosyncrasy of LogError()'s previous behavior.
    
    Garbage-collect the unused (and un-exported) printHashTable() and LogNetDump().
    
    Change-Id: I860370e60082ea355806b3f1945eee76db7c32e3
    Reviewed-on: http://gerrit.openafs.org/10333
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Karl Ramm <kcr@1ts.org>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 600712877ca0883c6ec609d51909336964b06cba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 3 12:38:08 2013 -0500

    salvager: Ignore linktable-only RW volumes
    
    In general, the salvager will try to salvage any volume if we find an
    inode for that volume. However, for namei, we'll always have at least
    one inode for the RW volume, even if we only have e.g. an RO volume at
    a particular site, since the linktable special inode is always marked
    as for the RW volume id. So, if we salvage a volume group that only
    has an RO, normally we would also try to salvage the corresponding RW,
    even if it doesn't exist. We would then recreate the "missing"
    metadata files, so after salvaging, the RW appears to exist as a
    normal volume.
    
    The salvager currently tries to avoid this by skipping salvaging the
    RW if we find more than one volume in the volume group, and if the RW
    only has one special inode, and that one special inode is the
    linktable. This solves the problem most of the time, but misses a few
    corner cases:
    
     - If we found more than one linktable, we'll try to salvage the RW
       anyway. This shouldn't happen, but certain cases of corruption can
       cause incorrectly-named linktables, resulting in multiple
       linktables.
    
     - If we only find one volume (the RW), we'll still salvage the RW,
       even if the only inode for it is a single linktable. This can
       happen due to botched salvages in the past, or interrupted deletes
       and such. It's just cruft.
    
    In any situation like those, we cause an RW volume to be created where
    there previously was none. This can be a problem, since the RW volume
    is unknown to the administrator, and does not appear in the VLDB. Such
    "phantom" volumes can be very confusing and can cause problems in the
    future. For example, if that same RW volume is moved to the server
    with the "phantom" RW volume, we now have two of the same RW volume on
    the same server on different partitions, which is a big problem.
    
    So, to avoid these corner cases, check all of the special inodes to
    see if all of them are linktables. Also perform this check if we don't
    have any non-special inodes (even if we only see 1 volume), to catch
    the "cruft" case above.
    
    Change-Id: I00df021ebedce44f69302a48ed2716bd9bda124e
    Reviewed-on: http://gerrit.openafs.org/10321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2286fac1447e2e9e834957ec414cb5605f51e63b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 1 17:31:44 2013 -0500

    namei: Set inconsistent linktable linkCount to 0
    
    Currently, if we detect an inconsistent linktable filename (where the
    filename indicates it's for a different volume than the directory path
    indicates), we don't set the linkCount for the inode info. This means
    that our caller will get random garbage for the linkCount.
    
    In many cases this value is ignored, but for the salvager, if this is
    the only linktable file we find, we treat it as the linktable we
    should be using. Thus, if linkCount contains undefined data, we might
    try to INC or DEC the linktable a bunch of times, depending on what
    random stack garbage the linkCount is filled with.
    
    The salvager shouldn't be INC/DEC'ing these linktables according to
    the their linkCount anyway, but in the meantime, at least ensure that
    this doesn't contain stack garbage, so we ensure that we won't try to
    INC or DEC this thousands or millions of times.
    
    Change-Id: Ib5e7f45d5739878434cbe57b6f2ab532f002e5b8
    Reviewed-on: http://gerrit.openafs.org/10320
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0b1ee8c1c359fe16693bf117524f54160ebe53e3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 29 14:22:46 2013 -0400

    Reorder bosserver startup prior to pthreads
    
    The rx calls will take locks when built in pthreaded mode, and must go
    after rx_Init().  Some other setup would benefit from using time-domain
    locking and should run before we go multithreaded.
    
    In particular, initialize bozo_confdir while single-threaded, as it is
    otherwise protected by the afsconf internal locking.  While here, pass
    NULL to afsconf_SetCellInfo -- bozo_confdir would always be NULL there,
    anyway.
    
    Change a couple globals into local variables in main; they are just
    used to defer setup after argument parsing.
    
    ReadBozoFile will create worker threads to monitor child processes,
    so it cannot move up too far.
    
    Change when we daemonize, too.
    
    Change-Id: If7b6883748919270c9a5a41cd8e6fb724e95aa36
    Reviewed-on: http://gerrit.openafs.org/10285
    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>

commit 54eb2485b59550ba42569ed3a8d76211a3a35019
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jul 17 15:00:11 2013 -0400

    bozo: Remove dead code and minor cleanup
    
    This stuff has been #if 0'd for ages; put it out of its misery.
    
    While here, remove the global bnode_waiting which is not used for anything.
    
    bnode_SoftInt claims to return a pointer, so return NULL instead of 0.
    
    Change-Id: Ie7b32bbc606a105190d246355f47bd7ea885c6f8
    Reviewed-on: http://gerrit.openafs.org/10284
    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>

commit 47124f337b43f8731bfbe3bd71e42d046a4d1075
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 12 17:37:29 2013 -0500

    viced: Avoid endless BCB loop
    
    Without this commit, when we break callbacks for a fid, we loop over
    all callbacks for the fid, break a few of them, and then start over.
    We do this repeatedly until we run out of callbacks. If a client sees
    a callback break, and then establishes a new callback promise while
    the fileserver is still breaking callbacks, the fileserver can break
    the same callback for the same host again and again. This can continue
    forever, if the client establishes its new callback promises quickly
    enough.
    
    So to avoid this, when we start breaking callbacks, flag all of the
    callback structures that we want to look at. Then when we repeatedly
    loop through all of the callbacks for the fid, only look at the
    flagged callback structures.
    
    This adds a 'flags' field to struct CallBack, and defines a single
    flag, CBFLAG_BREAKING.
    
    This is an alternative fix to the issue also fixed in 843d705c. This
    implementation avoids allocating extra memory under locks, and has the
    slight benefit of not breaking callbacks that were elsewhere deleted
    during the BCB. This comes at the cost of a single extra traversal
    through our callback list, and the cost of claiming one of the bits in
    the CallBack structure.
    
    Change-Id: I6418bd404de61ec7a531261ecf581eeea719a2d4
    Reviewed-on: http://gerrit.openafs.org/10172
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2482340afb906a9719994742ef26500c6e67ccea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 20 20:51:04 2013 -0500

    Revert "Atomically collect callbacks to be broken"
    
    This mostly reverts commit 843d705ca6f0250c3760ec2aa1f3403d19de3df1.
    That commit causes each callback-breaking thread to potentially use up
    a large amount of memory, as well as possibly causing large memory
    allocations under H_LOCK, which isn't great.
    
    There are other ways to allow for atomic callback breaks. Revert that
    commit to allow for alternative methods to be implemented in separate
    subsequent commits. Do this in separate commits so pullups to stable
    branches are easier.
    
    This does not revert the change in the definition of MAX_CB_HOSTS.
    That value can still be large due to the improved multi_Rx
    implementation.
    
    Change-Id: I14024b4d80696b0361658b1c5ae7af308629fab4
    Reviewed-on: http://gerrit.openafs.org/10171
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit de7bd44d00d51272a53eb109efabc14b65021e33
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 30 18:12:21 2013 -0500

    salvager: Improve comments
    
    "these used to be asserts" is not a useful comment. This area of code
    does maybe look a little confusing at first glance, though, so replace
    these with comments that are more informative.
    
    Change-Id: I4e0b9dff3d010931e02559e82165ffbd61c5b189
    Reviewed-on: http://gerrit.openafs.org/10313
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6a4831e0e9a003bed06ac2269987c69090d3f7e7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 30 17:53:36 2013 -0500

    salvager: Fix in-memory invalid linktable counts
    
    When we have a nonexistant or invalid linktable, we manually set all
    of the linkcounts to 1, since we're recreating the link table from
    scratch. However, we also have a linkCount count in our in-memory
    allInodes array, which could be populated by garbage if we had a
    garbage linktable. So make sure to set our in-memory linkCount to 1
    for each inode, so we don't use garbage linkcount data.
    
    Change-Id: I8f4873e12f70f81ee6f2c764957e77136b0a385e
    Reviewed-on: http://gerrit.openafs.org/10312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 93b0e0d50fb14561ca2b8b0c20876826335ec1ab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 30 17:51:40 2013 -0500

    salvager: Whitespace formatting
    
    The whitespace here is pretty weird. Clean it up a little.
    
    Change-Id: Ia558d453301ee1231cfb21ee87dc7f190dc905d7
    Reviewed-on: http://gerrit.openafs.org/10311
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2bbba424ad6728a221688f782b4df90bf6da4a63
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.
    
    Change-Id: Iefb7be16bb76b709ffd7cfc082ef9078adf9e354
    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>

commit b0d75d0687a3436201411384c570448a49a9db15
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.
    
    Change-Id: I44bb015990782793eac9326b983b704b2248b230
    Reviewed-on: http://gerrit.openafs.org/10324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6016d2291a3a14777283c0ea5c9c37d761c9e1f6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 22 15:29:52 2012 -0400

    procmgmt: Introduce spawnprocve_sig
    
    Introduce spawnprocve_sig, a variant of spawnprocve that allows
    a caller to spawn a process with a specific signal mask.
    This is useful when we want to set a mask that is different
    from the current one.  It needs to be done after the fork()
    so that the current thread is not affected.
    
    Change-Id: I900c85cb70d22756b78562618b0e853dcedf8235
    Reviewed-on: http://gerrit.openafs.org/8749
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1cf6678fdaae82871a9aeb4addfed3a2db1954e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 12 15:58:34 2013 -0500

    ihandle: Make sure we don't ih_attachfd invalid FD
    
    Right now, if you give ih_attachfd_r an invalid fd, and fdLruHead is
    NULL, we'll return an FdHandle_t* for an invalid fd. Nowhere in the
    code is this possible right now, but the implementation of
    ih_attachfd_r and ih_attachfd doesn't make this very clear.
    
    Ideally the "close some fds and retry" behavior in ih_attachfd_r will
    be split out, so this code could be easier to follow, and we could
    implement open() EMFILE retrying for icreate operations. But for now,
    just make the current behavior clearer, so future modifications do not
    introduce such mistakes.
    
    Change-Id: Ibc80b32bc6f50480d12e3241fe198bc0587a962c
    Reviewed-on: http://gerrit.openafs.org/10249
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6bfc2be65bbf39e6be4a8ab7f8cfbfa66bc9363a
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Sep 26 22:07:39 2013 -0400

    DOC: afsd man page: give an example of the direct volume mount syntax
    
    The syntax is a little confusing, so an example is needed to clarify it.
    
    Change-Id: I413a5f2af6ccf48e780007c658c35a34384d09e0
    Reviewed-on: http://gerrit.openafs.org/10281
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9f4684cd5fac5eacf571b882e965150943383170
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 1 10:57:07 2013 -0500

    vos: more details in vos release -verbose output
    
    When running vos release with the -verbose flag, print the reasons for a
    complete release, and the reasons for doing a full dump of the volume.  When
    doing a full dump, have the verbose output print 'entire volume' instead of
    'full release', to avoid confusion with a complete release.
    
    Change-Id: I041da692bfea5d7eb0c96d51a5a794e3eeeb6d72
    Reviewed-on: http://gerrit.openafs.org/9018
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 341f2af7969842fecf352d2c42c95e56a9216546
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 27 13:35:07 2013 -0400

    fix linux build error in osi_probe
    
    Fix a build error for older versions of linux, introduced by
    commit 7694f536d3997768b69a635616b0cf24d71a595a
    (scsi_command_size became scsi_command_size_tbl)
    
    Fixes a build error on RHEL/CentOS 5.9; 2.6.18-348.3.1.el5.
    
    Change-Id: I7e6f08e7f7cbba47034701e6137eb91fa567dbda
    Reviewed-on: http://gerrit.openafs.org/10282
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1a42219e63b2e511c8940d1993d886a80a34b78c
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Sep 24 11:01:08 2013 +0200

    vos: complain if no fields are passed
    
    to vos "setfields". It might be a misleading if it exists
    sucessfully when clearly invoked wrongly.
    
    Change-Id: Ic92f4e17fde0a0dfc182f9713350800c72fa165e
    Reviewed-on: http://gerrit.openafs.org/10271
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8fc86de33e95efc5cdcd73131d97a2afd1ad935a
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.
    
    Change-Id: I6ede8084aebbd49c5a27aa427ef9782d99a347aa
    Reviewed-on: http://gerrit.openafs.org/10270
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 897e970dbe09d163479719b4c9befa660d99874b
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.
    
    Change-Id: I6e3101bc80262480035dee4c5b2d1b9cbc44b57b
    Reviewed-on: http://gerrit.openafs.org/10295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dbf68229c6c90d65781fdc16565dd1e9b56248c0
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
    
    Change-Id: I14c056606084f80270e05592d3d09a600f804e24
    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>

commit d477118fbda470c6f9f890a1a3f45ad8bad97be5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 11 10:44:37 2013 -0400

    Windows: fix libafscp build directory
    
    NTMakefile specifed the directory as libacl not libafscp
    
    Change-Id: I12af68a19155d0764967f9cd2e8eb2d8795530d5
    Reviewed-on: http://gerrit.openafs.org/10299
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9132b7e474fce9c8c3513db5279feed6a9daba7c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 4 15:53:57 2013 -0400

    Windows: Freelance Do not chase mount points
    
    When adding mount points or symlinks do not chase mount points
    when attempting to determine the FID of the added object.
    
    Change-Id: Ic4e070d687cc56407a19c41f185f3e28db7671bd
    Reviewed-on: http://gerrit.openafs.org/10298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4f266f14c0721111a9d453c3358cddf77eb2641a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 27 18:02:52 2013 -0400

    Windows: cm_MergeStatus avoid lock recursion
    
    It is possible for cm_MergeStatus() to be called while the
    cm_buf_t.mx is already held.  If it is a panic occurs.  Test for
    refcount == 0 before acquiring the lock in addition to afterwards.
    If the refcount is not zero, then we do not need to acquire the
    lock in any case.
    
    Change-Id: I1b73a03f4745e524d7fdf8f9b231b420895ff0fa
    Reviewed-on: http://gerrit.openafs.org/10297
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7efd78539066bedeeb3b579a613d587d8aa6e623
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 4 13:11:24 2013 -0400

    Windows: AFSCreate avoid race leading to NULL dereference
    
    If a test for NULL is performed ahead of an assignment and then
    use of the assigned value, there is a race which can result in
    the assigned value being NULL if the value being assigned is
    altered by another thread.
    
    Perform the assignment first then test based upon that.
    
    Change-Id: I6d50619dab168c2aa12542b14217779f1be08ee9
    Reviewed-on: http://gerrit.openafs.org/10296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8e32b11be6ce0517f75588360a3ca8c333358ca3
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
    
    Change-Id: Ic454b9bf7043f91654dcd1c262ab3790bf2ad272
    Reviewed-on: http://gerrit.openafs.org/10244
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4212c7e604bebcb8f20b67c60323263231611bfb
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.
    
    Change-Id: Ic37d9e1cea7ee7e12594be0dec02000f11efc896
    Reviewed-on: http://gerrit.openafs.org/10273
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d83c1231cf371ac998304cbb2007ca848a514e0c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 18 16:56:23 2013 -0500

    vol: Nuke parent vol special inodes
    
    When we "nuke" a volume, we delete all inodes we can find that are for
    the given volume id. This currently means that if we nuke an RW volume
    id, we delete all of the inodes for file data for the entire volume
    group (since they're all stored in the VG id), but we do not delete
    the special inodes for any non-RW volumes in that volume group. Those
    special inodes left behind are not very useful, since we just deleted
    all of the actual file data.
    
    Currently this means that on namei, it's impossible to nuke the
    special inodes for non-RW volumes, since the namei nuke will only look
    in the subdir for the given volume id. If you give it the RW volume
    id, it won't delete the special inodes as menioned above; if you give
    it the RO volume id, it will only look in the RO subdir, and won't
    find the RO special inodes in the RW subdir.
    
    If a volume group is damaged in such a way that the salvager cannot
    fix it (due to a bug), this means that it is impossible to get rid of
    that volume group completely from the partition on namei without
    manually running "rm -rf" on the relevant AFSIDat directory. Normally
    we have a failsafe of running 'vos zap -force', but that doesn't work
    for non-RW special inodes, as mentioned above.
    
    So, in order to allow this 'vos zap -force' failsafe to work in
    hopefully all situations, also delete the special inodes for the
    parent volume. Use similar logic as exists in the salvager's
    OnlyOneVolume function.
    
    Change-Id: Id29da48a548c70b2b9ada1dd09f41cb59452bd11
    Reviewed-on: http://gerrit.openafs.org/10256
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d14ecfc39a88ee5ff802532d69db30e8ae396f68
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 15:08:30 2013 -0400

    rxgen: cast bool properly
    
    The C type for xdr's bool is bool_t. When casting, use the correct type
    
    Change-Id: I562ee1e48eeffa8fece66176cf13013630d157aa
    Reviewed-on: http://gerrit.openafs.org/10261
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 21c8f4809ee7af9d2ec76cb37747183cee0c0d33
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.
    
    Change-Id: Ibc7dd75670a9b02f34050842b6e54df4f5a7c315
    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>

commit 1c2dcda92ba246e52860f71513447a045c38082a
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Sat Sep 21 00:46:05 2013 +0000

    rx_multi: free the quantity of memory we allocated
    
    Change-Id: I3a666bb5c3b8b9ab222d1170095e46116fac4229
    Reviewed-on: http://gerrit.openafs.org/10266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 33154874bf9d1549552ddedf68d01cff2217bf82
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 16:47:33 2013 -0400

    tkt_MakeTicket5: Use correct bitmask operator
    
    tkt_MakeTicket5 tries to avoid returning heimdal asn1 error codes,
    but uses an incorrect expression that's almost always true. Use
    bitwise & instead of logical && to fix.
    
    Change-Id: I59bffe8c9b98c6f32b967bc37a7989c98c5720b6
    Reviewed-on: http://gerrit.openafs.org/10264
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3d2b8aec7c373ae81c1cbc653a557fbae5605088
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 20 15:27:27 2013 -0400

    Add missing clean rules
    
    do libtool cleanup in src/afsd, src/kauth, and src/venus
    remove ordinary objects in src/opr
    
    Change-Id: Iddf6bb017a38e20e971b9faf576ee2f9e39625c0
    Reviewed-on: http://gerrit.openafs.org/10262
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 43bdcaa855c42681c7034ddf8ce3ca4c44be23b8
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Sat Sep 21 00:36:30 2013 +0000

    Remove AFS_NBSD40_ENV block within AFS_HPUX110_ENV block
    
    Change-Id: Id679f07c811c36b9f47556a9e7be94fe7ba303f3
    Reviewed-on: http://gerrit.openafs.org/10265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2aa26fcb4e3cf5fa85a3aee3263893a0443a2b75
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
    
    Change-Id: I209a89bda06f2c790aca2682468066c7b0bb7edd
    Reviewed-on: http://gerrit.openafs.org/10263
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f785b7f662bb9f9026a32039aca92ac5cb13030a
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Wed Sep 18 19:37:32 2013 -0500

    Add config glue for amd64_nbsd70 and i386_nbsd70 sysnames
    
    Change-Id: I2d0b6848f96aab8d68a41fb6d5892284fca987ad
    Reviewed-on: http://gerrit.openafs.org/10257
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 13165c05836bcd4b3f5655ab2bcc979ff859efa2
Author: Daria Phoebe 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
    
    Change-Id: If099f83973825981b4c568db7572bf30d399c089
    Reviewed-on: http://gerrit.openafs.org/10251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fb623d5da30e6d304f672d8485da2e1781afa5df
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.
    
    Change-Id: Idb098b7c83fef6931fe71dd53a85569a953e5e3f
    Reviewed-on: http://gerrit.openafs.org/10250
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9db8b123e4dab6c25ef4166ad3fa74aaa0f630f4
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
    
    Change-Id: Ia7411e85467ba418dfefa5cd7c2d570fe20a5a68
    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>

commit 9fea1a29dff48d5f49420c6207255e5d6e7c8053
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Sep 4 14:59:04 2013 +0200

    tabular output: fix segmentation fault
    
    inititalize  Table->numAllocatedRows=0;
    
    Change-Id: I72c6a687fde69cad3bf9aedd43d59d382455045b
    Reviewed-on: http://gerrit.openafs.org/10225
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 286065f6d2fd5338252bf06b7ab6b4627a7bc4c9
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Sep 9 21:27:54 2013 -0400

    libuafs: return error on symlink to self
    
    if we are symlinked to ourself directly, return ELOOP.
    
    Change-Id: I408012c4a9afb6bab0e917677c940f65ad59c697
    Reviewed-on: http://gerrit.openafs.org/10240
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ebcbe8f3fae1cf29c426dc3c5f88b03125d0073c
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Sep 9 21:22:02 2013 -0400

    libuafs: move code for uafs_LookupLink
    
    in order that we can make a future version static, move the code.
    
    Change-Id: I67e50ef5f14db3567ecd437b694b62b2c8fdb760
    Reviewed-on: http://gerrit.openafs.org/10239
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a541cd929c3da567be5c745c0eb94ec56cb0da35
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Sun Sep 8 00:11:47 2013 -0400

    libafs: update uio resid in bypasscache
    
    when we do a no cache read, we should decrease the resid as we use
    up buffer... otherwise we have no idea in the caller how much data
    actually got transferred
    
    Change-Id: I50072fddcde1681b3760002d5065b1c2d9b97605
    Reviewed-on: http://gerrit.openafs.org/10231
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit db1de98ecf6fd22b9c36b3ba284984f03cb0ae35
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu Sep 12 13:34:04 2013 +0200

    client: flag in cachemanager if rmtsys is enabled
    
    when processing "fs sysname" on a client, a rmtsys-related
    checks are executed by default. These prevent a user with gid
    2750 and 274i8 (0xabc and 0xabe) from executing this command.
    Add a new flag inside the cachemanager for the rmtsys-
    functionality. This flag is set through a new ioctl by the afsd
    on startup.
    
    Change-Id: Idf95aa81cc1dbb46c70a11b9ae2ccfa04bfb4c4f
    Reviewed-on: http://gerrit.openafs.org/10245
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 73ae85bd59cfe9fca2daeb7dc0aa0917368bb5bf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 6 23:58:39 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 0e3bfa033ed230fcb46ad8e3c26c8b7aae6e00af
    
    Change-Id: I209e93a1bc4107a878eefaae92ec0e5e4ada2518
    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>

commit e6af2ffc86af17c4be427384467c4122fc5301b3
Author: Daria Phoebe 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
    
    Change-Id: I773a8e38df435015e4bc9fc353d930d14b3e6791
    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>

commit c7f5a212025172307e85e09ada03333e5e288cc3
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.
    
    Change-Id: Ia62c1c24b22e833cd5dc2689181397965901d34e
    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>

commit 1f577e41b65e9bd213a915a296ecf5bedd17fcc1
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.
    
    Change-Id: I32a21a174d763fb7df8f1e04da3bb7260684571d
    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>

commit d9db6fbd17db2640648716815a6f0a8e8c0b9561
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Thu Sep 5 22:39:57 2013 -0600

    fix src tarball error text in make-release
    
    Correct the error message if make-release fails to create the source
    tarball.
    
    Change-Id: Iaf908975d56c0ee4c2959854f0ffd9c855f2c708
    Reviewed-on: http://gerrit.openafs.org/10228
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 28de757a65679bff74fb34e65d8cd78cb36d0fc9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 3 08:42:50 2013 -0400

    Windows: Do not leak activeRPC count
    
    If a callback race has been lost cm_MergeStatus is not executed.
    In that case either the activeRPC count should not be incremented
    or must be decremented to indicate that the current call has been
    completed.
    
    Change-Id: I417f72bbc482f6d207ed0c09770b1d8a53d078ff
    Reviewed-on: http://gerrit.openafs.org/10218
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2a1035a49bfb67152f14b500d9c614e4df1013c8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 2 14:38:41 2013 -0400

    Windows: Adjust setting of VERIFY_DATA flag
    
    If the CcPurge operation fails or cannot be performed, in addition
    to setting the purge on close flag, set the verify data flag.  This
    ensures that the next attempt to access the file will retry the
    purge.
    
    Change-Id: I9ebbdab8b5dd31ace5d316454b6e54cf537686d5
    Reviewed-on: http://gerrit.openafs.org/10217
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7c8eb2f2288706a75fda67acae52a5b89dc8343f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 2 14:34:32 2013 -0400

    Windows: Add trace to track setting VERIFY flag
    
    Add trace statements at each location the VERIFY flag is set or
    cleared.
    
    Change-Id: I108d3d44947bc92f147afb66f746af3262435104
    Reviewed-on: http://gerrit.openafs.org/10216
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6de822d647c2d2707f4f0af149579101dd0071f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 2 14:31:38 2013 -0400

    Windows: Skip Extent operations if Direct IO
    
    If the redirector is using Direct IO servicing there are no extents
    in use.  Skip the AFSFlushExtents, AFSTearDownExtents, and related
    calls unless extent processing is in use.  This will reduce lock
    contention and reduce cpu processing.
    
    Change-Id: I2948295bdd6056e6fbdab7d32c46575a8a7aebbc
    Reviewed-on: http://gerrit.openafs.org/10215
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 27311ca420c2ee29b38aa2994993cf24d7d769b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 25 20:07:44 2013 -0400

    Windows: Hold Fcb Resource across CcPurgeSection
    
    Now that the Fcb Resource and SectionObjectResource are held in
    the FastIo pathway and the Trend Micro deadlock has been addressed
    by holding a reference on the FileObject it is time to fix the
    lock acquisition ordering.   For each CcPurgeSection call the
    Fcb Resource will be held exclusive before the SectionObjectResource.
    
    Change-Id: Ica9e3674b39e2789c35bcf13d9fa1f2326420119
    Reviewed-on: http://gerrit.openafs.org/10192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 22d7c8461b16940c3606d63a0b7e232563871cd8
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Sun Aug 25 13:20:28 2013 -0700

    Windows: Strip out unused ModWriter Fastio code
    
    The code is no longer used (the fcb->PagingIO resource is taken for
    us by the modwriter) so we strip it out to save other making changes
    and then remembering/discovering that this code isn't being used.
    
    Change-Id: I0d880049758559ae0860f8c1e12583304a459a68
    Reviewed-on: http://gerrit.openafs.org/10191
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 40d93cb9df62031f1dc5b185e690d11d2c2b9d0b
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Sun Aug 25 12:25:55 2013 -0700

    Windows: Take FCB resource in presection create.
    
    Fix a lock inversion in the paging query file information path (called
    from within section create).
    
    The query file takes the FCB resource, but that is a lower rank
    lock than the SOP resource which is taken in AcquireFileForNtCreateSection,
    
    We fix the inversion by grabbing the FCB resource in
    AcquireFileForNtCreateSection.
    
    Change-Id: I6ea8d2ebf9d454f78469e86765ae36e1993533b2
    Reviewed-on: http://gerrit.openafs.org/10190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1dc051294c48bb81a92d152b2e3e5ae0fac00fae
Author: Rod Widdowson <rdw@your-file-system.com>
Date:   Sun Aug 25 09:16:39 2013 -0700

    Windows: Pin the Cc FileObject during section create.
    
    This means that if we purge the data cache while the section is being
    created then the MJ_CLOSE will not happen until we unpin the FO.
    
    Thus we can drop any embarsssing locks prior to the close and
    meddling antivirus products can do odd stuff in the close path.
    
    Note that there may not be a file object, but in that case there
    will be no close on the purge since any CcInitialize operations
    will wait on us dropping the SOP lock exe - hence the SOP cannot
    be set up.
    
    Also note that this only applies to the data section,
    but we do not purge the image section.
    
    Change-Id: I63884888d98eb4eb03858ed962d74bd3b4702042
    Reviewed-on: http://gerrit.openafs.org/10189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cb53d414bbc4ecaf1b136b4a3c82bea3cc9044b6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 25 20:02:51 2013 -0400

    Windows: AFSPerformObjectInvalidate FILE processing
    
    Refactor AFSPerformObjectInvalidate so that all of the non-DIRECT_IO
    processing variables are in the Extents processing section.  Remove
    all references to Extents processing from the DIRECT_IO block.
    
    Change-Id: If1c20f9d09b415f4c032cea600983efe6ab0cdc3
    Reviewed-on: http://gerrit.openafs.org/10188
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b2713d121e360598fae5c4651d385e0a11ace05b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 25 19:54:52 2013 -0400

    Windows: AFSVerifyEntry get rid of bPurgeExtents
    
    The logic in AFSVerifyEntry is such that bPurgeExtents is always
    set to true so simplify the code by removing it.
    
    Change-Id: Idfa90f47158eadb71560122aa3d04b80b7410e03
    Reviewed-on: http://gerrit.openafs.org/10187
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e8226a2aec30bc003ccad4a9332c4d3c232b45de
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 24 20:20:54 2013 -0400

    Windows: Fix trace messages in AFSSetEndOfFileInfo
    
    The wrong function name was specified.
    
    Change-Id: I820af87177b84120088a4bd2b60655e9b0f68b80
    Reviewed-on: http://gerrit.openafs.org/10186
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c7e8b75353e2cd0bb58b05c9faab21df14c73c69
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 23 15:02:44 2013 -0400

    Windows: AFSWrite comments
    
    Add various comments regarding lock requirements
    
    Change-Id: I285eb416ef7d05ef29fcffbc5ce9afd5d3d27322
    Reviewed-on: http://gerrit.openafs.org/10185
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3f797fc71174a5779cf1cae3ba452f401a668881
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 23 15:00:17 2013 -0400

    Windows: Missing try..except in AFSCachedWrite
    
    Wrap another cache manager call with try..except
    
    Change-Id: I2d10fc5a4c9a47f32590a394c57c412d773409f5
    Reviewed-on: http://gerrit.openafs.org/10184
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 26276e602046c8dfe408e7c1d0a2ab80dbc7caa3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 22 17:50:39 2013 -0400

    Windows: Refactor AFSVerifyEntry AFSValidateEntry
    
    Inside a big switch statement it is hard to follow when there
    are multiple 'break' exits within a 'case'.   Reorganize the code
    so that there is only a single exit for the FILE type.  Unnecessary
    blocks are removed as well.
    
    Change-Id: I7ae0ae4592a15a23e8526f18a96a9ded9a1d135c
    Reviewed-on: http://gerrit.openafs.org/10183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7f706e6b59a04aef002bb3c29f8917b612f70ac1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 22 17:46:19 2013 -0400

    Windows: introduce Section Object Resource Trace Subsystem
    
    Section Object Resource acquires and releases are lost in the
    noise of all of the rest of the locks.  Introduce a dedicated
    subsystem just for Section Objects.
    
    Add missing entries at the same time.
    
    Change-Id: Ibf94da7e737d0559a822f731dbbda7ebe96dfa2d
    Reviewed-on: http://gerrit.openafs.org/10182
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b4a996b8151322881ae82cee7ae85a6d47a7ba1e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 22 17:43:20 2013 -0400

    Windows: afsredirlib afscommonwrite trace msg error
    
    Specify the correct function name in the trace msg.
    
    Change-Id: I08307d873308631af8cc7afd148b78636b4f49ce
    Reviewed-on: http://gerrit.openafs.org/10181
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cd07888265f372bb380ee68495e645f174586119
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 21 12:27:35 2013 -0400

    Windows: Call AFSExeceptionFilter for all exceptions
    
    In many cases we capture exceptions record and the Exception Code
    as ntStatus and move on with life.   This patchset changes that.
    All exceptions are passed to AFSExceptionFilter so we do not miss
    anything.
    
    Change-Id: I4bc8836047a8735becf2f9efaca2a6fa7749b3ca
    Reviewed-on: http://gerrit.openafs.org/10180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c9651157cdc690dea81caf9419210a00978c6965
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 21 17:07:14 2013 -0500

    viced: Clarify comment explaining cba sorting
    
    The current comment here is very brief; it may not be immediately
    clear to a reader why we are sorting these, and so why we need the
    given CBAs in an array. Expand on it a bit.
    
    Note that it seems like it might be possible to refactor multi_Rx to
    not require all calls to be created before any packets are sent. If
    multi_Rx were changed to send data as we create calls, it may be
    possible to eliminate this sorting, and allow for slightly more
    efficient callback traversal when breaking callbacks.
    
    Change-Id: I966cdcf6d40aa5c02f8768f4dd76c580c811ccaf
    Reviewed-on: http://gerrit.openafs.org/10170
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0cd5c63ebeef7567c9965e1ded7f10c6f452f0c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 17 12:51:06 2013 -0400

    Windows: Delay MP Target evaluation until required
    
    Do not evaluate the Target FID of a mount point until such time
    as the target directory must be accessed.
    
    Change-Id: I8aa0da50256cacc4433fad6c7675ca8bd3bd5eb7
    Reviewed-on: http://gerrit.openafs.org/10154
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0edbeb4a3ce86387dbc31b1745e5517accdb4823
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 17 11:35:39 2013 -0400

    Windows: modify PopulateCurrentEntry follow mp rules
    
    It is always safe to read the mount point target data, it is not
    always safe to evaluate the volume id since the VLDB might not be
    reachable.
    
    For directory enumerations do not evaluate the target Fid.  Only
    do so for eval by name and by id requests.
    
    Change-Id: Ifa0e84b2e9fb0822dceb9d719a47c541fed2a2bf
    Reviewed-on: http://gerrit.openafs.org/10153
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b7964e1814d3b7f1f92f0c20c34ad7166110f502
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 17 11:33:45 2013 -0400

    Windows: update GetFileVersionInformation fail msg
    
    Include the module name in the error message if GetFileVersionInformation
    fails.  Its failure means the module has no file version resource data.
    
    Change-Id: If2e0d376613b5b10e58114986f9ae6994a6de6c0
    Reviewed-on: http://gerrit.openafs.org/10152
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1c0260c71185a41f1ec3d1c08f20c53c76f31cdd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 17 10:18:53 2013 -0400

    Windows: Cap Cache Size on X86
    
    Since we know the cache size cannot be arbitrary size because it
    must fit into contiguous process memory and because it is difficult
    to compute the actual size limit, cap the size to 716800KB.
    
    Change-Id: I850f489dc8a392875582e52d8d511dedf69aec9c
    Reviewed-on: http://gerrit.openafs.org/10151
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7ce1997f01a964463c1c04816c63ef28d4dfcc23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 17 00:08:30 2013 -0400

    Windows: do not return STATUS_RETRY for rx timeouts
    
    Report the RPC server unavailable instead.
    
    Change-Id: I9a6d8eec9d93f66b098b2edc4119d2e759efd9a1
    Reviewed-on: http://gerrit.openafs.org/10150
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4bc62d6bd71ece7d1cb91e77d92ac40789f42ddf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 10 00:44:08 2013 -0400

    Windows: np AddConnection error code
    
    If AddConnection fails because DeviceIOcontrol fails, do not
    return out of memory which is an unsupported error code.  Report
    a network failure.
    
    Change-Id: Ib0c83a2fc0b681a94483e1b16ab102354767c993
    Reviewed-on: http://gerrit.openafs.org/10149
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3f163fad55fb7e88e8206139ab1c16fe4fbe1487
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 16 15:36:32 2013 -0400

    Windows: Do not recycle deleted scache on refcnt 0
    
    If the scache object with CM_SCACHEFLAG_DELETED set is recycled
    then the deleted state is lost and the cache manager cannot prevent
    unnecessary FetchStatus queries to the file server.
    
    Change-Id: Idaed9c3a18fb1d68c9c6d720a5b16591acafce7d
    Reviewed-on: http://gerrit.openafs.org/10142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit acad253a357c2c97fcd8f59c489ac2c7cacba7b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 16 12:01:55 2013 -0400

    Windows: Do not remove scp from hash table on deletion
    
    If the CM_SCACHEFLAG_DELETED flag is going to have any benefit, the
    cm_scache object must not be removed from the hash table in response
    to a VNOVNODE error.  Otherwise, a new cm_scache object is allocated,
    the CM_SCACHEFLAG_DELETED is not found, and a new callback request
    is issued to the file server which in response returns VNOVNODE.
    
    Do this enough times and the abort threshold is triggered and then
    the application becomes very unhappy with performance.
    
    Change-Id: I5c6e2495c149f52ca192d195897e2a1822cf0d14
    Reviewed-on: http://gerrit.openafs.org/10141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0fb1e4762d2e5f04876726f487afeb224dd99140
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 16 12:01:02 2013 -0400

    Windows: CM_SCACHEFLAG_DELETED use InterlockedOr
    
    When setting CM_SCACHEFLAG_DELETED use InterlockedOr.
    
    Change-Id: Ie6ccc8e0a167e5bb6a8b74689606166821168989
    Reviewed-on: http://gerrit.openafs.org/10140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 17b45bb8dee9ac53ff22effa472c9c246b792198
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 16 11:58:18 2013 -0400

    Windows: buf_CleanLocked no callback for deleted file
    
    If the cm_scache flags indicate the object is CM_SCACHEFLAG_DELETED,
    do not request a callback.  Simply invalidate the data in the buffer
    and move on.
    
    Change-Id: Id461dc20dda53c93eb87f2648f6279877e4a34d6
    Reviewed-on: http://gerrit.openafs.org/10139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af2fa3c56ff21529739c4cf795948b8711d09c80
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Jul 16 17:27:05 2013 -0400

    volser: repair volserver -udpsize and -sleep options
    
    commit cd3492d0635708f141dbb9230471434268ef2188 accidentally
    broke the parsing of the volserver -udpsize and -sleep options.
    
    Change-Id: Ia900e4d8fda1b4d5759b46932a4b62bf5591707b
    Reviewed-on: http://gerrit.openafs.org/10088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0346ed6f53a6f3fb5d75de41c7ec5a139727618f
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".
    
    Change-Id: Ib52bd4a34ef0f5b0eacb973e60f7c1ef921f5ade
    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>

commit 6c7c185ba3ec6fbdda0651d18868e66edd655809
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.
    
    Change-Id: I20ea9c790037a36b8527889b3f7adcfd60e74fd4
    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>

commit 0d4aae8e6bac495642e7328e26c96d6e5e8144ed
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jul 17 16:09:09 2013 -0400

    Verify, not Assert, for the (util) global mutex
    
    We don't want turning off debugging to force open this lock.
    
    Change-Id: Ia8dd689c506e42a4bf87c83af23d7457df12f8b9
    Reviewed-on: http://gerrit.openafs.org/10092
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

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

    doc: clarify setcrypt defaults
    
    Change-Id: I0145ecc9935786204d215a11459d170f6220657b
    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>

commit 0013ca2e15b7219400b1615931492436ea987062
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Jul 30 20:17:01 2013 -0400

    Do not use a non-literal format string
    
    Now that UKERNEL's panic() is a proper varargs function (gerrit 9877),
    we can use a literal format string "%s" to print the panic message.
    clang warngs about a non-literal format string, and in some build
    environments the warning becomes fatal via -Werror.
    
    Change-Id: I7d8c9390e3edad7efa6ae1217f938b635423d23a
    Reviewed-on: http://gerrit.openafs.org/10114
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6b0016dd992b3215cb17c93812e14de9e4916d25
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
    
    Change-Id: I87681c697fec7bbfd6c73a8a9a865e4309c95963
    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>

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

    enable Perl's strict and warnings in make-release
    
    Declare the undeclared variables $help, $man, and @toCompress, delete
    the duplicate declaration for $last, and remove the unused $tag
    variable.
    
    Change-Id: I33de42722b84207dc1bbad50539dc5bf92da2f5e
    Reviewed-on: http://gerrit.openafs.org/10117
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7f15a1bbb34fa6f0d52800880f31be367d77a64f
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.
    
    Change-Id: I3848eb877f26b9d65833d5ce0e03f5cf7ba28de4
    Reviewed-on: http://gerrit.openafs.org/10123
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f393612d8f0a121d0cb8755f3eb9913c0f09606d
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.
    
    Change-Id: I6f798029a948446b974456648513ea7db4469561
    Reviewed-on: http://gerrit.openafs.org/9953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 30fa9480dd99ed93fa642dd8ce9746760fb42180
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 (now opr_Assert), but shortly
    thereafter, commit db6ee95864a8fc5f33b7e95c19c8ff5058d37e92 added
    VTimedWaitStateChange_r with two new assert calls.  These are
    precarious in a public header; fix them to opr_Assert like the ones in
    VWaitStateChange_r.
    
    Change-Id: If2055355b45a09940d69dace59ec18bd6a0cc6fa
    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>

commit 8b5d3a73f9f29d7952f7fda1c0d98aa14be4afc1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 17:50:26 2013 -0400

    rxkad: remove warnings from der-protos.h
    
    der-protos.h was generated from Heimdal headers which in turn were
    auto-generated.  The included a large number of function prototypes
    of the form
    
      ret-type func(parm-list, type */* comment */);
    
    where the combination of */* is ambiguous.  Does it mean an end comment
    followed by a pointer declaration or a pointer declaration followed by
    a begin comment.  This combination generates warnings on Windows.  The
    bug was fixed in Heimdal's code generator.  Fixing it here by editing
    the code.
    
    Change-Id: Ie66a5c70b0144173d70433adfbe3ed453672af81
    Reviewed-on: http://gerrit.openafs.org/10101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1630ada4630a90aae64a63025f8e16dad1500490
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 16 20:22:59 2013 -0400

    Windows: fix cm_ServerFindByUUID
    
    opr_uuid_equal() returns non-zero if equal.
    
    Change-Id: I6777d4536d002ec227454aa014278e0fc32eb14d
    Reviewed-on: http://gerrit.openafs.org/10090
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4376400259e0a407237f8fc2bffb4262cfb1efbc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 24 17:54:13 2013 -0400

    aix: link afs_dynamic_kerbauth to rfc3961
    
    Change-Id: Ie06fc83382e18f2e90a5f3874a8bb71afa0c4748
    Reviewed-on: http://gerrit.openafs.org/10106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0cb982c8b4b3abb8ecb9475ee087955a78cd34b2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 24 17:31:35 2013 -0400

    Windows: fix building of aklog
    
    patchset 7e4e06b87a09197816b0e1ae132e38dc30090574 was misapplied
    to src/WINNT/aklog/aklog.c resulting in a Windows build failure.
    
    Change-Id: I789ee1464f1f2e695d043d7a25a9f7566068733a
    Reviewed-on: http://gerrit.openafs.org/10105
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b5df669801b8406dacd5d16b25d4f01a14a473f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 13 21:29:19 2013 -0400

    Windows: fix cm_ServerEqual bug
    
    must check svr2 not svr1 in the second uuid check.
    
    Change-Id: I570b06c630a18c31001b3ca3ab09c870c7cbc355
    Reviewed-on: http://gerrit.openafs.org/10086
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 92148709443ed622bd25aba38e83b25ca77950a1
Merge: e2d458c11956 e79102e7918c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jul 24 15:55:26 2013 +0100

    Merge branch 'rxkad-kdf-master' into HEAD
    
    Merge the current OpenAFS master branch with the branch on which
    OpenAFS-SA-2013-003 and OpenAFS-SA-2013-004 were developed.

commit e2d458c11956af6fe721f7151487cb19f07ac16f
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.
    
    Change-Id: I024be12b410d6b8299edd16f309d816a3df469ed
    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>

commit 961ca14c2eef02fc56052ca983cd44925f9410f6
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 12 13:38:08 2013 -0400

    Fix typo
    
    The file is KeyFileExt, not KeyFileEx.
    
    Change-Id: Iffd5edc8a60b1a49441822d26dc44fa252bd70e3
    Reviewed-on: http://gerrit.openafs.org/10084
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e79102e7918ce5196e870a806879135743ec3abb
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Jul 13 10:49:27 2013 +0100

    Add support for deriving DES keys to klog.krb5
    
    Change-Id: I5b58585661f34ec501ad8db8f92b659f32919366

commit 2a9a98f40514e36fd3a3a4b559de5c92d552dc8a
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 12 12:43:57 2013 -0400

    Update the asetkey man page for rxkad-k5
    
    Also add the usage for the six-argument form while here.
    
    Update some generic text to account for the existence of rxkad-k5,
    and mention that the Update Server is not the only thing which can copy
    around KeyFiles.  Give an example of the seven-argument form's usage for
    rxkad-k5.

commit fe73ac62fbda1d4e563ef03114813f148c7d321e
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 12 12:53:46 2013 -0400

    Use the string form of key types in asetkey
    
    Check for rxkad-k5 keys in the six-argument form and warn they are
    unsupported.  Do sanity-checking on the type.
    
    Change-Id: I571fcf88744dec271265e6a47f7d9831f867115b

commit 7e4e06b87a09197816b0e1ae132e38dc30090574
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 17 21:58:47 2013 -0400

    Derive DES/fcrypt session key from other key types
    
    If a kerberos 5 ticket has a session key with a non-DES enctype,
    use the NIST SP800-108 KDF in counter mode with HMAC_MD5 as the PRF to
    construct a DES key to be used by rxkad.
    
    To satisfy the requirements of the KDF, DES3 keys are first compressed into a
    168 bit form by reversing the RFC3961 random-to-key algorithm
    
    Windows has three additional places to get tokens, who knew?
    
    Change-Id: I4dc8e83a641f9892b31c109fb9025251de3dcb27

commit 7ac5dddbfd439e5276ae5bea00ea22cd1b5897d3
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Apr 28 14:27:47 2013 -0400

    Krb5 ticket support for server-to-server and localauth
    
    Create a tkt_MakeTicket5 that creates a native krb5 rxkad token with
    a service key supported by the rfc3961 library (session keys must be
    provided as DES)
    
    Update GenericAuth to search for rxkad_krb5 keys and call tkt_MakeTicket5
    if it finds any.
    
    Change-Id: Ia9543fdcffcbf3ca899a003908662ff3daa8ee07

commit 538354d4749ffc0e7cc7e9552338b8f75ed01438
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 11 00:12:36 2013 -0400

    Asetkey now handles afsconf_rxkad_krb5 keys too
    
    afsconf_rxkad_krb5 keys can hold any kerberos enctype, not just des.
    Allow asetkey to copy them into KeyFileExt and print them, too.
    
    Change-Id: I11a7dc7770da58c8381accd7fa2164cdfcea43ae

commit ea4812f03d498b6a838440fa3349e085fa5ea8b5
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Apr 6 13:42:23 2013 -0400

    Use rfc3961 library to decrypt kerberos 5 tickets
    
    Decrypt tickets with non-des enctypes by calling out to the rfc3961 library.
    This requires the security object to be given an enhanced get_key callback
    that supports looking up keys by enctype.
    Include a wrapper around afsconf_GetKeyByTypes so rxkad doesn't have
    to know anything about libauth internals/interfaces
    
    Change-Id: Id2b085fb41e2ed3576ec66b2914c03e78c0077ec

commit 94635f727155830b636026441d6d9122803b2e39
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue May 28 22:07:06 2013 -0400

    Update the WiX installer to know about afsrfc3961.dll

commit 292196ad944611796370ab1648650be147841194
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jul 9 19:02:00 2013 -0400

    libafsrpc: link afsrpc.dll to afsrfc3961.lib
    
    Change-Id: I5bf48ed29522c0cbdc43dda63487012f14d39bbf

commit 0777382e8e2cc9b428034e0b55b91931b7d9c104
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Apr 5 20:12:12 2013 -0400

    Allow some rfc3961 functionality to be disabled
    
    It conflicts with v5gen in rxkad/ticket5.c
    
    Also add include guards, which were missed previously.
    
    Change-Id: If5155661deb5adf73329eb8b90021512c01a290f

commit 08474dd0b51cfe26dfe2b5c661a2e9a4ca24267e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 12 14:57:44 2013 +0100

    hcrypto: Add exports for more crypto algorithms
    
    Export some additional algorithms so we can make use
    of them elsewhere in the code.
    
    Change-Id: I676318a872a1e7b537112a3d60dac2edff478ae6

commit 7694f536d3997768b69a635616b0cf24d71a595a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jun 28 16:27:35 2010 -0400

    scsi_command_size became scsi_command_size_tbl
    
    Change-Id: If91922944f90df11d5a09cd09cbb66c16296d366
    Reviewed-on: http://gerrit.openafs.org/9964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ba42758ce218e8985adc0129d0ee3ffa8690537f
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.
    
    Change-Id: I67b3df1c5777a6b022644b042f405dbd6a1976a0
    Reviewed-on: http://gerrit.openafs.org/9970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b17fdcabaf759b8b821e34fc187253ad81f5cf90
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jun 28 16:27:01 2010 -0400

    Make RXGEN_CPPCMD work on unix
    
    Change-Id: Id08d6f02eb117d9d06b6814e39658d69e05bd43b
    Reviewed-on: http://gerrit.openafs.org/9963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 859949c39cab727a17ab5c81f0b071891032517e
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Jun 26 11:18:01 2013 -0400

    vos: incorrectly defined alias for -cell parm
    
    Commit 5d42398298ad4af91a08a08ce607754f644b37dc specified
    an incorrect offset for the -c alias for the -cell common
    parameter.
    
    Change-Id: I5a3bbe9ceb8a9fd4c21970f4ef0c64d77e9cdea4
    Reviewed-on: http://gerrit.openafs.org/10021
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 428ab5deff8efa7334987d2fd2fbc4db053a5562
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Sep 20 14:21:44 2011 -0400

    libafs/LINUX: update file pos in corrupt dir fix
    
    Change-Id: Ia90740d5d7dda026dbeeee7273555c4f68fde166
    Reviewed-on: http://gerrit.openafs.org/9972
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c636db1eca54844f0ba29cd75f4a0b8181df2162
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Sep 13 18:37:24 2011 -0400

    libafs/LINUX: Report FID of corrupt directories
    
    When afs_linux_readdir detects a corrupt directory, the resulting
    error message is more useful if it includes the directory's FID
    instead of just a kernel inode pointer.
    
    Change-Id: If801e7b0325daca3da8ab115a926276e570c1d94
    Reviewed-on: http://gerrit.openafs.org/9965
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a2bfa0e853fb4954fd06a00ea6fbc55c39e76b8a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jun 12 16:22:36 2013 -0400

    libafs/LINUX: avoid leaks due to corrupt dir
    
    When a corrupt directory is discovered, scanning stops immediately and
    readdir returns ENOENT.  Currently, the vcache lock is unlocked and the
    dcache containing the directory is released, but that's not enough.
    It's also necessary to unlock the dcache, on which we hold a read lock,
    and to clear the vcache state which records an in-progress readdir.
    
    Change-Id: I408e8bc8b1f4a0ebc1740410da5d760f30b4c875
    Reviewed-on: http://gerrit.openafs.org/9971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c854cb31ff2b1ab79de18b5ab926bf2ea2b05663
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 18 23:12:46 2013 -0400

    viced/callback.c: Don't ignore dump read errors
    
    When reading a callback state dump, check the return values from
    read(2) instead of ignoring them.  This adds a new static function,
    ReadBytes(), which handles reading a requested number of bytes from a
    file and bailing if there is an error.
    
    Change-Id: Ib06d96888b4e6de0a377c8c6503147f9e44960e5
    Reviewed-on: http://gerrit.openafs.org/9989
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8ecf7bde78272efc11460f783203afa56cf5c0dc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 4 10:56:37 2013 -0400

    ptserver: increase the max lwp threads
    
    Increase the maximum LWP threads allowed from 16 to 64. Increasing the number
    of LWP threads can reduce the number of calls waiting for threads.
    
    Change-Id: I66f53c0fbb2db66c94b9982e3ee6b3b1f89a0f01
    Reviewed-on: http://gerrit.openafs.org/9707
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit bb36ce66ff5c41da57244ac7562ac36e106b53f0
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 4 10:53:00 2013 -0400

    vlserver: increase the max lwp threads
    
    Increase the maximum LWP threads allowed from 16 to 64. Increasing the number
    of LWP threads can reduce the number of calls waiting for threads on
    busy vlservers.
    
    Change-Id: I1e95366aad8fe4d275794603d2af07c799cd7048
    Reviewed-on: http://gerrit.openafs.org/9706
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 45a80388123f637e32bcb9d2e5fb24db5565cbf3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jun 24 20:51:53 2013 -0400

    Make KeyFileExt comment match reality
    
    There is no file format version field as implemented.
    Remove it from the format laid out in the comment, and change the
    associated text to make more sense.
    
    Change-Id: I3a7e4ca22bb4d556a091abc0e6e22d3409e419cd
    Reviewed-on: http://gerrit.openafs.org/10020
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit aec5a1ffabefb1a81fb5c6e4ad095637aaa563c8
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 15 11:38:53 2013 -0400

    Document the prdb (ubik) file format
    
    Briefly cover the ubik header and mention that it is not part of the
    logical database (since it is just used for the consistency procedure).
    
    Describe the fields of the prheader and how they are used.  Mention that
    all subsequent entries are blocks of the same size, whose type can be
    distinguished by a shared flags field.  User and group entries are similar,
    and supergroup entries are described as a diff from regular group entries,
    as only a handful of fields change.  Continuation entries can be used
    for user, regular group, or supergroup entries.
    
    Call out what fields are invariant within which classes of entry, so that
    these properties can be preserved (or knowingly eliminated) for future
    extensions to the format.
    
    Change-Id: Id5ca7d8d346c09c2eec50691e5c5fefbe735ac60
    Reviewed-on: http://gerrit.openafs.org/10022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3bde02595b061e4fd77f5bb453e5decca5a50d85
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 19:34:13 2013 +0100

    build-sys: mark block begin and ends
    
    Done with Egyptian brackets, or K&R style as they are also known.
    
    Change-Id: Ifeaf3ca29be5d4846738ec937ce07728771c5f16
    Reviewed-on: http://gerrit.openafs.org/10010
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ab57d699e5cf11d8b51c022b4420b854921177e6
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 18:01:44 2013 +0100

    build-sys: use AS_IF instead of shell if clause
    
    Shell if clauses can cause problems.
    
    Change-Id: Ia5fddc78ff43517c37d5abd79f07b35fd18a9058
    Reference: http://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Limitations-of-Builtins.html#if
    Reviewed-on: http://gerrit.openafs.org/10009
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cc0d3d5232260595e09ae4ec517d537e961c0c81
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 17:28:01 2013 +0100

    build-sys: use m4 quoting consistantly
    
    Change-Id: Ie8c5e15fd9ddf521ac74b07ee0e1252b35e7a816
    Reviewed-on: http://gerrit.openafs.org/10008
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6d054e3d2790b5c304b428d2ce9bf758e4c12786
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 17:20:22 2013 +0100

    build-sys: do not check readme and news when automake runs
    
    Change-Id: Idb5bb57efecf0a9776db78466787987ba7680533
    Reviewed-on: http://gerrit.openafs.org/10007
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d7aecbaa12796428606a734b28df7f1df7c3edfc
Author: Sami Kerola <kerolasa@iki.fi>
Date:   Sat Jun 22 17:17:04 2013 +0100

    build-sys: add bug reporting address and home page to configure
    
    $ ./configure --help | tail -2
    Report bugs to <openafs-bugs@openafs.org>.
    OpenAFS home page: <http://www.openafs.org/>.
    
    Change-Id: I862b7501f3c964eea800e1aad5f2fc0c551b9fb8
    Reviewed-on: http://gerrit.openafs.org/10006
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8bf77854874cff730d0cf38a532ebf4ea0f2bc30
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 29 14:29:06 2013 -0700

    Fix restorevol sanity check on afs_int32
    
    restorevol reads various values of different lengths into an
    afs_int32 and does a sanity check to ensure that there is enough
    room to store the desired value length.  However, the check was
    done against the wrong variable, making it ineffective.
    
    This check is unlikely to ever trigger, but fix it just in case.
    
    Change-Id: Ia81bd9ff9a2ce8e2d93af384c8e8c664f5434d5e
    Reviewed-on: http://gerrit.openafs.org/10026
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d5fb2c2bdccedbd539cb2629cf918d5f37b82c7b
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 29 14:27:55 2013 -0700

    Fix restorevol crash on corrupt nDumpTimes value
    
    If the number of dump times claimed in the volume header was greater
    than MAXDUMPTIMES, restorevol would happily write over random stack
    memory and crash.  Sanity-check the loaded value and cap it to
    MAXDUMPTIMES with a warning.
    
    Bug found by Mayhem and reported by Alexandre Rebert.
    
    Change-Id: Ib0edd9b1b6f540d8b0128151333d3bb0a8ef37fa
    Reviewed-on: http://gerrit.openafs.org/10025
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ddf98e50b24b2df3dabdce4ce2720eefa19717f8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 16 17:50:53 2009 -0400

    bosserver dir creation for non-transarc paths
    
    The bosserver attempts to create the server directories with the correct
    permissions when bosserver starts. Make the parent directories if needed
    as well, using the umask permissions for the parent directories, instead
    of failing.
    
    FIXES 125114
    
    Change-Id: I5ee16a8210154e51cda4ace0617393c7797a6622
    Reviewed-on: http://gerrit.openafs.org/147
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e4ce2a544f8fcec7355f296a456ddcb6b84b7d93
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Jun 16 19:16:05 2013 -0400

    Add a tool to find lock ID numbers
    
    This adds a Perl program, src/afs/findlocks, which grovels through the
    kernel module source tree, finds every location where a lock is obtained,
    and produces an index of lock site ID numbers.  This can be used to find
    a lock when debugging, or when picking a new number.
    
    Run it as ./src/afs/findlocks src/afs
    
    Change-Id: I7fdcfb807a92dbb1938a0c37637e9122b52addd7
    Reviewed-on: http://gerrit.openafs.org/9982
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 495d6fcbba1630b136d9c1b4256f0a71666a8a7b
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.
    
    Change-Id: I0df262bad5d02231407d0dd65e1f1d32d791912f
    Reviewed-on: http://gerrit.openafs.org/10082
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 902b8809f03533ffa7731919930bb5178f77df6c
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.
    
    Change-Id: I6b01b4c78a501bdf4f8d583b0d3b94d677c5d541
    Reviewed-on: http://gerrit.openafs.org/10051
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 397a086b77c4351e5332a73ae4859faf239bf45e
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.
    
    Change-Id: I1264490bee90fadfd24d5cd04ea87df4f9c8924d
    Reviewed-on: http://gerrit.openafs.org/10083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5e56298876f64b7c5f36c9dbe375b196a2951521
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Jul 9 23:12:43 2013 -0400

    Alias "vos e" to "vos examine"
    
    This shortcut broke when endtrans was added, and some people have
    strong finger memory.
    
    Change-Id: Ic00fd33a28c35985464b68becfc25082eee92d0e
    Reviewed-on: http://gerrit.openafs.org/10081
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fb548e77e7a5cef453f1ebd866e587d23f6d98b1
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 8 12:50:27 2013 -0400

    Make UKERNEL's panic() a real function, not a macro
    
    In particular, a varargs function, so that osi_Panic() can always
    call panic() as varargs.
    
    Change-Id: I2ceee737c0025c146a8cd17b16d6c159e2bbf9d0
    Reviewed-on: http://gerrit.openafs.org/9877
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d03c81be76a1bca7c2f75d45b3059f55c9e28a33
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 09:55:51 2013 -0400

    Windows: build UNIX asetkey
    
    With roken and friends it is now possible to build the UNIX
    asetkey on Windows.  Do so to reduce duplicate code.
    
    Change-Id: Ic7e050b04e6bed7fe2106de1a163d9ae1fde9efc
    Reviewed-on: http://gerrit.openafs.org/10070
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c2bb5cd21d4aac29bab77555b67ad4e84925d209
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 11:42:06 2013 -0400

    Windows: define HAVE_KRB5_CREDS_SESSION
    
    Windows builds against the Kerberos Compatibility SDK which uses
    the Heimdal API.  Define HAVE_KRB5_CREDS_SESSION.
    
    Change-Id: I389cb3e8d79846c94884ea9a786e2ae0f52fa293
    Reviewed-on: http://gerrit.openafs.org/10071
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 370a41f6f64ff8c1c20586f984d4cb0293f2b0c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 09:54:42 2013 -0400

    windows: afsauthent.dll export afsconf_ functions
    
    Export additional afsconf_ functions required for asetkey
    
    Change-Id: Id8d63f7d18563bd8963750aed6b7baaf873716a8
    Reviewed-on: http://gerrit.openafs.org/10069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4fd27ef65256f0179d16c91086d5c459c2c367d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 09:54:09 2013 -0400

    Windows: afsrpc.dll export afs_set_com_err_hook
    
    Change-Id: Icbd33c9ca087e663d2755a7a6c8380de266ee717
    Reviewed-on: http://gerrit.openafs.org/10068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 286c41ad6bec8b0a72d07fa42aecd21c3d744f63
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 9 09:53:25 2013 -0400

    Windows: HAVE_TIMEGM provided by roken
    
    Change-Id: I110e0667cdc68ab0877fe8c1d0a4f9e48e60621d
    Reviewed-on: http://gerrit.openafs.org/10067
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1aa43164d565ff5fdb5c789d394229a090fe0a09
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 8 20:29:24 2013 -0400

    bos: Fix Windows import of afsconf_SawCell
    
    IBM created a global variable 'afsconf_SawCell' in the kauth package
    and manipulated its value from within bos.c as part of the calling
    of ka_Init().  Patchset d52398940d58ccdba4114a9975762f48cc24ad15
    exported afsconf_SawCell from afsauthent.dll since bos.exe is built
    pthreaded.  It was previously mixing pthread and not-pthread libraries
    to access the variable.
    
    Unfortunately, the export was declared as a function pointer instead
    of DATA.  Importing a DATA element from a library also requires that
    the variable be __declspec(dllimport).   The use of afsconf_SawCell
    needs to be replaced but in the meantime fix the import so that bos.exe
    can start without crashing.
    
    Change-Id: Ic780971b55d64e41e1ba9627cdeadd6c27c451fb
    Reviewed-on: http://gerrit.openafs.org/10054
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b185c3f00d8530e4341ac4f990126f8505fce0f5
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Apr 5 20:12:12 2013 -0400

    Build 3961 library in userspace, and add enctypes
    
    Build the 3961 library in userspace, with support for the common
    kerberos enctypes des3-hmac-sha1, arcfour-hmac-md5, and aesXXX-cts-hmac-sha1-96.
    Export new symbols as well, and suppress deprecated warnings.
    
    Rename all symbols, both exported and not, with an oafs_h_ prefix
    so as to reduce the chance of conflicts.
    
    Rename heim_octet_string to avoid confusion about where things are coming
    from.
    
    Change-Id: If5155661deb5adf73329eb8b90021512c01a290f
    Reviewed-on: http://gerrit.openafs.org/10050
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 522d5de7131631b56cf9d3070f17bd6f1713e1e3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 8 11:56:26 2013 -0400

    hcrypto: export weak key routine
    
    We only export it on Windows, but the DES3 routines in the rfc3961
    library need it everywhere.
    
    Change-Id: Ide0328e40b7753d8ebca79db9eb8b6211bfd7f14
    Reviewed-on: http://gerrit.openafs.org/10053
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1b45846692e2bc419e8d7027fd6b2c4f78296a29
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 8 11:39:52 2013 -0400

    Export RAND_bytes from hcrypto on Windows
    
    Unix already did so, and we need it for the rfc3961 library.
    
    Change-Id: I75401b49a5a2078056360be8f1963d789581c8ed
    Reviewed-on: http://gerrit.openafs.org/10052
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ef860802add62076ca6097808458706d3db8d0da
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Jul 2 11:13:25 2013 -0400

    Disable some heimdal bits
    
    For the rfc3961 library, we don't want linker exposure to an
    entropy-gathering daemon, and we don't want to be leaving entropy
    seed files around in user homedirs.
    
    Change-Id: I54546ad44fcdfac8227e72b68a33fa4f61df50b0
    Reviewed-on: http://gerrit.openafs.org/10049
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f388f0a85a53a42c3e8f4075d4228b64d0fc558c
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Apr 28 09:31:12 2013 -0400

    Add krb5_free_context stub to rfc3961
    
    Change-Id: I5df22e74ea9a5a057994b6684a09eb0f03da98d2
    Reviewed-on: http://gerrit.openafs.org/10048
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 09912a3fcc9ae5f0995fb47aedc3b7279b663ad2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 12 14:57:44 2013 +0100

    hcrypto: Add exports for more crypto algorithms
    
    Export some additional algorithms so we can make use
    of them elsewhere in the code.
    
    Change-Id: I676318a872a1e7b537112a3d60dac2edff478ae6
    Reviewed-on: http://gerrit.openafs.org/10047
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a25434430815ebf020407fdfaedd46db94475412
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 5 14:06:33 2013 -0400

    Use rk_mkdir from libafsroken
    
    The latest import added it; add it to the build and export list.
    
    Change-Id: I588de000868d063c61753a1a4a2e73931e84005f
    Reviewed-on: http://gerrit.openafs.org/10046
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c6e01a87fd58d09c1b8f6022e43b6d2bb9f4f73
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Fri Jul 5 16:39:34 2013 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    5dfaa0d10b8320293e85387778adcdd043dfc1fe (git2svn-syncpoint-master-311-g5dfaa0d)
    
    Upstream changes are:
    
    Ben Kaduk (1):
          Be friendly to krb5_generate_random_block consumers
    
    Jeffrey Altman (6):
          roken: include limits.h unconditionally
          Avoid unused variable warning on Windows
          roken: include direct.h if HAVE_DIRECT_H
          roken: Define S_IRWXU and friends on Windows
          roken: Add rk_mkdir()
          libkrb5: Add missing KRB5_LIB_FUNCTION/KRB5_LIB_CALL
    
    New files are:
            krb5/crypto-algs.c
            krb5/crypto-arcfour.c
            krb5/crypto-des-common.c
            krb5/crypto-des.c
            krb5/crypto-des3.c
            krb5/crypto-null.c
            krb5/crypto-rand.c
            roken/mkdir.c
    
    Change-Id: I77d67afc2b060574a5834fc5c266553c5ff49a25
    Reviewed-on: http://gerrit.openafs.org/10045
    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>

commit 50fa08813b0fa68135e292fa76ce50ee75142884
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 12 13:02:40 2013 +0100

    Add additional files to import from Heimdal
    
    Import more RFC3961 crypto definitions from Heimdal, so we can
    support a wider variety of encryption algorithms
    
    Also pick up the new mkdir, otherwise we get linker errors.
    
    Change-Id: I5dfe705d3957b646ae05a0e06da1f0f2cfb60e75
    Reviewed-on: http://gerrit.openafs.org/10044
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7565cb420366d79df319e344678a8d9ceab6db08
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Fri Jul 5 12:50:36 2013 -0400

    bos: Do encryption if requested
    
    Commit d008089a79 didn't replace the processing of the aencrypt
    flag passed to the GetConn() function, causing all bos connections
    to be un-encrypted.  This causes "addkey" to fail with an error
    from the server, and "listkeys" to silently ignore the -showkey
    option to display keys.
    
    Set the AFSCONF_SECOPTS_ALWAYSENCRYPT flag, and don't set
    AFSCONF_SECOPTS_FALLBACK_NULL since fallback is not acceptable if
    the caller requested enrcyption.
    
    Change-Id: I6a15fa20c172ab2ddfc6494fbcd62ec6bc7fc442
    Reviewed-on: http://gerrit.openafs.org/10043
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5dee9ac3468f9d5a929f9b42bd671411e38092fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 29 00:26:52 2013 -0400

    Windows: validate pointer consistency
    
    When cm_ValidateCache() is executed validate pointers to ensure
    that they are in the valid range for the class of pointer.
    
    Change-Id: I151489010430919999af85843079f81143359739
    Reviewed-on: http://gerrit.openafs.org/10040
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bff2b8792c669649a81e86633de878f449b6bf01
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 26 11:00:00 2013 -0400

    Windows: Protect all Mm and Cc calls with try..except
    
    Wrap all Memory Manager and Cache Manager operations in a try..except
    block to protect against leaking the SectionObjectResource if an exception
    is thrown.  Failure to release the SectionObjectResource will result in
    subsequent deadlocks.
    
    Change-Id: I92096c1d4bfd5a23069bcc364b68b07327d662ae
    Reviewed-on: http://gerrit.openafs.org/10039
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6115ab76d2c877a33ed84fdbd7e65e1b922a49aa
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 29 13:52:46 2013 -0700

    Diagnose calling compile_et -v without another argument
    
    Output an error message instead of crashing with a segmentation
    fault due to a NULL pointer dereference.
    
    Bug found by Mayhem and reported by Alexandre Rebert.
    
    Change-Id: I484f76411ed6899ea9af81256c1d392a84830d16
    Reviewed-on: http://gerrit.openafs.org/10024
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 15b5353759984bf0942dff9c3df2959f0a59b405
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 26 18:57:01 2013 -0400

    Update windows build documentation
    
    Mention Win7 in a few more places, and talk about VS 2010/2012.
    I've had the best results with VS 2005, though.
    
    Update dead URLs.
    
    The old version of WiX 2.0 no longer seems available (at least not from
    the listed URL); replace it with
    
    Remove coverage of NSIS installers.
    
    Update example OpenAFS version to 1.7.25.
    
    De-emphasize VS 2003.
    
    Update some ntbuild.bat settings and comments to be more useful and valid.
    
    Change-Id: Iee305833e6d2b01dd7995a78863327682fe5a8eb
    Reviewed-on: http://gerrit.openafs.org/10029
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2386dca751cbc209ade754fa9d81b3f00dc1230a
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 29 13:33:28 2013 -0700

    Fix spelling error in fs_getverify man page
    
    priviledges -> privileges
    
    Change-Id: I56d233feb7a05d184b26d24d80fbdd4c1e0d0896
    Reviewed-on: http://gerrit.openafs.org/10023
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 21d8df0432af14a95dcf6bd583ba2122afb10b28
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 18 23:34:45 2013 -0400

    Make opr_uuid_toString return a status
    
    Don't assume that converting a UUID to a string will always succeed.
    Instead, opr_uuid_toString should return a status result to indicate
    whether the operation was successful or not.
    
    Change-Id: I49e6bf53b2a878342d3137510d2eca522e58604d
    Reviewed-on: http://gerrit.openafs.org/9990
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6aefd0d93b28383bc5dd5fb616f6ac45f34982dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 19 13:53:51 2013 -0400

    Windows: Wake waiters on failed cm_SyncOp exit
    
    If cm_SyncOp exits due to failure and there are threads waiting
    to use the cm_scache object, wake them before exiting because there
    will be no cm_SyncOpDone() operation to wake them later.
    
    Change-Id: Ibf54ebd575cf22b8e9d3577eeb039ff69cc728b6
    Reviewed-on: http://gerrit.openafs.org/9994
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ab4b8629ac273a631ba9db62766a7190e0d0ae21
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 19 13:52:51 2013 -0400

    Windows: cm_scache flags missing interlocked ops
    
    A small number of |= operations on the cm_scache.flags field were
    not converted to _InterlockedOr.  Do so now.
    
    Change-Id: Iebd361d53e46527bf3ffa0d20d006a5e90ab4967
    Reviewed-on: http://gerrit.openafs.org/9993
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8ba81c38a5ebe53cb7a12673e7cd100b1dbd29ff
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Jun 21 10:50:16 2013 -0400

    libafs: track dynroot locks for cmdebug
    
    the dynroot dir and symlink locks are not currently tracked;
    it would be helpful to know when these locks are in play for tracking
    contention
    
    Change-Id: Ibe18586fa5d0ef0e3ea9e7153d79ab64df46ebf3
    Reviewed-on: http://gerrit.openafs.org/9997
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aaa2584c0498037529a30c985ac8a437ec7d842c
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).
    
    Change-Id: I93d531a9892beeb0c1ceac18458cbe0f1e3a0ded
    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>

commit f40e20d5671310500fb4f6acf38980e158a74c66
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.
    
    Change-Id: I89fd32377c123f2c55b77b01e1db4e14a199bf8e
    Reviewed-on: http://gerrit.openafs.org/9968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 48344381d7a87a3617ec14ffc9f2d9735805ada6
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.
    
    Change-Id: I347e37a8d670a6dde7e1d24eeb893c145d9e34e5
    Reviewed-on: http://gerrit.openafs.org/9967
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 43439f6312bc8f631d3eb1e28282730aac47b0eb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 11 14:40:30 2013 -0500

    Make the inode fileserver backend build again
    
     - Unconditionally build int64_to_flipbase64 and flipbase64_to_int64.
       These are only used by namei, but are referenced by the
       liboafs_util export list
    
     - Include rx_queue.h in listinodes.c, so the queue elements in
       various structures are defined.
    
     - Rename vfsck's getline, so we don't conflict with stdio's getline
    
     - Fix the includes in vfsck/dirutils.c so we get a definition for
       VolumeId
    
     - salvageserver needs libsys for various ihandle operations
    
    Change-Id: Ibed3439c1eca499e2ada785e1e8186f4480117a4
    Reviewed-on: http://gerrit.openafs.org/9966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 68e02987f62e1c507ddf7fd35847338b130c243d
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 18 12:35:36 2013 -0400

    userok.c: Fix fixed-size on-stack path buffers
    
    Several functions in src/auth/userok.c construct pathnames in fixed
    size buffers on their stacks.  Those buffers are simultaneously too
    small for the purpose for which they are used and too large to be
    placed on the stack.  This change replaces these fixed-size buffers
    with dynamically-allocated buffers which are either exactly the right
    size (due to asprintf) or have size AFSDIR_PATH_MAX.
    
    FIXES 130719
    
    Change-Id: I49b1c03d4d3525b87e155eb2d6eedf4b199a33c5
    Reviewed-on: http://gerrit.openafs.org/9986
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7af86ecffb737b050f67908b63f247e8361eacdc
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.
    
    budb had this already, in 6fda61ba2e2290dac818b42440fac1346d05b73d.
    
    Change-Id: I5ef372e8f8b9ad270b83e158d0ce14109e0f9ef1
    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>

commit 5cd6407c936f8c069336faf94a12b4a475aac0db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 13 22:29:39 2013 -0400

    Windows: fixup cellular make mount
    
    Ensure that all input strings contain a trailing dot.
    
    'fsvolume' contains the trailing dot so do not add an extra one.
    
    Change-Id: I183581d3b06a586da872edc4af54c5e34798cdf4
    Reviewed-on: http://gerrit.openafs.org/9974
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0edef53073e153a4bdcfdf2518f136d924ec49f1
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Jun 19 00:56:29 2013 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    dc87425f93bdd3d9c88be1a380ed5372980235bf (git2svn-syncpoint-master-290-gdc87425)
    
    Upstream changes are:
    
    Ben Kaduk (1):
          Always provide a usable PATH_MAX
    
    Jeffrey Hutzelman (1):
          hcrypto/rand-unix.c: Ignore write(2) result harder
    
    Nicolas Williams (1):
          Winsock connect returns WSAEWOULDBLOCK...
    
    Change-Id: I10a001a3a606c799f7b9ab7db42ecef4ad5a5c21
    Reviewed-on: http://gerrit.openafs.org/9992
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e16bef6136f83d0fc9a691051fc54a2ae5f573c9
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 18 23:12:46 2013 -0400

    viced/callback.c: Ignore dump write errors harder
    
    When writing a callback state dump, test the return values from
    write(2), but don't do anything based on the test.  This avoids
    compiler warnings when building on Ubuntu 12.10, with gcc 4.7.2 and
    eglibc 2.15-0ubuntu20.1.  This adds a new macro, WriteBytes(), which
    handles writing a requested number of bytes to a file and ignoring
    errors.
    
    Change-Id: Icead6b25a290cea09a91184dc12b7449cfaaf6f7
    Reviewed-on: http://gerrit.openafs.org/9991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ad9343e1241c8c879aa5e426e6384aa346347464
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 18 11:30:28 2013 -0700

    Fix spelling error in fs_getcrypt man page
    
    priviledges -> privileges
    
    Change-Id: I2026b8df83f3620565d8d8c522209fe354498418
    Reviewed-on: http://gerrit.openafs.org/9984
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cfecac2e71bca14f9207e5879b7c04f965776737
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Tue Feb 12 15:08:38 2013 -0500

    Fix scanf buffer overflows
    
    Fix potential buffer overflows caused by misuse of the scanf function
    in the fileserver and ptserver.
    
    Also fix similar issues in the client side fs command and libadmin
    library.
    
    Change-Id: Ia6a46981c50537da1673507c2bc777f96e43f95a
    (This change was applied to the 1.6 branch as a security fix for 1.6.2 as
    commit d1855f8e04; this commit brings the fix into master.)
    Reviewed-on: http://gerrit.openafs.org/9962
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0789772b1745f84c58cef4f36c61c927afec6ad8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 25 17:05:10 2013 -0400

    rx: test for active calls in rxi_ChallengeEvent
    
    The challenge event fires when an outstanding challenge request
    has not been responded to.  If there are no calls in the ACTIVE or PRECALL
    state on the connection when the challenge event fires do not re-issue the
    challenge.  Clients do not respond to challenges when there are no active
    calls.
    
    Change-Id: If71b49e953ca94b8bcce767b8c2a63a054d750fe
    Reviewed-on: http://gerrit.openafs.org/9943
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 23fb42352a2ae1725df057d74319d951252ee189
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Apr 17 13:42:49 2013 -0400

    salvager: report actual uniqs for a too low error
    
    when salvager fixes a "uniquifier too low" error, report
    what it is fixing and what it was looking for.
    
    Change-Id: I021bd7f69225ff02f4981aec1f6e64a4b1f3fc00
    Reviewed-on: http://gerrit.openafs.org/9795
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 29c7f07583fbbc15bb181a1537597357d657f448
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 29 12:56:29 2010 -0400

    Include user and build host in version string
    
    Make the version string used in AFSVersion and cml_version_number
    include the names of the user doing the build and the host on which
    it is done.  Also, remove extraneous whitespace and the content-free
    word 'built' from cml_version_string, since Rx debug packages provide
    space for only 64 characters of version string.
    
    Change-Id: I128f6c175bb93b1fb5a4d531f64aa81bd2841ce7
    Reviewed-on: http://gerrit.openafs.org/2279
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 20a9568b508353ace1fa4d188673e3b686068344
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Apr 25 11:13:09 2013 -0400

    salvageserver: Add -logfile option
    
    Allow an alternate location to be specified for the logfile.
    
    Change-Id: I55a05576746e115478a8e48df22f4fdb26634f05
    Reviewed-on: http://gerrit.openafs.org/9831
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dea3eb17ad4325ac20d1535c1c030a9ac580da81
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Apr 25 09:26:46 2013 -0400

    viced: Add support for -config and -logfile options
    
    Add options to the fileserver to specify alternate locations for
    the log file and the config.  This will be useful for testing
    purposes.
    
    Change-Id: I3550bd993fe5fd2cd9b90425962c95cb1c7d98ea
    Reviewed-on: http://gerrit.openafs.org/9830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 27ab5d92dbcabe2547d441c620264837d9aea8b3
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Apr 25 10:50:11 2013 -0400

    salvaged: Clean up command line parsing
    
    Clean up the command line parsing in the salvage daemon by making
    better use of the cmd library and avoiding hard coded offsets.
    
    Change-Id: Ia300840cfdbb5e03173936148c183ac391e11454
    Reviewed-on: http://gerrit.openafs.org/9829
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 11a92242676edbf9dfe88d401844e433f6ccb81b
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu Apr 25 08:57:27 2013 -0400

    volser: Add -config and -logfile options
    
    Add options to specify alternate locations for the configuration
    files and the log file.  This will be helpful for testing.
    
    Change-Id: I4169bc1944719773155931860c6a6dd2fd672f53
    Reviewed-on: http://gerrit.openafs.org/9828
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cd3492d0635708f141dbb9230471434268ef2188
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Apr 24 13:25:36 2013 -0400

    volser: Convert command line parsing to cmd
    
    Convert argument parsing to use the cmd library.
    
    Change-Id: I2bf9d7ce482d49f50cec59a1660a431bae17017a
    Reviewed-on: http://gerrit.openafs.org/9827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dfd74696844df7ffacc5c2db01393bad3fce9dcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 1 00:48:51 2013 -0400

    Windows: Protect against cm_GetVolServerList failures
    
    In cm_Analyze, if cm_GetVolServerList() fails volServerpp will be
    NULL which will trigger an exception if passed to either
    cm_SetServerBusyStatus or cm_ResetServerBusyStatus.
    
    Change-Id: I75b4b855b8c3ccfc014532b0c2eb3135807647ef
    Reviewed-on: http://gerrit.openafs.org/9960
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 12e2d47a1c318d13e43c19d0afd1cd3401e03a8d
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Apr 3 16:09:53 2013 -0400

    tests: Improve afstest_UnlinkTestConfig cleanup
    
    Make afstest_UnlinkTestConfig clean up and remove the specified
    directory regardless of which files are present.  This means
    the function no longer has to track the current state of which
    files may be present as tests are added and modified.
    
    A sanity check is added to prevent damage in case the function is
    called for an inappropriate directory.
    
    As before, no cleaning is done if the test is run outside of a
    "make check".
    
    Change-Id: Idd092040496aaa2566c8693496fefd7d6f247565
    Reviewed-on: http://gerrit.openafs.org/9703
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 61caad06b7a95c27eae7aca0536bcffe61d3e31a
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon May 6 23:03:42 2013 -0400

    Apply cast from cfc9b348 to the else clause
    
    Clang on FreeBSD complains about format string mismatch as well.
    
    Change-Id: I8bf17571807acdcac460efb94d0388b5cac4fa6c
    Reviewed-on: http://gerrit.openafs.org/9855
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3767cf8bf420bd59c3426a4287259b1e97178e96
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.
    
    Change-Id: I6e2236cd53f893d77a8d6568eae7e200ad8d1ac0
    Reviewed-on: http://gerrit.openafs.org/9949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dcd2b052b97bbef9e3d9952c9f8bfa0055381a39
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 24 14:02:11 2013 -0500

    cacheout: Add -encrypt option
    
    Add the -encrypt option to cacheout, for forcing communication with
    servers over encrypted channels.
    
    Change-Id: I1a2a9faf2fb72238102b018b7692a6691a7c0054
    Reviewed-on: http://gerrit.openafs.org/9941
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    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>

commit 1e8788927ed61c7bcc1d8ccb2c50582488fcfb6e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 28 11:40:12 2013 -0400

    Windows: cm_DumpServers "down" is string not enum
    
    When dumping the state of the servers, "down" is a string not an
    enum value.
    
    Change-Id: I603755cf0db28515d01bc03253a4d3e6528b13aa
    Reviewed-on: http://gerrit.openafs.org/9946
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fca4252621b80c5126e1ae3d84a54da5ebc677ba
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed May 15 15:19:22 2013 -0400

    Linux 3.10: Include linux/aio.h directly
    
    This file needs bits from linux/aio.h, but gets them indirectly
    from the inclusion of aio.h by sched.h.  That gets removed for
    Linux 3.10.
    
    Since this header is not of general interest elsewhere, just include
    it directly here.
    
    Change-Id: I432bde282a1c5425ba6780bca28e308bf70a79e7
    Reviewed-on: http://gerrit.openafs.org/9912
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e37ec7817aae9a856be527bd9c8b920c1a2dbc03
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 13 06:45:34 2013 -0400

    vol: return VNOVNODE if vnode is not allocated
    
    If a request for a vnode fails because the vnode is not allocated
    within the volume, the error returned to the client should be VNOVNODE to
    indicate that the requested FID does not exist and not VIO indicating a
    transient disk i/o error or other transient internal inconsistency.
    
    Change-Id: I2f875593d4a49b7ca8ed26a2f147a1c3c9109a6d
    Reviewed-on: http://gerrit.openafs.org/9902
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 68d32db60e3ba04341b00ac7886c620a0bae3ee9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 11 20:20:38 2013 +0100

    Sort all libtool symbol lists
    
    The original plan for the libtool symbol lists was that they be in
    alphabetical order. This should make them easier to maintain, as it
    becomes harder to accidentaly introduce duplicates, and makes merge
    conflicts when adding new symbols less likely.
    
    However, not all of them are properly sorted. Update the ones that
    aren't. This was done with
    
        for A in `find . -name *.la.sym`; do sort $A -o $A; done
    
    Change-Id: I6a3fd621098466e8275b2e42c0fe54cfb38b5128
    Reviewed-on: http://gerrit.openafs.org/9900
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8ebe4ecac6d208a84c56ab5c08abf430145c6281
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 5 19:38:34 2013 -0500

    libafs: fix Afs_syscall definition for UKERNEL
    
    For the UKERNEL case, Afs_syscall is prototyped and used as (void).
    Make the function definition use the void keyword to avoid a warning
    about an old style definition.
    
    Change-Id: Ic22f58a6c646d6f557e5891ce2ed51fba50fba35
    Reviewed-on: http://gerrit.openafs.org/9402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit eb7b3dac482ed0427b6e618bf60507a7a1a99769
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon May 20 11:32:04 2013 -0400

    volser: -log restore operations
    
    Add vos restore to the list of operations which are logged
    when the volserver is running with the -log option. Example
    log line:
    
        admin on 172.16.50.141 is executing Restore 536870969
    
    Change-Id: Ia6eb07258831865dfe2c85d1b9df078f33c4b640
    Reviewed-on: http://gerrit.openafs.org/9926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c4fce52a5474310070dff812dfbb2bdbd4499ffe
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Thu May 9 10:43:36 2013 -0400

    Remove kauth from libuafs
    
    Remove the uafs_klog() apis from afs_usrops. Nothing uses it except
    the obsolete afsweb stuff that isn't built anymore.
    
    Stop linking in all kauth and pts components. Also remove some other
    objects from libauth, rxkad, and com_err, that were only present as
    dependencies of kauth and pts components
    
    Change-Id: Idf83b3dd1098e874d90244fe72609666b13216a4
    Reviewed-on: http://gerrit.openafs.org/9887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f805569211263e84b1b1c7ddfaf710cfa0d63dd6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 27 16:15:19 2013 -0400

    man-pages: build bos getrestricted / setrestricted
    
    build missing bos man pages on windows.
    
    Change-Id: I37ccc402487bae04a7344a4276d246bd535bf1a6
    Reviewed-on: http://gerrit.openafs.org/9944
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9b24013426e03a501fcaa6334ba5a9b48a8da3d1
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Mon May 6 20:20:07 2013 -0400

    Linux 3.10: Replace create_proc_entry() with proc_create()
    
    Add an afs_proc_create() compat function that uses the
    appropriate kernel function based on a configure test.
    
    Change-Id: I4f3929849af032f2a483bc06bc5769f64085f1c4
    Reviewed-on: http://gerrit.openafs.org/9854
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit caa90b2d7a22549e586d92961b7a6b677e4c22e2
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Sat May 25 10:43:45 2013 -0400

    volser: Adjust TLV tag range
    
    Tag values up to D_MAX cannot be used as TLV tags, as the parsing
    logic assumes anything up to D_MAX is a control tag.  Adjust
    MIN_TLV_TAG to 21 so that the TLV range sits just above D_MAX.
    
    Change-Id: I8d55f536b82e209847400b5ac6689364abe44090
    Reviewed-on: http://gerrit.openafs.org/9942
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 22907839904dcaa9676b796735bcf48e002573ab
Author: Dan van der Ster <Daniel.Vanderster@cern.ch>
Date:   Fri May 24 10:12:14 2013 +0200

    linux: remove linux osi_alloc hash stats
    
    The bucket stat vector is maintained but never read. And it is
    occasionally annoying since it can flood messages with
    "afs_get_hash_stats: Warning! exceeded max bucket len ..."
    Remove it.
    
    Change-Id: Ibc2101c038e40c9ff6ab0401c89fd41af75ed831
    Reviewed-on: http://gerrit.openafs.org/9937
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 25a0cf6fbc34988439172eb6c03477aa945c1071
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 23 16:57:21 2013 -0400

    Windows: Return bytes_read count from cm_GetData
    
    The existing interface for cm_GetData takes an input buffer and
    a buffer size and no method by which the number of bytes read into
    the buffer can be returned.  Add an output parameter to permit it.
    
    Change-Id: I777d2fba850fb39d4323b006e3c79afa5ff4c2ff
    Reviewed-on: http://gerrit.openafs.org/9930
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7cca447e2343ccce9b36a3ebe9df1375882a9c34
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 13 15:33:42 2013 -0500

    DAFS: Avoid useless attach2 error message
    
    Since commit 53230846a202a50f6c3a61b38d62ccba8876f89d, attach2 logs an
    error when we force a volume to an error state due to attachment
    errors. This is to ensure that we never end up with a volume in an
    error state without logging a message about it.
    
    However, while this is useful for the fileserver, for non-fileserver
    programs this situation is very common for VNOVOL errors and does not
    represent an actual problem. For the fileserver, nonexistent volumes
    should be caught before we hit attach2 (in e.g. GetVolume when we
    can't find a volume structure), so errors here can be significant and
    should be rare. But for e.g. the volserver, when we try to use a given
    volume id, we just try to attach it directly, so if the volume doesn't
    exist, we will hit this code path.
    
    This can happen pretty often for the volserver, since many volume
    operations try to determine if a volume already exists by trying to
    attach it. In those cases, this error message is pretty much useless
    noise. So, get rid of it if we are non-fileserver, and the error we
    got is VNOVOL. It is not as important for non-fileserver that we put a
    volume in an error state, since volume states are much more transient
    for non-fileserver programs, since the volume structs don't stay
    around very long.
    
    Change-Id: Ie2c221af2b55af70d725f0f52dacbb7fd8788349
    Reviewed-on: http://gerrit.openafs.org/9907
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ccb66323a0a74b35b44aa901a49490a5021d46e0
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.
    
    Change-Id: I3ef37e6654280f0cff9b2449da29aebe7c5e3aad
    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>

commit 7a89c4f94440ac1c8ebf16107ece3b56c178ffc9
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.
    
    Change-Id: Ide4855b0ef149977b04e3f0b5c966b13dd1cf417
    Reviewed-on: http://gerrit.openafs.org/9905
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 50083ea0df9610d0c652931af58e013e7f494c19
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Apr 24 09:11:09 2013 -0400

    linux: Fix leaked dentry reference in the revalidate op
    
    In one error case, we exit the function without release the
    reference on the parent dentry.  This dangling reference can cause
    an oops when the client is shut down.
    
    Change-Id: I1632b581f6e7a557bb54a999dc1837c31b8381bf
    Reviewed-on: http://gerrit.openafs.org/9802
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cc07c8b99ae56dc777a07b4b818a2fa6e8a7afa3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 15 15:37:39 2013 -0400

    roken: export rk_vasprintf
    
    missing on windows
    
    Change-Id: I59778e0af6ba407efcdfbcbddec5f8be6e740951
    Reviewed-on: http://gerrit.openafs.org/9913
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 436836d81ad17d78ddfe794db0c3bbf8f31a2783
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 17 12:06:00 2013 -0400

    Windows: Protect against infinite VIO retries
    
    Keep track of the number of VIO errors reported by the file servers.
    If the count exceeds 100, abandon the request.
    
    Change-Id: I4d18ccca732802752c94c9ca1b36ca9a827c72de
    Reviewed-on: http://gerrit.openafs.org/9923
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 594c97675fd961b347b451bd000804962df1b721
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 16 15:47:11 2013 -0400

    Windows: AFSNameArrayClone leak in AFSCommonCreate
    
    Do not leak the AFSNameArrayClone if AFSLocateName fails.
    
    Change-Id: I01ea5ac7261de2cd2e715e7d110cb5e09173938c
    Reviewed-on: http://gerrit.openafs.org/9922
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f4b78c3eb12afc70d5ff3021313d3f868cb9f661
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 16 06:47:13 2013 -0400

    Windows: remove unused and leaked uniRootFileNameClone
    
    In AFSCommonCreate remove the allocated but never used but leaked
    'uniRootFileNameClone' Unicode string.
    
    Change-Id: I02a4a1a2383c5a85f2a939b4d18e38def4cf2687
    Reviewed-on: http://gerrit.openafs.org/9920
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 975c11cb357f553f9f90a231546e0b42c6e79d31
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 13 10:09:11 2013 -0400

    Windows: NotifyHardLink avoid null ptr reference
    
    In AFSNotifyHardLink, if the TargetDirectoryCB out parameter is non-NULL
    but pDirNode is NULL, do not attempt to increment the
    DirOpenReferenceCount because doing so will trigger an exception.
    
    Change-Id: I9d50e05aff9a4922113f814dd3d50e115725ecca
    Reviewed-on: http://gerrit.openafs.org/9903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4a91ac6f8383daa0be43d15da3be7be8d54034ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 9 12:26:31 2013 -0400

    Windows: Fix trace msg typo in AFSDeleteDirEntry
    
    The name of the function in the trace messages is wrong.
    
    Change-Id: I7a1b86765ca8fde828615069c66e51f5e5dce4ca
    Reviewed-on: http://gerrit.openafs.org/9899
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ad6e31d5fea221bf5eefcd35a416667bc7c1f9be
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue May 7 00:27:33 2013 -0400

    Linux: osi_TryEvictVCache: Don’t skip the first dentry if D_ALIAS_IS_HLIST
    
    An hlist doesn’t begin with a sentinel like a list does, so the old
    code would skip the first dentry or crash with a NULL dereference if
    there wasn’t one.  Use the kernel’s list_for_each_entry or
    hlist_for_each_entry macros instead of trying to do it manually.
    
    Should fix a crash observed by Alex Chernyakhovsky on kernel 3.6 and
    newer.
    
    Change-Id: I6d7bd190013a0250ca896af8d5182df55a3376b0
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/9857
    Reviewed-by: Alex Chernyakhovsky <achernya@mit.edu>
    Tested-by: Alex Chernyakhovsky <achernya@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 13a3ba7ba2d660a08925a3ccd05d74eedcf8c5cd
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed May 1 15:59:41 2013 -0400

    pt_util: gcc warning fix
    
    it's claimed these are not initialized before use.
    squelch compiler errors. has to be in parent as otherwise
    we will zero them in our loop where we potentially want the
    parent group id, which is not on "this" line as we add members.
    
    Change-Id: I3014765ad1935cbe20421560329b5bdf465db8af
    Reviewed-on: http://gerrit.openafs.org/9840
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 00b230d693fa501d11a6a6d45f65b5a09499ebbf
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed May 1 15:58:50 2013 -0400

    pt_util: be admin
    
    cheat and use the noauth flag so we pass the admin checks
    
    Change-Id: Ie064db4fb930529fe474317d096238c915d1ef5b
    Reviewed-on: http://gerrit.openafs.org/9839
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c42912d6da6ff7536b1301b4fb7f556513e8692c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 9 21:48:16 2013 -0400

    Windows: AFSCleanup move CCb access inside try block
    
    A crash dump was examined which showed a deadlock due to the leak
    of a SectionObjectResource in a code path in which the holding thread
    could not have obtained it.  The FileObject->FsContext2 (Ccb) pointer
    referred to invalid memory which may have been due to pool corruption.
    The only code path in which the SectionObjectResource is held exclusive
    and then the Ccb pointer is used outside of a try-except block is in
    AFSCleanup().  Move this reference inside the try-except block just in
    case.  If the Ccb is invalid, at least this way AFSRedirLib will catch
    the exception and free the SectionObjectResource before continuing.
    
    Change-Id: I08c9baacfc8897ae8d8b551a74976daf7effbcef
    Reviewed-on: http://gerrit.openafs.org/9892
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dcae72c87e63b595c4e86cb199ff75332b51506a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 9 18:31:19 2013 -0400

    Windows: AFSClose Set FsContext* to NULL
    
    After the Fcb OpenReferenceCount is decremented it is no longer
    safe for the Fcb pointer to be referenced.  Set FsContext to NULL.
    
    After the AFSRemoveCcb() call, it is no longer safe to reference
    the Ccb pointer.  Set FsContext2 to NULL.
    
    Change-Id: I5be1367c599222df02269bf1ed85ec89ac5d279c
    Reviewed-on: http://gerrit.openafs.org/9890
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c42bc9090324a5ce57678b31b76ad5ef8ed1d34
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 9 18:30:42 2013 -0400

    Windows: AFSClose remove dead code
    
    Change-Id: Ia844d7e01bcf7a04a7115416e83d45bf5319d739
    Reviewed-on: http://gerrit.openafs.org/9889
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d1577c80bb8f6752b775a64af68649b648c659d9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 9 18:28:09 2013 -0400

    Windows: AFSCommonWrite do not leak SectionObjectResource
    
    If the write request is neither an extending write nor a non-cached
    write and (liStartingByte.QuadPart + ulByteCount) >=
    pFcb->Header.FileSize.QuadPart, then the SectionObjectResource pointer
    will be leaked.  Instead release it before retrying.
    
    Change-Id: Id1ea7a3829a6e2be19280f366e665a11e14fba62
    Reviewed-on: http://gerrit.openafs.org/9888
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 641b2fd8d6a270a2fc202450ab8dce044afc48a2
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Thu May 9 12:30:39 2013 -0400

    ubik: Avoid use of freed string
    
    If cellName was just set to dir->cellName, afsconf_Close() will
    free the string before fprintf uses it.  Just change the order
    so we don't access freed memory and print garbage.
    
    Change-Id: I66792dc50addf2d8242f71923db09fcc178cc450
    Reviewed-on: http://gerrit.openafs.org/9886
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2608ce67f1ba5ed1ed63525fad90db9d67547ec6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 8 14:10:01 2013 -0400

    Windows: RDR_GetVolumeInfo do not always return success
    
    If the call failed because all servers are down or all instances
    of the volume are offline or busy, tell the caller.  Do not return
    fake data.
    
    Change-Id: I4e89cefba19161c7d75cfdfd04a1cf7dfc2398f4
    Reviewed-on: http://gerrit.openafs.org/9882
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5342de7a58c4516259fa48ee2d282bc6046830cb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 8 14:08:59 2013 -0400

    Windows: cm_Analyze if no retry don't sleep
    
    If error handling response is not going to result in a retry of the
    call, do not sleep.
    
    Change-Id: I12435612f94a2e6afb77b5a2975f90f66e02823a
    Reviewed-on: http://gerrit.openafs.org/9881
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 663f32e93ec2d17ca59c64c8115cd51183ea3629
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 8 13:08:30 2013 -0400

    Windows: only retry ALLBUSY for five minutes
    
    Add a volbusyCount field to cm_req_t.  Increment the count each time
    CM_ERROR_ALLBUSY is processed by cm_Analyze for a given request.
    Wait 15 seconds between retries and retry up to 20 times and then
    fail.  This prevents requests from blocking for a volume that isn't
    going to come back online for hours.
    
    Change-Id: I25e68565700dddceebecedf552d1e04cbe39b22a
    Reviewed-on: http://gerrit.openafs.org/9876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a63e6747abd33fef40da16312dfc22d052bffd00
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.
    
    Change-Id: I8fd768b36b73f9e2f727dae4e748931f307444c8
    Reviewed-on: http://gerrit.openafs.org/9856
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 79c7b34afd3231a80a7aa4f163b89cb6eca4dfb7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 7 21:50:40 2013 -0400

    Windows: Release Notes updates
    
    Document ReparsePointPolicy registry value.
    
    Document known Explorer Shell Paste bug.
    
    Update ShortNames registry value.
    
    Document Cygwin 1.7.18-1 support for AFS Symbolic Links.
    
    Change-Id: Ifdcea9c71fb23d4e9cf9ad50907dd6f50c5c619e
    Reviewed-on: http://gerrit.openafs.org/9869
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4cda20f3d7846b10905645ec915a3ea29bce4f28
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 6 15:12:54 2013 -0400

    Windows: AFSLibExFreePool*() macros
    
    Introduce the AFSLibExFreePool() and AFSLibExFreePoolWithTag() macros
    which simply call ExFreePool() and ExFreePoolWithTag().
    
    The prefix AFSLib indicates that memory allocated by
    AFSLibExAllocatePoolWithTag() must be freed before unloading.
    AFSExFreePool*() cannot be used because that is a pointer to a
    function provided by AFSRedir.sys which may not be assigned when
    memory must be freed.
    
    The only time that ExFreePool() should be used is if the memory was
    allocated by a system function.
    
    Change-Id: If56b762d2b6d857dbe415171401d64ca10a1e9ea
    Reviewed-on: http://gerrit.openafs.org/9853
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b655055a2693c44605995abe638673d842ebd5d9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 6 15:05:10 2013 -0400

    Windows: Use AFSLibExAllocatePool for library local
    
    If the memory allocation is for an object that must be freed before
    the afsredirlib.sys driver unloads, use the AFSLibExAllocatePoolWithTag
    interface.   AFSExAllocatePoolWithTag allocates the memory from
    afsredir.sys which prevents Verifier from being used to detect leaks.
    
    Change-Id: I3e384ff2da069a594d2cafe7b4b1a9bb942cbd08
    Reviewed-on: http://gerrit.openafs.org/9852
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5ea6e66433826c9745e4a211bd2801995e35fa5e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 7 18:36:16 2013 -0400

    Windows: RDR_Initialize must cleanup threads on failure
    
    If RDR_Initialize() fails after instantiating the worker thread
    pool it must call RDR_ShutdownFinal() to destroy the pool before
    exiting.  Otherwise, the threads will spin endlessly as each
    DeviceIoControl call to the redirector fails.
    
    Change-Id: I347a509703a44c6b8ca25a084ea10dc0df801eb9
    Reviewed-on: http://gerrit.openafs.org/9860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ff2a5fed4da67907cc86162553d3689db3a22c06
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 17 18:21:40 2013 -0400

    Windows: IOCTL_AFS_GET_DEBUG_TRACE
    
    Pemrit the active Debug Flags and Trace Configuration to be
    queried by administrators.
    
    Change-Id: I0c798bd2eb8f2445c81a0b45c112bbaf72d15522
    Reviewed-on: http://gerrit.openafs.org/9798
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit edea22524a4d348f570e969dd75cd7f9e3876b32
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 17 18:18:30 2013 -0400

    Windows: Add IOCTL_AFS_GET_REPARSE_POLICY
    
    Introduce IOCTL_AFS_GET_REPARSE_POLICY to permit the global
    and active authgroup reparse point policies to be queried.
    
    Change-Id: I9ec4bfd177cac1a4ed77f3b376694ec6864a479c
    Reviewed-on: http://gerrit.openafs.org/9797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aa09c830709a4f5bbe5c259e0934e4bed4b8e832
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 14 21:08:20 2013 -0400

    Windows: "ReparsePointPolicy" registry key
    
    HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
    
      DWORD "ReparsePointPolicy"
    
    Valid values are:
    
     0 - No global policy set
     1 - Reparse Points to Files treated as the target File
    
    Change-Id: Ib8f4f6a4c5c3b2faaf86a6650a4ce3ebcbbdf0e0
    Reviewed-on: http://gerrit.openafs.org/9789
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6a3eca32a6a89bf533d3075ac5cb3b24da1b1326
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 3 23:10:51 2013 -0500

    Windows: CreateFile Reparse Point to File as File
    
    Apply the Reparse Point to File as File Policy to CreateFile.  If the
    FILE_OPEN_REPARSE_POINT flag is specified to the CreateFile operation
    and AFSIgnoreReparsePointToFile() returns TRUE, evaluate the target
    object (if possible) and if the object is a FILE, then ignore the
    FILE_OPEN_REPARSE_POINT flag.  Otherwise, re-evaluate the request to
    attempt to open a reparse point if it exists.
    
    Change-Id: Ia1a3d5f4c4d638d7d94209c9b4a9dfc2e8aa2005
    Reviewed-on: http://gerrit.openafs.org/9343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dfd8ec397cc24b7ed991a5ef9c544162a7228abc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 2 01:06:52 2013 -0500

    Windows: DirControl Reparse Point to File as File
    
    Implement the Reparse Point to File as File Policy for directory queries.
    
    Change-Id: I6458ae4721f6d8ddea59e78731893fa7b108de19
    Reviewed-on: http://gerrit.openafs.org/9342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f782d1dd20ee6048ca165e808adc9a01b2666746
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 14 18:57:53 2013 -0400

    Windows: AFSRedirLib AFSIgnoreReparsePointToFile
    
    AFSIgnoreReparsePointToFile() is a helper routine that uses the
    global reparse point policy to decide whether or not a reparse point
    whose target is a file should be reported to applications as a file.
    When per-AuthGroup or per-Process policy is supported, this function
    should be modified.
    
    Change-Id: Ifa1b82f92859ede1cef311680ff93a1e38a81a6d
    Reviewed-on: http://gerrit.openafs.org/9788
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1ff59729dce57dbcf02e593310e7065d92d73bb7
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Feb 27 08:51:44 2013 -0700

    Windows: IOCTL_AFS_SET_REPARSE_POLICY
    
    IOCTL_AFS_SET_REPARSE_POLICY is a new ioctl that can be executed
    by anyone to alter the behavior of AFS Symlink-to-File reparse point
    processing.   Policy can be set for a global default or for the active
    authentication group.  If the AFS_REPARSE_POINT_TO_FILE_AS_FILE policy is
    active, afs symlinks will not be reported as reparse points if the symlink
    target is known to be a file.
    
    This patchset implements the ioctl but not the "reparse point to file as
    file" functionality.  Per authgroup policy setting is not permitted by the
    ioctl but is not supported at this time.
    
    This patchset was modified by Jeffrey Altman.
    
    Change-Id: I6fd8b3c7f94dd97e15d6b82642f43cb2d8193563
    Reviewed-on: http://gerrit.openafs.org/9341
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5ae397146a8b33eb924f6a3420e2247f1986b1ad
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 4 11:56:30 2013 -0400

    Windows: Report Case Sensitive Search
    
    Return the FILE_CASE_SENSITIVE_SEARCH volume flag as part of afs
    volume properties.   NTFS does and our search algorithm is case
    sensitive first, then case insensitive.
    
    Change-Id: I64857cdf8712847064c8271956cebe2bdbe487df
    Reviewed-on: http://gerrit.openafs.org/9850
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0e2d4c0fcb45389d20dad93ae29b1c84364b59bf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 3 11:23:31 2013 -0400

    Windows: Introduce CM_CONN_FLAG_NEW
    
    The new CM_CONN_FLAG_NEW flag is set on the cm_conn object whenever
    a new rx_connection has been created.   The flag is cleared in cm_Analyze
    if the call succeeded or if the error is one that is generated as a
    result of communicating with the peer.  If no communication with the
    peer has taken place the connection is considered "new".
    
    For errors that would result in forcing a new connection, check whether
    the existing connection is already "new".  This avoids an extra
    RX_CALL_DEAD timeout period in the case where a "new" connection was
    already in use.
    
    Change-Id: If23a5f4b98e7599e4b4e62b474661e9d91aba81b
    Reviewed-on: http://gerrit.openafs.org/9847
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1fed4439da374a134975726c1e1efa52a5359264
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 3 11:21:39 2013 -0400

    Windows: Use interlocked ops for cm_conn flags
    
    cm_conn flags can be modified by multiple threads.
    Use interlocked operations for thread safety.
    
    Change-Id: Iaaec54ca0962f8f78e1ddaee2c0a8a68041f5ed9
    Reviewed-on: http://gerrit.openafs.org/9846
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b5550d1877ceb1660d8058e8bc3609d6d85fbb41
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Fri May 3 09:11:50 2013 -0400

    Windows: Use mtafsutil library when linking with pthreads
    
    Use the multi-threaded version of the util library in a few places
    that are linking with pthreads but use the standard version.
    
    Change-Id: If4b72d4785fb3bfac9b7c133d323ebf95c72f804
    Reviewed-on: http://gerrit.openafs.org/9844
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e6a2bf764993b6ae6c6f194a0398a70b70a32983
Author: Marc Dionne <marc.dionne@your-file-system.com>
Date:   Wed Apr 24 16:05:51 2013 -0400

    doc: Fix a few typos in vlserver man page
    
    Fix a few errors in the vlserver manpage, a typo in a word and a
    few missing delimiters that mess up the formatting slightly.
    
    Change-Id: I1ec9887dfcbfd4f2a38c0a15fe7760d99682a194
    Reviewed-on: http://gerrit.openafs.org/9804
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7eed34dc81e4543e31007e5f33f9913a5b9584c4
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu May 2 08:32:51 2013 -0400

    dasalvager: use pthreads
    
    salvageserver already uses this code, and it appears to do the
    right thing.
    
    Change-Id: I4c0f2ec503f2388a1483e89a04ff78eda270659b
    Reviewed-on: http://gerrit.openafs.org/9843
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 53ac98931adf9f04c150d9bc084cae31f3913476
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed May 1 16:07:09 2013 -0400

    pt: let pt_util create the groups it wants
    
    if you are rebuilding from pt_util, data sanitization should
    not randomly chown and/or rename your groups. likewise,
    an admin should have the ability to do this.
    
    Change-Id: Id76cd16acc4af712b9be6d0c7110e8db10ce3fff
    Reviewed-on: http://gerrit.openafs.org/9841
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 32d823c52f212fb79816708418ad7d958eb32a01
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Tue Apr 30 21:59:32 2013 -0600

    doc: quote list items in POD
    
    Recent versions of Pod::Simple complain if we use integers or other
    special characters in an =item list. We have a couple bulleted lists
    that happen to have integers or other special characters as the list
    values. Quote the items with C<> so that Pod::Simple can correctly parse
    them again.
    
    Change-Id: If456781fe219b73ae01feb9aef2fb2639e097534
    Reviewed-on: http://gerrit.openafs.org/9838
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d97c96d67f61b797df6ceee410ac4a66b48f8f5d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Apr 25 17:47:06 2013 -0400

    Remove unused variable
    
    volser has apparently never supported bcrypt from the intial IBM
    import.  There's no need to keep around the code to fetch that key.
    
    Change-Id: I6c903f0016ef8129da7e52b4f08b38c390b847e9
    Reviewed-on: http://gerrit.openafs.org/9808
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9c391e7f7d0e5dfdfe947d385e2db9a8b8ca3610
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 30 11:30:15 2013 -0400

    pt_util: fix group line check for input files
    
    Fix the check for requiring group lines before any membership lines. Do
    not clear flag indicating the presence of a group after reading each
    line.  (This error was caught by the pt_util-t unit test.)
    
    Fix for commit 12ced70c95fe8efbcec09a372f0af81d819bb8cd
    
    Change-Id: Iaa47e3ab7936668e8a5b761dd8d3f933d459a16a
    Reviewed-on: http://gerrit.openafs.org/9832
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 04605389d7ac89c32e4b2576d4894b4da94d3a24
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 30 15:38:24 2013 -0400

    tests: make a plan for man page checks
    
    Split the man page check routine into two routines; one to get the list
    of sub-commands for a command, and another to verify a man page exists
    for each sub-command.  Use the list of sub-commands to set up the
    Test::More plan before running the tests.
    
    Setting the plan before running the tests allows the the man page tests
    to run on systems which ship older versions the Test::More module.
    
    Change-Id: I1ed6fb87989e1deff4696562f3b917140592ed17
    Reviewed-on: http://gerrit.openafs.org/9835
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b88ff242df03f7332945793422e7c16c423b7e76
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 30 19:57:21 2013 -0400

    tests: posix signal constants in rx/perf test
    
    Export the posix signal constants in the rx/perf perl test. Fixes a
    perl syntax error on solaris.
    
    Change-Id: Iaad361b8533787f9ad97fa00221e01e687f50723
    Reviewed-on: http://gerrit.openafs.org/9836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 479c34614f33859131258e330e7a3f8494e0bc80
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 30 14:37:54 2013 -0500

    afs: Do not invalidate all dcaches on startup
    
    Commit 20b0c65a289e2b55fb6922c8f60e873f1f4c6f97 changed
    afs_UFSGetDSlot to always treat a dslot entry as invalid if
    'datavalid' was 0. This was to force the invalidation of the given
    dslot if we were reading in a dslot from the free or discard list,
    since the data in that dslot is not valid.
    
    However, 'datavalid' is also 0 when we read in dcache entries from
    disk on startup. So, this means that we invalidated all cache entries
    when the client started up, effectively making our persistent cache
    worthless.
    
    Fix this by only forcing this invalidation when we are reading from a
    free or discarded dcache, and not during the initial cache scan. That
    is, when 'indexvalid' is 1, and 'datavalid' is 0.
    
    The parameters for these Get*DSlot variants should maybe be changed to
    be a little more clear, but for now, this is a targeted fix for this
    specific issue.
    
    FIXES 131655
    
    Change-Id: Ic23f1e17cd966b8468849f54fc6fda37e1f61c0c
    Reviewed-on: http://gerrit.openafs.org/9833
    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>

commit a7165067d79814bacabd55e9bab66c6a3ae45b76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 24 23:30:53 2013 -0400

    Windows: pSrcObject instead of pSrcFcb->ObjectInformation
    
    In AFSSetFileLinkInfo and AFSSetRenameInfo consistently use the
    variable pSrcObject instead of pSrcFcb->ObjectInformation.  pSrcObject
    is a local alias.  Mixing both forms in the same function is confusing.
    
    Change-Id: I6b078d783389eb57ed5d36cbc463018e6199e17d
    Reviewed-on: http://gerrit.openafs.org/9810
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cb9d0ff3da5c42667afb6f702523d1ffd2d72a5f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 17 20:17:09 2013 -0400

    Windows: AFSLocateNameEntry incorrect pCurrentObject
    
    pCurrentObject is supposed to be an alias for pDirEntry->ObjectInformation
    but it was not always being updated when pDirEntry was replaced.  As a
    result several tests were being performed incorrectly and the wrong data
    was being logged.
    
    Change-Id: I69913788acd243d0bfdfee88e281a1eaa2adca6a
    Reviewed-on: http://gerrit.openafs.org/9809
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 18ba93882f9dad15899624bc4f439e70d584982a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 17 18:35:36 2013 -0400

    Windows: More ObjectInformation RefCnt Protection
    
    Protect addition ObjectInformation Reference count
    transitions with the VolumeCB.ObjectInfoTree.TreeLock.
    
    AFSProcessUserFsRequest
    AFSSetRenameInfo
    AFSInvalidateCache
    AFSInvalidateVolume
    AFSAllocateObjectInfo
    AFSDeleteObjectInfo
    AFSGetObjectStatus
    AFSDeleteDirEntry
    
    Change-Id: Icd108bb8253e5e84c673f3de04f882afea725274
    Reviewed-on: http://gerrit.openafs.org/9799
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5952cc139c102035591e8c95bbba313cf709d332
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 13 01:57:56 2013 -0400

    Windows: AFSExamineVolume drop TreeLock if waiters
    
    After each call to AFSExamineObject drop the ObjectInfoTree.TreeLock
    if there are threads waiting for access.  The garbage collection process
    should not delay real work.
    
    Change-Id: I2bd009d71b534d92d7e1b321b6db2204643e4666
    Reviewed-on: http://gerrit.openafs.org/9786
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a6037b153d78791d68b694a487456fbb52e410d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 13 01:56:39 2013 -0400

    Windows: AFSPerformObjectInvalidate hold TreeLock
    
    When decrementing the ObjectInfoCB reference count hold the Volume's
    ObjectInfoTree.TreeLock shared.
    
    Change-Id: I6ac2fe3cc19bcc97a2a6e38f2e1a4b3d0952b304
    Reviewed-on: http://gerrit.openafs.org/9785
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d2b54c0ac42625715e9f74e06fa20820c2b7aa28
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 13 01:55:26 2013 -0400

    Windows: ObjectInfoCB update last access time
    
    Each time the ObjectInformationCB object is looked up
    from the ObjectInfoTree the LastAccessCount field should be updated
    except in cases of invalidation, garbage collection, and extent
    processing.  This is particularly important when an ObjectInfoCB
    is attached to DirectoryCB in AFSInitDirEntry and when constructing
    directory snapshots or validating directory content.
    
    Change-Id: Ife412b723a1bdc922ffdfeca71061fcfd1ce721a
    Reviewed-on: http://gerrit.openafs.org/9784
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c51e9b35813b8630a297094df722d2f2a2e60927
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 13 01:52:45 2013 -0400

    Windows: AFSFindObjectInfo update last access time
    
    Add a boolean parameter to AFSFindObjectInfo() which is used
    to indicate whether or not the last access time for the found
    ObjectInfoCB should be updated.
    
    Set the new parameter in all calls to AFSFindObjectInfo().
    
    Change-Id: Ib50d772af6857db7b8c13f2054e910f1ef5a1b7e
    Reviewed-on: http://gerrit.openafs.org/9783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ed76e573ae5db4fb83d57217562c4998ffa845cb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 11:12:13 2013 -0400

    Windows: AFSInvalidateVolume ObjectInfo refcnt decrement
    
    In AFSInvalidateVolume a reference count is obtained in order to
    ensure that the object is valid throughout the invalidation request.
    Although the refcnt is obtained while holding the TreeLock the refcnt
    was not released while holding the TreeLock which could open the door
    for another thread to race.
    
    Change-Id: I5c7ee91b78a2ce5f03cdc5f835b15357ecbec443
    Reviewed-on: http://gerrit.openafs.org/9782
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a1aa06e82ca770456884b1b96b4f0c109cd06a85
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 10:58:47 2013 -0400

    Windows: AFSInitDirEntry allocated ObjInfoCBs valid
    
    In AFSInitDirEntry the pattern was to find or allocate an
    ObjectInfoCB then destroy it if the DirectoryCB creation fails
    for some reason.  The problem with this approach is that once the
    VolumeCB ObjectInfoTree.TreeLock is dropped the ObjectInfoCB is findable.
    That means that the contents of the ObjectInfoCB must be valid.
    
    This patchset makes three changes.  First, in the case where the
    ObjectInfoCB is allocated, the fields of the ObjectInfoCB are populated
    from the DirEnumEntry before the TreeLock is dropped.  Second, if the
    DirectoryCB allocation fails the ObjectInfoCB is not deleted.  It is
    perfectly valid and can be used by a subsequent AFSInitDirEntry call.
    Perhaps one that is racing with this thread.   It will eventually be
    cleaned up by the AFSPrimaryVolumeWorkerThread.  Finally, when the
    ObjectInfoCB reference count is decremented the TreeLock is held shared in
    order to prevent races with other threads that might be incrementing it
    themselves.
    
    Change-Id: If3091d4fa640bbb614a1a405c3afc910d649aad6
    Reviewed-on: http://gerrit.openafs.org/9781
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9fd825790e4e61aa5fdf8996874fc9be8b1d1cc0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 01:53:54 2013 -0400

    Windows: AFSSetDispositionInfo Verify Dir Enum
    
    Before testing whether or not a directory is empty, the directory
    must be enumerated.  If it is not, enumerate it.
    
    Change-Id: I0302733821e1d5c6be3198be7fe75333d8e01245
    Reviewed-on: http://gerrit.openafs.org/9780
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e11da4c5869a0534b7767e2566d4743bc7e8189e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 25 11:16:11 2013 -0400

    Windows: Reset CM_VOLUMEFLAG_RO_SIZE_VALID flag
    
    The CM_VOLUMEFLAG_RO_SIZE_VALID flag was being reset using the
    wrong field which resulted in the flag never being cleared and
    the correct volume size not being reported.
    
    Change-Id: Ic6cefcefcd2c0ad20ad79a98cf0603f09efabcba
    Reviewed-on: http://gerrit.openafs.org/9805
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4512b47be83d708f4dfe6e45a205653635658c23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 24 23:33:13 2013 -0400

    Windows: fail if pSrcParentObject cannot be resolved
    
    In AFSSetFileLinkInfo and AFSSetRenameInfo return STATUS_INVALID_PARAMETER
    if pSrcParentObject cannot be determined.  Otherwise, a NULL pointer
    dereference will occur.
    
    Change-Id: I0e265433aa85066005e90b3584f8e865c5be79c8
    Reviewed-on: http://gerrit.openafs.org/9807
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0653c81c2abc658f32e07fc6cc1a1ff2b35a9041
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 24 23:34:45 2013 -0400

    Windows: SetFileRenameInfo Do not replace pSrcParentObject
    
    If pSrcParentObject is replaced by pTargetParentObject then the
    reference count obtained by the AFSFindObjectInfo() call at the
    start of AFSFileRenameInfo will be released on the wrong object.
    This will result in a reference leak on pSrcParentObject and an
    undercount on pTargetParentObject.  pTargetParentObject can then
    be garbage collected while it is in use.
    
    Change-Id: Id10db257afbd4996a31eb98ad7eca69343297274
    Reviewed-on: http://gerrit.openafs.org/9806
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e31240732cbe449fedea5095037ac08d1d513fa9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 17 18:04:58 2013 -0500

    LINUX: Sometimes let dentry_open handle refcounts
    
    When Linux changed dentry_open to use a 'path' argument, they also
    changed it so dentry_open handles incrementing the relevant ref
    counts. So now, sometimes we need to inc the dentry and vfsmount
    refcounts ourselves, and sometimes we need to leave them alone.
    
    To accommodate this, change afs_dentry_open to also handle refcounting
    itself, and 'get' the given dentry and vfsmount if necessary.
    
    Also note that currently, afs_linux_raw_open can call afs_dentry_open
    twice in the case of an error, but it does not dget(dp). This means
    that dp could be undercounted, since dentry_open on older kernels will
    dec the refcount on the given dentry in the case of an error. This
    change should also fix this so dp is not undercounted in that case.
    
    FIXES 131613
    
    Change-Id: I0e9deb7ce57633ff65b76d2444a0416ecbe329fd
    Reviewed-on: http://gerrit.openafs.org/9801
    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: Andrew Deason <adeason@sinenomine.net>

commit a373f0b7461158c8f17bad9a5d0511d67c765a0a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 17 17:39:09 2013 -0500

    Revert "LINUX: Avoid duplicate mntget in afs_linux_raw_open"
    
    This reverts commit 5ccbbda19f11e7027300409c46715155f439424a.
    
    dentry_open, at least on older kernels, decs the refcount on its
    arguments in the case of an error. So calling mntget for each
    dentry_open invocation actually is the correct thing to do.
    
    This code may need to be further fixed in order to work for newer
    kernels, but for now, at least put it back the way it was so we don't
    undercount ref counts on older kernels.
    
    Change-Id: Ie5e064b065bc41321c1cea8e0272cc4ea697e3b5
    Reviewed-on: http://gerrit.openafs.org/9800
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2632c3f459dc47946b2e973c045056c3dca719f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 01:14:39 2013 -0400

    Windows: RDR_DeleteFileEntry test for empty directory
    
    RDR_DeleteFileEntry should check to see that a directory entry
    that is a directory is in fact empty.  The most frequent use of
    RDR_DeleteFileEntry is to check whether the object can be deleted
    prior to setting the DeletePending state which in turn results in
    the object being deleted during Cleanup.  If the directory is not
    empty during Cleanup it is too late for the error to be seen by
    the application.
    
    Change-Id: I3207bab0527406e3003e97bccf4195abeed31423
    Reviewed-on: http://gerrit.openafs.org/9779
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c73b8350a4bc67db271a5294c5fdf1e51e9033a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 01:11:22 2013 -0400

    Windows: cm_MapRPCErrorRmdir EEXIST == ENOTEMPTY
    
    If the file server is asked to remove a directory that is not empty
    one might expect it to return UAENOTEMPTY but instead it returns UAEEXIST.
    
    The error translation function cm_MapRPCErrorRmdir did not include
    EEXIST in the list of errors that convert to CM_ERROR_NOTEMPTY.
    
    Prior to IBM AFS 3.5 the file server did return ENOTEMPTY and if a
    particular platform did not define ENOTEMPTY, ENOTEMPTY was defined to
    be EEXIST.  To late to change things back now.
    
    Change-Id: I737ff468575a088e9299a5134b31142dd0ba555e
    Reviewed-on: http://gerrit.openafs.org/9778
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5e8bfcb42cbb3652238fec2dbe1c1d65bc2c1ccd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 12 01:09:13 2013 -0400

    Windows: cm_BPlusDirIsEmpty
    
    Provide a function to determine if a directory is empty or not.
    
    Change-Id: Ib1fa642b02ad67ffdba73da1b7c6091a799de0c3
    Reviewed-on: http://gerrit.openafs.org/9777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit eb5190eb4a7cd95166866a89e0a8f3a69bbc6e8f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 29 13:40:41 2013 -0500

    Make ihandle sync behavior runtime-configurable
    
    The actual behavior of FDH_SYNC has changed a bit over the years, and
    some people want one behavior, and some want another. Make it possible
    to make this choice at runtime with the new -sync option, instead of
    making this decision by running with different patches.
    
    Note that FDH_SYNC is not a macro anymore, nor is it an inline
    function. While it could be a macro, it would look a bit complex, and
    there are some oddities with trying to use vol_io_params inside the
    FDH_SYNC expansion (vol_io_params is not declared for LWP, for
    example). And having it be an inline function causes problems with
    some odd linking dependencies. For example, vlib.a contains volume.o,
    but does not contain a definition for DFlushVolume (dir/buffer.c),
    which is referenced in volume.o.  'vos' uses vlib.a, but does not
    bring in anything that defines DFlushVolume. Currently this appears to
    not cause a problem because 'vos' uses nothing from volume.o, so the
    dependencies of volume.o don't matter. Adding an inline FDH_SYNC for
    platforms that don't support 'static inline' would add a dependency to
    volume.o (via vol_io_params), which causes an error for the lack of a
    DFlushVolume.
    
    Those are possibly just some problems, and may not be all. So instead,
    make it so we don't have to deal with that and just have a normal
    function. While FDH_SYNC may be called in a performance-critical
    section, the overhead of a real function call is nowhere near the
    delay of an actual fsync(), so presumably any overhead doesn't matter.
    
    Change-Id: I23620bd8ac31b9019e9d55cb46ec9f3a75f5675c
    Reviewed-on: http://gerrit.openafs.org/9694
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5ccbbda19f11e7027300409c46715155f439424a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 17 01:33:07 2013 -0500

    LINUX: Avoid duplicate mntget in afs_linux_raw_open
    
    In the unlikely event that our afs_dentry_open call fails with
    cache_creds, we call afs_dentry_open again with the current creds as a
    fallback. However, we call mntget on afs_cacheMnt for each call. So if
    we actually hit the second call, we'll have added 2 refs to
    afs_cacheMnt, but we only actually opened one file, causing a slight
    overcount on afs_cacheMnt refs.
    
    To avoid this, just call mntget once, before any of the
    dentry_open-related calls.
    
    Change-Id: I7ec3e8c193dd7782ab629fb5d7615d83f8385b6c
    Reviewed-on: http://gerrit.openafs.org/9791
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e019429d4548348c6ab8674305d985feee040476
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 17 01:27:47 2013 -0500

    LINUX: Avoid duplicate mntget in afs_dentry_open
    
    Our caller already got a ref to 'mnt'; getting another one here will
    overcount refs on 'mnt'.
    
    This can make it impossible to unmount the filesystem the cache
    resides on (even after the client is stopped), since it's ref count
    will be very high.
    
    FIXES 131613
    
    Change-Id: I3f0cd0fd6c0c2ced74f2d799ea0d8f8701a20141
    Reviewed-on: http://gerrit.openafs.org/9790
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7647c6c4a1a23bdf3ffe502d31f26ed052d0378a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 11 09:20:03 2013 -0400

    Windows: cm_Analyze VICECONNBAD and VICETOKENDEAD
    
    cm_Analyze forces new rx connections in response to VICECONNBAD and
    VICETOKENDEAD errors but failed to mark the cm_req_t with
    CM_REQ_NEW_CONN_FORCED and failed to set 'forcing_new' to true ensuring
    that a retry would take place even if the cm_req_t included the no retry
    flag.
    
    Change-Id: Ieb2bf141279192a591eb66eacab8150c10d029ce
    Reviewed-on: http://gerrit.openafs.org/9773
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 545ea65599230641ffaaff4077f72430aa5e7038
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 11 09:17:53 2013 -0400

    Windows: Force new connection upon RXKADEXPIRED
    
    cm_Analyze invalidated the credentials for the cell upon receiving an
    RXKADEXPIRED error from a server but failed for force the establishment of
    a new rx connection to the server.  As a result, the expired credentials
    would continue to be used until the credential expires.
    
    Change-Id: I93a4146d5ca708ce1cca467e7e5f72fea950f8ae
    Reviewed-on: http://gerrit.openafs.org/9772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6580f37357e9c9c85404d81fb0fca8eb3e28b3c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 9 10:48:12 2013 -0400

    Windows: Comment CommonWrite VDL Change
    
    Add a comment reminding the reader that CcSetFileSizes only needs
    to be called on a ValidDataLength change if the VDL value has decreased.
    A write operation cannot result in a decrease therefore CcSetFileSizes
    does not need to be called from within AFSCommonWrite().
    
    Change-Id: Iaf867ec876a6265dc2c8a7ba2319fdf67503a467
    Reviewed-on: http://gerrit.openafs.org/9757
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aa0046a7220d8b21f2694d7f9534d7383422731b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 9 10:35:52 2013 -0400

    Windows: CcPurge range modified by non-cached write
    
    When a non-cached non-paging write occurs, the update bypasses the
    Windows cache.  As a result any cached data in the modified range is
    now invalid and must be purged.
    
    CcPurgeCacheSection is known to trigger some filter drivers to open
    the file from a worker thread.  To avoid a deadlock on the
    Fcb->NPFcb->Resource that resource must be dropped.  Holding the
    SectionObjectResource exclusive is sufficient to protect against races
    with other writes, reads and SetEndOfFile operations.  While purging the
    cache prior to calling the service might be more desireable, it cannot be
    done safely without violating the lock hierarchy.  Therefore, the purge is
    performed after any call to the service completes.
    
    Change-Id: I953a74a0675875eb6be85f85ce924473deb3347f
    Reviewed-on: http://gerrit.openafs.org/9756
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7bb300ad2cfe2fec9698523c59a4e800b4fe635a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 9 08:12:29 2013 -0400

    Windows: Race between NonCached and Cached Writes
    
    The following race was identified by Rod Widdowson.
    
     A. File is complete up to 1000 Eof=1000, VDL=1000
     B. File Eof is set to 2000.  Eof=2000, VDL=1000 (SetInfo doesn't move VDL)
     C. Locks dropped.
    
    Thread1) Write comes in for 1000 for 500.  This is not extending.
             Locks taken shared.
    Thread1) Data Written to Server.  Thread stalls.
    Thread2) Read comes in for 1000 for 1000.  Locks taken shared
             so it proceeds.
    Thread2) CcRead calls CcZero and so the cache get zeros from 1000 to 2000
    Thread1) VDL moves forward.
    
    The windows cache is now poisoned between 1000 and 1500 and protected by
    the VDL.  Any future reads gets the wrong data and any write to that part
    will cause an overwrite of zeros.
    
    Instead of holding the Fcb->NPFcb->Resource and
    Fcb->NPFcb->SectionObjectResource shared during a NonCached write, hold it
    exclusive because the write is occurring behind the back of the windows
    cache.
    
    Change-Id: I2244e1247dcee2c3ca0d95e6ee11de3187d491c5
    Reviewed-on: http://gerrit.openafs.org/9754
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4a40c1f663590a8e402a0109967fdff58df56385
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 6 16:38:59 2013 -0400

    Windows: DirectIO AFS_INVALIDATE_DATA_VERSION
    
    Implement cache flush and purge operations in response to
    AFS_INVALIDATE_DATA_VERSION requests when DirectIO processing is in use.
    
    Change-Id: Ib97b1ecd0d9f65b8648f2d7d01ee7043d6be2b83
    Reviewed-on: http://gerrit.openafs.org/9744
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 16feb54d0e194f1b429ab938667babd132a7cb52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 6 16:31:07 2013 -0400

    Windows: AFS_INVALIDATE_DATA_VERSION only by service
    
    Let the service make all decisions regarding when a data version
    invalidation should be initiated.  If during directory enumeration
    or entry validation a data version change is noticed, that is an
    indication that the meta data should be updated.
    
    Change-Id: I8872fb5500b08ef2c6b64ab5fd13beeee4267aa2
    Reviewed-on: http://gerrit.openafs.org/9743
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 20328455d1519936f78025727d42ae91cf8e1e7d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 7 08:26:18 2013 -0400

    Windows: Update ValidDataLength on all nonPagingIo
    
    Instead of updating the Fcb->Header.ValidDataLength only when
    processing cached writes, update it for all non-PagingIo extending writes.
    This ensures that a file that is extended by a mixture of cached and
    non-cached (NO_INTERMEDIATE_BUFFERING) writes will properly trigger a
    page fault when the Windows cache manager does not have a complete page
    cached.
    
    Change-Id: I255bb667e33fadd07eb8961901d33707812a8406
    Reviewed-on: http://gerrit.openafs.org/9742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3cf2d46a8c29039a6c8d33a952888370aa885801
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 08:56:31 2013 -0400

    Windows: hold locks during non-cached writes
    
    Writes can alter both the EndOfFile (Fcb FileSize) and the ValidDataLength
    which must remain synchronized with the data known to the service.
    Dropping the Fcb.Resource and the SectionObjectResource prior to
    performing non-cached writes opens the possibility of a race in which
    data changes and length updates can be altered independently.
    
    Efforts are made to avoid holding locks across calls to the service
    because they can result in deadlocks with object invalidation or extent
    management.  However, object invalidation for data version changes are
    now handled in a worker thread.  It should be safe to hold onto the
    Fcb Resource and SectionObjectResource across non-cached write processing.
    
    The locks are not held in the paging IO path so paging non-cached
    writes (which cannot be extending) will not prevent cached writes from
    taking place in parallel.
    
    The reason it is critical for the ValidDataLength and the FileSize to
    remain in sync with the data for non-paging non-cached writes is that
    these values are used to determine whether the Windows cache manager
    should trigger a page fault to read data from the service upon receiving
    an extending cached write that doesn't fill the page.
    
    Change-Id: If3edb2a7412623dbec10a6efd2ee8d3b92ac992d
    Reviewed-on: http://gerrit.openafs.org/9745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 675cd4b2c2e1202f75e42ebb3f0cf898ae5d4661
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 23:41:48 2013 -0400

    Windows: DOS Device VolumeInfo max name length
    
    In 1.7.2200 the AFS Redirectory began to return
    
      cellname{%,#}volume
    
    as the volume label in the Volume Information response.  For UNC
    paths this is fine but for DOS devices on Windows 7 and earlier returning
    a volume label that is longer than the NTFS maximum label length (32
    characters) results in the Explorer Shell treating the volume as if it
    does not support long file names.
    
    From this patchset forward if the FileObject->FileName indicates that
    the query is for a DOS Device, only return the AFS volume name and not the
    cell informmation in the Volume Information response.
    
    FIXES 131632
    
    Change-Id: Iee26a00e0042e2594a5e039ee57688b61b10da45
    Reviewed-on: http://gerrit.openafs.org/9751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3b6cbed404d5a2d7d189406ba8dbd3a0e41c817a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 23:37:39 2013 -0400

    Windows: \\afs\all is not a server for NP enumeration
    
    \\afs\all is a special share name that refers to the global root
    which in the AFS redirector is actually \\AFS.  However, from the
    perspective of the network provider interface \\afs\all is just a
    share which refers to a directory.   Do not treat attempts to evaluate
    it as if they were the same as evaluating \\AFS.  One is a global
    enumeration (\\AFS) and the other is just a hidden share name.
    
    Change-Id: I24af24ec005c729bb1430c55254f2b68689932ed
    Reviewed-on: http://gerrit.openafs.org/9750
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 16a42ac3adcb1f5f8c9f9f83b8a0d306711b3077
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 21:54:57 2013 -0400

    Windows: AFSConfigureTrace process DebugFlags
    
    Do not ignore the DebugFlags value if it is only value that has
    been changed.
    
    Change-Id: Ibaad12d2a8a47711adf09f4c0811efbaad1df7fc
    Reviewed-on: http://gerrit.openafs.org/9749
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1eccf8df16d9216a4c09e99d4123a86cbcf610a0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 21:51:48 2013 -0400

    Windows: Runtime RDR Trace Toggle
    
    Modify the IOCTL_AFS_CONFIG_LIBRARY_TRACE DeviceIoControl message
    to pass an AFSDebugTraceConfigCB which is used to toggle the value
    of the Library's AFSDebugTraceFnc pointer.   When the trace log is
    enabled, the AFSDbgLogMsg parameter is non-NULL and when the log is
    disabled, the parameter is NULL.
    
    Change-Id: I71b951f244b760487f2ece94409cefaa7a73ea31
    Reviewed-on: http://gerrit.openafs.org/9748
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ce72155dc09e592adc94ef7f0b4bf241d0c0c2e8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 8 09:26:28 2013 -0400

    Windows: CM_CONFIG_DATA_VERSION  23
    
    The cm_volume_t data structure changed.  Increment the data version
    for the 1.7.24 release.
    
    Change-Id: I324525db34e644cf7ac915742e5da6895f351531
    Reviewed-on: http://gerrit.openafs.org/9746
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 639453196dd9f71a86e61d2c83e2e8ae0d8bf45f
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Apr 8 20:51:52 2013 -0600

    Increase size of space for ACL in "up" command.
    
    The amount of space allocated for use by the pioctl call to
    obtain the ACL for the source directory in the "up" command
    is not large enough and the call fails when access lists get
    sufficiently large.
    
    This change increases the size of the space provided to
    pioctl to the maximum possible. This allows for much larger
    access lists and is consistent with a similar call in the
    "fs listacl" command).
    
    Change-Id: I177387e7346a9e2788f3556fd8754a7f93a2794b
    Reviewed-on: http://gerrit.openafs.org/9753
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b39461fc67d4f258d31e0a13b5d8dcb3c5fae49f
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Apr 8 20:29:58 2013 -0600

    OpenBSD 5.3: Replace use of copyinstr for setting mount point name.
    
    As a result of a realignment of kernel memory in OpenBSD 5.3,
    the copyinstr() routine no longer works for copying the mount
    point name into the internal mount table structure. It also
    fails silently, so it's not noticed until someone looks at
    the mount table and discovers that the mount point name for
    AFS is missing.
    
    This patch replaces the use of copyinstr() with strlcpy() for
    copying the mount point name in OpenBSD 5.3.
    
    Note that this is consistent with how other similar device
    support has addressed the same issue in OpenBSD 5.3.
    
    Change-Id: I57619f989e51a8c1a320be7d451683b7c0abb7c1
    Reviewed-on: http://gerrit.openafs.org/9752
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 31d73b7e43058d421c2a1b6179e71b7b98a269f3
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Apr 3 10:54:11 2013 -0400

    budb: fix signedness of hash address logging
    
    lots of places we print an unsigned int as a signed int.
    the resulting output is confusing. so. stop that.
    
    Change-Id: I5659139b92de225ffb9593e5bf7f5ae997d5d212
    Reviewed-on: http://gerrit.openafs.org/9702
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1942d2a4fc90703e64e1c97ba10d2918ba584e73
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.
    
    Change-Id: I5d1ab07ec481e48710bafcdc53fe58f529cc6dde
    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>

commit 88deedc55a8410c055336486d8816840f9d2f028
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 5 14:19:35 2013 -0500

    liboafs_ubik: Export DISK_GetFile
    
    The symbols StartDISK_GetFile and EndDISK_GetFile can be useful to
    ubik users. Put them in the export list.
    
    Change-Id: I6aa9c7261e68d66de19981154a7c42efc69e91f2
    Reviewed-on: http://gerrit.openafs.org/9725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6aa6639b619636c5d63d6413956ed980844160b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 4 10:47:38 2013 -0400

    Windows: Avoid unnecessary Ccb->DirectoryCB->ObjectInformation
    
    In almost all cases where an AFSCcb is present the associated AFSFcb
    is also present.  The AFSFcb has a direct pointer to the AFSObjectInfoCB.
    This patchset replaces the Ccb->DirectoryCB->ObjectInformation references
    with Fcb->ObjectInformation.  This avoids one level of pointer indirection
    and will make it easier to remove the DirectoryCB ObjectInformation
    pointer in the future.
    
    Change-Id: I2a6f5d2ed8ef1ad85691f07f425f99e3fb6cce31
    Reviewed-on: http://gerrit.openafs.org/9724
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e762eec9ac9b648e9878e03e4b3bf185d2e2a1c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 3 23:37:53 2013 -0400

    Windows: AFSInitPIOCtlDirectoryCB Vol ObjInfoTree
    
    Hold the VolumeCB->ObjectInfoTree.TreeLock exclusively when calling
    AFSAllocateObjectInfo() in order to protect the lists of child objects.
    
    Change-Id: I16f104b8112e972fa8c60da2b0dbcb07ad42456c
    Reviewed-on: http://gerrit.openafs.org/9723
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd73c9c1ef98b94ee1f4e870b52e2604422595e3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 3 23:33:40 2013 -0400

    Windows: Switch to Interlocked ops for RDR Set/Clear
    
    Switch to using interlocked operations for the SetFlag and ClearFlag
    macros.
    
    Change-Id: I2b071ae49f69d557c30d1280fb7877dde7f76f40
    Reviewed-on: http://gerrit.openafs.org/9722
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 76e33082d12eaeaaf87df53986b46a508c7ad68d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 2 14:13:57 2013 -0400

    Windows: AFSDeleteDirEntry set input to NULL
    
    AFSDeleteDirEntry() frees the memory allocated to the DirectoryCB.
    To ensure that an invalid memory pointer is not accidentally used
    by the caller after the memory is freed, use
    InterlockedCompareExchangePointer() to set the input parameter to
    NULL prior to destroying the DirectoryCB.
    
    Change-Id: I2e92d4277d1f9baee164bfb941821aa11a1ad738
    Reviewed-on: http://gerrit.openafs.org/9721
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ba78ac675c2a90359dedc9cf16e38e6d7e606eaf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 2 00:46:27 2013 -0400

    Windows: AFSPrimaryVolumeWorkerThread reorg
    
    Periodically there is a lost race which results in a valid DirectoryCB
    with a non-NULL ObjectInformation pointer that refers to freed memory.
    This major reorganization simplifies the logic and attempts to close
    potential loopholes.
    
    First, the AFSExamineDirectory() function is removed and replaced by
    a call to AFSDeleteDirEntry().  The AFSExamineDirectory() function
    examined all of the children AFSObjectInfoCB objects which in turn
    duplicated much of the logic of AFSExamineObjInfo at the cost of
    increased complexity due to the additional layer of locked objects.
    Once the AFSDirectoryCB is removed a subsequent pass of the worker
    thread will free the AFSObjectInfoCBs.
    
    Second, the AFS_OBJECT_REFERENCE_DIRENTRY category had been used for
    both DirectoryCB references and the Pioctl references.  A new
    AFS_OBJECT_REFERENCE_PIOCTL category has been created to improve the
    ability to track the allocations and releases.
    
    Third, the AFSPrimaryVolumeWorker thread now attempts to hold onto the
    VolumeCB TreeLock exclusively.  Previously the lock was held shared.
    However, it is not safe for both the garbage collection and the find
    routines to both be shared.  One has to be exclusive.  Although holding
    the TreeLock exclusively in the garbage collection processing will result
    in the lock being held for extended periods of time, it is more likely
    that there will be benefits from parallel access during AFSFindObjectInfo()
    calls.
    
    Attempts to obtain most other locks are non-blocking.  If the lock cannot
    be obtained, the object must be in use.  Therefore, it should not be
    garbage collected.
    
    Change-Id: I75e0302c1737aadfbd9afc0c8a03e28513e785f5
    Reviewed-on: http://gerrit.openafs.org/9720
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9285cc3d5270306377ef3d6f90468129a8cfd376
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 2 00:40:54 2013 -0400

    Windows: FindObjectInfo refcnt under lock
    
    AFSFindObjectInfo performed the search of Volume object tree protected by
    the TreeLock but dropped the lock before incrementing the reference count.
    This behavior contributed to a race with the AFSPrimaryVolumeWorkerThread
    which has to drop the VolumeCB TreeLock periodically in order to safely
    cleanup FCBs.
    
    Change-Id: I0cba4a118e4835edee7702db97846567618e0adf
    Reviewed-on: http://gerrit.openafs.org/9719
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 559674b36b0f58060e564786b4969ab9e6f777a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 28 00:32:37 2013 -0400

    Windows: AFSDeleteDirEntry Protect against NULL reference
    
    Now that AFSDeleteDirEntry can be called with a DirectoryCB
    whose ObjectInformation pointer can be NULL, protect against unintentional
    dereference.
    
    Change-Id: I6ffd21c35da5581a7ebac6987324e2ff3a8ccd2b
    Reviewed-on: http://gerrit.openafs.org/9691
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a8383140c9ca238657e8bf1ce63f8ef7d571cdac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 09:02:00 2013 -0400

    Windows: AFSDeleteObjectInfo AFS_OBJECT_HELD_IN_SERVICE
    
    Move the check for AFS_OBJECT_HELD_IN_SERVICE until after the TreeLock
    is held.
    
    Change-Id: I38d095c83dc5878770a7a31bee08048a777cb3cb
    Reviewed-on: http://gerrit.openafs.org/9674
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 774bc5eb6be5cc7cab5d86dd40438e18cc7f3da7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 09:01:17 2013 -0400

    Windows: Add comment to AFSInitDirEntry
    
    Change-Id: I6e6164b1dd5c7c8a2c51bcb4cba47667bd343e79
    Reviewed-on: http://gerrit.openafs.org/9673
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f915b4ef15bf815d9405284130e031bd558ce8f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 08:59:14 2013 -0400

    Windows: AFSDeleteDirEntry deleted flag shuffle
    
    Move the assignment of the deleted flag earlier in AFSDeleteDirEntry()
    to avoid potential invalid memory access.
    
    Change-Id: I6d0e1272cc9f2bb491ad291a65b94c53ced9a354
    Reviewed-on: http://gerrit.openafs.org/9672
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7252f3125da093a1f9de5ef7ded470ddad12eb9d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 08:56:19 2013 -0400

    Windows: Protect AFSDeleteObjectInfo calls
    
    Only permit AFSDeleteObjectInfo() to be called if the reference
    count returned by AFSObjectInfoDecrement() is zero.
    
    Change-Id: I6fd65ac41467ec2aa82d4f86f0d57f91595930c1
    Reviewed-on: http://gerrit.openafs.org/9671
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 36fee95e32835cf20286c5225e56b303dd4563da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 08:52:59 2013 -0400

    Windows: AFSExamineObject() refcnt underflows
    
    Now that the reference counting is likely to be correct, do not
    garbage collect objects with negative reference counts.  If the
    reference counts are wrong the objects will never be destroyed but
    that is now a safer choice than freeing memory that might be in use.
    
    Change-Id: Ic8e781c4a775f8bcc66227b6f08f894c2fb85157
    Reviewed-on: http://gerrit.openafs.org/9670
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0a063815cc27ed065bcc9e4a91fb3a7b280818bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 3 16:39:07 2013 -0500

    vos: Restore some VNOVOL error messages
    
    Many places in vos/vsprocs have code to delete a volume. Commit
    f4e73067cdef990262c69c38ac98761620a63f25 tried to refactor them by
    consolidating the common "delete" code into DoVolDelete. However, not
    all of the removed code had exactly the same behavior, and some of
    these variants were not handled by DoVolDelete.
    
    One such variation is that DoVolDelete always printed an error message
    if the target volume did not exist. But for some call sites this
    condition is not an error, and prior to the refactoring they did not
    print such an error message. Commit
    1092cbe34fc8519826b3fa0565505b7bd81bc922 tried to correct this by
    suppressing the error message if the target volume does not exist.
    However, this means that all DoVolDelete calls do not print such an
    error, where some should and some should not print an error. This
    means that in some edge cases when we encounter an unexpected VNOVOL
    error, we now skip printing the specific error we got and instead go
    right to cleanup/recovery/exit. For a few other cases, we used to
    print an error and continue (because it is a non-fatal error or a
    warning), but now we print nothing when we encounter a VNOVOL error.
    
    Fix this by specifically printing an error for the VNOVOL error for
    DoVolDelete call sites that used to print such an error. Do this for
    all such sites except ones where we obviously print an error
    immediately afterwards anyway.
    
    This is just a quick targeted fix. A future more robust fix should
    involve altering DoVolDelete to handle all of the different behaviors
    expected by its various callers.
    
    Change-Id: Ia79bce3d2fed4acd62d517064db5b6be77f6e987
    Reviewed-on: http://gerrit.openafs.org/9704
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5c2a770e0ed02b2cae658a7cbf30e91105194a57
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 30 20:16:48 2013 -0400

    Windows: FileSystemAttributes = FILE_READ_ONLY_VOLUME
    
    Instead of testing for Characteristics = FILE_READ_ONLY_DEVICE
    which applies to the entire device, only return media protected
    errors if the volume FileSystemAttributes include FILE_READ_ONLY_VOLUME.
    
    Change-Id: Ice716083c7f0ecb9e80d0ca9e3e143249293d28e
    Reviewed-on: http://gerrit.openafs.org/9699
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9174531dca75f1f2d235ed806f784422792c3ab2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 30 20:15:42 2013 -0400

    Windows: RDR DeviceObject Characteristics
    
    Set both FILE_DEVICE_SECURE_OPEN and FILE_DEVICE_REMOTE when
    creating Device Objects for the AFS Redirector.
    
    Change-Id: I336287817d913c612e2fe7cfbb4198900a846b0f
    Reviewed-on: http://gerrit.openafs.org/9698
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8f04ab0b61d3b254d187b6c057c781ba9ebd7a0d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 30 19:58:12 2013 -0400

    Windows: Move AFSVolume functions to new file
    
    In an effort to declutter AFSFcbSupport.cpp, move AFSVolume
    functions to a new source file, AFSVolume.cpp.
    
    Change-Id: I663352d7bc4004c41bbab55fdf5bd8e36b373cf9
    Reviewed-on: http://gerrit.openafs.org/9697
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7cfbfc3d2c8157978d2faaf55ce88c9ada88ffac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 30 19:54:11 2013 -0400

    Windows: Move Name Array functions to new file
    
    In an effort to reduce some of the clutter in AFSGeneric.cpp,
    move the Name Array functions to AFSNameArray.cpp.
    
    Change-Id: I97c9c5c67229851cbe937a603a93a2db97d6c12c
    Reviewed-on: http://gerrit.openafs.org/9696
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 199cfb4a885b98b583f538ed14dff7ec5c9f9990
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.
    
    Change-Id: Iab16ef6a25487d492fdb046db93973a1e64ca70a
    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>

commit 71afa42cdd9107b071fb79f0adaf96c5fcf145da
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.
    
    Change-Id: I0e109ad97a1b1bd9b3b25677eb9744a4f7bd5412
    Reviewed-on: http://gerrit.openafs.org/9679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bc1b79d030eb9e2b9076edb90cce7807dae5d949
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 28 12:06:34 2013 -0400

    Windows: AFSDeleteObjectInfo InterlockedCompareExchangePointer
    
    Correct the third parameter passed to InterlockedCompareExchangePointer
    in AFSDeleteObjectInfo() which prevented *ppObjectInfo from being set
    to NULL.
    
    Change-Id: I4edc1d69114c02ffff8181b176a5f0bac82f6802
    Reviewed-on: http://gerrit.openafs.org/9689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a8a6b8dd93082579d08282c65a6437d66fc5facc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 28 00:28:35 2013 -0400

    Windows: additional AFS_SUBSYSTEM_OBJECT_REF_COUNTING
    
    Add missing cases of reference count value changes which were
    not being logged.
    
    Change-Id: I8bc26f31f2725e2c324831bce3da0b68a7fb91d9
    Reviewed-on: http://gerrit.openafs.org/9690
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e731198751f442ced3080280d757fb7997ae261
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Wed Feb 20 16:09:06 2013 +0100

    packaging: remove largefile-fileserver option from spec file
    
    Remove the obsolete --enable-largefile-fileservers option from
    the RedHat spec file.
    
    Change-Id: I8334c0bfc53125243f78c04a064e23c987a2a4fc
    Reviewed-on: http://gerrit.openafs.org/9144
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f2e6a92f4435df8d6a632995b08f2b98bb65e0bc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 08:21:49 2013 -0400

    Windows: add AFS_OBJECT_REFERENCE_FS_REQ
    
    Add a new object reference category AFS_OBJECT_REFERENCE_FS_REQ which
    is used to avoid overloading AFS_OBJECT_REFERENCE_DIRENTRY.
    
    Change-Id: I428940005dd7b4502329d4171b7307282099af44
    Reviewed-on: http://gerrit.openafs.org/9668
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 50faf84b4b46b337cd576f4bcaceed423d63544b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 27 00:49:56 2013 -0400

    Windows: cache readonly volume size information
    
    Cache the volume size information for .readonly volumes which can
    be reset when the volume callback is broken.  This reduces the number
    of RXAFS_GetVolumeStatus RPC calls issues on .readonly volumes.
    
    Change-Id: Ie0e63ca9082a004da71098e28df1315d42d364ff
    Reviewed-on: http://gerrit.openafs.org/9681
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b518ffc0da37d38f05fa1d35852500784caefba6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 26 09:08:58 2013 -0400

    Windows: btree enumeration bulk stats
    
    Each of the btree enumeration bulk stat operations include the
    directory object in the bulk stat list.  If the only object in the
    list is the directory object, do not perform the bulk stat rpc as
    it just wastes time.  All of the required objects are already cached
    with current callbacks.
    
    Change-Id: Ic0fac50f36bdca1e79f48ca308c373a2b3152675
    Reviewed-on: http://gerrit.openafs.org/9675
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7aa9eaecb6181ccf987b99f1be902c8bff69c384
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 26 17:57:28 2013 -0400

    Fix build with separate objdirs
    
    The conversion of pam/ to use libtool introduced references to
    file names with LT_CCRULE that are not subject to make's vpath
    searching.
    
    Sprinkle ${srcdir} accordingly to fix the build.
    
    Change-Id: Ia500fe2a57813fdd93ca1767e243fd947d6b8e1e
    Reviewed-on: http://gerrit.openafs.org/9677
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3929282d2767bd35e54037e5477e917979c84be3
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.
    
    Change-Id: Ia569633d98266cb15c059e66150d8d7f91d20dca
    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>

commit 95240a5a5030a1053ce9966b54037eda2d37140b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 26 13:27:33 2013 -0500

    aklog: Only try to use krb5-weak.conf if it exists
    
    The logic we use for using krb5-weak.conf to allow 'weak crypto'
    requires us to know where the default krb5.conf is. The default
    krb5.conf local can vary significantly depending on the platform, and
    we don't have a good way of figuring out what it is, so we guess. We
    may guess wrong.
    
    To limit the cases where we guess wrong, only try to do this
    workaround if the krb5-weak.conf file actually exists.
    
    Change-Id: Id3905268b5cc22dafb4dd539b9f3d323a656fee2
    Reviewed-on: http://gerrit.openafs.org/9667
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6ad2cc0275cd1074316d6bc70cd8758d25f94467
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.
    
    Change-Id: I4b65f5405a3de918091f8c25440801d0ce9f90b8
    Reviewed-on: http://gerrit.openafs.org/9676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cd1ffc1073d6f9a191e07cb72e8d0b4ec8cd6347
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 26 13:14:30 2013 -0500

    aklog: Search for /etc/krb5/krb5.conf
    
    aklog tweaks the KRB5_CONFIG environment var when performing one of
    our 'weak crypto' workarounds. We assume that the default krb5.conf is
    /etc/krb5.conf, but for Solaris 11 libkrb5, krb5.conf is in
    /etc/krb5/krb5.conf. Although this file could be anywhere, try
    /etc/krb5/krb5.conf too, so we at least work on stock Solaris.
    
    Change-Id: I1f53b9b58549da04f2a27f1f579dd0084796e51d
    Reviewed-on: http://gerrit.openafs.org/9666
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 42351db75e04e46012208d38f80dc17be7ab776d
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.
    
    Change-Id: I9b6c57ef7727837ae7cfc00d02192983355dad2b
    Reviewed-on: http://gerrit.openafs.org/9599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e8faeae6dcae0e566de2b21d53d3f78f3cc44e3f
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.
    
    Change-Id: Id7c466fcc0f031b8fccb52dc51493eeed040cf95
    Reviewed-on: http://gerrit.openafs.org/9104
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e93360ecc79822dd8149990a6eb5f3235b7cca1f
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.
    
    Change-Id: Id85e3a72f53b85e6b155b224268e2fe587fe3406
    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>

commit f36a72bf28c0e17080d96c4367aa858cc9c02716
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 19 16:14:18 2013 -0400

    util: fix dirpath use of clntEtcDir on Windows
    
    When commit 9b0a7f5d13115fe5760db16587fe81dd35a5a0ef added the variable
    'clntEtcDir' it failed to assign it a value on Windows.
    
    Change-Id: I02cfb994a28e3e1032741d1b2710acb5d40d9bfd
    Reviewed-on: http://gerrit.openafs.org/9635
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dd903ce729c24c9d1ed78b227a261b2549482461
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 14 23:27:25 2013 -0400

    vol: remove duplicate stmp declaration
    
    Patchset 38cf31463e3f3c675de727c1e793e117a90e6d20 added a definition of
    afs_ino_str_t stmp which should have replaced the b64_string_t stmp
    declaration that was already present.
    
    Thanks to Jason Madar for noticing.
    
    FIXES 131620
    
    Change-Id: I780efd55dea33f1f7893b68285c841e80660b3f3
    Reviewed-on: http://gerrit.openafs.org/9608
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5123deebdcbf634151b236bf7ff7ac7ca099b11e
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Mar 14 10:35:30 2013 +0100

    Update NEWS for 1.6.2.1
    
    Change-Id: I2c08474cc6034d40cef0d77d94c070bcdd8d4563
    Reviewed-on: http://gerrit.openafs.org/9602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Paul Smeddle <paul.smeddle@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b74728590ce14f9b6c3235f0b51f8865caa9427d
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Thu Mar 14 10:16:30 2013 +0100

    Make NEWS match the 1.6.2 Release Notes
    
    Change-Id: Ic98bbb37e2f81e36724e69af348c06a2c6b8b5c3
    Reviewed-on: http://gerrit.openafs.org/9601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 35b248b06ac82fd911b3901e2afb0507fb866d1c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 22 21:14:48 2013 -0400

    Windows: Create Symlinks in Volume Roots
    
    Permit the CreateSymbolicLink API to create symlinks in volume
    root directories.
    
    Change-Id: I779f127f9a7e4ddfee41fe7a9398f20175843be0
    Reviewed-on: http://gerrit.openafs.org/9656
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0b018b9dec68f07537e76f7fe9f7441f7e1e7b9d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 22 16:10:54 2013 -0400

    Windows: Robocopy Symlinks
    
    This patchset enables AFS Symlinks and DFSlinks to be copied to
    a local NTFS disk using robocopy's /SL option.
    
    Separate print names and substitute names are now provided permitting
    the reparse data copied from AFS to be applied to a local disk object
    for recreation.
    
    Change-Id: I7bab4e8352a069a14b9ac4b3b2e22819f3de7a23
    Reviewed-on: http://gerrit.openafs.org/9655
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a0b015ecb214f9d655b28b895093dbb09fd8f001
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 21 07:57:34 2013 -0400

    Windows: NPAddConnection no local name and connected
    
    The WN_ALREADY_CONNECTED error is only to be returned if a local
    device name (aka drive letter) is provided in the request.  Otherwise,
    the proper return status is WN_SUCCESS if an unnamed connection is
    requested.
    
    Change-Id: I1e1ca47a84e353db66e2830ec11f968a3578c4f6
    Reviewed-on: http://gerrit.openafs.org/9642
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f7cf559480c04989c7c46126f2036fe78f301705
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 20 16:23:59 2013 -0400

    Windows: NPCancelConnection without drive letter
    
    When canceling a network connection to a UNC path, do not match
    connections that have drive letters assigned.  Only cancel the connection
    if there it matches the UNC path and has no local name.
    
    Change-Id: I2c27c6d08cec65406f7e7f9eb61cd6d6c7be1f5c
    Reviewed-on: http://gerrit.openafs.org/9640
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ef5ea5120ea0af85d73fa7588dd0efc947a174d9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 22 00:54:36 2013 -0400

    Windows: AFSDeleteObjectInfo InterlockedExchange
    
    Use InterlockedExchangePointer to disconnect the ObjectInformationCB
    pointer from the caller.  This ensures that only one thread can
    successfully call AFSDeleteObjectInfo on the same object at a time.
    
    Change-Id: Ie70f52fc443f88c3cb4be41f12caa91466d92905
    Reviewed-on: http://gerrit.openafs.org/9644
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ed1b562b8174028502099bd224e7e73740a89362
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 21 19:34:25 2013 -0400

    Windows: FSCTL_SET_REPARSE_POINT NULL ptr dereference
    
    Avoid a potential NULL pointer dereference if the ParentObjectInfo
    object cannot be found.  If the Btree lookup fails, do not call
    AFSCreateSymlink() and do not decrement the ObjectInfo refcount.
    Doing so will result in a BSOD.
    
    Change-Id: Ibd3e4ebb343f6c3cff8bf1cb160e42938d0f906c
    Reviewed-on: http://gerrit.openafs.org/9643
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8ce8ff9cbf66ad78a9b9dc5871a4bc4f3f9ee15d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 21 06:28:25 2013 -0400

    Windows: Remove Driver Verifier warning of memory leak
    
    Work items are now queued in an AFSRedir.sys data structure
    and are not freed when AFSRedirLib.sys is unloaded.  Therefore,
    do allocate the memory with AFSLibExAllocatePoolWithTag().
    The allocation by AFSLibExAllocatePoolWithTag results in a false
    Driver Verifier warning of a memory leak on unload.
    
    Change-Id: I268c4b6d20090e88114456a24b7648eef59f6289
    Reviewed-on: http://gerrit.openafs.org/9641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3a31f5d90c490a23b3f59f50aa9ced63b8cb98af
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 20 10:10:03 2013 -0400

    Windows: buf_ClearRDRFlag and cm_directIO
    
    When 'cm_directIO' is true, there are no RDR held buffers therefore
    there is nothing for buf_ClearRDRFlag() to do.  Do not pass 'Go',
    do not obtain cm_scache.rw exclusive nor buf_globalLock shared.
    Simply return immediately.
    
    Change-Id: I4c6d1486e3a2bef987a3eb36d8de446e9009e0d2
    Reviewed-on: http://gerrit.openafs.org/9638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d3c04329a396cc82a71321bb209b783a1524018e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 20 10:08:21 2013 -0400

    Windows: buf_RDRBuffersExist and cm_directIO
    
    If 'cm_directIO' is true, then no RDR buffers exist.  Return immediately,
    do not pass 'Go', and do not lock and walk the buffer hash table.
    
    Change-Id: I9c6499d429d7591c8bd67ce3077ff4c4e7d6d62d
    Reviewed-on: http://gerrit.openafs.org/9637
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cda4f6c3ff92a35e2ff8b2eb114729144fff165f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 20 10:04:41 2013 -0400

    Windows: buf_CleanVnode avoid lock contention
    
    In the middle of the big loop do not obtain buf_globalLock unless
    cm_buf.qFlags & CM_BUF_QREDIR is non-zero.  buf_globalLock is heavily
    contested and any reduction in contention is an improvement.
    CM_BUF_QREDIR is never set when 'cm_directIO' is true (now the default)
    so this is a huge win.
    
    Change-Id: I0b150bf77a0f1d748f94026d3b74bc7d90e7c3c6
    Reviewed-on: http://gerrit.openafs.org/9636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f9dac53a75aff66696f78255ed08cc49c696d337
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 19 11:48:42 2013 -0400

    windows: AFSQueryDirectoryQueryDirect no Symlinks
    
    When evaluating symlinks for directory enumerations, the response
    must properly set the FILE_ATTRIBUTE_DIRECTORY flag based upon the
    file attributes of the target.  At the present time the target is
    not evaluated by the service and AFSQueryDirectoryQueryDirect does
    not have the correct context in which to evaluate the target.
    
    Instead of returning an incorrect result to the application, exit
    AFSQueryDirectoryQueryDirect() returning STATUS_REPARSE_OBJECT which
    is interpreted by AFSQueryDirectory() to perform a full directory
    enumeration.
    
    Change-Id: Ic35dcff31f1098b9f40f3a37534b79439e0e3f1f
    Reviewed-on: http://gerrit.openafs.org/9633
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 46a61f61c2432c53a787724e88925cb823fac012
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 18 22:43:09 2013 -0400

    Windows: 1.7.23 Release Notes
    
    Add explanation of Win 7 Explorer Shell Read-Only Volume vs Network Drive
    Letter Mapping bug.
    
    Change-Id: I7cf1300c9ec91cbbd347030d0bb9642c78607398
    Reviewed-on: http://gerrit.openafs.org/9634
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9cfd7f768ca350d3b750e89e7ddb186bdad6f726
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 5 20:54:50 2013 -0500

    Linux 3.9: hlist iterator change
    
    hlist iterators have been reworked to not require a temporary
    node parameter.
    
    Change-Id: Ibea1295163bd39ff2901a2194aa46c3d342f5128
    Reviewed-on: http://gerrit.openafs.org/9403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b5675b57f815722f8c37fcfed5a2bd7b1ef112d6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 18 12:07:55 2013 -0400

    Windows: Avoid cm_Analyze race on cm_serverRef lists
    
    cm_Analyze() accepted as a parameter a pointer to the first element
    on a cm_serverRef list which is only ever used for VL operations.
    
    cm_Analyze() would separately call cm_GetVolServerList() to obtain
    the cm_serverRef list for RXAFS operations.  Then the variable 'serversp'
    would be set to the first element of the list.
    
    'serversp' was then used to refer to the list and would be passed to
    cm_SetServerBusyStatus() and cm_ResetServerBusyStatus() which would
    in turn obtain the cm_serverLock while it manipulated the cm_serverRef
    status flags for the elements in the list.
    
    The problem is that passing a pointer to the first element of the
    cm_serverRef list without holding cm_serverLock can permit the list
    contents to be altered including removal of the first element.  If the
    race is lost and the memory associated with the first element is freed
    before access, the afsd_service.exe will crash.
    
    This patchset makes a number of changes.  First, the cm_serverRef_t
    parameter is changed from a pointer to the first element of the list
    to be a pointer to the HEAD pointer of the list.  Since it is ever only
    used for cm_cell.vlServerp lists, the parameter is renamed to
    'vlServerspp'.   Second, a separate "cm_serverRef_t ** volServerspp"
    variable is allocated for the return value from the cm_GetVolServerList()
    operations.
    
    cm_SetServerBusyStatus() and cm_ResetServerBusyStatus() are altered to
    accept a pointer to the HEAD of the list instead of a pointer to the first
    element.  The cm_serverLock is now held read instead of write because the
    list itself is not being altered.  All of the state changes being applied
    to the cm_serverRef objects are atomic.
    
    Finally, cm_serverLock is held across all list traversals within
    cm_Analyze().  A read lock is obtained if the elements of the list are not
    being removed or inserted and a write lock is obtained if they are.
    
    Change-Id: I48464e90a828706dad442c019c75a717b06d690b
    Reviewed-on: http://gerrit.openafs.org/9625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 19dc2fac408bd619f67c2e7ee29b42c81c1150bc
Author: pete scott <pscott@kerneldrivers.com>
Date:   Wed Mar 13 07:54:00 2013 -0600

    Windows: Replace AFSDbgMsgLog func with macro
    
    In order to reduce computation overhead when trace logging is not
    active replace the AFSDbgMsgLog function call with a macro,
    AFSDbgTrace.
    
    Change-Id: I7bccee0ddffcd8488f81fcebbb970aa15c8dc52e
    Reviewed-on: http://gerrit.openafs.org/9621
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1437789abaf86a6448d7a2d8dc197876ab2a9ea6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 17 08:43:39 2013 -0400

    Windows: Test AFS_DBG_FLAG_BREAK_ON_ENTRY earlier
    
    During AFSRedir.sys initialization, check the AFS_DBG_FLAG_BREAK_ON_ENTRY
    registry flag before initializing the trace log system.
    
    Change-Id: I928fab78b40dce51d2c0686bce68eb76f941b214
    Reviewed-on: http://gerrit.openafs.org/9622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f493a652b28e5e5606e0ec6741b884545b5d1902
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 15 11:40:29 2013 -0400

    Windows: Increase AFS DeviceObject StackSize
    
    Increase the StackSize parameter of the DeviceObjects allocated
    by the AFS Redirector framework.  The StackSize parameter is used
    to notify callers how many Irp Stack frames will be consumed.  Now
    that the redirector is using IoCompletion routines, an additional
    stack frame is required to handle calls to the AFS Redirector library
    driver.
    
    Thanks to Peter Scott for identifying the solution.
    
    FIXES 131618
    
    Change-Id: Ib66f884911f0d425e6e07f338a36b3ebedeb8871
    Reviewed-on: http://gerrit.openafs.org/9609
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 830744ff437a27b00044e7e94f3824b0db969c0b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 16 01:18:14 2013 -0400

    Windows: File Attribute Reporting Consistency
    
    Do a better job of consistently reporting file attribute information
    via directory queries and file information queries.  Avoid computing file
    attribute information for file information queries that do not return them
    (e.g., Name Information) because computing it is expensive.
    
    Change-Id: I5c8120698261f555edfa98e92230705b593aca36
    Reviewed-on: http://gerrit.openafs.org/9613
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 170bbbdb93df64d3657026e13aba26c40d93f51d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 16 01:15:01 2013 -0400

    Windows: netbios name comparisons are case insensitive
    
    When parsing the symlink target string to categorize it as AFS Symlink
    or DFS Link, the comparison with the netbios name string must be case
    insensitive.  Otherwise, symlinks are reported to the redirector as
    DFS Links.  For the most part they will work since the AFS redirector
    requesting MUP to Reparse the \\AFS path will call back into the AFS
    redirector.  However, the attributes on symlinks to files will be wrong
    as DFS Links can only be links to directories.
    
    Change-Id: Ia9652991549b0783f7a534b071ff99ceabdd3382
    Reviewed-on: http://gerrit.openafs.org/9612
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a8599a126513548bac790a2cbe4cbd1153312ef5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 16 01:13:01 2013 -0400

    Windows: add RDR_ExtAttributes
    
    Add RDR_ExtAttributes to compute the file attributes for redirector
    queries.   The attributes reported via the RDR interface need to be
    different from the SMB interface because the SMB interface does not
    support reparse points nor does it support DFSLinks.
    
    Change-Id: I5d5172f5afc1d50e2622e2068e20447cd1098fbb
    Reviewed-on: http://gerrit.openafs.org/9611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e5966117c4f0db631e0e25fc27f63e4caa76fa23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 15 13:07:21 2013 -0400

    Windows: drive mapping enumeration infinite loop
    
    If WNetEnumResource returns an error as opposed to success, such as
    ERROR_UNEXP_NET_ERR, the enumeration loop would retry forever passing
    zero for 'cEntries' which in turn results in a successful response
    containing zero entries.
    
    Change the while conditional to test for continued success instead
    of ERROR_NO_MORE_ENTRIES.
    
    Change-Id: I93af73b379aa455de7a8b3264b5178d482bb52b0
    Reviewed-on: http://gerrit.openafs.org/9610
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 086b47404f7c79acd95fea04684a6af6fb09df1a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 14 19:40:14 2013 -0400

    Windows: remove last bits of BIOD from Direct Store
    
    Direct I/O Store operations are performed directly against a memory
    buffer stored in the background direct store rock structure.  There is no
    BIOD used in the current implementation.  Remove the BIOD from the call
    stack.
    
    Change-Id: I78d7b898a6eec5eb39c943e760a678913b42bf0d
    Reviewed-on: http://gerrit.openafs.org/9607
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit adb6add99a6cd1c22a4a11f531e6e94e66c45d9b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 14 13:05:28 2013 -0400

    Windows: VolumeInfoReadOnlyFlag registry option
    
    Windows 7 Explorer Shell has a bug when processing drive letters
    mapped to UNC paths whose target volume information specifies the
    FILE_READ_ONLY_VOLUME flag.  When set, not only is the .readonly
    volume treated as read only but all volumes that can be accessed via the
    drive letter.   This bug is fixed in Windows 8.
    
    Add a registry configuration option to permit configuration of the
    behavior.  Sites that do not use drive letter mappings will want to
    enable it even on Windows 7 because it permits the Explorer Shell
    to disable the "Delete" and "Rename" options and others when the current
    directory is read only.
    
    The default is disabled on Win7 and below; enabled on Win8 and above.
    
    Change-Id: I73bbaf7d40918650b1a217ed44409c0679920536
    Reviewed-on: http://gerrit.openafs.org/9606
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec5fd2ce07d2e8adfa5c34d978bc786f36dac044
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 14 12:30:36 2013 -0400

    Windows: Protect against DirEntry with NULL ObjInfo
    
    During cleanup protect AFSExamineObjectInfo() and AFSExamineDirectory()
    from DirectoryCB objects that have a NULL ObjectInformation pointer.
    
    Change-Id: Id46f6b53ec4861f5ac2d28b918d073201d2433ce
    Reviewed-on: http://gerrit.openafs.org/9603
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1092cbe34fc8519826b3fa0565505b7bd81bc922
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Mar 7 09:34:55 2013 -0500

    vos: noise messages when attempting to delete non-existent volume
    
    With vos refactor commit f4e73067cdef990262c69c38ac98761620a63f25,
    some formerly conditional volume deletes are now unconditional.
    This regresses 'vos move' output with harmless "error" messages
    when AFSVolTransCreate() returns VNOVOL:
      "Failed to start transaction on <volume>"
      "Volume not attached, does not exist, or not online"
    
    Modify DoVolDelete() to return early (and silently) with VNOVOL
    in this case, allowing the caller to handle this appropriately.
    
    Change-Id: I21a72e38f330335adf97ac50a7ac7d0fb97c1a9c
    Reviewed-on: http://gerrit.openafs.org/9596
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bb42c02ce56aec29e3860bec47e47157d0406f20
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 21 02:30:58 2013 -0700

    OpenBSD: Replace "vnodeop_desc" with "vops" in kernel module.
    
    In OpenBSD 4.9, the vnode operations vector in the "vnode" struct
    was changed from using a "vnodeop_desc" struct to a new "vops"
    struct. This patch makes the appropriate changes to the OpenBSD
    kernel module support to accommodate the change.
    
    Change-Id: Ib47259e1213e29658a691ce3a53d7ac88e8d746b
    Reviewed-on: http://gerrit.openafs.org/8928
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fd06af146d3f1953e87478cb4196362f1e15c094
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 12 10:59:44 2013 -0400

    Windows: ReleaseNotes updates
    
    explicitly list WinRT as unsupported.
    
    Mention KFW 4.0.
    
    Update Reparse Point text.
    
    Update JPSoftware Take Command references.
    
    Update UNC path processing text.  Reference PowerShell 3.0 and Cygwin.
    
    Change-Id: Ib3d4d33173cf4808792c92737eb88a909d7d176b
    Reviewed-on: http://gerrit.openafs.org/9589
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4811f432ba51b53be4edf8288eaa61613e6b787c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 12 00:38:05 2013 -0400

    Windows: avoid null cellp dereference during dump
    
    When performing a memory dump if cm_ucell_t.cellp is NULL, do
    not attempt to print the cell name.
    
    Change-Id: I146b90b5424b93d0c52a758b33fcff1bcf441e77
    Reviewed-on: http://gerrit.openafs.org/9582
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3e4daf06a6e18d1a151b7de0b76b1a1698bdc814
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 23:28:56 2012 -0500

    Revert "Windows: Treat all cached writes as write-through"
    
    This reverts commit 5130681fa2d4a35d3f0b578d92c5db1892fdfb18.
    
    Change-Id: If33a6e1f6969628eaa74d5a56f2eec5560d827f4
    Reviewed-on: http://gerrit.openafs.org/9572
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit eecf7a1372f8fcb01d73b628850b488414d9ca3a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 11 00:43:26 2013 -0400

    Windows: Enforce free space checks every 1MB
    
    Instead of performing a free space (or quota) check on every extending
    write, perform the check only when the file length is increased beyond
    the next 1MB boundary.   The file server permits 1MB quota over runs
    and issuing the volume status rpc to the file server is extremely
    expensive.  Especially for append only applications that write just a few
    bytes at a time.
    
    Change-Id: I74ff17ba5a95adb41350add24bc09a74c950a4fb
    Reviewed-on: http://gerrit.openafs.org/9555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8b76110e23160e33716234f9560d22ca5275cb0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 8 16:15:51 2013 +0000

    bos: Remove theoretical overflow in DateOf
    
    DateOf copies the results of ctime into a static buffer. Typically
    ctime will return a 26 byte string, but if you pass it a year larger
    than 9999 (which we shouldn't), you can get a 32 (or more) byte string.
    
    Get rid of this unlikely event by using strlcpy for the copy. We already
    truncate at 24 bytes when we remove the \n, so this shouldn't cause any
    further problems.
    
    Really, this whole thing should be rewritten to use strftime.
    
    Caught by coverity (#985776)
    
    Change-Id: I18f6828d6ec3d79ecaf1dad8e27d3e8691ce87d5
    Reviewed-on: http://gerrit.openafs.org/9551
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4e9c6eb9d5192888d79a07042c9cb6029def9726
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 8 13:02:26 2013 +0000

    bos: Don't overflow buffer with key data
    
    When parsing key data from the command line, don't overflow the
    buffer used to hold it - instead just give an error if the data
    is too long.
    
    Caught by coverity (#985775)
    
    Change-Id: I44fb62d30c5022e650475b3ca51a28bcb7cf1e06
    Reviewed-on: http://gerrit.openafs.org/9550
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 45993e3ad55358c3e94105e2e3aa13df43f5fdd3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 8 13:01:28 2013 +0000

    bos: Don't overflow cellname buffer
    
    Don't overflow the fixed sized cellname buffer when copying the
    information in from the command line - instead, just use a
    dynamically allocated buffer.
    
    Caught by coverity (#985775)
    
    Change-Id: If87b1ba9bcb990d3145a89627e212144cd78f5a0
    Reviewed-on: http://gerrit.openafs.org/9549
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 21166744bf15f13bc04c25d68a28fe803a960b0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 4 16:34:20 2013 +0000

    butc: Init volheader before using it for hton
    
    When converting a volume header from host to network order, make
    sure that any unused fields in the structure are zero'd, so we don't
    end up filling them with stack garbage in the network version of
    the structure.
    
    Caught by coverity (#985956)
    
    Change-Id: I3e039ffcb102a97afeb0e2223de12523f53b0a67
    Reviewed-on: http://gerrit.openafs.org/9548
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cfeda375fd4155a2f8a01717e8733be937fa7a48
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 4 16:31:50 2013 +0000

    bucoord: restore requires server and partition
    
    The VolRestoreCmd sub command requires that the user specifies
    the server and partition - calls which don't do so won't get past
    libcmd. Don't check again in the handler that they have been supplied,
    as it confuses things.
    
    Caught by coverity (#985953)
    
    Change-Id: Id4548c117b677bd2048744ade8fd91bb15e0e35e
    Reviewed-on: http://gerrit.openafs.org/9547
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d672d5ee78d7673f3c42a7a343989b2bd4dca02b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 4 16:22:08 2013 +0000

    upserver: Don't overflow file and hostname buffers
    
    If the user specifies a ridiculously long command line, don't
    overflow the filename or hostname buffers with what they supply.
    
    Caught by coverity (#985911)
    
    Change-Id: Ia73f9fb94491f5691358eec1d13dbdd2651a604c
    Reviewed-on: http://gerrit.openafs.org/9546
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ceac74a6baad79155adaa692639b1d9f403525b6
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Mar 7 06:53:16 2013 -0500

    afscp: null-terminate root.cell dir if needed in dynroot mode
    
    instead of doing a check for something which will never be true,
    and then terminating, just terminate if it's not already
    null-terminated.
    
    Change-Id: I8ad18800de22c8d10eb27fbcb2fffb2b3a5a9127
    Reviewed-on: http://gerrit.openafs.org/9439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chaskiel Grundman <cg2v@andrew.cmu.edu>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2998ab45353e631a348d1dded9ff21b8438628a0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 8 01:41:22 2013 -0500

    Windows: Use Microsoft IO_REPARSE_TAG_SYMLINK tag
    
    For symlinks and DFS Links use Microsoft's NTFS Symlink tag,
    IO_REPARSE_TAG_SYMLINK, instead of the OpenAFS assigned tag.
    
    The DeleteFile() and RemoveDirectory() Win32 APIs do not delete
    non-Microsoft reparse points and instead delete the target object.
    While it is possible for Take Command and potentially Cygwin to
    alter their behavior with AFS specific knowlege, it is not possible
    to alter the Explorer Shell, cmd.exe and powershell.
    
    Using the Microsoft tag is a violation of Microsoft policy.
    
    Change-Id: I90a419fe21637bb871d08528463d1178078a9947
    Reviewed-on: http://gerrit.openafs.org/9497
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 241382e3bf588269b5115fea1be0f782de43ca2a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 00:54:32 2013 -0500

    Windows: GetReparseData UNC path format
    
    When specifying UNC paths for Symlink and UNCLink targets output
    the paths using true UNC notation "\\server\..." instead of "\server\...".
    
    Change-Id: I51ecc6578fb0a984a5ad44b1bf1e40556e737465
    Reviewed-on: http://gerrit.openafs.org/9426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 470b57cc4a60d18aaab41a58b6a93f8baa3caead
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 09:25:09 2013 -0500

    Windows: cm_BPlusDirEnumBulkStatNext index error
    
    In cm_BPlusDirEnumBulkStatNext the 'next' variable was being set
    even if the FileId was not added to the list of objects added to
    the cm_bulkStat array.  Delay the assignment to ensure that 'next'
    refers to the first element in the array.
    
    In the CM_ERROR_BULKSTAT_FAILURE processing, 'next' is used to
    obtain a reference to the cm_scache object that is supposed to
    correlate to the [1] entry in the array.  If 'next' == -1, there
    is no such entry.  Add a conditional to ensure that 'next' is not
    used when its value is -1.
    
    Change-Id: I4ebc49de4bf67eee5a28790cd49f0128891cc202
    Reviewed-on: http://gerrit.openafs.org/9450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ee79fb61f5a0c996b76a37392b58be01bc8cf19e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 00:59:01 2013 -0500

    Windows: PopulateCurrentEntry Symlink Targets
    
    Handle a broader range of symlink target formats and be more
    precise regarding what is an afs symlink or a dfs link.
    
    Change-Id: Ia37c1adf5d64ba44fffca976885a455e6900a047
    Reviewed-on: http://gerrit.openafs.org/9428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit abbee864c48fb2e439c4141130ada184fad23db5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 00:56:15 2013 -0500

    Windows: Claim success for Delete Reparse Tag
    
    The typical pattern for deleting a reparse point is
    
     1. open reparse point object
     2. delete reparse tag
     3. set delete on close
     4. close handle
    
    Claim success when we receive delete reparse tag fsctl so that
    the delete on close disposition can be set.
    
    Change-Id: I8f4212dd6ba04be95455eaa210e632ca59cfa7c8
    Reviewed-on: http://gerrit.openafs.org/9427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d64cd65a23996a7bb79cfecfdc0383de72601497
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 11 00:03:38 2013 -0400

    Windows: Report actual volume creation time
    
    The cm_scache.volumeCreationDate is populated by any non-bulkstat
    callback issuing operation.  If it is not set at the time the
    redirector requests volume information, force an RXAFS_FetchStatus
    and then use the resulting timestamp in the response.
    
    Change-Id: I8ab471767dd6525efc71deff073d54ae38f1f462
    Reviewed-on: http://gerrit.openafs.org/9554
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 002d97363f01e0099519c35fc2f5a2af4305267e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 10 10:51:47 2013 -0400

    Windows: RDR_UpdateFile dscp != scp
    
    Do not set bScpLocked when obtaining scp->rw as scp != dscp.
    
    Change-Id: I878166cd510a188a0e56cc92660e74b9625c3ab6
    Reviewed-on: http://gerrit.openafs.org/9553
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 75ee4fb1afce75316fd05b013b36a24f218118dc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 6 09:53:41 2013 -0500

    Windows: Service processing for Symlink creation
    
    Initial support for symlink creation via the Win32 CreateSymbolicLink api.
    Add support for AFS_REQUEST_TYPE_CREATE_SYMLINK redirector requests via
    the new RDR_CreateSymlinkEntry() function.
    
    Since CreateSymbolicLink api creates a new directory or file object and
    then assigns the Microsoft reparse tag data to that object,
    RDR_CreateSymlinkEntry must first delete the empty directory or file and
    then create the new symlink object in its place.  If the empty object can
    be removed but the symlink cannot be created, STATUS_FILE_DELETED is
    returned to indicate to the redirector that a failure occurred that
    changed the state of the directory without creating a new object.
    
    If the empty object cannot be removed, a STATUS_ACCESS_DENIED error will
    be returned and the empty object will unfortunately remain in the AFS
    directory.
    
    Target path translation is performed.  Absolute AFS paths are stored in
    UNIX notation.  Absolute non-AFS UNC and device paths are prefaced with
    "msdfs:".
    
    Change-Id: If8b4729dd5fffddc71221750852b8be731c83cab
    Reviewed-on: http://gerrit.openafs.org/9425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1c582768df98494775caf197da23612d59425509
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 3 17:47:49 2013 +0000

    auth: Don't overflow lower case cell string
    
    When building tcell_l in kerberosSuperUser, make sure that we
    don't overflow the string that we're constructing.
    
    Use the opr_lcstring function to do the lower case conversion,
    rather than rolling our own.
    
    Caught by coverity (#985772)
    
    Change-Id: I6e28cfc54883aac7e3a3eb2f4e2b2bf7ebc0bc63
    Reviewed-on: http://gerrit.openafs.org/9544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cc95fca8e16f83d7dda3f09a5133dc9294299d61
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 13:01:14 2013 +0000

    auth: Don't overflow buffer in CompFindUser
    
    The fullname buffer in CompFindUser is theoretically big enough
    to take the data usually supplied to it. However, play it safe by
    using strlcat and strlcpy to catch buffer overflows.
    
    Caught by coverity (#985771)
    
    Change-Id: Icc80d012b61ae90e1a62a814f7a6d552bb264294
    Reviewed-on: http://gerrit.openafs.org/9543
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8c664a8c0f25e472bd3ba30f31fbbf707fa4e873
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:55:18 2013 +0000

    auth: Catch long cells in backwards compat code
    
    ktc_SetTokenEx can fall back to calling the SetToken pioctl when
    the kernel module doesn't support the newer call. When we do this,
    we have to transform the token structure into the older format.
    
    Catch tokens whose cells are too long to be represented in the
    older format, and bail with KTC_INVAL, rather than overflowing the
    array.
    
    Caught by coverity (#985770)
    
    Change-Id: Ibaa1cc92c494cc6f4e56ebe7b16109d4558db131
    Reviewed-on: http://gerrit.openafs.org/9449
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b0b3def56c15161df28059e270f0360c31241217
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:38:49 2013 +0000

    audit: Fix overflow in file backend
    
    If the filename passed to open_file was larger than MAXPATHLEN-5,
    then we'd overflow the oldName buffer when creating the backup
    filename. Fix the overflow by using a malloc'd buffer instead.
    
    Caught by coverity (#985767)
    
    Change-Id: Ie364aae0749b3658ab11a354844878d10c6970ab
    Reviewed-on: http://gerrit.openafs.org/9448
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 249a5934605106f9025643321eb8e24f113fdd2a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 10 10:49:42 2013 -0400

    Windows: IsSpaceAvail lock order violation
    
    cm_IsSpaceAvailable() obtains the cm_scache.rw lock of the volume
    root directory.  Therefore it is a lock order violation to call the
    function while any other cm_scache.rw lock is held belonging to an
    object in the same volume.   vnode 1 is always less than any other
    vnode value.
    
    Change-Id: Id34591b6ccec8d7e8e0fe48e3357c991cd99acfb
    Reviewed-on: http://gerrit.openafs.org/9552
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f6180b9da6d2e89c9b8bbe62dc49f02f9ab6829a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 9 15:43:14 2013 -0500

    Windows: Fix directory to service null mask lookups
    
    The direct to service for non-wildcard lookups, commit
    b7ba97ad537bd0e9a241f052ddd1c3a50c74745b, introduced a bug when the search
    mask is left unspecified.   Do not set bNonWildcardMatch to TRUE
    when the mask is NULL.
    
    Change-Id: I6c4846b443acc7e5e42d4e83e75ef383fc400db9
    Reviewed-on: http://gerrit.openafs.org/9542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 816834cc03317bdda7f9fad0afdd838aa3cea52a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 22:05:20 2013 -0500

    Windows: Permit deletion of reparse points
    
    AFSSetDispositionInfo did not set the AFS_DIR_ENTRY_PENDING_DELETE
    flag if the DirectoryCB type was mountpoint, symlink, dfslink or invalid.
    This patchset permits the flag to be set so reparse point objects can be
    deleted without using the AFS "symlink.exe remove" command.
    
    Change-Id: I03e1cb7b08989950a4307e59073e5fb712d1a901
    Reviewed-on: http://gerrit.openafs.org/9475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 540a73dc18bfacebc72dfac2e3c3d9f06c87e18f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 17:39:05 2013 -0500

    Windows: AFSLocateNameEntry Backup Volume Change
    
    When AFSLocateNameEntry() calls AFSBackupEntry() in the name array it is
    possible that the DirectoryCB returned belongs to a different VolumeCB.
    If so, pCurrentVolume must be updated and reference counts must be
    adjusted.
    
    Change-Id: I9fcd30374b20f2e1c214a019feeab55c30ce9666
    Reviewed-on: http://gerrit.openafs.org/9465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c9846c9e804299de41a298adf69c9c0666d8ec85
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 7 17:28:36 2013 -0500

    Windows: AFSLocateNameEntry OutVolumeCB can be NULL
    
    It is possible for the AFSLocateNameEntry OutVolumeCB parameter
    to be assigned a NULL value upon return.   Handle it in the callers.
    
    Change-Id: I15e4581d4655dbaca7c4ca4b9e9af758e97c5c95
    Reviewed-on: http://gerrit.openafs.org/9464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0cc602a065f5df9959f735ff14e05a6798b9b0b9
Author: pete scott <pscott@kerneldrivers.com>
Date:   Tue Mar 5 13:21:41 2013 -0700

    Windows: RDR SymbolicLink create support
    
    Permit the redirector to handle Microsoft's IO_REPARSE_TAG_MOUNT_POINT
    and IO_REPARSE_TAG_SYMLINK requests.   The IO_REPARSE_TAG_SYMLINK request
    is issued as a result of a CreateSymbolicLink Win32 API.
    
    Creating a symlink in Windows is not equivalent to the way a symlink is
    created in AFS or UNIX.  Instead of creating a symlink object whose data
    string represents the target and mode bits indicate that the stream should
    be treated as a link, on Windows it is a two step process.
    
    To create a symlink to a directory, create an empty directory and then
    assign the reparse tag data to the directory object.  To create a symlink
    to anything else, create an empty file and assign the reparse tag data to
    the file.  Deleting a reparse point simply removes the reparse tag data
    and not the underlying directory or file.
    
    The way this will work for AFS is that assigning reparse data to an
    existing directory or file will require that the object be deleted from
    the directory and a new symlink object be created in its place.  This is
    why upon successful completion of the upcall to the service the directory
    object information has the AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED flag
    cleared.
    
    This patchset permits symlink creation but does not do anything to support
    symlink removal.
    
    Symlink target data is not validated.
    
    Change-Id: Ie7019445a7c307dcb2cd47beee47d02e1a82145f
    Reviewed-on: http://gerrit.openafs.org/9424
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1b048f1f571eb02976a78a4dabafb3c677fbf9d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 5 07:52:37 2013 -0500

    Windows: Avoid race during cm_FreeServerList
    
    cm_FreeServerList obtains cm_serverLock exclusively and in some
    circumstances will call cm_FreeServer().   cm_FreeServer() will
    drop the cm_serverLock if the cm_server_t.refCount is zero in order to
    avoid a lock order violation when calling cm_GCConnections() since
    cm_connLock is higher in the lock hierarchy.
    
    The call to cm_FreeServer is performed after the cm_serverRef_t
    to be deleted is identified but before it is removed from the list.
    There is the potential for two threads calling cm_FreeServerList()
    to race and for more than one thread to attempt to delete the same
    cm_serverRef_t twice.
    
    Fix this by:
    
    1. maintain a private copy of the cm_server_t pointer, delete the
    cm_serverRef_t and update the list pointers before calling cm_FreeServer().
    
    2. obtain and release a refcnt on the next cm_serverRef_t to ensure
    that it is not deleted out from underneath the thread in case the
    cm_serverLock is dropped.
    
    Change-Id: Ia7b6eed66e9ba306c07d47027262e1a8ad1e52ac
    Reviewed-on: http://gerrit.openafs.org/9391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f4373e7867abd50b3fe39716073811794fe62379
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:21:06 2013 +0000

    aklog: Fix buffer overflows in next_path
    
    Use strlcpy and strlcat
    
    Caught by coverity (#985765)
    
    Change-Id: I2fc3d04a762f6872c31fe728e1ab0247ac16e6de
    Reviewed-on: http://gerrit.openafs.org/9447
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2902ef93976fd4baa1a1ed07f4940c5979702856
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:15:22 2013 +0000

    aklog: Protect against overflows from cmdline
    
    The cell, realm and path arrays are populated based on the user's
    command line, and xlog_path is populated from their passwd map
    entry. Protect against all of these overflowing, by making suitable
    use of strlcpy and strlcat.
    
    Caught by coverity (#985764, #985904)
    
    Change-Id: Ia8f1816b010eb2b85b537e156de2b7983e4626ba
    Reviewed-on: http://gerrit.openafs.org/9446
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 19d2683d711f95165adc16fac765bb4a31c99043
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:09:42 2013 +0000

    aklog: Avoid overflows in get_afs_mountpoint
    
    When working with the fixed length cellname buffer, use
    strlcat and strlcpy rather than strcat and strcpy.
    
    Caught by coverity (#985763)
    
    Change-Id: Idfb3a0562d4028f5d1aa134b7ab0b5fa2dd60edb
    Reviewed-on: http://gerrit.openafs.org/9445
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 788a6b67a088e2565c3b47ecb6e594a7b15f2757
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:04:46 2013 +0000

    aklog: Fix overflows in auth_to_path
    
    In the auth_to_path routine, don't use strcpy and strcat when
    working with the fixed length pathtocheck buffer. Instead, use
    strlcpy and strlcat to ensure that all string operations fit within
    the buffer limits.
    
    Caught by coverity (#985762)
    
    Change-Id: I66ae11e1f49c66574d457fd79e97dd647ac98a73
    Reviewed-on: http://gerrit.openafs.org/9444
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 95cd5b1d950ecb820179e4279b8570d8ad6780f5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 12:00:47 2013 +0000

    afsmonitor: Fix theoretical overflow of handler string
    
    Don't do an unbounded copy into the thresh structure's handler
    string, in case the caller has passed us a string which is too
    long.
    
    Instead, switch to strlcpy for all string copies.
    
    Caught by coverity (#985761)
    
    Change-Id: I80e3d35d7a9a4b57e8efc0cb0c7b2dc12f021063
    Reviewed-on: http://gerrit.openafs.org/9443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 98191d77617206c1923e73f2ce71ef2bd9c85161
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 7 22:28:12 2013 +0000

    afsmonitor: Use roken
    
    Include the roken.h header, and remove the redundant system
    includes from afsmonitor.c
    
    Change-Id: Ia3eb8a7a0bb1e77d928d26cdfc87f818e6791e16
    Reviewed-on: http://gerrit.openafs.org/9463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fcb7974b838c2b37a8b81b88b11905c6ece398f6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:27:47 2013 +0000

    util: Avoid overflow in GetNameByINet
    
    We copy the results of gethostbyaddr into a fixed length buffer
    without checking whether they fit. Add a length check, and use
    strlcpy to do the copy to make sure we can't overflow.
    
    Caught by coverity (#985912, #985872)
    
    Change-Id: I1e8f0fbb2577199c25201940f54646a4acdbbd37
    Reviewed-on: http://gerrit.openafs.org/9393
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cc194827a841f057654f1dbe4dcb3f6de98c1c60
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:35:01 2013 +0000

    kauth: Don't overflow stack when building username
    
    knfs constructs the userName by combining the clientName.name
    and clientName.instance arrays, along with a dot separator. Make
    sure that the userName array is big enough to hold these, and
    use strlcpy and strlcat just to make sure.
    
    Caught by coverity (#985829)
    
    Change-Id: I75431212c8464861a26546c9e47d13acbff08967
    Reviewed-on: http://gerrit.openafs.org/9351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 25011b4544e48dffd5978201669f7b9e23da3144
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 12:08:46 2013 +0000

    fs: Fix improper use of readlink
    
    readlink returns a non-NUL terminated buffer. If we are going to
    terminate its response, we need to make sure that there's space to
    do so. So the length passed to readlink should be one less than the
    real length of the buffer.
    
    Caught by coverity (#985596)
    
    Change-Id: I47081877a54a7b3d99ab8e6ec52d4663acd2eeb6
    Reviewed-on: http://gerrit.openafs.org/9328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 908105fe8d51551e45692de4e145022138a0356c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:49:13 2013 +0000

    fstrace: Don't read uninitialised data
    
    The pftix variable points to the next free element in the
    printfTypes array, so when we iterate through that array to
    read that data back, we should stop when our iterator equals
    pftix, not when it is greater than it.
    
    Caught by coverity (#986013)
    
    Change-Id: Ie08ebdd28cdde6647e91da5c5f67512096ecb34c
    Reviewed-on: http://gerrit.openafs.org/9442
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d81271640891fb8c364e8625e7a9f6ede21572f4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:44:02 2013 +0000

    readpwd: Make sure user supplies a passwdfile
    
    If the user supplies enough command line arguments, but doesn't
    provide a passwdfile, then we can end up trying to open whatever
    garbage is on the stack.
    
    Once we've finished parsing the command line arguments, make sure
    that a filename was supplied.
    
    Caught by coverity (#986009)
    
    Change-Id: Ice2fca16458a90d73ae6b5fadb0efa22ed0b185a
    Reviewed-on: http://gerrit.openafs.org/9441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3c564444cf1c0bad25792b10edc158030e180369
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:44:02 2013 +0000

    readgroup: Make sure user supplies a groupfile
    
    If the user supplies enough command line arguments, but doesn't
    provide a groupfile, then we can end up trying to open whatever
    garbage is on the stack.
    
    Once we've finished parsing the command line arguments, make sure
    that a filename was supplied.
    
    Caught by coverity (#986008)
    
    Change-Id: Iaea60027cf4bd81f9af04e995ce5c395275be833
    Reviewed-on: http://gerrit.openafs.org/9440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5cf4415c8ad400a92fc9c7f436ae52256db2ef09
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:36:31 2013 +0000

    libadmin: Don't pass garbage to pts_UserCreate
    
    The libadmin pts_UserCreate function uses the value passed to
    it in newUserId to control whether the user is being created
    with a user supplied ID or not.
    
    Initialise this value in the caller, so we don't end up creating
    users with corrupt ids.
    
    Caught by clang (#985979)
    
    Change-Id: I89492a02db9f981a4d2040ea913a7e75f5f0b272
    Reviewed-on: http://gerrit.openafs.org/9401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ece7bd669af0c58dcaa2589e093387adb7d1756a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:36:31 2013 +0000

    libadmin: Don't pass garbage to pts_GroupCreate
    
    The libadmin pts_GroupCreate function uses the value passed to
    it in newGroupId to control whether the group is being created
    with a user supplied ID or not.
    
    Initialise this value in the caller, so we don't end up creating
    groups with corrupt ids.
    
    Caught by clang (#985978)
    
    Change-Id: I5c3e2cec5b39b8eecbea316e351480863d3d7761
    Reviewed-on: http://gerrit.openafs.org/9400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f5b462c9d4a56be0ae4696db08fb92a1e7390e2c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:09:08 2013 +0000

    libadmin: Don't double check for required param
    
    The server, process and stat_type parameters are declared as
    required when the command syntax is set up - so they must be
    present when the command handler is called. So, don't bother
    checking for them.
    
    Caught by coverity (#985963, #985964, #985965, #985966, #985967,
                        #985968, #985969, #985970, #985971, #985972,
                        #985973, #985974, #985975, #985976, #985977)
    
    Change-Id: Ic0565aa50c5a998b327efe60d460a182a93c7552
    Reviewed-on: http://gerrit.openafs.org/9399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8260d86dda766a21e9f457994e7a3b259ba3a31b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 11:02:09 2013 +0000

    libadmin: Don't free garbage pointer
    
    If we jump to the error handler early on in pts_GroupOwnerChange,
    idlist may not have been used, and so we will end up trying to
    free stack garbage.
    
    Initialise the structure to 0 at the start of the function, so it
    is always safe to enter the error handler.
    
    Caught by coverity (#985962)
    
    Change-Id: If70102e3da07135a9ec695f13caebe6298eff8ca
    Reviewed-on: http://gerrit.openafs.org/9398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b535059d48ac592760e2e5b87414d9010143c993
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:54:16 2013 +0000

    kauth: Use strl* functions in ka_log
    
    Switch to using the strlcat and strlcpy functions in ka_log, to
    avoid potential buffer overflows.
    
    Caught by coverity (#985824)
    
    Change-Id: Icb537567f8ae67ecb42332cda4413274edeaa681
    Reviewed-on: http://gerrit.openafs.org/9397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 508674486a5b1b3b25d7f28febb41e8712d8592d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:48:50 2013 +0000

    kauth: Handle calls to ka_log with no principal
    
    If ka_log is called without a principal string, then the resulting
    buffer will be garbage, as we don't start with a string for strlcat
    to append to.
    
    Caught by coverity (#985959)
    
    Change-Id: I928b2807c093ac3f71a28150a117fd7b7eb29b05
    Reviewed-on: http://gerrit.openafs.org/9396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a666bfd67bd14028aac5eb49f1bf02576fb58405
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:42:27 2013 +0000

    vsys: Avoid uninitialised variable warning
    
    Initialise the parms array to 0 so that we don't get warnings from
    the compiler when we call syscall() using it.
    
    Caught by coverity (#985949)
    
    Change-Id: I134841bcb334d06146386e55ebfa38c7be993311
    Reviewed-on: http://gerrit.openafs.org/9395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f322b0ff1ec44d713c23d567f4d304e3dc65e702
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:15:10 2013 +0000

    rmtsys: Don't overflow pathname buffer
    
    When we're constructing a homedirectory path to look for the
    .AFSSERVER file in, we copy the HOME environment variable into a
    static buffer, with a risk of overflowing that buffer.
    
    Instead of using a static buffer, just allocate one with asprintf.
    
    Caught by coverity (#985910)
    
    Change-Id: I2daa5613609f2c09712b12a7ce7e59b1c0028ef2
    Reviewed-on: http://gerrit.openafs.org/9392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b32d92268f77608b57adf350d963941a94a31604
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 10:35:42 2013 +0000

    fsprobe: Get rid of unused hostname buffer
    
    When we copy the user supplied hostname into the fixed length
    hnamebuf array, we might overflow it. As we never use this buffer,
    just get rid of it.
    
    Caught by coverity (#985913)
    
    Change-Id: I4cda6279cd667343856deeb425dceaf00f7904b6
    Reviewed-on: http://gerrit.openafs.org/9394
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fed5dac9f25f7fbd74b6834ce6f087eaf31be2f2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:59:20 2013 +0000

    auth: Don't overflow hostName array
    
    afsconf_cell's hostName structure is a fixed length. Don't overflow
    it by writing whatever comes back from gethostbyaddr into it. Use
    strlcpy to catch an overflow, and if one occurs, just use
    "UNKNOWNHOST", rather than a truncated host name.
    
    Caught by coverity (#985906)
    
    Change-Id: Iaa927f3e4860d99166789e8dc4950a03ea2237e4
    Reviewed-on: http://gerrit.openafs.org/9354
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 79abe9d68ea041a2ea6261c6f7bb1f055a45bf0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:47:53 2013 +0000

    libadmin: Don't overflow volume name
    
    The maximum volume name length in the VLDB RPCs is VL_MAXNAMELEN
    (65), not 64 as used as a hardcoded value in vsprocs. Switch to
    using the defined value, and also use strlcat to check that we
    don't overflow this.
    
    Caught by coverity (#985849)
    
    Change-Id: Idde2cf8362bbd48538fafcd8c8d98e1f71cc15e1
    Reviewed-on: http://gerrit.openafs.org/9353
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4f9ec8396d1c7f12f8fa264cea7c255ce62b7b8d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:47:53 2013 +0000

    volser: Don't overflow volume name
    
    The maximum volume name length in the VLDB RPCs is VL_MAXNAMELEN
    (65), not 64 as used as a hardcoded value in vsprocs. Switch to
    using the defined value, and also use strlcat to check that we
    don't overflow this.
    
    Caught by coverity (#985849)
    
    Change-Id: I860d4bd4ed9a22185f4a83408d163ce20d21e751
    Reviewed-on: http://gerrit.openafs.org/9352
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 77aa6c65b74e46c77dfaf440745496ab98b14244
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:33:12 2013 +0000

    kauth: Don't overflow cell string
    
    The cell string within a ktc_principal is only 64 characters long.
    Be careful not to overflow it.
    
    Caught by coverity (#985829)
    
    Change-Id: I761dfcf5eebf1bd4ef31aa5982a2593e5317257b
    Reviewed-on: http://gerrit.openafs.org/9350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 362728d2d6d53011603dc39f691707db20866434
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:26:05 2013 +0000

    auth: Don't overflow cell string
    
    If the kernel gives us bogus data back from the VIOCGETTOK pioctl,
    we might overflow the cell string when copying in to it. Use
    strlcpy to avoid this (unlikely) occurrence.
    
    Caught by coverity (#985768, #985769)
    
    Change-Id: I2583b017e7a366f4271f356216bdd60f3a7b7911
    Reviewed-on: http://gerrit.openafs.org/9349
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2fac53522e7ef5b3a376e191bffdc1f6784e6995
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:16:10 2013 +0000

    aklog: Fix improper use of readlink
    
    readlink doesn't NUL terminate its return string, so it is up to
    us to do so.
    
    Caught by coverity (#985739)
    
    Change-Id: Ifb858d628845bd963928e25834e540bbb3a187c8
    Reviewed-on: http://gerrit.openafs.org/9347
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6a54bf735871d93bc77e5cf166e506f4f2423d0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 2 09:01:59 2013 +0000

    vlserver: Use correct literal in bounds check
    
    The base array has VL_MAX_ADDREXTBLKS elements. Use this when
    checking for an array overflow, rather than VL_ADDREXTBLK_SIZE.
    
    Caught by coverity (#985600)
    
    Change-Id: Ie60ad5cc79c41245028887871759776549694426
    Reviewed-on: http://gerrit.openafs.org/9346
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c41b1f740e16b5b9adfe9026630595be6f0699e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 22 22:46:12 2013 -0600

    viced: Improve CallPreamble error messages
    
    These messages are not very useful right now. At least try to say what
    host we sent an error to, so we know which host may be experiencing
    some troubles as a result.
    
    Change-Id: I8b41b46511ebd4760d5021ea2fe2011842450998
    Reviewed-on: http://gerrit.openafs.org/9381
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1c4dc26584533afe3c6c7cfd24a0418cb1552a00
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 19 17:11:40 2012 -0600

    ihandle: Remove ih_sync_thread
    
    ih_sync_thread currently syncs files flagged as needing
    synchronization in the background every 10 seconds. This practice has
    caused severe data corruption on more than one occasion over the past
    few years (124359, 131530). It has also been argued repeatedly that it
    provides no meaningful additional on-disk consistency, so there is no
    reason for it to exist even if it were error-free.
    
    Syncing files in the background provides no guarantee on the
    consistency of the file contents, since the files are not synced in
    any order with respect to each other, or with respect to what
    filesystem operations may be occurring in the application.
    Additionally, journalling filesystems common on fileserver backends
    will typically ensure some consistency after a certain amount of time
    (by default, 5 seconds on ZFS and ext3+), so doing this sync ourselves
    is often redundant or even counterproductive.
    
    So, to avoid current and future issues with ih_sync_thread interacting
    with other ihandle users, just get rid of it. Files flagged as needing
    sync are still synced (not in the background) during IH_REALLYCLOSE.
    
    FIXES 131530
    
    Change-Id: I29571c82c5b7454cd834b339fd48baeb9963a87b
    Reviewed-on: http://gerrit.openafs.org/8797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a3a79c5a15bff7e978ff4bae2d2a480b73750392
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 3 22:54:53 2013 -0500

    Windows: AFSPopulateNameArrayFromRelatedArray change
    
    Modify AFSPopulateNameArrayFromRelatedArray so that the DirectoryCB
    parameter can safely be NULL.   A NULL DirectoryCB input is required
    to copy the entire NameArray.
    
    Change-Id: Id125bb22df89c93e60d485e178bc7be0ab3c313e
    Reviewed-on: http://gerrit.openafs.org/9340
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1ac432b7d0259a01e158016307966c76b3ba9d79
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 3 22:10:39 2013 -0500

    Windows: AFS_NAME_ARRAY_TAG value
    
    The AFS_NAME_ARRAY_TAG value collided with AFS_NAME_BUFFER_TEN_TAG.
    Change its definition.
    
    Change-Id: I29ff2d4cb7f5d1afebea91cbb5c294ecedbe50a2
    Reviewed-on: http://gerrit.openafs.org/9339
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 89b07844d318637cf8c643d60dd174cb1f71db87
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 3 14:16:35 2013 -0500

    Windows: Add AFSCreateSymlinkCB data strctures
    
    AFSCreateSymlinkCB and AFSCreateSymlinkResultCB
    Used for creating a symlink to either a file or a directory.
    
    Change-Id: Ic7dc49d48fc7ba3863752b3732c932f57d674d99
    Reviewed-on: http://gerrit.openafs.org/9338
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3ae1c025693a0a20f359dc0c3b7532c13b96e9f3
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sun Mar 3 22:03:41 2013 -0500

    src/rxosd/Makefile.in: avoid infinite recursion in CC variable
    
    src/rxosd/Makefile sets CC=$(MT_CC).
    src/config/Makefile.config sets MT_CC=$(CC).
    Since both are recursive-expansion variables, this causes an infinite
    loop, and make complains about it:
    
    Makefile:25: *** Recursive variable `CC' references itself (eventually).  Stop.
    
    This patch avoids setting CC in src/rxosd/Makefile.in altogether, since
    it does not appear to be necessary, as suggested by Jeffrey and Derrick.
    
    Change-Id: Ieaa5c5ed21d83629ea713a745e76d17ac7f76ec1
    Reviewed-on: http://gerrit.openafs.org/9336
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fe9f4a93183c972225541b1ebf5ed5b5f484adff
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sun Mar 3 21:14:22 2013 -0500

    afscp: Fix check for bare root.cell dirs in dynroot mode
    
    A previous fix (git commit fb1d7491fbe2e90300b23284f213cac2bdcd56ac)
    added a check for '!p' in gettoproot(), but p is always a non-NULL pointer
    (in part since it's dereferenced just above in the code), so the check
    is always false.
    
    Instead, I suspect the original author intended to check for '!*p',
    which this patch does.
    
    Change-Id: I1c0a2dd1d582a6b5e82275db18474343efa679a2
    Reviewed-on: http://gerrit.openafs.org/9337
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 80875f8aa1540bf032073a4843566bbe6b1fe301
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 12:12:07 2013 +0000

    up: Fix improper use of readlink
    
    readlink returns a non-NUL terminated string. If the string must be
    terminated, we need to have space in the buffer for it. So, the
    buffer passed to readlink must be 1 less than the real length of
    the buffer.
    
    Caught by coverity (#985597, #985610)
    
    Change-Id: Id9a6f8227d756140960ac295330aaf17dca2ec03
    Reviewed-on: http://gerrit.openafs.org/9329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 28a441ebd8323437bf762a790b4ec5e6301e4bec
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 12:01:19 2013 +0000

    util: Fix overflows in address parsing
    
    The extractAddr function (which turns a dotted quad into an IP
    address), has a number of overflows when one or more elements of
    the quad are more than 31 characters in length.
    
    The array allocated for each portion is 32 bytes long, but we only
    stop writing into the array when the indexing pointer reaches 32,
    which doesn't leave us with space for the trailing NULL.
    
    Rework this so we always allow space for the NULL, and use a #define
    for the array length to make it more clear whats going on.
    
    Caught by coverity (#985591, #985592, #985593, #985594)
    
    Change-Id: I33ecc78ba6c90e44c3a4f2df171abba1d58562b3
    Reviewed-on: http://gerrit.openafs.org/9327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a4ae9a4c3cc1fa5ca2b813174040dce36284a4b9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 11:47:03 2013 +0000

    ubik: Don't overflow server's addr array
    
    We're checking to see if we've overflowed the array _after_ we've
    looked up an element within it - so on the final iteration, we
    always read past the end of the array.
    
    Fix this by swapping the order of the tests in the for statemen
    
    Caught by coverity (#985590)
    
    Change-Id: Ibbf0eb88083166f0a23316edf0612e94593c07ce
    Reviewed-on: http://gerrit.openafs.org/9326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a1d8109c8fa8c10e3ce5ed67cda03b3b557608ff
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 11:35:05 2013 +0000

    rxgen: Don't overflow PackageIndex
    
    PackageIndex++ returns the pre-index value of PackageIndex, so the
    error statement isn't run when PackageIndex == MAX_PACKAGES. This
    means we go on to overflow all of the arrays that are MAX_PACKAGES
    in size.
    
    Caught by coverity (#985583, #985584, #985585, #985586,
                        #985587, #985588, #985589)
    
    Change-Id: If81f9ff89edc4cfd56677ff51cea71281ebe1e3b
    Reviewed-on: http://gerrit.openafs.org/9325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ff7fd58b49a41bf85df492b9f470004d4433800e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 11:31:31 2013 +0000

    unlog: Don't overflow cells array
    
    cells has a maximum size of MAXCELLS. Doing cells[MAXCELLS] overflows
    that array. Clamp our maximum number of cells at one below this to
    avoid the overflow.
    
    Caught by coverity (#98551)
    
    Change-Id: I45fd8a55e31ad7ea86a996b593359536c7078891
    Reviewed-on: http://gerrit.openafs.org/9324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 30e25c74376dd8aa24018116015e57c47c1dfaf9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 11:22:26 2013 +0000

    kauth: Don't overflow cellinfo hostAddrs array
    
    The hostaddrs array has MAXHOSTSPERCELL (8) available elements.
    The ubik connections list has MAXSERVERS (20) elements - when copying
    from the ubik list into the cellinfo hostaddrs list, be careful not
    to overflow it.
    
    Caught by coverity (#985577)
    
    Change-Id: Ie51cb939a6e3381a285787ad125342ca7a9e7cbb
    Reviewed-on: http://gerrit.openafs.org/9323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c0fba6eab519bd1bb6929b788361219f97da7212
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 11:09:04 2013 +0000

    bucoord: Remove theoretical overflow of ubik array
    
    The ubik connections array is NULL terminated, so we have to
    ensure that there is enough space for the trailing NULL. As the
    array is MAXSERVERS elements long, this means that we can only
    store MAXSERVERS-1 connections in it.
    
    This problem will never be encountered by the correct code, as
    the number of hosts returned from afsconf_Open is capped at
    MAXHOSTSPERCELL (currently 8). MAXSERVERS is currently 20. However,
    fix the bug in case we increase MAXHOSTSPERCELL at some point in
    the future.
    
    Caught by coverity (#985576)
    
    Change-Id: Icd3f4afe929cbf05522e44132f055a3955c4d23c
    Reviewed-on: http://gerrit.openafs.org/9322
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 59def405ba9404954debd35da539346b1ccd4096
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 10:54:07 2013 +0000

    Unix CM: Fix stray semicolon
    
    Commit d2437d02a6f59d972dd0690f7eb1c46cf7cc4b85 introduced a
    stray semicolon in the osidnlc code. Fix it.
    
    Caught by coverity (#989030)
    
    Change-Id: I1f68b6149bb4325995c96d8599c45565c4979f16
    Reviewed-on: http://gerrit.openafs.org/9321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 64630d07b893199431b601a73de23c303c61db40
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 1 10:52:32 2013 +0000

    xstat: Add the residency RPC to the list of fs ops
    
    Include the ResidencyRpc in the list of fs operation numbers that
    can be display by xstat_cm_test.
    
    Caught by coverity (#989029)
    
    Change-Id: Ib8059fe53e5254d212722db59c05a0f0822883e2
    Reviewed-on: http://gerrit.openafs.org/9320
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bdd9ad146c8a3d05b926dba3e01299ce79cd5ad3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Mar 2 10:06:47 2013 -0500

    crypto: make krb5_enomem a static inline function
    
    With the recent update to the imported heimdal code, krb5_enomem
    is used in a few places as a simple statement that doesn't make
    use of the value.  With the current definition, this triggers
    compiler warnings because the statement has no effect.
    
    Replace the definition with a static inline function that returns
    the expected value.
    
    Change-Id: I799022b69a43ab635560a1a5ea8f67f0a8f7230a
    Reviewed-on: http://gerrit.openafs.org/9335
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1c4e7ddb498f86b232f0f1de1f40690e97bf6a65
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 28 17:11:57 2013 -0500

    Windows: afslogon !KA_USERAUTH_AUTHENT_LOGON
    
    Patchset 305133cde60fec7fb1050caf60a4319cdcf88a27 halted the practice
    of calling ka_UserAuthenticateGeneral2() with the alternate smbName.
    It should have halted the practice of passing flag
    KA_USERAUTH_AUTHENT_LOGON which indicates that the smbName parameter
    has been provided.   Passing KA_USERAUTH_AUTHENT_LOGON without the smbName
    field results in a KTC_INVAL error.
    
    This error only impacts sites that still use kaserver or Kerberos v4 for
    authentication.
    
    Change-Id: I9eb7adc4fdb7b3ffa0aedca377e2f91bc01b30ea
    Reviewed-on: http://gerrit.openafs.org/9318
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bf78bf2c115659b78c34d3bc9d1934bcff21c8cc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 22:07:12 2013 +0000

    libadmin: Don't free garbage
    
    Make sure that we initialise the nbulkentries structure to 0 before
    we start work, so that if the failure handler is called, it doesn't
    try to free garbage.
    
    Caught by coverity (#985980)
    
    Change-Id: If55faadd44f7bbc80abbdcd7842603d586db7581
    Reviewed-on: http://gerrit.openafs.org/9317
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3beca62928665868294ec3e9d34ab63b41e12645
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 17:14:20 2013 +0000

    afsmonitor: Fix multiple NUM_CM_STAT_ENTRIES overflows
    
    If an array is n elements long, accessing element array[n] is an
    overflow. Fix various places where we apply loop bounds incorrectly
    using the NUM_CM_STAT_ENTRIES constant.
    
    Caught by coverity (#985571, #985573)
    
    Change-Id: I24a53e8044d3d5d39d070909400329a82f22b6b9
    Reviewed-on: http://gerrit.openafs.org/9316
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4ea1c8440aad6bb6dc9cdb598b5708c685603219
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 17:14:20 2013 +0000

    afsmonitor: Fix multiple NUM_FS_STAT_ENTRIES overflows
    
    If an array is n elements long, accessing element array[n] is an
    overflow. Fix various places where we apply loop bounds incorrectly
    using the NUM_FS_STAT_ENTRIES constant.
    
    Caught by coverity (#985570, #985571, #985572)
    
    Change-Id: I8a28f06059771f91415ebc989714929cfd09f296
    Reviewed-on: http://gerrit.openafs.org/9315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 74d0d0d5e686d82e18f896889870af666c4d495d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 17:07:31 2013 +0000

    afsmonitor: Add missing items to fsOpNames array
    
    The Lookup and Residency fs stats counters were missing from the
    fsOpNames array. Add them in - Lookup has been missing since the
    IBM release, Residency was missed when the MR-AFS code was merged.
    
    This is still rather fragile, as there's no guarantee that
    AFS_STATS_NUM_FS_RPC_OPS matches the number of elements in this
    array. However, this is now correct until someone breaks it again...
    
    Caught by coverity (#985569)
    
    Change-Id: I22496050d5e786276a6646aa763d036449a3660d
    Reviewed-on: http://gerrit.openafs.org/9314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2c8e4f839fc253abb8051bbf89d36e94a2200590
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 17:05:29 2013 +0000

    Unix CM: Update AFS_STATS_NUM_FS_RPC_OPS
    
    There are actually 30 elements in the AFS_STATS_FS array. When the
    ResidencyRpcs counter was added, the total number of operations
    wasn't updated.
    
    Fix this so that it is correct, although this still remains rather
    fragile.
    
    Change-Id: I92a0d2bf3741bc7aaeae837d6dcbcd30616e17ae
    Reviewed-on: http://gerrit.openafs.org/9313
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d2437d02a6f59d972dd0690f7eb1c46cf7cc4b85
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 15:26:15 2013 +0000

    Unix CM: Fix hash table overflow in dnlc code
    
    In GetMeAnEntry, we can end up overflowing the nameHash array by one
    element if the stars are particularly badly aligned.
    
    nameptr is a static across function calls, so nameptr and j are not
    equal. If nameptr is increment to NHSIZE in the same loop iteration
    as j reaches NHSIZE + 2, the loop will terminate. We'll then
    lookup nameHash[NHSIZE], which is 1 element passed the end of the
    array.
    
    Add an if statement which loops nameptr outside the loop (in the
    same way as the if statement in the loop)
    
    Caught by coverity (#985568)
    
    Change-Id: I47075f363fad10e8c19276359699566755779cca
    Reviewed-on: http://gerrit.openafs.org/9312
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ff8bae8938532d95f792258d2c520705e095e7af
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 13:45:00 2013 +0000

    Unix CM: Don't overflow ICL logs array
    
    When checking whether a user supplied index into the ICL logs array
    is out of bounds, we need to check whether it is greater or equal
    to the maxmimum number of elements. Otherwise we can access one
    more than the number of elements in the array.
    
    Caught by coverity (#985567)
    
    Change-Id: Id90f02eae1d5689b9b2c9a82bce0e503941387da
    Reviewed-on: http://gerrit.openafs.org/9311
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8f51502e5f45a43fba130d260813716be894d51e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 12:15:29 2013 +0000

    dumptool: Remove newlines safely
    
    The code currently does
    
       fgets(cmdbuf, ... );
       cmdbuf[strlen(cmdbuf - 1)] = '\0';
    
    in order to remove new lines from cmdbuf. Coverity thinks there's
    a danger of strlen(cmdbuf) being 0, and thus the strlen being negative.
    That shouldn't happen, but if fgets hits EOF midway through a line, we
    might get a string that doesn't have a trailing '\n', and end up
    removing the wrong character. Tidy this up by checking that the string
    isn't 0 length, and that the character we're zapping is a newline.
    
    Caught by coverity (#985430)
    
    Change-Id: I8dae925debdc2473a6a51db021ce843e957a1557
    Reviewed-on: http://gerrit.openafs.org/9310
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bc70828f0713891597cf0042bc3e204f3d923271
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 10:22:43 2013 +0000

    ptuser: Clear return value from pr_ListMembers
    
    Make sure that lnames is zero'd on entry to pr_ListMembers, so that
    an early error return doesn't also return garbage.
    
    Change-Id: I78c35f0c18d9c7ec3f638c8e80609ac28d362925
    Reviewed-on: http://gerrit.openafs.org/9309
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a80cb27ae89877c96c6074ab2f6a7b3e51485768
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 28 10:20:22 2013 +0000

    readgroup: Don't use results if error occurs
    
    If pr_ListMembers returns an error, don't try and use the results
    it provides, as they could be garbage.
    
    Caught by coverity (#92119)
    
    Change-Id: Idcfb464953dcdec68cba988d3fb1ab6ddad08340
    Reviewed-on: http://gerrit.openafs.org/9308
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ed3f1134460546888e2306262d88d6886beae7e1
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Fri Jan 11 11:38:58 2013 -0700

    RedHat: fix makesrpm.pl version discovery
    
    We stopped defining the OpenAFS version in AM_INIT_AUTOMAKE a while
    back. Use git-version script instead.
    
    Change-Id: I56ef9792cf653921161e177a7c6f143a4b41ace2
    Reviewed-on: http://gerrit.openafs.org/8908
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 87f2a92afb58660846d39c71ce630c3acfb72020
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 27 15:21:56 2013 -0500

    Windows: Build libafsauthent.dll against mtafsubik.lib
    
    Instead of building a private copy of the ubik objects, link
    against mtafsubik.lib.
    
    Change-Id: Ic72e0ea963ddb870d082f7a3746f978ba785bbbc
    Reviewed-on: http://gerrit.openafs.org/9302
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9d4f7ca48cf1f553bbb566e715fe986627a5d47f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 27 15:19:41 2013 -0500

    Windows: afsio reduce library link list
    
    When linking afsio many of the libraries specified in the EXELIB3
    list were unnecessary.  The only lib in the list that is required
    is libcmd.lib.  Rename EXELIB3 to LIBCMD and prune the rest.
    
    Change-Id: I87bf0583f312d7b3dadc5581c08fedaa6b754c77
    Reviewed-on: http://gerrit.openafs.org/9301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e2ef4ce23d0cd0eddadfb39a39a29593093f0b6f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 27 15:07:57 2013 -0500

    Windows: Remove RXAFS* from afsrpc.dll
    
    afsrpc.dll is supposed to be the multi-threaded dynamic loadable
    version of the RX package.  It has also included the RXAFS and
    RXAFSCB client functions from src/fsint.  Including the RXAFS* is
    nice in theory but in practice the afsd_service.exe must link to
    afsint.lib anyway in order to obtain access to RXAFSCB_ExecuteRequest()
    which is part of the server portion.  Linking to both results in
    multiple instances of the same symbols in which case afsint.lib
    must be linked to first and the dynamic version of the functions
    are ignored.
    
    The only other module that used RXAFS* functions from afsrpc.dll
    is the adminutil library from the libadmin package.  adminutil
    doesn't implement the server functions but it can just as easily
    link against afsint.lib.
    
    Removing RXAFS* from afsrpc.dll results in a library that only
    contains RX, RXSTATS, core xdr and rxkad.
    
    This patchset also fixes some minor bugs:
    
     1. $(UTILOBJS) were not being linked to the library due to
        a typo.
    
     2. Always use multi-thread safe versions of afsutil.lib
    
    Change-Id: I5cc6d485a763d5a17735abd35d193fb7b0d280e5
    Reviewed-on: http://gerrit.openafs.org/9300
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d6cfcf46a8f3ec03e2f805aca6e5012eb6633803
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 27 22:16:33 2013 -0500

    Windows: Move grmutex, etc. to afspthread.dll
    
    afsauthent.dll exported:
    
      pthread_recursive_mutex_lock
      pthread_recursive_mutex_unlock
      grmutex (DATA)
    
    even though a dedicated afspthread.dll existed and all pthreaded
    modules must link to afspthread.dll and not all link to
    afsauthent.dll.  Move these functions and the global mutex variable
    to afspthread.dll to ensure that only one instance of the variable
    is present in any binary.
    
    Also remove from src/libafsauthent/NTMakefile the local building
    of src/util object files and link to mtafsutil.lib.
    
    Change-Id: I9f8e76165f9c1b1be7ed1a90cdaac03b629d9591
    Reviewed-on: http://gerrit.openafs.org/9303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 44e806431bec3149a78127f5d1003e84e3a0b072
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 27 10:34:59 2013 +0000

    ubik: Avoid unlinking garbage
    
    If SDISK_SendFail fails before the pathname to the temporary file
    has been constructed, then the failure handler will unlink stack
    garbage, with variable results.
    
    Initialise the string, and check to see if it has contents before
    calling unlink
    
    Change-Id: I1de898d5f0f0dc608e9c9c62dc66e6b4b9fdc5bf
    Reviewed-on: http://gerrit.openafs.org/9299
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 816b0c76738b7e404c9384a745b58b4d90bfc30d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 27 10:28:05 2013 +0000

    Unix CM: Don't free cell, then release lock on it
    
    If afs_NewCell fails, then we can end up releasing a lock on a
    section of memory that we have already freed. As this only happens
    if the memory we're operating on is newly allocated and not yet
    visible to anyone else, it is safe to release the lock before
    starting to tidy things up.
    
    Caught by coverity (#986054)
    
    Change-Id: Ie8651c61790d57a9fd7bbbafcaf78e37b8222bae
    Reviewed-on: http://gerrit.openafs.org/9298
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ce20f1f15103226667bc872378cf9b2e4b3e8cd7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 27 10:11:21 2013 +0000

    libafscp: Can't unlock something we've freed
    
    When we call _StatCleanup on a stored statent structure, it
    deletes the mutex, and frees the structure itself. This means it
    can't be called with a locked structure as the mutex deletion
    will fail, and then we'll try to reference freed memory when we
    later unlock that mutex.
    
    Fix this by unlocking the mutex before calling _StatCleanup. This
    is safe because the only reference to the structure visible to other
    threads must have been deleted by the time we reach this point.
    
    Caught by coverity (#986058, #986059)
    
    Change-Id: I346d4c8a7cd478db044af919662c1cf1c093e205
    Reviewed-on: http://gerrit.openafs.org/9297
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 12ced70c95fe8efbcec09a372f0af81d819bb8cd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 27 09:23:07 2013 +0000

    pt_util: Protect against corrupt input files
    
    If we have an input file which contains a group membership line
    (with a leading space) before any group definitions occur, pt_util
    would use stack garbage as the group to create these members in.
    
    Avoid this by requiring the presence of a group line before any
    membership lines.
    
    Caught by coverity (#92180, #986000, #92248)
    
    Change-Id: I536f089d67041dbf90f35b6dfeed5ba3303318a8
    Reviewed-on: http://gerrit.openafs.org/9296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 62a10e063b4fe6721bd9768611d5f0c13b303189
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 27 09:21:30 2013 +0000

    pt_util: Catch sscanf failures
    
    If there isn't sufficient data in the input line to satisfy sscanf,
    fail with an error, rather than continuing with potentially corrupt
    data.
    
    Change-Id: I5f963b5623176ac7631693b093d23cf9f0405edc
    Reviewed-on: http://gerrit.openafs.org/9295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a332ce9d0e87fab55f3d286690026fe075f624dd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 22:40:04 2013 +0000

    kauth: Fix overflow when writing ticket file
    
    krb_write_ticket_file uses a fixed length buffer to store the name
    of the ticket file, but copies into this from an environment variable.
    
    Remove the fixed length buffer, and use a mixture of the variable
    itself, and dynamically allocated strings.
    
    Caught by coverity (#985909)
    
    Change-Id: I997fd1812c45e730db39497a27a5e168f102fee5
    Reviewed-on: http://gerrit.openafs.org/9294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a5324a6bb6ff127997c48b54f8ad0e98189f3f1e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 22:31:49 2013 +0000

    auth: Refactor afsconf_Open failure handler
    
    Refactor the code which returns a failure from afsconf_Open into
    a single section, rather than having multiple copies through out
    the routine.
    
    Change-Id: I70b3fec98321bf89e6d59055545d5d4193026d28
    Reviewed-on: http://gerrit.openafs.org/9293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 41d9ea697bf5e81e5003ad7b208788223c25536b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 22:27:25 2013 +0000

    auth: Fix buffer overflow in afsconf_Open
    
    If we fallback to the .AFSCONF file in the user's homedirectory,
    the results of getenv("HOME") are copied into a fixed length string,
    without checking for overflows.
    
    Instead of risking this, just use asprintf to dynamically construct
    a string, and free it when we are done.
    
    Caught by coverity (#985905)
    
    Change-Id: Id8769ede841165d3ff3104143e55767d550d6f87
    Reviewed-on: http://gerrit.openafs.org/9292
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit debf43714b0f00fa00a0ef3384e098de78d28ed6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 21:30:20 2013 +0000

    bos_util: Fix buffer overflow
    
    Get rid of a buffer overflow in the bos_util utility, by just
    printing the key from the 'tbuffer' string, rather than copying
    it into 'x' which is too small for it.
    
    Change-Id: Ia364fb63edb9e40a887e77aad833689a99b4ea7c
    Reviewed-on: http://gerrit.openafs.org/9291
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ddc37043351056c402158610477312f0d7d01c13
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 21:28:52 2013 +0000

    volser: Fix bad readlink usage
    
    readlink fills the buffer passed to it with a non-terminated string.
    It can legitimately fill the whole of this buffer. So, if we require
    a string to be NUL terminated, we must give readlink one less than
    the string length so that the termination character can be safely
    appended.
    
    Caught by coverity (#985611)
    
    Change-Id: Ie6c651a9c0fd94d83bd05395204341d71e353146
    Reviewed-on: http://gerrit.openafs.org/9290
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit caabad98232557220f153461520fc0cf1c6978fb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 20:52:47 2013 +0000

    afsmonitor: Use NULL, rather than (struct foo *)0
    
    Change-Id: Ib011da471465dae056d47f5bbaad5a27b5c85966
    Reviewed-on: http://gerrit.openafs.org/9285
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5a61e826fa0de6a5987f06257199476f79d2473a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 20:51:34 2013 +0000

    afsmonitor: Check correct variable is non-NULL
    
    Before freeing curr_fsData, check that it is non-NULL, rather than
    checking prev_fsData in error.
    
    Caught by coverity (#985289)
    
    Change-Id: I8fb74ce0c4e447de65924f2afb6075213d839760
    Reviewed-on: http://gerrit.openafs.org/9284
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c04de52da4e89e15b211b4a19a3d9bc4d612b209
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:10:17 2013 +0000

    bosserver: Return error if key is bad
    
    If a key is bad, have SBOZO_ListKeys return an error, rather than
    silently ignoring the result from ka_KeyCheckSum.
    
    Caught by coverity (#988413)
    
    Change-Id: Ifacc9bac654d2632bd31731995795b786d485327
    Reviewed-on: http://gerrit.openafs.org/9270
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c705a815a808e7eafd2043fe0ec0881d602342c5
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Wed Feb 27 05:08:40 2013 -0500

    ptserver/testpt.c: remove dead code in ListUsedIds
    
    A part of the current ListUsedIds code is:
    
        range = abs(startId - maxId);
        if (range < 0)
           range = -range;
    
    The only way abs() could return a negative value would be if its
    argument was INT_MIN (-2147483648) to begin with, because -INT_MIN
    cannot be represented in two's complement.  However, calling
    abs(INT_MIN) is undefined behavior in C [see C99 7.20.6.1], and for
    that matter, so would be computing -range (-INT_MIN) in that case,
    so we could still be left with a negative range value.
    
    Luckily, (startId - maxId) can never be INT_MIN.  If startId < 0,
    then maxId <= startId, so in the worst case, when maxId = INT_MIN
    and startId = -1, (startId-maxId)=INT_MAX.  If startId >= 0, then
    maxId >= startId, so in the worst case, when maxId = INT_MAX and
    startId = 0, (startId-maxId)=-INT_MAX=INT_MIN+1.
    
    This patch removes the useless if statement.
    
    Change-Id: Ia754fcf3e59354afb40dbbbb95623e27285a5f82
    Reviewed-on: http://gerrit.openafs.org/9289
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cc703d9562455c74767fcd6d2055339109fa9243
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:38:59 2013 +0000

    volser: Catch EOFs when reading dumps
    
    When reading a standard tag, make sure and catch an EOF error
    from iod_getc. Otherwise we'll end up trying to parse 0xFF as a
    tag length.
    
    Caught by coverity (#985603)
    
    Change-Id: Iae0b1bf71ed495b4f454975a1bfe3aef8fca3e9e
    Reviewed-on: http://gerrit.openafs.org/9275
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 96131593b329a319b22368a9ef37788fb4e5d4f4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:30:00 2013 +0000

    ptserver: Zero ubik header before writing to it
    
    When using pt_util's ubik shim, if we're creating a new ubik label
    make sure to zero the whole structure before writing it out to disk.
    Otherwise we get a shorts worth of stack garbage in the resulting
    file.
    
    Caught by coverity (#986010)
    
    Change-Id: I0abb8b7968d4f25c97dc0927d63dd01099b829b7
    Reviewed-on: http://gerrit.openafs.org/9274
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5d42398298ad4af91a08a08ce607754f644b37dc
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Feb 26 09:31:43 2013 -0500

    vos: Unrecognized or ambiguous switch '-c'
    
    The documented abbreviation '-c' for '-cell' no longer works since
    the -config option was added.  Add a parm alias '-c' to restore
    compatibility with previous syntax.
    
    Change-Id: Ie98e470d204ea2186a95668bba2581cf3e88f729
    Reviewed-on: http://gerrit.openafs.org/9276
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit daed548f70a2187c679232e4f79d703389419c4e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:26:36 2013 +0000

    ptserver: Rename ubik.c as ptubik.c
    
    Coverity gets confused between ubik/ubik.c and ptserver/ubik.c,
    and produces a load of false positives. Rename the ptserver ubik
    shim (which is only used by pt_util) in order to reduce this
    confusion.
    
    Change-Id: Ida606fccebcb4edfed706405424ff3ee4858020f
    Reviewed-on: http://gerrit.openafs.org/9273
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4587ddc130547b4cce723476cfa798a03ccc0320
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:06:15 2013 +0000

    bosserver: Catch failures to create daemon thread
    
    If we can't create the bozo daemon thread, then don't keep going
    regardless. Just warn the user and exit.
    
    Caught by coverity (#988414)
    
    Change-Id: I46445b1744f7c3c944e917b33a6fc6fb669df002
    Reviewed-on: http://gerrit.openafs.org/9269
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8192554e36272d5ed21007b4c0e3b6c56511457d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 11:59:56 2013 +0000

    libadmin: Catch VL_GetNewVolumeId failures
    
    If ubik_VL_GetVolumeId fails in the vos ProcessEntries routine,
    report the failure and give up, rather than continuing with a
    0 maxVolid
    
    Caught by coverity (#988417)
    
    Change-Id: I281e1c518813f9d7fab46e4f87a091fac6b3a754
    Reviewed-on: http://gerrit.openafs.org/9268
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fb483acf626088ebce6f148c1e9644ce9c8c2045
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Feb 11 17:05:34 2013 -0500

    afs: removing trailing semicolons
    
    Remove spurious trailing semicolons from macros.
    
    Change-Id: I26550a4ca8e8fe5232dad4cdb2c42a5f44a28f32
    Reviewed-on: http://gerrit.openafs.org/9092
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d8fa251a14e9469fb6ec722d100b6a8557248694
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:21:59 2013 +0000

    ubik: Zero header before writing to disk
    
    The ubik disk header contains a padding field, which is never
    zeroed before being written out to disk. This means that there is
    a shorts worth of stack garbage in every ubik label!
    
    Just zero the whole structure with memset before we populate it.
    
    Caught by coverity (#986011)
    
    Change-Id: Ib9f8b45111a83178372409c717c30ccb6a1044f4
    Reviewed-on: http://gerrit.openafs.org/9272
    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>

commit e191cb889c941848fe09f04c24d969111e6dc494
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 12:17:29 2013 +0000

    viced: Don't write out garbage when extending file
    
    When we extend a file, we write a single byte of data to it - tlen
    is used as a source for this single byte. However, in the current
    code, tlen is used uninitialised. Set it to 0, so we don't write a
    byte of stack garbage.
    
    Caught by coverity (#986015)
    
    Change-Id: I11480a5ba0a5544437e18a6b314ff98ba6256df0
    Reviewed-on: http://gerrit.openafs.org/9271
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3ad7ba106dea28277b9e1f7a7370ba17b9fb3d17
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 26 11:55:32 2013 +0000

    fs: Catch pioctl failure in mkmount
    
    If the VIOC_FILE_CELL_NAME pioctl fails in fs mkmount, return an
    error to the caller, instead of ploughing on with potentially bad
    data.
    
    Caught by coverity (#988418)
    
    Change-Id: I68df5dd26d955db860dd016c76109f7d262bad17
    Reviewed-on: http://gerrit.openafs.org/9267
    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>

commit 99929488511d13dab94491cac1d477062f9da741
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)
    
    Change-Id: I6b227465d7aa945d871b2db1cc4d1357cae493d3
    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>

commit 2ddec075985446e80fb12eb8a7d48b2088067b69
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 23:13:47 2013 +0000

    Add krb5_enomem for config parser & kernel crypto
    
    The imported code form Heimdal that forms our config file parser
    and kernel rfc3961 library now makes use of krb5_enomem. Provide
    an implementation so we build again ...
    
    Change-Id: Ie7162d73aa97e6f7594c0e7c68ed6939f57ae884
    Reviewed-on: http://gerrit.openafs.org/9265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a9fd0810d2425f9e0936c3c52903d73e9e74a6ab
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Feb 25 23:00:46 2013 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    66f4c441e9e0de68fbcf81763642779ac5c33631 (git2svn-syncpoint-master-199-g66f4c44)
    
    Upstream changes are:
    
    Kumar Thangavelu (1):
          unning "kinit --fast-armor-cache=xxx" against a Win2K3 domain resulted in a crash with the attached backtrace. FAST is not supported with RC4 keys which are used in Win2K3. The code already handles this but the error code is not propagated up the stack.
    
    Love Hornquist Astrand (1):
          add socket_set_nonblocking
    
    Roland C. Dowdeswell (3):
          Optimise _krb5_n_fold() a bit.
          Use krb5_enomem() more consistently in lib/krb5.
          Further improvements to lib/krb5/n-fold.c:
    
    Change-Id: I3b652e3ea3c84a939c4988bc8c24b3edee06446f
    Reviewed-on: http://gerrit.openafs.org/9264
    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>

commit 961fcc63640ee95e9b1cfebe92d71e3b9f3d9f52
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 16:18:26 2013 +0000

    crypto: _afscrypto_strdup must copy trailing NUL
    
    The _afscrypto_strdup helper function was failing to alloc enough
    space for the string's trailing NUL, and to copy that NUL over.
    
    Caught by coverity (#985580)
    
    Change-Id: I61c9a96275a79682a9521846ab52615ea5bc061d
    Reviewed-on: http://gerrit.openafs.org/9263
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 00601179625ffb71461bbcc46629791895cf4793
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 20 14:54:55 2013 +0000

    volser: Make it clear what's copied from partList
    
    XVolListPartitions uses partList to maintain a list of partition
    IDs - it does not use the partFlags field. Make it clear when we
    populate the partEntries field that we are only copying the
    partition list.
    
    Caught by coverity (#986030)
    
    Change-Id: I8c46ee5c220f0cb2b65943ad5faa80877ca46685
    Reviewed-on: http://gerrit.openafs.org/9262
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2d4c9c08ea6e61c40df482d5aa2e1413179f6b94
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 10:32:22 2013 +0000

    bucoord: Remove dead assignments in cmd init
    
    Don't assign command syntax objects to 'ts' if we're not going
    to add any parameters to them
    
    Change-Id: I69f6e090fc115ab213c1f20dc46da81f2878e0a3
    Reviewed-on: http://gerrit.openafs.org/9260
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e2f4f60e3e3eb1476eefbff6cb98d6853cddc0df
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 10:28:31 2013 +0000

    butc: Remove dead initialisation
    
    The 'bytesread' variable is set by all code paths, so don't bother
    assigning a default value each time we pass through the loop
    
    Caught by clang-analyzer
    
    Change-Id: I8b79bc888ba23e2bcfa9befb5bf034db8f3ca3f8
    Reviewed-on: http://gerrit.openafs.org/9259
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5474e1ccd77a3a40db3601f94556001610c82b95
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 10:26:33 2013 +0000

    volser: Don't catch errors in cleanup
    
    We can't do anything if cleaning up the clone volume fails, so
    don't bother storing the error code.
    
    Caught by clang-analyzer
    
    Change-Id: I5249dbad9a1bb732aba73e7a09f74c83e606b45d
    Reviewed-on: http://gerrit.openafs.org/9258
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f63f7b90ebbd4133b9e12ca643c8d3ccb8d445be
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 10:24:53 2013 +0000

    bucoord: Remove dead initialisation
    
    matchLength is set regardless of what the separator is, so we don't need
    to provide a default value.
    
    Caught by clang-analyzer
    
    Change-Id: Iac8fe8db8832cf2b3347ec1bdacc7245bddf542b
    Reviewed-on: http://gerrit.openafs.org/9257
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec5ec48956e91932279ef025f0d98946f0f32585
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 25 10:15:10 2013 +0000

    butc: Remove dead initialisation
    
    code is set to a real value on every code path, so don't bother
    initialising it to 0 midway through the function.
    
    Change-Id: I334286f2ae854c57df781af8df78e5a1bf8e9b2b
    Reviewed-on: http://gerrit.openafs.org/9256
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 92011f4e93209319b0ef41a962aefff40e4938e1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 13:05:13 2013 +0000

    volser: Remove redundant success flag
    
    In UV_RestoreVolume2, there is a success flag whose only use is ...
    
       success = 0
       [ ... ]
       success = 1
       if (success) {
          [ ... ]
       }
    
    It's pointless, so just remove it, and one clang warning
    
    Caught by clang-analyzer
    
    Change-Id: I7d57531c4dfb8955b813d534ad3b72b182fdbc76
    Reviewed-on: http://gerrit.openafs.org/9255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 356bdc8ca77a42e359fed64bef7d77d70e14e4a4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 13:02:19 2013 +0000

    budb: Don't double initialise iterator
    
    The blockaddr iterator is initialised as part of the for loop.
    Don't also initialise it immediately before.
    
    Caught by clang-analyzer
    
    Change-Id: I97e7ced15fe204b3b2d797abbdce8b3f9a2b0c8d
    Reviewed-on: http://gerrit.openafs.org/9253
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dce2d8206ecd35c96e75cc0662432c2a4f9c3d7a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 12:53:59 2013 +0000

    budb: Store dumper information correctly
    
    Change f498c18a6f7300eb89ca3b9d9b85c4d461fa8474 attempted to fix
    a problem with using an inappropriate function to copy the
    ktc_principal value 'principal' into the d.dumper structure element.
    
    Originally the code read:
        principal_hton(&principal, &d.dumper)
    
    which copies the 'host' principal principal into the 'net' structure
    d.dumper. However, this was changed to
        principal = d.dumper
    
    Which populates 'principal' with whatever garbage is in the d.dumper
    structure.
    
    Fix this so that the assignment is done the right way around.
    
    Caught by clang-analyzer
    
    Change-Id: Id9865a36b5a9351d013c695ed301b627ddc4a915
    Reviewed-on: http://gerrit.openafs.org/9252
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a2cae72d653fbfdada7dddd4b7e5d8aeedea2ee
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 12:43:27 2013 +0000

    budb: Simplify scanHashTableBlock
    
    We don't need to maintain two copies (entryAddr and nextEntryAddr)
    of the entry address - rework the while loop so we just use one,
    and make clang a little happier
    
    Caught by clang-analyzer
    
    Change-Id: I6f5d76e114ad09a4fd3fc36b4d64f63daa9e1e78
    Reviewed-on: http://gerrit.openafs.org/9251
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d09b300a96691b4848760fde02b4d0e741bc2584
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 12:36:02 2013 +0000

    viced: Unused sentinel in h_stateVerifyUuuidHash
    
    The 'found' sentinel in h_stateVerifyUuidHash is unused, because
    as soon as we set it, we jump out to the 'done' label. Simplify the
    function's logic, and remove a static analysis warning, by just
    removing the variable.
    
    Caught by clang-analyzer
    
    Change-Id: I02e5ccf857f5d84cd24975b7a1b9d516624ecd64
    Reviewed-on: http://gerrit.openafs.org/9250
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9894b0ded9212e96308fc7df44005c513e8e6672
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:48:14 2013 +0000

    bucoord: Remove dead initialisation
    
    offset is simply used as a copy of nextOffset for the GetText
    function call. We don't need to initialise it to 0 at the start of
    the loop (and arguably, as it is passed to the function by value,
    we could just remove the copy entirely)
    
    Caught by clang-analyzer
    
    Change-Id: I137ea3ba1ff44d94b90287d9735db69d6ff8717d
    Reviewed-on: http://gerrit.openafs.org/9249
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 82b3760c4ff71f9315c3e2d07c35b2ebd7ba6942
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:45:41 2013 +0000

    butc: Remove dead assignment
    
    We never use the value of mvFlag once the string has been restored,
    so don't bother reseting it.
    
    Caught by clang-analyzer
    
    Change-Id: I12db6957c9b8ec3bb9c43f10d9e9754d4afa3ed7
    Reviewed-on: http://gerrit.openafs.org/9248
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3fbdc609dc025cfcaac6949485d6fb072bf34764
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:43:52 2013 +0000

    budb: Fail if afsconf_GetExtendedCellInfo does
    
    Rather than silently ignoring the failure of
    afsconf_GetExtendedCellInfo, and then using garbage cell
    configuration, just fail to start if afsconf can't parse the
    config directory.
    
    Change-Id: Ib3d26bc67844de10f7eb8c2ef555c5e607e4bf61
    Reviewed-on: http://gerrit.openafs.org/9247
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ca6d6bb9b06b54728ebe2c84e7b7d0ea1067aaa9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:42:00 2013 +0000

    volser: Remove dead assignment
    
    Don't initialise code immediately before we assign a real value
    to it various UV_ functions
    
    Caught by clang-analyzer
    
    Change-Id: I91d9300715d44fafd73b1a61be548589468e3209
    Reviewed-on: http://gerrit.openafs.org/9246
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e4862e284832420e9dbf5a6f437f6f7c8801f7dd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:39:53 2013 +0000

    butc: Catch failures to start keep alive thread
    
    If we can't start the keep alive thread, in either the LWP or
    pthread versions of a code, report an error and exit instead of
    carrying on regardless.
    
    Caught by clang-analyzer
    
    Change-Id: I0a25a236aadeedf10d3c0c129d716b1397c9a4e3
    Reviewed-on: http://gerrit.openafs.org/9245
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0cb0d44da3d35a9d58ad9714042ea15c7b85c65a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 24 10:36:57 2013 +0000

    butc: Remove dead loop pointer allocations
    
    All of these *Ptr values are reset upon each iteration of the
    while loop, so we don't need to NULL them immediately before
    we go around again.
    
    Caught by clang-analyzer
    
    Change-Id: Iaa5ff6c7b154072e23eae272031919b424568eff
    Reviewed-on: http://gerrit.openafs.org/9244
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a10e96b3aa631a0488532f88d3959fdf22265d35
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 25 00:17:46 2013 -0500

    Windows: Test NameArrayReferenceCount before deletion
    
    In commit c753d398f2005c886932f20b49af15efc489a829 the
    AFSDirectoryCB.DirOpenReferenceCount was split and the
    NameArrayReferenceCount field was added.  However, it failed to modify all
    of the DirOpenReferenceCount checks prior to calling AFSDeleteDirEntry()
    to include a check on the NameArrayReferenceCount.  This patchset corrects
    that oversight.
    
    Change-Id: I8db1a68e5240088bcfeb226bd1eafac0c83a0b69
    Reviewed-on: http://gerrit.openafs.org/9254
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 50a993385673ed083145f587c16d0c9dd444262e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:25:12 2013 +0000

    kauth: realm can't be NULL when calling CellToRealm
    
    Despite what the static analyzer thinks, ka_CellToRealm can't be
    called with a NULL realm. Just add an assert to close down that
    code path, and stop it from producing an error.
    
    Change-Id: Ifc8cf7e5dca5ae29eaaa91c5b238a97197d89ee3
    Reviewed-on: http://gerrit.openafs.org/9174
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ff649d5bf51d78959de769e35eec61a5667d5939
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 24 14:01:28 2013 -0500

    Windows: no side effects from AFSDbgLogMsg calls
    
    Do not perform assignments or call side-effect resulting functions
    as parameters to AFSDbgLogMsg.
    
    Change-Id: I76eca3a82377543f4148d03af51a07886127b385
    Reviewed-on: http://gerrit.openafs.org/9242
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ea0441520138d2129b5c6b2bd16c7640a8680146
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:23:43 2013 +0000

    viced: Allow GetCapabilities to return an error
    
    At the moment, the GetCapabilities RPC handler ignors errors from
    CallPreamble or CallPostamble. Instead of silently swallowing these,
    and potentially reutnring a bogus capabilities structure, make
    it possible for the RPC to return failure to the caller.
    
    Caught by clang-analyzer
    
    Change-Id: Ic36e59e8cce8be4920f041a86d5636d54668d887
    Reviewed-on: http://gerrit.openafs.org/9241
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1d1ba5f74102ae703ef657aa19150729edfe6ab2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:20:58 2013 +0000

    viced: Catch GetCellInfo failure
    
    If GetCellInfo returns a non-zero result, catch the error, rather
    than just carrying on regardless.
    
    Caught by clang-analyzer
    
    Change-Id: I6b9ca91c8cea2ff0d68873913abdc0daadcc0e27
    Reviewed-on: http://gerrit.openafs.org/9240
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 11e1107684c92a6c9e3646d7d7c329ae1556147b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:16:10 2013 +0000

    viced: Don't store rc from IH_DEC on error path
    
    If CopyOnWrite has already failed, and is taking the volume offline
    for salvage we can't (and don't) do anything with further errors from
    IH_DEC. Instead of assigning these to 'rc', just ignore them.
    
    Caught by clang-analyzer
    
    Change-Id: I7bcd82f124740e3ca3d11cb2b079aa7ea5751cf9
    Reviewed-on: http://gerrit.openafs.org/9239
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 66fea9b7d3cf4799600e8bab71729b3567497df9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:09:39 2013 +0000

    scout: Fix a lot of dead assignments
    
    In lots of places scout takes the return value of a graphics
    function, then decides it doesn't actually care about the result.
    
    Get rid of the assignments, as they provide a false sense of
    security.
    
    Caught by clang-analyzer
    
    Change-Id: I1ea8514b969777f1276b4e8f8ab946a4d36a870c
    Reviewed-on: http://gerrit.openafs.org/9238
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f238d0d09e7cf6f28a47368bb026b45bd57be8d1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:35:48 2013 +0000

    gtx: Return failure if gtx_Init can't start thread
    
    If LWP_CreateProcess fails in gtx_Init return NULL, rather than
    silently swallowing the failure.
    
    Caught by clang-analyzer
    
    Change-Id: I5db5667f9dae3f405e88cf9c57e6b8a069ea28a3
    Reviewed-on: http://gerrit.openafs.org/9236
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 75ef02d9dfb43079f111ea22ae351cf0eec13fab
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 10:30:56 2013 +0000

    afsmonitor: Allow CBSTATS collection to work
    
    The switch which selects the collection number was missing a
    'break', so selecting the CBSTATS collection would always fall
    through to the default, error, case.
    
    Caught by clang-analyzer
    
    Change-Id: I354873d711c5f49ddad51f1b9fb332af91a6d13a
    Reviewed-on: http://gerrit.openafs.org/9235
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bd8f9528b0edae12bd534a70e7b31e4e40a45aab
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 21:57:56 2013 +0000

    bosserver: Don't store result when renaming core file
    
    The bosserver doesn't do anything if the core file rename fails, so
    don't bother storing the result code.
    
    Caught by clang-analyzer
    
    Change-Id: I9b1b7d77404b0fd560c7735646e5afe1fbcc0752
    Reviewed-on: http://gerrit.openafs.org/9232
    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>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 054c587fcc397be6123e90115e960bd63a7c4ba0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 21:44:43 2013 +0000

    bosserver: Remove dead assignment
    
    In the Restart RPC handler, don't assign a value to code
    immediately before we use it to hold the return value of
    bozo_WaitStatus.
    
    Caught by clang-analyzer
    
    Change-Id: I0781c57c87088cb3ba6170ca1e5c8d5053cf9001
    Reviewed-on: http://gerrit.openafs.org/9231
    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>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e28294a9def87b306be1e99c4eebdb86bd138405
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 20:53:02 2013 +0000

    bosserver: Remove dead assignment in SaveOldFiles
    
    We don't care about whether the renames succeed in SaveOldFiles,
    so don't bother assigning their results to a variable
    
    Caught by clang-analyzer
    
    Change-Id: I0605fc71d243ef0f587706f9f3856aa4d722fb82
    Reviewed-on: http://gerrit.openafs.org/9207
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d149f391b39f59428b2cbb55bdc5dc2429c99dfb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 20:50:07 2013 +0000

    Unix CM: Remove dead assignment in readdir
    
    len is zeroed at the start of the next block, so don't bother assigning
    tlen to it if we're not going to do anything with it.
    
    Caught by clang-analyzer
    
    Change-Id: Ie1cd5a4d9dd96920018f054b6edfc18c569c9807
    Reviewed-on: http://gerrit.openafs.org/9206
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ee0d57bb488e9fd74b46547273904a9821e20c57
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 20:36:19 2013 +0000

    libadmin: Fix a lot of dead assignments in vsprocs
    
    Tidy up a lot of places where we initialise a variable, then
    immediately assign a proper value to it, or store a return value
    that we don't actually care about.
    
    Caught by clang-analyzer
    
    Change-Id: Icf0ec713dac6f2c4f0a60e8ead52a8d3e19381f0
    Reviewed-on: http://gerrit.openafs.org/9205
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c35c167d446810b3e5952b6b753632c0e4341f2c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 20:12:35 2013 +0000

    gtx: Remove pointless assignments from gtxtest
    
    Remove assignments to 'code' when we're not going to pay attention
    to them.
    
    Caught by clang-analyzer
    
    Change-Id: Ib2f8c20c0bc741d0bb1b8ed4fdb46ea61511fc95
    Reviewed-on: http://gerrit.openafs.org/9204
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3bbff16c6d34c905fab8fcb792c8606ea356e2a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 19:34:47 2013 +0000

    Unix CM: Catch ICL initialisation failures
    
    If afs_icl_CreateLog fails, don't still call afS_icl_CreateSet.
    If afs_icl_CreateSetWithFlags fails, don't ignore its error code.
    
    Caught by clang-analyzer
    
    Change-Id: I245f4391bbbf183492e8c13fb8f091b339cea80a
    Reviewed-on: http://gerrit.openafs.org/9203
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cb8a103cb73aaa229ba34abc1b9704ab7ad5ba02
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 13:04:01 2013 +0000

    rx: Fix wrong loop iterator in rx_clearProcessRPCStats
    
    Fix the use of an incorrect variable as loop iterator which would have
    resulted in a crash.
    
    Caught by clang analyzer.
    
    Change-Id: I785d06b9be0915bc540c37b43d1001a562a7cde4
    Reviewed-on: http://gerrit.openafs.org/9202
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 63d1b17c255e6287e6b2cda3c28b2f5824bec345
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 20 11:18:28 2013 +0000

    volser: Fix a couple of assigned but not read errors
    
    Fix a couple more errors where we assign to a variable, but never
    read the result back out.
    
    Caught by clang-analyzer
    
    Change-Id: I78f8f1403d166c4231b0abdb607de77e9ed62a27
    Reviewed-on: http://gerrit.openafs.org/9201
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1b2a0e9fa78da65e9d9f56fe1cac514465fc14d2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 20 11:17:41 2013 +0000

    volser: Don't assign code when we don't care
    
    When we're cleaning up temporary volumes, we don't care whether
    it succeeds or not. Don't assign code to the results of these
    volume deletions, only to then discard it.
    
    Caught by clang-analyzer
    
    Change-Id: I81583cc82e78db38de8aad92c7c7d0c2f44eb33d
    Reviewed-on: http://gerrit.openafs.org/9200
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec53e0e71496ded3bc86efeb880a34b4a1f64fd5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 20 11:16:25 2013 +0000

    volser: Don't NULL conn right before assigning it
    
    Don't do
       conn = NULL;
       conn = rx_newConnection();
    
    and similar, equally pointless things.
    
    Caught by clang-analyzer
    
    Change-Id: I54d9ccd9f3910624b3289ce067a27622e29e4a34
    Reviewed-on: http://gerrit.openafs.org/9199
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fa9558532b49b62af5876dbdd2aaf91cfe4a0c57
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:25:46 2013 +0000

    fs: Remove redundant variable assignments
    
    Remove a number of redundant variable assignments that clang warns
    about.
    
    Caught by clang-analyzer
    
    Change-Id: I248e0e3a9f9241084436604532424d6e4b900e31
    Reviewed-on: http://gerrit.openafs.org/9194
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 064f7ef2e8d8e2a7500ffdfe4d55d3ebc48f8226
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:22:08 2013 +0000

    fs: Free parent_dir later in lsmount and flushmount
    
    If lsmount or flushmount encounter an error, then they may include
    the contents of parent_dir in their error message. However, in both
    cases, this was freed a couple of lines earlier.
    
    Just move the free() later, so that the contents of this variable
    are still available.
    
    Caught by clang-analyzer
    
    Change-Id: Ideba52b7ba98f034baf923194007239a6cf0221f
    Reviewed-on: http://gerrit.openafs.org/9193
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

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

    up: Notice errors on both file handles
    
    Report errors on both filehandles in up's Copy routine, rather
    than just on the second one that we close.
    
    Caught by clang-analyzer
    
    Change-Id: Ia3aa9be91ccfca2993a4f27c291332e0b0d350f5
    Reviewed-on: http://gerrit.openafs.org/9192
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b7baf62d56cb8c1f207b885fb7c7a7b7105edef5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:18:13 2013 +0000

    fstrace: Remove redundant variable assignment
    
    Don't reset the value of 'code' when nothing else references it.
    
    Caught by clang-analyzer
    
    Change-Id: Ifd361ed6eb8c6b8740466f6c1a337669160874f4
    Reviewed-on: http://gerrit.openafs.org/9191
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c457b106f14086bc1e0feab2eb8e27a3bcb87213
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:15:42 2013 +0000

    fstrace: Avoid accessing icl log after zapping it
    
    The for loop in icl_EnumerateLogs looks up the next pointer in the
    current entry after zapping it. Depending on reference counts, this
    may result in us looking up freed memory.
    
    Take a copy of the next point before zapping the current entry, just
    in case.
    
    Caught by clang-analyzer
    
    Change-Id: If38f0af2b01c5b8ea00e68e4432c6ad5517578c8
    Reviewed-on: http://gerrit.openafs.org/9190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d02757985de45b66e2d291d07918dffae15319a2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:56:38 2013 +0000

    xstat: Ignore return value from xstat_*_Cleanup
    
    We're about to exit anyway, so we don't care whether Cleanup
    succeeds or not
    
    Caught by clang-analyzer
    
    Change-Id: I6350d60e6a5d29b8aaa272a54cf9ead47fdb5fad
    Reviewed-on: http://gerrit.openafs.org/9186
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bdce4701b2d4f75cacf1fbdf472bcac395345e32
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:45:39 2013 +0000

    afsmonitor: Ignore return codes as appropriate
    
    When we're not interested in the return value of a function, don't
    assign it to a variable.
    
    Caught by clang-analyzer
    
    Change-Id: I5b576f312376780c98c2dbe4f9b85e00d529ddd8
    Reviewed-on: http://gerrit.openafs.org/9185
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7b0b710e03fc7030252470501cf16a2a8f2cdd40
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:34:14 2013 +0000

    sys: Flag rmt_Quit as AFS_NORETURN
    
    Help out the static analyzer by telling it that rmt_Quit never returns
    
    Change-Id: I5ee0d2ea444706e68af5a1298fd638e7d0d7f41d
    Reviewed-on: http://gerrit.openafs.org/9184
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f9eab19d82a99b1bbec2b66b42c9eb81dbbe7f97
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:31:28 2013 +0000

    rxkad: Remove redundant checkCksum initialisation
    
    checkCksum is assigned to by both sides of the if() expression, so
    there's no need to initialise it to 0.
    
    Caught by clang-analyzer
    
    Change-Id: Id0e286943e11b6948231577085cdb0ce96bb0b97
    Reviewed-on: http://gerrit.openafs.org/9183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 58529bd8b055dc1afc567d0cb7749841ce2897d5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:15:29 2013 +0000

    ubik: Don't leak memory if mutex init fails
    
    If we can't initialise the ubik_client mutex, don't leak the
    structure when returning an error.
    
    Caught by clang-analyzer
    
    Change-Id: Ib36d2ddf585a31b628e56dce1f33ee859fc835bc
    Reviewed-on: http://gerrit.openafs.org/9182
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b92fbc217c80af7554bbf6dc34de720da8f01c5c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 16:13:34 2013 +0000

    ubik: Don't record result of select()
    
    We never do anything with the return value from select(), so don't
    bother storing it into code.
    
    Caught by clang-analyzer
    
    Change-Id: I6e0352b74f0e90b62ad32a3ef1a9d0173bf307ee
    Reviewed-on: http://gerrit.openafs.org/9181
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5cefa0247fe4f22f769e366a207fb177ee8fb94f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 09:51:24 2013 +0000

    kauth: Don't ignore GetExtendedCellInfo failures
    
    Don't ignore a failure from afsconf_GetExtendedCellInfo, as it will
    leave buffers that we later read uninitialised.
    
    Caught by clang-analyzer
    
    Change-Id: Ia0c2675a3083385d011fd340f36bf13373f89feb
    Reviewed-on: http://gerrit.openafs.org/9180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4213ef986ffbb4eee7a859a8edd4493deed08362
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 09:47:57 2013 +0000

    kauth: Catch ka_KeyCheckSum failures
    
    If ka_KeyCheckSum fails, typically because the key being used is bad,
    catch the failure rather than just silently ignoring it.
    
    Caught by clang-analyzer
    
    Change-Id: Id51174fdf94356db10961690808670da372bc60e
    Reviewed-on: http://gerrit.openafs.org/9179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e7035b876f6c3e1bcf1053910f6ae74115f7b039
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:15:42 2013 +0000

    kauth: Fix some unnecessary variable assignments
    
    Remove various places where a variable is assigned to, and then the
    result never read.
    
    Caught by clang-analyzer
    
    Change-Id: Id8b7aeb6c54b7c93093ad44df5a9fe01575f2fbe
    Reviewed-on: http://gerrit.openafs.org/9172
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5acb1a0f323a6692cca66ee3aa4c7e5f1a0f24f2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 22 16:54:17 2013 +0000

    Unix CM: Fix byte accounting for storebehind
    
    In the current version of CacheStoreDCaches, the stored variable is
    maintained within the for loop that iterates over the chunk list. This
    means that it is reset to 0 each time we handle a new chunk.
    
    However, this means that our progress is no longer accurately tracked,
    as (bytes - stored) no longer gives the number of bytes which remain to
    be transfered. In fact, as stored is zeroed with each loop iteration,
    (bytes - stored) == bytes. This means that store behind is no longer
    activated according to the users settings.
    
    Prior to commit 334114ac58b0039ae90d7e29fa2f019fe068bd79, the
    stored variable was maintained within the outer, function, scope.
    Just move it back there to restore the previous behaviour.
    
    Caught by clang-analyzer
    
    Change-Id: I248ed81f1331f4d3d4ed2e1206acebb0a8200762
    Reviewed-on: http://gerrit.openafs.org/9237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e76966e22ec234070157ef9179d96c2ccdb80075
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 22:15:11 2013 +0000

    Unix CM: Don't zero args on dcache failure
    
    Even if allocating the dcache fails, there's no point zeroing the
    parameters to the allocation function, as those changes aren't
    visible outside of that function.
    
    Caught by clang-analyzer
    
    Change-Id: Ieb91b525e818b73e38b8d78a55d170d36273177c
    Reviewed-on: http://gerrit.openafs.org/9234
    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>

commit 983d67616b670c5d57c8c67578fdb52f2bb3ddbd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 22:10:38 2013 +0000

    Unix CM: Fix bogus character in license string
    
    A stray $ had crept into the license string in afs_dcache.c. Fix it.
    
    Change-Id: I1ab096aadb947cb08318a56b9ae21ed0786d3339
    Reviewed-on: http://gerrit.openafs.org/9233
    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>

commit 6ef224da14da88318ede836a2c80998299c93e2f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 21:29:56 2013 +0000

    bos: Don't set up the conenction twice in AddKey
    
    AddKey calls GetConn twice - once at the start of the function,
    and then again immediately before calling BOZO_AddKey. This leaks
    a connection...
    
    Caught by clang-analyzer
    
    Change-Id: I5c593de56e7f61fb21b973a34bea1a5b4f4a3177
    Reviewed-on: http://gerrit.openafs.org/9230
    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>

commit 7684dbd82a4ff4883fed40f3a84269d93fa23e4b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 21:24:33 2013 +0000

    bosserver: Don't check if daemon thread starts
    
    We don't do anything with the return code from the LWP_CreateProcess
    that starts the daemon thread, so don't bother recording it at all.
    
    Caught by clang-analyzer
    
    Change-Id: I9310bdd90236a90d71dc202c73d7e06ea58a31f8
    Reviewed-on: http://gerrit.openafs.org/9229
    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>

commit fc527bf139c2149657a93b91abe2b7406484f55b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 21:16:40 2013 +0000

    vlserver: Remove dead assignment
    
    Don't assign the serverNumber to j, when we're just about to try
    and get it from a multi homed extent record
    
    Caught by clang-analyzer.
    
    Change-Id: I79349ff211b5df2d16e6ee9122dbb28b04ad7823
    Reviewed-on: http://gerrit.openafs.org/9228
    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>

commit 5d2d68f8acc31568b48a8cdf7959600cb56e8f9e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 21 20:55:35 2013 +0000

    bosserver: Remove a couple of dead assignments
    
    Remove a couple of places where we initialise a variable, only to
    assign a new value to it a few lines later.
    
    Caught by clang-analyzer
    
    Change-Id: I096b80cce851f3494475e6f9683715b081ff8375
    Reviewed-on: http://gerrit.openafs.org/9208
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e595d35c182e47abcbcddfc5b1de9cc780214ee9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:12:54 2013 +0000

    afsio: Remove redundant assignment
    
    tbuf is assigned to during the initialisation phase of all of the
    for loops that follow, so just remove this assignment
    
    Caught by clang-analyzer
    
    Change-Id: I3f2ffc8cee93768bd03e0abf3b391e1f6c45c70f
    Reviewed-on: http://gerrit.openafs.org/9189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9a8fa5d64fa5ab35dcd9dbced48eee00a0d614cc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 16 20:22:27 2013 -0500

    Windows: ReleaseNotes reformatting
    
    Oxygen 14.2 automatically reformatted the text.
    
    Change-Id: I387627948f449c96ed3ab112371752f4673b24d9
    Reviewed-on: http://gerrit.openafs.org/9212
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2ca80b4b6a3fde34b5eeeba37d2df5a9e253d787
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 16 12:42:17 2012 -0500

    Windows: Direct IO Support for Service
    
    This patchset implements and enables by default the new
    Direct IO pathway between the AFS redirector and the afsd_service.exe.
    When Direct IO is enabled all reads and writes are performed by the
    AFS redirector locking memory allocated by the kernel and mapping it into
    the service's memory address space.
    
    The service supports cache bypass in this mode when the
    AFS_REQUEST_FLAG_CACHE_BYPASS flag is set in the request from the
    redirector.  When cache bypass is active, the AFSCache file is ignored and
    data is either directly fetched from or stored to the file server.  Cache
    bypass is enabled by IIS and other applications that request no
    intermediate buffering when opening file handles.   This is often done
    because the application implements its own data caching.  All cache bypass
    store operations are synchronous.
    
    When cache bypass is not enabled, the memory region provided by the AFS
    redirector is either used to populate the cm_buf_t objects or is populated
    by them.  When cache bypass is not enabled, one outstanding store
    operation can be in flight asynchronously to improve performance.
    
    Direct IO is enabled by default and can be disabled by creating the
    registry value.
    
      ..\Services\TransarcAFSDaemon\Parameters
      "DirectIO"  DWORD  0x0
    
    Change-Id: I3cac3660c8b8eded58226ba4a819692c454704a8
    Reviewed-on: http://gerrit.openafs.org/9211
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit be0296a8ade48c8944056999eab787bc0db1a01f
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Fri Jan 25 00:46:37 2013 -0500

    Windows: Direct IO for AFS Redirector
    
    Implement a new IO processing model in which extents are not passed between
    afsredirlib.sys and afsd_service.exe.  Instead the AFSCache file is
    maintained exclusively by the service and the redirector locks kernel
    memory, maps it into the service's address space, and permits the service
    to manage all IO directly.
    
    This interface adds an AFS Cache Bypass option to the AFS Redirector which
    is activated when the file handle has been opened with the no intermediate
    buffering option.
    
    This patchset implements the kernel interface.  A subsequent
    patchset will implement the service component.
    
    Assisted by Jeffrey Altman <jaltman@your-file-system.com>
    
    Change-Id: I25a4764db060b3b3f2b0de4006479dd3a220c6eb
    Reviewed-on: http://gerrit.openafs.org/9210
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 49329541a13cdee3361d0246256a27d2a5ee8bef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 02:21:27 2013 -0500

    Windows: Add flag BUF_GET_FLAG_BUFCREATE_LOCKED
    
    Modify the buf_Get() and buf_GetNewLocked() interfaces to
    permit the cm_scache.bufCreateLocked lock to be held prior to
    calling to buf_Get().  Holding the cm_scache.bufCreateLocked lock
    before the buf_Get() call prevents a race with another thread
    that attempts to set the file size.
    
    Change-Id: I54b13c83801a4d9a2078552d5be7ada6f4607850
    Reviewed-on: http://gerrit.openafs.org/9209
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 225b0e80854ac5c1584b46a75358caeb6638cd24
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 16 17:51:12 2013 -0500

    Windows: Set AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED
    
    Set the ObjectInformationCB AFS_OBJECT_FLAGS_DIRECTORY_ENUMERATED flag
    from within the AFSEnumerateDirectory() function and not from its callers.
    
    Change-Id: I2bddedba1165557679ddd9c637dbeb85cd74e1de
    Reviewed-on: http://gerrit.openafs.org/9119
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b7ba97ad537bd0e9a241f052ddd1c3a50c74745b
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Fri Feb 15 08:44:06 2013 -0500

    Windows: Permit direct to service non-wildcard lookups
    
    The AFS redirector has required that directories be fully enumerated
    when the directory object is opened.  This is a very expensive
    operation involving large numbers of file server RPC round trips for
    directories with tens of thousands of objects and those containing
    symlinks.
    
    This patchset delays directory enumeration for the last component
    in a path until such time as dirctory data is requested by the
    application.  If the request is for a non-wildcard pattern, the
    service will be asked to provide the details for just the one required
    object.
    
    Delaying the directory enumeration improves performance for
    GetFileAttributes[Ex], GetDiskFreeSpace[Ex], GetVolumeInformation,
    and GetNamedSecurityInfo Win32 API calls.   In those cases it is
    no longer necessary to enumerate the target directory at all.
    
    Change-Id: I7ef2fbafff925697d8b40e56837ef53bfcc78542
    Reviewed-on: http://gerrit.openafs.org/9118
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0dd623ea9a933091ea9f9624558885ec6961b0f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 18 23:11:27 2013 -0500

    Windows: EvalByName pass LastComponent flag
    
    Add AFS_REQUEST_FLAG_LAST_COMPONENT flag for use with
    AFS_REQUEST_TYPE_EVAL_TARGET_BY_NAME requests to the service.
    When set the service will perform cm_Lookup calls without the
    CM_FLAG_CHECKPATH flag set.
    
    Change-Id: I47ec2fb8b1e2699f2d87a6625b1db549ecb4e03d
    Reviewed-on: http://gerrit.openafs.org/9133
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6896ca2cc33bfc80e72a71af2b0588e74234644c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 18 21:26:23 2013 -0500

    Windows: EvaluateByName support case-insensitive lookups
    
    Directory lookups in AFS should favor case-sensivite matches
    but permit case-insensitive matches otherwise.  The service
    should not follow mount points.  The redirector exposes mount
    points as junctions.
    
    Change-Id: I34c9244e2756a926f29bbf184dc250e7a29d264f
    Reviewed-on: http://gerrit.openafs.org/9132
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 03bac87d167c101ae8042162b11c246a95575528
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 18 10:37:49 2013 -0500

    Windows: IO Subsystem Trace modifications
    
    Display file offsets consistently as %0I64X.
    
    Change-Id: Ib1484ef99fbf055ec4bc00e17469e0daa9661e96
    Reviewed-on: http://gerrit.openafs.org/9129
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6e6c1b9aa2e1937c7b6dbbf2a6987181e3ff7711
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Tue Feb 19 16:12:26 2013 +0000

    Windows: Move work item queues over to the Control Device
    
    Currently, when the library is unloaded it stops all worker
    threands and then evaporates the work item queues.  Thus
    any work items which are pending will disappear.
    
    Whilst it is OK that the threads going away, any work items need to
    remain queued so that when the library is restarted the work
    can continue.  This checkin does this by moving the work item
    queues and their synchronization primitives into the FS maintained
    Control Device Object Extension.  The list of worker threads
    remains in the Library Device Object Extension.
    
    Change-Id: If5c7cd3bdfea1a368c8df69649e627bac3a9585f
    Reviewed-on: http://gerrit.openafs.org/9139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6136b236c4ac1b63531665862701d0e2d2916d35
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 18 10:34:59 2013 -0500

    Windows: Initialize Irp->IoStatus.Information earlier
    
    Initialize Irp->IoStatus.Information to zero immediately upon
    beginning processing of the IRP in the write path.
    
    Change-Id: I8d5a717ae8cd3bc44c2a9a65b34fd0549862d293
    Reviewed-on: http://gerrit.openafs.org/9128
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 11aa3e09e591b325e80c5d4a420051923f121b82
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Mon Feb 18 10:33:29 2013 -0500

    Windows: Call CcDeferWrite rather than loop
    
    If we are about to write into the cache and we do not have enough
    memory we call CcDeferWrite and return STATUS_PENDING.  This allows
    the cache to call us back when there is memory.
    
    The write is performed on the IO queue which is shared wth paging
    writes.  However this does not cause paging writes to block in a
    memory shortage situation since the request will either be deferred
    again (releasing a thread to service a paging write) or will complete
    quickly.  Further we allocate all our resources upfront so we fail
    fast and in the appropriate place.
    
    Change-Id: I4efbc14a97d3b34236643973f1f8f85c7ea194a6
    Reviewed-on: http://gerrit.openafs.org/9127
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 82161c478a871d959daf7f3ffb4d38d1bfabe6d6
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Feb 15 05:57:29 2013 -0500

    Windows: Allow the Library to pend a write request
    
    If the library pends a request pending memory becoming available
    then the FS must ensure that the library stays loaded until the
    IRP is completed.
    
    Change-Id: Idbfdd84ecd364c99d3ad9cd8dd7e000f47be4b58
    Reviewed-on: http://gerrit.openafs.org/9126
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c1d28958db1c0ec50b41274dffa9c58e448a9db
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Feb 15 06:48:08 2013 -0500

    Windows: AFSWriteCommon collapse redundant condition
    
    We never get non cached and yet paging IO.  Even if we did it would
    be inappropriate to call CcCanIWrite.  Therefore, collapse two if
    statements into one.
    
    Change-Id: I95c9030836e4f7dc4f7867a8b8b09b97bf57b429
    Reviewed-on: http://gerrit.openafs.org/9125
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

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

    afsio: Ignore return values from afscp_SetDefault*
    
    We don't do anything with the return values from afscp_SetDefaultCell
    or afscp_SetDefaultRealm, so just ignore them.
    
    Caught by clang-analyzer
    
    Change-Id: Ib7d9e637e5d08df28ad0085302811b243fb21768
    Reviewed-on: http://gerrit.openafs.org/9188
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ba8afdc344a482487008dad325442d71c8bbe526
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:09:15 2013 +0000

    afsio: Don't leak memory on GetVenusFidBy* failure
    
    The GetVenusFid functions all allocate the fid structure immediately
    upon entry to the function. When we return with an error, that structure
    is never freed.
    
    Update the call sites so that we don't leak this memory.
    
    Caught by clang-analyzer
    
    Change-Id: Iec62316d0fd542e70634f384c8319f90ba6b2649
    Reviewed-on: http://gerrit.openafs.org/9187
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f67e4a3cdfb1856e31dda0d4741c8d34df13f8fc
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
    
    Change-Id: I420647e9cfd119cf1a26456a91d595b8154ddd85
    Reviewed-on: http://gerrit.openafs.org/9198
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 86c7369ffadecb0666f75c87469370b66132877f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:46:04 2013 +0000

    libafscp: Move server lookup inside AFSCP_DEBUG
    
    We only use the results of the server lookup when AFSCP_DEBUG
    is defined, so only bother actually doing the lookup when that
    is set.
    
    Caught by clang-analyzer
    
    Change-Id: If79177e9d06817592b0630db7050cf3d40f3ee5f
    Reviewed-on: http://gerrit.openafs.org/9197
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 735c9cff53bbf6f2b250a719507d7909e77c48e2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:30:14 2013 +0000

    libafscp: Don't free bogus ptr in ResolvPathFromVol
    
    afscp_ResolvPathFromVol makes a copy of the path passed to it using
    strdup. It then iterates across that, removing initial '/' characters.
    However, this iteration means that 'p' no longer points to the start
    of the allocated memory - when we free 'p', we may actually be freeing
    an offset into the block, which will make malloc unhappy.
    
    Make a copy of the result from strdup, and use that to free the block.
    
    Caught by clang-analyzer
    
    Change-Id: I0e7d8c7cf3b70baa4868c65fb4c3a32474557628
    Reviewed-on: http://gerrit.openafs.org/9196
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f82acb79f25ab97b565c74ef64a7d3573a13b682
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 17:28:12 2013 +0000

    libafscp: Fix leak when afscp_ResolvPath errors
    
    If afscp_DefaultCell fails, then afscp_ResolvPath returns without
    freeing the memory allocated to 'p' by strdup.
    
    Fix this by adding a free() in the appropriate place.
    
    Caught by clang-analyzer
    
    Change-Id: Ic2691d209c913cd600d9a9a1ebb4614dff35aa3b
    Reviewed-on: http://gerrit.openafs.org/9195
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 860c34ba938602387f78c10c2f548fb8a523a9cd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:43:29 2013 +0000

    ptserver: Don't ignore ubik_Write failures
    
    If we can't write to the ubik database, then that's a bad thing.
    Don't ignore it.
    
    Caught by clang-analyzer
    
    Change-Id: I08b57a74405cc563c6141251fd3d433b2904ea0e
    Reviewed-on: http://gerrit.openafs.org/9176
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit df0b2d6775523d12fe18043bf392c80533c7b38a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:46:52 2013 +0000

    ptserver: Tidy malloc handling in readpwd
    
    Tidy up the malloc handling in readpwd, so that we don't leak memory
    if the user specifies multiple -c arguments. Also avoid assuming that
    free(NULL) will always work.
    
    Change-Id: I95f3fe908572cb5be2d30345ccae0a2858622bd5
    Reviewed-on: http://gerrit.openafs.org/9178
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7f9f54c9192715af39a9653004807ac31ccef7fb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:44:21 2013 +0000

    ptserver: Remove some unnecessary assignments
    
    Remove some assignments where we do nothing with the results
    
    Caught by clang-analyzer
    
    Change-Id: I6990a6b21ced10500275176af3f85b7f1cabd334
    Reviewed-on: http://gerrit.openafs.org/9177
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0ecd78058c5f78bbb88952993abd0003625b82e7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:27:58 2013 +0000

    libacl: Remove unnecessary assignment
    
    Don't assign i to j, when we never use j again in the function
    
    Caught by clang-analyzer
    
    Change-Id: I9dd2d929019ac3cc84cde4e44c4883806bd5964a
    Reviewed-on: http://gerrit.openafs.org/9175
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a2aad6f4519cba38f3f0aaa03d108de4b0119be5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:23:25 2013 +0000

    kauth: Don't store the old signal routine
    
    If we're not going to make use of the return from signal() don't
    bother assigning it to a variable
    
    Change-Id: I03cae7ab91d49e90f150a9dc4358c173920adc28
    Reviewed-on: http://gerrit.openafs.org/9173
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 95a05f49ea303b2a25c4465bf1bbe333fb869911
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:11:33 2013 +0000

    kauth: Remove unused assignments to bp
    
    We never use the character pointer once we've advanced it past the
    slash, so don't bother doing the work of advancing it.
    
    Caught by clang-analyzer
    
    Change-Id: I8ea561d6756685a13892f0635fa2e19b3f1233ab
    Reviewed-on: http://gerrit.openafs.org/9171
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 68ce3aa814a7e3085242e705f013f05ed5da2d5c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 15:09:41 2013 +0000

    kauth: Remove unused lclpw structure from klog
    
    klog assigns into, but never references, the lclpw structure. Just
    remove it.
    
    Caught by clang-analyzer
    
    Change-Id: I8e94f97ee3ee6cb15193ad80dd9aef39e6f8490b
    Reviewed-on: http://gerrit.openafs.org/9170
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 37a3417f23b16a828485de496e495eb71f03fd1e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:59:10 2013 +0000

    volser: Remove needless initialisation
    
    Remove a number of places where we initialise a variable to NULL
    immediately before we assign a real value to it.
    
    Caught by clang-analyzer
    
    Change-Id: I74ece8f3a82a5c768d769b74b4ccce12195fc216
    Reviewed-on: http://gerrit.openafs.org/9169
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit edbbcf5b6283db5f3d9b7b06b072bb43b5019baf
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:51:30 2013 +0000

    volser: Remove masked assignment in vol_split
    
    The declaration (and assignment) to size at the outermost scope
    in the copyVnodes function is masked by a later declaration at a
    inner scope.
    
    Just remove the outer declaration to clarify what's happening.
    
    Caught by clang-analyzer
    
    Change-Id: If23bdcf8a4c2d23d6224762fecce35be9cf15873
    Reviewed-on: http://gerrit.openafs.org/9168
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9122f81d15f777c996fd26fa52071807886b511e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:44:14 2013 +0000

    vos: aserver is private
    
    The server specified on the command line is used directly to
    initialise the attributes structure. Move the variable so it's
    local to the block which uses it, and remove the function-wide
    initialiser.
    
    Caught by clang-analyzer
    
    Change-Id: Ia636fae2ed505f6958cefbfbaa72ef7e37edec98
    Reviewed-on: http://gerrit.openafs.org/9165
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e816db093b7d4e85eaa23661bb9dba851b1e534e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 12:59:08 2013 +0000

    auth: Avoid double free in key parsing
    
    There was an error path whilst reading an extended key file which could
    result in a key being freed using free(key), and then freed again
    through the afsconf_typedKey_put() mechanism. Remove this double free.
    
    Caught by clang-analyzer
    
    Change-Id: I40bff56eddf4cb499ae5b7effdaf82f22379109d
    Reviewed-on: http://gerrit.openafs.org/9147
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2ee578d80034d8c636ebc1b242942865eb338f4f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 13:54:18 2013 +0000

    ptserver: Use correct structure type in malloc
    
    prentries is a list of 'struct prlistentries' objects, not a list of
    'struct prentry'. Use the correct type in our call to malloc.
    
    Caught by clang analyzer
    
    Change-Id: I6c36e4b875eafb8aff6506cf800d47b45a79825d
    Reviewed-on: http://gerrit.openafs.org/9150
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d7e7f18887ab8cd4b4539aaf978a7d98a9b38a27
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:48:59 2013 +0000

    vol: nuke() doesn't need to zero code
    
    We don't need to zero the result code two lines before we assign
    a new value to it - just remove the pointless assignment
    
    Caught by clang-analyzer
    
    Change-Id: I8fefdc839ef9980d7f7703add3b11b089d524d38
    Reviewed-on: http://gerrit.openafs.org/9167
    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>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c696be982773ffbee5e7442cc1425f664078aace
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:47:56 2013 +0000

    vol: nuke() doesn't need to maintain next inode ptr
    
    ni is unused on the true side of the if expression in nuke() - so
    just don't bother populating it.
    
    Caught by clang-analyzer
    
    Change-Id: Idfd088f999f4c4bcdabc03b8b86636aa02541343
    Reviewed-on: http://gerrit.openafs.org/9166
    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>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 538f8d836376116edf99af17b040bc1aeea72390
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:35:08 2013 +0000

    rxgen: Remove pointless assignment
    
    The value we assign to defp is never used (it's almost immediately
    overwritten), and it is guaranteed to be the same as the existing
    value. So, just remove the assignment.
    
    Caught by clang-analyzer
    
    Change-Id: I362fe08c623b5046f2c8b0b16c42dcfa12009981
    Reviewed-on: http://gerrit.openafs.org/9162
    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>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 58cb6e60a8189e05cb5fd15172b09cbe6120fdc7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:10:18 2013 +0000

    rxgen: Fix memory leak
    
    Don't leak the definition structure when we hit the end of the file
    
    Change-Id: Ief44bb3bdff274167760fda5bcc16903ef8c11ce
    Reviewed-on: http://gerrit.openafs.org/9159
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0d28f8c0cec91d68023795e6ba9c769d60869f9e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:05:33 2013 +0000

    rxgen: Fix NULL pointer dereference
    
    Avoid a NULL pointer dereference if strchr doesn't find any occurence
    of '*' in the string. Whilst we handle the not found case when inserting
    a mid string terminator, we don't handle it when restoring the string to
    its previous value.
    
    Change-Id: Ie0b3e18d89073a1694bba2749111c73f59150bdb
    Reviewed-on: http://gerrit.openafs.org/9158
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e4800e1c6caf168890c3933855d741bc1312335
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:01:26 2013 +0000

    rxgen: Silence some uninitialised variable warnings
    
    Change-Id: Ida939533afbbf2afb81cce44ea6693d33c172062
    Reviewed-on: http://gerrit.openafs.org/9157
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6d2d18dfebaea74a30f263e743bdbd1fb14f0580
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 11:55:37 2013 +0000

    Fix incorrect sizeof() arguments in allocations
    
    In a number of places we have
    
    struct X *val;
    val = malloc(sizeof(struct Y));
    
    If sizeof(struct Y) < sizeof(struct X) this is obviously dangerous,
    but it is incorrect regardless of the relative sizes of the
    structures. Fix all of the occurences of this that clang points out
    to us.
    
    Caught by clang-analyzer
    
    Change-Id: Iad32b4ae460d3f40a45cf33624973bf52fd167d4
    Reviewed-on: http://gerrit.openafs.org/9156
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 03c04c081a170668e52127be3c150582e458e1ed
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 11:37:47 2013 +0000

    Don't allocate objects of 0 length
    
    Fix assorted places in the code where we might have asked malloc to
    allocate a block of zero length.
    
    Caught by clang-analyzer
    
    Change-Id: I6e1226ad83a52984ee7c53cbed8c867f38e4f866
    Reviewed-on: http://gerrit.openafs.org/9155
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 429b9ec350670a9d51948fff3e555371a45f7905
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:23:16 2013 +0000

    aklog: Don't reference freed node whilst deleting
    
    Because deletion is implemented using a for loop, the step of the
    loop that moves us to the next node references freed memory when
    we've deleted an element. Fix this by just shortcircuiting the
    return from the function so we immediately exit.
    
    Change-Id: Ia820b20ce5937ac86d849cb746b3bc21f46550fa
    Reviewed-on: http://gerrit.openafs.org/9161
    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>

commit e2e415e9846ee45297af53f659e43d06e49ee6ea
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 14:41:26 2013 +0000

    vos: Remove unused 'done' loop variable
    
    In SendFile we break at the same time as setting the done flag,
    so its value is never checked. Just remove it as it is redundant
    with the current loop logic.
    
    Caught by clang-analyzer
    
    Change-Id: Ibf8f756b06fd26cb2013ece97eb9196c71ad88bd
    Reviewed-on: http://gerrit.openafs.org/9164
    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>

commit 17154a3c0afa88f7bb25e2b642fc13ee69c2b7db
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 22:34:36 2013 +0000

    libadmin: Don't try to release garbage connection
    
    In bos_ServerOpen, initalise the contents of bos_server structure
    to 0 using calloc, so that if we jump to the error handling stuff
    before they are assigned real values we don't end up trying to
    release garbage.
    
    Change-Id: I687d0b637833a08425e75391eb92a2dd4a150301
    Reviewed-on: http://gerrit.openafs.org/9163
    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>

commit a208292dd5867f1bb964c7c38585105d249bd9f4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 16:13:20 2013 +0000

    asetkey: Handle unknown key types
    
    If the user tries to create a key which is not rxkad, error out
    rather than attempt to add a random blob of memory to the KeyFile.
    
    Caught by clang-analyzer
    
    Change-Id: Id2803fe29153f01ab352747caed31b0d0cb4f573
    Reviewed-on: http://gerrit.openafs.org/9160
    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>

commit 5529d5712f650845c4712b9a61aed377099ae857
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 14 20:08:07 2013 +0000

    Unix CM: Don't check if var is 0, then zero it
    
    There's a couple of places in afs_daemons.c where we do:
    
        if (code != 0)
            return;
        code = 0;
    
    The final line is obviously redundant, and makes clang sulk at us.
    So, remove it.
    
    Caught by clang-analyzer
    
    Change-Id: Ic55edf1b05f3f45eb1f0cecdb3c2318e6f7bd0ec
    Reviewed-on: http://gerrit.openafs.org/9154
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1992fbc71406a5c6d5db5d9e920506025d415883
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 14 20:05:43 2013 +0000

    Unix CM: Remove unecessary lastXMinCheck init
    
    Don't init stuff to 0 that's then immediately reinitialised with
    a proper value.
    
    Caught by clang-analyzer
    
    Change-Id: Ic0d8b227908fa716167acf64d7653b636e406816
    Reviewed-on: http://gerrit.openafs.org/9153
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d8bee6e4702ddddcd4024601f73f439e5abaa071
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 14 20:04:05 2013 +0000

    Unix CM: Remove unused security class initialisation
    
    Caught by clang-analyzer
    
    Change-Id: Iab28a305ae377cabc455132fde3b90146921100b
    Reviewed-on: http://gerrit.openafs.org/9152
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ea24520b3152e4197b2f1e1c3f3dd937340660a6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 14:07:10 2013 +0000

    usd: Can't call usd_FileStandard* with NULL
    
    It doesn't make sense to call usd_FileStandard{Input,Output} with
    a NULL usd_handle_t (and doing so would crash later in the
    function), so don't check for attempts to do so.
    
    Caught by clang-analyzer
    
    Change-Id: I03c0b627056108fe0d6f78d8028323cc4ed74758
    Reviewed-on: http://gerrit.openafs.org/9151
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 519d43cafb74dc99dc63a1f6333ebf818c343906
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 13:15:16 2013 +0000

    vlserver: bulkaddrs are unsigned ints
    
    bulkaddrs_val is a pointer to an array of unsigned ints, not to
    an array of ints. Fix the sizeof() used in the call to malloc to silence
    a clang warning.
    
    Change-Id: If39f34756984200fed1cd3f3de5833012b86af21
    Reviewed-on: http://gerrit.openafs.org/9149
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0f46f6b333b92e66ad987778f5084e3620cff30a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 13:12:47 2013 +0000

    ptserver: Simplify malloc assignment to shut up clang
    
    Using a temporary variable of type (char *) to store the results
    of malloc and realloc, and then casting the tmp variable to the
    real type causes clang-analyzer to complain. Just simplify this
    code by always using the real type in order to shut it up.
    
    Change-Id: I607bb36d1899dc617fdbd9e09e18ff10c9fa9ce9
    Reviewed-on: http://gerrit.openafs.org/9148
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 06ad9d96b0100d35ba61ddd1d1d5bead9067e78d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 12:24:44 2013 +0000

    auth: Handle memory errors when parsing key file
    
    Return an IO error if we run out of memory whilst parsing a key file
    
    Caught by clang-analyzer
    
    Change-Id: I783a193fe9315f08d76d1be9b1c77089df25fd64
    Reviewed-on: http://gerrit.openafs.org/9146
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a14cf594067481b3594f469797d44cb9cb7a0c38
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 12 12:19:42 2013 +0000

    auth: Remove unecessary assignment
    
    When we're counting the number of keys available, we don't need to
    actually extract each key entry - remove the unused assignment.
    
    Caught by clang-analyzer.
    
    Change-Id: I98a30afccaf9a455ea0a7e77e7ca0d648abe4e70
    Reviewed-on: http://gerrit.openafs.org/9145
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 94eb76caf16558ab39841571df19cec40f732294
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 17:23:51 2013 +0000

    dumpscan: Unsigned ints can't be less than 0
    
    'y' is an unsigned int, and therefore can never be less than 0, so
    don't bother checking if it is.
    
    Caught by clang-analyzer
    
    Change-Id: I65e9e6e2a6f72a4a1a861234c5db89cc9d99ef15
    Reviewed-on: http://gerrit.openafs.org/9138
    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>

commit 304fac42b8cd4a71d0df063cafe88b2888e4d175
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 17:22:02 2013 +0000

    vol: Don't assume enum is an int
    
    The type that an enum is promoted to for arithmetic is compiler
    dependent. We can't assume that it's an int, or a short.
    
    Explicitly cast the volume state enum where clang gets upset.
    
    Change-Id: Iab285d3a04dac698797ab0df2337aee75e3876b2
    Reviewed-on: http://gerrit.openafs.org/9137
    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>

commit 1c3492149153ca82b18a36402f7f196f97a8512e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 17:12:45 2013 +0000

    viced: Avoid clang errors with modeBits
    
    The modeBits element of the VnodeDiskObject structure is defined as
    a 12 bit wide bitfield. This causes clang some problems when doing
    integer arithmetic, as it appears to the compiler that the field is
    being overflowed. For example...
    
        targetptr->disk.modeBits &= ~04000;
    
    Produces the error:
        implicit truncation from 'int' to bitfield changes value
            from -2049 to 2047
    
    Marc Dionne suggested changing this to
        targetptr->disk.modeBits = targetptr->disk.modeBits & ~04000;
    
    in order to suppress the clang error.
    
    Change-Id: Iadb53a3db911f5771d3ab2437ccd43abce2a8ecb
    Reviewed-on: http://gerrit.openafs.org/9136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f63047a3d1d0ed27c1efdde9ca81b0e62f9f6e69
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 15 17:08:45 2013 +0000

    Fix warnings-as-errors for clang
    
    It seems like some versions of clang have a problem with using
    pragmas to stop particular warnings being converted to errors with
    -Werror. These compilers require that the warning be ignored completely
    in order to suppress it.
    
    Make the necessary changes to afsd and bozo, and update README.WARNINGS
    to note the problem.
    
    Change-Id: I66038130695d2ad27c289f29bcd8f6f2eddf1ded
    Reviewed-on: http://gerrit.openafs.org/9135
    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>

commit 5fc0746ac902dea7f5f8419b7eb735ccc0c54a10
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 19 10:15:33 2013 +0000

    hcrypto: Suppress empty body warning
    
    clang now complains about statements of the form
        if (blah)
            ;
    
    There's one of these in hcrypto. Until we can get this fixed upstream,
    just mark the file as no-error.
    
    Change-Id: I86d1362552ca9ee7b2c47a7c92bd8d6484ab7dbd
    Reviewed-on: http://gerrit.openafs.org/9134
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 252a5b65c30636bf5f62a49a79e5777004ecd17d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Feb 19 13:06:36 2013 -0500

    butc: do not use stack garbage for secobj
    
    The butc only ever handles connections over rxnull anyway, so just
    specify an array of security objects of length one.
    
    Change-Id: Ia073157488ac6b887f972448074ad1615422e26e
    Reviewed-on: http://gerrit.openafs.org/9140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 85f2a66ceafd7a13f51d0352c62b5d69f4620edb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Feb 17 19:34:06 2013 -0600

    rx: Assert call error for RXS_PreparePacket error
    
    If we've received an error from the underlying security class, we must
    not try to send the given packet, or we risk security issues. We
    currently achieve this by setting an error on the connection. It is
    slightly indirect in how this yields an error on this specific call,
    and so it may not be immediately clear, but doing so is critical. If
    somehow the call does not have an error by the end of this, we cannot
    proceed as this is an error condition we do not handle. So, assert.
    
    Change-Id: Ie0106ab170ecb77bb102c5afa3ec44ba2b704283
    Reviewed-on: http://gerrit.openafs.org/9122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 03d3dacae16847352af754ac13c854ca0df0c08c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 14 12:45:04 2013 -0600

    rx: Honor RXS_PreparePacket errors
    
    rxi_PrepareSendPacket calls RXS_PreparePacket to allow the security
    class to modify the given packet appropriately (to be undone by
    CheckPacket on the other endpoint). However, currently
    rxi_PrepareSendPacket ignores all errors generated by
    RXS_PreparePacket, and processing continues as if there was no error.
    
    For rxkad, an error often results in the given packet being untouched.
    This means that the security checksum is not calculated, and thus not
    populated in the packet, and for encrypted connections means that the
    packet contents are not encrypted.
    
    This occurs for any error generated by the security class
    PreparePacket routine. For rxkad, the most common error is probably
    RXKADEXPIRED, though some other internal errors are possible as well.
    
    This behavior has a few effects for rxkad:
    
     1. When any error is generated by PreparePacket, the other endpoint
     generally bails out with the error RXKADSEALEDINCON, since the
     security checksum of the packet is 0, which does not match what the
     checksum should be. This results in error messages like 'rxk: sealed
     data inconsistent'. This can be very confusing if the actual error
     is, say, just that the given credentials have expired.
    
     2. For connections requiring encryption (rxkad_crypt), an error from
     PreparePacket means that the packet payload is sent in the clear.
     This can happen for about a window size's worth of packets.
    
     3. If a client ignores errors/inconsistencies with the checksum and
     encryption, etc, they can keep reading data for the call forever,
     even after their credentials have expired.
    
    To fix this, make an error from RXS_PreparePacket cause a connection
    error for the given connection, and immediately send a connection
    abort. No further error checking should be necessary for the callers
    of rxi_PrepareSendPacket, since they already check for call/conn
    errors before sending any actual packets.
    
    Change-Id: I87de833730424881dcd3d659870f71191eabafe4
    Reviewed-on: http://gerrit.openafs.org/8909
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0a528a52f5da5e225567f3b9deab9f7d08022f9f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Feb 17 13:29:38 2013 -0500

    tests: Improve failure mode for unresolvable hostname
    
    In the case of a host where gethostbyname is unable to resolve
    the hostname, afstest_BuildTestConfig() may return NULL which
    can cause several tests to crash.
    
    Add a common function to look out for this condition and use it where
    appropriate.  When it occurs, the current module is skipped and
    the user gets an error message that indicates the configuration
    problem.
    
    Change-Id: I7216876eb2424368f415e5759e2b95009ad055b2
    Reviewed-on: http://gerrit.openafs.org/9120
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4051c5e96e921b69ac2a6e7bcb805cbc0a8f7993
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Feb 14 10:51:34 2013 -0500

    salvager: incorrect comment
    
    The comment for the code handling the -showsuid option was incorrect.
    
    Change-Id: I0a63211cf5dd8a3b2636d4e4a2cc45a55c3bf62a
    Reviewed-on: http://gerrit.openafs.org/9109
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7c31bd5e2d0da3a1c9e29337d5a90147f3b03158
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 14 14:43:58 2013 -0500

    Windows: Ensure pResultCB exists before Authentication
    
    When processing requests from the redirector it is possible for
    the ResultCB to not be allocated.  This can occur either due to
    an out of memory condition in a synchronous request or due to
    an asynchronous extents or byte range lock request.
    
    Move the assignment of the Authenticated state after the allocation
    of the ResultCB from the stack in case of out of memory conditions.
    
    Change-Id: I7e98edde712b532010aa15705a62cf91dd9d0ebf
    Reviewed-on: http://gerrit.openafs.org/9110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9b48daff341773580b3635e476fea112374986f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 14 09:26:16 2013 -0500

    Windows: Unique file ID is per volume
    
    The unique file ID returned as part of the BY_HANDLE_FILE_INFORMATION
    data structure obtained via GetFileInformationByHandle() is only
    guarranteed to be unique within the volume where volume uniqueness is
    determined by the volume's serial number.
    
    It therefore doesn't make sense to return the volume id as part of
    FILE_INTERNAL_INFORMATION IndexNumber.  Instead return Vnode and
    Unique as that is what ensures uniqueness within an existing AFS
    volume.
    
    Unfortunately, {VolId, Vnode, Unique} does not guarantee uniqueness
    for when multiple cells are in use.
    
    Change-Id: I6c6ea4a04aa79778cce811560d8106a3a5e373cb
    Reviewed-on: http://gerrit.openafs.org/9108
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cb414f6899212f314313a781b63486661e9d1394
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 7 16:53:45 2013 -0500

    Windows: RXAFS_BulkStat failures
    
    The RXAFS_BulkStat RPC is quite brain dead. The client requests
    status information on up to AFSCBMAX FIDs.  The file server replies
    success only if all of the client credentials provide access to
    all of the requested FIDs.  If status info cannot be provided
    for any one of the FIDs, the error code of the failure is returned
    with no context as to which FID failed.
    
    To simplify the logic within the cache manager a new local error
    code, CM_ERROR_BULKSTAT_FAILURE is introduced to replace whatever
    error was received from the file server.  This error is returned
    by cm_TryBulkStat and cm_TryBulkStatRPC.  The caller of either of
    those functions should interpret the error to mean that the current
    user context cannot be used to perform a bulkstat operation against
    the provided cm_scache directory.  Instead, individual RXAFS_FetchStatus
    operations must be performed.
    
    This patchset implements such error handling for both the SMB and
    RDR interfaces.  This change permits the Windows cache manager to
    properly enumerate a directory for which the user only has list
    permission and cannot read the status info for files and symlinks.
    
    Change-Id: I8cc47a5cedfd4e7bf0db55efffc5e95be5172e85
    Reviewed-on: http://gerrit.openafs.org/9080
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3eb7c4f42946b48fc7b63c9caf8e3e262ca9f88f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 12 16:32:18 2013 -0500

    Windows: cm_BPlusDirNextEnumEntry return all errors
    
    Return all entries in the directory enumeration regardless of any
    errors returned from cm_BPlusDirEnumBulkStatNext().  Set the error
    code in the returned cm_direnum_entry_t.errorCode field so that
    the caller can determine how the error should be handled on a
    per entry basis.
    
    Change-Id: I90a90ab0b0220c8d1e045f9473f5edd0bd01e45e
    Reviewed-on: http://gerrit.openafs.org/9103
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 210ebcfbe428687c263a06ead80893393402d608
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 13 14:04:28 2013 -0500

    Windows: Add Cell name to AFSProcessRequest parameters
    
    Knowing the cell name for the request can be useful to the file
    system driver which otherwise does not have access to a conversion
    from FileID.CellID to Cell name.
    
    Change-Id: Ia10bae0d9c8bc7824a400ff30268d7ac0b9b2935
    Reviewed-on: http://gerrit.openafs.org/9107
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4382c9902f28a99e2163c9fe583d3f4861e6043e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 13 21:53:46 2013 -0500

    Windows: Add Cell to FS Volume Information Label
    
    Add the Cell name to the VolumeLabel field of the
    FILE_FS_VOLUME_INFORMATION structure.  This permits "cell#volume" to be
    displayed by cmd.exe's DIR command and other applications that call the
    GetVolumeInformation() or GetVolumeInformationByHandle() Win32 APIs.
    
    Change-Id: I6cc7a7c2b79cb7d0d96cbddcf34dce68e52bf987
    Reviewed-on: http://gerrit.openafs.org/9106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6373d01ca010aa687e6aa0c218d1379e57e60888
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 13 13:12:34 2013 -0500

    Windows: CellLength reported in octets
    
    CellLength must be converted from WCHARs to BYTEs in the response
    to the redirector.
    
    Change-Id: I79656cc0533c6cdc31a977aa486755c4a506510f
    Reviewed-on: http://gerrit.openafs.org/9105
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 85bac1ae40123810fd6bd30625999e276af5ab75
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Feb 8 17:08:28 2013 -0500

    libafs: cleanup redundant assignment
    
    Cleanup redundant clearing of the avcp pointer in lookup, which
    looks to be a cut and paste error from the ibm afs days.
    
    Change-Id: Ib554d862bd8485be2a4dbeb38fcaacac57c1e818
    Reviewed-on: http://gerrit.openafs.org/9085
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6f7ae535bbac2a5376358801b7f2c9e072f2d141
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.
    
    Change-Id: Iad3c2c857f1b736fcf4a142338d9e219bab68969
    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>

commit 8f95dc9eb92cb31f9d29eb87daac747f53b5a1cc
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.
    
    Change-Id: Ib678542bfebaa89ecfa4aad39230fc502ec83edb
    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>

commit 50879d5727c183982a40bd242d6039ed470d835d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Feb 11 18:49:21 2013 -0500

    Linux: Add missing semi-colon
    
    Add a missing semi-colon in the error case when missing symbols
    are detected.  The effect is strictly cosmetic - a few additional
    error messages would follow the "undefined symbols" error.
    
    Change-Id: I2a8bfb0a3ef12b5bcee6946804df025c75d84830
    Reviewed-on: http://gerrit.openafs.org/9095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e9af3e644205d7fff2a47e6eaa4a028e783d2df4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 6 11:58:55 2013 -0500

    Windows: Do not pass relative paths to redirector
    
    RDR_SetInitParams provides two paths to the redirector, the AFSCache
    file path and the path of the %TEMP% environment variable.  If either
    of these paths are relative paths and not absolute (or full) paths,
    the redirector and the service will interpret them differently.
    Ensure that the full paths are delivered to the redirector.
    
    Change-Id: I48d9cd09d9292cc0e97c41da430026c20e097de1
    Reviewed-on: http://gerrit.openafs.org/9074
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 351cefe9b60032fe77aa09c0803ef051fb5b4665
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 10 20:05:49 2013 -0500

    Windows: Move Authenticated field to CommResultCB
    
    Add the Authenticated state of the request to the CommResultCB
    so the redirector knows the state of all requests.
    
    Change-Id: I854735c7fbda958a12fa79232b584b4d14dd8569
    Reviewed-on: http://gerrit.openafs.org/9091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d8f47f05d4e5580801916ef4ead30560e42d0b77
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 11 16:40:36 2013 -0500

    Windows: Do not double increment cm_data.currentCells
    
    During cm_cell generation the cm_data.currentCells value was
    incremented twice.  As a result cm_currentCells did not equal the
    number of cm_cell objects allocated.  Upon restart the AFSCache
    contents would be discarded.
    
    Change-Id: I2b62cb8268789e46f5ada4aa039e41c7ea8b47a5
    Reviewed-on: http://gerrit.openafs.org/9090
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f9f9a7ab1791bfce1e2d442c683bb664dd2ab630
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 8 14:17:12 2013 -0500

    Windows: Move Trace Stmts from FILE to CLEANUP
    
    Relabel trace statements in AFSRemoveDirNodeFromParent,
    AFSRemoveNameEntry, AFSDeleteDirEntry, and AFSRemoveFcb from the
    FILE subsystem to the CLEANUP subsystem.   This assists in reducing
    the noise when attempting to watch the file system requests that
    are received by the afs redirector.
    
    Change-Id: I0aa8c090b176a7d2fa6feb9866e7c8e9f621c2df
    Reviewed-on: http://gerrit.openafs.org/9089
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a1b6015cec049367c4832d7299bcdba19ea3b3fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 8 23:46:44 2013 -0500

    Windows: AFSLocateNameEntry tracking DirectoryCB IN/OUT
    
    AFSLocateNameEntry previously accepted ParentDirectoryCB as an IN/OUT
    parameter in which a reference count was passed in but a reference
    count was not passed back out.  The DirectoryCB parameter is an OUT
    parameter for which a reference count should be returned on success.
    
    This patchset simplifies the logic.  ParentDirectoryCB is IN only
    and OutParentDirectoryCB and DirectoryCB are out only.  AFSLocateNameEntry
    never releases a reference count provided by the caller and it always
    returns OutParentDirectoryCB and DirectoryCB with a new reference count
    unless they are NULL.  It is the callers responsibility to determine if
    ParentDirectoryCB has changed and to release all of the references.
    
    Change-Id: I4843d1d685917fd3f41409d0b11f5b768c2c1dd6
    Reviewed-on: http://gerrit.openafs.org/9087
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ef02d3845bedf5daf4628e52d4452ea58eb7909a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 8 17:28:09 2013 -0500

    Windows: AFSLocateNameEntry separate VolumeCB In/Out
    
    Tracking the VolumeCB references within AFSLocateNameEntry has
    proven to be very error prone.  When the VolumeCB parameter is
    an in/out parameter the caller cannot reliably determine whether
    or not AFSLocateNameEntry replaced the updated the pointer and
    whether it properly released the references.  This patchset
    changes the interface so that VolumeCB and ParentDirectoryCB
    have separate in and out parameters.  The caller is now responsible
    for tracking its own Volume reference counts and AFSLocateNameEntry
    obtains its own which will either be returned to the caller as a
    non-NULL OutVolumeCB or released.
    
    This patchset turns ParentDirectoryCB into an IN only parameter
    and adds OutParentDirectoryCB as a dedicated OUT parameter.  However,
    it does not alter any associated reference count logic.  That will
    be implemented in a subsequent patchset.
    
    Change-Id: Ic271d13496b4af80339c5ccd505fa04ec57b4700
    Reviewed-on: http://gerrit.openafs.org/9086
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 76fb036f4e7d185ab725b6754652a764906c9e0b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 10 11:54:44 2013 -0500

    rx: remove rx_misc.h define trailing semicolons
    
    PIN and UNPIN macro definitions should not have trailing
    semicolons.
    
    Change-Id: I242c0a7a40cbabe852ed975eb64df52dbb585624
    Reviewed-on: http://gerrit.openafs.org/9088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 948cc20c8e56aa33eeb1f0af9def4db4d5a0d121
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Feb 6 18:44:35 2013 -0500

    rx: Remove rx_atomic_add_and_read trailing semi-colon
    
    Remove a stray trailing semi-colon from the definition of
    rx_atomic_add_and_read.
    
    Change-Id: Iae9c62c132bcbb3d2e609dde2d54e0435d36cc03
    Reviewed-on: http://gerrit.openafs.org/9075
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a5865493a27cc8fbb849e683c7dffa187d2e3e71
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 6 22:44:44 2013 -0500

    Windows: GetVolumeInfo cell name
    
    The service was supposed to provide the redirector the cell name
    as part of the AFSVolumeInfoCB response from RDR_GetVolumeInfo.
    Add a new field to store it and populate it.
    
    Change-Id: Idcafaee66ed1031dfdeee1804bbdff617e464d3f
    Reviewed-on: http://gerrit.openafs.org/9079
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c0f465cc3ab1392c793c2bcbc912a55dc02ad46c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 6 22:43:16 2013 -0500

    Windows: Return full volume name for RO and BK
    
    RDR_GetVolumeInfo must return the full volume name (not the volume
    group name) for RO and BK volume types.
    
    Change-Id: Ic215b205c07faab53f8a899d0f662b64c902dde2
    Reviewed-on: http://gerrit.openafs.org/9078
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aa5d0d708f6a758396b04779ceac271a039439fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 6 19:35:00 2013 -0500

    Windows: AFSFileOpenResultCB.Authenticated
    
    Notify the redirector whether the the result of a file open
    request is the result of a user authenticated action.
    
    Change-Id: If1f7704b3ea31e40e88b3589fd604a7d50653ec1
    Reviewed-on: http://gerrit.openafs.org/9077
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dbdee60a83d72d38a04a0eeb2a5324cf497e57e3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 27 20:52:39 2013 -0500

    Linux: Detect undefined symbols in kernel modules
    
    Undefined symbols in the kernel modules are not currently detected
    at build time.  As a result, buildbot may indicate success while
    the resulting kernel modules are unusable.
    
    In the kernel build process, modpost warns about missing symbols
    but does not return an error in the case of external modules.
    Detect these warnings and cause the libafs build to fail.
    
    Change-Id: I2c428a5ce7e3a0d10178679f789b3d787719c397
    Reviewed-on: http://gerrit.openafs.org/8981
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 748e07d24367e80e353446bdb97f61ce420d303d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 6 19:32:28 2013 -0500

    Windows: add cm_HaveToken
    
    cm_HaveToken answers the question of whether a cm_user_t has a
    token for a specified cell.
    
    Change-Id: I4dff312a7e9000ccee6952c21fca174700364c4c
    Reviewed-on: http://gerrit.openafs.org/9076
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aea9e64147bd4883764f2d85b98c37a79c5e135a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jan 8 14:38:34 2013 +0000

    pam: Build using libtool
    
    Build the pam_afs and pam_afs.krb modules using libtool, so they
    fit in with the rest of the new build infrastructure.
    
    This requires some additonal symbol exports from auth and kauth,
    which are included
    
    Change-Id: I97a130ba69216cd63ba388f2aaabe830a0c4543f
    Reviewed-on: http://gerrit.openafs.org/8900
    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>

commit 028258e6393bd76df0944dc77266bfba176ada73
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 5 00:29:12 2013 -0500

    Windows: AFSLocateNameEntry double free Volume RefCount
    
    If AFSBuildMountPointTarget fails when called from AFSLocateNameEntry
    the pCurrentVolume reference count will have been freed even though
    the pointer has not been updated.   If the failure is
    STATUS_OBJECT_NAME_NOT_FOUND and AFSLocateNameEntry was called
    by AFSCreateCommon, the Volume reference count will be freed twice.
    
    Change-Id: I0b5ccb512ea0ec2e24099dff38bbbeddebf0bee3
    Reviewed-on: http://gerrit.openafs.org/9069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e7df2fcedcd05b5f73f5398433289b52b769c0ea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 4 16:22:56 2013 -0500

    Windows: AFSObjectInfoDecrement correct return value
    
    The return value must be the new ObjectReferenceCount value not
    the value of the Reason counter.  This was broken by patchset
    e267774f1a4f9cc5bfc32c545df36a4bf7947607.
    
    Change-Id: I9dd3cd56f6c7d43f061bdda8e24666b5f9a4ed9b
    Reviewed-on: http://gerrit.openafs.org/9068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d0e7d8c76e038c5bd76b49fd8ca7b588e848a4f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 4 15:14:16 2013 -0500

    Windows: AFSVolumeCB track RefCount reasons
    
    Introduct AFSVolumeIncrement and AFSVolumeDecrement functions
    which are used to increment not only the AFSVolumeCB.VolumeReferenceCount
    but also a new VolumeReferences[Reason] counter.  In the future when
    a VolumeReferenceCount error occurs it may be possible to isolate the
    cause to a subset of the code.
    
    In the process, the VolumeReferenceCount necessary to free the
    AFSVolumeCB object is changed from 1 to 0 and AFSInitVolume no longer
    initializes the AFSVolumeCB count to 2.
    
    The signature for AFSInitVolume and AFSLocateNameEntry are modified
    to permit a volume reference reason to be provided.  This permits
    the reference to be allocated in one function and released in another
    without resulting in count imbalances.
    
    Change-Id: I021a6efe061817ff044c18a699ee63a7ffbfc7bf
    Reviewed-on: http://gerrit.openafs.org/9067
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 20a54b02521b40b07e4ec87df55a1e9a2549c881
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Tue Jan 22 19:24:25 2013 -0700

    OpenBSD: Add config headers for new(er) OS versions.
    
    The OS-specific config header files have not kept up with the
    newer releases of OpenBSD. This patch corrects that by adding
    header files for OpenBSD versions from 4.9 to 5.3 (the newest
    version currently under development).
    
    Change-Id: I5e233cc7b96be2c1c52824653c42d3c6d77d6f50
    Reviewed-on: http://gerrit.openafs.org/8927
    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>

commit dfd9d79524210654d1d635ed58a08c900b479585
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jan 8 15:26:45 2013 +0000

    Build system: Add LT_LDRULE_shlib_missing
    
    Add a new LT_LDRULE which can be used to build shared libraries which
    may not contain all of the symbols listed in their .sym files. This
    allows us to build a library like roken, where different symbols
    will be present on different operating systems.
    
    Change-Id: I82e0df49131aa7184360130547c82052a6dd704b
    Reviewed-on: http://gerrit.openafs.org/8901
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3b733db8bf2bc3a1366554ae97814cc722437149
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 24 21:38:28 2013 -0500

    Linux: crset should use passed credentials
    
    When copying credentials in crset, take the passed credentials as
    the source instead of the current process credentials.
    
    This doesn't cause any problems currently since crset always gets
    called with the current credentials.
    
    Change-Id: Ia6a341e96d00071587443f8eef4a99992b368abc
    Reviewed-on: http://gerrit.openafs.org/8980
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7d8b636d9493f3c470c1bbffb4a566060b21d98b
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 29 22:54:00 2013 -0500

    LINUX: ifconfig's output has changed
    
    net-tools in Fedora 18 has changed 'inet addr' to just 'inet' (possibly
    to more closely match the ip command).
    
    Change-Id: I9224d0eb4dd77e248c8f8eed966fa26ec7dda08c
    Reviewed-on: http://gerrit.openafs.org/8987
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ee7b4467dba211c25875797227e18643d8ea7ac3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jan 8 15:28:17 2013 +0000

    Build system: ADd LT_LDRULE_static_NOQ
    
    Add a NOQ variant of the LT_LDRULE_static build macro, so that it
    can be used as part of compound rules.
    
    Change-Id: I45b3d4ff09465d2d472e27c2fd290e0311791403
    Reviewed-on: http://gerrit.openafs.org/8902
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1f891b622e9b32a068082087eae9d787057f7f00
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>

commit 804a0db1bbfbb4bcd14f3308ce6e77e2aa1323f6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Feb 2 12:17:48 2013 -0500

    Parallel libtool build fixes
    
    Serialize the use of libtool in a few places to avoid having
    concurrent libtool instances in the same directory..
    
    Change-Id: I5abaeae8f6a31cd84643b7df39c77493d198b600
    Reviewed-on: http://gerrit.openafs.org/9024
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 52cc7988371ead9b2903d90453598b3d07ce1696
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 4 14:56:27 2013 -0500

    Windows: Use AFS_OBJECT_REFERENCE_MAX in struct
    
    Use AFS_OBJECT_REFERENCE_MAX to size the array in the struct.
    This should have been a part of patchset
    e267774f1a4f9cc5bfc32c545df36a4bf7947607.
    
    Change-Id: I9323387a27a5bc2e708f8a8424cb38b491d542d7
    Reviewed-on: http://gerrit.openafs.org/9066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dc32caae7768c486e610c4e56c6a78e9c918d975
Author: Thorsten Alteholz <openafs@alteholz.de>
Date:   Sun Feb 3 11:58:25 2013 +0100

    Beautify ubik_print()
    
    After lots of intermediate steps a call to ubik_print(), ubik_vprint()
    and ubik_dprint*() ends in vFSLog() which adds a timestamp to the output.
    So any call to ubik_print(), that does not contain a \n at the end,
    makes a mess of the logfile.
    The least invasive change will simply add this newline at the end
    of any ubik_print() call.
    This also prevents long lines in the log, which might appear on
    multi-homed hosts with lots of interfaces.
    
    FIXES 1446
    
    Change-Id: I2e44588fcc5b27704dd5fec5a83d99d3a86f86e4
    Reviewed-on: http://gerrit.openafs.org/9059
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4b3f499b20ba50cf92e6caeb747c56e53a5a55f3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 3 14:03:36 2013 -0500

    Windows: cm_SetupFetchBIOD reserving type
    
    Change type of 'reserving' to afs_uint64 to match the return type
    of buf_TryReserveBuffers().
    
    Change-Id: I8aaac5a763ec55acada2702b898a9bcd50f82ed0
    Reviewed-on: http://gerrit.openafs.org/9062
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e4d97fa3e4a0d02160e082547b84c437472bfaae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 27 15:43:58 2013 -0500

    Windows: cm_user interlocked operations
    
    Convert cm_user refcnts to use interlocked operations.
    
    Change-Id: Ib40d2446792dcde3038ea601281406e013147595
    Reviewed-on: http://gerrit.openafs.org/9061
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5f17b9f9295b4f1c86cc71a5253f93a9c56078a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 3 01:20:36 2013 -0500

    Windows: Fix RDR_BkgFetch rock assigment
    
    The wrong variables were assigned to the rock base and offset
    in the final queuing of a RDR_BkgFetch request within
    RDR_RequestFileExtentsAsync.
    
    Introduced in 8b874aa205cd05b8109a296c8cb8ad0bb5114553.
    
    Change-Id: I77af22caed9eceb4c90b8fa18b91945d059995e5
    Reviewed-on: http://gerrit.openafs.org/9058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3ecdfadded7cb6de6a0204cb1cf70ae764e17769
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 29 12:28:57 2013 -0500

    Windows: dirty threshold 64 * chunksize
    
    must be large enough to keep the pipe full
    
    Change-Id: I1bf8b5800ff286e74dbe57ced19943db891b715f
    Reviewed-on: http://gerrit.openafs.org/8996
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2e7c203a6cc84b2d4e4c67bd47277c19315853ae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 28 21:12:10 2013 -0500

    Windows: More RDR Garbage Collection
    
    This patchset addresses the failure of AFSVolumeCB, AFSDirectoryCB,
    and AFSObjectInformationCB objects to be garbage collected by the
    AFSPrimaryVolumeWorker thread.  The AFSPrimaryVolumeWorker thread
    is broken up into smaller pieces.
    
    Change-Id: I54749960be8f22313ba7ee5f9f96438be6321f25
    Reviewed-on: http://gerrit.openafs.org/8995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8099525c4a0251974c0a66c4b72fc26187691f29
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 27 15:06:09 2013 -0500

    Windows: AFSEvaluateTargetByID Sanity Check Result
    
    If the file server provides the service with bogus status info
    and that status info is inconsistent with the allocated fields
    in the associated ObjectInformationCB and FCB structures, it can
    result in a BSOD.  Perform some basic sanity checks and if an
    inconsistency is discovered, fail the request.  This may result
    in the inability to access a file/directory but will prevent a
    BSOD.
    
    Change-Id: Iabf66adc5e953dc4ae27ed701148a9ffbf55abcc
    Reviewed-on: http://gerrit.openafs.org/8994
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5649d84f1a96e3b2cc1dc42d67d3facb4e4b5d07
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 1 13:40:22 2013 -0500

    Windows: Replace ParentObjectInformation pointer
    
    Although rare there have been crashes which were the result of
    the ObjectInformationCB being freed while another ObjectInformationCB
    is pointing to it via the ParentObjectInformation pointer.
    
    This patchset removes the pointer and replaces it with the ParentFileId
    which is used to lookup the Parent ObjectInformationCB via the VolumeCB
    BTree of all volume objects. The reference counting rules remain the
    same.
    
    Change-Id: Iaf66587be2619c8c2f06cd586ef8d423b76d1e79
    Reviewed-on: http://gerrit.openafs.org/8993
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a5378b71ee9b4e2a0c25df95dced1026dbbf7a39
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 1 13:39:22 2013 -0500

    Windows: Test for PRSFS_INSERT in redirector interface
    
    If a test for PRSFS_WRITE fails and the cm_scache.creator is the
    current user, then also test for PRSFS_INSERT privilege.
    
    Change-Id: Ib3e34f7ce50216cd9ff82afe9a7184f79d46ce15
    Reviewed-on: http://gerrit.openafs.org/8978
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7c3f5bfba68964dfda989adb59a2b9efdb37eb4d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 00:45:21 2013 -0500

    Windows: Additional I/O subsystem trace messages for AFSWrite
    
    When debugging be able to obtain additional details about the
    I/O subsystem.
    
    Change-Id: Ie875870cb874c6df0d8f94781656af8a34eeddf5
    Reviewed-on: http://gerrit.openafs.org/8977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ed6354881d6f55ced842e3e78a02133fba8823ae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 00:18:37 2013 -0500

    Windows: .readonly space reporting
    
    .readonly volumes can be stored on multiple partitions which each
    have a different size and free space available.  To ensure consistency
    regardless of which partition the .readonly is accessed from and
    because .readonly volume sizes cannot change, report the allocation
    size of the volume as the partition size.  Continue to report that
    volume has zero free sectors because the volume cannot be written to.
    
    Change-Id: Ib57b1175da048344af615b9350d72d9eb3ffe97d
    Reviewed-on: http://gerrit.openafs.org/8976
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ddba1a1f06d140f5683e173db5a384ac5ac40977
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 00:17:25 2013 -0500

    Windows: FILE_READ_ONLY_VOLUME not FILE_DEVICE_READ_ONLY
    
    Instead of stating that the AFS device is read only; report
    that the volume in question is read only using the FILE_READ_ONLY_VOLUME
    file system characteristic.
    
    Change-Id: I0b172f8a984802a3cefdea84436c9ed44f34d7f1
    Reviewed-on: http://gerrit.openafs.org/8975
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5880a7326428b3d17049e92b1ccc590ad3fc7897
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 00:13:03 2013 -0500

    Windows: AFSQueryFsAttributeInfo use service response
    
    The File System attributes are set by the service in the volume
    information request.  Use the values the service provides instead
    of returning an incomplete hard coded list.
    
    Change-Id: If620cd520ab29780ef296c6f15dfaee3774c3d41
    Reviewed-on: http://gerrit.openafs.org/8974
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e41d08c9a15a722d0974b763e41d84788f742b6a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 00:11:41 2013 -0500

    Windows: FILE_FS_DEVICE_INFORMATION Device Type
    
    Consistently report our device type as FILE_DEVICE_NETWORK_FILE_SYSTEM
    instead of FILE_DEVICE_DISK or FILE_DEVICE_DISK_FILE_SYSTEM except
    when returning FILE_FS_DEVICE_INFORMATION where we must lie and state
    that the device type is FILE_DEVICE_DISK.  Otherwise, the Win32 API
    GetFileType() returns FILE_TYPE_UNKNOWN instead of FILE_TYPE_DISK.
    
    Applications built from msys (but not current cygwin) treat files
    of type FILE_TYPE_UNKNOWN as special character devices instead of
    files.  This breaks msysGit.
    
    Change-Id: I7107ae84ede31abb01481b2e8c3915588d9fd529
    Reviewed-on: http://gerrit.openafs.org/8973
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cac8dea092d62141da700c691b3609ed4dc08c04
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 22 12:46:20 2013 -0500

    Windows: RDR_CleanupFile FSync only files
    
    If the cm_scache type is something other than a file, there
    is no point performing an FSync.   Do not incur the overhead.
    
    Take into account any outstanding AsyncStore operations that
    might be in-flight.
    
    Change-Id: I66cd59cbcd81f2a7639e478832f921ac393ea3ae
    Reviewed-on: http://gerrit.openafs.org/8972
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8ae06c2ea48651ebd90635ffcc68bbccfeb908c8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 22 12:44:21 2013 -0500

    Windows: AFSCleanupFile always flush on last handle
    
    Do not rely on a count of dirty extents to determine if the
    service should flush a file during a cleanup operation.  Simply
    because there are no dirty extents held by the redirector does
    not imply that the service has no dirty buffers for the file.
    
    Change-Id: Ifc7c139a587413626eae145f343c4295dd94f28a
    Reviewed-on: http://gerrit.openafs.org/8971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5bedc5e03a21409b7d2426387584267e33073457
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 20 13:27:51 2013 -0500

    Windows: clear ASYNCSTORING flag in scache recycle
    
    If the scache has been recycled the ASYNCSTORING flag cannot
    be accurrate.  Clear it.
    
    Change-Id: Ie5a5a19bf1818e36f6274ba24ddeaf5f4b835ff4
    Reviewed-on: http://gerrit.openafs.org/8970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e7e83d8c7e2aef13109eff53cede43a1904bbe91
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 20 13:26:24 2013 -0500

    Windows: restructure daemon state tracking
    
    Move all of the per thread state info into a struct and
    allocate an array of structs instead of an array for each
    data type.
    
    Change-Id: I25b878192a8f919b21d96e981d7369a429b9171d
    Reviewed-on: http://gerrit.openafs.org/8969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 294fce5ddf4abbe9675f759b2512bdc306659944
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 20 13:23:50 2013 -0500

    Windows: osisleep cleanup
    
    Change-Id: Id76989dfab53a166a4174569973fb0a5f5e5e972
    Reviewed-on: http://gerrit.openafs.org/8968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b93ddf1a9c49988e84bfddff37bc55949d49768c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 17 21:02:36 2013 -0500

    Windows: remove out of date cm_buf #define
    
    Change-Id: Id60f509d7c8a1e9eb2f94d4c481d00e9b820b827
    Reviewed-on: http://gerrit.openafs.org/8967
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8b874aa205cd05b8109a296c8cb8ad0bb5114553
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 17 01:44:27 2013 -0500

    Windows: Convert BkgDaemon Procedures to use rock
    
    The BkgDaemon functions accepted four 32-bit parameters into
    which 64-bit offsets and lengths were fit.  Convert the routines
    to use a procedure specific rock type which is allocated by the
    caller to cm_QueueBkgRequest and freed by cm_BkgDaemon.
    
    The use of a rock will permit greater flexibility for future
    background procedures to be implemented that require more complex
    data to be passed around.
    
    Change-Id: I4fc06e1d4a3a3ee25c699c95a90a9c9993199ddd
    Reviewed-on: http://gerrit.openafs.org/8966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5be1779547d800e1a040fe1969336adab0c01afa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 17 01:42:54 2013 -0500

    Windows: Set dirty page limit to 2 x ChunkSize / 4096
    
    4096 is the size of a memory manager page.  ChunkSize is in octets.
    Windows doesn't wait until the limit is reached to begin flushing
    and ChunkSize is not a hard limit.
    
    Change-Id: Ic1d5dda18eefbf309696b8a19ef5623248f54faf
    Reviewed-on: http://gerrit.openafs.org/8965
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8b62d08760b2cde9fb0b15b695d8467191c0669f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 19:42:41 2013 -0500

    Windows: Add CM_MERGEFLAG_CACHE_BYPASS
    
    If a store operation is performed direct to the file server
    bypassing the AFSCache, call cm_MergeStatus() with
    CM_MERGEFLAG_CACHE_BYPASS to ensure that the valid version
    numbers for the cm_scache_t object are incremented appropriately.
    After a cache bypass occurs, only buffers with the current
    data version number are valid since the cached data will be
    incomplete.
    
    Change-Id: I9438f8c9759407de69ab894df4f6fe91027a4b94
    Reviewed-on: http://gerrit.openafs.org/8964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 65ff9935728e0142728e29295c7ef69bf73cecf4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 30 21:45:44 2013 -0500

    Windows: AFSInitPIOCtlDirectoryCB fixes
    
    Rename ObjectInfo parameter to ParentObjectInfo since
    it does represent the parent of the PIOCtlDirectoryCB
    that is being allocated.
    
    If the AFS_DIR_ENTRY_TAG allocation fails, do not call
    AFSDeleteObjectInfo( pObjectInfoCB) prior to the try_return
    because AFSDeleteObjectInfo() will be executed in the try_exit
    block.
    
    Finally, do not increment the pDirNode->ObjectInformationCB
    reference count when returning STATUS_REPARSE.  The reference
    count is tracked by the pDirNode pointer and has already been
    allocated.
    
    Change-Id: Iac3d2b1b58d3bf12eb08c92b96beca43e794aef5
    Reviewed-on: http://gerrit.openafs.org/8963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3847ec9531b7bde9a2af9edded5b19d797789752
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 19:28:44 2013 -0500

    Windows: Additional trace %p and %d changes
    
    Use %p when logging pointers.
    
    Use %d for counts.
    
    Change-Id: Ib3a3b1226945eccb15d912d7ff1c83f0257e7acd
    Reviewed-on: http://gerrit.openafs.org/8962
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 391bdbf9ace271ef41d6c73031d172cdad802f79
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 19:25:37 2013 -0500

    Windows: AFSProcessCreate drop DirOpenRefCount on exit
    
    AFSProcessCreate() must not maintain its DirOpenReferenceCount
    when bFileCreated is true because the AFSCcb maintains its own
    count and the one obtained by AFSProcessCreate() will only be
    leaked.
    
    Change-Id: I6591eb1c10d3dffe7449894b29c9999f5db91d64
    Reviewed-on: http://gerrit.openafs.org/8961
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4811fd8844d1294ee37c14bac7cfae776d09c9b4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 19:14:42 2013 -0500

    Windows: Trace DirectoryCB allocations
    
    Add a trace subsystem for tracking Directory Entry allocations
    and deallocations to assist with debugging.
    
    Change-Id: Ic5f0361bf10752f50d433d3e9f4792b32bec8de1
    Reviewed-on: http://gerrit.openafs.org/8960
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c753d398f2005c886932f20b49af15efc489a829
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 18:55:24 2013 -0500

    Windows: Introduce NameArray Reference Counts
    
    Split the DirOpenReferenceCounts into those related to DirectoryCB
    reference counting unrelated to the NameArrays and those that are
    related to the NameArrays.  This helps track down the source of
    overcounts and undercounts.
    
    Change-Id: Ie3c6f15394fe116761e32ed4d7756a4bf6a5549f
    Reviewed-on: http://gerrit.openafs.org/8959
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e5e952f5fc1cb8a6d2789938e30fb00e5bb570d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 18:52:51 2013 -0500

    Windows: AFSSetRenameInfo Notify correct object of change
    
    When AFSSetRenameInfo makes a change, it is the parent object
    that must be notified not the parent of the parent.
    
    Change-Id: I56b3f1c076cb4abb4b5e41aed261e867a2d2ebb7
    Reviewed-on: http://gerrit.openafs.org/8958
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8d4757284a08d5e7123fab696c5da64faa4e6fb7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 18:51:01 2013 -0500

    Windows: Allocated VolumeCB from PagedPool
    
    Only the non-paged portion of the VolumeCB should be allocated
    from the non-paged pool.  Allocate the VolumeCB itself from the
    paged pool.
    
    Change-Id: If248faf78546bb34fd1ba1ddcc1acb5a6da20c6f
    Reviewed-on: http://gerrit.openafs.org/8957
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 34f4427a978a485d83b1faa57fd786e47b8dddf5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 26 23:19:05 2013 -0500

    Windows: Move VolumeWorkerContext to NonPaged pool
    
    The VolumeWorkerContext contains a KEVENT which must be allocated
    from the NonPaged pool.  Move it to the AFSNonPagedVolumeCB struct.
    
    Change-Id: If24ea5f22e6cc7e71328d0d2d8e0c8b9209ce5b2
    Reviewed-on: http://gerrit.openafs.org/8992
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e267774f1a4f9cc5bfc32c545df36a4bf7947607
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 18:44:33 2013 -0500

    Windows: Categorize ObjectInformationCB RefCnts
    
    To assist in tracking down the source of ObjectInformationCB
    overcounts and undercounts, add an advisory array which tracks
    the reference counts by category.  In the procress ensure that
    all reference count changes are logged by tracing.
    
    Change-Id: I813cd0af5e12e36ba9863577dbd35abef6339414
    Reviewed-on: http://gerrit.openafs.org/8956
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fce3f679f1842a3c4b867a3152414566fc56fb81
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 18:24:55 2013 -0500

    Windows: AFS_SUBSYSTEM_OBJECT_REF_COUNTING fixes
    
    A large number of trace messages monitoring ObjectInformationCB
    reference counting were categorized under AFS_SUBSYSTEM_FCB_REF_COUNTING
    instead of AFS_SUBSYSTEM_OBJECT_REF_COUNTING.  This patchset applies
    the correct subsystem category.
    
    Change-Id: I6c309b42b3d679f961d82c1a975d84122c9275f9
    Reviewed-on: http://gerrit.openafs.org/8955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3e38897012ab8075df96b9e1ecca2a2ebc23cc30
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 24 16:29:52 2013 -0500

    Windows: Reduce RDR Object Lifetime
    
    Adjust the redirector object lifetime from 10 minutes (600 seconds)
    to 20 seconds.  The object lifetime is how long an object can remain
    idle before garbage collection is permitted.
    
    Change-Id: I8db89bfb0ccd40e9295dcbb30fbc2c96813d9fc9
    Reviewed-on: http://gerrit.openafs.org/8954
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 24b6365169e48d21bbb97fb456860f63389a5bcf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 13 10:15:02 2013 -0500

    windows: Update raw fetch/store operations
    
    rawops.c is a hold over from Eric Williams' original attempt
    to implement an AFS redirector.  When the rest of the his code
    was purged from the tree and replaced with a more complete
    implementation based upon the Kernel Drivers's File System
    framework rawops.c was left behind.
    
    Although the source file has been compiled as part of the build,
    its functions ReadData and WriteData have never been called.  This
    patchset:
    
     1. renames the functions to raw_ReadData and raw_WriteData
    
     2. modifies the function signatures and provides a header
        with prototypes
    
     3. requires that cm_scache.rw be write-locked upon entry
    
     4. renames variables
    
     5. removes the #define CM_BUF_BUFSIZE and relies upon
        cm_data.blockSize instead
    
     6. Always write back the current range as an async store
        instead of the previous chunk as random write patterns
        will fail to store all of the dirty buffers.
    
    Change-Id: I1594b2950ab14da0c0de2a382fd1ba8248a9d1c6
    Reviewed-on: http://gerrit.openafs.org/8953
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bb733da134ce7d7742d5b7359edb36f67ec85632
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.
    
    Change-Id: I25666b7ff139ae43364ac04869b14997f3ed0d53
    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>

commit 40b43a15b86d4159f7de478ed5e2ace543b7687a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 2 07:22:50 2013 +0000

    tests: Don't use libafsauthent
    
    Use liboafs_auth.la directly, rather than using libafsauthent, to
    build the auth tests
    
    Change-Id: Idf0e7a32626802b6113d21833ded09d9e20e3659
    Reviewed-on: http://gerrit.openafs.org/9023
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b3dd9c2f4e753c363ed5e75b50f73c70b4b675ad
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 2 07:20:14 2013 +0000

    auth: Permit NULL fallback in localauth case
    
    Allow the caller of afsconf_PickClientSecObj to specify both
    local authentication, and to request fallback to null authentication
    if local auth isn't available.
    
    Change-Id: Ib3b801bfde3f32b4cb9cdc7c08a3d8ab985c080f
    Reviewed-on: http://gerrit.openafs.org/9022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9dc6dd9858a49aab5207cdc46b6820a18ef54bf4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 2 07:17:53 2013 +0000

    rx: Fix AIX test_and_set_bit
    
    The AIX definition of rx_atomic_test_and_set_bit had its test the
    wrong way round - so an already set bit would return false, and a clear
    bit would return true. Fix this.
    
    Change-Id: I7778c411016bca53b38257fca59ae0f7aaad64ae
    Reviewed-on: http://gerrit.openafs.org/9021
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 69f634503482f899e4d422b16100636905c72ea8
Author: Thorsten Alteholz <openafs@alteholz.de>
Date:   Wed Jan 30 20:11:04 2013 +0100

    fix some typos in bos_setrestricted
    
    the real name of the command is: 'bos setrestricted'
    it is sufficient to name 'bos install' only once
    
    Change-Id: Ic68f7cb55466e1c92c34eeda37c0a64a11b7e4d8
    Reviewed-on: http://gerrit.openafs.org/8990
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    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>

commit 17986a100e19992dc21b1b517d274857c1fc6984
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Jan 21 16:13:56 2013 -0500

    rx: convert rxinit_status to atomic
    
    we don't need to use a lock just for this; switch to atomic and use that
    to trigger configuration.
    
    Change-Id: Ia96ec308dda51d1f6d13f290a23251c66665e499
    Reviewed-on: http://gerrit.openafs.org/8930
    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>

commit ed8b4808860cda1f80403e372e540c63b3b4183c
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Jan 21 16:10:17 2013 -0500

    darwin: stop processing upcalls once rx shutdown starts
    
    we have a chicken and egg. can't stop upcall without
    killing socket; can't kill socket while rx might try to transmit on it.
    cheat, and if rx is shut down, don't process things upcall receives.
    
    FIXES 131577
    
    Change-Id: I6b72f6e7aefb7937b768dcb9c0a83d0ee3317bfa
    Reviewed-on: http://gerrit.openafs.org/8931
    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>

commit 2f8de279e11ff954c0034eb1fd4695cb015d956f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 16:52:34 2012 -0500

    Windows: Disable hard dead timeout for RDR File Server connections
    
    The UNIX cache manager does not implement hard dead timeouts
    on file server connections.  The Windows cache manager had to
    because of the SMB connection timeout requirements.  For the
    AFS redirector there is no timeout requirement.  Therefore,
    when the SMB stack is disabled the Windows cache manager can
    disable the hard dead timeout.
    
    The idle dead timeouts are in place to cancel connections when
    file servers stop replying with real data.
    
    Change-Id: I44f77b78a52e7cac3a88a53830748b77f3ff4000
    Reviewed-on: http://gerrit.openafs.org/8828
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d1c6b7bc580e05f29f577bfdcdbd30c80cb1596b
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Feb 1 08:42:49 2013 -0500

    libafsrpc: avoid more concurrent libtool
    
    libtool gets confused if it is running two instances in the same
    directory, so make sure we build libafsrpc.a after the other things
    we already single-stream.
    
    Change-Id: I4c26b5707fdb73319563b063b45eb40b7ca1457e
    Reviewed-on: http://gerrit.openafs.org/9017
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1839cdbe268f4b19ac8e81ae78548f5c78e0c641
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jan 21 16:50:25 2013 -0500

    rx: atomic bit ops
    
    Add rx_atomic_test_bit, rx_atomic_set_bit, and rx_atomic_clear_bit
    to provide bitwise operations over atomic types. These allow the
    use of atomic flag variables.
    
    Uses native platform atomic operations wherever these are available,
    otherwise falls back to our 'standard' MUTEX based implementation.
    
    LICENSE BSD
    
    Change-Id: I161631b2408e85f757ff04bf831a631ccb1f930d
    Reviewed-on: http://gerrit.openafs.org/8936
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bf4cda8a5551719a005e4f927dfd1fb25dc2c219
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 25 03:25:46 2013 -0500

    Windows: rename 'rbytes' to 'rxbytes' for clarity
    
    Throughout cm_dcache.c, the various 'rbytes' represents the number
    of bytes to be read from the next rx_Read or rx_Readv call.
    Rename the variable to 'rxbytes' to improve clarity.
    
    Change-Id: Iffd8dd397c0e6ab4cc44019b7f937a80f5d492d2
    Reviewed-on: http://gerrit.openafs.org/8952
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 23fa416581568c2c58c6f2739139b9486ba8fa10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 3 14:11:31 2013 -0500

    Windows: Update Bulk I/O Descriptor
    
    Update the cm_bulkIO_t and associated functions such that
    the 'reserved' field is no longer a boolean indicated whether
    or not buffers have been reserved but instead becomes a count
    of the number of buffers that have been reserved.
    
    buf_TryReserveBuffers is modified to return an afs_uint64
    count of the number of buffers reserved instead of a boolean.
    
    cm_SetupStoreBIOD, cm_SetupFetchBIOD, and cm_ReleaseBIOD altered
    to store the reserved buffer count and use it when freeing the
    BIOD.
    
    Prior to this change it was not possible to reserve a count other
    than the number of buffers it takes to store one chunkSize of data.
    
    Change-Id: I78d71c77ffddd7f34278314fcfe9ee568b835a8b
    Reviewed-on: http://gerrit.openafs.org/8951
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8cb3e2eee81c3ec87f27fbfab18d6560490cb6d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 16 02:02:06 2012 -0500

    Windows: reformat
    
    Change-Id: Ifba4f0d54032bd9580c97e7a94d2550e49b1a1ac
    Reviewed-on: http://gerrit.openafs.org/8950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 87b7396e3106febd651ff60051550007716e8e49
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 6 06:41:47 2012 -0500

    Windows: handle CM_ERROR_RETRY in cm_Analyze()
    
    cm_Analyze() was not forcing a retry when it received CM_ERROR_RETRY.
    
    Change-Id: I5c392623a3917bebdd5cb9bd86b030395d7a7d48
    Reviewed-on: http://gerrit.openafs.org/8949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e297a00dfca21103672ab97145895cabf97112a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 15:58:06 2012 -0500

    Windows: Decrement Fcb OpenHandleCount while locked
    
    AFSCleanup performs tests on the Fcb Open Handle Count to determine
    when to perform final cleanup tasks on the last handle close.  The
    test is protected by holding the Fcb Resource.  If the Open Handle
    Count is decremented after dropping the Resource, it creates a
    race with other threads that might be blocked entering AFSCleanup
    to close their handle on the same object.
    
    Change-Id: I0403d8aeafd736484728a25c5c48ab28e8b8a804
    Reviewed-on: http://gerrit.openafs.org/8863
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af3f627e676c5b849b721c75a84a88fc6e54ec52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 16:12:21 2012 -0500

    Windows: AFSOpenRoot obtain VolumeRoot OpenReferenceCount earlier
    
    In AFSOpenRoot obtain the VolumeRoot reference count before performing
    any operations that require use of the VolumeRoot.  If the operations
    fail, release the reference count.
    
    Change-Id: I2e5a6574f87db858aa60d812c68f637266db529e
    Reviewed-on: http://gerrit.openafs.org/8862
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e6ec171caced9b7b3dd78c4931d7047bad07e1f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 16:10:14 2012 -0500

    Windows: RDR FILE Processing Tracing
    
    Additional/improved trace messaging for name not found and
    path not found errors.
    
    Change-Id: Ieedbee072c0f2c7050a33734fe16b4dfc0504cea
    Reviewed-on: http://gerrit.openafs.org/8861
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c0627f8620594191ce5901937175c5f1a93daec2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:57:31 2012 -0500

    Windows: DirOpenReferenceCount reorganizing completed
    
    This patchset completes the reorganizing of the DirOpenReferenceCount
    handling.  Now that every AFSCcb is given a refCount in AFSInitCcb()
    which is released in AFSRemoveCcb() it is possible to simplify some
    of the logic surrounding DirOpenReferenceCount handling across
    the AFSCommonCreate -> XXX -> AFSLocateNameEntry -> {MountPoint, Symlink}
    call sequences.
    
    Wherever possible releasing of DirOpenReferenceCounts occur in a
    functions try_exit block.  AFSCommonCreate() uses the new variables
    bReleaseDir and bReleaseParentDir to track whether these refcounts
    need to be released.  Additional comments document the decision
    making.
    
    There was at least one code path in AFSLocateNameEntry() where
    the DirOpenReferenceCount could be dropped when it should not have
    been. (pExistingDirNode == pDirNode).
    
    Change-Id: I266a902ad4c44b4b8e49258c2da4acd2df1f4476
    Reviewed-on: http://gerrit.openafs.org/8860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9f0f9d9ecea59b76c1794b405ab43eeb99edfe68
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:51:55 2012 -0500

    Windows: NameArray DIRENTRY_REF_COUNT logging
    
    Include the NameArray pointer in the AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING
    log messages generated from the NameArray management routines.  This
    permits correlation between the reference count changes and the
    NameArray to which they were associated.
    
    Change-Id: Ieb1b78dec35b91fe2b325ed9da760f56e98759c3
    Reviewed-on: http://gerrit.openafs.org/8859
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0ea2174f018ffff363da03e21b4f6c9f59263ed1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:49:43 2012 -0500

    Windows: AFSSetRenameInfo DIRENTRY_REF_COUNTING
    
    When logging the result of the DirOpenReferenceCount increment,
    use lCount instead of referencing the DirOpenReferenceCount field
    which could have been changed.
    
    Change-Id: I2227472bf903c347e505e4e1d8b60d35e176c0df
    Reviewed-on: http://gerrit.openafs.org/8858
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8bd8f371d73fafddb409cdcc98467632dc111125
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:44:27 2012 -0500

    Windows: AFSSetFileLinkInfo() DirOpenReferenceCount handling
    
    AFSSetFileLinkInfo() would leak a DirOpenReferenceCount when
    pNewTargetDirEntry is not NULL upon exit.  It also did not
    properly handle a STATUS_REPARSE response from AFSNotifyHardLink().
    The AFSInsertDirectoryNode() call should not be performed when
    the result is STATUS_REPARSE since that means the entry already
    exists.
    
    Change-Id: Ibbf497cb4c3c412e4f95cdffc6025f03f0e2ed8b
    Reviewed-on: http://gerrit.openafs.org/8857
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 479f35832515c3235865e0e286d0fd5e5e406d47
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:40:25 2012 -0500

    Windows: AFSNotifyHardLink() DirOpenReferenceCount handling
    
    This patchset consolidates the releasing of the DirOpenReferenceCount
    within AFSNotifyHardLink() into the try_exit block.  This clarifies
    the logic and avoids duplicate code blocks.
    
    Change-Id: I7bf7e5af55646ea570c76e36a673900521a3582c
    Reviewed-on: http://gerrit.openafs.org/8856
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5ef1aeb60f14ca3807a2855c23cb011e0fc046fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:36:44 2012 -0500

    Windows: AFSNotifyFileCreate() DirOpenReferenceCount handling
    
    This patchset consolidates the releasing of the DirOpenReferenceCount
    within AFSNotifyFileCreate() into the try_exit block.  This clarifies
    the logic and avoids duplicate code blocks.
    
    Change-Id: I82e964f579f9e8b6e095291ace0bbe2cdac5af60
    Reviewed-on: http://gerrit.openafs.org/8855
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f849fb1f6be4d4f8c34d150c8cdce1435a7125bf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:29:45 2012 -0500

    Windows: AFSClose() DirOpenReferenceCount handling
    
    Unless the caller of AFSRemoveCcb() steals the DirectoryCB object
    from the AFSCcb before calling AFSRemoveCcb(), AFSRemoveCcb() will
    release the reference count.
    
    In all but one case where the DirectoryCB must be accessed after
    the AFSCcb is destroyed AFSClose() can now let AFSRemoveCcb() do the
    work.
    
    Change-Id: I8d631d79b2465cd6f2e31444fd052270b078915c
    Reviewed-on: http://gerrit.openafs.org/8854
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit afdb0dac9201a235dc1fd35e52e43895979b4583
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:28:04 2012 -0500

    Windows: Fix AFSLocateNameEntry prototype
    
    The VolumeCB parameter is an IN/OUT parameter.
    
    Change-Id: I3eb4231e0d095cc98cc5847905d61d924d12e6f3
    Reviewed-on: http://gerrit.openafs.org/8853
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9b3c7b41926758ed9060664a3da93820054db550
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 29 00:17:59 2012 -0500

    Windows: AFSInitCcb redefinition
    
    The new AFSInitCcb() allocates its own DirOpenReferenceCount to
    associate with the AFSCcb.DirectoryCB.
    
    It also accepts the GrantedAccess mask and the FileAccess values
    which are stored in the AFSCcb.
    
    These changes simplify the callers and remove responsibility of
    tracking whether or not the DirOpenReferenceCount was successfully
    associated with the AFSCcb.
    
    The allocated DirOpenReferenceCount is always released by
    AFSRemoveCcb().
    
    Change-Id: Ib475310d934830974c553e0eeff96b114a56541b
    Reviewed-on: http://gerrit.openafs.org/8852
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 207890788079c82d81a1a7f2a0972ed165583798
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 27 14:41:29 2012 -0500

    Windows: AFSRemoveCcb cannot fail
    
    Since AFSRemoveCcb cannot fail, change the signature from returning
    NTSTATUS to void.
    
    Remove all error handling code.
    
    Change-Id: Ifa893a714f97cefb9bd122ab84508e5d36987e88
    Reviewed-on: http://gerrit.openafs.org/8851
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7f96084969d3082842a9575ee8ff7da8c52a0796
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Dec 22 07:54:54 2012 -0500

    Rework set_header_word macros
    
    Rework the set_header_word macros so that all compilers are
    happy:
    - the use of offsetof() is avoided, as it has an issue on IRIX
    when the result is not constant
    - the assignment within the macro is explicitely sequenced before
    the function call to avoid a gcc sequence-point warning
    
    Change-Id: I2355233e865b155f958379bfa2736fee19ef2680
    Reviewed-on: http://gerrit.openafs.org/8816
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 265a4b542b717c14e810202078c3ce83e4d851f5
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Wed Dec 12 10:37:47 2012 -0700

    NEWS updates for 1.6.2
    
    Add an entry for 1.6.2 with "in progress" instead of a date to hold the
    release notes for 1.6.2pre4 rather than creating separate entries for
    each release candidate. Users who track the release candidates can refer
    to the public announcements, and this will be cleaner when reading
    history later on.
    
    Change-Id: I625044e20836e072b62ffa738eca23f1d11813a5
    Reviewed-on: http://gerrit.openafs.org/8750
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 35ee4abecd2ed77eaa49e9748e4034ad9ad37edc
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Jan 28 15:53:36 2013 +0100

    CellServDB update 28 Jan 2013
    
    Change-Id: Icb622cc5480aeba108b9a11f55cfb44ab7f7c262
    Reviewed-on: http://gerrit.openafs.org/8982
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4197bbecd9d0b2ff0b8eaec75a0df9a64f713cf0
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.
    
    Change-Id: I214d8c762573b308d79fa7122a91d48ddd403eb9
    Reviewed-on: http://gerrit.openafs.org/7540
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9c07dd592a0b4c55266d63b26118ca23df6747a5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 23 22:50:26 2013 -0500

    Windows: Use %p for ptrs in redirector trace messages
    
    Pointers were being logged with %08lX which results in partial
    pointer values being logged on 64-bit systems.
    
    Change-Id: Ic11e5b607b3df41f145536dfcb02dfa22537ee77
    Reviewed-on: http://gerrit.openafs.org/8943
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1b63689b99b49d902dd5a3286b14dcccee88b4a2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 18 14:27:16 2013 -0600

    SOLARIS: Use vn_renamepath as early as possible
    
    Commit 6c509601 uses the vn_renamepath when we are building on Solaris
    11. However, some recent patch level of Solaris 10 (more recent than
    stock 10u10) has the same problem fixed by that commit, where
    vn_setpath takes an additional argument. So instead, just test for the
    existence of vn_renamepath itself, so we also use it on Solaris 10
    when we can.
    
    Thanks to Rich Sudlow for reporting this.
    
    Change-Id: Ic1c0437d2438c6e19b8fff8278ecda9b96bd020b
    Reviewed-on: http://gerrit.openafs.org/8920
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f6f145c90fbc236c350ddaa4d18b359be581496f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 22 15:41:38 2013 -0600

    aklog: Fix allow_weak_crypto warning
    
    It's _crypto, not _enctypes. The user will just be more confused than
    before if we tell them to do the wrong thing.
    
    Change-Id: Ib94b14efbd3c89d9f58fb8985326ee8691fd993b
    Reviewed-on: http://gerrit.openafs.org/8938
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cb9f25c448ca89e84abdefb9ddbff6937e1e7a7f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 18 22:54:03 2013 +0000

    rx: Remove warning inhibition on rx.c
    
    The CFLAGS_NOERROR rule for rx.c seems to have crept back in as
    part of the libtool changes. The LWP build of rx.c has never had
    warning inhibition on rx.c, and the inhibition in the pthread
    builds was removed by 327762071be3806c5d08be0218982c7027754756
    
    Change-Id: Icde3f0b6ee2f8ae0818a3dc722c6171284d6a9e6
    Reviewed-on: http://gerrit.openafs.org/8921
    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>

commit c57542ac9003aca7300801043dbbad8fd4072c40
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 18 17:05:12 2013 -0600

    FreeBSD 9.1: Warning fixes
    
    Fix warnings caused by some changes in FreeBSD 9.1:
    
     - afs_cmount takes a uint64_t for flags instead of an int
     - vn_rdwr takes a ssize_t* for resid instead of an int*
    
    [kaduk@mit.edu: rebase onto master and use fine-grained version checks]
    
    Change-Id: I03ab805a625790004a910df96b96aeda1121e2a7
    Reviewed-on: http://gerrit.openafs.org/8922
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4da5f0b498782094b979737f6bee6e0bd2f5cb79
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Dec 30 11:13:24 2012 +0000

    Windows: Police Library IOCTLs
    
    Ensure that the callers of the various library ioctls have
    the correct identity or privs.  All this policing is done in
    the fs (non unloadable) layer, and to ensure that the library
    layer cannot receive these calls directly we forbid non
    create Opens of the library control device.
    
    Change-Id: I2342fe10047642082adfbd1cc6aaee09cc91b520
    Reviewed-on: http://gerrit.openafs.org/8893
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd672fffe9bfef6bd872b008e7f3e3dd5f904a80
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Dec 28 15:00:15 2012 +0000

    Windows: Police the DEBUG TRACE ioctls
    
    When we get a IOCTL_AFS_GET_TRACE_BUFFER, a IOCTL_AFS_CONFIGURE_DEBUG_TRACE
    or a IOCTL_AFS_FORCE_CRASH, we check to see whether the caller is in the
    Administrators group and if it isn't we fail the request with ACCESS_DENIED.
    
    NOTE that this does not check whether the user has done the "run as admin"
    thing.  We actually need to determine which priviledges are appropriate to
    this action and use that rather than group membership to police these actions
    and this will be added in a later patch.  Meanwhile this represents a
    significant increment in security from previously.
    
    Change-Id: I0997e59a82735735674d8edee7a7a68d241e6ef8
    Reviewed-on: http://gerrit.openafs.org/8843
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cda1c006a7907f374fbaac9f298722f491fad296
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Jan 21 11:57:54 2013 -0500

    macos: update decode-panic
    
    fix a couple brain-os from the last round of updates, so it can
    actually decode panics.
    
    Change-Id: If39f1fb273a834d0618264d944387bd8b6751284
    Reviewed-on: http://gerrit.openafs.org/8929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit d72d0f4a81764d0cfc0f145185bbaa91b52873b2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 15:37:06 2013 -0600

    Improve libroken configure check
    
    It is not sufficient to just check if libroken is available; we need
    to check if the specific functionality we want is there. So, try to
    compile and link while referencing specific functions.
    
    As mentioned in the comments, testing every single function we use may
    not be practical, and we should perhaps just add functions to test as
    we find breakage. This commit tests rk_rename, which is missing in at
    least the Debian package heimdal-dev, version
    1.4.0~git20100726.dfsg.1-2+squeeze1.
    
    Change-Id: I0ac6c9aea1f8598bb1b1315544683b2403de5f69
    Reviewed-on: http://gerrit.openafs.org/8916
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 09c0484fd8878797957f7ff5936c542a0f6332c4
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.
    
    Change-Id: I3c5470afb7b04167173b41bb576a4a6ec14753f7
    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>

commit dfe06c96c2c228a5cb7aeb0f123b73660a57543c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 10 18:02:20 2012 -0500

    xstat: remove unused call info function
    
    Remove the dead function PrintCallInfo(), which was replaced
    by print_cmCallStats() long, long ago.
    
    Change-Id: Id67323d66cc498f77e55f173218547ad5d4223c7
    Reviewed-on: http://gerrit.openafs.org/8740
    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>

commit e130b342eb9aab06f6581f7cc9d5e64741ee3146
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 21 01:48:01 2013 -0700

    OpenBSD: Add support for missing routine memmove() in kernel.
    
    OpenBSD does not have the memmove() routine available to dynamically
    loaded modules in its kernel. It exists but is not exported so it
    winds up "mia" on dynamic load of the kernel module. It's needed for
    the Heimdal code that's been added into OpenAFS. This patch deals
    with this issue by creating an inline version in the OS-specific
    param.h file.
    
    Note that this issue does not seem to exist in the amd64 version of
    OpenBSD so (at least for now) tis fix is only applied to the i386
    version of the header files.
    
    Change-Id: Ide8a5ff49cb662e145fd93aefd8e3a12d7cbead5
    Reviewed-on: http://gerrit.openafs.org/8926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9dc72855992e559a9d2e9fd7621ac5a19079bcf9
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Sun Jan 20 23:27:02 2013 -0700

    OpenBSD 4.6/4.7: Define curproc for rx_atomic.h.
    
    For OpenBSD 4.6 and 4.7, the rx_atomic.h header ultimately resorts
    to the use of the default atomic routines that rely on MUTEX
    macros. Those macros require that 'curproc' be defined, which in
    turn requires the presence of the 'sys/proc.h' header. This patch
    inserts that header into the param.h file for those systems.
    
    Note that subsequent versions of OpenBSD have __sync_fetch_and_add
    and don't require 'curproc' as a result.
    
    Change-Id: I5131aed60631ef285eda92180ef65845165526b1
    Reviewed-on: http://gerrit.openafs.org/8925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d0479bbaf43900d6733c3f7517926ee9813c9610
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 9 21:22:27 2013 -0500

    Linux 3.8: vmtruncate removal
    
    vmtruncate had been deprecated for a while and has now been
    removed.  Do things the new way based on truncate_setsize.
    
    Change-Id: If584329f7330f44be3909e4c8b935e4fe5e2b536
    Reviewed-on: http://gerrit.openafs.org/8906
    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>

commit c6d27e322a8d3b352554650473a048235a9c763a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 9 19:26:54 2013 -0500

    Linux 3.8: session_keyring changes
    
    The session_keyring is now attached directly to the cred structure
    and the thread_group_cred structure (cred->tgcred) no longer exists.
    
    Adapt code that makes use of tgcred, and use the standard rcu based
    mechanism to update session_keyring.
    
    Change-Id: If4b88cbc7f9af6343353648837b28541a5088429
    Reviewed-on: http://gerrit.openafs.org/8905
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b61eac783e8c092cd4ba9f53a2b5ca7d43e08b1b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 18 22:40:03 2013 -0500

    Linux: setpag() may replace credentials
    
    For recent Linux. setpag() may replace the current process' cred
    structure with a new one.  This is not a problem for most callers,
    but in the case of processing a SetTokens2 pioctl with the setpag
    option, the new credentials should be used to determine the target
    for the token.
    
    Change-Id: I4441349b8a72eac7d56276abcdf243b2ffd21b98
    Reviewed-on: http://gerrit.openafs.org/8924
    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>

commit 07d83cd473146a0db9c2ed521b6fa6ba607b0d40
Author: Dan van der Ster <daniel.vanderster@cern.ch>
Date:   Fri Dec 14 11:08:44 2012 +0100

    rxperf: print achieved transfer rate
    
    Prints the client transfer rate in appropriate units (kbit/s, Mbit/s, or Gbit/s).
    
    Change-Id: I5632185953c5d2bfc962af71152734d842cfb021
    Reviewed-on: http://gerrit.openafs.org/8758
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 13111d25408cf6765d1b67bc3767614c8963cfde
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jan 11 13:03:02 2013 -0500

    Catch up to FreeBSD KPI for vfs_cmount
    
    Almost a year ago, mckusick changed the VFS KPI/KBI for the cmount
    VFS operation, making the flags argument a 64-bit quantity.
    Introduce appropriate conditionals for our prototype of afs_cmount
    for the change on the 10.x and 9.x branches.
    
    Change-Id: Ia0b8759f027e64f98f087daabbf1a51030171f21
    Reviewed-on: http://gerrit.openafs.org/8907
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 04ddecc1f2827463edf22857f9b19910ccc25e98
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 16 21:16:31 2013 -0500

    LINUX: fix array indexing issue in memory statistics
    
    The comma is a sequence point and i gets incremented and then used.
    This results in writing past the end of the array by one (and failing
    to initialize the first element as well).
    
    Potential fix for RT ticket 131566.
    
    Change-Id: Iabe7e78961d1f5348bca75ca5b9e6e29d8554957
    Reviewed-on: http://gerrit.openafs.org/8914
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a911185b314b111c13aaf5230669f69864582897
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 16:35:09 2013 -0600

    ubik: Remove bare global ubik_epochTime
    
    Commit e4ac552a moved ubik_epochTime into a global version_globals
    struct. However, it missed a references to the existing
    ubik_epochTime value it was moving, as well as its declaration. Remove
    the declaration, and move the reference to use the version_globals
    structure.
    
    Change-Id: I2552ba850f286b2b93f3c1b696d993a7cfc074c8
    Reviewed-on: http://gerrit.openafs.org/8918
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7858cfd4f5b8ca4d028043bde00b02849ffa2990
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 17 16:37:56 2013 -0600

    ubik: Trivial formatting fix
    
    Change-Id: Ie409dc5dc7fe63cc72c97666146e7019e5db086e
    Reviewed-on: http://gerrit.openafs.org/8917
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 684d1ec6ba4bb7e96404328d02be5d070ba63478
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
    
    Change-Id: I96858c2d12a9ee3270d89a64fcf772affe93e9eb
    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>

commit 7dbb35a89f42743ff0a29bc9822b94141a2a8323
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 10 12:01:38 2012 -0500

    doc: dynamic mount requires dynroot and fakestat
    
    Document that dynamic mount (/afs/.:mount) requires
    dynroot and fakestat on non-linux unix.
    
    Change-Id: I947edd30d510c7cc6840bc2cc74d0ef07b692afb
    Reviewed-on: http://gerrit.openafs.org/8739
    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>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 08a4b05c27964dd06d7922c134dc2dccc062b379
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 8 17:50:57 2013 -0600

    SOLARIS: Avoid open count cleanup for Solaris 11
    
    The comments in here no longer apply to Solaris, as of OpenSolaris
    commit 11736:63a134e1f09c by Donghai Qiao (4492533 Filesystems may
    need VOP_CLOSE() for executables following a VOP_OPEN()). This means
    that this workaround should no longer be necessary for any Solaris 11
    release, any illumos release, and anything else based off of
    OpenSolaris. So, stop doing it.
    
    Thanks to Frank Batschulat for pointing this out, and providing all of
    the details.
    
    Change-Id: I54ed545e3b9d858fbffc762246ae805cd9c63a64
    Reviewed-on: http://gerrit.openafs.org/8895
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6c50960174f35d75fd50956e248318a9c826fca1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 8 17:41:21 2013 -0600

    SOLARIS: Use vn_renamepath when available
    
    In Solaris 11.1, the signature of vn_setpath changes; it gains an
    extra boolean_t argument called 'force'. Instead of trying to adapt to
    it, call vn_renamepath() instead, which will do the correct thing and
    call vn_setpath &co for us. vn_renamepath has existed since Solaris 10
    Update 8, and is in all releases of Solaris 11. Only call it in
    Solaris 11, since it makes the ifdefs easier, and there are no
    problems with calling vn_setpath on Solaris 10.
    
    Thanks to Frank Batschulat for all of the relevant information.
    
    Change-Id: Iad4ada70abbb5ec2289c30149ab4c571fa8a68ff
    Reviewed-on: http://gerrit.openafs.org/8894
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c981ef17613e59d5b96dd4cd9f5ee023c2e5750b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jan 7 15:05:40 2013 -0500

    Fix build for separate objdirs
    
    In particular, setting UNTHREADED=${srcdir}/dir and then referring
    to ${srcdir}/${UNTHREADED} is a recipe for sadness.
    
    Fix the libtool invocation to correctly find .la.sym files in ${srcdir}.
    
    Also add some missing header dependencies that are hidden when building
    in the src tree.
    
    Change-Id: I1b663141c549cc4b90e46327c3fb31dc80294eaa
    Reviewed-on: http://gerrit.openafs.org/8891
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3ee5e20170b4c42f6fccabaf70e28d14e35fae53
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Dec 28 15:43:52 2012 +0000

    Windows: Restrict the Service IOCTLS to the service process
    
    When the service starts the system we save it's PID and when we see a
    IOCTL_AFS_INITIALIZE_REDIRECTOR_DEVICE,
    IOCTL_AFS_PROCESS_IRP_REQUEST, IOCTL_AFS_PROCESS_IRP_RESULT,
    IOCTL_AFS_SYSNAME_NOTIFICATION or IOCTL_AFS_SYSNAME_NOTIFICATION
    ioctl we check that the calling process has that PID.
    
    Change-Id: Ie66676bba4b4e4d858979babe9c0af4c53ea0143
    Reviewed-on: http://gerrit.openafs.org/8844
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8a17568fb4fd3f77a3b9d043bbe49e992bca8266
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 5 13:37:51 2013 -0500

    correct whitespace errors in readme files
    
    Fix the trailing whitespace and leading spaces
    before tabs in the readme files.
    
    Change-Id: If20e528ddb28f82e4d3d1b1f03dec8670f914afc
    Reviewed-on: http://gerrit.openafs.org/8877
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5138c07abd076e0fa90d70a175a3a822fb127ef5
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Dec 28 14:40:40 2012 +0000

    Windows: Only allow the local system account to speak to the redirector
    
    When we get the IOCTL_AFS_INITIALIZE_CONTROL_DEVICE IOCTL we check to
    see whether the calling process is the LOCAL_SYSTEM_SID (the one that
    services run at if they are not running as a specified SID).  If we
    are not then the initialize fails ACCESS_DENIED.
    
    If the debug build ONLY, setting the AFS_DBG_DISABLE_SYSTEM_SID_CHECK
    bit in OpenAFSDebugFlags circumvents this check, allowing interactive
    debugging.
    
    Existing code stops two processes (or even handles) from trying to
    initialize the system.
    
    Change-Id: I2ef8ca3a0df908acba38b435178d0509e96d6114
    Reviewed-on: http://gerrit.openafs.org/8842
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8e8e3c26b87d78b92d96ba91d58ee59d774ebcb5
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:45:59 2013 -0500

    libadmin/vos/vosutils.c: mask out sign-extension
    
    Right-shifting a signed int by 24 bits can produce a value outside of
    0..0xff due to sign-extension.  As a result, in AddressMatch(), the
    first bPattern!=255 check can never succeed.  Fix by masking with 255
    before comparison.
    
    Change-Id: Idb0b4c176ff120c7cf0e03a935ebfdca51084bbd
    Reviewed-on: http://gerrit.openafs.org/8884
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bd850e5b980d34236ee98d16b9717860b63af306
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:45:46 2013 -0500

    lwp/iomgr.c: avoid off-by-one out-of-bounds access
    
    Avoid accessing sigDelivered[NSIG] and sigEvents[NSIG], which are
    out-of-bounds by one.
    
    Change-Id: Id6a1798cba901987b8103f287e0869b31040b45b
    Reviewed-on: http://gerrit.openafs.org/8883
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4d6967e0b0a0628deb1dd9d210de84779d41f856
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:45:33 2013 -0500

    butm/file_tm.c: check for null pointer before dereferencing
    
    Move the null pointer check to before the pointer is dereferenced.
    
    Change-Id: I9983dae8802706c1efeff8a507a001b649572686
    Reviewed-on: http://gerrit.openafs.org/8882
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1b3749335165a0d6ff7882cea4ee3e16f2055b4e
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:45:21 2013 -0500

    auth/authcon.c: fix likely mistake
    
    It seems likely the original developer intended to check
    *scIndex==RX_SECIDX_NULL rather than scIndex==RX_SECIDX_NULL.
    
    Change-Id: I8a33d3cb177a9212917613581957073392b08314
    Reviewed-on: http://gerrit.openafs.org/8881
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>

commit d9cc9c9dee9ad0213ddd39174e81d01b9707937b
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:45:11 2013 -0500

    tools/dumpscan/pathname.c: properly check strdup() return value
    
    Fix the check for strdup() running out of memory.
    
    Change-Id: I4e2d83036095c7b292ee4c386d8ed7b16ec75067
    Reviewed-on: http://gerrit.openafs.org/8880
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0e83cde60e6e91fbe20ffac0f0a77afe8497d950
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:44:55 2013 -0500

    ubik/udebug.c, vol/vol-info.c: check array index before dereferencing
    
    Avoid out-of-bounds array accesses by first checking that the index
    is in-bounds, and then dereferencing; not the other way around.
    
    Change-Id: Ib36a28ca6181a7a7fd602de45cb5a15fad099a44
    Reviewed-on: http://gerrit.openafs.org/8879
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5c5515a5c3b34f9a115b29378e123c779c138f51
Author: Nickolai Zeldovich <nickolai@csail.mit.edu>
Date:   Sat Jan 5 23:44:33 2013 -0500

    volser/vol_split.c: do not dereference known-NULL pointer
    
    Avoid dereferencing a pointer that we just checked is NULL when printing
    an error message.
    
    Change-Id: Ibc89883977e7044cab2a844d97b7f0f7d236f4ea
    Reviewed-on: http://gerrit.openafs.org/8878
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4042667388406e540c8a6546031d514793ffc8c4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jan 5 10:40:42 2013 -0500

    spelling corrections in readme files
    
    Fix spelling errors in readme files.
    
    Change-Id: I62348372d5e226f2b2a3a7732b4a5f8c7331b2ff
    Reviewed-on: http://gerrit.openafs.org/8876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 81dd4878e7a71b5acfd7a6e6f9be26cd6ab28972
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 4 14:18:40 2013 -0500

    SOLARIS: Look for ncurses in ncurses/ncurses.h
    
    Solaris 11+ has ncurses.h in ncurses/ncurses.h. Look for it there.
    
    Without this, on Solaris 11.1 we will detect libncurses automatically
    (because it lives in /usr/lib), but not ncurses.h (since it is in
    ncurses/ncurses.h, not ncurses.h). So, we will fall back to curses.h,
    but will try to link to libncurses, which, as you might guess, fails
    with various undefined symbols.
    
    Change-Id: Ia174e2a3c97318d6db2a48a6098569aede93522c
    Reviewed-on: http://gerrit.openafs.org/8874
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 936c2b02bf6fbeb3844c539665392ae89eb652fe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 4 13:47:35 2013 -0500

    SOLARIS: Avoid areq and auid conflict
    
    On new Solaris (11.1), nfs/auth.h #defines areq and auid to access
    some elements inside the nfsauth_arg structure more easily. We have a
    lot of functions that use those names as parameters, so the compiler
    throws an error (since we have a decl like "struct vrequest
    *areq_u.areq").
    
    We cannot avoid including that header, since we need some NFS-related
    headers for the NFS xlator, and they pull in nfs/auth.h
    unconditionally. So, work around this by undefining areq and auid
    afterwards.
    
    Change-Id: Ifd139917dfe7a1221941351f7873fe183c617159
    Reviewed-on: http://gerrit.openafs.org/8873
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 004e9f25634d76be58b5a60dfc3c9a058d8bcd26
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.
    
    Change-Id: I0e5395bac695257f66ba0cd58695a59ebdf56431
    Reviewed-on: http://gerrit.openafs.org/8864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 19f424ecc26b02b210a3ba54b93846dddba14ede
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.
    
    Change-Id: I0cbe2c5c0a65ece0485b8c2d5a5f92eeb53725fe
    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>

commit 0a98596cd34152c13e44ff81249d89d47b5baee4
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jan 3 14:09:02 2013 -0800

    Make MIN/MAX code in rx/rx_packet.h more readable
    
    Eventually all MIN/MAX code in the tree should be handled uniformly,
    but until that day, make this chunk of it more readable and
    document the odd exception case for Linux kernel builds.
    
    Change-Id: I4afe5d99b63010df831943e6b82ff89733b08066
    Reviewed-on: http://gerrit.openafs.org/8871
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fe2bae1c83a6d050e0afb88bad8fe02beae343e7
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jan 3 13:57:02 2013 -0800

    Ensure MIN/MAX are defined in userspace builds of rx
    
    The include of <sys/param.h> was removed from rx_packet.h on
    Linux 2.6 and later to fix kernel builds with 3.7, which doesn't
    have that header in kernel space.  However, while kernel space
    always provides MIN/MAX defines, userspace relied on the header.
    On at least powerpc, no other include chain includes sys/param.h,
    so MIN/MAX were left undefined.
    
    Fix this by only skipping the include of <sys/param.h> on Linux
    if building in kernel mode.
    
    Change-Id: Icd2edd645ef4d18d626de8ce8b81ac07f37b1f21
    Reviewed-on: http://gerrit.openafs.org/8870
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2e5ef04e24c89e846af7aae7da57a0b0f5e200c3
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jan 3 09:13:26 2013 -0800

    Fix spelling error (retreive for retrieve) in strings
    
    Caught by Lintian analysis of the compiled binaries.
    
    Change-Id: I5d53d596d30ad8fea5d3f8f0116122a8c1aa808c
    Reviewed-on: http://gerrit.openafs.org/8865
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f2f7ba50ed61a6187814d633327a8cacda0f656f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 28 13:16:49 2012 -0500

    viced: initInterfaceAddr_r regardless of ICBS code
    
    Currently we only call initInterfaceAddr_r for a host if a call to
    RXAFS_InitCallBackState3 succeeds. However, this leaves the host
    without a host->interface structure, which indicates that the host
    does not support UUIDs, and is represented by just a single host,port
    pair.
    
    But this is not correct; the host probably does have the relevant UUID
    associated with it, but it is just not responding. So, with the
    current code, we create a uuid-less host structure for a host that
    probably has a uuid; that host structure will probably never be used,
    and will just get deleted later.
    
    So instead, always call initInterfaceAdd_r. Do it before the ICBS
    call, so the host will be findable via UUID as early as possible. If
    the ICBS call fails, the host will be marked as 'down' later on.
    
    Change-Id: I3a000af90773acbdd66fc22718e5e742619839a1
    Reviewed-on: http://gerrit.openafs.org/8847
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7b642173c7cd7b6b7130214c1a940501736abbf0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 28 12:58:33 2012 -0500

    viced: Avoid dangling uuid hash table entry
    
    Currently we add a given host to the uuid hash table, then call
    RXAFS_InitCallBackState3, and then only initialize the host->interface
    structure if the ICBS3 call succeeded.
    
    If the ICBS3 call fails, we have added a host to the uuid hash table,
    but the host structure does not contain that uuid. If the host is then
    deleted, we will not remove the host from the uuid hash table (since
    host->interface is NULL), and so the uuid hash table entry will still
    point to the freed host. If that host is then later looked up via that
    uuid, we can reference a freed host, which can cause all kinds of
    undefined behavior.
    
    So instead, add the host to the uuid hash table at the same time that
    we initialize the host->interface structure, inside
    initInterfaceAddr_r.
    
    FIXES 131277
    
    Change-Id: Ib2ca82cc498877ec896ab1806cf675f1271ec214
    Reviewed-on: http://gerrit.openafs.org/8846
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 89d85da6044a82eee34ef5c424921dad12b2ae7a
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Dec 28 00:46:12 2012 -0500

    vol: fix everything to use volumeid type
    
    use one type for volumeid, not 3. kill VolId, and stop
    using afs_uint32 (and a few times, afs_int32)
    
    Change-Id: Ibcbd09b5a24d8720b02a02f926e6f59dc0f529aa
    Reviewed-on: http://gerrit.openafs.org/8845
    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>

commit c67d29c676b02dc069d3c39f803b5ef6f7dbadca
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Dec 21 06:44:18 2012 -0500

    vol: use header access macros everywhere
    
    a couple direct references to diskstuff have crept in. push them
    back out
    
    Change-Id: I66c7a157aeb326dee17012d551c0f499bae35bc7
    Reviewed-on: http://gerrit.openafs.org/8807
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2f087dc434f62cfa7888434427eaac6803b563ab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 28 16:49:20 2012 -0500

    afs: Add a little more info on SLVC loop panic
    
    If we panic due to a perceived infinite loop, log a little more info
    about our loop iterations.
    
    Change-Id: Ifbb6d613aa482dbc33f7ba13dc959709e1688f15
    Reviewed-on: http://gerrit.openafs.org/8850
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1cee097b5bf44b0d8273712f0074b541f0f3f96e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 28 16:39:15 2012 -0500

    afs: Avoid unnecessary panic in ShakeLooseVCaches
    
    afs_vcount can change as we traverse the loop. If we successfully
    evict something from the cache, afs_vcount goes down, but our loop
    variable 'i' stays incremented. For example, if afs_vcount was 100 at
    the start of the loop and we kicked out 50 things, by the time we
    traverse the entire VLRU, we could have iterated over the loop 100
    times, but afs_vcount would still be just at 50.
    
    So, remember what afs_vcount was at the start of the loop, and use
    that for our loop limit. Note that vcaches cannot be added to the VLRU
    during the execution of this loop, since we're just kicking stuff out.
    And nobody else can modify the VLRU but us, since we're holding
    afs_xvcache, and if we drop afs_xvcache, we restart the whole eviction
    process.
    
    The bug here was introduced by commit bc6dd950, but usually did not
    affect Linux until commit 696db866.
    
    FIXES 131553
    
    Change-Id: If30026b5b2101559e704d0e1961effe14beb915f
    Reviewed-on: http://gerrit.openafs.org/8849
    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>

commit 36959b50e513d4e9d4d2be93965eec2537943de5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 28 16:36:42 2012 -0500

    afs: Consolidate ShakeLooseVCaches retry init
    
    Don't duplicate the initialization code in effectively three separate
    places. Just goto the top of the loop again.
    
    This should incur no functional change; it's just reorganization.
    
    Change-Id: I40548919a5fa9c4e472a4de0eada8d213d034097
    Reviewed-on: http://gerrit.openafs.org/8848
    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>

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

    LINUX: Avoid infinite d_invalidate loop
    
    In afs_linux_lookup, we try to invalidate as many dentry aliases as we
    can. However, a successful d_invalidate() against a dentry does not
    necessarily mean that the dentry will not show up in a later
    d_find_alias() call. This is because d_invalidate() does not remove
    the dentry from the d_alias list, but just removes it from the hash
    chain. dput() is what removes it from the d_alias list when all of the
    references go away. If a reference is grabbed between our
    d_invalidate() and dput() calls, the dentry will stay on the d_alias
    list.
    
    We will then retry the loop, and we will get the same dentry back from
    d_find_alias(). Running d_invalidate() on an unhashed dentry is a
    no-op, so we don't change anything in the loop. We will retry again
    and again, looping forever and spinning the CPU.
    
    To avoid this, just call d_prune_aliases instead, instead of
    repeatedly looping through the alias list ourselves. 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.
    
    Change-Id: I8a09a922d07f2c4971269f3c681c748c33bf8e3d
    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>

commit 8bfce8f2787a512cfb24e3360435600abe5904d0
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Dec 20 15:54:57 2012 -0500

    vol: use defines for header name length
    
    instead of randomly hardcoding numbers in several places,
    use macros
    
    Change-Id: I153cbe74d0d297496fb39449c4a71ec81d5637c5
    Reviewed-on: http://gerrit.openafs.org/8806
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5afe7a882b0bb90a515e505d9ffce4f644633f06
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Nov 8 18:40:57 2012 -0500

    Add configure option to not install kauth
    
    Per http://www.openafs.org/pages/no-more-des.html the kaserver
    suite of utilities is deprecated and is not supposed to be built
    anymore in this post-1.6 world.
    Not building them at all requires some effort, but not installing
    them is pretty easy.  Do the easy part for now, and leave the hard
    parts for a follow-up commit.
    
    Change-Id: I1c400a7398b8708e7c9dc6613cd183b9b67e7a7f
    Reviewed-on: http://gerrit.openafs.org/8457
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 752514bd1c8eaae487d25116dc59853552f77d12
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 18 18:49:49 2012 -0600

    viced: Sanity check file link count during CoW
    
    A few ihandle bugs in the past have caused the CopyOnWrite code to
    open cached file handles for files which have been deleted. When we
    CoW, both of the files we're dealing with had better actually be on
    disk, so bail out and flag an error if either of them appear unlinked.
    
    FIXES 131530
    
    Change-Id: I478871bb1b9b43fc0161bb4a255dd7b77d2a28ae
    Reviewed-on: http://gerrit.openafs.org/8839
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9cf9a0e978ece2b0afb8ba5947455f307a424cab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 21 12:30:24 2012 -0600

    ihandle: Add FDH_ISUNLINKED
    
    Add the FDH_ISUNLINKED functionality to ihandle. This lets the caller
    know if the file for the underlying file descriptor has been deleted
    out from under us. This is useful for sanity checks in some callers.
    
    Change-Id: I59d4fffba853cfa1b900a08b7b43134c29bbf844
    Reviewed-on: http://gerrit.openafs.org/8838
    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>

commit a04071e7940b26dc2a29ac3f0952b10321e7b786
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 21 11:11:00 2012 +0000

    ihandle: Indent ifdef maze
    
    According to the mesoamerican long count calendar, ifdef ladders will
    destroy the world in 2012.
    
    Change-Id: Ie9b16d600e4743eba3d934f8c3cf4d299abbf7e3
    Reviewed-on: http://gerrit.openafs.org/8837
    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>

commit eb938bd18d9806f3529b7a2cbccdce5340c0e39f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 14 15:05:53 2012 -0600

    volser: Check vnode length on dump
    
    Commit aadf69eabb1962496fa93745ab560a5b48cacd61 adds length checks on
    vnodes during fileserver read/write operations. Do the same thing when
    we dump volume data from the volserver, to ensure that we don't
    transmit incorrect data e.g. to other RO sites when releasing.
    
    FIXES 131530
    
    Change-Id: I662489d0466d38af74a9604a2c97a4a5c72525c7
    Reviewed-on: http://gerrit.openafs.org/8836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 75d9c88281b686822a71ffabe76cb4aebd35d0ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 24 02:40:08 2012 -0500

    Windows: GetResourceParent processing for \\afs
    
    When the input name is \\afs the parent must be an empty
    NETRESOURCE structure.  The null lpRemoteName field represents
    no parent.
    
    Change-Id: I779f1c3357ac74aa76e6d1ed0b755841513ac260
    Reviewed-on: http://gerrit.openafs.org/8831
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5f43eb2919e20eaa18f8252f47f1ae0eceb246f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 16:59:57 2012 -0500

    Windows: Add SERVERHASINLINEBULK macros
    
    Implement SERVERHASINLINEBULK and SET_SERVERHASINLINEBULK macros.
    Apply them to cm_vnodeops.c.
    
    Change-Id: Ib9e3ed7f745a7ad3acf03ae918d8d1ca406f19c0
    Reviewed-on: http://gerrit.openafs.org/8830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9054392cdc750a17854103a87dfb12b445b8bba1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 16:58:25 2012 -0500

    Windows: move SERVERHAS64BIT macros to cm_conn.h
    
    Move the SERVERHAS64BIT and SETSERVERHASNO64BIT macros to
    cm_conn.h from cm_dcache.c.
    
    Change-Id: I1e1a332a3bd968645912b4e0caa0d793ef96358c
    Reviewed-on: http://gerrit.openafs.org/8829
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b74c778bfd70c6db65e9c6d686b2482ae6a72bbe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 16:47:36 2012 -0500

    Windows: Fix smb_GetCallerAccess prototype
    
    to supress warnings.
    
    Change-Id: I7d6597457dfe3c99fe7b62621dbad5ffd2f4f0bd
    Reviewed-on: http://gerrit.openafs.org/8827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fc85e66d453c0f066f6cfa48222d20e18ea9b316
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 23 23:15:59 2012 -0500

    Windows: SetRenameInfo do not reference deleted name
    
    After the Target Dirctory CB has been deleted, it is not
    safe to reference the FileName component.  Use the uniTargetName
    in the error log message.
    
    Change-Id: I83e6db62ffa0cf59d666066cae8f32e93d63d815
    Reviewed-on: http://gerrit.openafs.org/8825
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit df4d971ec1a014826929dfeac017fb24d37ac38a
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Sat Dec 22 22:54:20 2012 +0100

    Remove AFSLore from wiki URLs
    
    The URL of the openafs wiki doesn't contain "AFSLore" anymore. Although
    these old URLs still work, replace them to point users to the correct
    address in the first place. Also be consistent and always use a
    trailing /.
    
    Change-Id: I9d22694249c47331b4a5cd4f02f8815742c4b86f
    Reviewed-on: http://gerrit.openafs.org/8819
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 93d674d702ab1bd452b139f5ba628db2c082f536
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Dec 23 14:48:14 2012 +0000

    Windows: more warnings on kernel builds
    
    This is the same sort of changes a per git commit 8a4094e9ffa5d0f96501817c8ffd3cc8dc7ec62b
    but this time for the fs tree.  Again most of the work is UNREFERENCED_PARAMETER, initialize
    variables where the compiler lacks the smarts and remove unused locals.
    
    Change-Id: Id67246e8aaee292cb6f02833e9960f9545c55101
    Reviewed-on: http://gerrit.openafs.org/8823
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fef0776df4f358c58cc0a6b5f3396573dd1a2d2a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 11:45:56 2012 -0500

    Windows: Remove unused AFSVolumeWorkerThread
    
    The currently implmentation does all maintenance work in the
    AFSPrimaryVolumeWorkerThread which is associated with the
    AFSGlobalRoot volume object.   Remove AFSVolumeWorkerThread as
    it is unused.
    
    Change-Id: I2174833093b436430fc46f056e23bb272df6388f
    Reviewed-on: http://gerrit.openafs.org/8793
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1726aec2b2291c4b1e89e21fa0f5a27318671a6f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 19 09:31:06 2012 -0500

    Windows: Wait for all worker threads to exit
    
    The signalling mechanism for waking and shutting down worker threads
    relies upon a per-queue event.  Therefore it is not guaranteed that
    the worker thread that AFSShutdown*Thread() is attempting to wait
    for is in fact the thread that will be woken and exit.  Modify the
    code to loop waking threads until the one that is being waited for
    does in fact exit.
    
    Subsequent calls to AFSShutdown*Thread() will bypass the wait if
    the thread has already exited.
    
    Change-Id: I4555df062ac5a6161b5c55f4598d1bd34e144a2b
    Reviewed-on: http://gerrit.openafs.org/8783
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8a4094e9ffa5d0f96501817c8ffd3cc8dc7ec62b
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Dec 21 16:17:34 2012 +0000

    Windows: warnings on kernel builds
    
    I turned some new warning (by virtue of a more modern compiler) and
    threw up a few hundred.  This checked supresses them:
    
    - Mostly remove variables which are never used
    - Make unused parameters UNREFERENCED_PARAMETER
    - Initialize a couple of variables which were either forgotton or
      the compiler wasn't smart enough to notice were initialized.
    
    Also strip out some extraneous tabs which had crept in.
    
    Change-Id: Iee261ad8a7338bb5d8fde2d7229bbbbbd5af39ae
    Reviewed-on: http://gerrit.openafs.org/8812
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cf150252b688dff0224f32be66d88347d1d94b37
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Dec 18 09:04:15 2012 -0500

    macos: avoid leaking iocount on synthetic fsevents
    
    in certain cases we could leak an iocount. clean up even if
    our event couldn't be run
    
    Change-Id: I3a69f637c38478ac5f20a42af7db7f8a0ba7539a
    Reviewed-on: http://gerrit.openafs.org/8777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 986a8541518fb03a69cf5ece2055cb9cd50bda60
Author: Michael Laß <lass@mail.uni-paderborn.de>
Date:   Fri Dec 14 17:06:30 2012 +0100

    Update configure help msg to match actual defaults
    
    The defaults for LINUX_KERNEL_PATH and LINUX_KERNEL_BUILD in
    acinclude.m4 were changed in 2cfd611, 94ff565 and 3f9d982 without updating
    the output of ./configure --help. Change the description of
    linux-kernel-headers and linux-kernel-build to show the correct defaults.
    
    Change-Id: I41331f4d48a555e291a45ca56e788bc418c064d3
    Reviewed-on: http://gerrit.openafs.org/8759
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3f9d982ec25aa5f9cf32a1268d6883a9afa70b12
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sat Dec 15 15:36:24 2012 +0100

    Linux: Restructure kernel header detection
    
    As of kernel 3.7, version.h has moved, and hence utsrelease.h was
    no longer found. Loop over candidate directories and locations
    within, and look for the files we're actually after.
    
    FIXES 131525
    
    Change-Id: I686212a283b9e0ce769b1351e3cb75e08f4b110c
    Reviewed-on: http://gerrit.openafs.org/8761
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 23092acce5d2d71a5ad6402119973c7c2c2f5e89
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 20 15:00:15 2012 -0600

    ubik: Do not count votes from error'd connections
    
    If the given connection has a connection-wide error on it, the vote we
    got from that site is probably not valid, and we could easily be
    interpreting an error code as a vote time. So instead, treat the host
    as if we got a network error from it.
    
    Change-Id: Ib9253bf6c24493be1c0d16b9252deecec4e43c2a
    Reviewed-on: http://gerrit.openafs.org/8487
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fb4ae03f8d34af499d1c2960fa1345074b5a2f79
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 15 12:26:18 2012 -0500

    Windows: AFSLocateNameEntry Evaluate Symlink Target
    
    Instead of validating the symlink target if both the TargetFID
    and the Target Name fields are undefined, perform the validating
    if either of them are undefined.
    
    Change-Id: I609bfbf5fe574350580bd54a0b03becb82a2b45e
    Reviewed-on: http://gerrit.openafs.org/8765
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1dea312bd4974bc3abcdf2aa527ef4c3ca1e283b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 15 12:23:58 2012 -0500

    Windows: AFSLocateNameEntry Absolute Symlink Cell resolution
    
    During AFSLocateNameEntry processing of an absolute symlink the
    component being searched for in the AFSGlobalRoot volume may not
    be found.  In this case, use AFSCheckCell() to query the service
    to resolve the name.  If the AFSGlobalRoot happens to be the
    Freelance Root Volume then the service can resolve it even though
    it is not present in the directory listing.
    
    Change-Id: Ib6cfce6de5e5e9f619808e6ddbfffac00c596a23
    Reviewed-on: http://gerrit.openafs.org/8764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3bddf7905198dc8f99ae5ab6195b51e5a9bc2e7e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 15 12:19:31 2012 -0500

    Windows: cm_NameI Freelance Eval of Absolute Symlinks
    
    In cm_NameI() it is possible that a symlink to an absolute path
    is reached for which the component after the 'mountRoot' is not
    present in the mountRoot directory.  If the mountRoot is the
    Freelance root.volume then it is appropriate to attempt automatic
    cell resolution.
    
    Change-Id: I806c6d4332e5e7b76a9ce2d02977d0caef612e3c
    Reviewed-on: http://gerrit.openafs.org/8763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0d9ffd712af25c1ca2bc92c428a599c495bc08dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 15 12:18:52 2012 -0500

    Windows: Set Symlink mpDV after reading target string
    
    When a cm_scache object, symlink, has its mountPointString field
    successfully populated by cm_GetData(), the mpDV field must be
    assigned the current dataVersion value in order to prevent unnecessary
    queries of the mountPointString from the file server.
    
    Change-Id: I62b2341459c680d531fd9f4de64dfcc87801ec3e
    Reviewed-on: http://gerrit.openafs.org/8762
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aaa217b079b426a405e1364bf39276b13cd5f353
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 13 23:33:54 2012 -0500

    Windows: If no inlinebulkstat, set the flag correctly
    
    If RXAFS_InlineBulkStatus fails with RXGEN_OPCODE,
    cm_SetServerNoInlineBulk must be called with the 'no' parameter
    set to True.   Otherwise, thE cm_server object will not remember
    that the RPc is not supported.
    
    This is important for avoiding unnecessary timeouts on IBM AFS 3.6
    servers.
    
    Change-Id: Ia43b5fbd8e81d4c23ad5741e334831b5d6a4e9ce
    Reviewed-on: http://gerrit.openafs.org/8756
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e03c535da1ace4e878ee1f6985d68259d518f12
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 13 13:27:21 2012 -0500

    Windows: *ParseIoctlPath path has trailing slash
    
    Make it explicit that a pioctl input path that ends in a trailing
    slash is consistently interpretted as a directory.
    
      \\afs\cell\mp\dir\  == \\afs\cell\mp\dir\.
    
    Change-Id: Id55638157cd69297d1a072ae04f94b968ea03b30
    Reviewed-on: http://gerrit.openafs.org/8755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 83ccb62012d7b3b696dd48e05feb8adeb203463a
Author: Arne Wiebalck <Arne.Wiebalck@cern.ch>
Date:   Thu Dec 6 16:23:05 2012 +0100

    Update 'vos shadow' man page
    
    Change the 'vos shadow' man page to say that updating the
    VLDB with shadow volumes does only work if the VLDB entries
    for the corresponding source volumes are deleted first.
    
    Change-Id: I2764776b7a03346b5b2809f796d1deed0c32933b
    Reviewed-on: http://gerrit.openafs.org/8652
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Dan van der Ster <daniel.vanderster@cern.ch>
    Tested-by: Dan van der Ster <daniel.vanderster@cern.ch>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit b11ac53fff26f35f3615b61e2e451a359eb9cdc1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 9 18:23:59 2012 -0500

    Windows: Release Notes updates
    
    document adobe reader protected mode issues
    
    Explain Stats, Volumes, and Cells registry values
    
    many other minor improvements.
    
    Change-Id: I0305fdf12d7e3d2160bab4a10d9030df32afa1ad
    Reviewed-on: http://gerrit.openafs.org/8733
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0fc14fde0f7c1b36df61a60c718485ec54f414f6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 9 18:13:01 2012 -0500

    Windows: Correct RDR Subsystem value overlap
    
    AFS_SUBSYSTEM_LOAD_LIBRARY and AFS_SUBSYSTEM_PROCESS_PROCESSING
    were both assigned value 0x00010000.  Ensure that all values are
    unique and match the documentation.
    
    Change-Id: I0e5e52cc84d8b6069ce6f0cd4f431f38fe8e09ac
    Reviewed-on: http://gerrit.openafs.org/8732
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b454f2ef0ea4efae0d703947ba67d4fd00545685
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 9 01:18:03 2012 -0500

    Windows: buf_usedCount can be 64-bit
    
    If buf_usedCount is 64-bit, must use 64-bit Interlocked operations.
    Define buf_IncrementUsedCount() and buf_DecrementUsedCount() macros
    to wrap the 32-bit and 64-bit Interlocked operations as appropriate.
    
    Change-Id: Icbcb4d20530cc33b43e3c58c3ce74251b12c1e93
    Reviewed-on: http://gerrit.openafs.org/8729
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 107d7ace8b83af10c18c84b94851f5105261225f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 9 00:31:58 2012 -0500

    Windows: RDR Dynamic root Freelance only
    
    commit 6c708d1415b27bf8f2804f3407e4fbe2f7bf1009 does not restrict
    the AFS redirector dynamic root detection only to the Freelance
    volume root directory.  This logic should not apply to arbitrary
    mount point target paths.
    
    Change-Id: Iedde41937f602895b1d5922453c93fae4a5bf5d8
    Reviewed-on: http://gerrit.openafs.org/8728
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 34f51936859c57b8b23047ff352100005c4efa12
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 14:24:12 2012 -0500

    Windows: AFSProcessOpen !MmFlush release SectionObjectResource
    
    Restructure the code around the MmFlushImageSection() call in
    AFSProcessOpen() to ensure that the SectionObjectResource is
    released even when the flush fails.
    
    Change-Id: Ifd6b25640df796f64fba46b920fdababa5224637
    Reviewed-on: http://gerrit.openafs.org/8713
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 339723e78eafec71576f04ed83e2d4417f6919a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 23:24:44 2012 -0500

    Windows: AFSCachedWrite reset LastServerFlush when Forced
    
    If the ForceFlush parameter to AFSCachedWrite is set to TRUE,
    the Fcb->Specific.File.LastServerFlush value must be reset to
    ensure that the AFSPrimaryVolumeWorkerThread will trigger an
    extent flush on its next pass.  The LastServerFlush value will
    not be reset by AFSNonCachedWrite() when called as a result of
    a CcFlushCache() call as it appears to be PagingIo.
    
    Change-Id: I72c368e05f30f04b13b2c6d098bdb1da578ac82c
    Reviewed-on: http://gerrit.openafs.org/8717
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd0f4bcd06c2283bc4ebbd3b44ed0f0e47b73d03
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 23:20:57 2012 -0500

    Windows: Periodic Worker CleanupFcb to Flush Dirty Extents
    
    The AFSPrimaryVolumeWorkerThread must not check the ObjectInformationCB
    reference count when determining whether or not to call AFSCleanupFcb().
    One of the tasks of AFSCleanupFcb() is to flush dirty extents to the
    service.
    
    Change-Id: Id1821ec16393952d27520e73e290e520966b1d75
    Reviewed-on: http://gerrit.openafs.org/8716
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b30c9dcfacb3785360c422c19ef2cc0eea151291
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 14:59:22 2012 -0500

    Windows: SetDispositionInfo !MmFlush SectionObjectResource
    
    In AFSSetDispositionInfo() if MmFlushImageSection() fails,
    be sure to release the SectionObjectResource.
    
    Change-Id: Ic0a31627369d0fa055f78e5949314398f58569e0
    Reviewed-on: http://gerrit.openafs.org/8714
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 42c404ba5d46699865892fb424c9ed514ca66db3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 6 08:16:01 2012 -0500

    Windows: SetVolumeState is not an invalidation
    
    Volume state notifications (online, offline, unknown) from the
    afsd_service.exe to the afs redirector are not invalidation
    events.  The verify flag should not be set, the extents should
    not be purged, etc.  Just set or clear the AFS_VOLUME_FLAGS_OFFLINE.
    
    Change-Id: I046468e614c836981db228aa142d2c8bdb03a9ad
    Reviewed-on: http://gerrit.openafs.org/8651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5b2cc290f8e991b152411168cabd1c9e7f31deb4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Dec 5 18:23:34 2012 -0500

    cache bypass: fix afs_bypass_copy_page memcpy oops
    
    The two memory copy cases were inverted when the code was
    refactored, causing an oops when cache bypass is enabled.
    
    Change-Id: I30a9a51b7280883fb9b7bbeebbabe464c139b714
    Reviewed-on: http://gerrit.openafs.org/8617
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a774fa8a6acf44b19e566c2da1bb416ef5d2983c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 5 13:07:08 2012 -0500

    Windows: AFSSetRenameInfo Drop TreeLocks MmForceSectionClosed
    
    If the Target directory TreeLock is held across the
    MmForceSectionClosed() call in AFSSetRenameInfo() Trend Micro's
    TmPreFlt!TmpQueryFullName call can deadlock in its worker thread
    when AFSCommonCreate() attempts to AFSLocateNameEntry() which
    requires shared access to the TreeLock for the search.
    
    Reorganize the Target Entry Exists case to call MmForceSectionClosed()
    after the directory entry has been deleted.  That should throw
    a monkey wrench into Trend Micro's attempt to scan it.
    
    Change-Id: Ib8d4777fde257c0f2c93e2577caa6542c1b08c79
    Reviewed-on: http://gerrit.openafs.org/8607
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b338928bd4663a50963b24d38d337cd1c9f4b87e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 4 16:57:36 2012 -0500

    Windows: Prevent lock inversion SetFileRenameInfo
    
    SetFileRenameInfo calls MmForceSectionClosed() which can call
    back to the afs redirector via the Cleanup processing.  AFSCleanup()
    requires an exclusive hold of Fcb->Resource so we must obtain the
    lock first in AFSSetFileRenameInfo() prior to obtaining the
    SectionObjectResource.
    
    Change-Id: If679eeb107f04153a26659971b7f2455eef97c9a
    Reviewed-on: http://gerrit.openafs.org/8603
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ec6c7c1ce46b9a63f5e79071a25f12c94aed798e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 4 16:56:21 2012 -0500

    Windows: addition debug for --validate-cache
    
    Print the value of the header size, the magic value and the
    dirty flag.
    
    Fail check if header size and magic do not match current
    version of afsd_service.exe
    
    Change-Id: I19c9a374a5f83dd9fcb37990c4dfbb97cf7f74a0
    Reviewed-on: http://gerrit.openafs.org/8602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2c7e2007342a86006199039408b7acbb63267235
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 4 13:27:59 2012 -0500

    Windows: AFSProcessDFSLink to Dos Device
    
    Support msdfs links to <drive>:\<path>
    
    Map them to IOMgr as \??\<drive>:\<path>
    
    Change-Id: I110dd7e857d4b7984e75611787d2135bc97aaa39
    Reviewed-on: http://gerrit.openafs.org/8601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5616b7e2f91c9cdac1f026b852b8db923de11a10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 3 13:39:18 2012 -0500

    Windows: fs getcalleraccess
    
    Implement VIOC_GETCALLERACCESS and associated 'fs getcalleraccess'
    for Windows.  Varies from the Unix implementation in the following
    ways:
    
     * getcalleraccess supports the -literal switch to permit
       querying rights of symlinks and mount points
    
     * multiple files can be provided on a single command line
    
    The VIOC_GETCALLERACCESS pioctl returns the user access rights
    and the anyuser access rights.
    
    Change-Id: I75f636956bbafcc91144b44bd2d7729b8643605c
    Reviewed-on: http://gerrit.openafs.org/8598
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5adf1476b1c95ab61f7944f751928e5f47720478
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 24 11:44:16 2012 -0500

    Windows: AFSDevControl print control if exception
    
    Change-Id: If94ba4f265d943ec8e4852c3d8c88d59cef3ef9b
    Reviewed-on: http://gerrit.openafs.org/8599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 81212b18b3411b538c4a1bb94732948902005beb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 24 19:47:01 2012 -0500

    rx: RX_INVALID_OPERATION abort unknown service only
    
    Patchset 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 introduced the
    sending of RX_INVALID_OPERATION aborts for connection attempts
    requesting a service not offered by the rx peer.  By sending aborts
    for all failures of rxi_FindConnection() the set of incoming packets
    that are responded to is broader than simply those with non-matching
    serviceIds.  This patchset restricts the transmission of
    RX_INVALID_OPERATION aborts only to the explicit case in which
    rxi_FindConnection() attempted to find a service and either failed
    to find a match or couldn't apply the requested security class/level
    to that service.
    
    Change-Id: Ie18798531e542e54878209ccd2fbbcd24f31abb6
    Reviewed-on: http://gerrit.openafs.org/8512
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 399abf159b1418dea38daf166f9d55072042909c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 14:54:10 2012 -0600

    rx: Add rx_GetNetworkError
    
    Add the function rx_GetNetworkError to rx, to allow callers to
    retrieve some information about the last ICMP error received for a
    connection's peer. This can be useful if a call on that connection was
    recently ended due to ICMP errors.
    
    Change-Id: I7c507185f6a4ab986c0119f67cdaa4e50e447175
    Reviewed-on: http://gerrit.openafs.org/8451
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 696db8667d12b1c5639515840f69c9a46d2b866d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 28 15:12:12 2012 -0600

    afs: Apply VLRU safety check for Linux too
    
    This invariant should apply to all platforms, not just those with
    dynamic vcaches. Since this prevents an infinite loop if the list os
    corrupt or something, having this around everywhere seems useful. So,
    drop the check for afsd_dynamic_vcaches.
    
    Change-Id: I90e438eb33f40762346d1c5a7138ed127fdcdcc6
    Reviewed-on: http://gerrit.openafs.org/8555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bc6dd95016c63d0742698d902aebf73c01162c24
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 16 14:18:32 2012 -0600

    afs: Fix VLRU traversal sanity check
    
    On non-Linux, the number of vcaches in the VLRU can easily exceed
    afs_maxvcount, since we allocate new vcaches when we run out. So,
    assume we only have afs_vcount vcaches on the VLRU, instead of
    assuming we have at most afs_maxvcount vcaches.
    
    Change-Id: I3bec8f795b1f6e086ddb490400616c5b42d8b8be
    Reviewed-on: http://gerrit.openafs.org/8471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4d4668b1618a2bd5b94ed4620464787f42d11cab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 20 14:18:47 2012 -0600

    ubik: Try to detect VOTE_Beacon errors
    
    Currently the way ubik dbsites vote for each other is via the "return
    value" of the Beacon VOTE RPC. Since this is really an Rx abort, this
    can easily collide with actual errors on the wire, such as rxkad
    errors.
    
    Try to detect these by detecting vote times that are very different
    than the current timestamp (more than an hour in the future or past),
    and treat it like a network error.
    
    If we do not do this, a single site reporting an error can cause us to
    never reach quorum, since we calculate our sync site expiration based
    on the oldest 'yes' vote, which for most known Rx aborts will be far
    in the past.
    
    Change-Id: I28cf4c520bbbe9e98eb55947476c8785d3c8ec0b
    Reviewed-on: http://gerrit.openafs.org/8486
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7c8373c8c27abdfa316c6526aa14654caed3e7f8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Nov 20 08:49:39 2012 -0500

    tools: example sysvmq audit reader
    
    A user contributed sysvmq audit log example reader. Shows
    how to read the sysvmq audit log using core only perl modules.
    
    Change-Id: I39adb62150df2bcb812ca4d06b193b08d7e95c21
    Reviewed-on: http://gerrit.openafs.org/8485
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 595a614d76d84be602c07d519738556b7f9ebf2a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 5 23:47:06 2012 -0600

    afs_open: Deal with afs_GetDCache returning NULL
    
    afs_open was assuming afs_GetDCache always returned non-NULL. Make it
    deal with a NULL return.
    
    Change-Id: Ib0593de27d65294726a4a40b3faa4687bb6fc5fe
    Reviewed-on: http://gerrit.openafs.org/8408
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 274daabae35a5f2501469257be9592d0c2e49a02
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Nov 28 15:32:45 2012 -0500

    config: provide inlines to make 64bit ints printable
    
    same idea as the 32 bit versions. make it so you can print something
    the compiler would otherwise stand in the way of.
    
    Change-Id: Iec9d2efe7ecb74c13406dacf854d13fe61075092
    Reviewed-on: http://gerrit.openafs.org/8552
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dbd801d5853dcbc0d9754e64729cc2b4041dfd9c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 14:58:11 2012 -0600

    afs: log ICMP errors for downed servers
    
    When we notice a server is unreachable, log the ICMP error we got for
    that server, if any.
    
    Change-Id: I9dcd40bf45fefa6679eac92a5d03d44eceac0816
    Reviewed-on: http://gerrit.openafs.org/8410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2d4745244d970b1c26809ab87546d307492d088b
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Nov 19 15:54:35 2012 -0500

    macos: decode mountain lion panics
    
    security hardening in the mountain lion kernel
    screws up our decoder. apple doesn't bother to document
    what to do, but after some head smashing, here we are.
    
    Change-Id: I1f8411e6fa81baab065acc5cdfe7ef3dea10a077
    Reviewed-on: http://gerrit.openafs.org/8476
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cbce3193b0cac9073b0bf5369b3b4994feaa0b4e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 3 10:01:24 2012 -0500

    Windows: shuffle trace messages for clarity
    
    Some of the trace messages for VolumeReferenceLocks and
    VolumeReferenceCounts were in odd places.  Move them for consistency and
    clarity.
    
    Change-Id: I3cf95de0670af8855b622f8a83d2f0b69dc851df
    Reviewed-on: http://gerrit.openafs.org/8581
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e58eaae182dc877c0818b3cc5e8ea408606863f0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 3 09:11:14 2012 -0500

    Windows: Handle AFSLocateNameEntry() STATUS_REPARSE
    
    AFSLocateNameEntry() can return STATUS_REPARSE in addition to
    NTSTATUS failure codes.  As in the case of an NTSTATUS code other
    than STATUS_OBJECT_NAME_NOT_FOUND, the reference counts are decremented in
    AFSLocateNameEntry() if STATUS_REPARSE is returned.
    
    Change-Id: I7cab5be2ae304be47cb14abb4f6952e4e0e65efe
    Reviewed-on: http://gerrit.openafs.org/8580
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f25a061b7192531b54933088e4ac8adcde22961c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 1 07:54:59 2012 -0500

    Windows: Decr. used buf count flush and deleted files
    
    When flushing the cache (fs flush*) or when deleting files or
    when a file server reported error indicates that the buffer is
    bad, decrement the used cache count so "fs getcacheparms" now
    indicates a floating value based upon the number of buffers
    containing potentially valid data.
    
    Change-Id: I1bfb7b64ff36832526a02e9374ab87baf679f100
    Reviewed-on: http://gerrit.openafs.org/8579
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 66a5703463baad5739b6d47ed12d0a3a7b0c489a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 1 07:30:57 2012 -0500

    Windows: Restore "fs getcacheparms" used space
    
    buf_Init() adds all of the available buffers to the free queue
    at startup and cm_data.buf_freeCount tracks the number of items
    in the free queue.  So it cannot be used as a method of reporting
    how much of the cache space has been used.   Add a new buf_usedCount
    parameter to the cm_memmap data to track the number of cache blocks
    that have been used up to the total number of allocated blocks.
    buf_usedCount can then be used in cm_IoctlGetCacheParms to restore
    the original behavior.
    
    Change-Id: I3ecdfdbda1c423551b7e7691243696e0f1553edc
    Reviewed-on: http://gerrit.openafs.org/8578
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit be27d61961cb490e3f1033d9e0943d2655b73b8a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 29 03:14:42 2012 -0500

    Windows: QFileInfo only Verify Entry when necessary
    
    During a QueryFileInformation request only call AFSVerifyEntry()
    when the AFS_OBJECT_FLAGS_VERIFY flag is set on the ObjectInformationCB.
    The AFS_OBJECT_FLAGS_VERIFY flag is set in response to an invalidation
    event from the cache manager.  Let the cache manager decide when our
    data is no longer consistent with the file server.
    
    Change-Id: I299597577f9fb13d008e20aff7a404ad6c2185b5
    Reviewed-on: http://gerrit.openafs.org/8568
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f499babad036b9efc4c5f0aab252cfadcfb0c22f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 29 03:13:11 2012 -0500

    Windows: Dir Enum only validate when necessary
    
    During a directory enumeration, do not call AFSValidateEntry()
    for every DirectoryCB.  Instead only do so when the
    AFS_OBJECT_FLAGS_VERIFY is set on the ObjectInformationCB.
    
    Change-Id: I5653cbf8703da03aeaee24c0c7bf8817e66b8f9e
    Reviewed-on: http://gerrit.openafs.org/8567
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 957601aeab7050413c4e0c9994e2c263a1b8374d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 29 03:02:48 2012 -0500

    Windows: AFSTearDownFcbExtents count extents properly
    
    Fcb->Specific.File.ExtentsCount cannot be used directly
    in the for loop conditional because each call to AFSFreeExtent()
    decrements the value.  Instead, save the original value to
    'lFcbExtentCount' and use that in the loop conditional.
    
    Change-Id: I7b2dc0fbd1cbf0eec2f627f8caad8c973c3437c7
    Reviewed-on: http://gerrit.openafs.org/8566
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit da6c8d57287392c0e7d0c512dab5bcf019421f81
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 29 03:00:48 2012 -0500

    Windows: AFSCleanup calls AFSDeleteFcbExtents
    
    When the hard link count of the file drops to zero, call
    AFSDeleteFcbExtents() instead of AFSTearDownFcbExtents()
    because the file has been deleted and the extents have been
    implicitly released.
    
    Change-Id: I4198ece075a23850699ae188943d06df7bf4c668
    Reviewed-on: http://gerrit.openafs.org/8565
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 037d568de530603299b1dd3be6fd623ca81c25c5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 29 02:58:46 2012 -0500

    Windows: AFSDeleteFcbExtents()
    
    Similar to AFSTearDownFcbExtents() but does not release the
    extents to afsd_service.exe.  It is intended for use when the
    FCB's extents are implicitly released as the result of file
    deletion.
    
    Change-Id: If9b09f3190db84eb194475161247fb375cd3dc66
    Reviewed-on: http://gerrit.openafs.org/8564
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dc87e01c704d4cb16c26368597b383dc738d4d25
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 28 02:48:48 2012 -0500

    Windows: Fcb sectionObjectResource
    
    Add a SectionObjectResource to the AFS_FCB structure.  This lock
    replaces the Fcb.Resource in protecting the SectionObjectPointers.
    
    The new resource is being added to assist in avoiding deadlocks
    caused by Trend Micro and perhaps other AV products when
    CcPurgeCacheSection() is called while holding the Fcb.Resource
    which is required in AFSProcessOpen().
    
    Change-Id: I738c175512e97e1ec153be52ab874f16389d4c95
    Reviewed-on: http://gerrit.openafs.org/8563
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6c708d1415b27bf8f2804f3407e4fbe2f7bf1009
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 27 14:26:21 2012 -0500

    Windows: Implement dynamic cell detection for RDR
    
    RDR_EvaluateNodeByName knew how to parse \\afs\foo#bar\ notation
    but couldn't perform a lookup for a cell that wasn't already
    in the root directory.  Add support for autorecognition.
    
    Change-Id: I8c2bacd034afa507d551da83dfc1958bd849a3a1
    Reviewed-on: http://gerrit.openafs.org/8562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a428033bfe78c00dad84af9c14645723344297cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 27 00:35:20 2012 -0500

    Windows: PrimaryVolumeWorkerThread Garbage Collect Fcb
    
    Revert commit cecd99abd3837ef820d78fb15e450c8688b0f39b.  Failing
    to garbage collect the FCB from the ObjectInformationCB at the
    earliest opportunity opens the door to a deadlock with Trend Micro's
    anti-virus driver.  Trend Micro attempts to make a copy of the
    file data each time a CcPurgeCacheSection() is performed on the
    FCB.  If during AFSValidateEntry or AFSVerifyEntry a DirectoryCB->
    ObjectInformationCB->FCB is discovered which has a non-NULL
    SectionObjectPointers.DataSectionObject and the data version in
    the DirEnumEntryCB differs from the ObjectInformationCB, a
    CcPurgeCacheSection() call is performed while holding the
    FCB->NPFcb->Resource exclusively.  Trend Micro will deadlock the
    thread making the CcPurgeCacheSection() call when it attempts
    to open the file in one of its worker threads.
    
    Change-Id: I912f22ab3695ad8faf1edcdbf2d50ff9a76277db
    Reviewed-on: http://gerrit.openafs.org/8529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8e68e08901b0ad003ad1e5114a155bfac83bdd83
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 24 20:10:49 2012 -0500

    rx: set abort client_initiated flag to match direction
    
    In a recent incident involving packet reflection back to the
    file server, aborts were being sent by the file server in response
    to a server sent packet.  The aborts sent in response also failed
    to set the CLIENT_INITIATED flag in the header which permitted the
    the actual client to confuse the Abort as applying to its client
    initiated connection.
    
    in rxi_SendRawAbort, set the CLIENT_INITIATED flag to the opposite
    of the packet the abort is being sent in response to.
    
    Thanks to Chaskiel Grundman for the suggestion.
    
    Change-Id: Iea4189f022ac050e2e005e80c427f1c02c2251db
    Reviewed-on: http://gerrit.openafs.org/8513
    Reviewed-by: Chaskiel Grundman <cg2v@andrew.cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f2fdd3040cf6fabcae3ff889d13349abdaaf9e0c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 4 17:06:41 2012 +0000

    rx: Make rxevent_Put NULL the event ptr being put
    
    Change rxevent_Put so that it takes a pointer to the event being
    put, and NULLs that pointer. This removes a lot of duplicate code
    in callers, as well as making it harder to reuse a discarded event.
    
    Change-Id: Ib7a51f01687e08ea3dced5932ec9ec27797a784a
    Reviewed-on: http://gerrit.openafs.org/8540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f40199327a8753d8350b5fefedc2bb556b8b00a6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 22 08:41:51 2012 +0000

    rx: Return success value when cancelling an event
    
    When cancelling an event that holds reference counts, we need
    to know whether the attempt to cancel the event was successful
    or not, otherwise references can be double put when the
    cancellation races with the event firing. Take the follwing
    
    Thread A                        Event Thread
    =========                       ============
    
                                    ... event fired ...
    MUTEX_ENTER(&obj->lock);
    if (obj->event) {
        rxevent_Cancel(&obj->event);
        obj_put(&obj->refcnt);
    }
    MUTEX_EXIT(&obj->lock)
                                    MUTEX_ENTER(&obj->lock);
                                    if (event == obj->event)
                                        rxevent_Put(&obj->event);
                                    ...
                                    MUTEX_EXIT(&obj->lock);
                                    obj_put(&obj->refcnt);
    
    Holding obj->lock doesn't control whether the event is fired or
    not. Only putting the reference if the event being fired matches
    that in obj doesn't help - it just leaks a reference in a different
    race.
    
    So, make rxevent_Cancel return true if it did actually cancel the
    event, and false if the event has already been fired. This means
    that Thread A can become
    
    MUTEX_ENTER(&obj->lock);
    if (rxevent_Cancel(&obj->event)
        obj_put(&obj->refcnt);
    MUTEX_EXIT(&obj->lock)
    
    In the example above, rxevent_Cancel would return false.
    
    Change-Id: I48e012774c97c9d9588b00687428a32795be2b37
    Reviewed-on: http://gerrit.openafs.org/8539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 20034a815750beff262d49b37fba225c72dd0ab1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Nov 3 23:15:50 2012 +0000

    rx: Don't treat calls specially in event package
    
    Many different structures can be passed to the rxevent package as
    data. Don't give calls special treatment by making rxevent aware of
    how to release their reference counts when an event is cancelled.
    
    Update all of the callers of rxevent_Cancel to use the new arguments,
    and where they were cancelling functions with calls as parameters add
    the appropriate CALL_RELE directives. In many cases, this has led to
    new helper functions to cancel particular call-based events.
    
    Change-Id: Ic02778e48fd950e8850b77bd3c076c235453274d
    Reviewed-on: http://gerrit.openafs.org/8538
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4abcf4a7d1ae0719594d38add9c8ad80a0643f8d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 1 17:44:07 2012 +0000

    rx: Remove unused origPeer parameter to FindPeer
    
    rxi_FindPeer took an 'origPeer' parameter, which was originally
    there as an optimisation to decrement a reference count when replacing
    a peer on a connection structure. However, we don't do that any more,
    and the origPeer parameter is never used.
    
    Just remove it to simplify this bit of code.
    
    Change-Id: I49127f25dd151082f4e508a28e8cab232e251ed1
    Reviewed-on: http://gerrit.openafs.org/8537
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5245d15c2305bf4edf2758f01c97264323db6583
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 15 18:21:27 2012 +0000

    rx: Remove unused timeoutEvent
    
    The timeoutEvent pointer in the rx_call structure is unused. Remove
    it to reduce confusion about which events can hold call reference
    counts.
    
    Change-Id: Ide625fe0af608cc434c33188e642750979a8db21
    Reviewed-on: http://gerrit.openafs.org/8536
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e9c91feace886de4640f84aa35b592b03fb61809
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Nov 9 23:20:42 2012 +0000

    rx: CheckBusy doesn't drop conn_call_lock
    
    As rxi_CheckBusy doesn't drop the conn_call_lock when it checks for
    busy call slots, it doesn't need to deal with someone replacing a
    call behind its back.
    
    Change-Id: I7cc64150e32e29b0a497cded55cd187b5bb78ad1
    Reviewed-on: http://gerrit.openafs.org/8535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit b5876a60f7406cdf67a4802b5b6fdf772a303eff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 26 11:25:43 2012 -0500

    Windows: RefCounts, Asserts, and Trace Logging
    
    Rename DirectoryCB.OpenReferenceCount to DirOpenReferenceCount
    to distinguish it from the FCB.OpenReferenceCount.  This makes
    it easier to search for instances within an editor or debugger.
    
    Ensure that all InterlockedIncrement and InterlockedDecrement
    calls on a reference count field assign their value to a local
    'lCount' variable.  Ensure that 'lCount' is used within any
    trace log messages and conditionals.
    
    Add ASSERT( lCount >= 0) after all reference count decrements
    in order to catch underflows.
    
    Change conditionals from (RefCount == 0) to (RefCount <= 0) so
    that object destruction can occur when there has been an underflow.
    This is important in release builds for which ASSERT() is a no-op.
    
    Change-Id: I1d10076464c68745ede117eef2f728f70a0003c1
    Reviewed-on: http://gerrit.openafs.org/8522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 438b0d8a239068c58065f7a552d45b8077f027dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 26 11:16:56 2012 -0500

    Windows: AFSClose File FCB/CCB cleanup before DirCB
    
    Move the processing of FCB and CCB cleanup ahead of the
    DirectoryCB cleanup.  It is not safe to dereference the
    Ccb->DirectoryCB until after the CCB has been destroyed.
    
    Change-Id: I74ec824ea523fe1d575169472c65da6ffe87ce5e
    Reviewed-on: http://gerrit.openafs.org/8521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 71ef2663da36f50a7eabe6b70971714a8f5f5dd5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 25 18:13:53 2012 -0500

    Windows: AFSDeleteObjectInfo not on volume roots
    
    The VolumeCB embeds an ObjectInformationCB structure which must
    not be freed by calling AFSDeleteObjectInfo().  Add an assert
    in the checked build and return without destroying the object
    in the free build.
    
    Change-Id: I77c92fbe0d10252785f4796153d9d824ff074d4c
    Reviewed-on: http://gerrit.openafs.org/8520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 282e2bdd7f34f26073e003a84a85cb4f8b59f0cd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 26 07:10:05 2012 -0500

    Windows: Missing DirEntry Ref incr AFSLocateName
    
    In the STATUS_NAME_COLLISION error path the DirEntry refcnt must
    be incremented because it will be decremented before exit from
    AFSLocateName().
    
    Change-Id: I7cf976afa8e62d0d9803549b64a5d0dae27cd9b1
    Reviewed-on: http://gerrit.openafs.org/8518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fcfd1f99d8dd7a83bf09330dfd3b1fc6cc8b11c0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 26 01:18:19 2012 -0500

    Windows: AFSLocateNameEntry move InsertNextEntry
    
    In AFSLocateNameEntry, move the InsertNextEntry to name array
    call from before the directory entry DirOpenReferenceCount is
    incremented to afterwards.  This permits InsertNextEntry() to
    consistently assert based upon the DirOpenReferenceCount value.
    
    Change-Id: I3c65f5360650739f6d75b7e657ae5cdea4c14aa4
    Reviewed-on: http://gerrit.openafs.org/8517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5a09e6ab2b1913f438eae113f41a7ef9ea92387d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 25 18:06:17 2012 -0500

    Windows: AFSInvalidateCache volume refcounts
    
    AFSInvalidateCache failed to release the volume reference count
    when FileId is the volume root.   In the non-root case it released
    it too early permitting a race with AFSPrimaryVolumeWorkerThread
    calling AFSRemoveVolume().
    
    Change-Id: I12b756e5a543a2ef791d716f660df1f4a7ae2327
    Reviewed-on: http://gerrit.openafs.org/8516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ded88c8f8d1dc6758344b708d2aa55f3b29651c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 24 14:36:46 2012 -0500

    Windows: Fail RX_INVALID_OPERATION errors
    
    RX_INVALID_OPERATION errors were not resulting in an eventual
    failure and the RPC was being repeated indefinitely.  There were
    three subtle problems:
    
     1. RX_INVALID_OPERATION was being processed by cm_Analyze()
        resulting in a retry in all cases.  Even those where no
        connp was passed in as NULL.  connp == NULL implies that
        no server could be obtained so the RPC was not issued on
        this pass.  As a result there should be no retry.
    
     2. RX_INVALID_OPERATION was mapped to CM_ERROR_UNKNOWN which
        is not an error that is reported to the AFS redirector.
    
     3. RDR_BkgFetch was setting CM_REQ_NORETRY and permitting
        the retries to be handled by the cm_daemon threads.  However,
        CM_ERROR_UNKNOWN was not treated as a fatal error by cm_Daemon.
    
    Address the failures in the following ways:
    
     A. cm_Analyze no longer retries calls which did not take place.
    
     B. Create a new CM_ERROR_INVAL_NET_RESP error for RX_INVALID_OPERATION
        which is translated to the Win32 STATUS_INVALID_NETWORK_RESPONSE
        error.  This is now returned to the AFS redirector and treated
        as a fatal error.
    
     C. RDR_BkgFetch no longer queues tasks to cm_Daemon with the
        CM_REQ_NORETRY flag set.
    
    Change-Id: I1eba0e83fbbe5726f43f667ddb67ced8c011853d
    Reviewed-on: http://gerrit.openafs.org/8510
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 988f66c5c3bd4c4f23bfa53e69a52ed52c4e3ab9
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
    
    Change-Id: I8cf47640ceb068762eb42f1b70eb88aa9c4a060a
    Reviewed-on: http://gerrit.openafs.org/8557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e4c9b448c9e62c7f66f9feb4831a15f7ee073c25
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Nov 9 23:11:16 2012 +0000

    rx: Add a no-op afs_kcondvar_t for LWP
    
    Remove the need to protect afs_kcondvar_t with RX_ENABLE_LOCKS, by
    typedefing it as an int in rx_lwp.c. This is identical to what we
    already do with afs_kmutex_t, and should let us get rid of some more
    preprocessor spaghetti.
    
    Change-Id: Ica6114585a68abde691ceee47d92d7f4e230a9bc
    Reviewed-on: http://gerrit.openafs.org/8534
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 866c05825c9964aa92740bcb0f20f26b451e65ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 23:30:41 2012 -0600

    rx: Lock call for KeepAliveOn/KeepAliveOff
    
    rxi_KeepAliveOn/Off expect the call lock to be held after the call has
    been initialized. So, hold it in the rx_KeepAliveOn/Off callers.
    
    Change-Id: Ic2e96853bc9553e97f62e4502a5c92bbb28c63a2
    Reviewed-on: http://gerrit.openafs.org/8463
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 22da9ec896f651f066317a85268620a7d3ac46fa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 18:27:11 2012 -0600

    afs: Handle VNOSERVICE as a timeout
    
    For whatever reason, the fileserver uses VNOSERVICE to indicate that
    an Rx call was killed due to an idledead timeout. It is not used for
    any volume errors, so treat it like the idle dead error codes.
    
    Change-Id: I432cbb8ae011d5269ac8df31261d11204687fcf6
    Reviewed-on: http://gerrit.openafs.org/8462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9ed02a628afd700a0e3c47ac92fa9c89d0827301
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 27 00:16:58 2012 -0500

    Windows: cm_LookupInternal obtain type of target
    
    cm_LookupInternal needs to return the target of a mount point
    if the matching directory entry is a mount point.  Therefore, if
    the target type is unknown the status information must be queried.
    
    Change-Id: Ifc37897531766f59e2517650ed7050cba50d6819
    Reviewed-on: http://gerrit.openafs.org/8528
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 11c8a64ffc10addb5fe7b68b78666cd91edccfb9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 27 00:08:30 2012 -0500

    Windows: cm_GetNewSCache init mpDV to BAD
    
    when allocatiing a new cm_scache_t object the mpDataVersion
    field must be initialized to CM_SCACHE_BAD_VERSION.  Zero is
    a valid data version for a mount point or symlink.
    
    Change-Id: If455b35cf01454ddf4a5b0a8adcc6e39d71b33d0
    Reviewed-on: http://gerrit.openafs.org/8527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit db57dfd3798f09e77b5c49bed304cacc0c448f91
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 18:15:21 2012 -0600

    afs: Slight restructuring in afs_Analyze
    
    We test for acode < 0 && acode != VRESTARTING, but then immediately
    test for specific values for acode. Move this conditional down, and
    remove a level of indentation for the next couple of acode checks.
    
    This commit should introduce no functional change.
    
    Change-Id: I2ca3a00d5f6d620fcb042d8007f18dd8b5cfaf24
    Reviewed-on: http://gerrit.openafs.org/8461
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a84c6b0ece1fdee4f462c6ce27fa78c2e0d419f4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 13 22:46:34 2012 -0600

    rx: Generate BUSY packets for error call channels
    
    Currently, if a call is error'd out but still active, we won't
    generate BUSY packets if another call comes in on the same channel.
    This is because we bail out earlier, here, before we get to the BUSY
    processing.
    
    The comments suggest that this is for if we enter an error state while
    waiting for TQ to clear. So, only do this if our error has changed.
    
    Change-Id: I070f2af16bc79b1ebc7d19b7cb761fdbca78344b
    Reviewed-on: http://gerrit.openafs.org/8460
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 45721d0d5603ac0d7dae477bf0ed33c54bba6dbc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 25 14:30:07 2012 -0500

    Windows: AFSValidateEntry Symlink TargetName
    
    During an AFSValidateEntry if the data version of the symlink
    object has not changed, do not discard or rebuild the target
    name if already assisgned.
    
    Change-Id: If37af308ee48ec761283ff6e831ffa5e06dacf58
    Reviewed-on: http://gerrit.openafs.org/8515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5ab61bbc5c5f50183e737184de03b1b9153e208a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 25 23:56:47 2012 -0500

    Windows: Panic if RDR_Initialize SERVICE_DISABLED
    
    If RDR_Initialize() fails with ERROR_SERVICE_DISABLED it means that
    the AFSRedir.sys driver loaded but the AFSRedirLib.sys driver library
    cannot be loaded.  In this situation neither the RDR nor SMB interfaces
    can successfully be used.  Panic!
    
    Change-Id: I09d30a86b9d72b9077d4c7578dab52314cce559a
    Reviewed-on: http://gerrit.openafs.org/8514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e3373c5ad24bf2ff858d1f33fa0dd65236c928de
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 16 17:20:33 2012 -0500

    Windows: GetResourceInformation print path earlier
    
    In the network provider, GetResourceInformation was logging the
    input resource path after the afs redirector chopped it up.  Log
    it before the DeviceIoControl call.
    
    Change-Id: Icefcf65583b95fd46c8e28bd0e2c53258b5094fa
    Reviewed-on: http://gerrit.openafs.org/8509
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bd57c7d64844ca26d80f2b29db470dacd134fc56
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 21 10:39:51 2012 -0600

    LINUX: Dir follow_link should set LAST_BIND
    
    For our faux-symlink directory follow_link operation, we leave the
    given nameidata struct with an invalid 'last' component. That is,
    nd->last is not changed or set to anything meaningful.
    
    Usually the callers of our follow_link op do not care about the last
    component of the nameidata. However, at least one caller does: the
    caller near the do_link label in open_namei(). This is called during
    processing for O_CREAT operations on symlinks, and since our
    directories look like symlinks, it gets called. It tries to use
    nd->last to look up the last component of the dereferenced path (so it
    can try to create it, as necessary), but since our nd->last is not
    set, this will not work.
    
    Specifically, our nd->last.name is not pointing into the names cache,
    so the subsequent putname/__putname on it will corrupt the names
    cache. However, even if this were not a problem, the actual contents
    of the last component do not seem meaningful so this would probably
    result in incorrect behavior anyway.
    
    To avoid all of this, set nd->last_type to LAST_BIND, so any callers
    know that the last component of the given nd is not valid, and we are
    pointing directly to the target component with a dentry.
    
    Change-Id: I9cebc3b63ae7a2410295392a08aa8fc738549234
    Reviewed-on: http://gerrit.openafs.org/8489
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 41f8d6b9239d8ee1ca786c0485bea4251c96b9e5
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Mon Nov 26 15:45:26 2012 +0059

    Do not call afs_MarinerLog when afs_mariner is not set
    
    When mariner log is not set up (afs_mariner=0), do not call afs_MarinerLog,
    otherwise a osi_NetSend() to hostaddress=0 is tried, which will give you
    ICMP messages in the socket error queue.
    Do not call afs_AddMarinerName, when afs_mariner is not set.
    
    Change-Id: I1ed6369fb0eea130348f4f6fd37bb0d021c4c791
    Reviewed-on: http://gerrit.openafs.org/8519
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 873f8978fd13ae5a52d7401788d84237dace105f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 17 00:43:00 2012 -0500

    Windows: Add Hard Link support to Service
    
    Implement Hard Link support to the redirector interface in the
    service.  It is implemented to support hard links across directories
    even though AFS does not currently support it.  cm_Link() will
    check before issuing an RPC to the file server.   ReplaceIfExists
    functionality is implemented by cm_Unlink() followed by cm_Link()
    if required.
    
    Change-Id: Icb4e7eeaed1ae57719c487fe3bf29efea1902246
    Reviewed-on: http://gerrit.openafs.org/8482
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2b86ae33fead57696488e4b8c425cf8ae1bdd0f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 16 22:27:02 2012 -0500

    Windows: Add Hard Link support to AFS Redirector
    
    Both Windows and AFS support the notion of hard links to files.
    Add an implementation to the AFS redirector.  The body of the
    functionality and the IOCTL to the service permits the specification
    of hard links to files across directory boundaries.  There is a
    restriction within AFSSetFileLinkInfo() which prevents cross-directory
    requests.  However, this can be taken out if AFS ever permits them.
    
    Decrement object information link counts on directory entry
    deletions.  Do not delete object information context blocks if the
    link count is greater than 0.  Increment link counts when hard
    links are added.
    
    A subsequent patchset will implement the afsd_service support.
    
    Change-Id: Iffabf480c0b43ab76feb5bdf3464a0bf1324e642
    Reviewed-on: http://gerrit.openafs.org/8481
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c3ed4794c1ed7db14b67eb0c3bb65c1aed18ff35
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 22 11:52:11 2012 -0500

    Windows: Trend Micro QueryDirectory deadlock
    
    Trend Micro will deadlock both itself and the AFS redirector by
    calling a worker thread to generate a temporary file name during
    an active FindFirst Directory Query.  The Trend Micro worker will
    also attempt to enumerate the directory.   If the directory contains
    an entry for which the data version as reported by the service is
    different than the data version in the ObjectInformationCB a deadlock
    will occur on the matching FileCB Resource.
    
    To avoid this deadlock, prevent AFSValidateEntry from purging or
    updating the ObjectInformationCB and FileObject information when
    called from AFSQueryDirectory.
    
    Change-Id: I8f2f7136796759eb91dadfea34a89513c1a1fff4
    Reviewed-on: http://gerrit.openafs.org/8492
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d733f9daed95feef2eefb3d68dc16607b1321142
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 19 15:33:33 2012 -0500

    Windows: Missing lock in AFSNotifyRename
    
    If the ParentObjectInformation and TargetParentObjectInformation
    are different, the TreeLock for each must be held.
    
    Change-Id: Iac9910d838f8f35b286e4e40009cfd547ed8a438
    Reviewed-on: http://gerrit.openafs.org/8479
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8245b2bc7aab4553f368470d97d0110f9daa4fe9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 19 15:30:09 2012 -0500

    Windows: AFSSetRenameInfo always set pRenameInfo
    
    Make it easier to debug AFSSetRenameInfo by setting pRenameInfo
    so that the FILE_RENAME_INFORMATION structure is visible within
    the debugger on all code paths.
    
    Change-Id: I6e47c417e2468eeb4f56a680ddcbe75cb8753916
    Reviewed-on: http://gerrit.openafs.org/8478
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dbc2589731ff5c6879745be8be5c5bf46844a4ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 15 23:13:17 2012 -0500

    Windows: SetFileRenameInfo Improve Error Handling
    
    If a Target FileObject is not provided by the IOManager and
    a Target RootDirectory Handle is provided something has gone
    wrong.  Return STATUS_INVALID_PARAMETER to indicate the
    invalid state.
    
    If the target directory is not specified by FileObject and a full
    target path is provided return STATUS_NOT_SAME_DEVICE to force
    an object Move instead of Rename.
    
    Change-Id: I54c3c978c0b9fcc3d4b61fb9f7b7d0771e38f714
    Reviewed-on: http://gerrit.openafs.org/8477
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 42e812c7abf5fafbbfeebd40828978e8b4639860
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 21 18:08:35 2012 -0500

    Windows: smb_ReceiveTran2QFileInfo Pioctl support
    
    Similar to the QueryPathInfo support for _._AFS_IOCTL_._ the
    QueryFileInfo interface must respond to pioctl queries.  When
    GetFileAttributes() on XP is called from the afslogon.dll the
    QFileInfo path is used instead of the QPathInfo path.
    
    Change-Id: I119fbefbf933e868cac57eb508ef30a45277a50f
    Reviewed-on: http://gerrit.openafs.org/8491
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 305133cde60fec7fb1050caf60a4319cdcf88a27
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 21 18:03:10 2012 -0500

    Windows: afslogon do not specify smbName for tokens
    
    The smbName was added to the Windows ktc_SetTokens() interface
    to provide a mechanism for passing the Windows account name
    that the tokens should be associated with via Integrated Logon.
    This was only required when the Authentication Provider did not
    impersonate the user context prior to calling ktc_SetTokens().
    Now that impersonation is used, the ktc_SetTokens() call will
    do the right thing without the smbName.  In fact, when impersonation
    is used setting the smbName does the wrong thing by specifying
    the AFS_PIOCTL_LOGON flag which is only valid if the SYSTEM account
    is issuing the ktc_SetToken() call.
    
    Change-Id: I6d04b56b815571f6e9fe3557544bd93a5b9ca735
    Reviewed-on: http://gerrit.openafs.org/8490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit eca3d56436c16e4634afe1954a2a15424b4ad5f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 21 01:13:49 2012 -0500

    Windows: Fix smb_ReceiveTran2QPathInfo Pioctl support
    
    The path check should needs to include the root directory slash
    when comparing to the \_._AFS_IOCTL_._ path to detect a pioctl
    request.
    
    Change-Id: I1d2c620fdcff55a0c90d8be3f3de6a1bd1137b8f
    Reviewed-on: http://gerrit.openafs.org/8488
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5acf8b7f98ecd3daa721e60b49c7a582c7ce3b8d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 20 01:23:08 2012 -0500

    Windows: QuerySecurity deny access to SACL
    
    The SACL requires System Access Level.  Requests for SACL by
    end user applications must be denied.  Permit access to Owner,
    Group, DACL and Label but not SACL.
    
    This change permits executables to be initiated from drive
    letter mappings.
    
    Change-Id: Ibf847261f0c36dc7b6175b0536657161158cd44f
    Reviewed-on: http://gerrit.openafs.org/8483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6d37315a9c4fa4aae99715dd18827fcc0b543ba3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 19 15:06:47 2012 -0500

    Windows: Fix Redir link counting
    
    Each object in AFS has a link count which tracks the number of
    directory entries that refer to the FileId.  In the redirector
    there is one ObjectInformationCB per FileId and one AFSDirectoryCB
    for each directory entry.  When a directory entry is deleted perhaps
    by delete on close it is important to ensure that the matching
    ObjectInformationCB is not deleted unless the Link count drops to 0.
    
    Change-Id: I2c7906d5881f93ed60697d40a0ea462f4567d443
    Reviewed-on: http://gerrit.openafs.org/8480
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f436fe03c80e21b6a58a6de962070841e00791ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 17 21:44:52 2012 -0500

    Windows: buf_CleanLocked protect against NULL bp->userp
    
    The cm_buf_t.userp field should never be NULL if the CM_BUF_DIRTY
    flag is set but apparently it sometimes is.  cm_BufWrite() requires
    that the userp parameter be non-NULL.  Otherwise, an assertion fails
    and afsd_service.exe panics.  If bp->userp is NULL, use cm_rootUserp.
    The worst that will happen is the write will fail due to an access
    denied error.
    
    Change-Id: I6cc650dcffe2b0fb50ac2ce91b74e8afbdfc40ca
    Reviewed-on: http://gerrit.openafs.org/8475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 887cff5b0f84ad3b758bc4258b1f1302401c2c1d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 17 21:39:50 2012 -0500

    Windows: do not adjust deleted scache LRU ordering
    
    Instead of moving deleted scache objects so that they are next
    in line to be recycled, do not move them at all.  Making them
    next to be recycled results in the CM_SCACHEFLAG_DELETED flag
    value being lost.
    
    Change-Id: I3839053066cca304454e445b2f4e4abea6e08dda
    Reviewed-on: http://gerrit.openafs.org/8474
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c99797eadc80efa24972a85d1c37e03393c888ca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 17 21:32:44 2012 -0500

    Windows: buf_CleanLocked validate cm_scache_t
    
    If the cm_scache_t object is not passed in by the caller ensure
    that the cm_scache_t has a valid callback.  If the cm_scache_t
    has the CM_SCACHEFLAG_DELETED flag set, clear the dirty flag on
    the cm_buf_t and do not bother contacting the file server.
    
    Change-Id: If85be550b59765f64aadea4e1882af9430cebcb4
    Reviewed-on: http://gerrit.openafs.org/8473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f03247ddd7f5b4a9cf8ef132757d794546c884ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 17 17:11:42 2012 -0500

    Windows: buf_SetDirty add assertion
    
    the userp parameter must never be NULL.
    
    Change-Id: Id785ac417bc869f708990f0bfe53809e3e5c71e5
    Reviewed-on: http://gerrit.openafs.org/8472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b28c51d594ba3147bc1c30c34b974beb3f1fdfb3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Nov 21 16:46:29 2012 +0000

    opr: Don't confuse isLast and isEnd
    
    opr_queue_IsEnd's implementation was incorrect - it would return
    true when the element was the last item in the list, not when it
    was the end of the list (equal to the head record)
    
    Correct the implementation of isEnd, and add an implementation for
    isLast.
    
    This fixes a bug in RX, wher we would never notice that the last
    packet in the transmit queue was acknowledged, because the loop that
    iterates over the queue uses isEnd to detect when its work is done.
    
    Change-Id: I8966e05c479c18d025bb5cc4cf77514ce002be95
    Reviewed-on: http://gerrit.openafs.org/8493
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ad4e634051e18fa5bd07016b6405e53e236c2f45
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 14 18:29:35 2012 -0600

    afs: Do not skip flushing pages for dv-0 files
    
    If the dv for a file is 0, we know the file is empty. Currently we
    skip flushing pages for such files, presumably the idea being there is
    no data in the file, so there should be no pages to flush.
    
    However, Linux seems to keep empty pages around for empty files. So, a
    future read can result in the application reading a page full of
    zeroes, unless we flush the page here. While this has only been found
    to happen on Linux 2.6.22 and later (and distribution-specific
    backports, like RHEL 2.6.18-128), other platforms could in theory also
    choose to do this. It would be difficult to find out when another
    platform started to behave like this, so just remove this skip for
    everyone so we never have to deal with this again.
    
    Replace this code with a comment with a quick explanation, in case
    anyone tries to add a similar optimization here in the future.
    
    Thanks to Richard Brittain.
    
    Change-Id: I68c51bb7612a98a5c75112bb8f4bb1edd949fda1
    Reviewed-on: http://gerrit.openafs.org/8465
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit aeb2763b741a218ad6fd93adc6157a6a31f27e13
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Nov 15 20:58:03 2012 -0500

    Linux 3.7: key instantiate API change
    
    Adapt to the new parameters for the instantiate key operation.
    
    Change-Id: I25dea3489b68cad662e962a4973ee98ec7228cd3
    Reviewed-on: http://gerrit.openafs.org/8470
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 007ec3e25e6920d7036f70550bc44adefab0c170
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Nov 15 17:49:53 2012 -0500

    Linux 3.7: remove use of param.h and ioctl.h
    
    Header files param.h and ioctl.h have moved as part of the userspace
    API restructuring of header files.  Nothing in those files is
    currently needed by the source, so just drop the includes.
    
    Change-Id: Icbbf7038ca1bf23edbde42aaf48f5108626d0040
    Reviewed-on: http://gerrit.openafs.org/8469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 2bafb2f99d85804459acb8994d4057be809f8729
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Nov 14 22:12:13 2012 -0500

    Linux: change test for new putname API
    
    Replace the existing test with a more robust one that checks for
    the existence of the new filename structure.  Since older kernels
    are expected to fail this test, we'll get the correct result even
    if there is unrelated failure, for instance a missing/different
    header file.
    
    Change-Id: Ie50abce37580eab803e9b07e636a1538f4a91a81
    Reviewed-on: http://gerrit.openafs.org/8466
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e1d149c925cfcc2656086bee2416fb319e1bd9ca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 14 07:02:01 2012 -0500

    Windows: Hold ProcessTreeLock across AFSValidateProcessEntry
    
    AFSValidateProcessEntry() is called from AFSProcessCreate() which
    holds the ProcessTree.TreeLock exclusive across the call and from
    AFSCreate() and AFSRetrieveAuthGroup() where it is not held at all.
    
    Add a parameter to AFSValidateProcessEntry() that indicates whether
    or not the ProcessTree.TreeLock is held.  If it is held, it must be
    held exclusive.  If it is not held, the lock must be acquired within
    AFSValidateProcessEntry() and it must be held for the entire lifetime
    of the pParentProcessCB reference.  Failure to hold the TreeLock
    for the lifetime of the reference permits a race with AFSProcessDestroy()
    that can result in the parent ProcessCB being destroyed while its
    Resource is held.
    
    Change-Id: I7cf0dff6bd541b0588a060d677a8e3d724858b96
    Reviewed-on: http://gerrit.openafs.org/8455
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f56c01d313140b625b4342feddfe464342d1ced4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 13 17:59:06 2012 -0500

    Windows: Do not reset cm_buf.offset on error
    
    When an error occurs the cm_buf_t is not removed from the
    hash tables.  Since the scacheHashTable hash is built from
    the fid and the offset it is not safe to reset the offset field.
    Resetting the offset field results in an assertion failure
    during buffer recycling.
    
    Change-Id: Id33ec048f8ecfd7f715feafadfa4ea618cdbac0d
    Reviewed-on: http://gerrit.openafs.org/8452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 91f43fb6f798bdcae95e43a1fe5923742b307622
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 13 09:14:39 2012 -0500

    include roken.h in yacc parsers
    
    Change-Id: Ic6f2dba3ee5bbfdb2794fd9ecc8e1ab2eb3de828
    Reviewed-on: http://gerrit.openafs.org/8450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3081a2cff2e4f9499268854504873fa801d50ce5
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.
    
    Change-Id: Ic1c9808c427fe7524ea7dc1b7dbab8e9ac665b91
    Reviewed-on: http://gerrit.openafs.org/8407
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 866a9fbbdd89735ab76a70cb6d6523db2b98e4c9
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.
    
    Change-Id: Id1e77af18461c9804b655c6f91ac90038621a394
    Reviewed-on: http://gerrit.openafs.org/8406
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e02185547e316667989a100f77e68b918481b597
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.
    
    Change-Id: Ia165e0b5f5ef37e05942c795955d75f26e4ea7d3
    Reviewed-on: http://gerrit.openafs.org/8405
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 64ee7b32f134e6431eb2894ed4397f8b1fea25ad
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.
    
    Change-Id: Iafb539bbda9ef20907ef575699185f111ca39c2b
    Reviewed-on: http://gerrit.openafs.org/8377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 336939179721d79a6798614ff747dd06701e3edc
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.
    
    Change-Id: Iedbcffcbeb5dda61fde8e1d526e793f68c3200b3
    Reviewed-on: http://gerrit.openafs.org/8376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f74a0a7bbb37a8ab6050e833cf8d66abdff31854
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.
    
    Change-Id: I622908de7004ba4cb18ccb26bda0e75b879f65ca
    Reviewed-on: http://gerrit.openafs.org/8375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

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

    afs: Never use GetNewDSlot after init
    
    Currently there are two ways to get a dcache via a slot number:
    afs_GetNewDSot and afs_GetValidDSlot. afs_GetValidDSlot assumes that
    the given slot number refers to a dcache entry that is valid on disk;
    with afs_GetNewDSlot, the given slot may not be valid, and if it is
    not, an empty 'template' dcache is returned.
    
    afs_GetNewDSlot is useful for initializing cache files, since if a
    given dcache slot exists on disk and contains valid data, we use the
    dcache like normal. If it does not already exist or does not contain
    valid data, we fill in the missing data after afs_GetNewDSlot returns.
    
    However, for all other uses, afs_GetNewDSlot is incorrect, and causes
    various serious problems. After we have initialized our dcache
    entries, any attempt to read a dcache by slot number should succeed,
    since the number of dcache entries never changes after we are started,
    and we initialized all of them during client startup.
    
    Some code outside of afs_InitCacheFile was still using
    afs_GetNewDSlot; code that reads in a dslot from the free or discard
    list. In these cases, if there is any error reading the dcache slot
    from disk, we will be given a dcache that has some of its fields not
    filled in properly. Notably, we assume that the entry is not on the
    global hash table (we set tdc->f.fid.Fid.Volume to 0), and the
    tdc->f.inode field is not initialized at all, leaving it set to
    whatever was in memory for that tdc before we tried to read the slot
    from disk.
    
    This can cause cache corruption, since tdc->f.inode can point to the
    inoder for a different existing cache file, so writing to that dcache
    modifies the data for another cached file.
    
    To avoid this, modify the non-afs_InitCacheFile callers of
    afs_GetNewDSlot to avoid afs_GetNewDSlot. Since these callers read
    from the free/discard list, the contents of the dcache entries are not
    valid (the cell, volume, dv, etc are not valid), though they must
    exist on disk (we have a valid inode number for them). So, create a
    new function, afs_GetUnusedDSlot, to get a dcache that must exist on
    disk, but does not represent any valid data. Use this for callers that
    must get a dslot from the free/discard list.
    
    Add some comments to try and help explain what is going on.
    
    Change-Id: I5b1b7ef4886102a9e145320932b2fd650b5c6f2f
    Reviewed-on: http://gerrit.openafs.org/8370
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fb5eccb2fe30b04497e3e12efab6080ef03d896d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 12 18:54:54 2012 -0500

    Windows: SYMSTORE the entire WINNT/afsrdr tree
    
    The tools directories need to be imported into the symstore
    one directory at a time.
    
    The "build.exe" output files afsredir.sys, afsredirlib.sys and
    afsrdfsprovider.dll must be imported from within the kernel
    build environment script.
    
    Change-Id: Ida7d84deecfb1ec4f508c5c40fc5576e2cb7b3e4
    Reviewed-on: http://gerrit.openafs.org/8445
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 152e3c0423cc96e2ab4d4ee4a15c9c74f9dd0374
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 12 11:47:50 2012 -0500

    Windows: Add AFSRedir binaries to Symbol Store
    
    Change-Id: I1b4f2d5fcd4243e9a8a931a223bced33631206b0
    Reviewed-on: http://gerrit.openafs.org/8441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e15a612252e881783638e297e33a88f499017614
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 12 07:13:07 2012 -0500

    Windows: torture should not reference roken.h
    
    Do not include roken.h in torture tests.  The torture test
    should not be linked to afsroken.dll.
    
    Change-Id: I14d67c2e2f9980906854e0ab72c040eb9437a931
    Reviewed-on: http://gerrit.openafs.org/8431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0bef3159d3698a941154bd21352eb35bd94edb8c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 11 22:00:07 2012 -0500

    afsio: process windows file paths consistently
    
    Windows file paths can use either '\' or '/' as a path
    separator.  libafscp on the other hand requires '/' and argv[0]
    will always use '\'.
    
    Introduce a new function ConvertAFSPath() which converts the
    input path to '/' and converts \\afs to /afs.  A future commit
    should access the registry and make use of the NetbiosName and
    MountRoot values to perform the conversion correctly.
    
    Change-Id: I14f5f45234ec4beab58751783a25206b3e7eff45
    Reviewed-on: http://gerrit.openafs.org/8430
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit be50ea11feee47695c89906ea9b8a299342ff345
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 11 21:53:13 2012 -0500

    libafscp: Windows TellMeAboutYourSelf response
    
    The address list and uuid are computed in init_afs_cb().  There
    is no need for special Windows processing within TellMeAboutYourSelf.
    
    Change-Id: Ica4d2edb69ac9000713b016996a2c58e8b65ee9c
    Reviewed-on: http://gerrit.openafs.org/8429
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cdad65170d717dfe7e7f53510e7e331fa746c20d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 11 21:52:27 2012 -0500

    libafscp: build as pthreaded for windows
    
    Change-Id: Iaa9515e572178f44deb670a83daba358c2d4dc74
    Reviewed-on: http://gerrit.openafs.org/8428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 81db8d9764e721386ca78af96daf2a7d26ae94bb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 10 23:41:21 2012 -0500

    Windows: afsrpc.dll MAKEDEBUGCALL
    
    Enable debug calls from the pthreaded RX library.
    
    Change-Id: Ie5e98d4408a3eb259e7f5f298f0776931f0d488a
    Reviewed-on: http://gerrit.openafs.org/8427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 692c300e371797ae5eac063a4c1a8030d48bb1aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 30 13:30:27 2012 -0500

    afs: Pass rx connection to print_internet_address
    
    Make print_internet_address take an rx_connection, so it can print out
    more information based on rx info. Currently it does not use the
    connection; this commit is just for adding the connection to the
    interface, and adjusting all of the callers to cope. There should be
    no behavior change.
    
    Change-Id: I410ffe43b7b6fc4d5c82666529c9263969820185
    Reviewed-on: http://gerrit.openafs.org/8409
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bcb077a00fb575e7beb92739646054ea67ca0b79
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Oct 30 10:41:12 2012 -0400

    fix stale volume info from vos examine (non-dafs)
    
    A volume examine on a non-dafs volume server/fileserver can show old
    information, including old volume update time, for up to about 20
    minutes. The non-dafs volume server reads the volume information
    from the volume headers, which are updated by the fileserver only
    periodically to avoid excessive i/o.
    
    Before dafs, when the volume server performed a volume examine, the
    volume server would send a fssync command to the fileserver with the
    request FSYNC_NEEDVOLUME and mode V_READONLY. The fileserver writes
    the current memory contents to disk on this fssync command. The
    volume server would then attach the volume, reading the current
    volume data.
    
    The dafs volume/fileserver avoids this extra i/o by using a new set
    of fssync commands to retrieve the volume information from the
    fileserver. However, the non-dafs volume server does not use the new
    fssync commands and reads the volume headers from disk.
    
    Revert the volume attachment processing for the non-dafs volume
    server to request the volume with the V_READONLY mode. This causes
    the fileserver to update the volume headers, allowing the volume
    server to read the up to date volume header data.
    
    Sadly, this adds another dafs ifdef to the already twisty maze of
    passages that all look alike.
    
    This changes the volserver to use the V_READONLY attachment mode
    only for the case of getting a single volume, as that what was
    done in 1.4.x.
    
    Change-Id: Ibee25bfcfb087e73ccbc17e181a99da49a7751ae
    Reviewed-on: http://gerrit.openafs.org/8327
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0eaa0d1baa8b8fe115301f188ce32176acc7b065
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Oct 30 10:22:40 2012 -0400

    vol: allow non-dafs volume utils to attach with V_READONLY again
    
    Allow non-fileserver, non-dafs, programs to attach volumes with the
    V_READONLY mode again. This was lost during the code changes for
    dafs.
    
    The caller sends a fssync request to the fileserver, which updates the
    on-disk contents of the volume headers, before the caller reads the
    volume headers, allowing the caller to have the most recent info about
    the volume. The fileserver still has the volume in use.
    
    Later in the attachment process, the inUse check is skipped for the case
    of a non-fileserver process which is attaching the volume using the
    V_READONLY mode, otherwise the attachment would incorrectly mark the
    volume as needing to be salvaged.
    
    Note: The mode checks in VMustCheckOutVolume() are correct. We must
    checkout the volume when attaching with the V_READONLY mode. This
    fix updates the VShouldCheckInUse(), in which an additional
    exception was added to cover the case for V_READONLY mode from a non-
    fileserver process.
    
    Note: A check is added in the dafs version of attach to avoid overwriting the
    inUse field when a volume utility is attaching a volume in V_READONLY mode.
    Currently, V_READONLY is not used by dafs, but this was done to avoid future
    errors.
    
    Change-Id: I09d3af1e74087d0627399392e662e5075d41cdeb
    Reviewed-on: http://gerrit.openafs.org/8339
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d2d3c51a7d76c41b154105c5295eeee172c573ae
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Fri Nov 9 13:48:45 2012 +0100

    fileserver: check value of -cb argument
    
    The value of the -cb argument for the fileserver was not checked correctly.
    The fileserver refused to start for any number of callbacks.
    
    Change-Id: I25fe9d81ba20d286f36999a554c94fda4ef7fb2f
    Reviewed-on: http://gerrit.openafs.org/8420
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 15670c1ae95182d98c6e874672ef7138e1949dfe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 8 13:26:36 2012 -0500

    Windows: use hKUserMap to read afslogon username
    
    hkTemp is not the correct registry handle.  Use hkUserMap
    
    Change-Id: I44776b6dd46bb0ecac0c729bf80ed9261ddf7a67
    Reviewed-on: http://gerrit.openafs.org/8412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6f79eb36593a2b20e712cf7e828e987e12f8e99f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 8 12:20:30 2012 -0500

    Windows: Prevent SMB unitialized variable access
    
    smb_ReceiveNTTranCreate would make use of 'fidp' before it was
    allocated.
    
    Change-Id: Ib4a7262ba09f15049f1855535250638c2e5d17a4
    Reviewed-on: http://gerrit.openafs.org/8411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c01e552b857d0a472c79f60704906936cbb2eb19
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 8 11:29:20 2012 -0500

    Windows: Treat invalid AFSFetchStatus as VBUSY
    
    Modify cm_Analyze() to accept an AFSFetchStatus parameter which
    when set is verified for validity.  If the status info is invalid,
    then consider the response equivalent to VBUSY and attempt to
    query an alternate file server (if any.)   Log the invalid status
    info to the Windows Application Event Log as a Warning.
    
    When cm_Analyze() is processing the response of an RPC that returns
    multiple AFSFetchStatus structures, pass in the one that corresponds
    with the source object.
    
    Change-Id: I84be22f332ff6fd7bc9620347f958538a3412380
    Reviewed-on: http://gerrit.openafs.org/8404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d87a9adeb66f405441be35b12048012a527c122d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 8 10:39:43 2012 -0500

    Windows: cm_IsStatusValid
    
    Break out validity checking for AFSFetchStatus responses into
    a new function.
    
    Change-Id: I15d2ed12ed2d9ca9a24d6f717243d823db22d30c
    Reviewed-on: http://gerrit.openafs.org/8403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 45f0a9ba7f139749a969e73362194b380988116d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 8 00:24:14 2012 -0500

    Windows: cm_MergeStatus now returns an error code
    
    cm_MergeStatus() can fail if the AFSFetchStatus InterfaceVersion
    field does not have the value 0x1 as that is the only version that
    is defined by the protocol.  The return code will be CM_ERROR_INVAL.
    cm_MergeStatus() returns 0 on success.
    
    Update all of the call sites.
    
    Change-Id: Iddf56f68dfa26b0f11744b905a70d7d39ad853d1
    Reviewed-on: http://gerrit.openafs.org/8402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 48b60478897e7cb22e9cc1adfa3b71c188572093
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.
    
    Change-Id: Iede39bbeee48ea48f380b788f2968886a831a918
    Reviewed-on: http://gerrit.openafs.org/8369
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b5d9e29e89c2a63c857c47f1fb9accae90b0a3aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 31 15:02:09 2012 -0500

    afs: Log slot for GetDSlot read errors
    
    When we log that a disk read error occurred during GetDSlot, log which
    slot we were trying to read for convenience.
    
    Change-Id: I35ffa94ff31cee735e85542ed9697b5f14180226
    Reviewed-on: http://gerrit.openafs.org/8368
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bbea7b07f3f2120245026a632b4109d9d7b1359f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 7 18:46:24 2012 -0600

    rx: Fix non-TSFPQ rxi_FreePackets
    
    Actually count the number of packets we're given, so we don't bail out
    early because num_pkts is 0. Without this, we effectively do not free
    most packets for non-pthreads Rx, so e.g. the unix kernel module will
    leak memory quite quickly and be very slow.
    
    This was introduced by 170dbb3c.
    
    Change-Id: Id781e37170683c422b40079fdda018be1caddaf3
    Reviewed-on: http://gerrit.openafs.org/8401
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 30ee8b645ea28b8f4f4794b2620fef723d03de9d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 7 16:34:23 2012 -0500

    Windows: RDR_CleanupFileEntry protect lock release
    
    Prevent lock release of scp->rw when not held.
    
    Change-Id: I9ed3ca464a7881cd365ebe3560d5a6da22e21c86
    Reviewed-on: http://gerrit.openafs.org/8372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8c7846f4e1dd89db4ff3b03c558d97cd13cbb205
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 6 06:39:39 2012 -0500

    Windows: call MIDL_user_allocate instead of calloc
    
    In the RPC service routines do not call calloc() directly.
    All memory will be deallocated by a call to MIDL_user_free()
    so use MIDL_user_allocate() to perform the allocation.
    
    Modify MIDL_user_allocate() to call calloc() instead of malloc()
    to ensure that the memory is initialized to NUL bytes.
    
    Change-Id: I4d458bb5d8888c63040f213550d04f481e98175b
    Reviewed-on: http://gerrit.openafs.org/8365
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 40964dd39decf8b64d82090b5bb9ecac05901c07
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 6 06:38:14 2012 -0500

    Windows: no more _wcsdup; use wcsdup
    
    _wcsdup is not mapped by roken.h.  Use wcsdup which is.
    
    Change-Id: I0f6bb3f5465c74ad52f992892fcbc9837c276c0c
    Reviewed-on: http://gerrit.openafs.org/8364
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f749f17fe1a2bc56a8129f5579e5cf5009f12d95
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Nov 7 10:08:33 2012 -0500

    Catch up to FreeBSD non-MPSAFE deorbit
    
    All filesystems must have their own locking now.
    We have been MPSAFE for quite some time, but the preprocessor macro
    "MPSAFE" has been removed and we must catch up in order to compile.
    
    The MNTK_MPSAFE macro has not yet been removed, but it is toothless
    now, so we can preemptively stop using it.
    
    Change-Id: I9d9090fd1afc020670a0cf874baacf483fd34915
    Reviewed-on: http://gerrit.openafs.org/8366
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 586e9cd24ede7799ea795221df856b65ea158e31
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 1 20:42:58 2012 +0000

    opr: Add Windows stuff for dict.c/h
    
    The NTMakefile changes were omitted from the patch which added
    opr/dict.h for Unix. Add them here.
    
    Change-Id: I240b40116aed83dcf232a1d741d0ef7b442bf6f7
    Reviewed-on: http://gerrit.openafs.org/8358
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ba718cba9285fc9f663b0fd15524bc5474cca893
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 31 20:59:30 2012 -0400

    Windows: Use MountRoot for Absolute Symlinks
    
    Replace the absolute symlink processing in AFSLocateName().
    Implement AFSIsAbsoluteAFSName() to test whether or not the
    path is in fact an absolute /afs path by comparing the input
    string to the registry MountRoot value which specifies the
    case sensitive root path for all absolute symlinks stored
    in the AFS cell.
    
    If a symlink target path begins with a directory separator
    and is not an absolute afs path name, return an error.
    
    Construct the substitution string using the target path
    without the MountRoot prefix.
    
    Add functionality to AFSRedir.sys to read the MountRoot
    from the registry and pass it on to AFSRedirLib.sys.
    
    Change-Id: Ie1df24da1e6de257c73dc34c80a75288bad47d29
    Reviewed-on: http://gerrit.openafs.org/8353
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7fe30bd28e62ad0ed717c24e8eccf5e563b9cd68
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Nov 1 14:15:27 2012 -0400

    configure: check for poll()
    
    if we have code which uses HAVE_POLL, check for poll().
    
    Change-Id: I1baf61541b243f82b3acca112db2cbbca813182b
    Reviewed-on: http://gerrit.openafs.org/8357
    Reviewed-by: Chaskiel Grundman <cg2v@andrew.cmu.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5be3cdc3f3a3b1d78a9c9f7acb9e5ee81d5a5191
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 30 11:25:02 2012 +0000

    opr: Add dictionary implementation
    
    Add a simple implementation of a dictionary/hash structure based around
    opr queues and the jhash hashing function.
    
    Change-Id: I4ae5cafcef377b05c8caa7c455737a992b1d36cd
    Reviewed-on: http://gerrit.openafs.org/8355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 07372cf7e76acf62eb26908977e2682338c85ac1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 29 19:02:03 2012 +0000

    opr: Add opr_jhash_int2 function
    
    Add a function to jhash that can be used to hash a pair of unsigned
    integers (or other stuff that can cast to them) without having to build
    up an array.
    
    Provide a couple of tests for the new function
    
    Change-Id: I594848f64316fb459eff565933691f560512ca79
    Reviewed-on: http://gerrit.openafs.org/8354
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dce5e012fedb3efc9e7acd9c443b7ec2caaf47ae
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 1 17:38:45 2012 +0000

    tests: Fix fallout from cleanup change
    
    The change to cleanup temporary files after tests
    (0c3670914a05c7aa33f0b1239ba9cc25f430ed04) broke all attempts
    to run the tests using libwrap, as it would cause libwrap to run
    the binary named "MAKECHECK=1"
    
    Move the variable defintion before the libwrap invocation to fix this.
    
    Change-Id: I330267c9b53483abccf43d60a7dc8f8d973c3959
    Reviewed-on: http://gerrit.openafs.org/8356
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 6580d64b5d8ef0ccce71b72783b33c9e6f75b9e8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 31 12:04:50 2012 -0400

    Windows: cm_ConnByServer increment under lock
    
    Incrementing the cm_conn.refCount must be performed while holding
    the cm_connLock in order to prevent cm_GCConnections() from
    seeing an in-use object as having a zero count.
    
    Change-Id: Ifaa755ef0f04f3bf64223434dfc518bc73d01d4d
    Reviewed-on: http://gerrit.openafs.org/8347
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b0283d5f17aafecf258479d6691682af3baaa0fd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 31 09:53:57 2012 -0400

    Windows: cm_FindVolumeByName refactoring
    
    The cm_volume allocation within cm_FindVolumeByName() was racy.
    Given how locks were obtained and dropped it was possible for two
    threads to both determine that a cm_volume_t object needed to be
    allocated.  It might even have been possible for two threads to
    attempt to allocate the same object.
    
    This refactoring ensures that if a volume cannot be found under
    a read lock that a second search is performed under the write lock
    in case the object had in fact been allocated during the transition.
    
    Once it is determined that an allocation is required, the cm_volumeLock
    is not dropped until the object has been built and inserted into the
    name hash table.   This ensures that two threads cannot attempt to
    allocate a cm_volume object for the same volume group.
    
    InterlockedIncrement is used to manage the cm_data volume count.
    
    Change-Id: I64c07cbc0f7968c5580478ff33214f67088072f8
    Reviewed-on: http://gerrit.openafs.org/8346
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d914034d4c5fd48fb89b1380da24984a520bae33
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 31 09:52:23 2012 -0400

    Windows: use cm_GetVolume / cm_PutVolume
    
    Instead of locally incrementing and decrementing the cm_volume
    refCount field use cm_GetVolume and cm_PutVolume.  Doing so makes
    it easier to see if there is an imbalance.
    
    Change-Id: Id62e42a74a9b1d9865a00dae177550a93e6e0f08
    Reviewed-on: http://gerrit.openafs.org/8345
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2b798792fb56c5feda8e68dd433c82f43b1698aa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 31 09:50:34 2012 -0400

    Windows: Interlocked ops for cell and scache allocation
    
    Replace foo++ with InterlockedIncrement for cm_data cell and scache
    counters which are used for allocating objects.
    
    Change-Id: I09d2a536ef559d6d5873a3fdead4c8580bc93a0c
    Reviewed-on: http://gerrit.openafs.org/8344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit aa3579b26503f42de50e7c58c56937a7fbf4d45f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 30 21:54:20 2012 -0400

    Windows: Do not flush dirty bufs to deleted FID
    
    If the FID is known to have been deleted, drop all dirty data
    returned from the redirector on the floor.
    
    Change-Id: I8b9a1a69d632d7243bdbcfedb5329558e0004d2e
    Reviewed-on: http://gerrit.openafs.org/8343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4a8e1385844eb3a1c6c70758baa7522cf35130df
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 09:38:50 2012 -0400

    linux: bypass readpages should update nocache read parms
    
    the nocache read parms need to have the offset updated during a bypass
    readpages request
    
    Change-Id: Iced321e6eeab7fd784c5ccb871fcda7ff9c7493d
    Reviewed-on: http://gerrit.openafs.org/8254
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>

commit 527f2ba00c1247ae7e8d6f355572c8635331bc0c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 23 15:47:06 2012 -0500

    ptserver: Avoid inet_ntoa
    
    The ptserver uses inet_ntoa in a few places, such as for calculating
    host CPS. This isn't safe in pthreaded environments, so use
    afs_inet_ntoa_r instead.
    
    Change-Id: I84cdf606ffd44d2d87c0db509af0950a6547364e
    Reviewed-on: http://gerrit.openafs.org/8287
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3898f4d20500fbdbe60e36ecaf6b80f96913b84c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 21 20:07:44 2012 +0100

    Fix mutex assertion
    
    RX mutexes have two mechanisms for asserting ownership of a mutex:
    MUTEX_ISMINE, which returns true if the caller is the owner of the
    mutex in question, and osirx_AssertMutex which fires an assertion if
    the calling thread doesn't own a specified mutex.
    
    Neither of these work with pthread mutexes on all platforms, and the
    kernel support for MUTEX_ISMINE is dubious in places. Because in some
    implementations, MUTEX_ISMINE tries to lock the mutex in question, a
    failing call to MUTEX_ISMINE can lead to the process holding an
    additional, unexpected, lock.
    
    This patch reworks all of this, and uses the new opr mutex framework
    so that we can do mutex assertions in userspace, too. We remove the
    unsafe MUTEX_ISMINE macro, and replace it with MUTEX_ASSERT which
    simply asserts if the specified mutex is not held by the current
    thread. osirx_AssertMutex is removed as it is now redundant.
    MUTEX_ASSERT will always work in kernel code.
    
    For userspace, we provide opr_mutex_assert, which is implemented using
    POSIX error checking mutexes. As error checking mutexes have a runtime
    overhead, this is only available when configured with
    --enable-debug-locks, the rest of the time calls to opr_mutex_assert are
    no-ops.
    
    Change-Id: I285ee2b558389fa3d63b786e4bc4420fa2126c80
    Reviewed-on: http://gerrit.openafs.org/8282
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d287e816988a98654ba6e0fd3aa053b20fd14663
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 21 21:19:40 2012 +0100

    rx: Move kernel assertion macros
    
    Move the kernel assertion macros out of rx_prototypes.h and into
    rx_kernel.h. This solves an ordering problem if these macros are to
    be used from src/rx/<arch>/*.h
    
    Change-Id: I5f11e0802b3d25c1c32a2c646a35c0b59422ab3d
    Reviewed-on: http://gerrit.openafs.org/8283
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0c3670914a05c7aa33f0b1239ba9cc25f430ed04
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 19 19:14:31 2012 -0400

    tests: cleanup temporary files
    
    Call the configuration directory cleanup function before exiting
    so there are no files left behind, even in case of error.
    
    Add KeyFileExt to the list of files that are removed.
    
    Change-Id: Ie795bef0d44609b36950970244c02a6c6da1a843
    Reviewed-on: http://gerrit.openafs.org/8142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d82a3d7e2c126950382e3db24e8494de5a1db2a0
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 07:00:18 2012 -0400

    linux: fix cache bypass applicability function
    
    don't allow cache bypass if execsOrWriters is true
    
    don't trigger cache bypass based on being larger than the
    "disabled" value of -1.
    
    Change-Id: Ic174b133e5da3e9215465c9c2705c25e81a8beca
    Reviewed-on: http://gerrit.openafs.org/8248
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8927d5f3055a730c86dc2b1149d73ee3cd16af18
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Oct 29 19:11:23 2012 -0400

    Linux: remove unused afs_set_name inline functions
    
    These were used in an earlier version of the patch that got merged.
    
    Change-Id: Ifc5ba94392a394d0fb55c31051b4b74211cfc1f0
    Reviewed-on: http://gerrit.openafs.org/8332
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f5a643ad6dbcbf1785eac274f9dec79ef65928f3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 20 23:14:41 2012 +0100

    Add opr/lock.h and tidy locking macros
    
    The MUTEX_* and CV_* macros leaked from RX a while ago - they mean
    that most of the pthreaded tree has a dependency on RX, as well as
    further confusing the difference between userspace and kernel.
    
    Tidy all of this up so that we have opr_mutex_* and opr_cv_* macros
    to handle portable locking, and use these throughout the userspace
    tree. Only kernel code should now use MUTEX_* and CV_*.
    
    Provide opr/lockstub.h as a header that can be used by non-pthreaded
    code to easily stub out these functions.
    
    Change-Id: I24be525c7667641134d50561ce7f1e2d752cdf1f
    Reviewed-on: http://gerrit.openafs.org/8280
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9607d0e7993f3dee7f70ae747ea9d0b8ba1404af
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 15:37:52 2012 +0100

    rx: Move transmit queue clearing
    
    When the client receives a data packet from the server, it means that
    the server has completed processing the client's request. This, in turn,
    implies that the transmit queue can be cleared. However, we were doing
    this with every incoming data packet.
    
    Move the transmit queue clearing to the code which handles the rest of
    the data packet, and make the function only run if the transmit queue
    is non-empty.
    
    Now that there's no client specific logic in the ReceiveCall section,
    clean up this code to reduce duplication.
    
    Change-Id: Ia4f9024720c676cbcc6d8426d4b94a0acded20bc
    Reviewed-on: http://gerrit.openafs.org/8301
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 96d50fc0e1d8b709a86d76318c8a1801cbff12d7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 15:23:48 2012 +0100

    rx: Refactor code to acknowledge a whole TX queue
    
    We acknowledge a whole transmit queue whenever an ACKALL packet is
    received, or whenever the call changes direction. As the same logic
    is used in both locations, pull it out into a common helper function.
    
    Change-Id: Ia91b037c73cc0dd612ebbd0bd38ec171ec7c96a5
    Reviewed-on: http://gerrit.openafs.org/8300
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8d359e6dff5317698597e77f0a1dd5ba2bfb569a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 14:55:02 2012 +0100

    rx: Remove duplicate out of order ACK check
    
    Once we've moved the congestion window, there's no going back. So
    any ACK packets that attempt to move the window backwards by including
    a 'firstPacket' value earlier than the current window position must
    be ignored.
    
    However, we check (and ignore) these packets twice. Once in
    rxi_ReceivePacket, which only checks in the client side case, and again
    in rxi_ReceiveAckPacket, which has a more complete check that runs for
    both client and server connections.
    
    Remove the identical check from rxi_ReceivePacket in a continuing effort
    to clean up this bit of code.
    
    Change-Id: I090bc289848d0797860f46aec5877ad07fcc9b82
    Reviewed-on: http://gerrit.openafs.org/8299
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit daeb917110f6b358d505eef50088bbb4573a6130
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 14:52:46 2012 +0100

    rx: Remove duplicate security layer check
    
    rxi_FindConnection checks that the connection it returns has a
    security layer matching that of the incoming packet. Don't duplicate
    this check within the rxi_ReceivePacket code.
    
    Change-Id: I03e7d50ecf84f638d8e222d77defc25b8a58627a
    Reviewed-on: http://gerrit.openafs.org/8298
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3c6570413c94afe4107634e9ca3f923f3cd30c21
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 14:50:51 2012 +0100

    rx: Refactor rxi_ReceivePacket call selection
    
    Refactor the call selection logic in rxi_ReceivePacket so that it is
    a little bit easier to follow, and better optimised to the common case.
    
    Split the current logic into a function for packets being received by
    a server, and a function for packets being received by a client.
    
    Change-Id: Ie27de7952cc13fa3b92619cfe68e671e6d5e170c
    Reviewed-on: http://gerrit.openafs.org/8297
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 26 12:21:41 2012 +0100

    rx: Don't build a call to immediately abort it
    
    If the server is over the busy threshold, then don't create a new
    call structure just to be able to send an abort on that call. Instead,
    use rx_SendRawAbort to send an abort packet on the appropriate channel.
    
    Change-Id: I02782fc25fe8ed7608b39e3f8355e2793f7526e3
    Reviewed-on: http://gerrit.openafs.org/8296
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0c9e55639cc02d90e9fd108572bb5ee64db3ddcc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 13:34:33 2012 +0100

    rx: Remove unreachable debug statement
    
    ReceivePacket has a dpf which is conditional on the packet having a
    zero callnumber. However, just before we reach this debug statement,
    we always return if the header doesn't have a call number included.
    
    So, the debug statement can never run. Just remove it, as it's
    potentially confusing.
    
    Change-Id: I5fad9f39c9a0c4aac50853aaf4f853b9f7715e61
    Reviewed-on: http://gerrit.openafs.org/8295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8e118de45cdf9987845d8d127c3c45cf1b77f01f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 12:01:04 2012 +0100

    rx: Always provide rxi_WaitForTQBusy
    
    Move the prototype for rxi_WaitForTQBusy to rx_internal.h, and always
    provide it (as a prototype for RX_ENABLE_LOCKS, and as a no-op for lwp).
    
    Remove all of the #ifdef RX_ENABLE_LOCKS around rxi_WaitForTQBusy calls.
    
    Change-Id: I6c2b943d6d06bf19d3cb4495201d278e3900b6ef
    Reviewed-on: http://gerrit.openafs.org/8294
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7e8278e1447328bc57396803a1651cbb497198d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 29 12:59:14 2012 -0400

    Windows: Set Server Prefs recalc immediately
    
    When processing the set server preferences pioctl call cm_RankServer()
    to update the server preference value reported by "getserverprefs"
    in addition to cm_ChangeRankVolume() or cm_ChangeRankCellVLServer().
    
    Change-Id: Iacd8d30865286c39a7cc02e2f659b8c684f8f4a4
    Reviewed-on: http://gerrit.openafs.org/8328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e59cf940ce1cb2ed72ccf05ce39f73019547d9b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 29 10:33:18 2012 -0400

    Windows: mark server reference offline for VOFFLINE
    
    cm_Analyze() was not marking the cm_ServerRef_t reference to
    a volume instance as srv_offline in response to a VOFFLINE error.
    As a result the same volume instance is tried again and again.
    
    Change-Id: Ic467f41e96408281e6251a796d2dfba3245bb023
    Reviewed-on: http://gerrit.openafs.org/8326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c7061310b7865c635c382490703ff951c2f9af3f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 29 09:19:13 2012 -0400

    Revert "Windows: Media Protected if create on RO volume"
    
    This reverts commit f3f282265a3d9e3c968fd06793e6d1a91337f443.
    
    Returning STATUS_MEDIA_WRITE_PROTECTED in preference to
    STATUS_OBJECT_NAME_COLLISION when the file results in silent
    failures by some applications (ie, Firefox.exe) when the
    first directory in the path below the share name is the
    root of a .readonly volume.
    
    FIXES 131416
    
    Change-Id: I342d9ff09ef68615371cf9d372f38fac854ed6c0
    Reviewed-on: http://gerrit.openafs.org/8325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4bc8d82d9a204b76fcf5208ded3a9a6ea917b734
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 11:57:22 2012 +0100

    rx: MUTEX_* are no-ops when !RX_ENABLE_LOCKS
    
    Remove any occurences of
        # ifdef RX_ENABLE_LOCKS
        MUTEX_ENTER(&mutex)
        # endif
    
    and similar for MUTEX_INIT, MUTEX_DESTROY and MUTEX_EXIT, as all of
    these operations are no-ops when RX_ENABLE_LOCKS isn't defined.
    
    Change-Id: Ic0f27b42d56ae4362ff095f1f08a06575c4ca2c1
    Reviewed-on: http://gerrit.openafs.org/8293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f224849f29343cf634c732b1672b4e81373de872
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 11:49:55 2012 +0100

    rx: Get rid of AFS_GLOBAL_RXLOCK_KERNEL
    
    Get rid of the AFS_GLOBAL_RXLOCK_KERNEL #define. RX used to have a
    single global lock locking mode, but none of our kernel modules use
    it any more. In fact, AFS_GLOBAL_RXLOCK_KERNEL is now only defined
    when RX_ENABLE_LOCKS is also defined. Simplify the code by renaming
    all of the occurrences of AFS_GLOBAL_RXLOCK_KERNEL as RX_ENABLE_LOCKS,
    and remove any cases where we're now doing unecessary tests
    
    Change-Id: I061d8d364c61168370b223cdac48ad161f0c9d74
    Reviewed-on: http://gerrit.openafs.org/8292
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9358e452a90c3d87f025a54e503da2b2d062dbef
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 11:32:03 2012 +0100

    rx: Don't have 2 different protos for rxi_CheckCall
    
    Use a single prototype for rxi_CheckCall in both the pthread and
    lwp cases. Remove the #ifdef maze at the call sites, and take advantage
    of the fact that MUTEX_EXIT reduces to an empty string in the lwp
    case.
    
    Change-Id: Iaa8c1b983f1c8372e9c2e1b90aaef25a2bc5f81f
    Reviewed-on: http://gerrit.openafs.org/8291
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e93b6dca2f593e479499122eedef1e65452aaaac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 25 11:27:33 2012 +0100

    rx: Don't double check conn->call
    
    We currently have
    
    call = conn->call[channel]
    if (call) {
       ...
    } else {
        call = conn->call[channel]
        if (call) {
           ...
        }
    }
    
    As we don't drop (or acquire) any locks between the first and the
    second check of call, there's no way that the result can be different
    from the first time we checked. So just get rid of the uneccessary
    code, and reindent the following block to match.
    
    Change-Id: If21a1d0af461fe0c0651e713dfb99a7c5f01cba4
    Reviewed-on: http://gerrit.openafs.org/8290
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c00c0effd18dd508051ebc4c7c8983b800f8a973
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 23 19:21:09 2012 +0100

    rx: Move bytesSent + bytesRcvd into app only data
    
    The call->bytesSent and call->bytesRcvd counters are only manipulated
    by the application thread in running calls. Move them into the app-only
    section of the call structure so this is clear.
    
    Change-Id: Ib7929a8e34bcb70c8cb9c1f89544adce0d627299
    Reviewed-on: http://gerrit.openafs.org/8288
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 6f8da199e5c694e0e9a90f4737a9a1618470389e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 23 13:35:43 2012 +0100

    rx: Don't use app-thread variable in SendXmitList
    
    The value of call->app.mode is changed by the application thread
    without taking the call lock. Instead of using this variable in
    SendXmitList to determine whether the queue should be flushed, add
    a new flag (RX_CALL_FLUSH) to control flushing behaviour.
    
    As call->flags is manipulated under the call lock, its value can
    be safely used by SendXmitList.
    
    Change-Id: I8416697f457e5003af08a35ac08809512b03a9be
    Reviewed-on: http://gerrit.openafs.org/8286
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ada1fc25679db5abc887fb52d30e32bb2713cae3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 23 12:41:07 2012 +0100

    rx: Make lock-free call data explicit
    
    For speed, the application thread accesses a number of elements of
    the call structure without holding the call lock. This is safe, as
    long as the application thread is the only place in which these
    items of data are accessed.
    
    Make this distinction explicit by creating a new structure to hold
    all of these fields, and include this structure within the rx_call.
    
    This turns up one place in the code (SendXmitList) which accesses an
    application private piece of data in the listener and event threads.
    A forthcoming patch will fix this.
    
    Change-Id: I7b5ffb8b5ce68a2186e37ae64461fe356a40603e
    Reviewed-on: http://gerrit.openafs.org/8285
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit c584b68213aef29f9df7fc104b584e8559b7d4fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 6 17:34:52 2012 -0400

    Windows: Makefile dependencies
    
    Permit "afsrdr" and "extra" to be built without the rest of
    the tree by making them depend on "config".
    
    Change-Id: I52e484f64d02e7f9b136164e10accdc981835ec0
    Reviewed-on: http://gerrit.openafs.org/8321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e9e5978a4dc3738708f23d15a3e91cee1f34a5f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 6 12:19:26 2012 -0400

    Windows: Send all \\AFS\PIPE to afsd_service
    
    Anytime there is a pipe service request, forward it to the
    afsd_service.exe and permit the service to manage the request.
    The prior implementation resulted in STATUS_FILE_NOT_FOUND errors
    being delivered when an unexpected service was requested.
    
    Change-Id: I2ae9c45db787c0cb422fa3fecdfb235631927415
    Reviewed-on: http://gerrit.openafs.org/8320
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f7148418961e3083b895c0875b15060213921e4d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 26 01:51:37 2012 -0400

    Windows: Treat EIO from file server as fatal error
    
    Return STATUS_DISK_OPERATION_FAILURE to caller when a file
    server fails an RPC with EIO.  Previous behavior was to retry
    the request indefinitely.
    
    Change-Id: I8fa3dbc92dda4e50e1331ad350dd697092f26985
    Reviewed-on: http://gerrit.openafs.org/8319
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5857dd36b2b129fd2cf187650723b896c24f5177
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 19 11:26:21 2012 -0400

    Windows: ObjectInfo RefCount 0 <-> 1 transitions
    
    When the reference count transitions from 0 <-> 1 ensure that the
    ObjectInfoLock is held exclusive to prevent the current thread from
    altering the state while another thread is holding the ObjectInfoLock
    shared in order to conditionally perform an action based upon
    the the reference count being zero.
    
    Change-Id: I5bcf384a0ea90e4896e55b537e92112ac3791a4c
    Reviewed-on: http://gerrit.openafs.org/8257
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fd7a16d5b09d963ded1fb4314632e9fb5d513b29
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 25 18:42:11 2012 -0400

    Windows: PrimaryVolumeWorker ObjectInfoLock deadlock
    
    Patchset eaad522651a81f20eac4966a55a731e0e59e39dd inadvertently
    introduced a deadlock with invalidation requests from the service.
    It is not safe to hold the ObjectInfoLock resource across calls
    to AFSCleanupFcb().  Instead of holding the lock obtain a reference
    to the ObjectInformationCB.
    
    Change-Id: I048401ec3e432c05c8a72251ef1e32442974256d
    Reviewed-on: http://gerrit.openafs.org/8308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 08d446424873c2d46b00b6d4604766051e5ba837
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 25 14:33:29 2012 -0400

    Windows: AFSCleanup re-organization
    
    Reorganize the activities of the AFSCleanup() for File FCBs
    so that the Fcb Resource can be dropped prior to issuing the
    cleanup request to the cache manager.   The cache manager can
    block for a long period of time while flushing data and holding
    the Fcb resource blocks all subsequent CreateFile requests.
    
    Change-Id: Ieaf3653ebf487670bce1043e73be093eb77a8736
    Reviewed-on: http://gerrit.openafs.org/8307
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3a996b58dea74be4748446c63b7d3c4c631b1881
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 25 14:31:14 2012 -0400

    Windows: AFSCleanup Flush Data decision
    
    AFSCleanup() should instruct the cache manager to flush dirty
    data when the Context Control Block indicates that the handle
    being closed was opened for writing and was granted appropriate
    permissions.   The decision to flush should not be dependent on
    the open handle count because the last handle might belong to
    an authentication group that does not have write permission.
    
    Change-Id: I4e181616f1c8eba9e4c6184e2035d9f6cbaba1d0
    Reviewed-on: http://gerrit.openafs.org/8306
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ea2f25372cc09c958780990f6cb8d064c7e7a0e3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 25 14:12:42 2012 -0400

    Windows: buf_DirtyBuffersExist return value
    
    buf_DirtyBuffersExist() should return 'found' not '0'.
    
    Change-Id: I037ce37d5fc8a63f563ded196925af930434fb16
    Reviewed-on: http://gerrit.openafs.org/8305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c33c678760e254e67037d62e38f6eedc139eaf6f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 22 20:40:21 2012 -0400

    Windows: AFSMarkDirty() require ExtentsResource held
    
    Instead of dynamically testing if the ExtentsResource is held
    and if not acquire it within AFSMarkDirty(), simply require that
    it be held.  AFSMarkDirty() is only called from one location.
    
    Change-Id: If30fc05fead4c9e0604555239e9b862659de3e8b
    Reviewed-on: http://gerrit.openafs.org/8304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3c57bab34ee74b4951cf637537ff73d86986fd3e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 22 20:34:59 2012 -0400

    Windows: AFSFlushExtents QueuedFlushCount leak
    
    The FCB QueuedFlushCount was decremented in all code paths
    but only incremented if the AuthGroup acquisition succeeded.
    Increment the counter before the AuthGroup checks.
    
    Change-Id: I3f58075124412cc4a7ac63dc6a7f90a91af369cf
    Reviewed-on: http://gerrit.openafs.org/8303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 651cceabc3e5f939554e50437b9ed3181b6f7b1f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 22 20:29:47 2012 -0400

    Windows: RDRFunction remove DebugBreak
    
    DebugBreak hard coded into the source tree makes debugging
    other unrelated issues difficult if the code path being executed
    includes them.  Remove them.
    
    Change-Id: I0f55b1fbccdbac13abecb4f4e9774b23fa57678d
    Reviewed-on: http://gerrit.openafs.org/8302
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f869b6f8c11f859fad6e3649faf7e724e0bd1d6d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 19 09:33:18 2012 -0400

    Windows: Promote DELETED from DirEntry to ObjInfo
    
    On deletion of the DirEntry in AFSDeleteDirEntry() set the
    AFS_OBJECT_FLAGS_DELETED flag on the ObjectInformation object
    if and only if the AFS_DIR_ENTRY_DELETED flag was set in the
    DirEntry.  Setting the AFS_OBJECT_FLAGS_DELETED should not
    be conditional on the ObjectInformatION ReferenceCount being
    zero.
    
    Remove the test and set of AFS_OBJECT_FLAGS_DELETED from
    AFSClose() because that operation will already have been
    performed in the call to AFSDeleteDirEntry() if necessary.
    
    Change-Id: Ib52f89633e6a343b08d408ef24b067c8fae73e0f
    Reviewed-on: http://gerrit.openafs.org/8256
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 89c200c5658b2605f446c393f904874d4c65a28c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 19 14:06:57 2012 +0100

    opr: Clarify opr_time copyright
    
    opr_time.h made it in to the tree without a copyright statement.
    Clarify that it is BSD licensed.
    
    Change-Id: Ifd6e3dff547337885e5e0bdc0d04e218b733ce44
    Reviewed-on: http://gerrit.openafs.org/8279
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit dc0441d0a2140e0d8138939cb84fc232d9e54650
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Oct 20 18:24:53 2012 -0400

    volser: comment with a list of all dump tags
    
    this is a list of all the dump tags currently defined
    
    Change-Id: Ie040f48b35ac5ec377e5d4184bcb8e47020d1d46
    Reviewed-on: http://gerrit.openafs.org/8281
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit eca04c7e52d1e777cde423cdf673d7bf579c342b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 20 17:59:01 2012 +0100

    Linux: Rework handling of names in the lookup functions
    
    Rework the name lookup functions in the kernel to deal more cleanly
    with the change of API for kernel 3.7
    
    Change-Id: I1de9e02cfedbbeee31e2793c443722d4eed57705
    Reviewed-on: http://gerrit.openafs.org/8278
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a550d64f8e0003e1cce538a83270b35be54f9957
Author: Magnus Ahltorp <map@kth.se>
Date:   Fri Oct 19 18:12:13 2012 -0400

    lwp: zero reused request blocks
    
    new blocks are calloc()d as zeroed. reused ones are not.
    zero them
    
    FIXES 131369
    
    Change-Id: I646c04d3d14ffc121d54e740a92803bb18f32091
    Reviewed-on: http://gerrit.openafs.org/8277
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 115850076c09625e37d75da6dc29a68b0a2d638e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Oct 19 18:31:53 2012 +0100

    Linux: fix afs_putname wrapper for pre-3.7 kernels
    
    Make the compatibility function use the right type for pre-3.7
    kernels.
    
    Change-Id: I9222a3dc5a923c97dc36f69485d9cd3ecc6810fb
    Reviewed-on: http://gerrit.openafs.org/8276
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0b538f21bea758a92f2bd9f8d529e8889c4a9e63
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 16 09:36:56 2012 -0400

    Windows: Remove 'bAllocatedFcb' from AFSCreate.cpp
    
    All functions now call AFSInitFcb() and the ObjectInfo->Fcb == NULL
    test is performed internally.  Therefore, it is not possible for
    the caller to track whether or not an Fcb was allocated.  It is
    irrelevant.  The Fcb will be cleaned up when the ObjectInfo is
    destroyed by the PrimaryVolumeWorker thread.
    
    Change-Id: I3255563e1b0c44082e4f390002d294ad333d534f
    Reviewed-on: http://gerrit.openafs.org/8242
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2bfe3653e3eec99a1199392912a4136668406212
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 7 23:41:32 2012 -0400

    Windows: PrimaryvolumeWorker do not pause if busy fcb
    
    The AFSPrimaryVolumeWorkerThread should not unnecessarily block
    on the FCB Resource because such blockage could be the result of
    of waiiting for extents to be delivered from the service.  The
    AFSPrimaryVolumeWorkerThread is the primary method by which
    extents are released back to the service.
    
    AFSCleanupFcb() is modified to return STATUS_RETRY if the Fcb
    resource cannot be obtained without blocking.
    
    The AFSPrimaryVolumeWorkerThread() does not call
    AFSCleanupFcb() with 'ForceFlush' parameter set to TRUE and
    remembers if STATUS_RETRY is returned.  If any Fcb was busy,
    then the worker does not wait for the 5 second timer to fire.
    
    Change-Id: If3eab06b902202483eb354362a4db6bc8167d0df
    Reviewed-on: http://gerrit.openafs.org/8227
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dfcb68cdc82260f614b2efed2529dc7c559d1933
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 19 08:37:25 2012 -0400

    Windows: avoid race set/clear ExtentsRequestComplete
    
    The FCB ExtentsRequestComplete KEVENT setting, clearing
    and testing was racy.  Clear the event before issuing the
    request to the service and if the request fails, set it in
    case two threads issued requests for the same FCB in parallel
    and one fails and the other succeeds.
    
    We must ensure that a clear does not mask the event being set
    prior to the request thread returning.
    
    Change-Id: I6d496214a2621aeca2b9f6d2f50095ffd19b6c59
    Reviewed-on: http://gerrit.openafs.org/8255
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 555412a03f18aff0d30401082ad2946a68bd7694
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 18 09:56:12 2012 -0400

    Windows: clear pending delete upon deletion
    
    During cleanup processing if the DELETE_PENDING flag is set
    the service will be told to delete the file when the handle
    count reaches 1.  At that point the file will be deleted
    and the DELETED flag will be set on the object info object.
    The DELETE_PENDING flag was not being cleared which could
    lead to confusion.  This patchset clears the flag after deletion.
    
    Change-Id: Ib30bb3a5c3a06b8971ac4523e6eacefaaed068ce
    Reviewed-on: http://gerrit.openafs.org/8253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 05fa1202fb63e32aff3c60d47286c8af232322fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 7 10:23:19 2012 -0400

    Windows: AFSInitFcb Check ObjectInfo->Fcb for NULL
    
    Now that AFSInitFcb is called under the ObjectInfoLock, it is
    once again safe to perform a test for ObjectInfo->Fcb != NULL
    and return immediately if an Fcb is already assigned.
    
    Change-Id: Id926b9ccf24c7761dbeacf42c53d7cc7d1375482
    Reviewed-on: http://gerrit.openafs.org/8226
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9eb4bcfced06554d08c0f95de54f2285f48de890
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 7 10:20:11 2012 -0400

    Windows: Fix DV Raced Trace Message Parameters
    
    Data Versions are logged as HighPart:LowPart not QuadPart.
    
    Change-Id: I7cfb712060fd602a1d20ca1d4f20b892820edf89
    Reviewed-on: http://gerrit.openafs.org/8225
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit eaad522651a81f20eac4966a55a731e0e59e39dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 5 11:36:45 2012 -0400

    Windows: Protect ObjectRefCnts with ObjectInfoLock
    
    The ObjectInfoCB.ObjectReferenceCount is tested to determined
    when it is safe to remove an FCB from the ObjectInfoCB.  The
    value must not be permitted to change while a removal is performed.
    
    Protect AFSRemoveFcb() calls with exclusive holds of the
    ObjectInfoCB.NonPagedInfo->ObjectInfoLock.  New functions:
    
      AFSObjectInfoIncrement()
      AFSObjectInfoDecrement()
    
    perform all increments and decrements while holding the
    ObjectInfoLock in a Shared state.
    
    Change-Id: If89b7668ef0a891d55b039d9516620b581c79e10
    Reviewed-on: http://gerrit.openafs.org/8224
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cecd99abd3837ef820d78fb15e450c8688b0f39b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 2 21:11:01 2012 -0400

    Windows: AFSPrimaryVolumeWorkerThread AFSRemoveFcb
    
    Do not call AFSRemoveFcb() on a directory entry whose Fcb
    has a non-zero use count.
    
    Change-Id: I0d733327c094f15a7b681eb1806a4fa9a4a6c151
    Reviewed-on: http://gerrit.openafs.org/8223
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8827be708460eb1cbd58001d3247ed7bb160ebc8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 2 21:07:21 2012 -0400

    Windows: Always AFSInitFcb and AFSRemoveFcb
    
    Instead of comparing ObjectInfo->Fcb to NULL and conditionally
    calling AFSInitFcb() or AFSRemoveFcb(), always call them and use
    InterlockedExchangePointer() as the test.
    
    Change-Id: I81915dfdfdf180c04ad2b4ff7506784a83ee8c2a
    Reviewed-on: http://gerrit.openafs.org/8221
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 23c920066976ac5ede41dd799c84d97ff5174c4c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 6 17:36:25 2012 -0400

    Windows: AFSRequestExtentsAsync and AFSDoExtentsMapRegion
    
    When calling AFSDoExtentsMapRegion() the FCB ExtentsResource
    must be held.   AFSRequestExtentsAsync() failed to hold the
    ExtentsResource across the call.
    
    Change-Id: I607cfb45725410c7f079b3be03002b002fccbea4
    Reviewed-on: http://gerrit.openafs.org/8220
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit edef37033cf08f7a383ef973f248d950eecd7624
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 07:32:50 2012 -0400

    lwp: add shared-locked macro
    
    we have a macro to check for write locked, add one for shared locked
    
    Change-Id: I2cd7754fd0e725df19b37f2a2234997cb4c34d3f
    Reviewed-on: http://gerrit.openafs.org/8252
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f821c7e5c82f32ad6435c56994f40e544ef69abb
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 07:28:33 2012 -0400

    memcache: add extend-entry function
    
    export directly and rewrite writevblk in terms of it
    
    Change-Id: I181f84428158e93e9bc6008ac9226958653a9409
    Reviewed-on: http://gerrit.openafs.org/8251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit df8709012b50eb0039463eeaa40b48727a4dbd7f
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 07:14:26 2012 -0400

    bypasscache: update threshold variable type
    
    if we're doing things based on size, we should allow storing
    a size
    
    Change-Id: Ibfb15c45b8b8c7a7c17154165da98c7a8518032a
    Reviewed-on: http://gerrit.openafs.org/8250
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5bd05894dd14bdbf845aa3f384f9d8dcac1286aa
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Oct 18 07:07:21 2012 -0400

    libafs: add partial background store
    
    add a bop that does a partial store
    
    Change-Id: I5971d2cda705a11c7fba7c0cfa54a3fa2d90f392
    Reviewed-on: http://gerrit.openafs.org/8249
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f6ab5cc8bd216383b8584aa05a5516862b59ab70
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 16 09:08:37 2012 -0400

    Windows: Remove Fcb.Specific.File.LazyWriterThread
    
    The LazyWriterThread should not be recorded in the FCB.  It is
    possible for multiple lazy writes to occur on a file in parallel
    in separate threads.  The value is not used for anything in any
    case.  AFSCommonWrite() tests the LazyWriterThread value but only
    if 'bMapped' is FALSE.  Since 'bMapped' is always TRUE, the
    comparison is never performed.   Remove the test and the value.
    
    Change-Id: Iddbb65d2125f39f0362aba72ae20ab2666944367
    Reviewed-on: http://gerrit.openafs.org/8241
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fe28a0c5966ac50fa3bccf5d98db4a3532f1e4a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 14 15:46:06 2012 -0400

    Windows: Add cm_SyncOp to cm_ReadMountPoint()
    
    Add a cm_SyncOp(CM_SCACHESYNC_FETCHDATA) call to cm_ReadMountPoint()
    to prevent multiple FetchData RPCs being issued for the same
    mount point at the same time.
    
    Change-Id: I7651f4505727289d800af060cc3ff5a5f449f447
    Reviewed-on: http://gerrit.openafs.org/8235
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7b1115d47019a9948c574ebad7b1323a30b16ab6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 2 21:09:35 2012 -0400

    Windows: AFSInitFcb assign pFcb->ObjectInformation
    
    In AFSInitFcb() assign pFcb->ObjectInformation before the
    InterlockedExchangePointer call and not afterwards.  Assigning
    it afterwards leaves a small race where the ObjectInformation
    value will be invalid.
    
    Change-Id: Ie79587e0b2f161b7ff612fc4fb283135bafd1085
    Reviewed-on: http://gerrit.openafs.org/8222
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7fd98901620cfb2f44f53b1d717834e39959c538
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 16 20:26:43 2012 -0400

    Windows: OpenTargetDirectory AFSInitFcb Reparse Test
    
    In AFSOpenTargetDirectory the test to determine if AFSInitFcb
    allocated a FCB or returned an existing one (STATUS_REPARSE)
    was reversed.  If AFSInitFcb was called and AFSOpenTargetDirectory
    eventually failed, an in use FCB would be freed.
    
    Change-Id: Ie5974fee5202685575f286fe4fef43dfdc0698cb
    Reviewed-on: http://gerrit.openafs.org/8244
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ae10a40c5c18a7e52fb11d95b28333e312ffffce
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 5 11:40:44 2012 -0400

    Windows: ObjectInformationCB indentation
    
    Fix indentation within ObjectInformationCB structure
    
    Change-Id: I004ca5a16fceb63522e3f244177e60e4459e507b
    Reviewed-on: http://gerrit.openafs.org/8219
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1335eefeffb70b0759015d39e6732ee075537982
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 6 01:40:47 2012 -0400

    Windows: Do not call buf_ClearRDRFlag unlink/rmdir
    
    When processing unlink and remdir operations initiated by the
    SMB stack do not call  buf_ClearRDRFlag.  The redirector upon
    receiving the AFS_INVALIDATE_DELETE call will cancel outstanding
    extent operations, mark the FCB deleted, and tear down any held
    extents.
    
    Change-Id: I5203dbe5489fcfd0a1c871c3e7aa6aa1a7d65e9a
    Reviewed-on: http://gerrit.openafs.org/8218
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 816776215de17d5cf4e1f992ae27c7c1f5b5f43d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 5 20:16:35 2012 -0400

    Windows: Correct alloc size SetFileExtents result
    
    AFSFileExtentCB objects not AFSSetFileExtentsCB objects.
    The latter are too large.  Just wastes memory.
    
    Change-Id: I2ffd1bfd639acc37e2d06bc61749d4ac93376668
    Reviewed-on: http://gerrit.openafs.org/8217
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c53220c179b06fdeb03879e8dc5e10f69bbe0a5f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 4 22:07:40 2012 -0400

    Windows: AFS_INVALIDATE_DELETE must cancel IO
    
    When processing an AFS_INVALIDATE_DELETE the redirector
    must cancel any outstanding extent requests on the file
    prior to tearing down the extents.
    
    This code path is triggered either when VNOVNODE is received
    from a file server or when an alternate cache manager interface
    (SMB) unlinks the file.
    
    Change-Id: I16c08c2469228b33ae4ece0e45a9890a057ab257
    Reviewed-on: http://gerrit.openafs.org/8206
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 611e80ee125214be038c6d9735dca0bd0b3a7cdf
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Oct 15 12:22:03 2012 -0400

    salvager: fix formatting in the rest of the Log messages
    
    right now some not-commonly-defined code fails to compile with warnings.
    fix it so it uses a format string like everything else.
    
    Change-Id: Ib35445db9800444f3ee74a43f17aeb6f2959645a
    Reviewed-on: http://gerrit.openafs.org/8236
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 170dbb3ce301329ff127bb23fb588db31439ae8d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 12 10:07:22 2012 +0100

    rx: Use opr queues
    
    Modify RX so that it uses opr queues throughout, rather than the older,
    non-type-safe rx_queue structure and macros. Attempt to clarify which
    items in a structure are queue headers, and which are linkage pointers.
    
    This has the knock on effect that including an RX header doesn't
    automatically give you rx_queue.h in your application's namespace.
    
    Change-Id: I1b3fbcd8c03f8153a557bd4532710bcebfe45818
    Reviewed-on: http://gerrit.openafs.org/8232
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit eca07c108cc61fc9a6da720848e1beb78833f670
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Oct 11 12:34:46 2012 +0100

    rx: Move server queue entry structure out of rx.h
    
    Hide the server queue management structure in its own header file,
    rather than exposing it globally in rx.h. This structure has always
    been private - applications have no business knowing about it!
    
    Change-Id: I97ac31e0e77dbe1c10b2804f33901d933a8f0627
    Reviewed-on: http://gerrit.openafs.org/8231
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a7828d50a82384e6d0fb0ad5b5a702f768029581
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Oct 12 16:31:24 2012 -0400

    libafs: Fix second pass in ShakeLooseVCaches
    
    Commit 3105c7ff introduced a two phase process for reclaiming
    vcache entries.  First go through the list and do what's possible
    without sleeping (skipping aliased dentries on Linux), then do
    a second pass only if necessary, allowing sleeping.
    
    Unfortunately the test for the end of the VLRU scan is incorrect
    and can never trigger, so this second pass was effectively disabled
    and any code that is conditional on defersleep=1 was never
    exercised.  The code to start the second scan also has issues.
    
    Fix the end of VLRU test, and also correctly set the variables
    needed to restart the scan.
    
    Change-Id: I8034cd3b79aab4f2976ab2559c13c102126480d7
    Reviewed-on: http://gerrit.openafs.org/8234
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fa3116567e2998af73eb116751032713850c9459
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Oct 15 12:26:09 2012 -0400

    Linux 3.7: putname is no longer exported
    
    putname is unexported in kernel 3.7.  Add a compatibility inline
    afs_putname function and open code it if necessary.
    
    Change-Id: I5416067566f6332d77e5d91ce2b9cf7bc0c96dce
    Reviewed-on: http://gerrit.openafs.org/8237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1571e9b9f6749511534ee47b62e97674bb10c3fb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 16 15:07:38 2012 +0100

    rxperf: Use libtool RX library
    
    Use the libtool built liboafs_rx.la, rather than using libafsrpc
    for OpenAFS
    
    Change-Id: Iffc32e512b6f8dd2a89bbc9774b0477236087b0c
    Reviewed-on: http://gerrit.openafs.org/8243
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit df3b4ff8420b38cdc7a45757b94e9613d7a7bdfa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 17 12:13:39 2012 +0100

    rx: Export some more functions
    
    Export some symbols that are required by rxperf
    
    Change-Id: I12d99a9ed1c025c838a4f80ecd61aadd19d20c4c
    Reviewed-on: http://gerrit.openafs.org/8245
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a2877368045947ca28c29283ef03f1510d764d4d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 11 14:23:02 2012 -0500

    rx: Skip rxi_CheckPeerDead if we are DALLY
    
    DALLY connections don't need to be marked dead, so just skip the whole
    function if we are DALLY.
    
    Change-Id: I8a70c93edb54be28cfda499bc8ce3b7b5b7db600
    Reviewed-on: http://gerrit.openafs.org/8120
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4532e96bb96ab6424c7c00327c094f9b5b307f91
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 11 13:59:21 2012 -0500

    LINUX: Ignore 'offender' in error queue processing
    
    The 'offender' is who generated the error, possibly who sent us an
    icmp packet (the given 'port' will be 0). What we want is the peer
    that is actually unavailable, which is already in the 'addr' variable
    we received from the recvmsg itself.
    
    Change-Id: I930293ca14f0e13ba09ee94b5a5d9cdc0f321743
    Reviewed-on: http://gerrit.openafs.org/8119
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 083ec556af66c755c93f821146e06423e27cfba9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 11 12:48:14 2012 -0500

    rx: Check for peer deadness in rxi_Resend
    
    If we need to resend something, the peer we're sending to may be dead.
    Check if the peer is dead in rxi_Resend, so we don't have to wait
    (possibly several seconds) for the next rxi_CheckCall.
    
    Change-Id: I0ecc0b1fc23bb4194ebadcea97dd58c938af8154
    Reviewed-on: http://gerrit.openafs.org/8118
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0ac9fe184a323fef212c421b844a45838f4d6e57
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 10 16:31:01 2012 -0500

    rx: Process all errors received
    
    When we receive a buffer of errors from the error queue, loop through
    all of them, and do not stop at the first applicable one we find.
    
    Change-Id: Iad928e0489041b360fe705ac397836650b30091e
    Reviewed-on: http://gerrit.openafs.org/8116
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c172d469dde64b5dfaf762c5ad52dfe842dffb02
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Oct 16 09:25:03 2012 -0400

    linux: always define do_handlesocketerror
    
    even if we are not handling socket errors, have a stub function
    
    Change-Id: I1f3c1631c5ddcf10e74612e13aafbae833bd5eaa
    Reviewed-on: http://gerrit.openafs.org/8240
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 37ef85d44a3275c1f367eaa6d241cd6d602a472b
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Oct 17 18:52:41 2012 -0400

    rx: pthread sendmsg should return success, not a bytecount
    
    thanks to Marc Dionne for noticing the error
    
    Change-Id: I6e5d8b6e3aa30cb0722aff1a9e538f23f40de441
    Reviewed-on: http://gerrit.openafs.org/8246
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    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>

commit 7c0484413d9928512b934ee92b2634444dd8ae58
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 7 17:04:18 2012 -0500

    LINUX: Allocate error queue buffer once
    
    We call osi_HandleSocketError in a loop, so make sure we process all
    of the errors. We were allocating a buffer to process the errors in
    osi_HandleSocketError itself, but we can reuse the same buffer on
    subsequent invocations, to reduce allocation/free pressure if we need
    to call osi_HandleSocketError more than once. So, do that.
    
    Change-Id: Idca2b9d21a48a868574ce6cfc5efe2efba3570a1
    Reviewed-on: http://gerrit.openafs.org/8115
    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>

commit cddd859d2a6a05a01c971c23dba0b43eceb6b93b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 7 16:58:05 2012 -0500

    rx: Process error queue after noticing errors
    
    If errors exist in the socket error queue, we will notice by a sendmsg
    or recvmsg returning an error. If we never get an error, we don't need
    to check the error queue. So, only call osi_HandleSocketError after
    such an error has been returned, so we can avoid unnecessarily
    checking the error queue when there are no errors.
    
    Change-Id: I7c8aaaac42728dac7fb0634538b8cc317f0e7212
    Reviewed-on: http://gerrit.openafs.org/8114
    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>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>

commit 9c2612bd33e15e77dc2cdf3051fcf43bdef22496
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 15:30:11 2012 -0400

    Turn on Linux rx error queue and PMTU handling
    
    Change-Id: I17822e9463b5e34bd43e96926a168a19773b2b21
    Reviewed-on: http://gerrit.openafs.org/7928
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit a812d28bbf5c847812423977be1ee679cc209893
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 10 16:49:34 2012 +0100

    Revert "Add some basic tests to check out fuse"
    
    This reverts commit 94bf003a720c9a883ba7ebf43ab3053d3072d3dd.
    
    The fuse tests are fundamentally broken as they stand:
    
    *) They rely on files that have not been committed to the tree. To
       function correctly the file fuse/conf/CellServDB must be present
    *) They always run, regardless of whether the fuse helper binaries are
       installed on the developers system, or even on whether the tree was
       built with fuse support enabled.
    *) They pass, even if fuse fails to start up
    *) The file fuse.sh is committed, despite being unused. This is
       particularly confusing, as it looks like this is where the tests
       are performed from (its not, testing is done in dynroot-t)
    *) fuse-log should be either cleaned up, or flagged as ignored in
       .gitignore
    
    Revert the commit until such time as all these issues can be fixed
    
    Change-Id: I5ff9a95f33c0a5d0614bb47c521a8770d92fe2eb
    Reviewed-on: http://gerrit.openafs.org/8230
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f0a57e9de6f361ea8ab357252dbd86d516a7cb83
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 10 14:45:03 2012 +0100

    tests: Reformat loopback tests
    
    Reformat the loopback tests to match our house style - 4 spaces for
    first indent, a tab for the second, and so on, opening brace of a
    function on a newline, spaces around assignments, and so on.
    
    Change-Id: I54f168ca143e7ff46c9d82289331b8314849f848
    Reviewed-on: http://gerrit.openafs.org/8229
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 072828a1f5447ef64f92b2c57b8681a4e254b0f8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 10 14:42:21 2012 +0100

    tests: Tidy up loopback adapter tests
    
    Remove the unused h_errno extern, which in turn removes the need
    for disabling strict prototype warnings in the Makefile
    
    Use roken.h, instead of hardcoding system libraries
    
    Change-Id: Ie654c77ff60ed14fc3b659fa3eb527535be71164
    Reviewed-on: http://gerrit.openafs.org/8228
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 78ae01fb9837d79e7bbdb2918872ab106d4c7e98
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Oct 12 16:25:43 2012 -0400

    Linux: osi_vcache: Fix loop for the hlist case
    
    An hlist is not circular, and the end is marked by a NULL next
    pointer.
    
    Change-Id: Iec7ad7e3e7ee989d548233b045aa8def1ebfb1dc
    Reviewed-on: http://gerrit.openafs.org/8233
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3237543afafae7191635fd8e8cada1f95e8abcff
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.
    
    Change-Id: I088d93a6c598a4d636224f4cf4c0d89454efcca8
    Reviewed-on: http://gerrit.openafs.org/8203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 720ff46271766ac88c704a03a5c2dfa30bcb843b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 3 14:44:46 2012 -0500

    sys: Split up syscall.lo 'echo's
    
    Currently we echo a string to syscall.lo to generate it. However,
    'echo' is often a shell builtin, and some shells (such as bash) do not
    interpret escape codes like \n unless the -e option is given. So, this
    results in syscall.lo containing a single commented line, which
    results in .libs/libafsrpc_sys.a not getting created, which later on
    causes errors.
    
    Instead, just split the syscall.lo generation into separate echo
    invocations, to make sure we work everywhere.
    
    Change-Id: I8a6ed42a0837086de604be0936d830f0f4558ebf
    Reviewed-on: http://gerrit.openafs.org/8202
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8a9f4244dced5cacbf0daca4060fb9e0625f4a2e
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Oct 3 10:32:34 2012 -0400

    afsd: consolidate macos event handling code
    
    in order that this can potentially be extracted entirely
    to a platform-specific file, (and possibly dbus-equivalents
    inserted also) consolidate the macos system events handling code
    
    Change-Id: I8fc4a96dc2590778a13f27610b383ee35626871e
    Reviewed-on: http://gerrit.openafs.org/8201
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0fc27471e7da0c5de4addcdec1bfbca5208072cc
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.
    
    Change-Id: Ie2a20d2f7af67799cfb8d30e72aa3e52a1ecc2d5
    Reviewed-on: http://gerrit.openafs.org/8197
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit be7fca06530829373149487b411611f579eae266
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Oct 3 10:27:37 2012 -0400

    comerr: no need to libl on macos
    
    libl is obsolete on macos; stop linking it
    
    Change-Id: If6e184b6a13ccd3f6b175e9dfbfae9a595322159
    Reviewed-on: http://gerrit.openafs.org/8200
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit a28b5e645a9699e30b21615bb0d3aa4876376ee0
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Oct 3 07:47:06 2012 -0400

    configure: make use of native build assist tools possible
    
    provide a way to run native rxgen, config and compile_et
    
    Change-Id: I9d1a2b4a1d4100fdc4a042005586e8fc40f39f7b
    Reviewed-on: http://gerrit.openafs.org/8199
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 94bf003a720c9a883ba7ebf43ab3053d3072d3dd
Author: Troy Benjegerdes <hozer@hozed.org>
Date:   Sun Feb 26 22:56:06 2012 -0600

    Add some basic tests to check out fuse
    
    Update makefiles to have 'make test' and 'make check' use the
    _nolibafs build version, since there are no tests that (currently)
    require the AFS kernel module to be built.
    
    Clean up fuse test copyright notice, Alphabetize configure.ac
    
    Change-Id: Icc95dd3393cd66f0d04fa5f6e8f806db60ca031e
    Reviewed-on: http://gerrit.openafs.org/8135
    Reviewed-by: Troy Benjegerdes <hozer-gerrit@hozed.org>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bb84ed0f5609ea64f75cb4188fe76d15c160f3be
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Oct 2 23:42:35 2012 -0400

    config: make makefile builder be a config tool also
    
    all of our helper tools should be configured in one place,
    so a cross compile can override them
    
    Change-Id: I35044832257fa3389504f79207aa423e39d1ad4a
    Reviewed-on: http://gerrit.openafs.org/8198
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit eae608d99a5ae94624200f91af6ed818c9f6612b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 2 15:04:47 2012 -0500

    afs: Use common cleanup code for lockctl EINVAL
    
    afs_lockctl has common cleanup code in the 'done' label. Use it here,
    instead of trying to duplicate it.
    
    Currently this code path appears to not be dropping the discon lock,
    which this rectifies.
    
    Change-Id: I136a78bc3235454db7e3d69bb79b0061cfcab265
    Reviewed-on: http://gerrit.openafs.org/8196
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5289b5bb81a90bfacbb9841ee6357c6f72358a6e
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 1 10:11:22 2012 -0400

    bos: convert struct bnode to use opr
    
    Convert struct bnode to use the common linked list code from opr.
    bnode_Deactivate() was converted but is unused by the code and isn't
    tested.
    
    Change-Id: I0edec453f15cf19e82088e3d361483cc5833f897
    Reviewed-on: http://gerrit.openafs.org/8168
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 549a5c04ee5ac78dbfde9ec96488e2ae3d5c822d
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 1 10:10:22 2012 -0400

    bos: convert struct bnode_proc to use opr
    
    Convert struct bnode_proc to use the common linked list code from opr.
    
    Change-Id: I30753ad10387b23509be0831d378772049f4be9d
    Reviewed-on: http://gerrit.openafs.org/8167
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fe32aec9d8a99db5d70440226ca4b61a78aac224
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 1 10:08:36 2012 -0400

    bos: convert struct bnode_type to use opr
    
    Convert struct bnode_type to use the common linked list code from opr.
    
    Change-Id: I21329aff81a91a79a1fcf525f4fdd3a22b33ec92
    Reviewed-on: http://gerrit.openafs.org/8166
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d3ed12ef497f2a98d07bbd442b866b9cdc7ceeb8
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 1 09:59:09 2012 -0400

    bos: split part of bnode.p.h into bnode_internal.h
    
    Move the bosserver specific parts of bnode.p.h into bnode_internal.h
    so that inclusion of bnode.h doesn't expose bosserver's internals.
    
    Change-Id: Id58714507211331a57c36eb71c1c3937fff0dd2a
    Reviewed-on: http://gerrit.openafs.org/8169
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 909639448ec803ee68f41dbacdd87eb516e0354a
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Oct 1 16:09:09 2012 -0400

    generated target updates
    
    tweak what's needed to build helper binaries for cross-compile
    
    Change-Id: Ib476716e1e32444f0b2aeb8cb8a1e91ab49471de
    Reviewed-on: http://gerrit.openafs.org/8173
    Tested-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 338014a231235fe25116b09c1e8978db2db1dbb3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 1 12:03:49 2012 -0400

    Windows: File Info Query Symlinks
    
    For Symlinks, always set the Reparse Point attribute and
    set the Directory attribute if the target is a directory.
    Do not return the file attributes of the target.
    
    Change-Id: I72dcde912c998e1ab3eea45426d019314e10e740
    Reviewed-on: http://gerrit.openafs.org/8171
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd59f6f6114a436ae86b70cd0837e97eea18dde8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 1 11:04:23 2012 -0400

    Windows: Dir Enum behavior for Symlinks / MPs
    
    Comparisons of the behavior of cmd.exe, powershell.exe, and tcc.exe
    with regards to directory enumeration show that when Symlink file
    information is returned that the "reparse point" data should be
    reported along with whether or not the target is a directory.
    
    For mount points, the reparse point file information should always
    be returned and the type should always be directory.
    
    The target timestamps, file sizes, etc. should never be returned.
    
    Change-Id: I0f899229061a282d0d218155407ffc4ab62ad377
    Reviewed-on: http://gerrit.openafs.org/8170
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 22d68eec6de654bdc6a8d5b005b86320a46ac8f0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 26 22:03:03 2012 -0400

    Windows: Move afsredir process type check
    
    The process type check in afsredir.sys was performed during the
    Process Creation callback which is processed in the context of the
    parent process which might not be the same type (32-bit or 64-bit)
    as the process being created.
    
    Change-Id: I6ae79a6dacf434a986c7bb0135b2238fcfeeb0cd
    Reviewed-on: http://gerrit.openafs.org/8165
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 137ea396dbbcf302bce8200e3da7d4693b464ca7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 13:01:53 2012 -0400

    Windows: Fix memory leak SRXAFSCB_GetCellServ
    
    In commit 19f1e0f7cf40c3da1d49c789358bd814f7e3b3eb strdup()
    was replaced by xdr_alloc() and memcpy().  Unfortunately,
    the patch was wrong and the pointer to which the result of
    xdr_alloc() was assigned was overwritten with zero.
    
    Change-Id: I0a9e6c03d67e2a1c811e84808fbbdd39f782ba87
    Reviewed-on: http://gerrit.openafs.org/8162
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ae8527269ca091d47a1232a0469921ba7c54f65b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 12:59:04 2012 -0400

    Windows: duplicate ExtentsResource hold
    
    All callers to AFSDoExtentsMapRegion() hold the ExtentsResource
    so there is no need to obtain it again within the function.  Instead
    add an ASSERT to confirm that the resource is held.
    
    Change-Id: Id34a3d650062d6e519a66732d248c136a92e4be3
    Reviewed-on: http://gerrit.openafs.org/8161
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5c348e5a9f276b45e2351e4c1adf2bafd4659484
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 14:32:06 2012 -0400

    Windows: make static RDR_ParseIoctlPath[Parent]
    
    The RDR_ParseIoctlPath and RDR_ParseIoctlPathParent functions
    are helper functions within RDRIoctl.cpp.   Make them static
    and remove them from the header.
    
    Change-Id: I5f3b68f87701e2d8423a01c236c7cb598c3ff743
    Reviewed-on: http://gerrit.openafs.org/8160
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1df112db3c06b6d16a027acbfe8739410630c66e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 14:31:11 2012 -0400

    Windows: remove reqp param RDR_IoctlWrite/Read
    
    The RDR_IoctlWrite and RDR_IoctlRead functions no longer
    use the cm_req_t parameter so remove it.
    
    Change-Id: I1c6f09da9e4a386f79dae1c15b0b2ccdce944d51
    Reviewed-on: http://gerrit.openafs.org/8159
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 63ded5bc452bf6cdd10db4d9e1befb9a71fad539
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 14:18:39 2012 -0400

    Windows: add cm_req_t to RDR_ioctl_t
    
    The cm_req_t structure flags store information related to
    the source of the request and whether the process is WOW64 or not.
    This information is required for proper pioctl processing.  Add
    a cm_req_t structure to the RDR_ioctl_t structure and initialize
    it in RDR_SetupIoctl() which is called from RDR_PioctlOpen().
    
    Change-Id: I351101f036f63bbb1f0d7b19e9b092b18a3e070e
    Reviewed-on: http://gerrit.openafs.org/8158
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ac97f8f5a6937398db7d1902ff6bab7adbc24f4a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 25 14:16:10 2012 -0400

    Windows: Add bWow64 param to RDR_InitReq
    
    Instead of using the pattern
    
      RDR_InitReq(&req);
      if (bWow64)
         req.flags |= CM_REQ_WOW64;
    
    add bWow64 as a parameter to RDR_InitReq().
    
    Change-Id: I2c02683ab857c6743b46e83dc3f9defa660263d0
    Reviewed-on: http://gerrit.openafs.org/8157
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c2e4112ffe44bc5c638a79f88eab0377ec992784
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 23 14:03:19 2012 -0400

    Windows: cm_ExpandSysName for 64-bit processes
    
    on 64-bit Windows, only 32-bit processes have the WOW64 request
    type flag set.   Reverse the conditional to permit proper evaluation
    of the 64-bit sysname list.
    
    Change-Id: I0bbad7b275b836ecaff73c69afdde08e17f310a7
    Reviewed-on: http://gerrit.openafs.org/8147
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 72f1f345ece09b1fbd113af17c9e8e25ec9dffa5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 25 11:16:35 2012 -0500

    RedHat: Avoid the DKMS escaping silliness
    
    Depending on the version of DKMS, the current MAKE[0] variable in the
    dkms.conf needs different numbers of backslashes. Commit 81a9a33e
    tried to address this by changing the contents of dkms.conf depending
    on whether or not we were on Fedora. However, the change occurred in
    DKMS 2.2, so if someone running RHEL tries to use a newer DKMS, this
    will fail.
    
    So instead of trying to guess at the level of escaping we need, just
    avoid needing to escape anything with backslashes. We can quote the
    heredoc marker to avoid variable expansion inside the heredoc, we can
    use a case statement instead of using backticks and local variables
    and such, and we can use single quotes for the outer MAKE assignment.
    With this, we should not need any backslashes when writing dkms.conf,
    so we should work with any DKMS version.
    
    Change-Id: I5484826c37da13ee383e08bbfeb473aa993e245e
    Reviewed-on: http://gerrit.openafs.org/8156
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 33ca19acbd0526014da6ac7beeb91f8aa9937676
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 24 15:06:10 2012 -0400

    afs: casting NULL is generally unnecessary
    
    Casting NULL shouldn't be necessary in most cases.  Eliminate this
    in favor of shorter lines and consistency.  Function pointers, variadic
    arguments should still be cast.
    
    Change-Id: Ibcd67378556e45c2b24f7aa85a4d73c72cd88e02
    Reviewed-on: http://gerrit.openafs.org/8151
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit cee87bde7c1099b526c6c14367f9351e028494c8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 26 21:37:33 2012 -0400

    viced: Remove unused gettimeofday calls
    
    StartTime and EndTime are set with gettimeofday(), but are not
    used for any calcualtions or statistics, and appear to never have
    been used.  There are platforms where gettimeofday is expensive,
    so remove the variables and the calls.
    
    Change-Id: I9ff8035377227cb07383ffea15b7e04f155e307f
    Reviewed-on: http://gerrit.openafs.org/8164
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 100cec69fbbb911762a3424a37c8a53b299136ea
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Sep 22 21:07:51 2012 -0400

    TESTS: Skip the volser tests if current hostname maps to the loopback network
    
    Change-Id: I35d16ba418d0ecd67ffbd54d564a515bf551fe8d
    Reviewed-on: http://gerrit.openafs.org/8146
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a060159b95c0d29afaee1e8eac5827c7f8b40e47
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Sep 26 07:37:11 2012 -0400

    auth: token jar handling should realloc correctly
    
    instead of reallocing n+1 tokens, we would realloc 1 token
    plus N bytes
    
    Change-Id: Idb5a20b5b9becc9d48cb645bbc0bd26459220ccd
    Reviewed-on: http://gerrit.openafs.org/8163
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5538633c9fc5677f2b9e0974b54153c9ccabab55
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 21 20:59:19 2012 -0400

    afsio: add -clear and -crypt option
    
    Allow the user to optionally not use encryption (and also allow
    user to ensure that encryption is being used).
    
    Change-Id: I3ad590e21f5139654b22c8284ea2634ce902a1b5
    Reviewed-on: http://gerrit.openafs.org/8138
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 54e413387391f643008b70b05dadb9545e3bc900
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Sep 16 21:01:04 2012 -0400

    DOXYGEN: Move the protocol and architecture docs into their own modules
    
    Change-Id: I1021d99c2479f9157e5c5b1fef10e5d975b35f86
    Reviewed-on: http://gerrit.openafs.org/8130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 10dbf19378b3d3f38b1be9387c7e9943ef219d19
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Sep 16 21:00:40 2012 -0400

    DOXYGEN: Add a simple index page
    
    Change-Id: I26dde9ae732841f04799f7b6ff79a994c450400b
    Reviewed-on: http://gerrit.openafs.org/8129
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d52398940d58ccdba4114a9975762f48cc24ad15
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Sep 24 20:47:00 2012 -0400

    Windows: Export a few more functions to afsauthent and afsrpc
    
    The following exports are added:
    
    libafsauthent:
        afsconf_SetExtendedCellInfo
        afsconf_PickClientSecObj
        afsconf_SawCell
        ka_PrintBytes
        ka_KeyIsZero
    
    libafsrpc:
        initialize_RXK_error_table
    
    Those functions are referenced by the bos code.
    
    Change-Id: I26898070c8e9dc7cac53f13c49dadf28d58457f4
    Reviewed-on: http://gerrit.openafs.org/8154
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 70c4369e893d6770f0f7b243c3e840c32b5a2a2b
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Sep 21 23:14:37 2012 -0400

    TESTS: Add a library to check for the default loopback network
    
    Change-Id: Id7bb92345e97309363fa5ddbff9147edf30ccd96
    Reviewed-on: http://gerrit.openafs.org/8145
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 58c089e642198a210462b3bf508056b56667f879
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Sep 21 20:08:58 2012 -0400

    bozo: fix typo in help text
    
    Fix a typo for "interface" in the help text for bosserver.
    
    Change-Id: I042fc52e46f50dd00be9fc9bf62525a0f2755dda
    Reviewed-on: http://gerrit.openafs.org/8144
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

commit 94115df4352b872ae096977d9a77fad935864688
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 24 11:31:29 2012 -0500

    LINUX: Avoid 'wakeup' define
    
    Make 'wakeup' a static inline function instead of redefining 'wakeup',
    so we can use the keyword 'wakeup' elsewhere.
    
    Specifically, 'wakeup' is used in some Linux kernel structures, so
    redefining it can confuse some things.
    
    Change-Id: I462903099426b4d2e940e749dd958e03a04f7eb1
    Reviewed-on: http://gerrit.openafs.org/8149
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 179096d9b2c461f02236bbf670b46597ff2d4c3c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 24 13:03:34 2012 -0500

    LINUX: Define printf/uprintf as variadic macros
    
    Instead of defining the string 'printf' itself, make printf (and
    uprintf) variadic macros. This avoids renaming printf to printk for
    things like '__attribute__((format(printf,X,Y)))'.
    
    Note that this is Linux-specific; compilers on other platforms may not
    support variadic macros.
    
    This avoids many warnings in the Linux kernel module build if we
    include Linux headers after AFS headers.
    
    Change-Id: I2b8ed67f25e93f559535e40680ecab6fe7579e9c
    Reviewed-on: http://gerrit.openafs.org/8150
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1046bf7904dd323e1cd1c1788870052c315ec2a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 30 17:10:36 2012 -0500

    rx: More afspag-specific objects
    
    For Linux, each object in the kernel module needs to be in only one
    module for KBUILD_MODNAME. For AFS_RXERRQ_ENV, we pull in some
    additional headers that require KBUILD_MODNAME in rx. So, just add a
    few more afspag-specific rx objects.
    
    Change-Id: I80b4a8648141856dffce6e26d5c034dffd8dd5cf
    Reviewed-on: http://gerrit.openafs.org/8113
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>

commit 0e68488ec1a8420511095b389a7d820b9e115f11
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 30 16:36:48 2012 -0500

    rx: Do not include linux/module.h
    
    This isn't available in userspace; we don't need it, so just don't
    include it at all.
    
    This was introduced in 9cd98379. I had thought it fixed a build
    failure, but I believe now I just made a mistake during build.
    
    Change-Id: If97d8e3204b27acd053ec021ddd8cd1527dad3c5
    Reviewed-on: http://gerrit.openafs.org/8112
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 347908cd0031c558c266ec412aa49200ae2b3204
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 11 18:46:42 2012 -0500

    rx: Save errno in LWP rxi_Sendmsg
    
    Much of this code examines errno or WSAGetLastError to determine what
    to do. However, some other operations between the actual sendmsg call
    and code that examines errno may modify errno. So, save the value of
    errno to ensure errno reflects the actual error we got from sendmsg;
    this also slightly simplifies some of the logic.
    
    Change-Id: I5a8643fce5d2e29131069743b14805bbc2428805
    Reviewed-on: http://gerrit.openafs.org/8110
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 27ee85123284b77004c757fec7cd6c9af3078e05
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 11 12:56:22 2012 -0500

    rx: Split out rxi_NetSendError
    
    This logic is duplicated in a couple of places. Just extract it into
    its own little function for easier modification.
    
    Change-Id: Iebcc460698beaee6f1cee4b4fb633b9a10e37213
    Reviewed-on: http://gerrit.openafs.org/8109
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit a7278eb5620507cd70086582cf539b4024b46194
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 24 14:20:07 2012 -0500

    doc: Fix Solaris 11 kernel module path
    
    For Solaris 11, the module goes in drv, not fs.
    
    Change-Id: Ib297239b845977eaf7e4cdb3edaba32db6733e12
    Reviewed-on: http://gerrit.openafs.org/8152
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 5ef5cf48f3d2ba52cf5ed428728215b5b5f8d0b2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 21 15:58:29 2012 -0400

    doc: solaris x86 kernel module path
    
    Add instructions for solaris x86 kernel module installation.
    
    Change-Id: Ib6756f609c21867f964a4ab03af322ee4eb1526d
    Reviewed-on: http://gerrit.openafs.org/8143
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit fe72b581d7c0a5285f109109ae7ed703f1d62b6f
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sun Sep 23 19:02:19 2012 -0400

    doc: fix kindle builds of documentation
    
    Use kindlegen located by the configure stage and test for
    kindlegen and dbtoepub before building in all cases.
    
    Change-Id: Ieb46023ddf0725a2c93f96e29f942b71343d53dd
    Reviewed-on: http://gerrit.openafs.org/8148
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit 4f42ff3c31a16c8aea8bb76227856615e0b3ccfb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 31 14:51:45 2012 -0500

    Pretty make output for tsalvaged, lib[u]afs
    
    Change-Id: I852f862c029cad60dc7871ab22367fb266314244
    Reviewed-on: http://gerrit.openafs.org/8108
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 112348b4a5721a2c0585669160b7ec7d1689eb30
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 2 15:02:09 2012 -0400

    doc: Add quotes to bos create in DAFS QSG section
    
    In appendix C in the QSG, we give an example 'bos create'. The given
    -cmd arguments should have quotes, or they will be interpreted as
    individual arguments to 'bos create'.
    
    Change-Id: Ie8b0a69908b3419af303716acce51e8d1e97837b
    Reviewed-on: http://gerrit.openafs.org/7930
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>

commit aea3c71e59ec30e84ca4e7383fd3b566ce94bbb6
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Sep 19 12:13:15 2012 -0400

    butc: clean xbsa shutdown on control C
    
    when we catch a control-c, do a clean shutdown
    
    Change-Id: I8da28c28d0a238d3642f65c381c399a883d6d4b1
    Reviewed-on: http://gerrit.openafs.org/8141
    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>

commit ba9cc212d782678cb32167b498efa82718b60b7f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Sep 18 20:29:06 2012 -0400

    quiet build: Define NOQ version of LT_LDLIB_lwp
    
    When the command is invoked within a case statement, we need the
    "NOQ" version of RUN_LD.  Add the LT_LDLIB_lwp_NOQ variant and use
    it under src/sys where LT_LDLIB_lwp causes a build error.
    
    Change-Id: I5af9c6cbbe9c3cf284d8e9aabb63d53bf5b056ea
    Reviewed-on: http://gerrit.openafs.org/8140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 71a5f2965d6a6ff3113e7d2f9cab7d687b502793
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Sep 18 14:46:37 2012 -0400

    libuafs: enable 64 bit mode on linux
    
    already safe and being used on other platforms; might as well
    here too.
    
    Change-Id: I1fe4c2459caaea873e5618d0b097a142dd935791
    Reviewed-on: http://gerrit.openafs.org/8139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 16bd729a06f6f30b0d1a3eba925a0371569c5508
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Tue Sep 18 11:41:55 2012 -0400

    libuafs: honor debug vs optimize setting from configure
    
    OPTF should not be forced on if the user specified debugging.
    side effect: use the OPTMZ setting for the platform instead
    of hardcoding here.
    
    Change-Id: Ib1cd4afebbd037938e2ee18e3bfc347b3690277b
    Reviewed-on: http://gerrit.openafs.org/8136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 43db9a73a2b34217b35c9d499bf685895a9e1390
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Sep 17 23:26:12 2012 -0400

    afsd: roken.h includes dirent.h; get valid dirent defines on osx
    
    our workaround for #define KERNEL didn't work on OSX because
    roken.h included dirent.h before we got the chance. cope with
    it.
    
    Change-Id: I5e580aa934cec4e99d62ba105873f71b11326e2f
    Reviewed-on: http://gerrit.openafs.org/8132
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 7b4d0cde3fcfb0a098b3108843dfbdefd555aa17
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 17 15:00:06 2012 -0400

    libuafs: use the pic version of opr for perluafs
    
    perluafs is a shared library, therefore we need to use the PIC version
    of the opr library (just like any of the other libraries that have two
    flavors and get linked with perluafs).
    
    Change-Id: I597f4f40010524d94341d343d3f54648a139f760
    Reviewed-on: http://gerrit.openafs.org/8131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b52d0b50ff4a8026eb4043898d8f070f960e511d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 15 16:02:26 2012 -0400

    make install fixes for libraries
    
    Don't install several libraries that have dependencies that are
    not currently installed, but install static libraries.
    
    Fix rule for libafsauthent_pic.a to get the library from .libs
    
    Change-Id: I746b111edf8a6d94ad98fcf235e34b4dac1eb050
    Reviewed-on: http://gerrit.openafs.org/8123
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d2674bf1fd3b2bcd0111f3b60029ca3529e7d8a5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 15 13:53:06 2012 -0400

    rxkad: silence unused variable warnings in v5gen.c
    
    Sprinkle AFS_UNUSED attributes where the compiler complains
    about unused variables.
    
    Note that this file is assembled from code generated by the heimdal
    source.  A similar fix exists in the generator code upstream, so
    when the file is re-generated in the future it should not be
    necessary to re-apply this.
    
    Change-Id: I2ef407428d90157050481d5630f6f22510d65ca3
    Reviewed-on: http://gerrit.openafs.org/8122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dca06bd10493eaea7565c42417bd0dbd0dc03b82
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 16 19:54:48 2012 +0100

    tests: Convert opr tests to use libtool
    
    Avoid the problems with libopr's dependencies by just converting
    the tests to use the libtool version of the opr library. While we're
    at it, make the tests pthreaded too.
    
    Change-Id: I4e570b288ea57c758c848be1d545e5ee59771ab9
    Reviewed-on: http://gerrit.openafs.org/8127
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 88fc3c6f4257561d30234651fc5ec46ea62b020f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 16 15:39:25 2012 +0100

    Split up libtool support into LWP and pthread
    
    Currently, the type of library you build is determined by whether
    the library is build in a pthread, or an lwp build directory. However,
    this prevents building an LWP library in a directory that builds
    pthreaded clients and servers.
    
    As we want to continue to provide LWP libraries for backwards
    compatibility, but move over to pthreaded binaries, this causes
    some issues.
    
    So, split up the libtool logic, so we have Makefile.libtool, which
    you include if you want to build a pthreaded libtool library, and
    Makefile.lwptool, for building a library which supports LWP and
    pthreaded use. These only affect how .lo files are built - so the
    .o files used for non-library objects are managed with the
    Makefile.pthread and Makefile.lwp includes as before.
    
    Change-Id: Ib1af48342253230abab9056eb15a3f79bd77a6de
    Reviewed-on: http://gerrit.openafs.org/8126
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 519f2b96c7ea84e7d78c558c6602960035e4c508
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 16 17:48:08 2012 +0100

    tests: Fix volser Makefile
    
    The volser Makefile had a bad path for liboafs_util, and was still
    directly pulling in some objects from the fileserver build. Fix it
    so that it uses proper libraries.
    
    Change-Id: Ic36c6a0f93c299bd04d48fa4238c4da5cbc571d4
    Reviewed-on: http://gerrit.openafs.org/8125
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f1b88f0713e49ed89a230364be9f12b62f2fe46b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Sep 14 19:23:55 2012 -0400

    libafsauthent: fix parallel build
    
    Same logic as ee18ccbe - we have to avoid building libafsauthent.la
    and libafsauthent_pic.la at the same time.  Add a dependency to
    force make to build them in sequence.
    
    Change-Id: I4b341d7688a249e0067c3917909259c813f26717
    Reviewed-on: http://gerrit.openafs.org/8121
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c4c51444ebd35fe0ceccde23512707ae693210ee
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Sep 13 17:28:17 2012 -0400

    FreeBSD major version numbers are multi-character
    
    Do not assume that there is only a single character before the dot.
    
    Change-Id: I45169a6faa5dbeafc4f9c57deaaad96bef8de613
    Reviewed-on: http://gerrit.openafs.org/8106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 23c23592f422ec7696f92a1c7a056c408b23692b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Sep 14 11:42:56 2012 +0100

    opr: Libtool archive should depend on symbol file
    
    There should be a dependency between the libtool archive
    liboafs_opr.la and the symbol map for the archive
    (liboafs_opr.la.sym) so the archive is rebuilt if symbols are added
    to, or removed from, the map file.
    
    Change-Id: Ifb0cd0a8abaa4c9b476c53cf186458ec0b8f8778
    Reviewed-on: http://gerrit.openafs.org/8107
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f11cd3725a6a50d6e4f7b899a1fd7b7e0cc160ab
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 12 10:59:16 2012 +0100

    afsd: Add missing variable for Solaris
    
    The Solaris 11 syscall code was missing a definition for the
    'error' variable
    
    Change-Id: Ia9a678435203994e1791824954d8c28c3cdefe17
    Reviewed-on: http://gerrit.openafs.org/8103
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit ba043e11022e87fae3fd04fd55c223aae788463b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 12 10:20:43 2012 +0100

    libafs*: Don't re-export opr/util functions
    
    On Solaris, a library can't re-export functions which come from one
    of its dependencies - so libafsrpc can't easily republish the 5 opr
    functions that are currently in the libafsrpc map file.
    Including the bits of the opr library that define these functions
    causes problems with then linking libafsrpc against libopr, which
    we do in a number of places.
    
    libafsauthent has exactly the same problem, with a few symbols that
    it pulls in from util.
    
    The affected symbols were all added relatively recently, and have
    limited uses outside of the OpenAFS tree, so just remove them from
    the export list so we are one step closer to building on Solaris
    again.
    
    Change-Id: If0a1105320e416ebc013ff670dddd5d247b06f6b
    Reviewed-on: http://gerrit.openafs.org/8102
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit b22b1ed356d885db04c0233bc82279ef6c8f40de
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Aug 31 12:18:21 2012 +0100

    Stop using libafsauthent
    
    Change-Id: Ieead3704e3210a1d88500ad1efa15bd2cad93bf6
    Reviewed-on: http://gerrit.openafs.org/8098
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 3c3d209a4f2a3efbd9fa1d3cd59e735a45a2d690
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Aug 31 11:13:06 2012 +0100

    libafsauthent: Build with libtool
    
    Construct the libafsauthent library with libtool. All libraries
    contributing to libafsauthent provide a libauthent_<library>.la
    convenience library, which we use libtool to combine into shared
    and static versions of libafsauthent.
    
    Change-Id: I76fa61eb027862eab730c4c86ab74a7b7e03c13b
    Reviewed-on: http://gerrit.openafs.org/8097
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit acfa4865d9fbeb43dc36a84784d5efa8d05007c7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 12 06:53:24 2012 +0100

    opr: Add hcrypto to the library list
    
    uuid needs hc_RAND_bytes, which means that liboafs_opr has a dependency
    on hcrypto (and, until hcrypto is libtooled, on libroken as well). Make
    this dependency explicit.
    
    Change-Id: I748a43f7a2125c12b566502580e149ad1d9c1164
    Reviewed-on: http://gerrit.openafs.org/8101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 630072828230bbe5bcf5ce608b5d25f2c4ba6f77
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 12 06:51:08 2012 +0100

    ptserver: Fix parallel builds
    
    It's not safe to have libtool building a blah.lo at the same time as
    gcc is building blah.o. A Makefile must exclusively use either the .lo
    or the .o form.
    
    Fix ptserver so that ptint.xdr.lo is the only one referenced, and just
    explicitly pull in the LWP object for the ptserver.
    
    Change-Id: I2e868d2d318c84e20bcccc0ffc462c87e4b7a2f2
    Reviewed-on: http://gerrit.openafs.org/8100
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit e52183033fdc83f927383ff432c9bd7e024051ba
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Aug 30 12:41:04 2012 +0100

    kauth: Use libtool
    
    Modify the kauth directory so that we use libtool to build its library.
    Unlike most of our other directories, kauth has few pthreaded consumers
    within the tree, so the libtool library itself is currently unused. The
    libtool conversion is done as a stepping point for libafsauthent, which
    does include kauth objects.
    
    At the same time, we take the opportunity to modify kaserver so that it
    uses libkauth, rather than referencing the library objects directly
    
    Change-Id: I9d261686753b30c415f767603d44c7ce6e10eed1
    Reviewed-on: http://gerrit.openafs.org/8095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1e53d5dae07635c4ceb425b394a648363c41c229
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Aug 28 20:10:04 2012 +0100

    volser: Use libtool
    
    Change-Id: Ic70476aa7258d12aafa7b06ae380012f040c65b6
    Reviewed-on: http://gerrit.openafs.org/8094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9ed998275cae289be7403717d9c6181c42196164
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Aug 28 08:18:45 2012 +0100

    vlserver: Use libtool
    
    Change-Id: I030ec62db64b6dab856d520e68d5d727cd7b8bb3
    Reviewed-on: http://gerrit.openafs.org/8093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 47e7ecf8578422644186a07976dda40e45f27287
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Aug 23 22:58:20 2012 +0100

    acl: Use libtool
    
    Change-Id: I589fc4d9b12bb23a34ef9145cd699e9ea2c4f496
    Reviewed-on: http://gerrit.openafs.org/8092
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 1e7de65899e3ae30b21b804606f2876fe748d8b8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Aug 23 22:18:49 2012 +0100

    ptserver: Use libtool to build a pthreaded libprot
    
    Use libtool to build a pthreaded version of libprot in src/ptserver.
    Make the tptserver directory just build pthreaded versions of the
    client and server, and link these against libprot
    
    Change-Id: Idc43de8c548f38584e78b35f9f1ecba3eb4b74d2
    Reviewed-on: http://gerrit.openafs.org/8091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 035a2ea4a1a26141508cf3fa5918d40b7be6fc90
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Aug 23 21:35:35 2012 +0100

    ubik: Use libtool
    
    Use libtool to build LWP and pthreaded versions of the ubik library.
    Both versions are built in the src/ubik directory. src/tubik is modified
    to only build pthreaded versions of the ubik test commands.
    
    Replace use of libubik_pthread.a with the libtool generated library.
    
    Change-Id: Id441fe00dbe801e38a108600bfbe06c292383872
    Reviewed-on: http://gerrit.openafs.org/8090
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit ee18ccbeeb54b76fcc3fc5952da58d1a505eef23
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Sep 10 20:49:19 2012 -0400

    libafsrpc: avoid concurrent libtool
    
    libtool gets confused if it is running two instances in the same
    directory, so make sure we build libafsrpc.la and libafsrpc_pic.la
    one after the other.
    
    Change-Id: Idfd16b1f4e1efe07822a300df798bf05e2df6bcd
    Reviewed-on: http://gerrit.openafs.org/8086
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit d72df5a18e0bb8bbcbf23df3e8591072f0cdb770
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Sep 11 08:59:13 2012 -0400

    cmd: exit status zero from -help
    
    Return of an exit status of zero when running commands with -help,
    instead of returning an error. By general convention, and in
    previous versions, tools do not not treat -help as an error.
    
    The AFS::Command perl modules, use -help as an introspection
    technique, and fail when commands run with the -help option returns
    non-zero.
    
    Change-Id: I6ecd95f6ccd07218a2657dbb4dbf1c13599159f4
    Reviewed-on: http://gerrit.openafs.org/8087
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1015a097bffef8b2d56050210d47a31ad32f5858
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Aug 23 20:48:21 2012 +0100

    auth: Use libtool
    
    Use libtool to build a pthreaded version of the auth library
    
    Change-Id: I452773e7fa159c278f5a7a7d21e77b6dd44c14bd
    Reviewed-on: http://gerrit.openafs.org/8089
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9c66a1a8f38736063fbf30e55ad46acfba36d540
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 12:59:30 2012 +0100

    audit: Use libtool
    
    Convert audit into a libtool library
    
    Change-Id: Ie95539596deb2cda2959f5c5ab822d291c08acc0
    Reviewed-on: http://gerrit.openafs.org/8088
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 95f2b8f92814bf66a1dfea9bd449f030e2300f3e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 13:13:15 2012 +0100

    Stop using libafsrpc
    
    Instead of using libafsrpc.a in the pthreaded server directories,
    use the libtool library variants instead.
    
    Change-Id: I4cdbaf5a060b3e5aa82fb0d79535cb4fdc850bcf
    Reviewed-on: http://gerrit.openafs.org/8074
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 8662592caedbcf8e065312fe142731faabe1eb77
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Mon Sep 10 11:20:26 2012 -0600

    add a simple backport policy to README.GIT
    
    This will clarify where patches should go, and who can do backports.
    
    Change-Id: Ie3efa6522382ea0cabc5847dbc1d75d59b04a403
    Reviewed-on: http://gerrit.openafs.org/8075
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4505af800206c0857245c8192710a00bdf08e51c
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Mon Sep 10 14:43:08 2012 -0400

    aix: add atomic support
    
    aix has an atomic facility. add support for it.
    
    Change-Id: Iaf1305fbafe1c0d7f0d22f14babfbea382c0b32d
    Reviewed-on: http://gerrit.openafs.org/8076
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 320f74653c24f334a28463f971fdf2064cc701ae
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 09:46:24 2012 +0100

    libafsrpc: Assemble with libtool
    
    Use libtool to assemble the libafsrpc shared and static libraries
    from objects built with libtool in each of the directories that
    contribute to the library (fsint, rx, rxkad, comerr, util, rxstat,
    sys and lwp).
    
    Each source directory controls which objects are built into the shared
    library by making a libafsrpc_<dir> libtool convenience directory. These
    convenience directories are then merged together to produce the
    libafsrpc library.
    
    Change-Id: I330aeb8df4c237b408a298826363eea7357339ce
    Reviewed-on: http://gerrit.openafs.org/8072
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 123c2ac285fb5a4968fbf4ab3a2565022d72d02a
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Sun Sep 9 21:42:09 2012 -0400

    opr: build and install pic library correctly
    
    previously we installed the same library as both the normal and pic variants.
    tweak to build a pic version also.
    
    Change-Id: I6b197d43184a9aa23aa65de663f8f5f08d486912
    Reviewed-on: http://gerrit.openafs.org/8073
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9220bd4adc6cf58b29fcdae053edd3b6f0165891
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 12:45:43 2012 +0100

    Don't explicitly build and link rx_pthread.o
    
    A number of pthreaded directories explicitly build, and link, with
    rx_pthread.o, in order to be able to send RX 'dpf' debugging messages
    to the server log, rather than to stderr.
    
    However, this direct linking causes build failures on some platforms,
    because we end up linking in a version of rx_pthread.o, twice and both
    versions contain identical linker symbols.
    
    As this functionality is only used for debugging, just get rid of the
    additional object.
    
    Change-Id: I6126891db2dcbc289f6a9f7b99c01d6af7a19089
    Reviewed-on: http://gerrit.openafs.org/8071
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c9e89088afc5989031e54cbd15e050bc92518433
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 09:39:59 2012 +0100

    fsint: Move to using libtool
    
    Move the fsint directory over to building a libtool library
    (liboafs_fsint). Because libtool requires that libraries have no
    unresolved dependencies, we cannot include the server side stubs in
    the libtool library.
    
    Change-Id: Ia3f009680ac510f522b806366985e557cd6e4219
    Reviewed-on: http://gerrit.openafs.org/8070
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 3f63d48dab4c46389fde6920189960c1f44494a2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 22:08:45 2012 +0100

    lwp: Build a pthreaded compat library with libtool
    
    The majority of the LWP directory isn't used by pthreaded applications.
    However, there are three files - fasttime.c, lock.c and waitkey.c which
    are used within pthreaded code.
    
    Eventually, these should live somewhere other than the LWP directory.
    For now, just build a small pthreaded library to hold them, so we
    can finish up with the libtool work before considering how to move
    this code elsewhere.
    
    Change-Id: I66281f7cd838c048fd982bbd0f756a16a10862d1
    Reviewed-on: http://gerrit.openafs.org/8069
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f29887631da6567b952c89c7cf0379f910863559
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 21:57:55 2012 +0100

    rxstat: Use libtool
    
    Change-Id: I4fd533691cf191b37c1f80038651b45efd142133
    Reviewed-on: http://gerrit.openafs.org/8068
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 972c45c0833171bb401ffe6d10719f050cc0cf4b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 11:55:26 2012 +0100

    rxkad: Add a libtool library
    
    Add liboafs_rkxad.la, a libtool version of librxkad.a
    
    Change-Id: I414dada02d202d8bdba4234f92d445b560dbb297
    Reviewed-on: http://gerrit.openafs.org/8065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 9953a23699044e9e8e5b70e83058578ba862a7cb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 9 10:19:53 2012 +0100

    rxkad: Use rxi_Alloc not osi_Alloc
    
    rx exposes the rxi_Alloc function to be used for memory allocation
    in security classes, not osi_Alloc which is private. Using rxi_Alloc
    means that allocations are counted in the general rx statistics.
    
    Modify rxkad so that it uses rxi_Alloc. This also restores symmetry
    in the allocator - the memory that's allocated by rxkad_server is
    already freed using rxi_Free in rxkad_DestroyConnection
    
    Change-Id: I3321355f2470974d3570dd911f06ea91c21d1c9d
    Reviewed-on: http://gerrit.openafs.org/8067
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 4fc7850a0c618443e3eb636ac5fe2f0e3202451b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 8 15:43:17 2012 -0400

    comerr, cmd, opr: fix library install targets
    
    Fix a couple of issues in the install targets following the libtool
    changes:
    - don't install liboafs_comerr or liboafs_opr, they're not ready to
    be exposed to the outside world
    - fix the libcmd.a install target to use INSTALL_DATA and the correct
    library name
    
    Change-Id: I2bf241cfff419d51bf170fdc871248e9b0c7ab33
    Reviewed-on: http://gerrit.openafs.org/8063
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 22ee485b5d3f7d70e8326967be9b705352338c3a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 11:26:51 2012 +0100

    Sys doesn't depend on auth
    
    Nothing in sys depends on auth headers, so remove the dependency
    
    Change-Id: Ic7d9b8e66c03f87d2de95166865d39feab8717af
    Reviewed-on: http://gerrit.openafs.org/8064
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 5563ff6674ddac87265d800878774532f6fa0dae
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 11:24:47 2012 +0100

    sys: Use libtool for pthreaded library
    
    Create a pthreaded version of libsys.a, called liboafs_sys.a
    
    On AIX, the sys library is special because it includes references to
    two syscall stubs - lpioctl and lsetpag. This means that we can't link
    the library with -no-undefined, as the references to these stubs are
    only resolved at run time.
    
    Change-Id: Iaae5923fe4eec7bc3f006e29df4e26e4ba8e5418
    Reviewed-on: http://gerrit.openafs.org/8061
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 564fe1e32989211312ccec56c8a8407e2cceea51
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 11:08:48 2012 +0100

    rx: Build libtool library
    
    Build a pthreaded, libtool, version of librx.a called liboafs_rx.la.
    librx.a remains for LWP applications to use. With this change, all RX
    objects are built in both the LWP and pthread cases, so some #ifdef
    guards are required to protect code that isn't relevant in a given
    build.
    
    Currently, all of our pthreaded objects use libafsrpc to get RX
    functionality, so this change is fairly minimal outside of the RX
    directory.
    
    Change-Id: I8e629e2319fb1964058e70c3c0c3ed548b09b22d
    Reviewed-on: http://gerrit.openafs.org/8058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit bdfe025b646036788095e39159e0566bb32007fa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 10:26:21 2012 +0100

    usd: Convert to using libtool
    
    Turn the libusd library into a libtool object (it has no pthread/LWP
    differences, and so can just become a pthreaded library), and include
    it as such in butc and the volser. liboafs_usd.la is the libtool
    object, libusd.a is preserved as a static object for backwards
    compatibility.
    
    Change-Id: I25c3d0f429415527fe529c3d3e5afbad9490ea45
    Reviewed-on: http://gerrit.openafs.org/8057
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 012b878576a1e7632622041d656e3aada51550d9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 09:14:18 2012 +0100

    util: Convert to using libtool
    
    Create a pthreaded version of libafsutil, named liboafs_util.la,
    and use this library in all of the pthreaded binaries that we build,
    replacing both inclusion of libafsutil.a, and direct compliation of
    pthreaded versions of the util source files.
    
    libafsutil.a is provided for legacy LWP applications, and the
    convenience library libafsutil_pic.a remains until we address the way
    in which the user space cache manager is built and linked.
    
    Change-Id: Ibdc3d6e2fe56ca6f5b882cf03991d1a2e32c62b2
    Reviewed-on: http://gerrit.openafs.org/8056
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 772e957b7196a214bcb39f06e9c864c6e5a02ac5
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Fri Sep 7 16:47:43 2012 -0400

    uuid: hashes are positive ints
    
    switch to unsigned
    
    Change-Id: I2a2dbde211d1de2c73bcf5fd0c9ef1704d0e0000
    Reviewed-on: http://gerrit.openafs.org/8060
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d36be5b8be5ac248b88224606c09257efab0718e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 23 21:43:57 2012 +0100

    cmd: Convert to using libtool
    
    Convert the libcmd and libcmd_pic libaries to being built using
    libtool. Historically, these have been built as LWP code, but they
    have no LWP dependencies, and no LWP-specific code within them. So,
    make cmd a pthread-only library.
    
    In addition to the libtool library liboafs_cmd.la, we build the
    legacy libcmd.a and libcmd_pic.a as convenience libraries. libcmd64.a
    (a 64bit variant, used solely by kdump), remains built through
    "normal" means.
    
    Update pthreaded users of libcmd to use the new liboafs_cmd.la. For
    now, non-pthreaded users are left alone.
    
    Change-Id: Id8445949754d1942f6e8752ae182b4e6f86fe94f
    Reviewed-on: http://gerrit.openafs.org/8055
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 11e0ce535d094579c58247bd6274e058fb7cd71c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Sep 7 13:51:29 2012 +0100

    comerr: Fix a couple of libtool problems
    
    The comerr libtool patch was submitted before buildbot had a chance
    to verify it. Fix a couple of problems that buildbot identified:
    
    *) On AIX liboafs_comerr needs to link against roken
    *) On OpenSuSe the LWP CC command has a space in it, so needs to
       be quoted before being passed in to lwptool
    
    Change-Id: I885099f57ef670ed58d532162b1cb70316744b28
    Reviewed-on: http://gerrit.openafs.org/8059
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit d6d2f2845072e75cdf1e21bd5d28aba70610bce7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 22 08:37:08 2012 +0100

    comerr: Convert to using libtool
    
    Convert the libafs_comerr library so that it uses libtool.
    
    comerr uses a pthread lock to protect the error tables, so it needs
    to be built as both an LWP, and a pthread library (previously, we've
    just built it as LWP, which is probably broken on some platforms, as
    it won't define -D_REENTRANT)
    
    libafscom_err.a remains as the LWP variant, and all pthreaded code is
    modified to use the libtool liboafs_comerr.la library.
    
    Change-Id: Id421cc97ad8681b42af7a5eb3cb512e1e1ce9a90
    Reviewed-on: http://gerrit.openafs.org/8054
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 61d417c1a3770f2a53ef883f9ec2ed077184ab1d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Sep 7 11:43:21 2012 +0100

    lwp: Fix stupid mistake in lock.h
    
    My earlier change to lock.h got the sense of the opr_Verify test wrong,
    so we would assert() whenever the lock call succeeded. Fix this, so
    things work again.
    
    Change-Id: I7e2fda473343c7b541d6ca120ef0977adcf35f62
    Reviewed-on: http://gerrit.openafs.org/8053
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit fe2641e35b9cf540132fdba828bdc097392a899e
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Sep 6 14:27:13 2012 -0400

    tests: deal with one more unsigned warning
    
    C90 wants this unsigned hint before it will dtrt
    
    Change-Id: Ic60b0336df7e8c4373582ffa352f4042ebc021c1
    Reviewed-on: http://gerrit.openafs.org/8050
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit f230eda87f33c31a3f69fc6c83cf2e77bbecaed2
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Sep 6 14:28:04 2012 -0400

    rx: initialize mutexes from globals
    
    in order to work around stupidity from macos linker.
    
    same fix as was needed in 0559a23d38f98280e2eb1c1e2fc91ae7a1798537
    
    Change-Id: Idb78abd74eef45cb3c9b212647dd6722c98e0cd5
    Reviewed-on: http://gerrit.openafs.org/8051
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit ef7cc7e3f50c7d443a84fbab6bf21a85e9796c5c
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Thu Sep 6 14:26:32 2012 -0400

    regen: look for glibtoolize also
    
    macos uses the g prefix to avoid conflicting with a system
    tool called libtool.
    
    Change-Id: I867f5c4aa7e7c21bf47087b05a58299e11a5b70a
    Reviewed-on: http://gerrit.openafs.org/8049
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit ed0624c32e671f8ae391a61ff8b870ecde740216
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Thu Sep 6 12:24:25 2012 -0600

    doc: fix examples of direct volume access
    
    Fix the Unix examples to use ":volume" instead of "#volume", and add
    a couple more examples.
    
    Change-Id: I2e7907b128248343d99136552ab791b9bf0246ca
    Reviewed-on: http://gerrit.openafs.org/8052
    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>

commit d77a99106de3ee758f532497c05a7994f96422b8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 5 20:45:01 2012 -0400

    tests/opr: fixes for the uuid-t.c tests
    
    It's always good to have a plan.
    
    Also, use correct mask when checking for DCE bit.
    
    Change-Id: I4ab72aeb89efbd63d2d15fdc57aea8d2c1eb13d9
    Reviewed-on: http://gerrit.openafs.org/8047
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 1f55bc7f08a2e0442e556542fece375746275d34
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 5 20:18:09 2012 -0400

    tests/auth: fixes for the opr libtool changes
    
    Add a missing line continuation backslash, and use the correct
    location for libafs_opr.la
    
    Change-Id: I52e44d36d9e1a9a0b3cd81c463f952072d4cbb48
    Reviewed-on: http://gerrit.openafs.org/8045
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 0dac4de8eee84a43ef06c56dfc867c2a1b9a9f0c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 5 20:25:55 2012 -0400

    Linux: drop GLOCK before calling dput
    
    Holding the GLOCK when calling dput can result in a deadlock when
    the kernel calls back into afs_dentry_iput.  It should be safe
    to drop the lock here.
    
    Change-Id: I8966aea7336b39b4c3ec265a53d820fc6135eeaf
    Reviewed-on: http://gerrit.openafs.org/8046
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: Derrick Brashear <shadow@your-file-system.com>

commit 777e03103f5eb05012ea1f7f23624515e4ed6bb4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 7 11:15:24 2012 -0500

    tests depends on viced
    
    Some of the tests code (specifically, that in tests/volser) depends on
    objects in src/viced being build (specifically, vldbint stuff). So,
    make 'tests' depend on 'viced', so they are built before we get there.
    
    Change-Id: I572c490cf7bd6c84beb8966783c38869b371a85e
    Reviewed-on: http://gerrit.openafs.org/7367
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 97dfe2b73c753bafedf8961ff4219ee4efdb350c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Apr 17 00:39:37 2012 -0400

    tests: modernize tests to compile in warning-as-errorland
    
    the tests haven't been loved as we've been killing warnings. clean up.
    
    Change-Id: I9c36114d3172c4a6347f5e890df6edb5caf796b4
    Reviewed-on: http://gerrit.openafs.org/7232
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit 35d5be2adf2456e26aa6b10935352dc19eb6b3f2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 18 17:55:09 2012 -0400

    afs: Do not avoid DNLC if fakestat is set
    
    Currently in afs_lookup we avoid putting an entry in the DNLC if
    'force_eval' is unset, in order to avoid populating the DNLC with
    mountpoint symlinks (we want the target of the mountpoint to be in
    there instead, the root dir). However, if -fakestat or -fakestat-all
    are enabled, 'force_eval' is always false, since we only set it to
    true under certain circumstances when evaluating mountpoints.
    
    To fix this, populate the dnlc for non-mountpoints, even if force_eval
    is unset.
    
    Change-Id: Ia2fef1bea9a08182715d587517f81074147aa4e7
    Reviewed-on: http://gerrit.openafs.org/7431
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 238b88624a8fef39557d397cc336c88bd8efc5b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 21 17:03:30 2012 -0500

    LINUX: Avoid symlink-y resolution limits
    
    Implementing the d_automount or follow_link function pointers for our
    directories means that we can hit symlink resolution limits during
    lookup, since we look like a "symlink". We can hit these limits pretty
    easily if there are just too many directories in the lookup path.
    
    Our pseudo-symlink directories cannot contribute to an infinite
    resolution loop, since our destination is always an actual directory,
    not a symlink that will result in more redirection. So, decrement the
    total_link_count counter when our d_automount or follow_link code is
    reached, so we do not contribute to hitting the max resolution limit.
    
    Note that this is not related to recursive symlink lookup (link_count)
    but only to the iterative symlink limit (total_link_count). Our
    lookups are not recursive here, and we are not causing more recursive
    lookups like a normal text-based symlink would do.
    
    Change-Id: Id6d2edd614388ac0890eb7591caec25d375964ce
    Reviewed-on: http://gerrit.openafs.org/8009
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b9a10641dd75fed9bbcd27f6ddbb2b9246f25fe7
Author: Daria Phoebe Brashear <shadow@your-file-system.com>
Date:   Wed Sep 5 13:41:48 2012 -0400

    opr: export uuid packing routines in the kernel
    
    these are actually kernel-safe. allow their use
    
    Change-Id: Id0b9e21701dcdf7e43f75a5a9b240cb7579a8d7b
    Reviewed-on: http://gerrit.openafs.org/8044
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d01ef1ccfb75bdb649abf5586b786bae0f3eeb1a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Aug 17 14:52:16 2012 +0100

    Tidy up library includes
    
    Tidy up the way that library inclusion is performed in the tptserver,
    tvlserver and tvolserver Makefiles by splitting the library list into
    common, client and server, using the appropriate list for each binary,
    and removing duplicate library or object includes.
    
    Change-Id: I5bde3f8b4105372c22984ccd486b145b434ae82e
    Reviewed-on: http://gerrit.openafs.org/8042
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@your-file-system.com>

commit f258e7dddeb4331d2cf4649541c1a3adfa7a416a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Aug 27 15:11:32 2012 -0400

    vos: convertROtoRW - prevent VLDB corruption
    
    vos convertROtoRW incorrectly marks the first VLDB entry as the
    new RW if the converted RO is not in the VLDB.  Correct this
    by creating a new valid RW site in the VLDB entry.
    
    Change-Id: I683ac10db90c2c41717c11c0d86eadc81a935e52
    Reviewed-on: http://gerrit.openafs.org/8037
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8c785b74c001e2cbfd1bafb35d2c18c55f287985
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 5 09:58:12 2012 -0400

    opr: add time initializer macro
    
    add a macro that can be used to initialize an opr_time
    
    Change-Id: Ib73fc03d8ba333a054fa073153edafb130b2292b
    Reviewed-on: http://gerrit.openafs.org/8043
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 03b87dffee1383c3cd5b1fed0ac3116fd8564187
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 30 11:48:34 2012 -0400

    bozo: dont lie when binding to any address
    
    Do not log the bosserver listening to just the loopback when it is
    actaully listening on any address.  The loopback address is still
    written to the bosserver.rxbind file in this case to give local
    scripts an simple way to contact the bosserver.
    
    Fixes the log message introduces in
    commit 9133aa6ed3a7fe2ae55b2d3242366ae277c7f726
    
    Change-Id: I48f3ff5a1f9a20881df11a41baf3da29e1d02576
    Reviewed-on: http://gerrit.openafs.org/8022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dd48cd3c67cd0a6d71f6f9bea5fd34dcddeefeeb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Sep 4 19:48:12 2012 -0400

    crypto: Fix assert macro
    
    Commit ab977738b inadvertently changed osi_Assert to opr_Assert for
    kernel code, causing the kernel build to produce an unloadable
    module with undefined symbols.
    
    Change-Id: I792359974ef21db97267847dfdf6c4b17c84328a
    Reviewed-on: http://gerrit.openafs.org/8039
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 50a6b047093092a72e925d143fe0d4c7587c2386
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Sep 4 17:09:00 2012 -0400

    viced: Make use of unused variable
    
    Commit c2d724dc introduced the now variable that was set but never
    used.  Use it in the remainder of the function where time(NULL)
    appears, which was probably the intention.
    
    Change-Id: I9cc25caf20dcfa466865c7fbf67893b022fdcc3e
    Reviewed-on: http://gerrit.openafs.org/8038
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8b84d9538c83261f65cb9b6fc51c0225798571e6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 21 18:04:32 2012 +0100

    opr: Convert to using libtool
    
    Convert opr so that it uses libtool. For backwards compatibility we
    still build libopr.a, but we do so as a static convenience library.
    
    As libopr.a may, in the future, be converted to an LWP library, change
    all of the pthreaded binaries so that they link against the libtool
    library liboafs_opr.la
    
    Change-Id: Icee04ff4745334f06ffba16df5bb07fc9dcc0b54
    Reviewed-on: http://gerrit.openafs.org/8034
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit b650106e301ecefe2f5c8f4a34081af1f5f74901
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Sep 4 09:06:44 2012 -0400

    vos: convertROtoRW incorrect warning when RO not in VLDB
    
    vos convertROtoRW will issue an incorrect warning about a partition
    mismatch if the RO to convert is not in the VLDB.  Only check the
    partition if the RO is in the VLDB.
    
    Change-Id: Ib2726bc5bf6697898ad26dc1d817143da3286ba3
    Reviewed-on: http://gerrit.openafs.org/8036
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 69f26ece3c4545ecc9099641f7a507796fe9dc77
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 21 08:57:05 2012 +0100

    Add libtool support
    
    Add support for using libtool to the Unix build system to build
    both pthreaded and lwp libraries. For purely pthread libraries,
    this just provides convenience macros to invoke the standard GNU
    libtool from the OpenAFS build system. For libraries that have
    lwp variants, we provide an initial wrapper script - lwptool,
    which handles building a non-PIC LWP object before asking libtool
    to build the pthread variants.
    
    For a given source example.c, example.o is the non-PIC pthread
    object, .libs/example.o is the PIC pthread object, and
    .lwp/example.o is the LWP object.
    
    To use libtool for a particular library directory, add the line
        include @TOP_OBJDIR@/src/config/Makefile.libtool
    to the file's preamble. Makefile.pthread, or Makefile.lwp should be
    included as normal to indicate whether the libraries in this Makefile
    are pthread only, or should be built for both pthread and LWP objects.
    
    The variables LT_current, LT_revision and LT_age may be used to control
    the version of the shared objects produced. They have the same meaning
    as that documented in the Versioning section of the libtool manual.
    
    The LT_objs variable should be set to a space separated list of the .lo
    objects included in the library. Note that there should _never_ be a
    dependency on the .o form of these objects in the Makefile, as this
    breaks parallel builds.
    
    LT_deps is a list of the libtool dependencies of the library, and
    LT_libs is a list of the external (non-OpenAFS) library dependencies.
    
    A file called <libraryname>.sym should be created which contains a
    newline seperated list of all of the symbols exported from this
    library.
    
    LWP library names remain the same as always. To distinguish the
    pthreaded static and shared libraries these
    
    LWP libraries should be linked using
        libexample.a: $(LT_objs)
                $(LTLWP_LDLIB) $(LT_objs)
    
    Shared libraries should be linked using
        libexample.la: $(LT_objs) $(LT_deps)
    
    (note that the pattern rules in the included Makefile take care of the
     build rule here)
    
    If necessary, static convenience libraries can be produced using:
        libconvenience.a: $(LT_objs)
                $(LTLWP_LDLIB_static) $(LT_objs)
    
    PIC convenience libaries can be linked using:
        libconvenience_pic.a: $(LT_objs)
                $(LTLWP_LDLIB_pic) $(LT_objs)
    
    Libtool libraries should be installed using the $(LT_INSTALL_DATA) macro
    
    Binaries linking agains libtool libraries should be linked using the
    $(LT_LDRULE) or $(LT_LRDULE_static) options, with library paths in the
    built locations relative to the top of the tree. For example
    
    example_test: example_test.o $(top_builddir)/src/example/libexample.la
            $(LT_LDRULE) example_test.o \
                         $(top_builddir)/src/example/libexample.la
    
    Change-Id: I32b162e8443119e8115febc532c5b5a0ec8fed32
    Reviewed-on: http://gerrit.openafs.org/8033
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0b31aba6a6aa9440bfa4e957d6e90cd6ae3c8b16
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 22 09:31:03 2012 +0100

    util: Don't use rx-internal locking macros
    
    The MUTEX_INIT, MUTEX_ENTER, MUTEX_EXIT and MUTEX_DESTROY macros
    are intended for RX internal use only (they're an abstraction
    interface so that the same locking code can be used in userspace and
    in the kernel). They aren't appropriate for general purpose use.
    
    Just use pthread calls directly for the serverLog locks.
    
    Change-Id: I8373eaa097c36f7d3a4c9b0501fc5e897372582e
    Reviewed-on: http://gerrit.openafs.org/8031
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7b1af325f12acc61cffd78b1b5ba580940c9b610
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:50:03 2011 +0100

    lwp: Don't depend on RX locking macros
    
    The lwp library should be independent of RX (in fact, bits of it are
    a dependency for RX). So, LWP cannot use the MUTEX_ENTER, CV_WAIT, and
    so on macros that RX defines.
    
    Just implement these natively within the pthreaded bits of lock.c to
    remove the dependency.
    
    Change-Id: I4cdb8313e791f253e84bbc4e256087e46a4c59bd
    Reviewed-on: http://gerrit.openafs.org/5396
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ab977738b1542bee2dd780285ec90ebeebdc32c1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 7 14:59:17 2011 +0100

    Further rationalise our usage of assert()
    
    This patch futher improves our usage of assert() and friends. The
    intention is to bring clarity to which forms of assert are used in
    which situations, and to solve the problem of assert(X), or
    osi_Assert(X) being used in a situation where X has side-effects.
    
    It introduces two new assertion macros opr_Assert() and opr_Verify(),
    and clarifies the usage of osi_Assert() and assert().
    
    *) opr_Assert is a direct equivalent of assert(), with the exception
       that its output can be redirected to a log file when used in server
       code. It is the preferred version of assert for libraries, and server
       side code. Note that whilst opr_Assert doesn't currently become a
       no-op when NDEBUG is defined, the intention is that it will do so at
       some point in the future.
    *) opr_Verify(X) asserts if the value of X is false. Unlike assert()
       it will always run X, regardless of whether the value is checked or
       not. The eventual intention is that when NDEBUG is defined,
       opr_Verify(X) => X
    *) osi_Assert is an assertion macro intended for use in kernel code,
       or in mixed kernel/userland code. When code is built for userspace,
       osi_Assert(X) => opr_Assert(X)
    *) assert is the system's own assert macro. It should only be used
       in client code. Whilst a header (opr_assert.h) is provided to map
       assert() to opr_Assert(), its use is discouraged
    
    Change-Id: Ie6d61305686bdc7193cc8690e6f4fbe363211faf
    Reviewed-on: http://gerrit.openafs.org/5395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 04c750b2fe3879126054f92804b37ad3b1b6340c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 09:12:13 2012 +0100

    lwp: Fast time doesn't need util
    
    With the rise of roken, the fasttime file no longer depends on util
    
    Change-Id: I2a1391d13bb39321666889dcfc2fbf43b181c749
    Reviewed-on: http://gerrit.openafs.org/8030
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2d724dc5b849340f37bb2af9d3f139c72903621
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 24 10:55:07 2012 +0100

    viced: Don't use fasttime
    
    For pthreaded builds, the FT_ routines are just wrappers around
    gettimeofday() and time(). As viced is now an entirely pthreaded
    directory, improve readibility, and reduce our dependencies, by
    just calling the operating system routines directly.
    
    Change-Id: I3812ac31bc5eb7d2fcbe47d037d4af3d489d3b81
    Reviewed-on: http://gerrit.openafs.org/8029
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 14141123da0c098fc168772277b14f114bf4af5d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 4 12:33:02 2012 +0100

    Fix aliasing problems in tptserver
    
    Commit f2db78a346112f5320efc6f0b6b9fe4ae0d893d3 disabled strict
    aliasing for ptutils.c and ptprocs.c when built in the ptserver
    directory. Similarly disable aliasing checks for these files when
    built in the tptserver directory.
    
    This doesn't actually fix the significant problems with these files,
    but doing so is going to require completely reworking the way that
    supergroups is implemented, so just disable these optimisations in
    the compiler for now.
    
    Change-Id: I6857ba83238a2c98a6540c795426f1a4038b70b3
    Reviewed-on: http://gerrit.openafs.org/8035
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e9e9719bba91ebc6a1362c6613552a70353aec29
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun May 20 17:43:10 2012 +0100

    log: Relocate pagsh
    
    Move the pagsh utility out of sys, and into log. This moves it closer
    to other token and PAG related utilities, and resolves a circular
    dependency between sys and auth.
    
    Change-Id: Ibbbfc0e3bebc9ecb70f05b137e10e65ff9e4aff6
    Reviewed-on: http://gerrit.openafs.org/8028
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1e76c59ea52b35f4d478fdbe85456160b1e9f8ec
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun May 20 12:57:00 2012 +0100

    auth: Relocate NetRestrict support functions
    
    Pull the NetRestrict and NetInfo support functions out of libutil,
    and into libauth. This starts to concentrate all of our configuration
    file parsing functions into the same place.
    
    It also gets rid of a circular dependency. NetRestrict parsing relies
    on functions from rx, so with this in libutil, we had the dependency
    chain util->rx->util
    
    Change-Id: I250d4d8264da8db61f603a06d1b7fdab44384cd3
    Reviewed-on: http://gerrit.openafs.org/8027
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6705646e8d6d12c165a159ca7b1318e2fd92a085
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 19 20:36:12 2012 +0100

    Use rk_rename from roken
    
    Rather than using our own renamefile() implementation on Windows,
    pull in rk_rename() from libroken wherever a rename which unlinks
    the destination file is required.
    
    Change-Id: Ied8ac26b90a0983283b02704328da123bdd4f4b2
    Reviewed-on: http://gerrit.openafs.org/8026
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8ab7e73fe2933aa3910b94fe28f6adf3e5c214fd
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Fri Aug 31 13:14:51 2012 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    4a438db29d361b7e5f47b86ced1482a96cde86ea (switch-from-svn-to-git-3008-g4a438db)
    
    New files are:
            roken/rename.c
    
    Change-Id: Ib32975e9ec7f3d6abf5557cfd37fb40f248d00f0
    Reviewed-on: http://gerrit.openafs.org/8025
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7c26b43413d08c732c017c28503b5635f0e45be2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 19 20:29:00 2012 +0100

    roken: Add rename.c to list of imported files
    
    Change-Id: I835bf47625b7f0b3e025df4388416d88f3c52506
    Reviewed-on: http://gerrit.openafs.org/8024
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 81c172343c17644a496dbe0d2ab48b7925c11cb4
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Aug 31 08:09:31 2012 -0400

    update libafsdep to include external without being in 3rd party dirs
    
    everything below src/external is managed out of other trees,
    put our libafsdep at the top
    
    Change-Id: I5f8e37afca30934f2f7befb17d1b19f4e3d12601
    Reviewed-on: http://gerrit.openafs.org/8023
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e5ba359f64b5d8d874a31a50694398c17f27cfa1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 29 14:14:39 2012 -0500

    LINUX: Detect non-vectorized aio functions
    
    In kernels before 027445c3, the functions generic_file_aio_read and
    generic_file_aio_write, as well as the fs operations aio_read and
    aio_write, do not deal with iovecs but rather just use a single
    buffer. Detect this, so our aio_read and aio_write implementations
    have the correct signatures.
    
    This removes several warnings on such kernels.
    
    Change-Id: I70aa0d43bac5545d83710806b58f36d13d7f6cc8
    Reviewed-on: http://gerrit.openafs.org/8020
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5daa08ea263b2a82b4a85abd61d72d4d1f48bbb6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 17 13:25:17 2012 -0400

    LINUX: make d_automount work properly on rhel5 kernels
    
    Recent centos/rhel 5 kernels (2.6.18-308.*) started providing the
    d_automount operation, but renamed the DCACHE_NEED_AUTOMOUNT flag to
    DMANAGED_AUTOMOUNT.
    
    Change-Id: I74811f8967d52ce482316b110e9dd616a4869a7f
    Reviewed-on: http://gerrit.openafs.org/8006
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 74c1881dff1593f4a8920ba8d8a2400760899fa5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 29 11:39:01 2012 -0500

    LINUX: Use struct vfs_path on RHEL5
    
    Some revisions of the kernel from RHEL5 (2.6.18-308.* and possibly
    others) renamed 'struct path' to 'struct vfs_path'. So, use
    'struct vfs_path' when it exists.
    
    This introduces the afs_linux_path_t typedef, which is defined as
    either a struct path, or struct vfs_path.
    
    Change-Id: I88c31125dbc1ab2998a521e3c57ed532bf2d5bb7
    Reviewed-on: http://gerrit.openafs.org/8019
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f87d49cd17fbf6aa9465faadac823ed8d0510a16
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 30 08:06:33 2012 -0400

    autoconf: add AC_CHECK_LINUX_TYPE macro
    
    add a macro which looks for a given type in a given linux kernel
    header file
    
    Change-Id: Id3b0bcf65241c635f0109ed370b3079da8cd5656
    Reviewed-on: http://gerrit.openafs.org/8021
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 911f751d1edfb18ddd5f6a699746ba14730d553d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 15 17:19:07 2012 -0400

    vldb_check: fix cross-linked mh entries
    
    When run with -fix, consolidate server numbers in vl entries which
    point to the same multi-homed entry. Use the lowest server number
    from the set of server numbers which point to the same multi-homed
    entry.
    
    Remove unreferenced address entries which are duplicate multi-homed
    indexes.
    
    Two passes of vldb_check -fix may be required; first to fix the
    vl entry server numbers; then to remove the duplicate address
    entries.
    
    Change-Id: I794cec4c176e8aab98a236a9700f58b1269a99bb
    Reviewed-on: http://gerrit.openafs.org/7999
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 579048cb1ec24b09a869928ceb521c8db4201a43
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 29 11:34:06 2012 -0500

    LINUX: Indent osi_machdep.h maze
    
    This one isn't so bad, actually, but it still benefits from some
    indentation.
    
    Change-Id: I08de26df7da79dfa506f033e0b8bc1d33cad441b
    Reviewed-on: http://gerrit.openafs.org/8018
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 87df877ae26405206c9157197d1f65974b4b4587
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Aug 24 15:04:40 2012 -0400

    libafs: actually set hasno64bit flag
    
    if we're starting a 64 bit data op, we should also end it,
    and vice versa.
    
    Change-Id: I1edef140f0c96d73f87759a80318a004196f22d5
    Reviewed-on: http://gerrit.openafs.org/8013
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2b13458498e8c27aa6eb1f2a777cf9bfe4488df
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Fri Aug 24 05:18:31 2012 +0200

    out-of-tree-build: extend configuration,
    
    namely libafsdep-files and configure-libafs.ac
    so that building the kernel-module on linux in a separate
    obj-directory works.
    
    Change-Id: Ie1664aa161fade012df7d23367eb7876912448e3
    Reviewed-on: http://gerrit.openafs.org/8012
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3c489db55811dfe3fdf5e555bf229989e5b58aa6
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Mon Aug 20 17:39:06 2012 -0400

    vos: convertROtoRW susceptible to VLDB changes during override prompt
    
    vos convertROtoRW obtains a VLDB entry, then peforms some setup logic
    (including a possible user prompt) before obtaining a volume lock.
    This exposes the code to possible time-of-check/time-of-use issues.
    After obtaining the volume lock, get a second copy of the VLDB entry
    and compare it to the first copy; if it has changed, fail the conversion
    with an error message asking the user to re-issue the vos convertROtoRW
    command.
    
    Change-Id: I9c1a634cea2e22188869d54b00b7831aed12b1cd
    Reviewed-on: http://gerrit.openafs.org/8008
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 185699e631ec3548bb6d1e68302d4a652632d3e6
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Aug 22 16:39:13 2012 +0200

    fileserver: add volume number to error-messages
    
    in physio. If things go wrong in ReallyRead() or
    ReallyWrite(), the admin would like to know which
    volume to salvage.
    
    Change-Id: Ic822412fec56ac5bb68f04d80713d94cbf977e71
    Reviewed-on: http://gerrit.openafs.org/8010
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8b6926e43f31a30a95e5883fd4b9e72924b3371d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 19:37:00 2012 -0400

    Linux: include kthread.h before afs includes
    
    We need to include kthread.h before the afs standard includes
    to avoid clashing with the printf -> printk mapping.
    
    Change-Id: I965916515bd14a5a08b0f280cf8e7f9935d8aa50
    Reviewed-on: http://gerrit.openafs.org/7988
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ec48dca871ef98adb69792a34047c6be5818f1b2
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 18:26:24 2012 -0400

    Linux 3.6: lookup inode operation API change
    
    The nameidata argument is replaced with an unsigned int flags
    argument.
    
    Change-Id: Ife07bb50ae7d747bd6256ea8238c4e19dbb5ee3f
    Reviewed-on: http://gerrit.openafs.org/7987
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7413cd09a53f89882a46fd100bf6c501348f2188
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 18:08:51 2012 -0400

    Linux 3.6: revalidate dentry op API change
    
    The nameidata argument is dropped, replaced by an unsigned flags
    value.  The configure test is very specific; kernels with the
    older API with a signed int flags value should fall through.
    
    Change-Id: I5939b089b023fe81e3824ac3f920c4b6a261d39a
    Reviewed-on: http://gerrit.openafs.org/7986
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 020e32779c103817ca89caa51259fb53bc3dde79
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 17:28:50 2012 -0400

    Linux 3.6: create inode operation API change
    
    The nameidata argument is dropped and a flag is added.
    
    Change-Id: I33692fc506e7eb9b8935a27ff3d10b713dfa6e5e
    Reviewed-on: http://gerrit.openafs.org/7985
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c633a92a1bc7881f18ee641082ff2efe7da1a8cb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 17:11:08 2012 -0400

    Linux: fix variable used to test for the iop create API
    
    Use correct variable when testing for the create API to use.
    
    This is just for looks - there is no effect since mkdir and create
    were changed in the same kernel release.
    
    Change-Id: I9e43cc80d3817ee8a6c339c4ae98a1a2ab0851a1
    Reviewed-on: http://gerrit.openafs.org/7984
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6bea047fb404bde828c6358ae06f7941aa2bc959
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 13 21:55:25 2012 -0400

    Linux 3.6: d_alias and i_dentry are now hlists
    
    The d_alias pointer is now the head of an hlist.  This means the
    iterator is a different macro and has no "reverse" version since
    hlists have no direct pointer to the list tail.
    
    inode->i_dentry gets the same treatment.  Adjust where we use it.
    
    Change-Id: Ibcdd8ab6f8a571a8f94c646949ebe0503f075574
    Reviewed-on: http://gerrit.openafs.org/7983
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8766a65e97eb90cb6c97ccd35181c441ece14f8a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 13 21:36:15 2012 -0400

    Linux 3.6: dentry_open API change
    
    dentry_open now takes a path argument that combines the dentry and
    the vfsmount pointers.
    Add a configure test and a new compat inline function to keep things
    cleaner in the main source file.
    
    Change-Id: Ia29422d60d438cf4c795840566d4610649aa1f10
    Reviewed-on: http://gerrit.openafs.org/7982
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 049c485b4a39ba510035788b4959d839ef668c55
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Aug 14 16:34:42 2012 -0400

    Linux 3.6: kmap_atomic API change
    
    kmap_atomic no longer requires a KM_TYPE argument.  Test for this
    and adjust the affected code.
    
    Change-Id: I3a9e0018124d40be51cc509ac00d9250a5e8e76d
    Reviewed-on: http://gerrit.openafs.org/7981
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0a8256a26fafb490b454f2a857b0c15d859572c5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 13 20:32:08 2012 -0400

    Linux: bypass: consolidate copy_page macros into a single function
    
    The copy_page(s) macros are very similar; combine them into a
    single function that can be used for all cases.
    
    This will make it easier to add some pre-processor logic around
    the kmap_atomic calls to adapt to Linux API changes.
    
    Change-Id: I6daf7cb8ce49b743cc1b4532da91d9625a90d0ca
    Reviewed-on: http://gerrit.openafs.org/7980
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bf1131fd33e71a18a0aef1cb21038144286fd28a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 16 18:04:22 2012 -0400

    vos: use the roken max macro
    
    Use the max macro provided by roken. Fixes builds on
    solaris.
    
    Change-Id: Id429fe816284a1017082054e02a830a2a952c26b
    Reviewed-on: http://gerrit.openafs.org/8004
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 99238baed75205fd7a1885ed6b8fc8505d4faf95
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Aug 16 17:26:07 2012 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    4a438db29d361b7e5f47b86ced1482a96cde86ea (switch-from-svn-to-git-3008-g4a438db)
    
    Upstream changes are:
    
    Michael Meffie (1):
          drop __restrict some more, to please old compilers
    
    Change-Id: Ibe62c9abd661793d11f379c13cc3b93f198a1e8d
    Reviewed-on: http://gerrit.openafs.org/8003
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6e2dd6e65cae4157538c29fb4362da4d15406b0e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 15 00:53:21 2012 -0400

    Windows: disable short names on Win7 and 2008 R2
    
    After listening to a presentation from Microsoft's file system
    team and speaking with anti-virus vendors, it is not only safe
    to disable ShortNames on non-boot volumes in Win7 and 2008 R2
    but it is a definite win for performance, stability and security
    of the system.
    
    Change-Id: I706a8a17b0ae76189aeebaf254c8c70739d12f09
    Reviewed-on: http://gerrit.openafs.org/7989
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a72c9bc861cb47d956b80fd81dde59b6f4c13ea0
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Jul 30 22:16:40 2012 -0400

    afs_server: afs_SetServerPrefs() can never be called with null
    
    The one and only call site never calls afs_SetServerPrefs() with a
    null pointer, and some but not all of the paths through the #ifdefs
    assume this.  Remove code that checks for this; it confuses both
    humans and the static analyzer.
    
    Change-Id: Ie3f7319cebde9ec3078af2defcebb80692aa95f2
    Reviewed-on: http://gerrit.openafs.org/7912
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3bb8e4c396d8894c7c0f71f121f5844f940516bf
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 17 17:20:13 2012 +0100

    opr: Add opr_jhash_opaque
    
    Add a function which can be used to obtain a hash of an arbitrary
    opaque string of arbitrary length
    
    Change-Id: I9e6aa29fa06a54976b81eda399c8838b73007962
    Reviewed-on: http://gerrit.openafs.org/7978
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit beb8f07496f59a19621bb0db14b401107888de35
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jul 28 13:17:55 2012 -0400

    vlserver: use the logging function to log
    
    Use the logging function to log instead of printf.
    
    Change-Id: I377474881830152c93122bd3112e355ab5fd56ad
    Reviewed-on: http://gerrit.openafs.org/7895
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6f6bfb31acb0cfbe166d4df9f06a12bbdec0f496
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 17 16:50:59 2012 +0100

    opr: Add UUID handling functions
    
    Add a set of functions to the opr library to handle creating and
    manipulating UUIDs.
    
    The opr_uuid_t type is held as a 16 octet character string, which
    comprises the UUID encoded into network byte order. This is the
    primary form for manipulating UUIDs with this library, as it avoids
    any nbo/hbo problems.
    
    For applications which require raw access to the UUID components,
    the opr_uuid_unpacked structure is provided, and
    opr_uuid_pack/opr_uuid_unpack can be used to convert to and from
    this format.
    
    Finally, functions to print the UUID as a string, and parse a UUID
    from a string, are provided. When printing, we use the standard UUID
    format of 000000-0000-0000-0000-00000000. However, the afsUUID library
    used to print UUIDs as 000000-0000-0000-00-00-00000000, so we also
    accept this format.
    
    Change-Id: I78ef79b7ab8ae15fb955c6495118722875c94f8d
    Reviewed-on: http://gerrit.openafs.org/7977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b251b4057252163f3fad640cb5574c8dea9babc3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 17 17:15:15 2012 +0100

    opr: Convert jhash to use AFS types
    
    Convert the jhash.h header so that it uses afs types (afs_uint32)
    rather than stdint types (uint32_t), so that we can use it in kernel
    
    Change-Id: I65138c7d1ab8d22c71b3f1722b334dcb20c9b204
    Reviewed-on: http://gerrit.openafs.org/7976
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 575d92b96cdd13b6935e7b5183f90a6d357d5b15
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 17 17:12:51 2012 +0100

    hcrypto: Export hc_RAND_bytes
    
    Export the RAND_bytes function from hcrypto, so that we can have
    access to hcrypto's random number generator from generic code.
    
    Change-Id: Ie46bdf0b7818b10f0311ae3029c27a15382ffd7a
    Reviewed-on: http://gerrit.openafs.org/7975
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2758aa7171063ac9a3c9943ad04115d21dfd8cb4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jul 9 10:27:17 2012 +0100

    rx: Add the add_and_read function to our atomics
    
    Add rx_atomic_add_and_read, which lets us get the new value out
    of an atomic addition operation.
    
    Change-Id: If74b1357390329b8c59042d3154491a103fe0d6c
    Reviewed-on: http://gerrit.openafs.org/7974
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b440d8ffcbb0ac58ecaa34a9c60fe27a0fc91026
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Tue Apr 10 16:26:42 2012 -0400

    libafs: use kthread_run when available
    
    Use the kthread_run interface on linux to create kernel
    threads.  This interface allows all the cpus to schedule
    afsd threads, instead of just inheriting the cpu affinity of
    the main afsd thread.
    
    Written by Tom Keiser.
    
    Change-Id: I69eb852d168bd85e9aa7ec075013c0346207dbcf
    Reviewed-on: http://gerrit.openafs.org/7915
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 355b8c73ed5adc5c182cf29561cc360ef4674f9e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jul 28 11:37:59 2012 -0400

    vlserver: fix vldb header initialization
    
    Avoid creating new vldb files with zeroed header data.
    
    The code path is as follows; The call to Init_VLdbase makes several
    passes. On the first pass, the header is found to be empty, and so a
    write lock is obtained on the second pass.  On this second pass,
    UpdateCache creates a newly initialized header and writes it to the
    db.  The rd_cheader is set to the newly created header data, and the
    wr_cheader is still cleared at this point.
    
    When the transaction on the second pass ended in Init_VLdbase, the
    data is committed and vlsynccache() is called.  In this call to
    vlsynccache(), the cleared write header buffer (wr_cheader) is
    copied over the newly initialized rd_cheader buffer.  Init_VLdbase
    then returns to the caller, and if the caller writes to the db, the
    header on disk is then cleared.
    
    Instead of initializing the read header buffer when rebuilding the
    db header, initialize the write header buffer. When the ubik
    transaction is ended, the call to vlsynccache() updates the contents
    of the read header buffer with contents of the new/rebuilt header.
    
    This error was introduced with commits:
      a0f416e3504929b304fefb5ca65e2d6a254ade2e
      1f532d099b8b084d43dd0140890448464325b602
    
    Change-Id: If9c178bf28c55c50311554b12ffff9404785d052
    Reviewed-on: http://gerrit.openafs.org/7894
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fdd3b0fb1f8e6948c651d7f1822d17a78668e5ff
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 28 17:12:24 2012 -0400

    vldb_check: remove unreferenced mh entries with -fix
    
    When running vldb_check with -fix, clear any mh extent entries which
    are set but are not referenced by an address entry in the
    IpMappedAddr table.  These unreferenced entries already generated a
    warning.  This commit adds the feature to clear the unreferenced mh
    entries using vldb_check -fix option.
    
    Change-Id: I941d714c825d7990083ecd15fd7bd9cd3b5917b3
    Reviewed-on: http://gerrit.openafs.org/7616
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 08e803bce3375bb69a01715b026d844b7a8e0ab3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jun 29 18:10:31 2012 -0400

    vldb_check: warn about cross-linked mh entries
    
    Warn if an mh extent entry is referenced by more than one server
    number in the IpMappedAddr table.
    
    The serveraddr table is used to determine which server numbers have
    IP addresses.  If, for some reason, multiple server numbers
    reference the same mh entry, currently, the correct serveraddr value
    is calculated only for the lowest server number in the set of server
    numbers which reference the same mh entry.  Handle this case, and
    warn about the duplicated values in the IpMappedAddr table.
    
    Warn about IpMappedAddr entries which reference non-existent mh
    blocks.
    
    Change-Id: Ife5bb44747fff922ae6536edbfd95d0fb98c303b
    Reviewed-on: http://gerrit.openafs.org/7615
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit aaa1844b8f806513661d16c6429d4d1b890471f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 13 17:56:02 2012 -0400

    Windows: AFSProcessUserFsRequest NULL dereference
    
    Protect against an Irp with a NULL FsContext2 field.
    These represent Irps that are not intended for our device
    since they do not have an AFSCcb associated with it.
    
    Change-Id: I2cf6b60e022df5074482544ef3142374149e38d6
    Reviewed-on: http://gerrit.openafs.org/7971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 165c9e7465378f26db546c5f78fc4eeca0ba094a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 12 22:51:54 2012 -0400

    Windows: reset volume NOEXIST flag
    
    In response to fs checkvolumes the NOEXIST flag should be reset.
    
    It should also be reset if the volume location update fails
    because of a commumicaton (or other) error with the VLDB server.
    The volume's lastUpdateTime is refreshed on error.
    
    Change-Id: I0bb5e61b9eb8a9613d47a32acda35b79aa71c293
    Reviewed-on: http://gerrit.openafs.org/7969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 69fd66abe7465e605c4b1460298514c3638c7864
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 2 21:13:45 2012 -0700

    Windows: sdk install missing headers
    
    Change-Id: Ifda4df6b736ca70e2cbe56e9d789436066c12bdb
    Reviewed-on: http://gerrit.openafs.org/7933
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5a707645b7d14f37f3d7fd8d06685f3940631a44
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 2 21:12:25 2012 -0700

    Windows: remove sdk sample token.c
    
    The sdk sample is no longer applicable.
    
    Change-Id: I9ab240429c73fece70f62f6ebc8ed284aa0071ac
    Reviewed-on: http://gerrit.openafs.org/7932
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b10a0af8b3a88c4170403679b9c179258a225abe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 10 18:04:49 2012 -0400

    Windows: document command prompt lnk limitation
    
    Command Prompt shortcuts cannot be used when stored in AFS.
    
    Change-Id: I5e26d92bbcaac8708eb8deb8d06164ef65308230
    Reviewed-on: http://gerrit.openafs.org/7955
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ecb3568210777fab98c51811aecaa1d2a085bc0b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 8 16:42:47 2012 -0400

    Windows: Freelance Discovery configuration
    
    Add new "FreelanceDiscovery" configuration option to permit
    Freelance dynroot mode to be used without the automatic discovery
    of cells and generation of mount points.
    
    Change-Id: I5520c3b3e2388b984c7120212d4f0167dc2f2bc3
    Reviewed-on: http://gerrit.openafs.org/7950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit b48d45006cdfe1734935f54277c0bc27459a404e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 8 13:54:48 2012 -0400

    Windows: disable short names on Windows 8
    
    Add "ShortNames" option to control whether 8.3 compatible short
    names are generated for objects stored in AFS.   Set the default
    to on for all operating systems prior to Windows 8 and Server 2012.
    
    Change-Id: I27b4631334e2739da5c6485b49efa3ae12d880a9
    Reviewed-on: http://gerrit.openafs.org/7949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 1d2a050e99e1feb9a5cee9956b48eb56bd9ad95d
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Tue Aug 7 09:07:41 2012 -0400

    Windows: FileNormalizedNameInformation take one
    
    Add a response to FileNormalizedNameInformation requests.
    Respond with the long file name.  As yet there is no translation
    from short name to long name for full paths.
    
    Change-Id: I9a88985cb72ebf4ce648cada62522f769f50044b
    Reviewed-on: http://gerrit.openafs.org/7948
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0af079f2d03d1b76bd4221cb56b27091b5635fd0
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Aug 6 15:15:57 2012 -0400

    Windows: FSCTL_SET_PURGE_FAILURE_MODE
    
    Windows 8 adds FSCTL_SET_PURGE_FAILURE_MODE.  Failure to respond
    with success prevents anti-virus filters from scanning the file
    system.  For now just return success.
    
    Change-Id: Ibb4822e1a9db13912980f4100519b69f9bff9a75
    Reviewed-on: http://gerrit.openafs.org/7947
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 831763ce6633d5377f5476651a8685f0673751de
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Aug 6 15:12:12 2012 -0400

    Windows: disable short names in redirector option
    
    If requested during redirector initialization, disable short
    name processing.   Future versions of Windows (8, Server 2012,
    and beyond) will no longer require short names.
    
    Change-Id: I14b20afd919ed9dd8dc48dd7997089b5748a8896
    Reviewed-on: http://gerrit.openafs.org/7946
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d8e9d2f2bc0f95642836bca2d66bb09379884142
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Aug 6 12:59:35 2012 -0400

    Windows: Consolidate Device Flags
    
    Move Device Flags to common/AFSRedirCommonDefines.h
    
    Change-Id: I1f54b1bcf6f9057cc56260c61c86dc3203891924
    Reviewed-on: http://gerrit.openafs.org/7945
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2332ee3aa8e21738ed4aa42b53edd4e2ae0a2984
Author: Daria Phoebe 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
    
    Change-Id: If82368dad79841a5d68f45a608b2645b32f951e7
    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>

commit 1a1e87dcdf972519cd21970f7c78709e40f8e1e9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 2 17:24:02 2012 -0400

    libafs: revert init req to use the real uid
    
    The commit to use wrappers for creditial structure access
    inadvertently changed the user id to be the effective uid instead of
    the real uid, when no PAG is present, on linux.  Revert this so
    setuid programs continue to work.
    
    See commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d
    
    Change-Id: I5d42b8caf90a042192ed39f26e55d70c9531f2e9
    Reviewed-on: http://gerrit.openafs.org/7931
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0c77c0acabe0a0588ab0a9efab0124ee1e15ef6a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Aug 2 18:37:05 2012 -0400

    vos: convertROtoRW may create 2nd RW on a fileserver
    
    If an RW is already present on disk on the target server (any partition),
    'vos convertROtoRW' will still convert the RO, creating a second RW on the server.
    Detect this and refuse to convert the RO by returning EXDEV (invalid cross-device link).
    
    Change-Id: Ide15a7c39f2a975fd8597e497094b6a67b448e4f
    Reviewed-on: http://gerrit.openafs.org/7934
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9cd983799e622c9acf5dd6e0b9ae3a3a75eaa8ce
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 2 11:58:12 2012 -0400

    rx: Process ICMP unreachable errors
    
    When a machine receives ICMP errors, we can detect them in
    AFS_RXERRQ_ENV environments. Many of these errors indicate that a
    machine is not reachable, so we are guaranteed to not get a response
    from them. When we get such an error for a particular peer, mark all
    relevant calls with an RX_CALL_DEAD error, since we know we won't get
    a response from them. This allows some calls to dead/unreachable hosts
    to fail much more quickly.
    
    Do not immediately kill new calls, since obviously the host may have
    come back up since then (or the routing/firewall/etc was fixed), but
    only calls that were started before the current error was received.
    
    Note that a call doesn't actually notice until the next rxi_CheckCall,
    since directly killing each of the relevant calls would be rather
    slow. So, we don't notice a dead peer immediately, though we notice
    much more quickly than we used to.
    
    Reorganize the error queue processing a little bit to make this easier
    to do.
    
    Change-Id: I403540e0677fe2d432901e4ecc19f7f385610b7f
    Reviewed-on: http://gerrit.openafs.org/7929
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 407cfd281eab375512881945999b7e13ba93936e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 16:31:09 2012 -0400

    LINUX: Fix error queue processing
    
    Receiving error queues in the Linux kernel is a little different from
    userspace. When we encounter a cmsg that is not CMSG_OK, we need to
    break out of the loop, and not just continue, since we can keep trying
    to process the same cmsg over and over. In addition, on successful
    return, the msg_control buffer has been modified to point to the next
    available buffer space, and msg_controllen contains how many bytes are
    remaining. So, we need to adjust the msg_control and msg_controllen
    values to get something more familiar.
    
    Change-Id: I7cc768ea31379915974431d2a3c1fec5e0ac71bb
    Reviewed-on: http://gerrit.openafs.org/7927
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d55df0ac8351b1518d2c3cde6e3938b98b3f21f7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 15:56:27 2012 -0400

    LINUX: Avoid SO_ERROR for RXERRQ_ENV
    
    SO_ERROR is for receiving errors from some nonblocking operations; it
    has little relevance to our network operations. For Linux, use a
    similar structure as userspace error detection, instead of SO_ERROR.
    
    Change-Id: I2188b1a023592d44bec62f6d07666dc19732222c
    Reviewed-on: http://gerrit.openafs.org/7926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 403f72ec7620c8c5d39d860edd7d8e775e2776e6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 15:19:02 2012 -0400

    rx: Create AFS_ADAPT_PMTU and AFS_RXERRQ_ENV
    
    Currently we have the ADAPT_PMTU define, which turns on functionality
    in Linux to detect PMTU-related ICMP errors for Rx. However, this is
    really turning on two separate pieces of functionality: the PMTU
    processing, and the processing for ICMP errors in general.
    
    So split this out into two defines: AFS_ADAPT_PMTU, and
    AFS_RXERRQ_ENV. The former is for processing PMTU discovery, and the
    latter is for processing ICMP errors. Both of these are left disabled
    due to issues in the error processing. Although PMTU discovery is the
    only functionality which makes use of ICMP errors, this will change in
    the future.
    
    Change-Id: Ia334c68ce5eb3fa01c01a8a1c52a0e0a2e41b2c0
    Reviewed-on: http://gerrit.openafs.org/7925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d51694dfdb85503cd4fce39b5d2f15a82a37a427
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 15:14:23 2012 -0400

    LINUX24: Remove ADAPT_PMTU code
    
    ADAPT_PMTU on Linux 2.4 doesn't really seem worth it. Remove it so we
    don't have to duplicate code.
    
    Change-Id: Id430e4caa7ee601bd6103541888e2a0029e0ab58
    Reviewed-on: http://gerrit.openafs.org/7924
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3cf4c1fbad712984074a916897b77841c3e24752
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 15:11:48 2012 -0400

    rx: Formatting fixes
    
    Some minor fixes to preprocessor indentation and other minor
    formatting things in rx.c and rx_user.c.
    
    Change-Id: Ia7bfda68b40893191a91ac9161cfe513a83c1989
    Reviewed-on: http://gerrit.openafs.org/7923
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a3759e0af8717f478a32420b8c8d125fae15cd25
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 1 14:57:06 2012 -0400

    rx: Remove ADAPT_MTU and MISCMTU
    
    Ever since 5bcf626ddaf92e199c4b46c11ad276013a47db52, ADAPT_MTU has
    been unconditionally defined. MISCMTU has always been unconditionally
    defined, and not used anywhere. Remove both of these, assuming they
    are always defined.
    
    Note that ADAPT_MTU != ADAPT_PMTU.
    
    Change-Id: Ie870bde8f84e59e1fe2a09806d8b68936d15f65e
    Reviewed-on: http://gerrit.openafs.org/7922
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 09f5a1e6053e6db3df581543875512d8cff259ae
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Aug 1 11:42:34 2012 -0400

    bozo: avoid canceling the sigkill timer for hung processes
    
    A sigkill signal is sent to fileserver processes when a timeout is
    exceeded for shutting down processes for the fs/dafs bnode.
    (Currently 30 minutes for the fileserver, 1 minute for the other
    server processes.)
    
    If the bnode goal is set to run before this timeout expires, the
    timer is incorrectly stopped, and a wedged process is never killed.
    Fix this by not canceling the timer when a fs/dafs process has been
    signaled to shutdown, regardless of the current goal.
    
    Change-Id: I2eca8bcb4bac690f3ef671ca4cf375164ff34d5e
    Reviewed-on: http://gerrit.openafs.org/7920
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1d8f3742661f07ab1923182883e2a2ea376151cd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 30 14:56:52 2012 -0500

    libafscp: Add afscp_LocalAuthAs
    
    Add the function afscp_LocalAuthAs to libafscp. This allows the caller
    to generate credentials based on the KeyFile on local disk, in order
    to appear as an arbitrary user.
    
    Based on code written by YFS.
    
    Change-Id: I9c2da8b3460a000be8e6073eb0925dc82fcc1de3
    Reviewed-on: http://gerrit.openafs.org/7917
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 351d3b8a19314027b30cdc499ef48c95ba7903b6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 31 14:40:41 2012 -0400

    LINUX: Always hold afs_xuser for unixuser read
    
    We were failing to hold the afs_xuser lock when we entered our
    unixuser traversal for the first time (when the given position is 0).
    This means we can release the lock without acquiring it, causing all
    kinds of weird behavior.
    
    Just always grab afs_xuser on entry. We could possibly do some tricks
    to avoid grabbing this lock until after we've printed the column
    headers, but it does not seem worth it.
    
    Change-Id: I68782098b5af2feb56887bc577511da2983d4f21
    Reviewed-on: http://gerrit.openafs.org/7916
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e3cf97b5b5ae06cbd7862dbfcc09f3d1f45c24c1
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 30 09:52:24 2012 -0400

    krb5 profile config support
    
    create openafs-client.conf and openafs-server.conf in respective ETC
    dirs. enable afsd, ptserver, vlserver and fileserver option parsing from it
    
    [afsd]
                dynroot = true
                dcache = 800
                cachedir = /var/db/openafs/cache
    
    Change-Id: I4bae437d7c8f54daa5dadfaeb875cdd185809d61
    Reviewed-on: http://gerrit.openafs.org/7903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d785abd5ec9302bdc1b3c33368246e573e0cd65d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 6 14:56:07 2012 -0500

    LINUX: Do not lookup immediately recursive mtpts
    
    On Linux, having a mountpoint in a volume root that points to the same
    volume can cause serious problems. By 'immediately recursive', I mean
    a situation like the following:
    
    fs mkm mtpt vol
    fs mkm mtpt/mtpt vol
    
    If there are multiple dentry aliases for the directory (which is
    possible if the directory is a mountpoint), an 'rmdir' on the
    recursive mountpoint can cause the client to deadlock. Since the
    'rmdir' code path in Linux locks the parent directory inode to perform
    the rmdir, and locks the child directory inode after performing a
    couple of sanity checks. For an immediately recursive mountpoint,
    these two inodes are the same, and so we will deadlock.
    
    Change-Id: Icb9bf8a3dd77a2ef6b88856b0d41556541bb1d00
    Reviewed-on: http://gerrit.openafs.org/7742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit de381aa0d39e88a1ca0c8ccbb2471c5cad5a964c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 6 16:37:39 2012 -0500

    Linux: Make dir dentry aliases act like symlinks
    
    Currently, we try to invalidate other dentries that exist for a
    particular dir inode when we look up a dentry. This is so we try to
    avoid duplicate dentries for a directory, which Linux does not like
    (you cannot have hardlinks to a dir).
    
    If we cannot invalidate the other aliases (because they are being
    used), right now we just return the alias. This can make it very easy
    to panic the client, due to the sanity checks Linux performs when dong
    things like 'rmdir'. If we do something like this:
    
    mkdir dir1
    fs mkm dir1/mtpt vol
    mkdir dir1/mtpt/dir2
    fs mkm dir1/mtpt/dir2/mtpt2 vol
    cd dir1/mtpt
    rmdir dir2/mtpt2
    
    For the 'rmdir', we will lookup 'mtpt2'. Since 'mtpt' and 'mtpt2'
    are mountpoints for the same volume, their dentries point to the same
    directory inode. So when we lookup 'mtpt2', we will try to invalidate
    the other dentry, but we cannot do that since it is the cwd. So we
    return the alias dentry (for 'mtpt'). The Linux VFS layer then does a
    sanity check for the rmdir operation, checking that the child dentry's
    parent inode is the same as the inode we're performing the rmdir for.
    Since the dentry we returned was for 'mtpt', whose parent is 'dir1',
    and the actual dir we're performing the rmdir for is 'dir2', this
    sanity check fails and we BUG.
    
    To avoid this, make the dentry alias act like a symlink when we
    encounter an uninvalidateable dentry alias. That is, we allow multiple
    dentry aliases for a directory, however, when the dentry aliases are
    actually used, we redirect to a common dentry (via d_automount where
    possible, and follow_link elsewhere).
    
    This means that such mountpoints will behave similarly to symlinks, in
    that we 'point' to a specific mountpoint dentry. This means that if we
    have multiple different ways to get to the same volume, and all are
    accessed at the same time, all but one of those mountpoints will
    behave like symlinks, pointing to the same mountpoint. So, the '..'
    entries for each path will all point to the parent dir of one
    mountpoint, meaning that the '..' entry will be "wrong", but for most
    cases it will still be correct.
    
    In order to try to make the 'target', pointed-to directory consistent,
    we add a new field to struct vcache: target_link. This points to the
    dentry we should redirect to, whenever that vcache is referenced. To
    avoid (possibly not-feasibly-solvable) problems with refcounting, this
    pointer is not actually a reference to the target dentry, but just
    serves as a pointer to compare to.
    
    FIXES 130273
    
    Change-Id: I990131ce95cefe8336e83c7ebfb48aed1d685109
    Reviewed-on: http://gerrit.openafs.org/7741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9b0a7f5d13115fe5760db16587fe81dd35a5a0ef
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jul 31 11:47:58 2012 -0400

    dirpath: fix macos alternate client etc dir support
    
    we set a proper client etc dirpath but did not apply
    it to children. do so.
    
    Change-Id: I56da943838a13859a239e5edf4219c6400abfe35
    Reviewed-on: http://gerrit.openafs.org/7904
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit bf45586c9a3aac23a131e096d581e1149540f602
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Jul 30 22:05:04 2012 -0400

    afs_server: delete code that has been ifdef'ed out for years
    
    The comments in afs_SetServerPrefs() said "clean up, delete this".
    The oldest one is a decade old.  Removing these #ifdefs will make
    following the rest of the spaghetti #ifdefs a bit easier.
    
    Change-Id: I187ccf2889a5244457218b109404be8b1cf1990e
    Reviewed-on: http://gerrit.openafs.org/7911
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 77f258a71dde5bc8f82b5d6f24836cfee4e9bcce
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Aug 9 00:28:27 2011 -0400

    libafs: afs_CacheFetchProc can't be called without a dcache pointer
    
    An inspection of the only call site suggests that afs_CacheFetchProc()
    can't be called with a null dcache pointer, and code further down
    in this function dereferences adc unconditionally (assuming
    rxfs_fetchInit() doesn't crash first) so remove the conditional
    here.
    
    Probably more of these parameters can and should be included in the
    AFS_NONNULL.
    
    Change-Id: Ic87517376085b0d5bc7631b5558411259ae986f4
    Reviewed-on: http://gerrit.openafs.org/5180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 070e90a92175eb91b3709598859fabb0c843d0a9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 30 15:19:57 2012 -0400

    doc: Windows Release Notes Integrated Logon
    
    Expand on support for integrated logon details.   Explain the
    new capabilities for per-user configuration and name mapping.
    
    Change-Id: I6aef3f99cb54aa964f9a6dbc3992031d6199e97d
    Reviewed-on: http://gerrit.openafs.org/7905
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit da9f42d044725ae128feffcfbeaab67b31aaab44
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 30 00:43:01 2012 -0400

    doc: Remove USA vs International from AdminGuide
    
    OpenAFS does not have separate distributions for the United States
    and the rest of the world.  Nor are there any restrictions on the
    capabilities of the Update Server.
    
    Change-Id: I834d86764bb3d8df4cce62b9cbaa33bff455bc30
    Reviewed-on: http://gerrit.openafs.org/7902
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 227cff3dd657967fa895317ad53e5c772c17aaec
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Jul 29 22:15:14 2012 -0400

    vlserver: remove an unused global
    
    Remove the unused global variable extentaddr.
    
    Change-Id: I3a7aec78dddcdf4e56a9ed432d650a1693e7c16e
    Reviewed-on: http://gerrit.openafs.org/7900
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 71dc077831d339fc5822f2c2c79b65afe14b12f8
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Jul 29 19:09:22 2012 -0400

    opr: tweak nonnull macro to use nested parens
    
    throws an error on windows in some cases otherwise
    
    Change-Id: I977b63908fb64a9711f9ba9ca22aeb04882fadf4
    Reviewed-on: http://gerrit.openafs.org/7899
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8c01141ccaa538b182ee79ec2d8ed5ec12b58f11
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 29 15:14:11 2012 -0400

    Windows: Rename cm_btree struct data
    
    Rename the "struct data" in cm_btree.h to something less generic in
    order to avoid conflicts with other code.
    
    Change-Id: I0580be084d508c195d767152af4f9a461cf0407e
    Reviewed-on: http://gerrit.openafs.org/7898
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b725a28eac2d9a94344b2524f995a98e60ecc2ea
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 28 01:10:09 2012 -0400

    volser: restructure GetNextVol and clients to remove duplicate code
    
    There are several odd-looking but stylized loops involving GetNextVol()
    which can be radically simplified if only GetNextVol() would return
    a meaningful value.  Move all of the code that skips non-volume-header
    files in the directory into GetNextVol and have it return a truth value
    (instead of always returning zero) that indicates whether it saw
    something that looks like a volume header.  Then all the odd while
    loops and strcmps just collapse into while(GetNextVol(...)).
    
    GetNextVol() had external scope, but there are no callers in the
    tree that use it outside of volprocs.c, and it's not part of a
    public library interface, so make it static.
    
    While here, don't strcmp() past the end of a filename that begins with
    'V' but is too short to be a valid volume name.
    
    Change-Id: I214b33c46714959d700608b3d3718c79d3792878
    Reviewed-on: http://gerrit.openafs.org/7893
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cac7bcda084879a876d93eb0480c2f7c76c25a4a
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 28 00:18:00 2012 -0400

    afscp: avoid null dereference in _GetSecurityObject error case
    
    Handle the possible error return from krb5_get_host_realm in the
    same way as the other error cases (using an anonymous security
    object); otherwise "realm" would be left null.
    
    Change-Id: I5ce7a614a3e272b3a9903a8e95545a8116d1af3c
    Reviewed-on: http://gerrit.openafs.org/7891
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2460396391a17b6dc44c493d21fe921604a16cda
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 28 00:26:44 2012 -0400

    pam: Use the right password variable in pam_sm_chauthtok()
    
    "password" is known to be null at this point.  Use "prompt_password"
    which is obviously the one intended.
    
    Change-Id: I4ab566f93c4978438df2c2875d619177ad8f5bdd
    Reviewed-on: http://gerrit.openafs.org/7892
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fdb4ec2e2767359eb6b5309a0342492c70d206e4
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 27 19:50:42 2012 -0400

    butc: don't pass NULL to strcpy in RcreateDump
    
    volumesetNamePtr can return a null pointer in certain error
    conditions.  Check for this and return BUDB_BADARGUMENT rather
    than dumping core.
    
    Change-Id: If0ce509c964211ffa591d8e095b7c32c51ae7bc3
    Reviewed-on: http://gerrit.openafs.org/7890
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5237d3d232f22aaf4f67f3a8727a293f4058a7ae
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 26 16:40:03 2012 -0500

    LINUX: Hold GLOCK for proc traversal
    
    The functions that traverse unixuser structures for display via /proc
    (uu_start et al) call various libafs functions hold and release locks,
    etc. To do any of that, we need GLOCK. Amongst other issues, we can
    panic if we try to acquire a contested lock without GLOCK, since we
    assert glock is held when we sleep for the lock or try to wake other
    waiters. The same goes for the legacy CellServDB proc file.
    
    So, hold and release GLOCK as appropriate.
    
    Change-Id: I9ec2051bc5d914521d12a9d20d28da1076c090fc
    Reviewed-on: http://gerrit.openafs.org/7885
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 23f2f1232b03ed02f87582c12b4c4e8474bc9b5d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 26 15:58:45 2012 -0500

    LINUX: Fix osi_proc.c formatting
    
    osi_proc.c had a few formatting issues:
    
     - Several function definitions did not have the function name at the
       beginning of the line
    
     - A few preprocessor directives were not indented
    
     - A few areas used a tab character for each indentation level, as
       opposed to 4 spaces, then 1 tab, as the rest of the tree has
    
     - Struct definitions were aligned using tabs, not spaces, causing
       misalignments when the indentation was fixed
    
    Fix these.
    
    Change-Id: I8d6b511473b89c42abd759553ec77332407daff0
    Reviewed-on: http://gerrit.openafs.org/7884
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e02fd4d358f20bcf001f0486afe1750d4013dea3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 16 17:29:54 2012 -0400

    rx: protect against ACKs with serial as prevPacket
    
    patchset 4e71409fe1305cde4b9b341247ba658d8d24f4d0 introduced a
    check in rxi_ReceiveAckPacket for out of order ack packets which
    relied upon the value of the previousPacket field.  Unfortunately,
    some versions of RX store the previous packet's serial number in
    the field instead of previous packet's sequence number.  Modify
    the check to only discard out of order ACKs if the previousPacket
    sequence number is within the valid window.
    
    Change-Id: I72885a8c1aaa69eb263335be1827545f2b4c3e09
    Reviewed-on: http://gerrit.openafs.org/7785
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 300dd717fa57df77175807cf7cf6be36cb1f9fef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 26 18:35:48 2012 -0400

    rx: better rxi_FindRpcStat check for end of queue
    
    patchset 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec tested for
    an empty queue but what is really required is a test for end of
    queue after the queue_Scan().  If the queue_Scan() completes
    at the end of the queue, in other words, pointing at the list
    head, then return NULL because no match was found.
    
    Change-Id: I444531d3cfa85b4691eaa8960da0266de82a03a3
    Reviewed-on: http://gerrit.openafs.org/7886
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ee2b9c2d3ee22dfbc8fd2eb2cc470ae853d4e19a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 25 01:55:27 2012 -0400

    rx: protect against invalid params in rx_Copy*RPCStats
    
    Protect against:
    
      . rxi_Alloc() failure
    
    Change-Id: I3334855e261bb40d5720fd376e62028760f0cee5
    Reviewed-on: http://gerrit.openafs.org/7873
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3fc800be9c702c1a40869908831a9895602909cb
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.
    
    Change-Id: If343d241a18e788c3619876f5d494d2ebf425cb8
    Reviewed-on: http://gerrit.openafs.org/7393
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 93aa733909e72da4a67ef8422070f417cd12b1d8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Jul 25 00:41:05 2012 -0400

    tabular_output: don't leak table struct on error exit
    
    The caller is almost certainly going to exit when we return, but
    all the same, don't leak the table description structure in the
    error exit.  Makes the static analyzer happier.
    
    Change-Id: I55e986a3601968751921ee38badf5bb86cd3174f
    Reviewed-on: http://gerrit.openafs.org/7870
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ff217dec93c9b46a2f161bea5439d5a41337bf51
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Jul 25 00:22:10 2012 -0400

    afsdump_extract: clarify logic to avoid freeing local buffer
    
    Sometimes vnodepath is set to a local buffer.  Sometimes it is set
    to malloc'ed storage.  Simplify the logic for freeing vnodepath
    by checking explicitly for this condition rather than the state
    of other variables.  As a bonus, avoids a false (?) positive from
    the static analyzer.
    
    Change-Id: I3772cb97698acc5a6ac1f438977c673e6fea7722
    Reviewed-on: http://gerrit.openafs.org/7869
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 24d2d3ea83bdadee3d8a8b477be10e9ced178b6d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 21 23:44:31 2012 -0400

    vlserver: always use the hostaddress table in GetAddrsU
    
    Use the hostaddress (IpMappedAddr) table when looking up hosts by IP
    address and when listing addresses by index, instead of accessing
    the multi-homed extensions directly.
    
    The existing vos client calls the old GetAddrs rpc to first retrieve
    a count of the number of addresses expected. This count is the
    number of addresses in the hostaddress table.  If there are
    unreferenced entries in the mh extension blocks, then vos can return
    an incorrect or incomplete list of addresses.
    
    To be consistent with the rest of the host address processing, use
    the hostaddress table in GetAddrsU to lookup hosts by index or by IP
    address.
    
    The hostaddress table is already used when looking up addresses by
    UUID.
    
    Change-Id: I01aa29ae7d24d48bcd245f0320e329435f61548e
    Reviewed-on: http://gerrit.openafs.org/7878
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7649a66a6193e2fd8a709bf701fcbb07774d2d33
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 22 23:20:01 2012 -0400

    afs_conn: make release_conns_vector() actually work
    
    release_conns_vector must never have been called before with
    a non-null parameter, because it could not possibly work.
    The first line of the loop is a null pointer dereference, and
    if that were fixed, there's also a modify-after-free bug as well.
    It's not clear how what the old version was trying to do; this
    version makes a stab at doing something sensible but might be
    less than required.  (Note that this would be much simpler if
    converted to queue(3) macros or a similar standard linked-list
    data structure.)
    
    Change-Id: I4c0fb7ed1ee977dcc0b4dfb32557882679069731
    Reviewed-on: http://gerrit.openafs.org/7838
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d0db811939df4eda268ae2ae54a1dc0194653ed9
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Jul 24 22:29:00 2012 -0400

    pruser: AFS_NONNULL annotations for functions that deserve it
    
    Change-Id: I68e74affcb3235d93e684a04a56ef44798a42406
    Reviewed-on: http://gerrit.openafs.org/7861
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3f691e663cc55ffb89386e53535030c659cb2fc2
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Jul 25 00:06:05 2012 -0400

    kauth: ka_CellToRealm's "realm" parameter cannot be null
    
    Annotate ka_CellToRealm with AFS_NONNULL to indicate that its
    "realm" parameter cannot be null; it does not make sense to call
    this routine without this parameter.  (The static analyzer inlines
    the call to ka_ExpandCell and concludes that "realm" might be null;
    the annotation will prevent that and avoid a false positive.)
    
    Change-Id: Id7fac19cf4eb4bdb1decde81d951b8bcd96fce71
    Reviewed-on: http://gerrit.openafs.org/7865
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f6d7a4b426f55db366113bbdda4da71570310410
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 25 16:08:41 2012 -0500

    afsd: More pthreads damage
    
    We need MT_LIBS for -lpthread and such. HP-UX needs this, and probably
    other platforms; otherwise we complain about missing pthreads symbols.
    
    Change-Id: If7486cabfc20ef4238087f0285c25d9f8602703a
    Reviewed-on: http://gerrit.openafs.org/7880
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cf03e0a4748e122fd1bf2ec9d00e539b70f3eb3f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 25 15:48:34 2012 -0500

    crypto: Use our strcasecmp in kernel
    
    A few pieces of heimdal we use in the kernel call strcasecmp
    (hcrypto/evp.c, krb5/crypto.c). The strcasecmp function does not exist
    in all kernels (specifically, it does not exist in at least Linux 2.4,
    2.6.9, and probably not on Solaris pre-10). Since we have our own copy
    of strcasecmp (called afs_strcasecmp), just use that for now.
    
    Ideally we would have some kind of configure test for detecting the
    presence of the function in the kernel, and use the roken
    implementation when we don't. We currently have the framework for
    neither of those in place at the moment, though, so just get by with
    this for now.
    
    Change-Id: Ia96b17596da6cb168c80c92486fa049c05205da4
    Reviewed-on: http://gerrit.openafs.org/7881
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 97e241fdc68e0759d4b2762ee050f8bdde57a2e0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 26 09:47:35 2012 -0500

    afs: afs_strcasecmp args are const
    
    We do not modify our args, so declare them const so we are usable with
    const strings.
    
    Change-Id: I2d60044014e51e2a52638b76ca50a5c2fc6980c0
    Reviewed-on: http://gerrit.openafs.org/7882
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 97146a8ed8497e8bfe3ea24eb0fe4685430fdcf3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Jul 24 23:41:02 2012 -0400

    ptuser: avoid implementation-defined behavior in CreateIdList()
    
    CreateIdList() is an internal subroutine of pr_IDListExpandedMembers(),
    used to flatten a hash table of protection IDs into an array that can
    be passed to pr_IdToName().  If for some reason the hash table had no
    entries, it would call malloc(0) and, depending on how the
    the implementation defines this, either return a PRNOMEM error (wrong!)
    or else allocate a minimum-sized buffer which pr_IdListExpandedMembers
    would then promptly leak.  Compromise between the two behaviors by
    not allocating any memory in this case but returning success, and in
    the caller check for an empty list and avoid the pointless RPC to
    translate no IDs into no names.  pr_IDListExpandedMembers() will return
    success, as it previously did in the non-PRNOMEM case.
    
    Change-Id: I8a042bde3e98f5cf248358f37f2e875d6b5b298d
    Reviewed-on: http://gerrit.openafs.org/7863
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2e7939ea4653ba3634445b1710aed1206f44f7ca
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Jul 24 23:54:56 2012 -0400

    kauth: don't call lcstring with a null source argument
    
    This code was probably never executed, but now that lcstring() has
    an AFS_NONNULL annotation, the static analyzer indicates the
    potential null-pointer-dereference.
    
    Change-Id: Idb41c2af1cb38bc5c084d4912614e0a553d4aa5a
    Reviewed-on: http://gerrit.openafs.org/7864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a573697da3fed9509f98e087b65b1fb7a60bc9a0
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Jul 25 00:49:25 2012 -0400

    rxgen: avoid an unimportant memory leak in docppline()
    
    If cpp emitted
      # 1234 ""
    docppline() would leak a small buffer.  Just free it.
    The static analyzer will thank you.
    
    Change-Id: I34ae6e228469a900139375f2a4758855922cf0ef
    Reviewed-on: http://gerrit.openafs.org/7871
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3c9a9b49602c4e624662d25f4573ec0e78ed2b7d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 25 11:59:44 2012 -0500

    rx: Initialize kernel rx_atomic_mutex
    
    Change-Id: I9a63fbee0e5a0f9df31b8e2440e91a03af54151f
    Reviewed-on: http://gerrit.openafs.org/7876
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 410a55addfcd055ac666f9bc5450b238648d07bf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 25 10:45:16 2012 -0500

    rx: Raise minimum Linux atomics version to 2.6
    
    Linux 2.4 does not have atomic_dec_return. If we switch to a
    dec_and_test-like API, then we could use the Linux 2.4 atomics. But
    for now, just raise the minimum to 2.6, and for 2.4 and below just use
    the generic atomics implementation so we can build.
    
    Change-Id: Ie584bd420839dbcbe3158fe7b50df633cb7eba6d
    Reviewed-on: http://gerrit.openafs.org/7875
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6dd0bc6bed79013fe1737f3e9016066ee74958fd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 24 18:18:13 2012 -0500

    LINUX24: explicit dir buffers fallout
    
    Fix fallout from 0284e65f97861e888d95576f22a93cd681813c39
    
    Change-Id: I40a16fee3bb3835690f7ff7328f70d3454fd1198
    Reviewed-on: http://gerrit.openafs.org/7874
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3638ef30d0de7d82d919b046ec87986ad09442d3
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Jul 25 00:17:46 2012 -0400

    macos: next version header
    
    add header for next macos
    
    Change-Id: I9078b77587197b38ff705663c73a7f930efeec7a
    Reviewed-on: http://gerrit.openafs.org/7868
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 5f60992bfe17b74526bf7d26c5e0df2a2d1c4833
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 24 13:56:02 2012 -0400

    Windows: NPAddConnection3 debugging
    
    Define Add3FlagsToString() and use it when generating debug
    output from NPAddConnection3().
    
    Change-Id: I73251890659ea5a833b5f67d26129053c625b58a
    Reviewed-on: http://gerrit.openafs.org/7860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 16b671cf3bddfc1c8cd9f760f99320ac21e583ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 24 13:53:49 2012 -0400

    Windows: Correct exceptions in AFSRDFSProvider
    
    Correct two errors in the generation of debug strings that
    were triggering invalid memory access exceptions.
    
    Change-Id: Ie5ee3289e2fa74809067f05931c3aa568c2be9d0
    Reviewed-on: http://gerrit.openafs.org/7859
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 78f1e230ce2b7167981e2f327bfdb5d50c94a95f
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 22 22:57:41 2012 -0400

    afs_bypasscache: parameters of afs_ReadNoCache can't be null
    
    The first two parameters of afs_ReadNoCache() are unconditionally
    indirected through, and all existing callers appear to guarantee
    that these parameters are in fact non-null, so annotate the function
    declaration to so indicate, and remove the one test that checks
    whether avc (the first parameter) is null.  I suspect that acred
    cannot be null either, but this code does not appear to depend on
    that, so it's not included in the non-null annotation.
    
    Change-Id: I496c868ffcbc9b894f91578019bc30bf7b14fefd
    Reviewed-on: http://gerrit.openafs.org/7837
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 21878c61ddef84af50fc5c8aacd87cadc3e2dade
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Jul 24 01:17:47 2012 -0400

    ptuser: use the "prname" typedef rather than "char[PR_MAXNAMELEN]"
    
    There's a typedef for this type, so use it in function prototypes
    rather than the more complicated declarator.
    
    Change-Id: I75a9b4e72201e6b2072dba14185579f9c4aa61be
    Reviewed-on: http://gerrit.openafs.org/7858
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5e0c59284ac3307fd47b5d6a1fa5589362085ced
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jul 24 00:26:56 2012 -0400

    afsd: fix pthreads damage
    
    ah linker fun. clean up from 98f86cfc53fc987fdaed2f5bb733b5b5d21bfda9
    
    Change-Id: Id78debe0c9ddec0ce5f3fd2b95e16802a132845f
    Reviewed-on: http://gerrit.openafs.org/7855
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8ff703fcbb93399f12fb3210b729f82fb43f0ed1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 1 22:31:04 2012 -0400

    Windows: No VLDB server blocking probes
    
    Now that we have background probes, use them for VLDB server probes.
    
    Change-Id: Ib160ec5ae702065f410e85ae949ae13a02c425e8
    Reviewed-on: http://gerrit.openafs.org/7854
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ceeb0474578914a64cc938e52533e6c7911396b2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 1 22:27:13 2012 -0400

    Windows: NOPROBE means probe in background thread
    
    It is important that down servers be detected as soon as possible.
    When it is not possible to perform a blocking probe, perform a
    probe in a backgrond thread.
    
    Change-Id: If73856359ba894c5c302c11fd50aaa76cd2fcf28
    Reviewed-on: http://gerrit.openafs.org/7853
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a738c8dcff8410d82b631a0e71c23b8447db9a0d
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Jul 23 22:07:38 2012 -0400

    ptuser: pr_SNameToId/SIdToName: if RPC response empty, force error
    
    If the prserver returns an empty response to ubik_PR_NameToID
    or ubik_PR_IDToName, but doesn't otherwise give an error,
    force a PRINTERNAL error return so that the client knows that the
    the return parameter was not updated.  Existing callers seem to
    expect this, as pr_SNameToId is often called without initializing
    the variable which receives the result and checking only for the
    error code.
    
    PRINTERNAL is a new error code.
    
    Change-Id: I3e598a22deb39792a0f208ac09b3c1991d6f1e58
    Reviewed-on: http://gerrit.openafs.org/7836
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 98f86cfc53fc987fdaed2f5bb733b5b5d21bfda9
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Jul 22 09:18:28 2012 -0400

    afsd: switch to pthreads
    
    kill one more lwp dependency.
    
    Change-Id: I9a878d7b0e1ab50770c6162f6bd380119b7a4292
    Reviewed-on: http://gerrit.openafs.org/7828
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a3b6a940f84a35aa3ae0d3ee6963ef4086f3a3a4
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 23 22:25:19 2012 -0400

    afsd: cleanup syscall cleanup
    
    sadly ead743db5d57afa175f5dc0828b76881bcbcbf54 missed a few bugs. fix
    them here.
    
    Change-Id: I03d52543fb096f75ccf6dbde4f7526a7c0c576bb
    Reviewed-on: http://gerrit.openafs.org/7852
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 736e0dbeec54e19801e96ba93d471bd5a995f4f3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 22 01:19:57 2012 -0400

    Windows: get rid of _strdup and use rk_strdup
    
    Do not use the _strdup() C RTL function.  Use strdup() so that
    rk_strdup() roken replacement can be used.
    
    Change-Id: Ifd2808a078b514468aee52ef76a9b51e606a2c88
    Reviewed-on: http://gerrit.openafs.org/7848
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 907dbac89cfde3d3663c14fa17ca5ac9ced5a846
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 10:19:07 2012 -0400

    roken: rk_strdup rk_wcsdup exports
    
    Change-Id: Iee3670ddf86599dd81f1247a9f8cfafcbc6e1e8f
    Reviewed-on: http://gerrit.openafs.org/7847
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit cabfe32c335002d2cfc77481c33d091cc7fd0dda
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Jul 23 17:27:56 2012 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    b8a53329fc8bf2fe8c4f4058512f828d7654e3f8 (switch-from-svn-to-git-3003-gb8a5332)
    
    Upstream changes are:
    
    Jeffrey Altman (2):
          Windows: rk_strdup allocator
          Windows: rk_wcsdup allocator
    
    Nicolas Williams (1):
          Fix bug in _krb5_expand_path_tokensv()
    
    Change-Id: I08abb25b4f4136bccb3eaf8d8c44851ce748f395
    Reviewed-on: http://gerrit.openafs.org/7842
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5dce817d40bc69684451e88fe8a0f1078f1f3880
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jul 18 10:22:07 2012 +0100

    ptserver: Make ptclient build again
    
    Make the ptclient utility build again, and add it to the ptserver
    Makefile so that it is built by default and, hopefully, won't
    bitrot again.
    
    Change-Id: I888a9d4392b62ecb2d7556694400a2853658052a
    Reviewed-on: http://gerrit.openafs.org/7841
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0eca3c1822683ccf1b559eb8e455688c5bdc1fc9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jul 16 20:09:04 2012 +0100

    auth: Fix GetTokenEx with NULL cellName
    
    If GetTokenEx is called with a NULL cellName, it means use the
    local cell. To do this with the legacy interface, a 0 length string
    must be used for the cell instance of the ktc_principal passed to
    GetToken. Fix this so that we do so, rather than attempting to
    strcpy(..., NULL) which never ends well.
    
    Caught by clang-analyzer
    
    Change-Id: I53d9bdf0fc280ee073a2fb7693659269df29c2eb
    Reviewed-on: http://gerrit.openafs.org/7840
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 22 20:40:41 2012 -0400

    rx: rxi_FindRpcStat must test for empty queue
    
    When queue_Scan is executed on an empty queue the queue element
    variable, in this case 'rpc_stat' is the queue head, _RXQ(q),
    and not NULL.  Callers of rxi_FindRpcStat() expect NULL on failure
    to find or create an rx_interface_stat object.  Correct the behavior
    by testing for an empty queue and return NULL immediately if the
    queue is empty and the caller is not requesting creation.
    
    Change-Id: I9952d7aaf357e039e87f6b8b17cb1a00208d6465
    Reviewed-on: http://gerrit.openafs.org/7835
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ead743db5d57afa175f5dc0828b76881bcbcbf54
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 7 18:31:32 2011 +0100

    afsd: Tidy up system calls
    
    Tidy up the way that we do system calls from afsd, by making
    afsd_syscall a va_arg function, using a structure to pass system call
    information around, and simplifying the #ifdef ladder that converts our
    platform independent system calls into something platform specific.
    
    This fixes all of the warnings in afsd which required the -Wno-error
    option, the only warnings remaining are related to daemon being
    deprecated on Darwin.
    
    Change-Id: I357c7d175b5327007d50d213c6181881c842050e
    Reviewed-on: http://gerrit.openafs.org/7188
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 748a3e29b624d10e90af43cb0dc65a4f96c0310e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 23 01:38:03 2012 -0400

    Windows: cm_UpdateVolumeLocation volp locked
    
    When calling cm_UpdateVolumeLocation the volp->mx must be held.
    cm_Analyze() did not obtain the mutex as required.
    
    Change-Id: Ida69105879a78692a367cd4439bee8e4bea751ff
    Reviewed-on: http://gerrit.openafs.org/7839
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 82865811e49aae8b7b8ff9f5d995dc32518b9eb8
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.
    
    Change-Id: I74d7e055e833dc91214dd9d544af3781f74db59b
    Reviewed-on: http://gerrit.openafs.org/7539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fd707e3014945b99539db9ea5198859713e33251
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 19 22:23:20 2012 -0400

    vol: set correct bit in bitmap after VGrowBitmap
    
    Set the correct bit after the bitmap is expanded with VGrowBitmap
    so we don't allocate it twice and trigger a salvage.
    
    Change-Id: Iee307a0913d4402c2d5a32d493ff489b35778811
    Reviewed-on: http://gerrit.openafs.org/7793
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 91d7cd931a0362b5055c37fc7adc3f5d6015b573
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 20 18:35:56 2012 -0400

    uafs: avoid type-punning in get_user_struct()
    
    There's no need for type-punning here; usr_getspecific() is a macro
    that just assigns to the variable whose address we provide, so the
    cast was just unnecessary (and erroneous) obfuscation.  This is the
    only caller of usr_getspecific(), so if it needs to be more complex
    in the future, it should probably just be open-coded here.
    
    Change-Id: I81286cbce9a00908aa87073b728b07d8bcc8d1d1
    Reviewed-on: http://gerrit.openafs.org/7799
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d3761b9e6265df47e38e166983711a591ef48b31
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sat Jul 21 00:27:49 2012 -0400

    ubik: don't force an error just because calliter is early returning
    
    in this case, racing another ClientInit caller is not fatal.
    clean up from 56b5b9a1c51c2197923aa373c180a834edabe4f6 which was
    my fault.
    
    Change-Id: I81d3298a775ed46972779b4121498560883fee01
    Reviewed-on: http://gerrit.openafs.org/7803
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e39d6ca55af79b917e459a09893606e79ba50375
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 21 01:35:15 2012 -0400

    strcompose: NULL must always be cast when passed to a variadic function
    
    The C standard allows NULL to be defined as a bare "0", which will
    be passed to variadic functions as an int.  If the function expects
    a pointer type, demons fly out of your nose.  strcompose() is such
    a function, so make sure that all of its callers cast NULL appropriately.
    (None of them did.)  This may be an opportune time to change all of
    the callers to spell it opr_strcompose() as well, and avoid using a
    reserved identifier, but this change does not do so.
    
    Change-Id: Ia9007a48102da4d0a85a48b41a44e83102304b49
    Reviewed-on: http://gerrit.openafs.org/7805
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 466ba9cb60816a455c15e7c3dba5f325f005f2fe
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 21 01:22:02 2012 -0400

    opr: constify various string functions and mark them AFS_NONNULL()
    
    All of these string functions require at least one non-null argument.
    Mark them as AFS_NONNULL() so that the compiler and static checker can
    find erroneous uses.  The "source" arguments of lcstring and ucstring
    can be const, so do so.  (This doesn't affect anything in the tree
    right now.)  While here, note a few unfixed issues with these interfaces.)
    
    Change-Id: If2a8dd4d617795560e92c09ee604780f90edce6a
    Reviewed-on: http://gerrit.openafs.org/7804
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cb807db4505a8d4a4c904d32a59ad168d4650e4c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Jul 18 00:02:16 2012 -0400

    libafs: getattr should include S_IFDIR on fake dirs
    
    on macos, VDIR is not useful as part of a directory mode. it's just not.
    on aix, solaris, we presumably want to pass S_ISDIR, so do so
    
    Change-Id: I04ee49857febf1cf96d30bd6a8271f99192630c8
    Reviewed-on: http://gerrit.openafs.org/7789
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 30e26c07d42d8e8208c51719bc823e387d5919ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 10:26:05 2012 -0400

    Windows: Recompute server rank periodically
    
    After VL_ProbeServer and RXAFS_Getcapabilities RPCs call
    cm_RankServer() to recompute the server ranks based upon the
    updated peer statistics.
    
    Change-Id: I84687e12f1c1bd323a95c5ffcc73b95d400bd1f5
    Reviewed-on: http://gerrit.openafs.org/7827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a3e2bd0d0183fab913264b04c6772f000367cb73
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 02:57:35 2012 -0400

    Windows: Clear peer RPC stats on IP addr change
    
    When an IP address change has been detected, clear the peer
    RPC statistics used for server ranking.
    
    Change-Id: Ie9e3f4553f9d0b22d4876b729ce0028e762efb33
    Reviewed-on: http://gerrit.openafs.org/7826
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c0d652dcdead56c53c622ade5df0f50e8aefd0f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 02:55:20 2012 -0400

    Windows: server rankings by RPC statistics
    
    Use VL_ProbeServer for VLDB servers and either
    opcode_RXAFS_GetCapabilities or opcode_RXAFS_GetTime for
    File servers.
    
    Change-Id: I67c3ad88ac3dd07ac1c0e44d462853d068bf50c8
    Reviewed-on: http://gerrit.openafs.org/7825
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c1081a3ab5dc7e5c83ad84dd0b5c795969745d7d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sat Jul 21 00:17:14 2012 -0400

    rxgen: per-opcode stats
    
    allow access to per-opcode stats
    
    Change-Id: I17639cf23acac23acfb9cb7dc07a7c5c81d4ff89
    Reviewed-on: http://gerrit.openafs.org/7802
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c3767f1e90b7ba61efcb25e022d27f35d1accc2b
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sat Jul 21 00:07:41 2012 -0400

    rxgen: emit opcode defines in header
    
    define an opcode-name-specific define with the numeric value
    of the opcode
    
    Change-Id: I34e6eb57ac2c57319a83b0279cc9115050a39c4f
    Reviewed-on: http://gerrit.openafs.org/7801
    Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 417df0d495a8636aec6959b074a35885e20022c9
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Jul 21 00:04:58 2012 -0400

    xdr: fix two old FIXMEs related to signed/unsigned arithmetic
    
    It's implementation-defined whether the C '>>' operator, when
    applied to a signed integer, is sign-extending or zero-filling.
    If you want unsigned arithmetic, you have to ask for it explicitly.
    One assumes the reason for the shift is to avoid overflow if the
    returned size/count is later converted to a signed int, in which
    case maybe it would be better to use INT_MAX here.  This is the
    minimal change necessary for correctness.
    
    Change-Id: I6e848110963b5e1832a11d052d84884f10903e2e
    Reviewed-on: http://gerrit.openafs.org/7800
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 860812931f3adf07c85ac2a56deb149b9c0d33bb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 21 12:17:46 2012 -0400

    Windows: AFSTearDownFcbExtents loop conditional
    
    If there are extents in the list with a non-zero ActiveCount,
    those extents will be skipped and the list 'le' will never
    become empty.  Add an additional condition to ensure that the
    loop is only executed once for each extent in the list.
    
    Change-Id: I48adf7c49282181d0a34135ac50f7fa1a165c735
    Reviewed-on: http://gerrit.openafs.org/7810
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6b0bc2f6ff6ffecb4dd158ba5d2021d46bad7da0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 21 12:02:20 2012 -0400

    Windows: memory leak AFSInitPIOCtlDirectoryCB
    
    In an error occurs during AFSInitPIOCtlDirectoryCB processing
    the nonpaged pool allocation would be leaked.
    
    Change-Id: I092538202d84bd65476ba21a68e210d5f626ead2
    Reviewed-on: http://gerrit.openafs.org/7809
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit af1bdc2b7758615ac22505128415a4f10a1f8f10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 21 12:00:21 2012 -0400

    Windows: memory leak AFSRemoveVolume
    
    Do not leak the
    VolumeCB->ObjectInformation.Specific.Directory.PIOCtlDirectoryCB->NonPaged
    allocation and the associated lock object.
    
    Change-Id: Ie6455c49fdcee578ab31355df1b2237f27a92e1d
    Reviewed-on: http://gerrit.openafs.org/7808
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fe61f35d35003121c94b717a1dd79119c9073adc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 21 11:52:22 2012 -0400

    Windows: AFSExFreePool -> AFSExFreePoolWithTag
    
    Replace AFSExFreePool() with AFSExFreePoolWithTag() which is
    a wrapper around both ExFreePool() and ExFreePoolWithTag().
    If a 'Tag' value, is provided, ExFreePoolWithTag() is used.
    Otherwise, ExFreePool().
    
    Specify allocation tag values wherever possible.  Path name buffer
    tags are not specified because they are allocated using multiple
    tags.  The same is true for network provider string buffers.
    
    This is being done in order to debug a memory corruption issue.
    
    Warning: this is a change to the AFSRedir->AFSRedirLib interface
    and therefore both drivers must be updated with a reboot and
    not simply restarting the service.
    
    Change-Id: Id5c0503141d1077d6c2beae5d28602160105a312
    Reviewed-on: http://gerrit.openafs.org/7807
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8a11435eed2d3d1d1aef0ebb92822b34299b2e4d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 21 11:57:40 2012 -0400

    Windows: Freeing SeQueryInformationToken allocations
    
    Memory allocated by SeQueryInformationToken() must be freed with
    ExFreePool() and not AFSExFreePool().
    
    Change-Id: Iece2c37d5dc524204cbf3d8d6869148e1a0ce88e
    Reviewed-on: http://gerrit.openafs.org/7806
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3ec1bdf9c74bd250d49065fa84475a5123461744
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 10:20:02 2012 -0400

    rx: fix abort on missing service
    
    patchset 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 introduced
    the possibility that a NULL connection pointer could be dereferenced.
    Prevent it.
    
    Change-Id: Ic813642c8073cedc3e4df578c1b06fecd22cfbdf
    Reviewed-on: http://gerrit.openafs.org/7794
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit bbf92017b084a8ba8df81effe06d11421cdf4bb0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 16 16:53:32 2012 -0400

    rx: rxi_ReceiveDataPacket do not set rprev on drop
    
    In KERNEL builds if there are no available packet buffers the
    new packet is dropped on the floor.  In that case, the call's
    rprev field should not be updated because the packet was never
    "received" for delivery to the application.
    
    Remove a dead comment from the same block of code.
    
    Change-Id: I12a2b1618a430880d18efee48e6348e6f9ba8119
    Reviewed-on: http://gerrit.openafs.org/7784
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 91f17adf01e54302b0c8d86df5627214f0bdf5d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 01:00:38 2012 -0400

    Windows: avoid memory overrun during extent release
    
    While tearing down extents, if an extent is found to be in use
    it will be skipped.  Must use 'ulReleaseCount' as the index
    into the released extent array.
    
    Change-Id: Iaf8a82c77ac8f4ddb30b35f43a4ce7a70f4a32a8
    Reviewed-on: http://gerrit.openafs.org/7796
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7ec46ced616f7af72fa3ce1d60304ae475977a28
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 00:59:33 2012 -0400

    Windows: more roken.h include corrections
    
    Change-Id: I02d4347b870ff1e06b4f144bedb37d50c697c5ba
    Reviewed-on: http://gerrit.openafs.org/7795
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 14c98f9df9fd7686f6fc453edaf70168e19e6da9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 20 02:54:18 2012 -0400

    windows: add afsroken to afssvrcpa NTMakefile
    
    Change-Id: Iae17ad514bc9ce9a6786e820105a413b31a419ff
    Reviewed-on: http://gerrit.openafs.org/7797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 281b5385855e98c9aa989bfba91451c56a1b73f1
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 20 18:11:38 2012 -0400

    uafs: avoid unnecessary type-punning
    
    There's no need to declare a separate buffer and initialize a structure
    inside it when we can just instantiate the structure directly.
    
    Change-Id: Idbcad31343ce7f074015f5921a4997d3f6c9799a
    Reviewed-on: http://gerrit.openafs.org/7798
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6060374216bb899280d619b1b5834ffcb6dad2d7
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Jul 19 11:30:02 2012 -0400

    macos: no bulkstat
    
    i have a bulkstat refactor in mind, but this *still* isn't safe
    on osx. disable as is on 1.6
    
    Change-Id: I9446a6307e4890e4f7a78ab7fc054d84c39c992b
    Reviewed-on: http://gerrit.openafs.org/7792
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 56b5b9a1c51c2197923aa373c180a834edabe4f6
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:07:05 2012 -0400

    ubik: refactor error exits in internal CallIter()
    
    Originally, the first store to "code" was dead here.  Refactor the
    error exits to follow the non-error exit path, which has the effect
    of making the store to "code" live again (and also makes it less
    likely that any new cleanup code will be unintentionally omitted).
    In the ubik_ClientInit recovery case, handle the possibility that
    aproc() returned zero and return UINTERNAL rather than letting the
    caller think that this operation succeeded.
    
    Change-Id: Idc198aa7a6e21975faaca9f159e822c9e3f66d98
    Reviewed-on: http://gerrit.openafs.org/7776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 33a761ebd11e33b5e111e67204218e8f67bef431
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jul 17 15:34:07 2012 -0400

    macos: get more packets if requested
    
    analogous to eead07418f13cd87a90770f03ea5118c546d8f1a for ukernel,
    this is for macos' upcall procedure
    
    Change-Id: Ia9d6108d8bb45b9bd33fe9a3af761dfe15248c6e
    Reviewed-on: http://gerrit.openafs.org/7788
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 50009267bb6deaa431042dc99ac6e5d913b1412a
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jul 17 00:15:56 2012 -0400

    macos: native apps need 64 bit support
    
    the installer bundle, prefs pane and backgrounder all need to be 64 bit
    mode since the system uses them as plugins
    
    Change-Id: Ic2242ed8c993b7ed0a7c15ada78b625799bb446a
    Reviewed-on: http://gerrit.openafs.org/7787
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3dd230e8595e2b9635d6ec412a145ae3be229b7a
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 16 22:32:55 2012 -0400

    macos: fix growlagent icon handling
    
    the whole of the api used for icon handling when you steal it
    from a resource fork is deprecated in new macos. fine. we'll just make
    an app bundle by cheating, move andy into a standalone icns file,
    install him into the "bundle" and open it the macos way.
    
    Change-Id: I94b3fdb5fdb08b28400bd0f6f6a18a07840124df
    Reviewed-on: http://gerrit.openafs.org/7786
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit e359aa5c617e668535bc28eb88a139f1ae85851f
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 16 15:55:54 2012 -0400

    libafs: pointopoint not supported in ukernel
    
    afs_server.c:1054: error: 'struct usr_in_ifaddr' has no member named 'ia_dstaddr'
    
    well, for now, bye bye!
    
    Change-Id: I3246a52e0bbdcfb92045de7e21febe0e65255db2
    Reviewed-on: http://gerrit.openafs.org/7783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e6aa586a996e32b3def4b8108815730fcfbf1463
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 16 15:16:53 2012 -0400

    macos: future-proof MakefileProto.DARWIN.in
    
    if new cases show up which match the current ones, they just work.
    darwin60 and older were already killed from the tree, kill here also
    
    Change-Id: Id246e13985c4752e99f606efd009bc5ce2871691
    Reviewed-on: http://gerrit.openafs.org/7782
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 25556cf0015c9930adcd8a36d06f3008625db993
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jul 16 15:09:11 2012 -0400

    macos: actually link in shlibs
    
    we need shlibs in /usr/lib, actually install the links
    
    Change-Id: I172da1d043f70f7335c5d0aaaa9a301eef542243
    Reviewed-on: http://gerrit.openafs.org/7781
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f25734e9226232e03a397e0eded9a873ea0dfaa8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:47:51 2012 -0400

    afs_vcache: remove redundant assignment in afs_FlushAllVCaches()
    
    Don't do in the body of the loop that which the loop itself
    already does.
    
    Change-Id: I41b5cbee86ab783d59024d8961c933525a5128d7
    Reviewed-on: http://gerrit.openafs.org/7780
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4a6a95fdb4ffb8f2681beb5e4e62ddd378baf75d
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:16:27 2012 -0400

    afs_server: remove 3 dead assignments in LoopServers, move live one
    
    The assignments to conns, rxconns, and conntimer are all dead, so
    remove them.  The assignment to nconns is live, but rather far from
    the for loop that actually uses it; move it to just before the loop.
    
    Change-Id: I8daf642630cc2d468ba7db42de46b69cd88fac28
    Reviewed-on: http://gerrit.openafs.org/7777
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 73ff09513013ae3c6b29b1b7b0a6e76b4fd260f7
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Jul 15 03:03:00 2012 -0400

    macos: next version support
    
    support things beyond 10.7
    
    Change-Id: I7a50f569fd43e0e1ed3c74f0480a8e2521df1bc5
    Reviewed-on: http://gerrit.openafs.org/7763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a27a8a66c2c27a62afa566679ef9cf424e758d9f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jun 26 15:09:07 2012 -0400

    vldb_check: off by one host address table error
    
    Fix several off-by-one errors when traversing the IpMappedAddr
    table in vldb_check. The last index (254) was not checked
    in several places.
    
    Change-Id: Ida5039fefa1fa55f6f647dee4ed3a26dd84a85d0
    Reviewed-on: http://gerrit.openafs.org/7614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 36c6c46bd081e0278611c3bb6ae25dd765f10648
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.
    
    Change-Id: Ib94e6b4d28078a03d2ffd217998bbc345c4968e4
    Reviewed-on: http://gerrit.openafs.org/7538
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit cc4552c9a1ca4a12d3d7f64d98185f8d2025834d
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 21:53:17 2012 -0400

    util: eliminate dead store in hostutil_GetHostByName
    
    Change-Id: Ibf6712ec239a5f4d163c145f5444c086277e4445
    Reviewed-on: http://gerrit.openafs.org/7774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0b69ca34eb55f9d0a53e5f6b2e6155c7824b2fde
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 15:41:25 2012 -0400

    rx: dead initialization in rxi_RestoreDataBufs
    
    Don't initialize iov only to overwrite it immediately below.
    
    Change-Id: I5b5660f31e02094a8871a0726dbd5be7ae6f9ea6
    Reviewed-on: http://gerrit.openafs.org/7770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e319f0ed8bf110d3b614f8e1feca73e6601b4a2d
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 15:44:42 2012 -0400

    vol: dead initialization in VWalkVolumeHeaders()
    
    Actually, all of the initializers in this small function are dead.
    
    Change-Id: If89fe3222ec39b34233f92f3aafd458f5723b0c5
    Reviewed-on: http://gerrit.openafs.org/7771
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6422be38fc8084a58b70412e3cfe087a4e1e57b8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:00:04 2012 -0400

    rx: eliminate dead variable sdl in rx_getAllAddr_internal()
    
    Near as I can tell, sdl is only assigned once, and is never read.
    
    Change-Id: I145be12aef902db3ad149be39c1db360775d4456
    Reviewed-on: http://gerrit.openafs.org/7775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e194a8b7f811a995e8f7147a12ac4be6e96f873f
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 14:09:11 2012 -0400

    util: LogCommandLine: argc is an int, so assert that it's positive
    
    In practice, argc should never be negative, but by convention it's
    a signed int, so change the assertion to require it to be positive
    rather than merely nonzero to get some help to the static analyzer.
    
    Change-Id: I2d6c00b8ad2f8d573d717f1e2b88a4bb902f125c
    Reviewed-on: http://gerrit.openafs.org/7765
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f4b2ad4dc974b441819d0113efbb81c537b8ed97
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 14:18:12 2012 -0400

    budb: don't malloc(0) on error condition in GetText()
    
    malloc(0) is non-portable (may return a pointer to no space, or it
    may return NULL.  Just set the result to NULL without bothering to
    call malloc(), as is done earlier in this function.
    
    Change-Id: Ic3562e722113a1409ec7c30bd571e9470b3e092b
    Reviewed-on: http://gerrit.openafs.org/7766
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0527cc793054e582ea8be8c0dc76df9e2ca0ab1b
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 14:54:47 2012 -0400

    util: in util_newTable, don't leak Table on error
    
    It is unlikely that this memory leak actually matters as the caller
    will normally just exit.
    
    This whole source file could stand to be reformatted.
    
    Change-Id: Ic5cb52a73ac09ae492c6e6ab606dfaf92a1ab8bf
    Reviewed-on: http://gerrit.openafs.org/7767
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 53c432d1feba6454af4526b4d797b45a6f205eac
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 15:01:29 2012 -0400

    rx: don't leak a connection hash table in unlikely error condition
    
    If getsockname() returns an error (which shouldn't be possible),
    rx_InitHost would leak a connection hash table (which probably
    doesn't matter because the caller will just exit anyway).  Make
    the analyzer happy by freeing the memory anyway.
    
    Change-Id: If8e78ebfb787d2dc1c0b9f95f91b6e7510c9e307
    Reviewed-on: http://gerrit.openafs.org/7768
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3af6beea4b03bd4dd62b23a6a0df149037b456c0
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 15:13:55 2012 -0400

    volser: don't derefernce null pointer in copyVnodes()
    
    split_volume() can call copyVnodes() with parVnode == NULL, so guard
    the one reference to parVnode (a memcpy()) to avoid a fault.
    
    Change-Id: I631a78bcfa6a7a465e997a6714849ca0d2d86f86
    Reviewed-on: http://gerrit.openafs.org/7769
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d2d591caf2c9b4cf2ebae708cc9b4c8b78ca5a5a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 3 15:58:01 2012 -0400

    viced: RXAFS_GetVolumeStatus remove access check
    
    The AFS file server had always performed a PRSFS_READ permission
    check on the volume's root directory (1.1) vnode before responding
    succesfully to the client.  A successful response contains the
    following volume state information:
    
      Message of the day (if any)
      Offline message (if any)
      Online flag
      InService flag
      Blessed flag
      NeedsSalvage flag
      Type
      MinQuota
      MaxQuota
      BlocksInUse
      PartBlocksAvail
      PartMaxBlocks
    
    All of this information is publicly available to anonymous users
    via other services so it is odd that it is hidden from anonymous
    cache managers.
    
    As sites begin to tighten the ACLs on volumes due to privacy
    and security concerns this READ permission check is begin to
    cause problems for Windows clients that rely upon the quota and
    block counts to determine whether or not it is likely to be safe
    to perform an extending write.  In many environments volumes are
    being configured such that the root directory is 'l' for all and
    only the subdirectories provide for 'ridw'.  Under these situations
    the user is able to read/write the data but cannot determine how
    much free space is available.  Since all of the data returned by
    RXAFS_GetVolumeStatus is publicly available, the patchset removes
    the access check entirely.
    
    Change-Id: Ic8a8d755b0ed61789a49243827083ae97c137560
    Reviewed-on: http://gerrit.openafs.org/7705
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d2ef4a6e1f685564ed51e8c1bc82642b406e936a
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:34:42 2012 -0400

    bozo: small-notifier: don't ignore return from system()
    
    Nobody can possibly be using this program, but even so, don't ignore
    return values.  Unfortunately, the return value of system() is a bit
    complicated to interpret.
    
    Change-Id: I6edbbb7c010b4e534de9033b91849e2d54bf4b25
    Reviewed-on: http://gerrit.openafs.org/7778
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b9b575c8807e00aa5c1b5c1f26f57982a860d8c3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 22:42:10 2012 -0400

    budb: remove dead assignment in verifyFreeLists()
    
    Change-Id: I1c4b6e9f4961395815ca379dd031a309b53d5364
    Reviewed-on: http://gerrit.openafs.org/7779
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c29c302347ba93bd3dc5f88f9c235cb89a0413b8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 21:35:21 2012 -0400

    afs_server: spell IFF_POINTOPOINT consistently
    
    The interface flag has one fewer T than normal English usage would
    suggest, so this code was never compiled on systems that don't have
    the normally-spelled version as an alias.
    
    Change-Id: I7ae4ab45eda937d122894828ec8fdc104f43392f
    Reviewed-on: http://gerrit.openafs.org/7772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ce1917c801b8338629723b4ccf38b336e873aef1
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 21:47:35 2012 -0400

    volser: dead store in UV_MoveVolume2
    
    Change-Id: Iee66b99388c7deb0109aaf676ad28ec9c27e6409
    Reviewed-on: http://gerrit.openafs.org/7773
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 59e0efd22e9a36102a7aa6a544f89f6f2cd3edea
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 15 11:56:15 2012 -0400

    FBSD: don't reference libc_r; no release OpenAFS works on still uses it
    
    libc_r is the old user-mode threading library.  Modern versions of
    FreeBSD don't include it, and the conditionals here that (nearly
    always) override it with the correct library, libpthread, are true
    on every version of FreeBSD for which OpenAFS might plausibly be
    compiled.  So just use the correct library all the time.
    
    Change-Id: I8f813814973cec3173f44636523c3bf0bee27b3e
    Reviewed-on: http://gerrit.openafs.org/7764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6b8c43559073caa7f0b9db25bab4812606740e7d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 6 16:04:28 2012 -0400

    Windows: add cm_ServerListSize()
    
    cm_ServerListSize returns the length of a cm_serverRef_t list.
    
    Change-Id: I6dc1e5e2c23efffe9d6c210ba1c8702d00aabe8f
    Reviewed-on: http://gerrit.openafs.org/7759
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2dbe1316a17716e57013cf41e7b19ec898b94cbf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 6 16:02:38 2012 -0400

    Windows: add cm_IsVolumeReplicated()
    
    Given a file id indicates whether the volume it is located on
    is replicated or not.
    
    Change-Id: Icae0a387fc26e2a76b4b6f87fdb5c330da31a96b
    Reviewed-on: http://gerrit.openafs.org/7758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a9be0735b5e23adefc5fd57083ca206e61820bab
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 9 09:34:22 2012 -0400

    Windows: Redesign of server preferences
    
    Server rankings should be composed from three values:
    
     1. administrative preferences
    
     2. network address locality
    
     3. peer performance (rtt and congestion window)
    
    This ensures that local subnet servers are always
    preferred.
    
    Add a new rank for down servers so they are always
    sorted las in cm_serverRef lists.
    
    Change-Id: Id00e151fc1acd65db558571e6a3a0e7cfbf3c6ca
    Reviewed-on: http://gerrit.openafs.org/7757
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 65a5e3ce92c47a87c3dca54cec456ae0337c78ef
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 4 17:54:02 2012 -0400

    vlserver: fix logging of ip addresses
    
    Remove the spurious dates surrounding IP addresess in the VLLog.
    Instead of multiple calls to the logging function for a given log
    line, format a string containing the addresses and call the log
    function once.
    
    Changes the log output from,
    
      ...  The following fileserver is being registered in the VLDB:
      ...         [Tue Jul  4 14:11:43 2012 192.168.10.128Tue Jul  4 14:11:43 2012 ]
      ...  It will create a new entry in the VLDB.
    
    to,
    
      ...  The following fileserver is being registered in the VLDB:
      ...         [192.168.10.128]
      ...  It will create a new entry in the VLDB.
    
    Change-Id: I6c4ac2dcc60fe4c5ced79017b91049f0c327e935
    Reviewed-on: http://gerrit.openafs.org/7750
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f70952a347dff39bd445f8361224e1c622a5b1cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 10 00:13:04 2012 -0400

    Windows: cm_SyncOp waiting logic
    
    Use interlocked increment and decrement to track the waiters
    and use the wait queue itself to determine if there are waiters
    instead of the CM_SCACHEFLAG_WAITING flag.
    
    Change-Id: I9c570cb228d73253989932149346ecfc45804267
    Reviewed-on: http://gerrit.openafs.org/7752
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 80732b94ef8a8fd239d8f77d8e10f0d770f0ec24
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 10 00:09:14 2012 -0400

    Windows: remove unused CM_SCACHEFLAGs
    
    CM_SCACHEFLAG_CALLBACK and CM_SCACHEFLAG_STATD were cleared at
    various points and tested at various points but never set.
    Remove them.
    
    Change-Id: I018c51febf01e1311dc38e3779e8c8880890f20a
    Reviewed-on: http://gerrit.openafs.org/7751
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6fb3b7aa317a6429daf86b140785875a70686bac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 7 14:11:23 2012 -0400

    Windows: not all short rx_Read[v] reads are fatal
    
    When performing a RXAFS_FetchData[64] RPC, a short read from
    rx_Read[v] is not a reason to stop processing the call unless
    it is the first read and the file server FetchData offset bug
    has been detected.  If not, only stop processing if the
    rx_Read[v] return value is <= 0.
    
    Change-Id: I5b10ce7903686fa3d9c251e6c92c4bcec376ed40
    Reviewed-on: http://gerrit.openafs.org/7749
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 606d9554e2880c2978675b7eae3fa5f53bd07c3d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 9 00:49:13 2012 -0400

    Windows: record mount point string data version
    
    The Windows cache manager stores the mount point or symlink target
    string in the cm_scache_t object.  If the string is the empty string
    then the target needs to be resolved.  Otherwise it is considered
    up to date.  With this approach, care must be taken to ensure that
    the string is erased whenever the data version changes.
    
    This patchset records the data version of the mount point target
    string in the cm_scache_t object.  Being up to date is determined
    by comparing the current data version of the object to the mount
    point string version.  A match and the string is up to date.
    
    Change-Id: I4dfdc1af5894548afb35e84e77f7f607674bd7af
    Reviewed-on: http://gerrit.openafs.org/7745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit df46bb407a9073374337f4b8e4291e18c74e548c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 8 02:00:17 2012 -0400

    Windows: initialize afsStatus and callback structs
    
    In cm_GetBuffer, cm_GetData, cm_VerifyStoreData
    
    Change-Id: I4bb965ead41f99c6c677cce35a784b53b1f6b310
    Reviewed-on: http://gerrit.openafs.org/7744
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 8115841e2fc9d827a7207ddc18e5c84e466ed7e7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 6 15:07:13 2012 -0400

    Windows: cm_MergeStatus unknown interface numbers
    
    Ignore status information if the interface number is unknown.
    Currently only version 1 is recognized.
    
    Change-Id: I02618ef81e42ad5b6ef903e2f25598dfb7053ca4
    Reviewed-on: http://gerrit.openafs.org/7743
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 234bedae6ef506ec1ff53854a22548e892db3f11
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 20 16:28:51 2012 -0500

    vos: Avoid creating volume with the same RO/BK ids
    
    If we specified an RW id of 5, an RO id of 6, and no BK id, this code
    would assign the BK id to RW+1, or 6. This gives the RO and BK volumes
    the same volume id, which is a mistake. Choose a different id instead.
    
    Change-Id: I7910008dd6147a95d482337f91926e9e0d924b9e
    Reviewed-on: http://gerrit.openafs.org/7603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5800b7f23cf04525a6d570f4d97a9842d73a4cb8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 23:16:33 2012 -0500

    viced: fsprobe needs MT_LIBS
    
    fsprobe is built pthreaded, so it needs MT_LIBS; otherwise HP-UX and
    possibly other platforms complain about missing pthread symbols. Just
    copy the libs from the fileserver link line.
    
    Change-Id: I78e69c9ea45e983e997b1bc1bb59f97ee07c3e2f
    Reviewed-on: http://gerrit.openafs.org/7609
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9be78ab820476e27b31440dc2f6ba425d21d5436
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 6 00:29:59 2012 -0400

    ptserver: unused by set variable 'eid_s'
    
    Third declaration of 'eid_s' in WalkNextChain() set but unused.
    [-Werror=unused-but-set-variable]
    
    Change-Id: I7a4e2ea3dea3d58379e31d3c6cb4b3169a882bce
    Reviewed-on: http://gerrit.openafs.org/7737
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9bc068edc890991b5d384108ce972c12d3c18975
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 16:55:03 2012 -0400

    Windows: interlocked ops for osi lock flags
    
    Use interlocked operations to set and clear the flags in the osi
    mutex and readwrite lock objects.
    
    Change-Id: I92089650d3474efb76c45293b5209b3e2350d983
    Reviewed-on: http://gerrit.openafs.org/7720
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d5f067aa735968d4da6685f0883ca978d5e6795c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 16:52:51 2012 -0400

    Windows: use spin counts for osi base locks
    
    On multiprocessor systems, spin counts are faster than entering
    a processor wait state when there is critical section contention.
    Microsoft recommends a count of 4000.  This feature is only available
    on XP and above which is fine since OpenAFS master and 1.7 no longer
    support Windows 2000.
    
    Change-Id: I1b40d00b2a91e60e1676a53e1c38eb5f9bfadc69
    Reviewed-on: http://gerrit.openafs.org/7719
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f4baf7cf99ef52f3ce9d6a7ee577cd9140a8bdc5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 21:13:21 2012 -0400

    Windows: X86 DEBUG Interlocked Or and And
    
    X86 DEBUG builds do not have a native InterlockedOr or
    InterlockedAnd.  Therefore, we must provide our own.
    
    Change-Id: I48f86feb58c96e327500e802340a213c0f70d5e4
    Reviewed-on: http://gerrit.openafs.org/7726
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7f646382f633fb83d2054298cd5ce12a7bfa250c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jun 28 17:24:49 2012 -0400

    vldb_check: remove unused functions
    
    Remove the readSIT function, which has been unused
    since the IBM days.  Remove the commented out and
    unimplemented writeUbikHeader stub.
    
    Change-Id: Ic2cebba6ddf803a537a6b1e5f24db51560209436
    Reviewed-on: http://gerrit.openafs.org/7613
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 828ef9c39a14af265796755718c10b63513f952c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 18:56:47 2012 -0500

    doc: Add fs bypassthreshold man page
    
    FIXES 130050
    
    Change-Id: I0ffc7b93ed9dd93765a25efd60fe3430a86366cf
    Reviewed-on: http://gerrit.openafs.org/7602
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 52f3878da4b8f5356e7799f2659d41cade0dbdee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 18:25:09 2012 -0400

    Windows: remove used 'deltas' from cm_CheckServersMulti()
    
    Change-Id: I9dd5e72a8fe748a06aa4d008888a41017d60570c
    Reviewed-on: http://gerrit.openafs.org/7725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3b3b620a03b56dba7f0696f8175b9fb2c8fbd6ae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 18:22:24 2012 -0400

    Windows: Apply cm_GetVolServerList() to cm_ConnFromVolume()
    
    Use cm_GetVolServerList() in cm_ConnFromVolume() to ensure an
    error is returned instead of dereferencing a NULL pointer if
    the serverRef list for the requested volume cannot be obtained.
    
    Change-Id: I265b7e8b64fcf6b4444c7d504e5109d67fa48089
    Reviewed-on: http://gerrit.openafs.org/7724
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4e3400414f676b9a0033f041f81671534ffdab99
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 18:21:51 2012 -0400

    Windows: Apply cm_GetVolServerList() to cm_Analyze()
    
    Using cm_GetVolServerList() it is possible to simplify
    the logic in cm_Analyze().  It is no longer necessary
    for cm_Analyze() to call cm_GetServerList() which must
    obtain its own reference the the cm_volume_t object via
    a fileId lookup.  This reduces lock contention and makes
    the code a bit more readable.
    
    Change-Id: I3a39458676af06fd473489d639bf9d2fe80c0b9d
    Reviewed-on: http://gerrit.openafs.org/7723
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 2575d87824fbf5d0e1a5fcb3a1b49949d6fbe2ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 18:16:09 2012 -0400

    Windows: Add cm_GetVolServerList
    
    cm_GetVolServerList() is a wrapper for cm_GetVolServers() that
    returns CM_ERROR_NOSUCHVOLUME if the server list cannot be
    obtained for the requested volume.
    
    Change-Id: I1ab21b3f6ca71507cc382738cb50f87e92ee2ce2
    Reviewed-on: http://gerrit.openafs.org/7722
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ef5686b1a11e1a6ba4590b09170306190d6c7393
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 18:06:13 2012 -0400

    Windows: Modify cm_GetVolServers and cm_GetServerList
    
    Move the determination of the 'replicated' state into
    cm_GetVolServers() so that cm_GetServerList() and
    cm_ConnFromVolume() can be implemented without duplicating
    the resolution of the cm_vol_state_t object.
    
    Change-Id: I355cb2cdf7e327742df7936171ad3dc604f135df
    Reviewed-on: http://gerrit.openafs.org/7721
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5b9e9265a0df707e9fb79842ab5aa94b59b8e88e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 14:54:04 2012 -0400

    Windows: cm_ConnByServer hold userp->mx only while necessary
    
    The cm_userp_t does not need to be locked while the cm_conn_t
    force new connection processing is taking place.
    
    Change-Id: Ia3711d393d60382b18f7e45621561d2015b97af7
    Reviewed-on: http://gerrit.openafs.org/7718
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c3ce54e6b7be8c2996a0fda2d7ad9780fca2f0ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 14:33:50 2012 -0400

    Windows: cm_ConnByServer add conn to list after init
    
    Do not add a newly created cm_conn_t to the cm_server_t connsp
    list until after the object is fully initialized.
    
    Change-Id: Ic5605abefb51d9342f0d249903e13e99b90452b7
    Reviewed-on: http://gerrit.openafs.org/7717
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f73aebbe8772e62bf8930d70e9edab2f82ff8984
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 5 11:03:35 2012 -0400

    Windows: cm_HaveCallback optimize .readonly
    
    If the cm_scache_t has a registered callback, there is no reason
    to obtain a volume reference for a .readonly.  Just use the
    callback.
    
    Change-Id: I40a696b9c5fa2e8104837871236c41c338dfbdf9
    Reviewed-on: http://gerrit.openafs.org/7716
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 561b9ce80938d316223f2b313f8224fe06af9d5a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 3 15:38:33 2012 -0400

    Windows: RDR RXAFS_GetVolumeStatus vs 1.1 'l' only
    
    The Windows redirector relies upon the ability to obtain volume
    status information to decide whether a file system volume object
    can be created and whether or not an extending write can be
    permitted.  As of this writing, the file server always performs
    a PRFS_READ access check on the volume's root directory (1.1)
    vnode as a condition for releasing the volume state information
    which includes:
    
      Message of the day (if any)
      Offline message (if any)
      Online flag
      InService flag
      Blessed flag
      NeedsSalvage flag
      Type
      MinQuota
      MaxQuota
      BlocksInUse
      PartBlocksAvail
      PartMaxBlocks
    
    All of this information is publicly available to anonymous users
    via "vos examine" so it is odd that it is hidden from anonymous
    cache managers.  When RXAFS_GetVolumeStatus fails, the AFS redirector
    was failing to create a file system object for the AFS volume.  That
    in turn prevented the volume from being accessed even if the user
    had 'l' in the root directory and full access everywhere else.
    
    This patchset will make up fake data for the AFS volume if the
    RPC fails.  However, doing so does have consequences.  The client
    will be unable to make an accurate determination regarding free space
    on the file server.  As a result, an extending write may be permitted
    which writes data into the system page cache which in turn cannot
    be written to the file server.   Such data will be lost and unrecoverable.
    
    Change-Id: Ic818ce9d51893181941f41d6628394b5917dc811
    Reviewed-on: http://gerrit.openafs.org/7704
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 261ec65f20df46ed043d16a869d042cf61c6eda7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 3 12:51:27 2012 -0400

    Windows: HaveCallback vs readonlyVolumeVersioning
    
    If the cm_scache_t volumeCreationDate is 0, the field is not
    valid for comparison.  Add a check during the have callback test.
    
    Change-Id: I95bbf229d9ee1c7acfd4b7fe30242faaa4c22cf6
    Reviewed-on: http://gerrit.openafs.org/7680
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c3485a35b7a548d850d55dde4634ba78e5330aa9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 3 12:49:53 2012 -0400

    Windows: HaveCallback vs OfflineRO Is Valid
    
    commit f716962ab41847af4450d0a361f5de9195b32ed0
    inadvertently broke the offline .readonly is valid functionality
    when readonly volume versioning is disabled.  Restore it.
    
    Change-Id: Iae282f394d49ca5f558a62819bc2bbd8dd7f152e
    Reviewed-on: http://gerrit.openafs.org/7679
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 64a37fa9f916cd1e8f0ec9bb252fda13aa8b4cd4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 3 12:42:52 2012 -0400

    Windows: cm_DiscardSCache volumeCreationDate
    
    commit f716962ab41847af4450d0a361f5de9195b32ed0
    clears the cm_scache_t volumeCreationDate field.
    It shouldn't because the volumeCreationDate is not a property of
    the callback.  It is a property of the status information which
    does not change simply because the callback expires.
    
    Change-Id: I3f73cf89588de6c1c87434cd04b86939d45cfa43
    Reviewed-on: http://gerrit.openafs.org/7678
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 673127f6928c9c2fb5a3b0400fa36d4afcf1e5df
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 29 00:35:49 2012 -0400

    Windows: add missing items to 'clean' rules
    
    Change-Id: Ibf7ce081d789a5940033ecdcfd62515824176368
    Reviewed-on: http://gerrit.openafs.org/7653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 17584782a4d76facf5a89a3eeeebfcc23582b3e8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 25 23:06:30 2012 -0400

    Windows: afslogon expand short domain names
    
    Depending on how the user specifies the domain name during login,
    NPLogonNotify may be given a short or a full domain or kerberos
    realm name.  If the name is the short name, attempt to expand it
    automatically if there is no 'realm' configured for the short
    domain name.
    
    This patchset relies upon data in the local registry instead of
    using an API such as NameTranslate in order to avoid network
    queries to the domain controller that might not be reachable.
    
    Change-Id: Ib2cd08bca5223fa847a462520074bb758191539d
    Reviewed-on: http://gerrit.openafs.org/7650
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 712c0c1d0e506a9010d7a5cc93dfd49bee006d41
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 25 01:38:41 2012 -0400

    Windows: afscreds import lsa before renew expiring
    
    Change-Id: I53d3d000a0970089417d7855fda7a97ba4e61000
    Reviewed-on: http://gerrit.openafs.org/7649
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0834e40bd7444ba1f1770c60b387cf513b279a4b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 25 01:33:02 2012 -0400

    Windows: Remove HELP from afscreds
    
    The old .hlp format is no longer supported and the text of the
    help files is long out of date.  Remove the HELP buttons from
    the dialogs and all references to WM_HELP message processing
    from the application.
    
    Change-Id: I4c735993c7a79d46cbbc49440aa6d77b6861ff85
    Reviewed-on: http://gerrit.openafs.org/7648
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 91795c659087371f941231e51fe284de010e60b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 22:03:21 2012 -0400

    Windows: afslogon major refactoring NPLogonNotify()
    
    This is a major refactoring of NPLogonNotify() that is meant
    to reduce redundancy and add functionality.  Key highlights
    include:
    
     * New Domain\user hierarchy that permits configuration
       settings to be applied on a per user basis instead of a
       domain basis.  As part of the extension the username itself
       can be mapped.
    
     * Attempt to import the MSLSA credentials prior to performing
       KFW_AFS_get_cred().
    
     * Do not perform redundant KFW_AFS_get_cred() calls.
    
     * Add a flag to indicate if the authentication name is the
       LSA principal name.
    
     * Add more debugging messages.
    
    Change-Id: Iacd6c6b4d3fe25f07a9c6982d0859eee22d09fe8
    Reviewed-on: http://gerrit.openafs.org/7635
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 76ae0f01b32d3e87273ff6d2c9c20eec59e22e16
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:58:26 2012 -0400

    Windows: afslogon cast away warnings
    
    cast away size_t to int warnings in 64-bit builds.
    
    Change-Id: I1200fe6235d75f87c5d8e78496baae29b3c5242c
    Reviewed-on: http://gerrit.openafs.org/7634
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 79f68de80e56179cfc5158fdcb51c34cfa864802
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 29 12:36:36 2012 -0500

    Remove empty Makefile continuation lines
    
    HP-UX make gets confused by constructs like:
    
       FOO = bar \
    
       BAZ = quux
    
    Where a line continuation is followed by an empty line. So, get rid of
    all of these in the tree. Not all of them matter, but removing all of
    them makes it easier to find these, and catch them in the future.
    
    Change-Id: I7d5ef000b5b55de4b71c183589fbfe36e3880ba1
    Reviewed-on: http://gerrit.openafs.org/7611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4707174938b92df189697a2b7e463438c37c1ed0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 1 22:19:08 2012 -0400

    Windows: cm_UpdateVolumeLocation misplaced lock
    
    The volume->mx was obtained in the wrong place which resulted
    in the potential of a panic caused by obtaining the mutex when
    it was already held.
    
    Change-Id: I812ed57bef93c60358591a2a1e19009fc6bb1a2d
    Reviewed-on: http://gerrit.openafs.org/7654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4929b0cb0b57a803a84673fe0faf619d088ed910
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 28 22:29:19 2012 -0400

    Windows: WiX backup additional registry keys
    
    Move backup storage to HKLM\Software\OpenAFS\BackupSettings
    
    Backup HKLM\SYSTEM\...\Services\AFSRedirector
    
    Add ..\TransarcAFSDaemon\NetworkProvider "Debug" value
    
    Change-Id: Iecf0c99ec941fee2bf8ed7f1e8224a50d751bdef
    Reviewed-on: http://gerrit.openafs.org/7652
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 03dfcce05aabf2ceecdb84528fc837176c52af77
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 27 01:00:20 2012 -0400

    Windows: ensure TreeLock obtain and release same pointer
    
    The indirection ObjectInformation->ParentObjectInformation does
    not appear to be stable.  When acquiring and releasing a parent
    TreeLock, use a local variable to store the ParentObjectInformation
    pointer and use that to access the TreeLock.  This will ensure that
    the resource obtained is the one that is released.
    
    Change-Id: If359de0f7572cfa4e401baa47affa6872b79e932
    Reviewed-on: http://gerrit.openafs.org/7651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit f3f282265a3d9e3c968fd06793e6d1a91337f443
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 24 10:16:42 2012 -0400

    Windows: Media Protected if create on RO volume
    
    If there is an attempt to create a file/directory on a readonly
    volume as indicated by the Volume Characteristics, return
    STATUS_MEDIA_WRITE_PROTECTED immediately.  Do not bother contacting
    the afsd_service.
    
    Change-Id: I809adacbbc429166d9a0e308752e484400799cb8
    Reviewed-on: http://gerrit.openafs.org/7647
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 53413685ce56c5adba7b095265a62a5088977de2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 24 10:12:51 2012 -0400

    Windows: Remove incorrect assert AFSVolumeInfo
    
    When querying the volume information, the input FileId does not
    have to be a volume root.  Remove this extraneous assertion.
    
    Change-Id: Iee4c64c395ad409dfcc3d3be31df63ceaf70fc07
    Reviewed-on: http://gerrit.openafs.org/7646
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit dddd393198bc066e0fea478baf719c97cd51ec53
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 23 15:04:29 2012 -0400

    Windows: NPGetConnectionPerformance
    
    Restore the implementation of NPGetConnectionPerformance
    in AFSRDFSProvider.dll.  This time just return 0 for all fields
    except for the preferred read/write size which is set to 64K.
    
    When this function is not implemented at all, a query for
    performance of a \\AFS path will be processed by the SMB
    redirector.  This can result in a 20 second timeout while waiting
    for the SMB Browser query for "AFS <20>" to complete.
    
    Change-Id: I67f7a3f0bb20a4be791bc153109e4e91144e00af
    Reviewed-on: http://gerrit.openafs.org/7645
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5a6cf1494613b83332e4fad01980bb636c510a88
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 23 11:11:47 2012 -0400

    Windows: ShellExt Add Prop Page only if AFS
    
    If the file is not in AFS, do not add any of the AFS specific
    property sheets.
    
    Change-Id: Ie6a794d4b93821287a8d41c6f2e4931edaf45917
    Reviewed-on: http://gerrit.openafs.org/7644
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d95d4fcca997ea3f8bfbf4a2c1f22c402446aad8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 22 16:51:00 2012 -0400

    Windows: ShellExt display error if symlink not AFS
    
    If the path in which a Symlink is to be created is not located
    within AFS, display an error dialog.
    
    Change-Id: I8e4cc6840d56184da7d842cc552d11624cdef89d
    Reviewed-on: http://gerrit.openafs.org/7643
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 349c1f53383ee26eb13729d703b0b9e89865ec0c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 22 16:46:23 2012 -0400

    Windows: Dir Invalidation Notify Current Object
    
    When an invalidation is processed for a directory object,
    send the notification on the directory object that was invalidated
    not its parent.
    
    Change-Id: I2f5e698e451576891a82364058baee3dc6717362
    Reviewed-on: http://gerrit.openafs.org/7642
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 05ac74528b30d36c195ff8f4df343fa72082a213
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 22 00:25:26 2012 -0400

    Windows: check perms before RXAFS_GetVolumeStatus
    
    Instead of calling RXAFS_GetVolumeStatus naked, perform a read
    permission check using RXAFS_FetchStatus first.  This permits EACCES
    caching to prevent unnecessary requests.
    
    Regardless of which FileId is queried, always use the root vnode
    FileId for the permission check.  The file server performs its
    permission check using the root vnode.
    
    Change-Id: I3260bf0061beed5d95aae1d40e25d17be1811271
    Reviewed-on: http://gerrit.openafs.org/7641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 4785361388d21c46dd30332d89bb201522ee1a6c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 21 19:37:25 2012 -0400

    Windows: cm_GetROVolumeID empty server list check
    
    Instead of testing for a non-NULL server list, check to see
    that the list itself is non-empty.
    
    Change-Id: I1d8be33cd5f0713677d6013f5d7344400f6b1ae6
    Reviewed-on: http://gerrit.openafs.org/7640
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 056399bb0d2186bae96223c7f7665e1bc0aed82f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 21 19:34:58 2012 -0400

    Windows: Replicated requires more than one site
    
    The VLDB response may include a list of servers some of which
    are not valid replicas because the DONOTUSE flag is set or
    because the replica site may be out of date.  Instead of setting
    the replication state based upon the server count in the VLDB
    response, use the number of RO sites that were deemed valid
    at the end of processing.
    
    Change-Id: I47780e1633f3148f1f7c76af89224cbe37dde6c6
    Reviewed-on: http://gerrit.openafs.org/7639
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 877053a8cd419c6a6470972f18c4adc7ddb0f163
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 21 19:29:26 2012 -0400

    Windows: [Inline]BulkStat VolSync not accurate?
    
    Instead of only recording the volume creation date when
    cm_readonlyVolumeVersioning is true, record the date whenever
    the RPC in use is not a RXAFS_[Inline]BulkStatus.  This is
    tracked by the addition of flags for cm_MergeStatus and
    cm_EndCallBackGrantingCall which identify when the RPC was
    in fact a BulkStat variant.
    
    As a reminder, pre- 1.4.11 and 1.6.0 file servers do not
    properly set the VolSync structure when responding to BulkStat
    RPCs.  At present, there is no method of identifying when it
    is safe to use them.  When cm_readonlyVolumeVersioning is TRUE,
    it is assumed that the file servers are new enough to do the
    right thing.
    
    Change-Id: Ida9a30b07ea646a094e9753af9d79f36ab095a98
    Reviewed-on: http://gerrit.openafs.org/7638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ae25cf277c8d70da0e6666316baf98d5c117a03b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 20 00:05:44 2012 -0400

    Windows: force vldb lookup if server list is empty
    
    The Windows cache manager can mark server references as "deleted"
    which can give the impression that a server reference list is not
    empty when it is.  If the volume list is empty any attempt to
    issue an RPC would fail with a CM_ERROR_ALLDOWN error.  Since the
    VLDB data is current, this condition will remain for two hours.
    
    This patchset adds a new error, CM_ERROR_EMPTY, which is returned
    when the server reference list is empty.  cm_Analyze() is modified
    to process the CM_ERROR_EMPTY error by attempting to update the
    server reference list.  If the update succeeds and the list is no
    longer empty, the RPC is retried.  Otherwise, the RPC fails as
    before.
    
    Change-Id: I13891c28ec9916bdd03c1b02e1c9049ed0581ed3
    Reviewed-on: http://gerrit.openafs.org/7637
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e0b9b89dd98d0bf449556e3f28b479dd61e7eb95
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 19 18:48:31 2012 -0400

    Windows: Freelance Short circuit all vol updates
    
    As long as the cell is the Freelance Cell ID the volume updates
    should be short circuited.  There is no benefit to performing
    the extra work.
    
    Change-Id: I3449d8a11607406a616918f9a60796552a6cf6d4
    Reviewed-on: http://gerrit.openafs.org/7636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7fd1dc6c887c3bf786632901bc72b8250298a98f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:55:49 2012 -0400

    Windows: AFS_Startup_Event must query Debug value
    
    For proper debugging to be performed within the AFS_Startup_Event
    processing, the "Debug" value must be queried from the registry.
    
    Change-Id: I3b9fa48029f45022c9c5c00cadd64d0822878046
    Reviewed-on: http://gerrit.openafs.org/7633
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 187af8d11350c2ff509244f216c72bdd4b88451a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:49:18 2012 -0400

    Windows: NPLogonNotify secure erase password
    
    The user's password is copied during the NPLogonNotify
    processing, be sure to erase it from the stack before the
    function completes.
    
    Change-Id: Ib600f5656f7b32628e7105336ff0ffef8f15272f
    Reviewed-on: http://gerrit.openafs.org/7632
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c8b1f007b530c072ee1f5654833f68e45a2eafd5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:48:05 2012 -0400

    Windows: afslogon impersonate when deleting tickets
    
    When tickets are obtained via the KFW_AFS interface the user
    context is being impersonated.  Do the same when cleaning up.
    
    Change-Id: Iba43db2e66d8f02e9fbf4e076f6429a53838edea
    Reviewed-on: http://gerrit.openafs.org/7631
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit ae5aba17cc5d45805f7d263fd645fba0d3bb5116
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:45:39 2012 -0400

    Windows: afslogon make error dialog system modal
    
    Prevent error dialogs from getting lost behind the desktop
    during logon.  Make them system modal.  Add a warning icon
    as well.
    
    Change-Id: I63aa89d130af18846c86abe4a3327bf7b87e3058
    Reviewed-on: http://gerrit.openafs.org/7630
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7adb93cf51d56936d51b70758a959342728fea56
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:39:51 2012 -0400

    Windows: afslogon MapAuthError
    
    return WN_NET_ERROR (ERROR_UNEXP_NET_ERR) to indicate a problem
    with this network provider when an error occurs instead of
    returning WN_NET_SUCCESS.
    
    Change-Id: Ideaab8b5043e9033adc19efa158c95415f561d0e
    Reviewed-on: http://gerrit.openafs.org/7629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 43d53bed6f591257fee55c343699ee1d3b223ff6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 21:37:49 2012 -0400

    Windows: afslogon OutputDebugString
    
    If the NetworkProvider "Debug" value has the 1th bit set (2),
    generate all debug values to the debugger via OutputDebugString().
    
    Change-Id: Ie7552fc5d154c178c38962672598a3b71321294d
    Reviewed-on: http://gerrit.openafs.org/7628
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e513799232f72ce9deabe5097f06f42d4ce09bf2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 18 10:10:32 2012 -0400

    Windows: Do not permit RDR worker threads to quit
    
    If the DeviceIoControl from the service's redirector worker threads
    fails the thread will terminate.  This is a problem because if all
    of the threads quit the afs redirector will end up deadlocking
    all requests since there will be no method of delivering them to
    the service.  If there is an error log it (if possible), and retry.
    Hopefully it will be transient.
    
    Change-Id: I3ce5e338e41fd71c5289fe778789f0300c0b5ecd
    Reviewed-on: http://gerrit.openafs.org/7627
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d7690835aca12b3d38722a8dafa6efbfb1f549ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 7 09:23:26 2012 -0400

    Windows: misplaced brace in KFW_AFS_get_cred
    
    A misplaced brace in KFW_AFS_get_cred() results in KFW_AFS_klog()
    being executed twice in a row if successful.  The second attempt
    could fail due to a KRB5KRB_AP_ERR_REPEAT error issued by the KDC.
    
    Change-Id: I6364c1e378eeeeec9f66449674c8cd240f029a8a
    Reviewed-on: http://gerrit.openafs.org/7626
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit c639b08ebc1b202b571b245bb5eee075300b2ec0
Author: Steve Simmons <scs@umich.edu>
Date:   Wed Jun 27 17:28:36 2012 -0400

    Added build of cscope index to Makefile
    
    Add ability to do 'make cscope' at the top of
    the distribution tree and get 'cscope.out' built
    in ./src. Index file is removed in 'make clean'.
    cscope.out is now ignored in src/.gitignore
    
    Change-Id: I2ae4eea0fce46a87a6b9d5a992fcb7288f6b5655
    Reviewed-on: http://gerrit.openafs.org/7594
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 300cbb28b08c2fd3709942cc6c48e7d9369a3394
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 15:43:27 2012 -0500

    doc: Correct volume size CAUTIONS notes
    
    2 terabytes is 2^41 bytes, not 2^31 bytes. Also clarify that volumes
    can be much larger than this.
    
    FIXES 130188
    
    Change-Id: Id667b2827900dbe447828d773c7b90e9611288a2
    Reviewed-on: http://gerrit.openafs.org/7598
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit fcaa53a6d7289665b64037a0d96ae4c6cbf4f776
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 17:47:32 2012 -0500

    doc: Fix whitespace errors
    
    Change-Id: I3bbdf1075279d970bc011277b1f79291a5ba62a6
    Reviewed-on: http://gerrit.openafs.org/7599
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3ff8ef499c56008f4d2ebf5b81e08e98eb0c0826
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 28 15:30:40 2012 -0500

    doc: Consolidate CAUTIONS notes about volume size
    
    Change-Id: I264906fb3f61db62c483982f613654a9a897f417
    Reviewed-on: http://gerrit.openafs.org/7597
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 5e91c3b5d1a70f7af2e04ac74d98ae6b407f169c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 01:56:35 2012 -0400

    Windows: export roken allocators
    
    Use rk_alloc, rk_calloc, rk_free, rk_realloc instead of Windows
    C RTL allocators.  The OpenAFS source tree has a bad habit of
    allocating memory in one module and freeing it in another.  This
    is not a problem for POSIX but is disaster on Windows.  This change
    ensures that all OpenAFS modules share the same allocator.
    
    Change-Id: Ia57f1ba351e8dc24e7fbba87bbc9595bcf001ed6
    Reviewed-on: http://gerrit.openafs.org/7625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 9c0b7be87de83493ca1d5a01326982ce5c8c131b
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Jul 2 15:00:30 2012 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    3fe55728404c602884f16126e9cc60fc5a3d8f20 (switch-from-svn-to-git-2993-g3fe5572)
    
    Upstream changes are:
    
    Andrew Bartlett (1):
          Revert "make paranoia check less paranoid" - check that key types strictly match
    
    Jeffrey Altman (3):
          do not include stdint.h unprotected
          Windows EAFNOSUPPORT defined by VS2010
          roken: Use a common allocator for all windows
    
    Love Hornquist Astrand (2):
          add rk_getpwnam_r
          move windows compat errno constants to after <errno.h> is included
    
    Nicolas Williams (7):
          Fixes to make Heimdal -Wall -Werror clean
          Make krb5_kuserok() pluggable and add features (including MIT config compat)
          Generalize token expansion to allow for context-specific tokens
          Address code review comments (use krb5_enomem())
          Make master build on Windows
          Fix a compiler warning in lib/roken/snprintf.c on 32-bit Ubuntu
          Move base into lib
    
    Roland C. Dowdeswell (3):
          Turn on -Wextra -Wno-sign-compare -Wno-unused-paramter and fix issues.
          Provide support for enctype aliases for ease of use.
          Additional changes to make -Wshadow build on Ubuntu 10.04.
    
    Simon Wilkinson (1):
          hcrypto: Use correct size for memset in md2
    
    New files are:
            roken/realloc.c
            roken/win32_alloc.c
    
    Change-Id: I8129ad5677fd7e3a3d3daa78eadf436bbc63adc2
    Reviewed-on: http://gerrit.openafs.org/7612
    Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit e05a63045230e732d6abb1f4baf8ed5275e19e69
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jul 2 14:50:10 2012 +0100

    roken: Import Windows allocator changes
    
    Roken now supports using a single allocator across all of the objects
    which include that roken library. Two additional objects are required
    to support this, so add them to the list of symbols that we import.
    
    Change-Id: If43537f06a6cdc6ea4dea278cdc1db1e6970f955
    Reviewed-on: http://gerrit.openafs.org/7618
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0e327b4982d630508446aaa2cc0999d899cc8a31
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 11:52:34 2012 -0400

    cmd: add krb5_enomem() definition
    
    Heimdal's expand_path.c now makes use of a new function krb5_enomem()
    which is a wrapper around krb5_set_error_message().  Add a dummy
    implementation to src/cmd/krb5_locl.h so that expand_path.c can
    build within the OpenAFS tree.
    
    Change-Id: I9616604dfd7e0844b7e09576c76d844b1cb678dc
    Reviewed-on: http://gerrit.openafs.org/7624
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit a41ab064962ef4865dfa5023c4b314c6f935ed64
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 11:49:54 2012 -0400

    Windows: HAVE_UINTPTR_T
    
    The Windows build has a definition of uintptr_t.  Add
    HAVE_UINTPTR_T to the Windows config.h file.  The sources imported
    from Heimdal make use of it.
    
    Change-Id: I6d01dd9eb67c1e7f7ef257f0ac06d89d656f8bd8
    Reviewed-on: http://gerrit.openafs.org/7623
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 7c2399115153609edc87a4c487d18e7f8b41dcba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 01:42:35 2012 -0400

    Add HAVE_INT64TOINT32 test in stds.h
    
    Windows SDK v6.0 and above include a platform specific
    definition of Int64ToInt32.  Use the platform definition when
    available.
    
    Change-Id: I8081ed1c33d2ac11287ebaa1eaef1f77682575cf
    Reviewed-on: http://gerrit.openafs.org/7622
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 6f779c18678d4d9549c2977c2c3c9d15a0f13524
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 10:36:22 2012 -0400

    Windows: remove unused defines from param.h
    
    Remove #if 0 disabled definitions and those for strtoll and
    strtoull as they are not used anywhere in the tree.  strtoll
    and strtoull will conflict with the next roken.h update.
    
    Change-Id: Ieea394abf6046be9b5974464890b7af945c00153
    Reviewed-on: http://gerrit.openafs.org/7621
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 754180b61ee4cb84bd21046afd813b0dc03fad54
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 01:35:43 2012 -0400

    Windows: link to afsroken.dll
    
    All binaries must be linked against afsroken.dll.
    
    Change-Id: I74f392a8aaadfe67f24d01a8d65df6a6228fd952
    Reviewed-on: http://gerrit.openafs.org/7620
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 3078c4a59240540b085799495270872bc9393912
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 2 01:32:25 2012 -0400

    Windows: roken.h ordering
    
    The order of include files must be
    
      afsconfig.h
      afs/param.h
      afs/stds.h
      roken.h
    
    Change-Id: Ie9f6476b9be143416105d1eec3a512a87cf66383
    Reviewed-on: http://gerrit.openafs.org/7619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit d8397c7c320cd8557e4a24a9ff84b029c07b165e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 11 14:45:15 2012 -0400

    Windows: afslogon is only an authentication provider
    
    afslogon.dll is just a Authentication Provider DLL.  It does not
    provide network file system browse and mapping functions.  Therefore,
    do not include the "ProviderPath" registry value when the
    AuthentProviderPath variable is sufficient.
    
    Change-Id: I92848e614906c3e35b882dd70570bddfaa44d36f
    Reviewed-on: http://gerrit.openafs.org/7550
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

commit 0c6a2a7b359b7b0432c94287485ed1ed26d5f253
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jun 29 10:04:10 2012 -0400

    viced: null-terminate server list for ubik
    
    when we set up the vlserver connection, we could potentially use
    uninitialized memory as ubik connections. don't.
    
    Change-Id: Idefa71874c7402c927fbf148f994f9422183208a
    Reviewed-on: http://gerrit.openafs.org/7610
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 44ca4aa90ef101fb13b3b5327ca19381b5464fb3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 27 22:04:24 2012 -0400

    Patch up FreeBSD-10 support
    
    The auto-guessing code for sysnames produces *_fbsd_100, so we can't
    just claim that we'll be *_fbsd_1000 for kicks.
    Revert back to the old behavior so as to be less disruptive.
    
    Change-Id: Iddbff8f6e03a1bd0cf140b6eaad1de72ad3b76b4
    Reviewed-on: http://gerrit.openafs.org/7595
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 6ea7a84bdcc533ad3420b651a7c3c001b8c1cc6c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 26 17:42:39 2012 +0100

    viced: Remove localcellname
    
    Commit 8a040cfd848410b75b4e5ac5498f00f073932598 removed all of the
    code which relies on the localcellname variable being set, but didn't
    remove the variable itself. So do so.
    
    Change-Id: I34bb0d321712b6712633cf42a1d89140a0146501
    Reviewed-on: http://gerrit.openafs.org/7588
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit eed293b295f9d29baa4add36a1c504f5bdeb8df0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 26 17:43:29 2012 +0100

    viced: Make private host stuff static
    
    The function initInterfaceAddr_r is internal to the host.c file,
    so make it static to make this clear.
    
    Change-Id: I4dd2de5a7071e68f103bb56347551a3e535d2fd9
    Reviewed-on: http://gerrit.openafs.org/7587
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3b45a13a74936ed5f0e19a2766072fbd25c27022
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jun 27 10:51:37 2012 +0100

    viced: Make the config directory path global
    
    Store the location of the configuration directory in a global
    variable, rather than hardcoding it in multiple locations in the file.
    This makes it easier to write unit tests for portions of the fileserver,
    and is a step towards producing a fileserver that can be run from
    within the test suite.
    
    Change-Id: I0ee1d9bed084472b1e29b9c559a8726f867f91e4
    Reviewed-on: http://gerrit.openafs.org/7585
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 7034b980f7381fd99aa53f85a27a7260432c0c41
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jun 17 22:20:40 2012 +0100

    vol: Make some functions static
    
    Make all of the functions in partition.c that are only used in that
    file static.
    
    Change-Id: I12e0980578b79459f50b6f4a46d2c423847e18a9
    Reviewed-on: http://gerrit.openafs.org/7586
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c7ff0d28bf68533a74664e4f6a7ac0d946ac2893
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 26 21:04:41 2012 +0100

    tests: Abstract out code for a test RPC service
    
    Lots of our tests want to start a test RPC server, and then run
    commands against it. Start to abstract out the code to do this
    by pulling the code to start a test RPC server into its own
    function in the common test directory.
    
    Change-Id: Ie7fa1fa1984113f3722def17a9fd4b98993bd6ff
    Reviewed-on: http://gerrit.openafs.org/7584
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6f9443e702745d1e371eb72ad7fcba5cac47f3db
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 26 21:16:28 2012 +0100

    Unix builds: Reference krb5 libs in standard way
    
    Use $(LIB_krb5) and $(LDFLAGS_krb5) to reference the Kerberos
    library and linker flags, rather than directly using an autoconf
    substitution. This brings us in line with the way other libraries
    are handled.
    
    Change-Id: Icda16833abea32440a5c307c39eb06b32613b06a
    Reviewed-on: http://gerrit.openafs.org/7583
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 387fe294f663abd9c92cd007869e2e9e8cc11d69
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.
    
    Change-Id: I46532984cc470f41c83fb8c686766e4a4d49edd0
    Reviewed-on: http://gerrit.openafs.org/7574
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cb64dea75a114f6ebcba174be4e71c7fb5f85658
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 18 17:01:24 2012 -0500

    cacheout: Perform authenticated RXAFS_FlushCPS
    
    Fileservers may now require RXAFS_FlushCPS calls to be made with
    administrator tokens. So, try to make the call with admin tokens, and
    provide the usual -noauth and -localauth options.
    
    Change-Id: I8b3fc28b9151eb07eda858a0d7e6bd123a107d14
    Reviewed-on: http://gerrit.openafs.org/7573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 568adf7d18eb17a42caa263aabc92a686f0ae121
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.
    
    Change-Id: Iaedd1e72e542b637070930bf1a0a9eba83a9ab64
    Reviewed-on: http://gerrit.openafs.org/7572
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7a875f639f61966f2d327f929305091d2678e99a
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.
    
    Change-Id: Ic94e8121ac8b856b288712d486e34556be8250d6
    Reviewed-on: http://gerrit.openafs.org/7571
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d4bab02f023f53041c3ac58fd75cffd27ec92df0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 18 15:06:49 2012 -0500

    doc: Consolidate NetRestrict format docmentation
    
    We were specifying exactly the same format in two different places;
    consolidate them into one place. In addition, explicitly say there are
    is no way to specify a range of addresses, in case some people are
    confused by the previous versions of this man page that erroneously
    said you could use 255 as a wildcard.
    
    Change-Id: I18d96ee9e6c43dfb62719323fa7eb8d9f254e273
    Reviewed-on: http://gerrit.openafs.org/7565
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4ae005062e2c927b77ea23d95934d5af463878b3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 18 15:02:09 2012 -0500

    doc: Remove reference to NetRestrict wildcards
    
    Commit 80fc888a9223050481de932233fe7121a48df194 got some of this, but
    forgot the other reference. We don't support these anywhere, so remove
    it here, too.
    
    FIXES 125340
    
    Change-Id: I536336634beb835c9e1c93e23f8d7329fa821c96
    Reviewed-on: http://gerrit.openafs.org/7564
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 58e7d52d0066a9f237971f39e7acdde02761172a
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jun 22 21:33:50 2012 -0400

    Catch up on fbsd releases
    
    Pull in the changes needed to even have a chance at supporting
    FreeBSD 8.3, 8.4, 9-stable, and 10-current.
    Conditionals for changed interfaces in a follow-up commit.
    
    Change-Id: I4765679f6cef0555ce6d02ad281e127869d8924c
    Reviewed-on: http://gerrit.openafs.org/7581
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e1ff7148cce62f7c34614dc1ac1edc909dea1c55
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 24 14:53:59 2012 -0500

    cmd: Avoid premature OptionAsString free
    
    Only free the previously-set string value if we're actually going to
    change it. This avoids the scenario where a caller does something
    like:
    
      char *str = strdup("defaultval");
      /* ... */
      cmd_OptionAsString(as, OPT_foo, &str);
    
    resulting in 'str' pointing to freed memory when the relevant option
    is not specified, or there is some other error.
    
    Change-Id: If1f94d5eb39cc4dba9a4195ff20850ff81737eb9
    Reviewed-on: http://gerrit.openafs.org/7475
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jun 1 13:16:31 2012 -0400

    rx: abort on missing service
    
    currently rx does not send an abort if a service does not
    exist; it quietly ignores the packet. provide a hint we have
    done so.
    
    Change-Id: Id3533afd46ed21765d4d2aab630a896b21c945de
    Reviewed-on: http://gerrit.openafs.org/7563
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a3ef19e1995a1d3d05c8f3b2decf4301359d8375
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun May 20 17:05:12 2012 -0500

    FBSD: Add osi_fbsd_checkinuse
    
    Add the osi_fbsd_checkinuse function, which contains code common to
    the FreeBSD osi_TryEvictVCache and osi_VM_FlushVCache. Implement the
    latter two in terms of osi_fbsd_checkinuse.
    
    This commit should incur no behavior changes. This is just a
    reorganization so future commits can change the implementations of
    osi_TryEvictVCache and osi_VM_FlushVCache.
    
    Change-Id: I42df9d6efb7b573bd933d0bf04924f668a3608da
    Reviewed-on: http://gerrit.openafs.org/7432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit dda5cc0c5f7172aa4edf58c0f876c8bf05590889
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.
    
    Change-Id: If1962b83e03f634044a55b03787661b8a7695008
    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>

commit e2d094595fd76e76e4a5861114202f513d02c2b1
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jun 19 15:11:38 2012 -0400

    libafs: put connection in analyze when conn srvr missing
    
    we need to putconn in all cases we can in afs_Analyze, but at least
    one case we didn't. fixed.
    
    Change-Id: I4e3b8d9f8e7445e3641fad32ff54dde2d21bb06b
    Reviewed-on: http://gerrit.openafs.org/7567
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c8e52c1f457a237ec83be0fbe535077d5bccdd51
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jun 20 16:55:25 2012 -0400

    tests: Fix cmd config file path
    
    Fix the configuration file path for the cmd test so that it works
    when invoked from runtests
    
    Change-Id: Id7d717e163abf5cfab2d551aaf08fb9967a87153
    Reviewed-on: http://gerrit.openafs.org/7576
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3c16a2b296722f548309b10e6744639608c0861b
Author: Niklas Jonsson <niklas.jonsson@hp.com>
Date:   Wed Jun 20 10:03:54 2012 -0400

    Auth: increase size of DNS resolver answer buffer
    
    This patchset increases the size of the res_search() answer
    buffer from 1024 octets to 4096 octets.   This is not a proper
    long term solution but will permit sites with longer response
    lists to make use of SRV and AFSDB records.
    
    This patchset only impacts UNIX systems.  Windows uses the
    Win32 DNS resolver which dynamically allocates memory based
    upon the size of the response.
    
    FIXES 130936
    
    Change-Id: I8434e128fb5918839c216209851b37a17cf94065
    Reviewed-on: http://gerrit.openafs.org/7575
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5019ecd5fad0846abcd92835411c7b0f3f2170ca
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 1 13:20:57 2012 -0400

    rx: provide mechanism to send a bare abort packet
    
    simply put an abort on the wire
    
    Change-Id: I0486e1826da9466a2982ac07c3749876848a7f66
    Reviewed-on: http://gerrit.openafs.org/7562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4660b53e69fd65ba961e62bed1a1c126e375011c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 15 16:45:57 2012 +0100

    opr: Add simple time type
    
    Add a simple time type to the opr library, which provides helper
    routines to implement the 100ns time format selected for on-the-wire
    use for AFS-3 (this also provides a handy single integer internal
    time format)
    
    Change-Id: I1f2d81e61a3e4124e0dd49830a115b72d7a7b37f
    Reviewed-on: http://gerrit.openafs.org/7559
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit ba300e35a5c17730dabde735385222d7e12a4bbc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jun 10 11:43:56 2012 +0100

    viced: Abstract out peer mapping code
    
    Pull the code which gets the peer information for an incoming connection
    into its own function.
    
    Reformat this function a little to avoid if-ladders.
    
    Change-Id: I4a48e0079f00cca4fe651161fb19453f63527336
    Reviewed-on: http://gerrit.openafs.org/7561
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fa1f2687aff79469d521bdef7b23a253a1e62756
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 9 22:29:44 2012 +0100

    viced: Tidy up VL initialization
    
    Tidy up the routines which initialize the VL server so that they
    don't reopen an already open configuration directory, and so that
    some global variables are less globally scoped.
    
    Change-Id: I7e83073b2d984203e03133e94da4ec875d1b8472
    Reviewed-on: http://gerrit.openafs.org/7560
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ed02c6ff8a4bc2cc82876a4b1736a8985548a71c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 30 18:25:51 2012 +0100

    rxgen: Make input strings const
    
    Modify the code generation routines so that string inputs to RPCs
    are declared as (const char *) on the client side. This doesn't affect
    callers as we can freely cast from (char *) to (const char *), but means
    it is easier to write API wrappers that accept const arguments.
    
    Change-Id: I4719d04f03bd76cbe7ee21ad7511f6f3b3d36163
    Reviewed-on: http://gerrit.openafs.org/7556
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9b97b80dd8d29278de209fcecfdfd95a46863eb8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Jun 7 23:21:48 2012 +0100

    aklog: Fix error message fallback for Heimdal
    
    Since we reverted to using Russ's upstream version of rra-c-util's
    krb5.m4, we no longer check for the existence of the pure com_err
    error_message().
    
    So, for error message fallback on Heimdal, use krb5_get_error_message()
    instead. As we don't have access to the context in which the error
    occurred, build one to get the raw com_err error translation - this
    won't give us any additional context specific detail.
    
    Change-Id: I4bab080704ec5d08e8b85e6b7ad69cf1f89bf3b3
    Reviewed-on: http://gerrit.openafs.org/7554
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5db615100afd97233550abfe19625ac7ee7dbc5f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri May 11 00:34:24 2012 +0100

    viced: Abstract out hpr thread context code
    
    Every hpr lookup function had a copy of the same code to pull a thread
    specific ubik context out of the pthread library, and to create one if
    one wasn't already there.
    
    Instead of endlessly repeating this code, create a small inline function
    to do the job.
    
    Change-Id: I7eac0eaebbd42978e40c90f0ce59b26f2e67d96d
    Reviewed-on: http://gerrit.openafs.org/7558
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c855dd726a6f2681bf51a9596ec600a8cc88fb59
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Jun 7 20:46:27 2012 +0100

    rx: Constify rx_opaque_populate
    
    rx_opaque_populate doesn't modify the data passed into it, so
    make that argument const
    
    Change-Id: Icc7c121bda43a8abc19f72affc70967baba91e6d
    Reviewed-on: http://gerrit.openafs.org/7557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fac69a5c88f1756aafd283e66a971e389dc8a62c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 15 17:01:50 2012 +0100

    viced: Remove unused profiling code
    
    src/viced/profile.c is never built, and contains unused code which
    is now useless to us. Just remove it from the tree - it is in git if
    we ever need it again.
    
    Change-Id: I04da5395f5c4a618968958f1696f638e0db69122
    Reviewed-on: http://gerrit.openafs.org/7555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a08604b78f82ae2adf57b7a30bd8c80a11223b0d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jun 12 14:23:12 2012 -0400

    uss: allow disabling by configure switch
    
    provide an option to disable building uss. current heimdal
    when built static can leak symbol names for its flex/bison parser
    causing symbol conflicts. this is but a workaround, but
    sites not needing uss can at least use it.
    
    Change-Id: Ibab1dd189e7fbc41ca01e7ef7479421c056999f5
    Reviewed-on: http://gerrit.openafs.org/7553
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5d53c12b95c6ffac6c00e4fec6138a51b6185dd7
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jun 12 14:10:04 2012 -0400

    gtx: add configure switch to force not building
    
    allow gtx and associated software to be turned off.
    
    Change-Id: If02427311c79e0784fcc5fb1816a449f7dcdd879
    Reviewed-on: http://gerrit.openafs.org/7552
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6d3390bc16281e6f889bb555abb1182985556287
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jun 12 13:46:46 2012 -0400

    aklog: can't assume krb5_524_conv_principal based on convert_creds
    
    add probing for krb5_524_conv_principal directly instead of
    assuming finding a 524 library will find it. current heimdal
    does not include it.
    
    Change-Id: Iea523e3e7ba4cb51ec5a0d4b38fec9c7df30529d
    Reviewed-on: http://gerrit.openafs.org/7551
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3e0eaec61e1df9341ca67b902a5ec86a863a3423
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jun 11 16:37:53 2012 -0400

    viced: fix GetVolumePackage to not bomb always when GetClient called
    
    master only. already correct in 1.6. the gotos for error exit should
    be called only when we have an error, due to missing braces that was
    not true
    
    Change-Id: I396be7d34ad741e01634a702784a0892f47a2d5a
    Reviewed-on: http://gerrit.openafs.org/7549
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3770ffe41689bc5b37795f23b0d4f3de4bc0619a
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Jun 11 16:05:10 2012 -0400

    viced: fix merge error
    
    when 37fc2dfbb9e3a8a8ecb022febae7ccd04d7340a4 was merged, the close
    bracket went in the wrong place, meaning for non-remote calls
    we don't re-enable keepalives. fix it.
    
    Change-Id: I163db9b3b2f42f629d8a5ff22a75902a61a3138b
    Reviewed-on: http://gerrit.openafs.org/7548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4f9c3f2be9abd5548dd52888b49c407d574b6557
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.
    
    Change-Id: I63853f6e1721020cd204639c6e3ce4b59de08f75
    Reviewed-on: http://gerrit.openafs.org/7516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a43f0e4717fd72727ae325eb4437cef065419cdd
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.
    
    Change-Id: I2c9d0b8cf0ddc7f4182347706b2c26d86f69725e
    Reviewed-on: http://gerrit.openafs.org/7515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fff80cb1983a8cf7ccf1c1dc4f69e232785700c5
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.
    
    Change-Id: Idcda5fcf4639da7d4b951bea36606ea8daf68f3c
    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>

commit 80359f562a459ef1dba2cdf53ee486578b50752d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 31 16:08:00 2012 -0500

    vol-salvage: Indent some ifdefs
    
    Change-Id: I213859d35ba4908e088a0ba2117f527ab8db3dc8
    Reviewed-on: http://gerrit.openafs.org/7513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9bb876f6829f137e534b961f7374b310bfa8aa7d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri May 25 09:40:54 2012 -0400

    libafs: initialize free dcache list for memcache
    
    reuse the disk cache dcache creation code for memcache, then
    call it to prime the list
    
    Change-Id: If63268aa1a89c9642236f944e1ac8328d68aeba5
    Reviewed-on: http://gerrit.openafs.org/7446
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a8e35e9fd7b24b6d8523a3ac9da0f77c84423ef9
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jun 8 19:52:33 2012 -0400

    viced: clear optstring before parsing
    
    we try to free the string if there was a value, so
    if there's none we should probably ensure we know it
    
    Change-Id: I20fc535e56d65c82f26852ba59528d5660c98e20
    Reviewed-on: http://gerrit.openafs.org/7546
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 7273c8b4ae123ce555dde3bee7b9878c59ad1805
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jun 8 16:12:17 2012 -0400

    cmd: avoid issues with static heimdal
    
    stealing the krb5 parser and linking with static heimdal can cause problems.
    remap things we have which duplicate heimdal's private namespace.
    
    Change-Id: I89030967a32997f00a21e97258056c26f2a4cbf6
    Reviewed-on: http://gerrit.openafs.org/7545
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 5227148ae17949705487ea673d558ebfe143e635
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jun 2 21:35:53 2012 -0400

    Linux 3.5: encode_fh API change
    
    The encode_fh export operation now expects two inode arguments
    instead of a dentry and a "connectable" flag.  Use the inode of
    the dentry we're interested in, and NULL as the parent inode which
    is the same as passing a 0 flag in the previous API.
    
    Change-Id: I05cf146fb2a4bacdca20a9f108d04ccb11530804
    Reviewed-on: http://gerrit.openafs.org/7523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bc3a32a84facb8114a8c7de87025f972d0281098
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jun 2 20:45:08 2012 -0400

    afsd: include sys/resource.h in afsd_kernel.c
    
    With a recent glibc update, sys/wait.h no longer includes
    sys/resource.h unless __USE_SVID, __USE_XOPEN or __USE_XOPEN2K8
    are set.
    
    Don't rely on the indirect inclusion to get the bits we need;
    include it directly in afsd_kernel.c.  This include used to be
    there but was dropped when afsd_kernel.c was split off.
    
    Change-Id: I1bfd2e0c340e15ca44472aa89614f088e0c0ce0c
    Reviewed-on: http://gerrit.openafs.org/7522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0d2c1dfd5510e9c84cb3b56c00370f0fc114e87b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 5 23:25:08 2012 -0400

    windows: AFSQueryVolumeInfo exception info
    
    Protect against NULL FileObject or ObjectInformation.
    
    Log additional information when an exception is caught in
    AFSQueryVolumeInfo.
    
    Change-Id: I6111345e53edc641f4d809839c1666f7a11a93d3
    Reviewed-on: http://gerrit.openafs.org/7525
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 371af87a23b61187ca9d54c8e6819f2121fbf1db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 5 23:07:40 2012 -0400

    Windows: SMB GetFileAttributes support
    
    commit 56a2cbb5fbdcab51bd5f4720e610796abbce5c41 added a
    GetFileAttributes query to the pioctl interface to protect
    against printing pages on printers with a broken smb protocol
    implementation.   This patchset adds support for GetFileAttribute
    on _._AFS_IOCTL_._ files to the SMB implementation.
    
    Change-Id: I9d60dc77b7048892eb816e9d1c6e94033711ae7b
    Reviewed-on: http://gerrit.openafs.org/7524
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6e704d967334a3f990e2ba1c758e4f054234e97e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 26 19:16:47 2012 -0400

    Windows: Introduce AFSFreeExtent()
    
    Consolidate all operations necessary to free an extent in
    a single function, AFSFreeExtent().
    
    Change-Id: Id0edd2009136c49cbafb9374e373749d6a906d40
    Reviewed-on: http://gerrit.openafs.org/7521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cee6a383d3d1732e78827c839ee9513847e03aa6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 26 18:11:06 2012 -0400

    Windows: Adjust extent release strategy
    
    All extents were flushed whenever AFSReleaseExtentsWithFlush was
    executed.  This included a call at the completion of each
    NonCached Read operation which could result in heavy thrashing
    as the data would be released prior to it being needed by the
    application.
    
    This patchset makes the following adjustments.  First,
    AFSReleaseExtentsWithFlush() has been modified to release all
    but 1024 extents belonging to the file.  Second, NonCached Reads
    only execute AFSReleaseExtentsWithFlush() when there are more
    than 4096 extents associated with the file.  Third,
    AFSReleaseExtentsWithFlush() now has a 'bReleaseAll' parameter
    which is used for calls from AFSCleanup() and AFSFlushExtents()
    which need to be able to flush all extents attached to a FCB.
    
    Change-Id: Id8b05f02c59eb46b1881e4d905a511a2597455e8
    Reviewed-on: http://gerrit.openafs.org/7520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5335f77bd56b7a94fd0225477fe7b7a707df86b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 26 18:09:30 2012 -0400

    Windows: AFSRedir code cleanup
    
    Remove unnecessary intermediate variables.
    
    Do not drop lock only to reacquire.
    
    Formatting.
    
    Change-Id: I7396047f30ee81755927b90a7b3f990d481d8d3e
    Reviewed-on: http://gerrit.openafs.org/7519
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ed0eb70f36121ca5cacbf0b87ab9d05bfbb526b8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 26 18:06:07 2012 -0400

    Windows: Remove extent from all skip lists
    
    Before freeing the memory for an Extent object, the extent must
    be removed from all of the extent skip lists.  Otherwise, the
    lists will be corrupted.
    
    Change-Id: I891321477b9f0e194544e9e73dad53473f0865b4
    Reviewed-on: http://gerrit.openafs.org/7518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c5f32b315982bf23f33d0395f404fe93563f0b8d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 26 18:04:25 2012 -0400

    Windows: consoldiate NextExtent() implementations
    
    Both AFSExtentsSupport.cpp and AFSIoSupport.cpp provided
    NextExtent() implementations.  The AFSExtentsSupport version was
    more general.  Use that one for both modules.
    
    Change-Id: I19d17c989b4eadd40dcbb3d6d4186c316c26577e
    Reviewed-on: http://gerrit.openafs.org/7517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e94b2338691d9450749e5f3e51f85e99f90b4bea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 27 11:20:11 2012 -0400

    Windows: Protect against null volp dereference
    
    In cm_RecycleSCache cm_GetVolumeByFID can fail leaving 'volp'
    a NULL pointer.  Do not call cm_PutVolume() if cm_GetVolumeByFID
    fails.
    
    Change-Id: I57eaf5d40130ecad75a312ef5487cdfa6e7367e3
    Reviewed-on: http://gerrit.openafs.org/7506
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ce8d0aefd1a6915df281ec2551b3f090c2a3b322
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 25 21:47:23 2012 -0400

    Windows: Avoid deadlock on ProcessTree Lock
    
    Change-Id: I2c1be0df615c513eefc27be167d7acda113c06e2
    Reviewed-on: http://gerrit.openafs.org/7505
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 25948ccbc369087958d2159fb7dd995c21c92b20
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 24 20:46:27 2012 -0400

    Windows: Add CCB NonPaged Resource for synchronization
    
    Add a NonPaged ERESOURCE object to the AFS_CCB structure for
    use in synchronizing access to the Ccb->Flags field and the
    construction of Directory Snapshots.
    
    Change-Id: I10ecc95619d0e5bd1ca02b044c2f1541a1b9a9f0
    Reviewed-on: http://gerrit.openafs.org/7478
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fffce9aee4c7c93e140eb56e449f9a9ff6345659
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 24 20:45:07 2012 -0400

    Windows: Make CCB_FLAGS_DIRECTORY_QUERY_MAPPED consistent
    
    Use CCB_FLAG_DIRECTORY_QUERY_MAPPED instead of
    CCB_FLAGS_DIRECTORY_QUERY_MAPPED.
    
    Change-Id: I504b8fda9867a82e5b45d5a1905970a1de11fc27
    Reviewed-on: http://gerrit.openafs.org/7477
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 611436eaec4db67a856b0617c00224d4359d804a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 24 17:47:25 2012 -0400

    Windows: Remove unused async read/write operations
    
    Removing dead code.
    
    Change-Id: I60f3f098a3afb922143941f59b0146eebf60ac84
    Reviewed-on: http://gerrit.openafs.org/7476
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 06a602bfd40661ef89b3d6b39dd8574015a15b92
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 24 04:57:19 2012 -0400

    Windows: Avoid deadlock on VolumeCB->VolumeLock
    
    AFSPrimaryVolumeWorkerThread() holds VolumeCB->VolumeLock SHARED
    across the call to AFSCleanupFcb() -> CcPurgeCacheSection().
    If a filter driver such as Sophos (savonaccessfilter.sys ->
    savonaccesscontrol.sys) triggers an AFSCreate() in response to
    the cache section being purged that will force the evaluation of
    the file path by AFSLocateNameEntry().  If the path contains a
    mount point that requires validation, AFSBuildMountPointTarget()
    is called which in turn required the VolumeCB->VolumeLock EXCL.
    
    AFSBuildMountPointTarget() only requires the VolumeCB->VolumeLock
    if the VolumeCB->RootFcb == NULL.  That should only be true if
    the VolumeCB was allocated by AFSInitVolume() or under very rare
    race conditions.
    
    This patchset refactors AFSInitVolume() to ensure that it holds
    an extra VolumeCB->VolumeReferenceCount reference.  This reference
    is used to assist in the refactoring of AFSBuildRootVolume() and
    AFSBuildMountPointTarget() to avoid races with volume root object
    invalidation as well as permitting the VolumeCB->VolumeLock to
    be ignored in the common case.
    
    Avoiding the acquisition of VolumeCB->VolumeLock during mount
    point target evaluation has the additional benefit of reducing
    lock contention during path evaluation.
    
    FIXES 130812
    
    Change-Id: Id9b0dcc2bfd91277d522f3724893b60ce4d947f5
    Reviewed-on: http://gerrit.openafs.org/7474
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 02018d729f3d1b1177ee271d566b8acba488a515
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon May 28 21:49:46 2012 -0400

    gtx: remove unused variable numBuffBytes
    
    Commit 9efc255a makes the numBuffBytes variable unnecessary.
    Remove it to clear up an "unused but set" warning.
    
    Change-Id: Ifc50c40542e008d76007c76a9ce146fe6ebab4be
    Reviewed-on: http://gerrit.openafs.org/7504
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2b33384a4a7b88842281021129ffccc837d91d36
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon May 28 21:43:12 2012 -0400

    Linux 3.4: replace end_writeback with clear_inode
    
    end_writeback() is renamed to clear_inode().  Add a configure test
    and cope.
    
    Change-Id: Icaf5b6b54d0ee377fabcf0b295d690eaa6b4be5e
    Reviewed-on: http://gerrit.openafs.org/7503
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 85626606e9ad0aac2c513de56215362b4672acf8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu May 24 22:33:04 2012 -0400

    afsd (FUSE): Avoid a compilation error and spell it "asprintf" not "asprint".
    
    Change-Id: I126e9c57877e4969af68dcc4ec1fd1786ecfbd4e
    Reviewed-on: http://gerrit.openafs.org/7479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0e81db38b549d79a3af5fce0f9f8fa48d9e6efeb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 18 17:40:38 2012 -0400

    afs: Do not QueueVCB before osi_dnlc_purge*
    
    In afs_FlushVCache, when we QueueVCB, we might drop the afs_xvcache
    lock (as of 76158df491f47de56d1febe1d1d2d17d316c9a74). The vcache may
    still be on the DNLC, so a lookup while xvcache is dropped can cause
    someone else to grab a reference to the vcache while it is being
    flushed. This can cause panics and failed assertions, since someone
    will have a reference to the flushed vcache, which is effectively
    freed and many of the structure fields are no longer valid.
    
    So instead, do not call QueueVCB until we have purged the vcache from
    the DNLC.
    
    Change-Id: Ia6b51b4a2bb26903346217fbd6fc7d959d87eae7
    Reviewed-on: http://gerrit.openafs.org/7430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7b35b409a484772989bb76633232b6e1d4f9bcc5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 22 11:45:50 2012 -0400

    fix audit init in vl and pr servers
    
    Correct error introduced in commit
    0dd7c980acda0756150f11992a0d2236f340e0c2
    
    Change-Id: I929bb35a6a7070d637f1b332dae50cd182aaf9c5
    Reviewed-on: http://gerrit.openafs.org/7447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 40123db55ec36e8f5536db749e0a935141de74c7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:28:51 2012 +0100

    comerr: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: Idc5f098a20809a5f869c4ea9f3970e598520c0e9
    Reviewed-on: http://gerrit.openafs.org/7468
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 519d2cd5d8bb2bc1d2e315b8fea9616504674c79
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:33:33 2012 +0100

    Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: Ie328ebd2d31160bf07b86b760fbb5ce7108a532d
    Reviewed-on: http://gerrit.openafs.org/7473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 152bda64c662f719b167d05c0489ce4cb6e65c36
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:32:28 2012 +0100

    util: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: I8287709413fe0e34f417936d1fc64c421fea6d28
    Reviewed-on: http://gerrit.openafs.org/7472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1c734bd7e59b0e2b1f79dbd9b203de1ecb921f3c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:31:53 2012 +0100

    update: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: I6a33ab25b092faa96c764f0a469d052c181344ee
    Reviewed-on: http://gerrit.openafs.org/7471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 695e3a028e1257e1a1460205eba3fc7a837c5b41
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:31:07 2012 +0100

    sys: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: I58b7695e3cf4b99f17869a46e1efca5c7daf6ff7
    Reviewed-on: http://gerrit.openafs.org/7470
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e33f1dc0b6ec497133903918f1918adfa46f10ea
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 13:29:42 2012 +0100

    xstat: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: Iaddc6c44041dc77a576f32133b2aa80aefce5cb2
    Reviewed-on: http://gerrit.openafs.org/7469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 900f7cc5f7c0b35a8efebc6c7166efa7625a0493
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:33:28 2012 +0100

    lwp: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it is
    unnecessary noise.
    
    Change-Id: Ie41f7b831f0ba70796649e2493e014fe44f1c39e
    Reviewed-on: http://gerrit.openafs.org/7467
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3613d41515438a5615c3ffcdde5616c5f4e1c6ae
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:31:39 2012 +0100

    rx: Don't cast returns from allocator
    
    malloc() and osi_Alloc both return (void *). So, don't bother
    casting the return value before assigning it - its unnecessary
    noise.
    
    Change-Id: I71a66a8fa0d9f49f4833dd77bbb55422e6f20d6f
    Reviewed-on: http://gerrit.openafs.org/7466
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 56e350b8559cbc16ee9087dd8ada47fe9a9d79f2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:29:51 2012 +0100

    auth & [ak]log: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I270b81c239afb9ac4bd8121adfd5a48fcfac9c3b
    Reviewed-on: http://gerrit.openafs.org/7465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b0ccfea010df0c38f1e53efe384b9e2a29fed40a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:28:41 2012 +0100

    afsmonitor & gtx: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I74b1f3ba3000ecaeb3da8eb3201f6050c9972c4e
    Reviewed-on: http://gerrit.openafs.org/7464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cbdf31d9fff7be2bd99142a7c6ee7b04b96942fc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:26:37 2012 +0100

    dbservers: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I5a7c800e2836e7401f5f8bccf1aa2a1b223100b7
    Reviewed-on: http://gerrit.openafs.org/7463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4d96d0d5e4f21e208be60df53216ff7b113f4b87
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 12:21:57 2012 +0100

    libadmin & uss: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I9a3387c07c6ee02efbaa1ec0035fcea8691f171c
    Reviewed-on: http://gerrit.openafs.org/7462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0df1f0023a4aef7126c031e2e30990446093ac7e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 10:52:46 2012 +0100

    fileserver & friends: Don't cast from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I9d41f2f1aee03d9317b4c5780fb00e13d30b0821
    Reviewed-on: http://gerrit.openafs.org/7461
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ca48be9161cacf5c301379a17c4d7be70a78642c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 10:18:24 2012 +0100

    backup: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I6a878d53007e27179c11d8f745b09dacade4c83d
    Reviewed-on: http://gerrit.openafs.org/7460
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0cf3c58d807d74d8ee1b4692a936079fb767412c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 10:03:16 2012 +0100

    bos: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: If6f0dbc00b31f5d9a1622984c6ac9eba83c04900
    Reviewed-on: http://gerrit.openafs.org/7459
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 25bc7849caf855b08a69b1701db089b1da9b506b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 09:37:50 2012 +0100

    JAVA: Don't cast returns from malloc()
    
    malloc() returns a (void *) on all of our current platforms. So,
    don't bother casting the return value before assigning it - it's
    unecessary noise.
    
    Change-Id: I534d424da13e03d3c0f0de3dddf1dd19088d1659
    Reviewed-on: http://gerrit.openafs.org/7458
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cfcb45d4aeda972cd1dd18044fa791e61dc6163d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 09:19:03 2012 +0100

    Unix CM: Don't cast allocator returns
    
    All of our allocators return (void *) values, so there is no need
    to cast the returns - doing so is just noise.
    
    Change-Id: I6b1009efbb5034225a4af0e19d03b74c628dfb82
    Reviewed-on: http://gerrit.openafs.org/7457
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9547615445ccbe07d8f6d7baeb7fd0315354fce0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 09:10:03 2012 +0100

    Don't cast the return from calloc()
    
    calloc returns a (void *) argument. So we don't need to cast its
    output before storing it.
    
    Change-Id: Ibdfc61a8a2cf9779a0bfb17ff8ebf1f3bef3ea0e
    Reviewed-on: http://gerrit.openafs.org/7456
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bdd8187c040ac3898fe5ae4429b5408f04c685d1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 09:01:02 2012 +0100

    Don't cast the return from realloc()
    
    realloc takes, and returns a (void *) argument. So we don't need to
    cast these parameters into, or out of, realloc. Doing so is just
    noise, so don't bother.
    
    Change-Id: I64e721703536515b2e315e3b033eb2be14f7e18c
    Reviewed-on: http://gerrit.openafs.org/7455
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9efc255ab8de7ad90c7d599fea7bd1956bfd48c2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 17 08:36:11 2012 +0100

    Use calloc, rather than malloc/memset
    
    Rather than doing
            a = malloc(sizeof(me));
            memset(a, 0, sizeof(me));
    
    Just use
            a = calloc(1, sizeof(me));
    
    This is simpler, shorter, and removes the potential for the size of
    the memset not matching the size of the malloc (or the target of the
    memset being wrong!)
    
    Where the size is of the form (n * sizeof(me)), we also use
    calloc(n, sizeof(me));
    
    Change-Id: Ia0f75665c1031fd2982eee0e1d8c8ebe23d7fbc0
    Reviewed-on: http://gerrit.openafs.org/7454
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d142c8f97afb5bb3e1bb5bd31a53ed1dade2fd3b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 16 20:38:02 2012 +0100

    Don't cast arguments to free()
    
    free(3) is defined as:
    
        void free(void *ptr);
    
    so there is no need to cast the pointer argument being past to it to
    (char *), (void *), or whatever other randomness happened to be floating
    through the author's mind. Remove all such casts, as they are just
    noise.
    
    Change-Id: Ib7c8c259d53e9ce74fc486cb0997360044795395
    Reviewed-on: http://gerrit.openafs.org/7453
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8961793dbbae2f8b213372906a281dc38c77186c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 16 20:27:22 2012 +0100

    auth: Simplify DNS lookups with asprintf
    
    Instead of allocing a maximal string, and using snprintf to
    construct each possible DNS search string, just use asprintf to
    construct each string. This greatly simplifies the code, and makes
    it much less likely that maths errors can creep in causing buffer
    overflows in the future. The downside is that we have more round
    trips to the allocator, but that shouldn't matter in this context.
    
    Change-Id: Iae9ab7d45f454c90a937354c71c9ec7fa2c55b69
    Reviewed-on: http://gerrit.openafs.org/7452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 044785d587b15e02855b6c9e396d27db962d867a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 16 20:23:41 2012 +0100

    Use asprintf for string construction
    
    Rather than using something along the lines of
    
        strOut = malloc(strlen(strA) + strlen(strB) + strlen(strC) + 1);
        strcpy(strOut, strA);
        strcat(strOut, strB);
        strcat(strOut, strC);
    
    use asprintf for string construction, so we can just write
    
        asprintf(&strOut, "%s%s%s", strA, strB, strC);
    
    roken provides an implementation of asprintf for platforms which are
    missing one.
    
    Change-Id: Ieef9f4b65f72260c0d372cdf3865daab98733ad9
    Reviewed-on: http://gerrit.openafs.org/7451
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bd1248ca3988edb230174ff34c3ff79bedcf559e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed May 16 06:44:30 2012 +0100

    Use strdup to copy strings
    
    Where we have
        newStr = malloc(strlen(oldStr)+1);
        strcpy(newStr, oldStr);
    
    replace these with
        newStr = strdup(oldStr);
    
    It's shorter, clearer, and gets rid of a load of occurences of strcpy,
    which some compilers are now warning is unsafe (although it isn't in
    this context)
    
    Get rid of a number of custom duplicate string functions and replace
    them with strdup where the behaviour is identical
    
    Change-Id: If800343a7d13b1ba6362d4570a2a324fa3525250
    Reviewed-on: http://gerrit.openafs.org/7450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 47e12584804b287051552900c94c99a3c84daa92
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 18:15:58 2012 -0500

    afsd: Report fakestat correctly
    
    A fakestat value of 1 is for -fakestat-all, and 2 is for -fakestat,
    not the other way around.
    
    Change-Id: Iedfb7b4a5223c809ace5b5f704a671e8523eb53a
    Reviewed-on: http://gerrit.openafs.org/7445
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 258a092260f3831dbf5ee693724e561b088f35ae
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 18:14:16 2012 -0500

    afsd: Detect -dcache presence correctly
    
    cmd_OptionAsInt will return 0 if the requested option is present and
    valid.
    
    Change-Id: Ie5154648ccb274b04617dcb8cc397ed3aa3d97e6
    Reviewed-on: http://gerrit.openafs.org/7444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9eb924f16c6f3bb06d83ed281317f2ba29473202
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 18:01:49 2012 -0500

    afsd: Avoid printing cacheBaseDir for memcache
    
    cacheBaseDir is NULL when memcache is turned on; don't print it.
    
    Change-Id: Ib75a64767a9027a9eaf0341d0ad543d023cfcad4
    Reviewed-on: http://gerrit.openafs.org/7443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2e2bc535bd03df86f78b648f78d2d0a95d273fab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 17:11:29 2012 -0500

    afsd: Avoid dir interpolation for memcache
    
    memcache doesn't make use of fullpn_DCacheFile, fullpn_VolInfoFile,
    etc. Do not even try to generate these strings for memcache, since
    cacheBaseDir will be NULL, and so this can cause a segfault on some
    platforms including Solaris.
    
    Change-Id: I0decdb9a8866272adf500125af7edb03c98e6bdc
    Reviewed-on: http://gerrit.openafs.org/7442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6f6c799c4ba4d03c6c381738b2db8aafe741ba5e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 12:28:58 2012 -0500

    afs: Add some comments explaining 'needvalid'
    
    Add some comments to try and help explain the meaning of the
    'needvalid' parameter to GetDSlot, added in
    1a672914ab050811c99b6307c657630ab9b5c8ee.
    
    Change-Id: I4f1c704fa131df07e671f46b1b7575fbf607fce4
    Reviewed-on: http://gerrit.openafs.org/7429
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cfae6cda3fe1efa8703ece3e6a8118f76e6c5411
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 21 12:22:24 2012 -0500

    Revert "afs: the assert seems to be inverted when using memcache"
    
    This reverts commit bc7f10130f7b96923d1a1ad5c688ef0106a83178.
    
    Change-Id: Ie4f4a103177f0485fc1196acfe4203ce06b6ce15
    Reviewed-on: http://gerrit.openafs.org/7428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bc7f10130f7b96923d1a1ad5c688ef0106a83178
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu May 17 20:57:38 2012 -0400

    afs: the assert seems to be inverted when using memcache
    
    needvalid will always be 1 for the memory cache -- i.e. the slots are
    always valid.  see change id I53ea6e99649e4d6d5cbde58929dfcee1d45a3e7b.
    
    Change-Id: Id1294d54cb5f20d226258e5da39fb4d4f782a694
    Reviewed-on: http://gerrit.openafs.org/7421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 33eff6597facc01bbcd5266fb83c8a6bfa40dfa8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 8 15:03:46 2012 -0400

    vos: volume lock not released on convertROtoRW error
    
    If an error occurs during convertROtoRW, the volume lock may
    not be released.
    
    Change-Id: Ic03af00676de836cade4e39a743b234a0dc9b6cf
    Reviewed-on: http://gerrit.openafs.org/7389
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 38ebd79bafee3c97323aa603906d1d5f279ec450
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 8 14:45:16 2012 -0400

    vos: convertROtoRW does not respect volume lock
    
    vos convertROtoRW was not checking the return code from
    ubik_VL_SetLock().
    
    Change-Id: I651c543f9a0070a9d34d9cca7583437e50e95dc8
    Reviewed-on: http://gerrit.openafs.org/7388
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3a7dbe331580e418d1bdd5d75769512bb5e38cee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 18 16:31:19 2012 -0400

    Windows: avoid deadlock TreeLock vs Fcb Resource
    
    Cannot call AFSPerformObjectInvalidate directly because
    ObjectInfoCB->Specific.Directory.DirectoryNodeHdr.TreeLock is
    held during the sequence
    
      AFSVerifyEntry->AFSValidateDirectoryCache->AFSVerifyDirectoryContent
    
    and AFSPerformObjectInvalidate requires the Fcb->NPFcb->Resource
    which must be held prior to the TreeLock.
    
    Change-Id: I337f52e2927c8e5ae2d218867987625c3240a792
    Reviewed-on: http://gerrit.openafs.org/7423
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 564c9733e5f1f1bd2417063e3ccd8228ca763a2e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 18 10:19:13 2012 -0400

    Windows: buf redir queue mgmt scp can be null
    
    buf_InsertToRedirQueue, buf_RemoveFromRedirQueue, and
    buf_MoveToHeadOfRedirQueue can be passed a NULL cm_scache_t pointer.
    If the pointer is NULL (as is the case during buf_Init() processing)
    the scp->redirMx must not be obtained or a crash will occur.
    
    Change-Id: I157091afd973a8b4789976c42de253831a2698a3
    Reviewed-on: http://gerrit.openafs.org/7422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e04f324b5dc87391d9fc08820a4ff22b7dda84c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 16 09:52:00 2012 -0400

    Windows: Apply MAX_FID_COUNT to AFS Redirector
    
    Provide consistency between the SMB path parser and the AFS
    redirector path processing by using the same constant, MAX_FID_COUNT,
    for both.  MAX_FID_COUNT is the maximum number of unique file ids
    that can exist in a path after all mount points and symlinks have
    been expanded.  The current value is 512.
    
    Change-Id: Ife1a29ce7c064c986589bc9e2836899864da2f76
    Reviewed-on: http://gerrit.openafs.org/7412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 94f96c6aae142478bf0824e7c3a3a810494a123d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 14 11:11:57 2012 -0400

    Windows: AFSTearDownExtents may experience active extents
    
    If there are extents with a non-zero ActiveCount when AFSTearDownExtents()
    is executed, it must leave them alone and attached to the File Control
    Block.  This has implications for its callers, especially AFSCleanupFcb()
    since it may be the case that a Cleanup cannot be completed.
    
    The AFSPrimaryVolumeWorker thread must therefore check after calling
    AFSCleanupFcb() whether or not the Fcb ExtentCount is zero before
    calling AFSRemoveFcb().
    
    Change-Id: I164dbe24d2bfe69aba0fcb5d845f66415d5bb0c3
    Reviewed-on: http://gerrit.openafs.org/7406
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a9a768fb7ac06c887c45f6ed144c312fe357ab1e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 15 23:27:36 2012 -0400

    Windows: avoid duplicate work cm_Analyze
    
    During VNOVOL processing, if the volume is replicated and the
    server reference status is "not busy", set the status to busy
    and avoid calling cm_SetServerBusyStatus() because that function
    mirrors the loop that is already being processed.
    
    Change-Id: I1c92fd02fecc92c3dcd94a33eb87fe5c2fa254ae
    Reviewed-on: http://gerrit.openafs.org/7411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9a728fd86c7add13e15dfa0d3062fa94cc77c53f
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 8 10:01:12 2012 -0400

    vos: convertROtoRW may create two RW volumes
    
    If the RW volume is listed after the RO convert target in the VLDB,
    the code failed to detect that an RW is already present and would
    create a second RW volume.
    
    Change-Id: Ia77004214c4d1b18699b5527bc1fc928e8e1143d
    Reviewed-on: http://gerrit.openafs.org/7385
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 97581f751024527d1090566f2d59fd1b14235b67
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue May 15 00:23:17 2012 -0400

    Windows: init section ptrs for pioctl files
    
    FIXES 130783
    
    Change-Id: I809d21d5d30727172d6e1026d99b32466fcc74c6
    Reviewed-on: http://gerrit.openafs.org/7407
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ac08a0c30d1b8f4f5f13a6e78b86d32e2cb34f65
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 14 00:12:17 2012 -0400

    Windows: Redir Ioctl thread safety
    
    A crash dump showed that it is possible for a Cleanup
    to race with a Read from the ioctl file.  Add reference counting
    to protect against crashing under such a circumstance.
    
    Change-Id: I5dada2b5855603807b48a191db46ff48043c1997
    Reviewed-on: http://gerrit.openafs.org/7405
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a160606616cae6e047d97d4e86f075ebe8c2e366
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 11 19:24:54 2012 -0400

    Windows: Permit Media Player to work with mapped drives
    
    Windows Media Player was failing to play media files from
    mapped drives if the mapping was to a directory several
    levels below \\afs\cellname\.  The code to permit SUBST drive
    letters to work got in the way during NPGetConnection processing.
    Try to get the connection info without the drive substitution
    logic.  Try again with the drive substitution if the result
    is no connection present.
    
    FIXES 130757
    
    Change-Id: I0c2037d1d8f4c6cf82fbff7d4baee995b5124b39
    Reviewed-on: http://gerrit.openafs.org/7402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dfceff1d3a66e76246537738720f411330808d64
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.
    
    Change-Id: I436b39b129b892912533ddeff5569b07224b075c
    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>

commit e1c6ad7d580041caf35f698c9b2241fb45f02361
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue May 8 12:38:38 2012 -0400

    vos: convertROtoRW misc error reporting problems
    
    Fixes a few inconsistencies and bugs in some error messages.
    
    Change-Id: Ic4971c4cc3a3aa3623ee0f13161fd7793d3acb19
    Reviewed-on: http://gerrit.openafs.org/7387
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0f30c95a03ecf2a964db566fd8c3e96c1bcb6211
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 9 01:20:57 2011 +0100

    cmd: Add support for pulling options from files
    
    With this change, we gain the ability to set our command line options
    from krb5.conf configuration files. This is only available for tools
    which are implemented using the new cmd_OptionAs accessor methods.
    
    Callers should load their configuration file using
        cmd_OpenConfigFile("/path/to/config/file.conf");
    
    (an addition to libauth to return a path to a system wide
     configuration file will be forthcoming)
    
    and then set their command name (for example, "fileserver", "afsd",
    "vos" and so on) using
        cmd_SetCommandName("mycommand");
    
    The accessor functions will then populate their return values with
    either:
      a) The command line options, if specified
      b) The contents of the tag matching the option name, in the
         [command_subcommand] section of the configuration file, if it
         exists
      c) The contents of the same tag, in the [command] section of the
         configuration file, if it that exists.
      d) The contents of the same tag in the [defaults] section of the
         configuration file.
    
    Callers can also gain access to the entire configuration file by
    calling cmd_RawFile, or to just the section corresponding to their
    command line by calling cmd_RawSection. Note that when using the file
    directly, it is up to callers to preserve consistency by implementing
    similar inheritance rules as the above.
    
    Change-Id: Ic501ab296af3638f961486869af79c9ce47b77b8
    Reviewed-on: http://gerrit.openafs.org/7135
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ad347dea3245b84c4478b6a6be01b4031c3c36e0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 10 16:51:01 2012 +0100

    tests: Add additional cmd tests
    
    Add additional tests to the libcmd test suite to verify the
    behaviour of cmd_OptionPresent and cmd_OptionAsList
    
    Change-Id: I81a235fb5ee87682c72ca942f1341f77be6fda39
    Reviewed-on: http://gerrit.openafs.org/7392
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0524e0d1915f519a76d62540b695abc16634d4c9
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Apr 18 11:57:10 2012 -0400

    macos: update AFS prefs pane
    
    modify afshelper to just run what it's told instead
    of offering fixed operations. this avoids having a setuid
    tool around. in spite of apple's suggestion this is correct,
    it's actually more dangerous. instead, elevate privilege only
    to run a small set of commands, then drop. allow
    unlocking of the prefs pane, but make the menu extra prompt
    for authentication when needed.
    deactivate controls in the prefs pane when locked.
    
    Change-Id: I0e2510efc98605f464e04d26cc8f2ce2bfe116f4
    Reviewed-on: http://gerrit.openafs.org/7196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0debf2d2274db1ea862bfdc2ef767372f1fa77e3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 4 17:23:42 2012 -0500

    Call rx_SetNoJumbo earlier
    
    For ubik server processes, rx_SetNoJumbo needs to be called before
    ubik initialization for it to effect the communication between
    dbservers; otherwise, full database transfers may result in Rx
    jumbograms on the wire regardless of the jumbo/nojumbo setting. Move
    the call to rx_SetNoJumbo to before ubik initialization to avoid this.
    
    Also move the call to rx_SetNoJumbo to immediately after rx_Init* for
    all server processes, for consistency. Move similar calls to
    rx_SetMaxMTU for the same reason.
    
    Change-Id: Ic79415829601fcfb4e74e72fbf5711d0c32aaa0c
    Reviewed-on: http://gerrit.openafs.org/7350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a2f523b50592e261fe9cd3ef32978e786011c3c7
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed May 2 13:55:16 2012 -0400

    DOC: vos convertROtoRW security requirements
    
    They were copied from another command; corrected them.
    
    Change-Id: Ic77f1a91520ec4147e42864438d98942f6a7effc
    Reviewed-on: http://gerrit.openafs.org/7305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 186158c9eb2379ec350831b8fb244c51ae234a6e
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Fri Mar 16 13:37:20 2012 -0600

    doc: add Windows section to fs newcell
    
    fs newcell works slightly differently on Windows. Document the
    differences in the man page.
    
    FIXES 125094
    
    Change-Id: I3fb71ebb28290222069d795762f50a82f3fb6495
    Reviewed-on: http://gerrit.openafs.org/6919
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ecfd9549fc29cdad8042e830c656caee1363c6cf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 3 16:36:03 2012 -0500

    vol: Free vol header on attach_volume_header error
    
    In attach_volume_header, make sure we free the volume's header if
    we're returning an error. We take care of the locks and i/o handles in
    the immediately preceding block, but for an actual error we don't get
    rid of the header. Do so.
    
    Noticed by Tom Keiser.
    
    Change-Id: I97e61700f644066ac1a0e6b45a67dd62c5397034
    Reviewed-on: http://gerrit.openafs.org/7325
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f45ed29d5f5e029ef8c38c5d71ab069336f86866
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 22 10:20:18 2012 -0400

    Make the cmd config file parser build on Windows
    
    Change-Id: Id6c3515869529b6fb5c48a06661b63bed974e436
    Reviewed-on: http://gerrit.openafs.org/7141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1a823e9326ca7210a7381b9691227e1b4c8f89a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 9 01:17:19 2011 +0100

    cmd: Don't expose krb5 error codes
    
    Don't use krb5 error codes in our configuration parser, instead use an
    error allocated from the existing cmd error table
    
    Change-Id: I777d9638c676d198d13a3bd33a90acdc53dc26cc
    Reviewed-on: http://gerrit.openafs.org/7134
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0f5dc583a9d942e67953f84a6d800e9b969149b2
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 11 21:28:41 2012 +0100

    Import of code from rra-c-util
    
    This commit updates the code imported from rra-c-util to
    3900f94b9b8c46a3cb2d83d73c6cf4b73be1cc10 (release/4.4)
    
    New files are:
            m4/krb5-config.m4
    
    Change-Id: I6ef966e4a30cd23feac4a159be2ffeb7357765b7
    Reviewed-on: http://gerrit.openafs.org/7401
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 99108f95443680db0bbd098a7b93c04c8f4bd7c2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri May 11 21:27:02 2012 +0100

    rra-c-util: Add additional file
    
    Add the m4/krb5-config.m4 file, which is required for version 4.4,
    to the list of imports.
    
    Change-Id: Ib5d3d0d7be67eaa75f6edc6d030cdb3c47838d3c
    Reviewed-on: http://gerrit.openafs.org/7400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c877c0b419d04a0e754f99b9d975f2229b660df5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 7 21:52:16 2012 +0100

    tests: Start using the upstream C TAP harness
    
    Instead of bundling our own copies of Russ's C TAP Harness, start using
    source pulled from his git repository using the src/external import
    mechanism. Note that we are not currently building the floating
    point (is_double) portion of the harness.
    
    In the process of doing so, we also upgrade our test harness to the latest
    upstream version, 1.11. This is somewhat problematic, as there have been
    some significant code changes since the version bundled with OpenAFS.
    Work around these by
       *) Referencing the basic.h header as <tests/tap/basic.h>, rather than
          just <tap/basic.h>, to match the new upstream layout
       *) Changing the include path so that the tests/ directory can be
          found within it.
    
    Change-Id: I63efbb30248165e5729005b0a791e7eb7afb051d
    Reviewed-on: http://gerrit.openafs.org/7374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 319ec27236d40318819163ae10e897e4a3f7b50b
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 11 21:16:22 2012 +0100

    Import of code from c-tap-harness
    
    This commit updates the code imported from c-tap-harness to
    d3fc03606efc8e76ff34f04470e6133db25a3982 (release/1.12)
    
    New files are:
            LICENSE
            NEWS
            README
            tests/runtests.c
            tests/tap/basic.c
            tests/tap/basic.h
            tests/tap/float.c
            tests/tap/float.h
            tests/tap/libtap.sh
            tests/tap/macros.h
    
    Change-Id: I4435bbb240f9db3cf2883cb0711f592f9d865f92
    Reviewed-on: http://gerrit.openafs.org/7399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a18848fcae234258113012839483aceb3ada1281
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri May 11 21:14:38 2012 +0100

    c-tap-harness: Fix import paths
    
    Somehow or another, the file list committed as
    098e6f141f2234dcd0196096ab6f739db678f746 is missing the tests/
    prefix for a number of object files. Reinstate this prefix.
    
    Change-Id: I2b807bf6fb8e5f136aef571e576c036714280b0c
    Reviewed-on: http://gerrit.openafs.org/7398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c6782b86d77f8653d8dd4bc27d0cbcca5f13747f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 10 08:36:33 2012 -0400

    Windows: Avoid deadlock during "fs memdump"
    
    When the afs redirector is in use, it is possible that "fs memdump"
    could be executed while all of the pages in the Windows page cache
    are dirty with data that must be purged and flushed to \\afs. In
    such a situation it is not safe for afsd_service.exe to hold
    global locks such as buf_globalLock, cm_scacheLock, etc. while
    performing WriteFile() calls against %TEMP%\afsd_alloc.log if
    afsd_alloc.log was opened without the FILE_FLAG_NO_BUFFERING flag.
    Doing so can result in a deadlock as it can become impossible for
    the Windows page cache to purge data to complete the WriteFile()
    as all extent operations block waiting for the global lock to
    be cleared.
    
    The correct long term approach would be to use the FILE_FLAG_NO_BUFFERING
    flag when opening %TEMP%\afsd_alloc.log.  However, this requires that
    all writes to the file be performed using buffers that are consistent
    with the drive geometry.  Such an approach would be incompatible with
    the _CrtMemDumpAllObjectsSince() operation and would require a redesign
    of the current interfaces.  See
    
    http://msdn.microsoft.com/en-us/library/windows/desktop/cc644950(v=vs.85).aspx
    
    for requirements when using non-buffered writes.
    
    The short term fix is to dump the contents without holding the
    global locks.  This can result in an inconsistent view of the world
    but will ensure that deadlocks are avoided.  This patchset makes
    such a change when the afs redirector is in use.
    
    Change-Id: I6ffc0ff7c80707f16bf132f2dcab7dab5727894d
    Reviewed-on: http://gerrit.openafs.org/7391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 90ecc0ff72607afeebafd9355a4fa42d5d994180
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 9 10:44:39 2012 -0400

    Windows: cm_GetBuffer do not retry if biod empty
    
    Change-Id: I583a69199b0e3163c3bc5b620543028f2950bfeb
    Reviewed-on: http://gerrit.openafs.org/7390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4b58432de4f6eef93900786dad7d6b84e7123f5c
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon May 7 12:31:15 2012 +0200

    Make it build outside source tree
    
    some missing ${srcdir}/ inserted
    
    Change-Id: I323d4475dcf10bb5753741d611e3869779ff22d9
    Reviewed-on: http://gerrit.openafs.org/7383
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1e13ae53b3f1e753211f3ed39ae9d2ea9597cf48
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 2 12:11:01 2012 -0500

    vol: Remove redundant vop check in GetVolume
    
    VAttachVolumeByVp_r (specifically attach_check_vop in attach2) already
    handles checking for conflicting vol ops, and gives us VOFFLINE
    appropriately. We don't need to check again in GetVolume.
    
    Change-Id: Ibb93d423d3c856dd957a2569412a85698180ff8e
    Reviewed-on: http://gerrit.openafs.org/7304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 80cb7bdebe2d8f852338eebc26c1bf507adbb4c5
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon May 7 23:31:02 2012 -0400

    c-tap-harness: add float.h
    
    add float.h to the list of files we import for c-tap-harness from
    upstream
    
    Change-Id: I133dd6172bab17ae183cc6fc983f92f19005ba85
    Reviewed-on: http://gerrit.openafs.org/7381
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a9595ab04712b523db8b0ca934613aa1a60cda99
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 8 23:33:37 2011 +0100

    tests: Use enum rather than #defines for tests
    
    Change the command test so that it uses an enum, rather than #defines
    for offsets into the parms array. This is mainly a cosmetic change, but
    brings the test suite into line with the way that we're doing stuff in
    the "real" code.
    
    Change-Id: Ia9d72e13230edd4fe13af52ba6816cf775693c36
    Reviewed-on: http://gerrit.openafs.org/7133
    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>

commit a81f9237bfa7b2e3a0567a930f3c49234b9a4376
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 2 12:07:49 2012 -0500

    vol: Pay attention to specialStatus after VAVByVp
    
    attach2/VAttachVolumeByVp_r do not alter the yielded error code
    according to specialStatus. So, pay attention to specialStatus after
    receiving an error from VAttachVolumeByVp_r, to ensure we respond with
    the correct error code.
    
    Change-Id: I59e977dd1f0949f8fe5670c7a52429acbfb7d7e9
    Reviewed-on: http://gerrit.openafs.org/7303
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 21ed79aeaee2d3b2b47436db0491943829ac44a6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 2 11:38:57 2012 -0500

    vol: Avoid VBUSY/VRESTARTING trick for offline vop
    
    Currently, if GetVolume() finds that the volume we're trying to attach
    has a vol op that leaves the volume offline, we do the
    VBUSY/VRESTARTING trick as described in CheckVnode(). This doesn't
    make any sense for a couple of reasons.
    
    For one, VBUSY/VRESTARTING is not the correct error code to return to
    the client when an offline vol op is in progress and vp->specialStatus
    is not set everywhere else we yield VOFFLINE.
    
    Additionally, this block of code is only hit once for a particular vol
    op. Once we reach this section, the volume is in UNATTACHED state, and
    so on the next iteration of GetVolume we will immediately return
    VOFFLINE (or specialStatus). So the CheckVnode-like situation is not
    applicable, since we are not returning VBUSY to the same client for 15
    minutes; we would return VBUSY once and then return VOFFLINE.
    
    Change-Id: I0e8376df7937fd6bd01f9998371b9289c4ad2618
    Reviewed-on: http://gerrit.openafs.org/7302
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 098e6f141f2234dcd0196096ab6f739db678f746
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 7 21:21:26 2012 +0100

    Configure src/external for c-tap-harness
    
    Setup the src/external system so that we can pull in releases of
    the C Tap Harness using that mechanism.
    
    Change-Id: I312db7991b037e7bb885c8f93a5c94c793dada30
    Reviewed-on: http://gerrit.openafs.org/7372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 427f53eea7f9c05e7b1913c91d57777d72bc30b2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 7 15:49:34 2012 -0500

    fs: Report default storebehind when errors exist
    
    After 904c9fbe, we no longer print out the default store asynchrony
    when any of the supplied paths results in a pioctl error. However, if
    just one (or a few) of the paths supplied results in an error (such
    as, the path does not exist), this does not prevent us from reporting
    the default value.
    
    Instead, keep track of whether or not we have a valid value, and try
    to determine the default if we haven't already by the end of
    StoreBehindCmd, and print it out.
    
    Change-Id: I16a5faed15141d0bb00ea9b6f991c0a8e404d4d5
    Reviewed-on: http://gerrit.openafs.org/7376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e9e14b551901db8f5be4d4c6060c709d2a3596be
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 7 11:35:07 2012 -0400

    Windows: cleanup redirector pipes
    
    If pipe creation fails, cleanup the mess.
    
    At shutdown, if there are pipes that have not been closed by
    Windows, clean them up.
    
    This is just to ensure that at shutdown the reference counts of
    cm_scache_t objects in the cache are reset to zero.
    
    Change-Id: I1d738c31faafce445f05adc4884c7711123589e2
    Reviewed-on: http://gerrit.openafs.org/7366
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 542dad75733354a6fb1e912d3ff75d414459078b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 7 00:56:11 2012 -0400

    Windows: Correct refcount leak
    
    The new duplicate avoidance code in cm_QueueBKGRequest() leaked
    a cm_scache_t and a cm_user_t reference count.
    
    Change-Id: Iceaf32a8d20cf350024fe40e3185c723f6203676
    Reviewed-on: http://gerrit.openafs.org/7365
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6da91dfcb8ffa83a4663e73359abc6c8b6128e34
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 7 00:54:27 2012 -0400

    Windows: fix build with DEBUG_REFCOUNT
    
    cm_GetSCache added a new parameter.  The same parameter is required
    for the cm_GetSCache macro when DEBUG_REFCOUNT is defined at build
    time.
    
    Change-Id: Id198cdf845b8339259716d4a61c0347c33ffd83d
    Reviewed-on: http://gerrit.openafs.org/7364
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4fce72b0e6ddabce64af5fb7cef35492933f58d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 6 19:31:03 2012 -0400

    Windows: Checksum server lists on Volume Errors
    
    For VMOVED, VNOVOL and VOFFLINE checksum the server lists for
    the current volume.  If the server list changes as a result of
    the forced volume location update, do not set the updated flag
    which prevents subsequent volume location updates for the current
    cm_req object.
    
    This combined with the previous patchset to filter volume locations
    based upon the VLSF_NEWREPSITE flag will avoid outages during
    vos release operations.
    
    Change-Id: I39e6981b9fac5ed0dfd900e09474df43cb72feec
    Reviewed-on: http://gerrit.openafs.org/7361
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 345d643729ed588c4e49e69607bee5793809b01d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 6 09:54:55 2012 -0400

    Windows: cm_SetServerBusyState use cm_ServerEqual
    
    When the busy state of a server is set it must apply to all
    server references if the server is multi-homed.  Use cm_ServerEqual()
    to do so.
    
    Change-Id: I76c07746eb396af988a5270804e221e7a641db66
    Reviewed-on: http://gerrit.openafs.org/7355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 193a56aa664ccfb39a3447f81735f2183a914c76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 5 21:37:00 2012 -0400

    Windows: Track Mixed RO Volume Release State
    
    If the volume location information indicates that a replica site
    is VLSF_NEWREPSITE then it implies that some of the replicas are
    out of date.  Ignore the out of date replicas when constructing
    the list and force a volume location list reset every five minutes
    while the replica site info is mixed.
    
    Change-Id: I136e66b1d2da66578970932553d14f59a666721b
    Reviewed-on: http://gerrit.openafs.org/7354
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1af906799b2de90d41139dadaf2dd654e4fd2df3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 5 20:46:08 2012 -0400

    Windows: Make CM resilient to transient VNOVOL
    
    The 1.6.0 and 1.6.1 file servers send transient VNOVOL errors which
    are no indicative of the volume not being present.  For example,
    VNOVOL can be sent during a transition to a VBUSY state prior to
    salvaging or when cloning a .backup volume instance.  As a result
    the cache manager must attempt at least one retry when a VNOVOL is
    receive but there are no changes to the volume location information.
    
    This patchset records the VNOVOL error in the cm_req_t structure
    If the volume is replicated, the volume's server reference into a busy state.
    If the volume is not replicated, the thread is paused for two seconds.
    In both cases, the request is retried.  If the VNOVOL error is received
    a second time from the same server, the volume server reference is
    deleted as before.  This is done to prevent repeated requests to the
    VLDB server and the file server that are expected to fail.  The server
    reference will be restored to the volume on the next volume location
    update.
    
    Change-Id: Ica51f853683f80cb17c804cdc216f7a113cca60a
    Reviewed-on: http://gerrit.openafs.org/7353
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 46c1f1391b6e1b95798e183b8f34cba5c074e0ad
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 5 19:11:07 2012 -0400

    Windows: cm_GetNewSCache drop lock to permit change
    
    In cm_GetNewSCache the entire LRU queue is searched for a
    cm_scache_t object that is safe to recycle.  If none are the LRU
    queue was immediately searched again without dropping the
    cm_scacheLock or taking a pause.  As a result it is quite possible
    that a thread about to release a cm_scache_t was blocked from
    doing so.
    
    This patchset factors some of the logic a bit differently to
    improve readability and adds new log messages to help diagnose
    the cause of a problem if no cm_scache_t ever becomes available.
    
    Change-Id: Ica6ebee0ce0456e879ae7188d9c8cdc935a92e5b
    Reviewed-on: http://gerrit.openafs.org/7352
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dbab42ca724668a8d0b0e33dd998fa9312b781d1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 5 13:50:36 2012 -0400

    Windows: Remove dead code in AFSRead.cpp
    
    Change-Id: I9ebaf0a43b0b14c11fc7d1b0935a8d436e70e900
    Reviewed-on: http://gerrit.openafs.org/7351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4cdb94dbc4f7cfc13c9f3e07929adcd96b3df1c8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 4 17:13:32 2012 -0500

    ubik: Initialize ubik_callPortal earlier
    
    As of 7caf4143, we call ubeacon_InitServerList* before ubik_callPortal
    is set, causing Rx connections to be created to port 0, causing
    various problems with communicating with other sites. Initialize
    ubik_callPortal to the correct value before calling any such
    functions, so we create connections to the right port.
    
    Change-Id: I37dbf575bcdec10463c7b6006738678096a92573
    Reviewed-on: http://gerrit.openafs.org/7349
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f76cf9a3fb30b8c89c91ca10eaff8308cab9630a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 3 20:01:22 2012 -0400

    Windows: FCB cleanup must be done before ObjectInfo
    
    When processing the cleanup and destruction of a File Control Block
    the related ObjectInfoCB is required for proper cleanup.  Reorganize
    the AFSPrimaryVolumeWorkerThread logic to ensure that this is true.
    This involves dropping the VolumeCB->ObjectInfoTree.TreeLock around
    the AFSCleanupFcb() call. While the lock is released it is possible
    for the ObjectInfoCB->OpenReferenceCount to change.  Therefore, new
    checks must be added after the lock is re-acquired to ensure that
    an in-use object is not destroyed.
    
    Change-Id: I6b26fb2fe1ef4077c6edd643ec40715c8e2928ac
    Reviewed-on: http://gerrit.openafs.org/7327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e691a757d6f43fa11e3b9a84cf5cbb151a8e9a3b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 3 19:58:31 2012 -0400

    Windows: AFSInitFcb STATUS_REPARSE cleanup
    
    If a race is detected when creating a new File Control Block in
    AFSInitFcb() the Fcb Header must be torn down and the ExtentsResource
    and DirtyExtentsListLock must be deleted prior to freeing the pool
    memory.
    
    Change-Id: I3c3f45aed26ea62b4d20e5c5e80d1237d96c912c
    Reviewed-on: http://gerrit.openafs.org/7326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f12a20e2279dc9446a1b74217c9995e3d9fc099b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 18:20:45 2012 -0400

    Windows: cm_BkgFetch do not impose arbitrary timeout
    
    The afs redirector will queue extent requests for the entire file
    if it is being copied to local disk as long as there is enough
    page cache space to store it.  If the file is 8GB and the bandwidth
    from the file server is 100K/second it may take a while to get to
    the end of the request queue.  Do not arbitrarily time out the
    requests.
    
    Change-Id: I12d9358ee5de37fc78d68c8e07dd14ca5dda1832
    Reviewed-on: http://gerrit.openafs.org/7320
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b12a038b487a47e99700c0d51273aee37aecbfca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 18:05:26 2012 -0400

    Windows: Treat all cached writes as write-through
    
    Treat all writes that are cached in the windows page cache as
    write-through requests so that they are delivered immediately to
    the AFS cache.
    
    The upside is that the afsd service can begin to store data to the
    file server immediately which can be of significant importance whe
    the AFSCache is larger than the file size and the file size is large
    and the bandwidth to the file server is slow.  In that situation
    the entire file can be written into the windows page cache and
    will only be flushed to disk at the last handle close on the file.
    
    The downside is that all data will be written to the file server
    including that for files that will later have the delete pending
    flag applied.
    
    Change-Id: Icff536f9ec768068692c1e024a943448409e7e40
    Reviewed-on: http://gerrit.openafs.org/7319
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0fb70aab0e06099bbfe9b1fa388722d0b28f81a3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 18:04:23 2012 -0400

    Windows: AFSQueueFlushExtents permit NULL AuthGroup
    
    If the AuthGroup is NULL, search for an AuthGroup to use when
    queuing the flush extents request.
    
    Change-Id: Ie77f292dd992c4f8621434cecc70c7633de60320
    Reviewed-on: http://gerrit.openafs.org/7318
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ba8e60d70a74fc2c6899b29f330a5bfa59175912
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 18:02:28 2012 -0400

    Windows: refactor AFSCleanupFcb
    
    move the checks for deleted and invalid files earlier in the
    function to simplify other conditional tests.
    
    Change-Id: I973f411b65c0327227f07718ae764572d6f37c85
    Reviewed-on: http://gerrit.openafs.org/7317
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 23bec3fe9f12c0af08f03b0b9cb70add7be859ba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 18:01:31 2012 -0400

    Windows: correct typos or mistaken comments
    
    Change-Id: Iae278c0121c1b4d3cc9aaab276fab798c1a8065b
    Reviewed-on: http://gerrit.openafs.org/7316
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f86b17ab2b9ea75dacfcb508f138256c3827655b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 17:58:39 2012 -0400

    Windows: RDR_RequestFileExtentsAsync set current DV
    
    if the buffer returned from cm_GetBuffer() has an offset that is
    beyond the serverLength and it has a "bad" data version, set the
    data version to the current value.  This is for debugging clarity.
    
    Change-Id: Icb3ee4accd0219a41813c44428070248245f2549
    Reviewed-on: http://gerrit.openafs.org/7315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a7fec07348889e9455ccec3b5028aec385b83e5f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 17:52:44 2012 -0400

    Windows: refactor cm_GetBuffer avoid BIOD construction
    
    Constructing a BIOD is a very expensive operation as it requires
    obtaining exclusive locks on each and every buffer that in the
    collection.  The prior code would construct a BIOD for a chunk
    worth of buffers and then check to see if the current buffer is
    beyond the serverLength or the truncation position.  If so, the
    buffer is cleared and the buffer is returned as current after
    releasing the BIOD.  This is very wasteful.  Instead, check every
    buffer in the BIOD to see if it should be made current or not.
    If yes, do so before releasing the BIOD.  This permits the construction
    of the BIOD to be avoided for the rest of the buffers in the chunk.
    
    Change-Id: I0a413f8be9686cd0e326a3ea3608ca954cdf4370
    Reviewed-on: http://gerrit.openafs.org/7314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6b602e59af8d360f7ca2c48734477c21a94396af
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 17:47:46 2012 -0400

    Windows: cm_InitDaemon initialize cm_bkgQueueCountp[]
    
    Change-Id: Ie4abd1c26d54208921a78e421b447a8f4fc5684a
    Reviewed-on: http://gerrit.openafs.org/7313
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b750d82a8460cc1bd5a5761ed160b09ac5c132f5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 17:42:59 2012 -0400

    Windows: cm_QueueBKGRequest improvements
    
    Do not add duplicate requests into the queue.  Outstanding extent requests
    will be re-issued by the afs redirector on a periodic basis while
    waiting for them to be satisfied.  If they are pending there is no
    need to remember them a second time.
    
    Use separate queues for Fetch and Store operations.  Store operations
    might be blocked on the file server but a Fetch operation might be served
    from the cache.
    
    Change-Id: I8e15c71275921c9a062944d52bf97a0ba68fe430
    Reviewed-on: http://gerrit.openafs.org/7312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ce7fe9ccfbfe0fd17416758357036881d5d2b5f4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 17:39:12 2012 -0400

    Windows: buf_GetNewLocked skip redirector owned buffers
    
    If a buffer is owned by the afs redirector, regardless of whether
    or not it is dirty, do not use it.
    
    Change-Id: Icc92f3cb8606ac67bcf561d409c76bd5a4a7bc06
    Reviewed-on: http://gerrit.openafs.org/7311
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fcf1079f580fe1f2afa86f5e0312792817d52d2f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 16:57:11 2012 -0400

    Windows: buf_RemoveFromRedirQueue in buf_Init
    
    use buf_RemoveFromRedirQueue in buf_Init instead of the roughly
    duplicated code.
    
    Change-Id: Ibf070d3e44f7a0749d1046c9d1168bdfb9aa6f2b
    Reviewed-on: http://gerrit.openafs.org/7310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2246e7887cccd9e3d3524c3079b80b5cecaac433
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 2 14:32:01 2012 -0400

    Windows: AFSInitializeProcessCB failure stack exhaustion
    
    If AFSInitializeProcessCB() fails in AFSProcessCreate() it can
    lead to a recursive loop of AFSValidateProcessEntry() ->
    AFSProcessCreate() calls.  Only call AFSValidateProcessEntry()
    if AFSInitializeProcessCB() succeeds.  On failure, log an error
    to the trace log.
    
    Change-Id: I67a65bed9a3193a5ce44eb01d30aed15fe9e469d
    Reviewed-on: http://gerrit.openafs.org/7309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ad5916d19fe85c89db7675cac551a1e7634d5bdc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 30 06:22:41 2012 -0400

    Windows: More useful AFSDumpFile exception info
    
    Modify AFSExceptionFilter to accept the __FUNCTION__ name
    where the exception occurred.
    
    Generate the trace dump file after the exception has been
    handled so that it is possible to see where it happened
    in the trace output.
    
    Change-Id: Icddafc1066dd85b63d8d97c40c0f76c54d181ebe
    Reviewed-on: http://gerrit.openafs.org/7308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f70a12adef9a915ada728350e0b9e1e5104f7ea7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 30 06:18:58 2012 -0400

    Windows: VNOSERVICE error translation
    
    Translate VNOSERVICE as CM_ERROR_RETRY and not CM_ERROR_OFFLINE.
    
    Change-Id: I6daf9b9fb607192cedc057c518137772a7eb1bab
    Reviewed-on: http://gerrit.openafs.org/7307
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c87fe04a61a97d61859684d53bb2d3ef7ee65da8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 30 06:18:06 2012 -0400

    Windows: VNOSERVICE message text
    
    correct message text to indicate that an rpc has not been serviced.
    
    Change-Id: Id2d82756253136ae6221aa2227be64bf654ee36e
    Reviewed-on: http://gerrit.openafs.org/7306
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 50752e2f60d613fda1e70b798a72679bea5d65f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 29 10:31:07 2012 -0400

    Windows: reorg RDR_CleanupFile to prevent lock leak
    
    RDR_CleanupFile could fail to drop a file lock if the user does
    not have write permission on last handle close even if the file
    is readonly or there were no dirty extents to be stored.  The
    error handling would return the error immediately and skip the
    file lock release.   This patchset changes the logic so that the
    user permissions are not tested if the file is located on a readonly
    volume or if there are no dirty extents or metadata changes to store.
    
    In addition, if there is an error, skip to unlock processing and
    not to function exit processing.
    
    Change-Id: I03f8cbbae5ead2a66ce261631e7e34dd533de930
    Reviewed-on: http://gerrit.openafs.org/7292
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f19e9d72466785bb3b543922f153ad8be2395e6e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 3 14:57:08 2012 -0500

    vos: Default to server confdir for -localauth
    
    For -localauth, we traditionally default to using the server
    configuration directory, since that's usually the dir that has the
    KeyFile in it. Keep doing that with the new ubik client interface.
    
    Change-Id: I0f7e1ed180874f52c2b91b1ea3f74e763c26cd0c
    Reviewed-on: http://gerrit.openafs.org/7324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d206783e0d1666464eb333ce58c72534448c2987
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 3 14:55:39 2012 -0500

    vos: Correct comment
    
    This is -localauth, not -serverauth
    
    Change-Id: I8337c231905a5424b5a91b0ed981adade64ca144
    Reviewed-on: http://gerrit.openafs.org/7323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 663185d62df501fb9d7a18e6ef329e4f53aa8854
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 3 12:40:40 2012 -0500

    vos setaddrs: notice unexpected errors
    
    Currently 'vos setaddrs' only prints a message and errors out if the
    VL_RegisterAddrs call fails with certain error codes (VL_MULTIPADDR
    and RXGEN_OPCODE). But if we get something else like an access error,
    we should of course print that out, instead of reporting success.
    
    Change-Id: Id90c65604289651d9f20fb1ab2c706446162f324
    Reviewed-on: http://gerrit.openafs.org/7322
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b71f4ffa7c58ef7b27eb6e28d00892906aec49ec
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Apr 11 15:34:29 2012 -0400

    volinfo: show header filenames even if error
    
    When invoked with -header option, print the header inode
    number, and namei filename, even if the header file cannot
    be opened.
    
    Change-Id: Id2a2e63f07e12cd817718a9da63d24250718ae06
    Reviewed-on: http://gerrit.openafs.org/7190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2460e132a9ed63714754745fe24f6f3a5712c81d
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.
    
    Change-Id: Ia0f48bfabae9442ab0f1b4a6f43df34699892f66
    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>

commit 200a02f69a7f2ac1604c42e28498171c81df9b43
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 2 19:32:22 2012 -0700

    Revert "viced: avoid crash if missing volume header"
    
    This reverts commit 2b40e6d2abbf842e6823661b94cfa9aa833b9990
    
    Change-Id: I9df0fd4fa6232286babdf64da54d491d2ec1e91a
    Reviewed-on: http://gerrit.openafs.org/7321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ae5ad937997ae6e29f81e4049451eda09c2efb6f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 1 10:09:44 2012 -0400

    viced: avoid crash if missing volume header
    
    Avoid a fileserver crash if the volume header is
    missing in SetVolumeSync.
    
    Change-Id: I509081306402fc7147d0624aa1181330b9fa9fc5
    Reviewed-on: http://gerrit.openafs.org/7301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 94a8ce970d57498583e249ea61725fce1ee53a50
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 23 14:42:24 2012 -0400

    libafs: log server errors on hard mount retry
    
    Save the last errors seen during a request and log those
    errors if a hard-mount retry is done.
    
    Change-Id: I65e41207c5f667c41c7f9cf459243118e5baa074
    Reviewed-on: http://gerrit.openafs.org/7275
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 07ff10c7fc194ee503b52691da000ab2c69d0fb1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 29 10:40:31 2012 -0400

    Windows: Cc FileObject Settings
    
    Modify the assigned CcSetReadAheadGranularity() from 64K to
    the afsd_service configured chunk size.
    
    Assign a CcSetDirtyPageThreshold() to be twice the configured chunk size.
    
    Change-Id: I1cfa67612058cf5e08906e369236d0d8a48c54f0
    Reviewed-on: http://gerrit.openafs.org/7294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cf0d53b06a42a21238f13d65feb8e5ebf602da4d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 29 10:37:35 2012 -0400

    Windows: correct cm_Analyze log message
    
    A VNOSERVICE log message takes three parameters and not one.
    Use the correct log macro.
    
    Change-Id: Iedb5e568b7ac39c061c0b70738a5c7ac670d9687
    Reviewed-on: http://gerrit.openafs.org/7293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a400f2a8a0732db57d725a8629ba869ed71caf9f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 27 08:54:56 2012 -0400

    Windows: remove unnecessary libs from aklog/asetkey
    
    Unnecessary lwp libs were linked into the aklog/asetkey binaries
    on Windows.  lwp and pthread should not be mixed.
    
    Change-Id: I53deed9ab210b8ccb394e754c66e15f35dfe89c2
    Reviewed-on: http://gerrit.openafs.org/7289
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2a83f03100deae0f13c255e41ab849d172859971
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 25 20:16:22 2012 -0400

    Windows:  Remove High Security Integrated Logon
    
    High security mode for integrated logon never was high security.
    It use was deprecated in the 1.5 series and it has no use at all
    in the afs redirector world.  Remove it.
    
    FIXES: 21702
    
    Change-Id: I019b4fecc430517d29195e79e39529a782c88073
    Reviewed-on: http://gerrit.openafs.org/7285
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7d0a0b66cca5dfd7f9c42032393632abadb1aa76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 25 18:05:01 2012 -0400

    Windows: fs getcacheparms
    
    The get cache params output is supposed to include two values:
    
     . the size of the cache
    
     . the size of the cache in use
    
    Windows no longer has a concept of an unused cache buffer.  All
    buffers are inserted onto the freelist and are available for
    recycling when the AFSCache file is created.  Instead of reporting
    the used cache space as 0K, report it as the full cache in use.
    It is likely to disturb users less.
    
    Change-Id: I6c1475f26e561d245bfa2b658c77ba683f735bb5
    Reviewed-on: http://gerrit.openafs.org/7284
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8095503bc1021515c48966f77e9561acfea1aa0c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Apr 28 23:46:26 2012 -0400

    doxygenize afs_analyze
    
    Change-Id: Idb5d873a0c2727928f80364aa5e99e48c05649ad
    Reviewed-on: http://gerrit.openafs.org/7291
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d10f71d44fddd7ea6e37481cffd7ee1be2a93217
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 27 12:59:25 2012 -0500

    vol: A GOING_OFFLINE volume should yield VOFFLINE
    
    Currently, GetVolume treats a volume in the VOL_STATE_GOING_OFFLINE
    state the same as VOL_STATE_SHUTTING_DOWN, and so returns VNOVOL for a
    GOING_OFFLINE volume, but these states are very different.
    
    GOING_OFFLINE indicates that a volume should soon be in the UNATTACHED
    state, so we should treat GOING_OFFLINE the same as UNATTACHED for
    returning errors to the user. For UNATTACHED, we return specialStatus
    if it's set, or VOFFLINE otherwise; so, just do the same for
    GOING_OFFLINE.
    
    Change-Id: Ia9500d2cfd90b8c15782a06025f39298810d0a99
    Reviewed-on: http://gerrit.openafs.org/7290
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 868378cc00b9ac7016da3dc457abf3fa2016687c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Apr 26 09:24:25 2012 -0400

    libafs: don't crash on no addresses in afs_Conn
    
    we try to avoid a crash on a missing serverHost; do the same
    on missing addrs in that host
    
    FIXES 130714
    
    Change-Id: Ic6bab8654cf7bf85351a9482b9ba5d51e5a768d5
    Reviewed-on: http://gerrit.openafs.org/7287
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 229131ab12d3c62a650ebff8c97acd5778f5bca1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 24 15:41:39 2012 -0400

    Windows: AFSValidateEntry CcPurge on DV change
    
    The variable bPurgeExtents was not being set when a DV change
    was detected in AFSValidateEntry().  This resulted in the purge
    being skipped and old data being left in the cache.
    
    Change-Id: I6f5a35e5c7a51d28267e0ff25318782a766771ac
    Reviewed-on: http://gerrit.openafs.org/7280
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d4c9cbc75edd632bd5bf22042c6502d03dda2d9c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 23 20:18:20 2012 -0400

    Windows: Directory validation should purge data changes immediately
    
    During AFSEnumerateDirectory() and AFSVerifyDirectoryContent() calls
    use AFSPerformObjectInvalidate() instead of AFSInvalidateObject()
    to trigger the data purge.  This is necessary to avoid a race as
    AFSInvalidateObject() will queue a work request that will be performed
    after the metadata is updated.
    
    Change-Id: Iaf09c6448927a037175cb4a83502fd4a1d210ef2
    Reviewed-on: http://gerrit.openafs.org/7279
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 76f2e07fd039e0175540ae0ca3330a4bec86e1fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 23 20:08:47 2012 -0400

    Windows: Flag purge on close if CcPurgeCacheSection fails
    
    CcPurgeCacheSection can fail.  If it does, remember that the
    purge still needs to be performed by setting the
    AFS_FCB_FLAG_PURGE_ON_CLOSE flag on the File Control Block.
    
    Change-Id: I83fab09ed5c506879e219606f8b10fdd7c021204
    Reviewed-on: http://gerrit.openafs.org/7278
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit be1f110f3efb41a72278c7abc8a22cbfcfa8d0e3
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Apr 22 22:45:09 2012 -0400

    macos: remove mistyped vnode warning
    
    newborn vnodes are corrected if needed; don't worry about it.
    
    Change-Id: I3bc4d6e9a467a8e09a3a77e027254f0da1448f80
    Reviewed-on: http://gerrit.openafs.org/7270
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 7e7a4ff328d279330e0c3f3e4c6fc07b43c4d9eb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 22 18:19:07 2012 +0100

    tests: More fixes for the vos test
    
    The vos test wasn't running correctly from runtests, as it contained
    a relative path which assumed that the CWD was tests/volser, rather
    than tests/
    
    Modify this to use the BUILD environment variable when invoked from
    runtests, and also add an exit after the exec(), so that if we do
    fail to launch the binary we don't have two processes both running
    the same code.
    
    Change-Id: I7b2d7e6a517e9e9f74f15803da7507037671226a
    Reviewed-on: http://gerrit.openafs.org/7265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e3c93b87b7fa751e9cf4c1356d606b7bb399b06c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Apr 18 11:58:52 2012 -0400

    libafs: stop bkg first
    
    because background daemons can have dependence on other subsystems, but
    are not needed for other operations, stop them first.
    
    Change-Id: If65cf922b84cfca7b8c5d7b7a2d571bfe1e5ff12
    Reviewed-on: http://gerrit.openafs.org/7246
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a08f9baa7620a6643f12f0b847c2bbab41a0b255
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Apr 18 11:58:03 2012 -0400

    macos: lock module against unload during shutdown
    
    during shutdown, once umount finished, it was possible to
    unload the module before shutdown completed. fix that.
    
    Change-Id: I7eae5210ec9553fa862d96148f963dcdfee79c4b
    Reviewed-on: http://gerrit.openafs.org/7245
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 749cb03e3c4b95c19803fc718d59ba79e8f8292f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 19 07:14:16 2012 -0400

    Windows: Add global root to name array if share name
    
    If the share name was resolved by querying the service instead
    of finding the entry in the root.afs root directory, construct
    a name array in AFSParseName() that includes the AFSGlobalRoot
    above the resolved share root directory.
    
    In AFSBackupEntry, check for the case where two volume root entries
    appear in sequence without an intervening mount point.
    
    Change-Id: Ied0e0dc8226b0460d85a1f3a8b389294cfdef34b
    Reviewed-on: http://gerrit.openafs.org/7252
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9dce9e2461d7b375c0ff4caaf400a6b448322e74
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 19 05:14:51 2012 -0400

    Windows: cm_ResetACLCache handle NULL cellp
    
    It is valid for the cellp parameter to be NULL.  When invalidating
    all ACLs for a user pass 0 to cm_EAccesClearUserEntries().
    
    FIXES 130704
    
    Change-Id: Ic6b6e5f1c2e10aa633390ee3d7c709dc202bbd29
    Reviewed-on: http://gerrit.openafs.org/7251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d55a767287d7f0ae1b3a018f3cb7b2a6730ebafa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 18 17:26:00 2012 -0400

    Windows: reverse order of EACCESS and USER locks
    
    The user lock is obtain while holding the eaccess lock.
    Reflect it in the hierarchy.
    
    Change-Id: I3aac945287415cd3babbe52f9fdeb93ab4d729bd
    Reviewed-on: http://gerrit.openafs.org/7247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3029ed4003d900bda7767aa1d4a46683fd8f7b4d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 21:08:13 2012 +0100

    ptserver: Complete pr_realmName removal
    
    Commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06 changed the mechanism
    by which the local realm is determined such that pr_realmName is
    no longer required.
    
    Tidy things up by removing the unecessary variable.
    
    Change-Id: I9b21340a8ecd38fbb8326dbed276882c9f0e9a62
    Reviewed-on: http://gerrit.openafs.org/7266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fbc9599484850f7f9fc41a98d3bd2105001fd802
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 19 15:15:04 2012 -0400

    configure: solariscc check update
    
    Add checks for recent versions of sunstudio for solaris.  The
    installation paths are documented in the release notes of versions
    12.1, 12.2, and 12.3.
    
    Change-Id: Ic28f40a061f288a1c39acb6a5d11e81876631d7f
    Reviewed-on: http://gerrit.openafs.org/7253
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4b63b93f24157aefa33f28c67ebea41803cc068e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 11:25:25 2012 +0100

    rx_identity: Add a super user value
    
    Add an RX identity type that can be used to represent the super user
    who is granted access using printed tickets.
    
    Change-Id: I3d6e657a04136746b502efa7698901225410f3c0
    Reviewed-on: http://gerrit.openafs.org/7261
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e1eb0fd66af158b86aec9c21cda836d84bc21c59
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 11:24:25 2012 +0100

    rx: Make identity and opaque usable with NULL vals
    
    Make it possible to have NULL values for elements of the rx_identity
    and rx_opaque structures.
    
    Change-Id: I3624d490d92da3cf75da5edb91c7d4e5ce1fa937
    Reviewed-on: http://gerrit.openafs.org/7260
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5815a04cf1f3c7f4dec8ef3b9783e01bac599d1c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 20 18:13:30 2012 +0100

    tests: Move token faking code to its own file
    
    Move the token faking code out of superuser-t.c into its own file in
    tests/common, so it can be used by other tests.
    
    Change-Id: I7b420250ef974b4b80a8dde692d2666657bb82ca
    Reviewed-on: http://gerrit.openafs.org/7259
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5cfea96b23b268bc93c6ffa5888c773031da7d67
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 20 15:36:29 2012 +0100

    tests: Make afstest_StopVLServer generic
    
    The StopVLServer function can be used to stop any server for which
    we know the pid. So, rename it as afstest_StopServer to make this
    apparent.
    
    Change-Id: Ia5973342e81dc15a698e84e69b314cd6157831f7
    Reviewed-on: http://gerrit.openafs.org/7258
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2ce3fdc5dc888693c8a7698aae7805a7d4dee145
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 20 15:34:26 2012 +0100

    tests: Abstract out code to produce a Ubik client
    
    Abstract out the code which the volser test uses to produce a
    ubik client so that it can be used to test other ubik services
    
    Change-Id: I800fda9e53ad45c91f3de8eceea387cc011dda3c
    Reviewed-on: http://gerrit.openafs.org/7257
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a6d64d700794601bb003a6e5693b34faa2214c18
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 07:43:59 2012 +0100

    ptserver: Refactor per-call ubik initialisation
    
    The way in which the ubik database is initialised is identical for
    all read transactions, and for all write transactions. Rather than
    duplicating this code in each call handler, pull it out into two
    helper functions - ReadPreamble and WritePreamble.
    
    Change-Id: I40f2d8d609bc4e6e8e3e0fc8851da86978c77818
    Reviewed-on: http://gerrit.openafs.org/7256
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ddcd9ede775ef64de281bc4994b3c7477f7105e9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 19:24:10 2012 +0100

    tests: Add missing vos test
    
    Add the missing volser/vos test, and fix it so that the plan is correct
    
    Change-Id: I017679176f5df8fb18002175a75ac0dcd108aded
    Reviewed-on: http://gerrit.openafs.org/7255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 25a5c423a0d12086ab3cc390306bcd0f0324a731
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 22 10:58:17 2012 +0100

    ptserver: Remove PR_REMEMBER_TIMES
    
    The #define PR_REMEMBER_TIMES is always true, so remove the #define,
    and all of the #ifdefs that it triggers
    
    Change-Id: I445a2cd8f5e5b2570e6ef1311cc6bb3d66592fdc
    Reviewed-on: http://gerrit.openafs.org/7264
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5c9be9a2f8eb4e2e8e9bf80132976adc506d968b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 20:55:23 2012 +0100

    util: Completely remove get_krbrlm
    
    Commit d85ece0977e043154b7d8f5aef5f4cd972771e8e added a new
    mechanism for determining whether a realm is local or not, and
    susequent commits removed all in-tree calls to the now-legacy
    functions in get_krbrlm.c
    
    To avoid confusion, just remove all of these legacy functions, as
    we don't want to end up supporting two ways of doing this
    operation.
    
    This change is not suitable for pullup to a stable release.
    
    Change-Id: Ie2f5c447f751d12a0d85a4a438efd7e210133e97
    Reviewed-on: http://gerrit.openafs.org/7263
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a38df1befb5a92f4f2c034576ead830b8d0c72c7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 21 20:32:38 2012 +0100

    dumpscan: Add missing .gitignore
    
    Add the missing gitignore file from the new src/tools/dumpscan
    directory
    
    Change-Id: I8fc7a3de4e717ef657c331a5ce82afb8f05ff726
    Reviewed-on: http://gerrit.openafs.org/7262
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3a1e129b76be5109feaa52deeffb8a51c024a6cc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 12:46:31 2012 +0100

    tests: Add a RX functionality test
    
    Use the rxperf performance testing tools to add a couple of simple
    RX tests. The first moves 1Mbyte of data backwards and forwards 30
    times. The second starts 30 threads, which each move 1MByte of data
    once.
    
    This is by no means an exhaustive test of RX, but the single and
    multi-threaded invocations should provide a useful smoke test if
    things get very broken.
    
    Change-Id: I11267be067cf6c05a20aeb90a18ed4031502a1b1
    Reviewed-on: http://gerrit.openafs.org/7244
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 06cc5bec2c2485f49a39fcd4af378279178fab36
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 17 23:19:17 2012 +0100

    rxperf: Move into the tools directory
    
    Move the 'rxperf' RX performance testing utility out of the
    src/rx/test directory, and into the slightly more visible top level
    src/tools/ directory
    
    As this is the first time that rxperf has been built as part of the
    default build, make a number of changes so that it will build on all
    of our supported platforms.
    
    Change-Id: Ice37e7db694dbfed34009bf76d24f1e0bf272e47
    Reviewed-on: http://gerrit.openafs.org/7240
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit db733e325e558d4f36835639e340ecee94f7fcb5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 23:25:33 2012 +0100

    roken: Add setprogname
    
    Add setprogname to the list of functions that we test for, and replace
    with a libroken alternative if it is missing.
    
    Remove setprogname and getprogname from the AC_CHECK_FUNCS list, as
    AC_REPLACE_FUNCS is a superset of this test.
    
    Change-Id: If81dc8ba6d9245329f3abae6a6f062e3827dcfab
    Reviewed-on: http://gerrit.openafs.org/7250
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c0952be8d870cf1fc7837b86b373a100886742e4
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Apr 18 23:16:39 2012 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408)
    
    New files are:
            roken/setprogname.c
    
    Change-Id: I4e6bbe0b76f6a79035937c1eb830008c972f1db4
    Reviewed-on: http://gerrit.openafs.org/7249
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 02eb5507481a3f05423081df3c1d07597cd36dc4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 23:15:15 2012 +0100

    roken: Add setprogname to list of imports
    
    Change-Id: I0aff8d1b3228e702012ffbe8bc8707a6d60ffbaf
    Reviewed-on: http://gerrit.openafs.org/7248
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 418886567064c9266824fe940592399e8daac3b9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 09:10:36 2012 +0100

    Update .gitignore files
    
    Update (and create) .gitignore files across the tree
    
    Change-Id: I7534e4f1eac44e6024f86591a171b63a64c6f320
    Reviewed-on: http://gerrit.openafs.org/7241
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 18db7ede1c570710d361a2e7cc3a641260e6a08a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 12:44:43 2012 +0100

    tests: Explicitly include DES in superuser test
    
    When the hcrypto/des header was removed from our installed headers, it
    wasn't added back in to the superuser test. Add it now, so that the test
    can build.
    
    Change-Id: I38023ee94abe801f6f2313b492e4f80855001c41
    Reviewed-on: http://gerrit.openafs.org/7243
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6f20e9ddc2d15ec70b7c2d4035c78b156a36656a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 18 12:35:10 2012 +0100

    Mac OS: Fixed shared library symbol issues
    
    Some of our shared libraries (in particular, roken) build with different
    symbols in them depending on the exact configuration options for a
    particular platform. This means that not all of the symbols in the map
    file may be present within the library. On Mac OS X we have been working
    around this by using the "-flat_namespace,-undefined,suppress" linker
    options.
    
    However, with Lion this no longer works, as the linker still expects to
    find the symbol in the library whose mapfile indicated that it was
    present. So, for example, we end up with errors like:
    
    dyld: Symbol not found: _errx
      Referenced from: openafs.git/tests/rx/../../src/tools/rxperf/rxperf
      Expected in: openafs.git/lib/librokenafs.dylib.1.1
    
    ... despite errx actually being provided by the system libraries.
    
    The fix to this is to use the default two level namespace, and change
    our behaviour for undefined symbols to 'dynamic_lookup', rather than
    'suppress'
    
    Change-Id: Ide37856198a8db3d42ee0a5261d097176bcc9301
    Reviewed-on: http://gerrit.openafs.org/7242
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9dca26ac192f0538e8f76a8935819b6f9f4c438e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 17 22:28:14 2012 +0100

    tools: Move dumpscan into its own directory
    
    Move dumpscan into its own directory, so that it's Makefile rules can
    be better contained, and not pollute the whole 'tools/' namespace
    
    Change-Id: Ic58d007824ab802eae469dd2996300f80671a3b8
    Reviewed-on: http://gerrit.openafs.org/7239
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0dd7c980acda0756150f11992a0d2236f340e0c2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 5 10:47:45 2012 -0500

    audit: remove static local realms
    
    Remove the static list of local realms and use the
    auth interace to do the local realm check. A callback
    function is registered by the servers to avoid a circular
    dependency between audit and auth.
    
    Change-Id: Ic0f25cd79da7987704de68bade14054490b26c80
    Reviewed-on: http://gerrit.openafs.org/6879
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8a040cfd848410b75b4e5ac5498f00f073932598
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 5 08:27:55 2012 -0500

    viced: remove static local realms
    
    Use the new auth function to do the local realm match
    check instead of static local realms lists.
    
    Override the krb.conf file with the -realms command line
    option.
    
    Change-Id: Ic364e61b03385fbc9496ac4af3877a1fdee3a3a5
    Reviewed-on: http://gerrit.openafs.org/6878
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9ddf9eca56e02be978ff7d065ee16c85de2cfb06
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 28 22:31:45 2012 -0500

    ptserver: remove static local realms
    
    Use the new auth function to do the local realm match
    check instead of static local realms lists.
    
    Change-Id: I8b509188103916bdd2e575e5e9a14e3671b81e65
    Reviewed-on: http://gerrit.openafs.org/6877
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d85ece0977e043154b7d8f5aef5f4cd972771e8e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 28 09:19:11 2012 -0500

    auth: remove static local realms
    
    Remove the static list of local realms and use the auth
    interface to perform the local realm match check.
    
    Change-Id: I0f56e7974e59035eb9bf9fb343b550ab6b7ef314
    Reviewed-on: http://gerrit.openafs.org/6876
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8e62ddaa3706319b425327b9516c91290274590a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 13 14:49:59 2012 +0100

    rx: Use native 64bit data counters
    
    Modify the peer, call and rpc_stats structures to use native 64 bit
    types for the bytesSent and bytesRcvd data counters. All of our
    platforms support native 64bit quantities now, so there's absolutely
    no value in rolling our own.
    
    Change-Id: I7c51de73be17821c6472eea535c8476fe0d7a23e
    Reviewed-on: http://gerrit.openafs.org/7205
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c83e1ae68022993399402911eab84ee157d34de2
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Apr 17 08:55:45 2012 -0400

    aklog: heimdal kvno is rapidly changing
    
    in 1.6 it's unsigned. in 1.5 it's signed.
    it's 32 bits. i don't care. just copy the darn thing.
    
    Change-Id: I51efd2be64eac108e5b1591643f24fd0a51bfdff
    Reviewed-on: http://gerrit.openafs.org/7235
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0ac28aa703459df60e9f18348fb1d4f73d5c042c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 16 15:22:35 2012 -0400

    Windows: Drop Fcb Resource across SetEOF and SetAllocation
    
    If the file size or allocation is being altered, we must hold
    the PagingResource and drop the Fcb Resource.  Dropping the
    Fcb resource is necessary to avoid a deadlock with TrendMicro's
    filter if the size is set to zero and acquiring the PagingResource
    is necessary to prevent races now that the Fcb Resource is no
    longer held.
    
    Change-Id: Ie72a018adc52c479a4bb2469b2b1abe317644e8b
    Reviewed-on: http://gerrit.openafs.org/7224
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fd161ec0e474485c6a1a43019b802e3b663098df
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 16 14:47:38 2012 -0400

    Windows: Hold PagingResource across ExtendingWrite
    
    When the file allocation size changes the PagingResource must
    be held exclusively to prevent races.
    
    Change-Id: I6ff3a2061563dbb858bb284b463913f6d3b33e7a
    Reviewed-on: http://gerrit.openafs.org/7223
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8e1490f5799f0a307760047a133aade806b32afc
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Apr 16 12:25:01 2012 -0400

    Windows: AFSProcessOverwriteSupersede CcSetFileSizes
    
    Instead of calling CcPurgeCacheSection() in AFSProcessOverwriteSupersede()
    as part of the file length truncation to zero, call CcSetFileSizes().
    
    Wait to call CcSetFileSizes() until after the Fcb->Resource has been
    dropped but while the Fcb->Header.PagingIoResource is still held.
    Make sure that file sizes are restored in the Fcb->Header if the
    afsd_service rejects the file update.
    
    Change-Id: I7574e80781ac1dbbe69814c69644bb3825de9b6a
    Reviewed-on: http://gerrit.openafs.org/7220
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f8b759b63ff938e2829fefd71059202c44e7ca13
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 28 08:50:33 2012 -0500

    auth: local realms configuration
    
    Add krb.conf and krb.excl support to the auth cell configuration
    library.  Provide a function to determine if the user is local to the
    cell.  Provide a function to set the local realms during application
    initialization.  These changes are intended to replace the functions
    afs_krb_get_lrealm and afs_is_foreign_ticket_name.
    
    Change-Id: Iba57e9ffc2c958f3a4565a9352ce172189276ce9
    Reviewed-on: http://gerrit.openafs.org/5744
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a3ff62857cb76e403c11a27a250aa3c79d66ebb6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 13 19:14:44 2012 +0100

    rx: Remove surplus call to FindPeer
    
    When stats are enabled, rxi_ReadPacket calls FindPeer immediately
    the packet is received from the wire. The peer structure that it
    gets is used solely to increment a counter, and then thrown away.
    Given that FindPeer requires a lock, and a hash lookup, this is
    really inefficent.
    
    Instead, delay the compilation of statistics until rxi_ReceivePacket.
    Call FindPeer for version and debug packets which have no associated
    connection otherwise wait until we have found the packet's connection,
    and use the peer which is linked from there.
    
    Change-Id: Ic2eb08e52b97d6b033b9d3de59da9346e012d70d
    Reviewed-on: http://gerrit.openafs.org/7206
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 660720d1f54a867e21f78b6ec4c024235e4c37b7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 29 10:30:47 2012 -0500

    rx: dec rx_nWaiting on clearing RX_CALL_WAIT_PROC
    
    Currently, a couple of callers (rxi_ResetCall, and
    rxi_AttachServerProc) will decrement rx_nWaiting only if
    RX_CALL_WAIT_PROC is set for a call, and the call is on a queue
    (presumably rx_incomingCallQueue). This can cause an imbalance in
    rx_nWaiting if these code paths are reached when, in another thread,
    rx_GetCall has removed the call from its queue, but it has not yet
    cleared RX_CALL_WAIT_PROC (this can happen while it is waiting for
    call->lock). In this situation, rx_GetCall will remove the call from
    its queue, wait, and e.g. rxi_ResetCall will clear RX_CALL_WAIT_PROC;
    neither will decrement rx_nWaiting.
    
    This is possible if a new call is started on a call channel with an
    extant call that is waiting for a thread; we will rxi_ResetCall in
    rxi_ReceivePacket, but rx_GetCall may be running at the same time.
    This race may also be possible via rxi_AttachServerProc via
    rxi_UpdatePeerReach -> TryAttach -> rxi_AttachServerProc while
    rx_GetCall is running, but I'm not sure.
    
    To avoid this, decrement rx_nWaiting based on RX_CALL_WAIT_PROC alone,
    regardless of whether or not the call is on a queue. This mirrors the
    incrementing rx_nWaiting behavior, where rx_nWaiting is only
    incremented if RX_CALL_WAIT_PROC is unset for a call, so this should
    guarantee that rx_nWaiting does not become unbalanced.
    
    Change-Id: I7dba4ba5f7cc33270c2d0f486b850fc0391927d1
    Reviewed-on: http://gerrit.openafs.org/6986
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6a9b0d8c56ab80bdcc8d4e2d0b28a606837141cc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 15 17:40:03 2012 -0400

    rx: conn_call_lock leak
    
    In rxi_ReceivePacket, if the packet is for a client connection
    and there is no call allocated, the conn->conn_call_lock was
    leaked.  Introduced by 95c38dff3740d7e24971ceb5875c06e7abfce102.
    
    Change-Id: Icfc10849c1da08d7c96d139b0a10d9ffe7ee57df
    Reviewed-on: http://gerrit.openafs.org/7218
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 15cde0e40db8c99ef9af7e9f04c406ce6ea3bfeb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Feb 20 15:26:09 2012 -0500

    auth: get local cell internal function
    
    Add an internal function to retrieve the local cell
    name when the auth mutex is already held. Implement
    afsconf_GetLocalCell in terms of the new internal
    function.
    
    Change-Id: I2f021a9966129e8e256b61d5219e7315b904ac0e
    Reviewed-on: http://gerrit.openafs.org/6875
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c242c5a4ae156b6a4432edd3258e87eb283c7ef1
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Apr 12 21:30:47 2012 -0400

    TESTS: Add the libwrap script to "make check" to handle library paths
    
    LICENSE MIT
    
    Change-Id: I5f77d8703a163b8b9224f64010b9e008bb386c59
    Reviewed-on: http://gerrit.openafs.org/7202
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 56a2cbb5fbdcab51bd5f4720e610796abbce5c41
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 14 09:43:48 2012 -0400

    Windows: pioctl use GetFileAttributes
    
    Instead of attempting to CreateFile(OPEN_EXISTING) the _._AFS_IOCTL_._
    file, try using GetFileAttributes() to obtain the attributes of the
    file.  The file doesn't exist in the directory listing but the
    afs redirector and the afs smb server will respond to the request.
    Perhaps the SMB servers in the broken printers will fail it.
    
    Change-Id: I792bcc89c63871043ce6835a971de284fd754d54
    Reviewed-on: http://gerrit.openafs.org/7210
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 718a6a0c464e1c2f477acbe48770c2297720a57d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 14 11:06:58 2012 -0400

    Windows: _._AFS_IOCTL_._ hidden and system
    
    Query file attributes returned only the system attribute
    and not the hidden attribute.  Must return both.
    
    Change-Id: Id29465adf3e3524b59c63b2e6f8ef482f536a0e1
    Reviewed-on: http://gerrit.openafs.org/7209
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3cdfdc4792444c54a36341b6a8a66ae1a8085cec
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 13 23:16:56 2012 -0400

    Windows: Remove PurgeContent param AFSVerifyEntry
    
    When verifying a directory entry we must update the metadata
    for a file therefore we must also purge the data if the version
    number changed.  This is not optional.
    
    Change-Id: Icb673c7a6c52b3778978248fcb243d110685aa8d
    Reviewed-on: http://gerrit.openafs.org/7208
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ead0a458272abe79fcca5e521b2960d90d358465
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 13 20:17:48 2012 -0400

    Windows: Flush data and then drop locks
    
    The redirector must flush the data to the file server
    and then drop the file locks.  Doing it the other way
    creates races.
    
    Change-Id: Ic3a48546ee9e0066df9d228fc4e57f52b43587c2
    Reviewed-on: http://gerrit.openafs.org/7207
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dcefc4576020c2c076af1a4af07cc827bf4eea40
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 13 11:58:02 2012 -0400

    Build: check for gencat
    
    Check for the gencat program and give a missing warning if
    not present.
    
    Change-Id: I71cdaa0840215b53071be4481a5f23b2f8667bda
    Reviewed-on: http://gerrit.openafs.org/7203
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c11d1c031940f298e96def822024d2857f603268
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 13 13:01:05 2012 -0400

    Build: error if solariscc is not found
    
    Fail configure if the solariscc is not found and give the builder
    a message to cope with non-standard installation paths for
    sunstudio.
    
    Change-Id: I64c1e752833f2aa824f4a15cc144e54bb03a1ec8
    Reviewed-on: http://gerrit.openafs.org/7204
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a187be182ce2915b68af0e318bef352d41f7715a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 8 11:45:57 2012 +0000

    rx: Rework code which pulls packet from recv queue
    
    Both rxi_ReadProc and rxi_FillReadVector contained copies of the
    same code to pull a packet out of the receive queue, and turn it
    into the call's currentPacket. Abstract this out into a single common
    function, so we're not maintaining the same code in two different
    places.
    
    Change-Id: I20af6b4ff19f05e21ffde1a80609be12ad6cfeee
    Reviewed-on: http://gerrit.openafs.org/7195
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7b45d62ec18726a49dcffe8ddbca8f446ca0bb3e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 6 10:12:26 2012 +0000

    rx: Tidy up currentPacket handling
    
    Instead of making a copy of the call->currentPacket variable in our
    read/write routines, reference it directly. Make it clear that
    currentPacket is used solely by the application thread, and remove
    a number of mistaken comments that suggest otherwise.
    
    Change-Id: I7ad799acbf110422df7c1e18ab552caf26b7766a
    Reviewed-on: http://gerrit.openafs.org/7194
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e6105fcd33db8af6a5ea5da5f221b6acc8d39f04
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Apr 12 17:35:27 2012 -0400

    aklog: heimdal kvno is unsigned
    
    heimdal's kvno is unsigned. comply.
    
    Change-Id: I5960ec33dccb10ae2bbc121e231b6aa58fa17993
    Reviewed-on: http://gerrit.openafs.org/7201
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 83b76f564b0972c6163656637b2d64d06895e41a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 8 11:26:39 2011 +0100

    Remove redundant header includes
    
    Remove includes of system headers where roken.h already takes care of
    including them. This simplifies the source tree, reduces the amount of
    work done by the compiler, and ensures that all of our headers are
    included with the correct guards
    
    The list of files to edit was generated with the following script:
    
    list=`grep include external/heimdal/roken/roken.h.in                \
             | sed -e's/#include//g' | sort | uniq`;                    \
    for A in `find . -name *.c | xargs grep -l roken.h                  \
                 | grep -v external/ | grep -v WINNT/`; do              \
         found=0;                                                       \
         for B in $list; do                                             \
             if grep "$B" $A > /dev/null; then                          \
                  echo "$A : $B";                                       \
                  found=1;                                              \
             fi;                                                        \
         done;                                                          \
         if [ $found == 1 ] ; then mvim -f $A; fi;                      \
    done
    
    Change-Id: I2edbda550a129709b1dc6860b17d6a8a7509af58
    Reviewed-on: http://gerrit.openafs.org/5815
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 03ec768fa65dc5961e161517871f3035df70b643
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Mar 27 00:33:26 2012 -0400

    volscan: index offset output column
    
    Add index offset as a possible volscan output column.
    
    Change-Id: I1bf6e8dc3c506a2ee013536e19141ddb214879a6
    Reviewed-on: http://gerrit.openafs.org/6980
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 22fbed08a6f23dbbc05fd567e6e8e21e4d1a9709
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 26 20:20:28 2012 -0400

    volscan: option to ignore dir vnode magic
    
    Option to ignore directory vnode magic when looking
    up the path names. Print which vnode failed when
    doing the checks.
    
    Change-Id: Id4b74ee9f139305025b849a007a4534b8ed04dbf
    Reviewed-on: http://gerrit.openafs.org/6979
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ed8b38d1d0f2e74ff7280c09afbc6fd4d2df1b23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 11 11:59:17 2012 -0400

    Windows: missing brace in RDR_CleanupFileEntry
    
    Fix 46d76d8821f4c8476499757d509ce1a6bab764b1
    
    Change-Id: I6c6cf5e1dec431544963f6a4c283e2ae0d52a7d9
    Reviewed-on: http://gerrit.openafs.org/7189
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit df522b588396aaac3ec662b516ef7287f3b7c47b
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.
    
    Change-Id: Ibfaa1bfb27d190c5fec6fc673d88df366268e302
    Reviewed-on: http://gerrit.openafs.org/6946
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0594fc80b48152b4b03edda7e19133b59fc0670e
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.
    
    Change-Id: I5077911d8473d44ad9ba1d17d3b6deec3a12ba39
    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>

commit 4c8a3cd789a8495d0c0b3f8ff1a7ebb2a20f5336
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Feb 14 21:58:09 2012 -0500

    libafs: dont handle outstatus on write error
    
    if a write errored, we can't trust the OutStatus we got. don't.
    
    Change-Id: I74934c32426c6f25aace06f6ee59c1c1b547af90
    Reviewed-on: http://gerrit.openafs.org/6714
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7a650025c5387db483b1c061cc78c9e9c528d582
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Feb 29 09:40:14 2012 -0500

    Build: link libaudit before util
    
    libaudit depends on util symbols, so link it first to avoid
    unresolved symbols.  Include libaudit in the list of libs
    instead of making it a special case.
    
    Change-Id: Ide6d5f7e3ce8fd76b504088dcae3110872a87092
    Reviewed-on: http://gerrit.openafs.org/6847
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ef6ae1e7eda56e1d6ff7b9ade25b290c855e5780
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 3 10:05:01 2012 -0500

    viced: fix log message for MapName_r
    
    Do not log a code of zero if the name plus instance length exceeds
    the max pr name buffer.
    
    Change-Id: I8b8f970213c0beb35a728bcc2158796f84120a3b
    Reviewed-on: http://gerrit.openafs.org/6861
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit bc770a5007ae16aa5477bf1748f3e0666f665781
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 10 16:07:37 2012 -0400

    doc: distributed files are under dest
    
    Add the dest path component in the quick start guide instructions for
    copying files from a binary OpenAFS distribution file.
    
    Change-Id: I5c39ac0426ef2eab89ae5d3df260628e949dc21e
    Reviewed-on: http://gerrit.openafs.org/7187
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fbe6f0f4ad983389b77309be49af658f6c0dfeb3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 13 07:17:27 2011 +0100

    afsd: Move to newer cmd syntax
    
    Move afsd over to using the newer cmd functions, and avoid using
    direct array access, and fixed offsets.
    
    Change-Id: I6e09823d764cbe6109c9a72700239d814b91db0c
    Reviewed-on: http://gerrit.openafs.org/7137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 46d76d8821f4c8476499757d509ce1a6bab764b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 11 00:29:03 2012 -0400

    Windows: Do not delete in CleanupFile if error
    
    If an error was detected when processing RDR_CleanupFileEntry()
    do not perform the file deletion.  Just return the error as
    attempting the deletion could result in an exception.
    
    Change-Id: I57b17a15d1bdda4d0890dbe59f9e2432d465250f
    Reviewed-on: http://gerrit.openafs.org/7186
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f0b039fc4761bb0151c7ee69110926ef16e264c7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 9 15:49:50 2012 -0400

    libafs: log error code when marking server down
    
    Log the error code when marking the server down due
    to server/networks issues.
    
    Change-Id: Ib3d57562642ca564dcfeaa775de66f54d08f23af
    Reviewed-on: http://gerrit.openafs.org/7138
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3720f6b646857cca523659519f6fd4441e41dc7a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 16:21:52 2011 +0100

    Rework the ugen_* interface
    
    Remodel the ugen_* ubik initialisation interface so that more complex
    sets of security flags can be passed through it. A number of new
    functions are provided, all of which take the AFSCONF_* security flags
    defined in libauth:
    
    *) ugen_ClientInitCell is used to initialise a ubik client structure
       when the caller already has afsconf_dir and afsconf_cell
       structures for the cell being contacted
    *) ugen_ClientInitServer is used to initialise a client which will
       contact a specific server within a given cell, rather than
       selecting one from the pool
    *) ugen_ClientInitFlags is used to initialise a client given a
       cellname, and a path to a configuration directory. It is is
       closest to the legacy ugen_ClientInit function.
    
    All of the in tree callers are updated to use this new interface
    
    Change-Id: I6a438aa70d94114c8b6626fa1396b7580ab07c07
    Reviewed-on: http://gerrit.openafs.org/7131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5dd997762897e290083a96a2179afacc4caa2fbd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 22 10:03:43 2012 -0500

    viced: Make Update_TargetVnodeStatus usable by replication code
    
    Add a remote flag, skip rights related code for the remote case.
    
    This will need to be revisited later; in the case that what ends
    up on disk is slightly different than the InStatus passed in, the
    changes should be preserved to pass to the replicas.
    
    Change-Id: I596698ba00174efbdc6a170a24f86ea88554f9af
    Reviewed-on: http://gerrit.openafs.org/6675
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 37fc2dfbb9e3a8a8ecb022febae7ccd04d7340a4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 22 09:34:28 2012 -0500

    viced: Make GetVolumePackageWithCall usable by replication code
    
    Add a remote flag to GetVolumePackageWithCall to make it usable for
    remote replication RPCs.  For the remote case the checks related
    to access rights are skipped.
    
    Change-Id: I81db0bb1ae90c5f98cf4e59d9ba28466b312c763
    Reviewed-on: http://gerrit.openafs.org/6673
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 74e5f32aaca5313f153f13c7ce9442527b758a0a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 21 14:42:01 2012 -0500

    vol: Allow VAllocVnode of specific vnodes
    
    Add parameters to VAllocVnode to allow the caller to specifiy the
    vnode and unique numbers to use.  This will be used by the RW
    replication code to keep vnode numbers in sync between the master
    volume and the replicas.
    
    Adapted from code by Vishal Powar and Derrick Brashear.
    
    Change-Id: Ibaf79aad2b3e7a52802f5e01f7e4c7730c3f5090
    Reviewed-on: http://gerrit.openafs.org/6672
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 46474374e1914fb556d38f09f50cdbbaeaa1aef0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 10 10:17:51 2012 -0400

    Windows: AFSValidateProcessEntry, ullProcessId 64-bit
    
    In AFSValidateProcessEntry(), ullProcessId is 64-bit and must be
    printed as an %I64X in AFSDbgLogMsg() formats.
    
    Change-Id: I0e1cd45383c4512eb271c294674bbfe3f0f39bef
    Reviewed-on: http://gerrit.openafs.org/7172
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7bab9649aa9d4fe467d2f0fa6df2747a97f35950
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 9 23:13:28 2012 +0100

    roken: Add rk_getprogname to Windows mapfile
    
    Add the rk_getprogname symbol to the Windows mapfile so it can be
    used by roken consumers.
    
    Change-Id: I77c7db3fcd9136d36e2b17b6250bfcfa6327b0e5
    Reviewed-on: http://gerrit.openafs.org/7139
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit bb16c6f38f30c59be1849e3b30cad6928530066b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 5 16:00:32 2012 -0400

    rxkad: Remove DES include from header file
    
    Remove the hcrypto/des.h include directory from the rxkad_prototypes
    header file. We ship rxkad_prototypes.h, but we don't ship the hcrypto
    headers. Having an installed header depend upon an uninstalled one is
    a pain when building out-of-tree code like perl-AFS.
    
    Change-Id: Idac93ba834c84f6f9e2e49361f88d0e357a328d6
    Reviewed-on: http://gerrit.openafs.org/7068
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1e858293d3aea047953edef626b8b3e36feca814
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 5 15:58:11 2012 -0400

    rxkad: Move conversion functions to own file
    
    Move the various key conversion functions into thir own header file,
    rather than rxkad_prototypes.h. This means we can isolate the dependency
    on the hcrypto DES headers (which we don't install)
    
    Change-Id: I8efcbf97b6794d9573f35eec9d4a32e9ff4cf352
    Reviewed-on: http://gerrit.openafs.org/7067
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 10a7428b79e44b203a132e70cf929a6ee9b18650
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 6 23:56:30 2012 +0100

    shlibafsauthent: Add a load more objects
    
    The perl-AFS module needs to link against a pthreaded, PIC, library
    that contains all of the routines that it provides perl shims for.
    At the moment, libafsrpc_pic and libafsauthent_pic are the only such
    libraries that OpenAFS provides.
    
    Add all of the necessary objects to libafsauthent_pic such that the
    2.6.2 version of perl-AFS can build with a minimal set of patches.
    Minimise the damage by only making these available through the static
    version of the libafsauthent_pic library.
    
    Change-Id: I5a2aa5f5fbcfbe15aa7a23c3ab57b34b979ab2f3
    Reviewed-on: http://gerrit.openafs.org/7070
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c3dd14759d592463eb29a1e15dc6648bfe25e583
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 6 23:54:10 2012 +0100

    opr: Install the queue.h header
    
    The opr queue definition is required by a structure in the installed
    cellconfig.h header. So that header can still be used by out-of-tree
    applications, install the queue.h header too.
    
    Change-Id: Ifaf49d59df24275ff50c215de6a0f40fc2bd2230
    Reviewed-on: http://gerrit.openafs.org/7069
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7051672c7118b44e40a59b645f48428aabc9ee8a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 10 01:05:14 2012 -0400

    Windows: report error on panic
    
    If afsd_notifier() is called the service is going to exit(1).
    Report to the service manager that the service exited with an
    error as well.
    
    Change-Id: I88bb2f315016ab17a526d1eab162ccde8beb0dd0
    Reviewed-on: http://gerrit.openafs.org/7148
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 846cef3685edbdba9f186f595daecb5241551ec1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 9 23:24:07 2012 -0400

    Windows: correct afsredir log entries
    
    AFSVerifyEntry != AFSValidateEntry
    
    Change-Id: I5b138e121f66724afddde9eadce4c11009ec6ec4
    Reviewed-on: http://gerrit.openafs.org/7147
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 779c27bf1daaf01c79c0bb7c687781151abb4383
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 9 18:41:13 2012 -0400

    Windows: Refactor AFSValidateEntry
    
    Refactor AFSValidateEntry to avoid obtaining the
    ObjectInformation->Fcb->Resource when it isn't necessary.
    This will avoid contention and improve performance.
    
    The only time that the Fcb->Resource is required is when
    the object requires verification, the object is a FILE,
    and the object was successfully evaluated.
    
    Even with this reorganization there is a small window
    of opportunity for a deadlock to occur if a CcPurgeCacheSection()
    which is called with the Fcb->Resource held triggers a filter
    driver to issue a CreateFile and in between the two operations
    an invalidate object is received.
    
    Change-Id: Iddf64f030c6a608ac29a10b7a9a7e130ae6c4249
    Reviewed-on: http://gerrit.openafs.org/7143
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d1e59d2d82787d19c81e60db68c76f45560b8465
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Sep 9 07:46:01 2011 +0100

    Generalise the new background daemon code
    
    Move the new background daemon code out from under the AFS_DARWIN80_ENV
    ifdef into its own AFS_NEW_BKG define. This lets us use it for things
    other than the Darwin mv helper, on other platforms.
    
    Based on code originally written by Derrick Brashear
    
    Change-Id: Iba9431f5dc4bbbe10222b25a595cdd1ea2f592f4
    Reviewed-on: http://gerrit.openafs.org/7136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 46bdb318c45b4e93a5b297e6fdee2b2acbed4b55
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 9 17:16:42 2012 -0500

    vos: Do not try to remove backup volume id 0
    
    Currently we always try to delete a BK volume if we're deleting the
    RW. If the BK volume id is 0, this is never going to do anything, so
    don't try to delete it.
    
    Change-Id: I0c003040cface9999944d61637077fce1736445e
    Reviewed-on: http://gerrit.openafs.org/7140
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 5e7e3724fc354a17ebc05814d8693a50d859bd84
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 10 00:35:43 2012 +0100

    Import the expand_path.c file from Heimdal
    
    Import expand_path.c from Heimdal so that it can be used for path
    parsing with the Windows version of the INI file parser.
    
    Change-Id: I764ea10edb8bb63bd45216c912c0f67597c4467a
    Reviewed-on: http://gerrit.openafs.org/7144
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4545abb09686f2af91c937548af281587a61fe55
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Tue Apr 10 00:37:07 2012 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408)
    
    New files are:
            krb5/expand_path.c
    
    Change-Id: Ib4093b72257f9a0d1a49edb0fe6779908a78cd83
    Reviewed-on: http://gerrit.openafs.org/7145
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3109a66fb2df8e3f2878938c5b62222e8212c0f1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 1 12:27:04 2012 -0400

    rx: Remove packet burst elements from peer struct
    
    The peer structure contains a number of elements left over from an
    earlier, burst based, congestion control strategy. As OpenAFS has
    never implemented this strategy, just remove these elements from
    the structure, and store 0 values for these elements in the debug
    packets.
    
    Change-Id: Ib50a8ac587890efb483d3c2640ead615d170db34
    Reviewed-on: http://gerrit.openafs.org/7006
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit aa6f52584ea1aea170da578328cc35e567a5b0b4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Nov 25 20:51:40 2011 +0000

    rx: Remove the unused packet skew code
    
    We don't (and haven't, since the release of OpenAFS) use the packet
    skew calculations for anything. However, maintaining them requires
    taking locks in some critical parts of the transmission code path.
    For both speed, and maintainability, reasons remove the skew code
    from the tree - it's in git if we ever want to go back to it.
    
    Change-Id: Idc6dc80fb06ca959ad02a85f2c536a94ca3d5c02
    Reviewed-on: http://gerrit.openafs.org/7004
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 84d09a831afcfa8d0971dcbe4f1fc7823cec9e10
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Dec 6 14:06:05 2011 +0000

    rx: Hide internal packet functions
    
    Hide functions in rx_packet.c which are only used by that file by
    making them static.
    
    Change-Id: I22d4be2130cc4a46183254d3ba36c61644891852
    Reviewed-on: http://gerrit.openafs.org/7003
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9862ac0dbb72d8f5f9f894e567261e52354e0b15
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Dec 5 18:56:03 2011 +0000

    rx: Hide struct rx_peer from the rest of the tree
    
    The peer structure is an internal RX structure, so it shouldn't
    be contained in public header files, or used by non-rx modules.
    
    Hide the structure definition in rx_peer.h, and convert the
    rx_HostOf and rx_PortOf accessors from macros into functions. This
    will also help with adding support for non-IPv4 addresses to RX.
    
    Change-Id: I790fa3193bfa629a2872fc5395d0146e76a2de9e
    Reviewed-on: http://gerrit.openafs.org/7002
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f971a36968bdcb224ff3ffb663929d4febcab5d5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Apr 9 19:00:36 2012 -0400

    tests: remove unused variable in tests/util/ktime-t.c
    
    errors is set but not used - remove it.
    
    Change-Id: I00c99ac8b9c61ab2667aecbdf0fd04401d018bf8
    Reviewed-on: http://gerrit.openafs.org/7142
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cc06d00b215b4aebfdd05ad205c088e3dc1ba666
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 25 21:30:02 2011 +0100

    Move configuration parsing into libcmd
    
    Rework the API for directly parsing configuration files and move it
    out of util/ and into libcmd, where we can actually make use of it.
    
    This is a raw API - it provides direct access to the parser. The
    eventual intent is that this will predominantly be contained within
    libcmd itself, which will then wrap this with the more general purpose
    Option functions
    
    Change-Id: I9f4a9c373c4123023120f69e595068ead6160507
    Reviewed-on: http://gerrit.openafs.org/7132
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e4430d9d487b1b93717886eeb2621bbe50899838
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 1 15:40:24 2012 -0400

    rxperf: Build again
    
    Fix rxperf so that it builds again
    
    Change-Id: I9747bc1b3fedb96d5bc317acde69f35b1dc6efb8
    Reviewed-on: http://gerrit.openafs.org/7011
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 91303604f69a317b12e22b02f74a572573c8f3ca
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 1 15:15:35 2012 -0400

    roken: Prefix getopt and getprogname
    
    The roken symbols for getopt and getprogname are now prefixed with
    'rk_'. Fix the map file so it lists the correct symbols.
    
    Change-Id: I61adba7d5bec3e86b8e29d1eefda23df4ef91988
    Reviewed-on: http://gerrit.openafs.org/7010
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 80ec5db21d6395c29d5433541a2d9d63c975782f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 1 15:09:57 2012 -0400

    all needs to be first rule in the Makefile
    
    Just running 'make' in a subdirectory will fire the first rule in that
    directory's Makefile. When the buildtools rules were added to roken and
    crypto, they were put at the start of the file, meaning that they fire
    in perference to 'all'
    
    Swap the ordering back so that 'make' does what would be expected
    
    Change-Id: I598a183f42c150a5da724b7403e91f89f74a0109
    Reviewed-on: http://gerrit.openafs.org/7009
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 46c5aabfc6f5af2875e8b20252a17955ad89dd38
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 5 15:50:35 2012 -0400

    bos: Change to using char casts for ka functions
    
    The ka_IsZero and ka_PrintBytes function just use char strings. Cast
    directly, rather than going via a helper functions to simplify this
    code.
    
    The helper functions add complexity, and additional dependencies which
    cause problems with some uses of this code.
    
    Change-Id: I831ff0f8fbecec602d8c2b9112675938facfb06b
    Reviewed-on: http://gerrit.openafs.org/7066
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 00992c66972aeab96cca9781b02a780ab49dce23
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 5 15:43:23 2012 -0400

    shlibafsrpc: Add additional XDR functions
    
    Export the afs_xdr_pointer and afs_xdr_u_char functions so that
    shlibafsauthent can make use of them.
    
    Change-Id: I16cf3f69904bffb3a034fd4052117845c1067a2c
    Reviewed-on: http://gerrit.openafs.org/7065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 578cdc35e645489823f322b09632fca2fd7b2c31
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 9 07:18:32 2012 -0400

    rx: remove peer burst elements from rx/test
    
    Subsequent patchsets will turn rx_peer into an opaque object
    and remove the burst elements entirely from the tree.  For
    now remove them from rx/test
    
    Change-Id: I728f7b74497701c0ef965009dff5550e1b153696
    Reviewed-on: http://gerrit.openafs.org/7130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 01a1b79288c532f99e2da52aa13262d4c0fc1f79
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Dec 7 18:30:00 2011 +0000

    rx: rxi_AckAll isn't an event handler
    
    rxi_AckAll is coded as if it is an event handler, yet the only
    call site is a direct call from rx.c. So, rework the function to
    remove all of the event handling code, change its arguments to match,
    and make it static.
    
    Change-Id: I947c02bf91bf5a3f42d2a389f9393e68f3ccee4b
    Reviewed-on: http://gerrit.openafs.org/6999
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a20c4893670df80c15585f68d244f2f82bfa0758
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Dec 7 19:14:03 2011 +0000

    rx: Tidy up function scope in rx.c
    
    Rework headers to more clearly indicate which functions in rx.c
    are considered part of the 'public' rx interface, and which are for
    internal use only.
    
    Move internal functions either to be static in rx.c
    (if they are used only within that file), or defined in
    rx_internal.h.
    
    Remove entirely the unused function rxi_NatKeepAliveOn()
    
    Change-Id: I878374dc137f4c7e204de4b2d9ca17fa1c5db628
    Reviewed-on: http://gerrit.openafs.org/6998
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 084c2c1687fda07c768837e8fd7cc0904818f977
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Nov 14 10:28:38 2011 +0000

    rx: Remove trailing else from RX_KERNEL_TRACE
    
    The RX_KERNEL_TRACE ifdefs all contain a trailing else, which makes
    no logicial sense given the rest of the code. The only effect of this
    trailing else is to cause packets to not be sent when tracing is
    enabled, which probably isn't the desired behaviour.
    
    Change-Id: I2175b1d8270cd096361f349a467245b49efabf6b
    Reviewed-on: http://gerrit.openafs.org/7001
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 49ddcc3b3e9645255db394af0256ea374d06766e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 8 18:31:31 2012 -0400

    kas: Don't require config for help
    
    Modify the call to ka_Init in kas, so that a fully configured client
    isn't required in order to generate help output. In particular, permit
    kas -help, kas -version and kas apropos to run without initialising the
    ka library.
    
    This fixes a problem with running 'make check' on systems that don't
    have an AFS client installed (or where the AFS client is installed in
    a different location)
    
    Change-Id: I5edd10a319ed6aee163723f99c4f37183f572b2f
    Reviewed-on: http://gerrit.openafs.org/7129
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9037358b6a49d45ba8170a1d71de8b7c678d4f0f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 7 10:11:14 2012 -0400

    tools: return error code in xfclose
    
    The code variable takes the return code from do_close, but
    is then unused.  Return its value instead of systematically
    returning 0, avoiding an unused variable warning.
    
    Change-Id: I831b5b81721400ee08106d2ecdbf2b7b8e126348
    Reviewed-on: http://gerrit.openafs.org/7123
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>

commit 2427cb000cb70cfca5b2a61d4f5f9ca54488fc55
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 25 18:29:27 2011 +0100

    rx: Remove unused ACKHACK macro
    
    rx_globals.h had a macro called ACKHACK which at one point looks like
    it was used to determine whether to send an ACK or not. We now have a
    more sophisticate mechanism for determining this, and the old macro
    doesn't seem to have been used in a long time. So, remove it to avoid
    confusion.
    
    Change-Id: I9b17cdca69c903c7a952489791088f2899ac7e60
    Reviewed-on: http://gerrit.openafs.org/7000
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2c0ed7ace6e10cb7fa053f0eb6d2a1fa45f76577
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 8 18:31:25 2012 -0400

    tests: waitpid requires sys/wait.h
    
    Calling waitpid requires the sys/wait.h header to be included to
    guarantee that the prototype is enabled.
    
    Change-Id: I2d845236347d1be46cd750c2e766b305a64cde53
    Reviewed-on: http://gerrit.openafs.org/7128
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 02f470e99d5853808bca532ff953c2bbc0b8176c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 8 18:31:15 2012 -0400

    tests: rx needs roken
    
    On Linux, the RX library has a dependency on libroken for the rk_socket
    function. Add this dependency to the RX tests.
    
    Change-Id: I306e846524232bc136cd969ab1b8664d1c570e2d
    Reviewed-on: http://gerrit.openafs.org/7127
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bdca02dfe7df3800a3e5f3a9b10ca1d223779ef9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 15:27:53 2012 -0400

    cmd: Don't leak memory when constructing help string
    
    It's not critical, because we'll be exiting soon afterwards, but just
    to be nice, don't leak the name of every command option whilst we're
    constructing the help string.
    
    Caught by clang-analyzer
    
    Change-Id: I87fdb2030c6a7c5ad810f2a06820c08cbe2fb18e
    Reviewed-on: http://gerrit.openafs.org/7107
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4dc40bade411ddc1a0cc85ee9e242307ea2c96b2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 15:23:22 2012 -0400

    ktime: Don't leak token list
    
    ktime_ParsePeriodic generates a malloc'd token list when it parses
    the time string passed to it. Make sure that we free this list before
    exiting from the function.
    
    Change-Id: I6edacc6504aeec06ede5b5ae36c22f69b0d6cea0
    Reviewed-on: http://gerrit.openafs.org/7106
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 63f7b0a2051b1c5cc20208b20b73c587f3d74b4f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 15:16:16 2012 -0400

    budb: Don't leak memory
    
    Don't leak the malloc'd path variable everytime we call truncateDatabase
    
    Caught by clang-analyzer
    
    Change-Id: I583d81b136113820dab00a6eb35ca8e1aeec2cd1
    Reviewed-on: http://gerrit.openafs.org/7105
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 39bdcebad71cf4c7636e7c1007f228dbd36510cb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 15:13:49 2012 -0400

    vol-dump: Don't leak memory
    
    Don't leak a Volume structure everytime we call HandleVolume
    
    Caught by clang-analyzer
    
    Change-Id: Id8cf79dd2178b8647d88f0765ec4ad9d327a23ae
    Reviewed-on: http://gerrit.openafs.org/7104
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1b4d2b53ccb4bece0c5be78fa87ba085f070bdf5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 15:11:10 2012 -0400

    vol-dump: Make static things static
    
    vol-dump is a self contained object. Make everything in it static to
    make clear that these functions are not being used by other objects in
    the tree.
    
    Change-Id: I0345c884167ed322fdf7a6e83b77b0ae261b9d8f
    Reviewed-on: http://gerrit.openafs.org/7103
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit be8d8b7c78eb54f460489084650ba13f3946d7a2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:59:47 2012 -0400

    auth: Don't leak key on file parse error
    
    If we fail for any reason whilst parsing the keyfile from disk, don't
    leak the key structure which we allocated to store the results of the
    parse.
    
    Change-Id: I21a27723f96af9428465134cfb975c83e10da535
    Reviewed-on: http://gerrit.openafs.org/7102
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8f39150b2718d5d758ba9d02bf3becd9c8947120
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:52:58 2012 -0400

    opr: Flag assertion error handles as noreturn
    
    Flag both of our assertion error handlers as being AFS_NORETURN, so
    that static analysers can truncate their decision trees, and avoid
    false positives, based on assertion statements.
    
    Change-Id: I511c9c19a714cd3eaa5a886bf9561f577244360e
    Reviewed-on: http://gerrit.openafs.org/7101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d55a5d70802a1907ef7cf9c9d20646cb69e89989
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:42:39 2012 -0400

    pts: Don't malloc(0) when there's nothing to do
    
    If GetNameOrId is called with no work to do, then don't attempt to
    malloc a load of 0 length strings. Instead just return an empty array
    to the caller.
    
    Change-Id: I245cfde71d65b8a3b6df4217b90dad81e9e60a58
    Reviewed-on: http://gerrit.openafs.org/7100
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8d497e575c85979c7107a0a1efd6bc75ac1d391f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:37:04 2012 -0400

    bucoord: Don't malloc(0) if there's no work to do
    
    If there's no work to do, then don't attempt to malloc 0 bytes, and
    just return success to the user
    
    Change-Id: I060852a247acb8309c75f3670577561b5a9af591
    Reviewed-on: http://gerrit.openafs.org/7099
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 54ca22a905c65e0544ce17c74fd59073f46b8c9f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:33:33 2012 -0400

    auth: Handle empty lists of keys
    
    Handle the case where a list of keys may be empty - don't attempt
    to calloc a 0 length array, and have Put handle the case where the
    array being freed has no elements.
    
    Caught by clang-analyzer
    
    Change-Id: I665035cb00a8da411710a71a17ae66545702127f
    Reviewed-on: http://gerrit.openafs.org/7098
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5815c5ffb03e8afa0d36eef7da865e564d568296
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 14:23:18 2012 -0400

    Unix CM: We're disconnected if RW disconnected too
    
    At the moment, the Unix CM doesn't support entering a purely RO
    disconnected mode (the historical AFS_IS_DISCONNECTED mode). If we
    go disconnected, or reconnect we always toggle RW discon at the same
    time as we toggle RO. Arguably, the RO disconnected mode should just
    be removed, as it is now superceded.
    
    For the moment, make it clear to the compiler that RW disconnected
    implies RO disconnected, so that static analysis can make more sensible
    decisions about code paths.
    
    Change-Id: I7e2d04d2cf67740c6b6285950874c6a4eaeb0537
    Reviewed-on: http://gerrit.openafs.org/7097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit de94f97649cbf36a5d8ae805a0d211573fcb11be
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 12:20:25 2012 -0400

    auth: Make sure we get AF_INET addresses from DNS
    
    The routines which do AFSDB and SRV lookups copy the results of
    gethostbyname directly into an afs_int32, and use the size of the
    result to limit the copy. If, for any reason, they get a result that
    isn't an int, then they will overflow this value.
    
    Check that the result we get from gethostbyname is in the INET
    address family, and also limit the size of the copy by the size of the
    destination, rather than that of the source.
    
    Caught by clang-analyzer
    
    Change-Id: Icf1426e090bc1ed382212d5de6c291d0816fb2c9
    Reviewed-on: http://gerrit.openafs.org/7096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 20265ddd78dbe4a7777b17912f2c3f00dbf2a1db
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 11:59:16 2012 -0400

    vos: Initialise total counters
    
    When VolumeStats_int calls DisplayFormat, it isn't interested in
    the total counters it provides. So, it doesn't both initialising the
    variables it passes in to hold these counters - garbage in, garbage out.
    
    However, this shows up as an uninitialises variable warning, so set them
    all to 0 to keep clang happy.
    
    Caught by clang-analyzer
    
    Change-Id: Ia3e1eadde6eac6fa924a4ff9ad566c5c50f9ff40
    Reviewed-on: http://gerrit.openafs.org/7095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6c1a7e68c4859573f636dec9b7e4b2ac1f5bb8a4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 11:51:19 2012 -0400

    vol: Don't return an uninited val from LookupNode
    
    If the SalvageHashTable for a particular node is empty, then LookupNode
    can return an uninitialised value to the caller. It isn't clear from a
    broader code inspection whether LookupNode can ever be called with an
    empty SalvageHashTable, but returning a NULL vsp does seem like the
    correct thing to do in this situation.
    
    Caught by clang-analyzer
    
    Change-Id: Ibee79e6acf7d3bdbc2995ef924338ade4de77d08
    Reviewed-on: http://gerrit.openafs.org/7094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9cbc3b77db818bd65a8ec3c5b804178449c2bb67
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 07:01:46 2012 -0400

    fs: Fix bad frees
    
    On an error GetLastComponent was freeing completely the wrong thing.
    Fix this so it frees the memory it has allocated, and not some random
    stack pointer.
    
    Caught by clang-analyzer
    
    Change-Id: I8b65f7ab36647b876fae5cbe59d82fd8d38ce0b7
    Reviewed-on: http://gerrit.openafs.org/7093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9a007a9df43645b63a8b642029b4931928f9268b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 31 06:58:01 2012 -0400

    cmd: Use strl* rather than strn* to avoid overrun
    
    The NName function was using strncat(a, b, sizeof(a)), which doesn't
    work as you would expect if 'a' already contains data. To avoid the
    potential buffer overflow, switch to just using strlcat.
    
    Caught by clang-analyzer
    
    Change-Id: Idd2c630c07a93b27e8d629339589aa6686290eae
    Reviewed-on: http://gerrit.openafs.org/7092
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b5ebfec329ef428e242c7458ccbfc807b25f1d63
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 20:36:56 2012 +0100

    autoconf: One CC to rule them all
    
    (well, in userspace at least)
    
    We have 3 different ways of specifying the C compiler - CC, CCOBJ and
    MT_CC. On most platforms these are set to identical values by the
    configure script. However, this causes problems for a user who wants
    to override the default complier choice by doing
        make CC=my-favorite-compiler
    as this doesn't catch all of the ways we specify the compiler [1]
    
    So, change the specification of CCOBJ and MT_CC so that, by default,
    they reference CC, rather than copying its value. This means that on
    platforms where CC is the appropriate compiler to use in all situations,
    a user need only change CC to modify their compiler choice.
    
    [1] - it might be argued that the correct place to substitue the
          compiler is in configure's environment, which does currently work.
          However, this doesn't work with special things, like static
          analysers, that can build the source tree, but not the configure
          tests.
    
    Change-Id: Ib95e2ac00b36f33c3cb2491feacd6c898f8f61dc
    Reviewed-on: http://gerrit.openafs.org/7091
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3198cef8ccf0d9cb9a7479c0b973e604e21e62fc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:41:17 2012 +0100

    afs: Handle reading past the end of a file
    
    ... except that this change doesn't actually handle this, it just
    stops clang from throwing an error about the bogus code that's already
    in there. This needs fixed properly ...
    
    Change-Id: Ifbf190a86037fced8104ed0843dd1e7aa0b999a7
    Reviewed-on: http://gerrit.openafs.org/7090
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f1842bcb87c84e8862ca521f491215e42ce1ee2a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:40:30 2012 +0100

    xdr: Len can never be negative
    
    The len parameter to xdr_len is unsigned, so can never be negative.
    Don't bother testing to see if it is negative, so that clang likes us
    again.
    
    Change-Id: Iad5f8b1b2d20ec55846bc1ef7b7499a30956e17f
    Reviewed-on: http://gerrit.openafs.org/7089
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5e107724f3661254cfdb693ae2d4d1c5238eba7d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:39:51 2012 +0100

    rx: Remove needless braces
    
    Doing if ((a==b)) is unecessary. It's also potentially dangerous, as
    that's the syntax required to do assignment within an if statement.
    clang now issues warnings (errors in -Werror mode) when it encounters
    these.
    
    Remove pointless braces from the Unix CM to make clang happy.
    
    Change-Id: I031db80c3f85c0e4c4db365b1c36b5d4b4a7cb48
    Reviewed-on: http://gerrit.openafs.org/7088
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

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

    rx: Handle negative returns on packet reads
    
    rxi_RecvMsg returns an int, because it can return a negative value upon
    error. Don't store its return value as an unsigned int, because this may
    hide the potential errors.
    
    Modify the error handling loop so that errors get to where they are
    intended.
    
    Change-Id: I212e5881f83a2a95c177c23dbc2da2583155f1aa
    Reviewed-on: http://gerrit.openafs.org/7087
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4e68282e26b0c4569d25d076d54274f0da47a691
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:35:51 2012 +0100

    venus: Make clang happy with strlcpy use
    
    clang now expects that strlcpy will always be used to prevent overflow
    of the destination string, and gives a warning if the size parameter is
    based solely on the length of the source string.
    
    Modify the BreakUpPath function so that it takes the size of the
    destination string as an argument, and uses this to limit the amount of
    data pasted into it.
    
    Change-Id: I86f68dd2013ca8bc4c88ade78d27c4d416a9ae94
    Reviewed-on: http://gerrit.openafs.org/7086
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6d83b33324b68389d0cb8fee73f3bf3a06e9abe5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:34:53 2012 +0100

    viced: Remove pointless braces
    
    Doing if ((a==b)) is unecessary. It's also potentially dangerous, as
    that's the syntax required to do assignment within an if statement.
    clang now issues warnings (errors in -Werror mode) when it encounters
    these.
    
    Remove pointless braces from viced to make clang happy.
    
    Change-Id: Iee8c1d60cc2296fefd0e7f82127821dcefb931ec
    Reviewed-on: http://gerrit.openafs.org/7085
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 350b5d58779cc127b96497283c2d982e099b911c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:33:55 2012 +0100

    vlserver: unsigned values are always >0
    
    Maxvolidbump is defined as an unisgned int, and thus can never be less
    than 0. Remove the pointless check, as it just makes clang sad.
    
    Change-Id: I78a2c8f6fcaee17196e37183256e6935cdca183b
    Reviewed-on: http://gerrit.openafs.org/7084
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 408afc5690fc8ac3b6942983765ab36e63d2534d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:31:10 2012 +0100

    vol: Call memset with the correct size
    
    Call memset with the size of the structure we're initialising to 0,
    and not the size of the pointer to that structure.
    
    Caught by clang's new warnings.
    
    Change-Id: I8cded7bed4e289e9603778e06873f94fd3924aa8
    Reviewed-on: http://gerrit.openafs.org/7083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e202822b8efd7511f8652064cd8831c0a049dce6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Jan 5 10:51:06 2012 +0000

    rxgen: Tidy up server side freeing
    
    The way in which rxgen handles freeing of objects allocated by the RPC
    stub has evolved over the years. Originally, there appears to have been
    a "somefrees" parameter which was used to track whether objects required
    freeing or not. However, this parameter has fallen in to disuse, as
    support for typedefs and unions were added, and which parameters
    require freed is now tracked within the description structures
    themselves. So, get rid of somefrees, as it is now just confusing.
    
    The generated code to free a set of RPC arguments currently looks
    something like:
    
    fail:
            z_xdrs->x_op = XDR_FREE;
            if (!xdr_string(z_xdrs, &Name, AFSNAMEMAX)) goto fail1;
            if (!xdr_string(z_xdrs, &OfflineMsg, AFSOPAQUEMAX)) goto fail1;
            if (!xdr_string(z_xdrs, &Motd, AFSOPAQUEMAX)) goto fail1;
            if (rx_enable_stats) {
                rx_RecordCallStatistics(z_call, RXAFS_STATINDEX,
                    19, RXAFS_NO_OF_STAT_FUNCS, 0);
            }
    
            return z_result;
    fail1:
            if (rx_enable_stats) {
                rx_RecordCallStatistics(z_call, RXAFS_STATINDEX,
                    19, RXAFS_NO_OF_STAT_FUNCS, 0);
            }
    
            return RXGEN_SS_XDRFREE;
    
    Which isn't very efficient, or easy to modify. So, change the code
    generator to produce code that looks like:
    
    fail:
            z_xdrs->x_op = XDR_FREE;
            if ((!xdr_string(z_xdrs, &Name, AFSNAMEMAX))
                || (!xdr_string(z_xdrs, &OfflineMsg, AFSOPAQUEMAX))
                || (!xdr_string(z_xdrs, &Motd, AFSOPAQUEMAX)))
                    z_result = RXGEN_SS_XDRFREE;
    
            if (rx_enable_stats) {
                rx_RecordCallStatistics(z_call, RXAFS_STATINDEX,
                    19, RXAFS_NO_OF_STAT_FUNCS, 0);
            }
    
            return z_result;
    
    This does the same thing, but is easier to read and is more consistent
    with the way that we structure marshalling and unmarshalling.
    
    Change-Id: I8b56f320c05c5d4270daf409d57514cbe8d076f5
    Reviewed-on: http://gerrit.openafs.org/7005
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 709a6358e1d1f6cc0b025522e1e595c50bb2b733
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.
    
    Change-Id: Ic87e112f362ac6d23376fb0a263d021c29c0b06e
    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>

commit f26330904607c6c939c037587b473644deea669d
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Apr 8 12:10:58 2012 -0400

    DOC: Factored common text out of the vos_backup and vos_dump man pages
    
    Change-Id: I84bd722834297778ab2e719996b2f8528d8706d6
    Reviewed-on: http://gerrit.openafs.org/7126
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 58be19d792e6b8e93fbd49bc4ef04bbb8f4560ef
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:30:18 2012 +0100

    vol: Remove unneeded braces
    
    Doing if ((a==b)) is unecessary. It's also potentially dangerous, as
    that's the syntax required to do assignment within an if statement.
    clang now issues warnings (errors in -Werror mode) when it encounters
    these.
    
    Remove pointless braces from vol to make clang happy.
    
    Change-Id: I805c52fd76de4d028741ae4382b747917581d2f2
    Reviewed-on: http://gerrit.openafs.org/7082
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a0af50a9dcab6935ad7701b81e76cab750633615
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:27:30 2012 +0100

    vice & vol: Cast FDH_SYNC results to void
    
    FDH_SYNC is a macro which returns a result. This leads to clang
    complaining about an unused expression when the macro is expanded.
    Avoid this by just casting the macro result to (void) when we aren't
    interested in it.
    
    Change-Id: I99eaac7432211d6b0cab10c3e1af0c6d4e2092a8
    Reviewed-on: http://gerrit.openafs.org/7081
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 4d4e4dde7c0efcf238251b1ea1dc3933810062d0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:24:23 2012 +0100

    ptserver: Remove redundant braces
    
    Doing if ((a==b)) is unecessary. It's also potentially dangerous, as
    that's the syntax required to do assignment within an if statement.
    clang now issues warnings (errors in -Werror mode) when it encounters
    these.
    
    Remove pointless braces from ptserver to make clang happy.
    
    Change-Id: I1bf1698b1d12f8228e0456d3d2dff4439879cfba
    Reviewed-on: http://gerrit.openafs.org/7080
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 10a02e70c38c5ccb23f95f0990643230b9709ca5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:23:24 2012 +0100

    pam: Don't check if unsigned is < 0
    
    uid_t is unsigned, so checking to see if it is less than 0 is a bit
    redundant.
    
    Remove the checks to silence a warning from clang.
    
    Change-Id: I5ae429247d328b3320063b4c035f6e5bb101620b
    Reviewed-on: http://gerrit.openafs.org/7079
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0d2c2b454bc83f6b8d1b5d7294dcaccdaf96455c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:21:41 2012 +0100

    pam: Use &, not && for bitwise operations
    
    All of the LOG_MASK() checks are performing bitwise operations, and so
    should be using '&', not && (which will always be true, providing
    logmask is non-zero)
    
    Caught by clang's new error messages
    
    Change-Id: Idce9229b7351adc6c15279c94e1cc1e7fc45596e
    Reviewed-on: http://gerrit.openafs.org/7078
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit ca9fa87543df616b5bc2955090f6a8260da3efc1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 7 12:44:17 2012 +0100

    tools: Use native 64 bit integer
    
    Modify the tools directory to use a native 64 bit integer type, rather
    than rolling its own.
    
    Change-Id: Ib2545b43aa3bf34e8917a4ae7ae4ee3f4be6d1c0
    Reviewed-on: http://gerrit.openafs.org/7118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cc489b880c86d4e4e16dc9ca98c6dd3b1b93d47c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sat Apr 7 08:12:48 2012 -0400

    ubik: utst needs opr for assert in util
    
    add libopr after libafsutil so assert can be satisfied
    
    Change-Id: I77494dc529f21246ae84f6522a578b14a803b6a9
    Reviewed-on: http://gerrit.openafs.org/7116
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 35becabed870d4bfe49abaa499d99a3ffb0a2d31
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
    
    Change-Id: Ib465a978d08238d83c4c0a03813f5ec240f9bd9b
    Reviewed-on: http://gerrit.openafs.org/7108
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>

commit 12eb3e26a3149527997ca6039ebdeb7cafbf9012
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 7 13:26:25 2012 +0100

    tools: Add roken.h to afsdump
    
    On AIX, building afsdump currently produces the following warnings:
    
    "afsdump_scan.c", line 34.10: 1506-296 (S) #include file <sys/fcntl.h> not found.
    "afsdump_scan.c", line 275.32: 1506-045 (S) Undeclared identifier O_RDWR.
    "afsdump_scan.c", line 275.41: 1506-045 (S) Undeclared identifier O_CREAT.
    "afsdump_scan.c", line 275.51: 1506-045 (S) Undeclared identifier O_TRUNC.
    "afsdump_scan.c", line 305.29: 1506-045 (S) Undeclared identifier O_RDONLY.
    
    Rather than including more platform specific goo, just add a roken.h
    include to the various files to pull in the necessary headers.
    
    Change-Id: I46db92511c804cfc9b5d67b97cd3596480d306d6
    Reviewed-on: http://gerrit.openafs.org/7117
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 47545cb93d292a89d21c3d4f554584d9f00a9103
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 7 12:36:54 2012 +0100

    tools: Rename u_int64 to solve AIX problem
    
    AIX's system headers define u_int64. Rename our local 64 bit integer
    representation as dt_uint64 to avoid this collision.
    
    Change-Id: I997e3ff89df369a5f0643921a846a759bf8fa90b
    Reviewed-on: http://gerrit.openafs.org/7115
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

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

    libafscp: Use strdup, rather than rolling our own
    
       A = malloc(strlen(B)+ 1);
       memset(A, 0, strlen(B) + 1);
       strlcpy(A, B, strlen(B) + 1);
    can be more simply written as
       A = strdup(B);
    
    Doing so also avoids a warning from clang that strlcpy isn't checking
    for A overflowing.
    
    Change-Id: I0e21f86eda7bdc0ce869e651c5ceb23d7494e1e2
    Reviewed-on: http://gerrit.openafs.org/7077
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 34afb3e6b903fc1659b1c869fa2fb4226038e076
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
    
    Change-Id: Ia6c566534efae2f67f1b9bd22198d352238a987c
    Reviewed-on: http://gerrit.openafs.org/7076
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit b5f75c122875b4212eb1a885d09bfdd63f537a19
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:14:38 2012 +0100

    libadmin: read returns an ssize_t, not a size_t
    
    size_t is unsigned, and therefore can never be less than 0. Using it as
    a return code from read() means that we never catch read errors. read()
    is defined as returning ssize_t, so just use this to capture its return
    code.
    
    Caught by clang's new error messages
    
    Change-Id: Ibf61119dec2c64fd4b1e16e6ef02178e427116f0
    Reviewed-on: http://gerrit.openafs.org/7075
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 345656ec140f0156f2076629bdfc84940c02160b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 30 19:12:37 2012 +0100

    Unix CM: Purge needless brackets
    
    Doing if ((a==b)) is unecessary. It's also potentially dangerous, as
    that's the syntax required to do assignment within an if statement.
    clang now issues warnings (errors in -Werror mode) when it encounters
    these.
    
    Remove pointless braces from the Unix CM to make clang happy.
    
    Change-Id: I0f1558b42a487e1de722b77f8423500365a20eee
    Reviewed-on: http://gerrit.openafs.org/7074
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 1d8937b860509fcaabb041bc14faf7aa3023f3c9
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.
    
    Change-Id: Ic5adb63dcdc11e04c1e428c32e85f33a987fcf42
    Reviewed-on: http://gerrit.openafs.org/7073
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 2454e3d96af2be9f316a5c50199d34444defe4a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Aug 7 19:41:51 2011 +0100

    util: LogCommandLine has to have a command line
    
    Add an assert() to LogCommandLine to catch the case where it is
    called without a command line to log.
    
    Change-Id: Ia1be28b3a1d1d4e144626976f0f82b9675809c0a
    Reviewed-on: http://gerrit.openafs.org/7072
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 047ff7e9fd283f67ede2b873e3ad64ebbcf8d3ef
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 19:20:50 2010 +0100

    Salvager: Don't use garbage vnodes when Testing
    
    If Testing is true, and the salvage wants to repair the '.' file,
    then it will end up using a garbage value as the location of the
    repaired file (vnodeNumber gets set to fid.Vnode, but fid.Vnode is
    uninitialised)
    
    Fix this by making it behave as if no repair is necessary when running
    in Testing mode. It's unclear that this is entirely the correct answer,
    but it's definitely better than the current behaviour.
    
    Caught by clang-analyzer
    
    Change-Id: I1bddd889b3350cf31fe6384573e49e82159c7095
    Reviewed-on: http://gerrit.openafs.org/7071
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 8648a8c45b593dce8982deec41e3caf48e80dc0c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 6 22:30:41 2012 -0400

    Windows: Disk Full errors instead of Quota Exceeded
    
    The AFS Redirector does not support the Windows quota interface
    therefore return STATUS_DISK_FULL for all over quota conditions.
    
    Change-Id: Idd8755b26ab65e423330eeb6cb0e1806dd6306c9
    Reviewed-on: http://gerrit.openafs.org/7111
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 85fad9a69f0d3df73ec8285722e788fe49ae9459
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 6 22:18:59 2012 -0400

    Windows: AFSCheckCellName one level of indirection
    
    The parameter 'CellName' is a UNICODE_STRING *.  No need to
    take the pointer of it to pass to AFSDbgLogMsg().
    
    Change-Id: Id49f95058541a1a0ddaa0db9cb2c5ef0e5a32c64
    Reviewed-on: http://gerrit.openafs.org/7109
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c1ef200a76b334309b0202c70165374305beb8fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 07:38:47 2012 -0400

    Windows: CleanACLEnt requires cm_scache write locked
    
    Therefore, cm_FindACLCache() must be called with the cm_scache_t
    write-locked and therefore cm_HaveAccessRights() must obtain a
    write-lock and not a read-lock on 'aclScp'.
    
    Change-Id: I884cd5a70a793d893999bf750264e76d436f40a2
    Reviewed-on: http://gerrit.openafs.org/7049
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3db44bacd4b3ac3b9ed63bcf671b03f7f7eeb8af
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 18:10:07 2012 -0400

    Windows: Name Array store mount point and volume root
    
    Modify the Name Array processing to store both the mount point
    object and the volume root directory object in the array.  This
    is necessary for proper operation of
    AFSPopulateNameArrayFromRelatedArray when the DirectoryCB parameter
    is a mount point object.
    
    Modify AFSBackupEntry to remove two entries if a volume root
    directory entry is being removed.
    
    Remove AFSReplaceCurrentElement() as it is no longer used.
    
    Change-Id: Iaa0a4effc3448351d04bcdd72be9ee726ffe4e9a
    Reviewed-on: http://gerrit.openafs.org/7021
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 048b24ae2b8accb33bc92ab9fdc4cdda14bc425b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 07:10:17 2012 -0400

    Windows: do not call time() in a loop
    
    When checking for ACL Entry expiration, obtain the current time
    once per call to cm_FindACLCache() instead of once per ACL entry.
    
    Change-Id: I4da9e290a43315bd226f6c1b5dc12abe45ed19f5
    Reviewed-on: http://gerrit.openafs.org/7016
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7c5b8346b305911c981620fff70503008e9cf488
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 1 01:17:21 2012 -0400

    Windows: Add per object per user EACCES caching
    
    If a cache manager is told by a file server that the user does
    not have permission to fetch status for an object, the cache
    manager must avoid requesting a fetch status a second time for
    that object for the same user.  Doing so risks triggering the
    rx call abort throttling which can have a significant impact on
    end user usability of the Explorer Shell and other applications.
    
    The cache manager cannot make a decision on whether or not to
    issue an RXAFS_FetchStatus RPC based upon the type of the object
    because the type is unknown to the cache manager.  A file server
    will succeed a FetchStatus request when the parent directory ACL
    grants lookup permission if the object in question is the directory
    or is a symlink/mountpoint.  Only file objects require read/write
    permissions to obtain status information.
    
    The rx call abort throttling is broken is many ways and must be
    avoided.  Call aborts are tracked by call channel and occur whenever
    ten call aborts are issued on the same call channel in a row
    regardless of the amount of time that has elapsed.
    
    The EACCES cache works by storing EACCES events by the FID and User
    for which the event occurred, when it occurred and the FID of the
    parent directory.  By definition, the parent FID of a volume root
    directory is itself.
    
    Entries are removed from the cache under the following circumstances:
    
     1. When the parent FID's callback expires or is replaced.
    
     2. When the parent FID's cm_scache object is recycled.
    
     3. When the user's tokens expire or are replaced.
    
    Entries are not removed when the FID's cm_scache object is recycled.
    
    This patchset also implements correct behavior if the VLF_DFSFILESET
    flag is set on a volume.
    
    Change-Id: I69507601f9872c9544e52a1d5e01064fa42efb81
    Reviewed-on: http://gerrit.openafs.org/6996
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4c5819e22852afe4e83bdcd05268864ac1953a8c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 13:41:27 2012 -0400

    Windows: Fail recursive path evaluation with access denied
    
    Matching the behavior of the AFS SMB server, the afs redirector
    should return STATUS_ACCESS_DENIED if File ID recursion is detected
    in the Name Array for any given path.
    
    Change-Id: Ie846b42a228c634f1c38a8103332c7bb72803d1f
    Reviewed-on: http://gerrit.openafs.org/7018
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3d024372293a279cf3a6cbdfe75a384ec7c8b200
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 23:14:18 2012 -0400

    Windows: Check Avail Space on extending SetEndOfFile
    
    When cm_SetLength() is called with an extending file length,
    check the available free space in the volume to see if the
    new length will fit.  If not, return CM_ERROR_SPACE.
    
    This permits applications to discover that there is insufficient
    space prior to writing all of the data into the windows page
    cache at which point it will be too late.
    
    There is still the possibility of a race that can result in
    data loss if two applications are writing into the same volume
    at the same time and there is insufficient room.
    
    Change-Id: Ieef2c48f5b6edc8d101b6527af3a3f87fe55f6ca
    Reviewed-on: http://gerrit.openafs.org/7057
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 613f14727fbb404fb7fc1cac953dda46b671222e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 5 17:55:17 2012 -0500

    viced: Do not offline volume on successful IH_DEC
    
    If we fail to CoW a file due to ENOSPC, we try to IH_DEC the new file
    copy, and if IH_DEC fails, we take the volume offline for salvaging.
    But IH_DEC returns 0 on success, not on error. So take the salvaging
    path when we get non-zero.
    
    Change-Id: I4f0276fd4f077ca42087e92af8ba77b4e5347422
    Reviewed-on: http://gerrit.openafs.org/7054
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c19d1b875fab472dc7474c70529ab7fc2f7bf106
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 14:40:18 2012 -0400

    Windows: Redirector must query volume size when asked
    
    The volume size and free space cannot be obtained at volume
    initialization and then re-used for all FileFsSizeInformation
    and FileFsFullSizeInformation queries.  Doing so prevents Windows
    from being able to see changes in the available free space.
    
    The maximum size of the volume is not the size of the partition
    and the available space on the partition unless there is no quota
    applied to the volume.  If there is a quota, then the free space
    is the smaller of the available quota and the available partition
    space.
    
    Add a new ioctl request to permit the redirector to query the
    current Volume Size Information details.
    
    Change-Id: I3414f314d7780fd12489e0d278b71bcadc1a72e6
    Reviewed-on: http://gerrit.openafs.org/7052
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7881de8cc17924120e45e498add1adc63fd85e5c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 17:00:28 2012 -0400

    Windows: cm_AddACLCache lock ordering
    
    cm_aclLock must be obtained after cm_user_t mx and cm_cellLock.
    
    cm_user_t mx must be obtained before cm_cellLock.
    
    Change-Id: Iaf9fcf17c7ea50f2f5a83aefa759b7077ef28be6
    Reviewed-on: http://gerrit.openafs.org/7051
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ea82d1014372383334fd05c01db135da870d3928
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 17:16:15 2012 -0400

    rx: fix bad merge 95c38dff3740d7e24971ceb5875c06e7abfce102
    
    An extra
    
      CALL_HOLD(call, RX_CALL_REFCOUNT_BEGIN)
    
    was added in rx_NewCall().  Revert it.
    
    Change-Id: Ief1493ae9ec69ace5afd534a97fbf43f55872153
    Reviewed-on: http://gerrit.openafs.org/7050
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ba3ba96976f17cb5e83fae1e0a42fd6564b75719
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 5 00:11:11 2012 -0400

    Windows: AFSVerifyEntry purge file data on DV change
    
    If the data version change is detected during AFSVerifyEntry(),
    treat it the same as if the AFS_OBJECT_FLAGS_VERIFY_DATA flag
    had been previous set.  Purge the old data from the Windows
    file cache.  Be sure to set the new metadata after the purge
    so that if the file length was truncated the old data beyond
    the truncation point will still be purged.
    
    Change-Id: I80c33f303c6499f22955e9874b2f4c50d666a3cb
    Reviewed-on: http://gerrit.openafs.org/7048
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1a458e8e72455e480ccf4c0e3fd926dd9af9beea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 3 18:13:17 2012 -0500

    xstat_cm_test: Print all call info stats
    
    For CM xstat collecton 0 (function call statistics), there are many
    more stats given to us on the wire than we currently print. Change
    this so we print out everything in the afs_CMCallStats struct.
    
    Change-Id: I959571731fe8bf2a714e4cb3b47c52c39c516621
    Reviewed-on: http://gerrit.openafs.org/7047
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e6e8e26a3d7d97f2ad056251859f258fee509e7e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 8 11:49:53 2012 +0000

    rx: Get rid of some uneccessary temporary vars
    
    rx_ReadProc and rx_ReadProc32 originally used temporary variables
    (which were, at one time, declared as "register") to hand optimise
    a couple of routines. With the removal of register throughout our
    code, this is no longer helpful.
    
    Change-Id: Id21a931408489b985b726af620a687b838303a86
    Reviewed-on: http://gerrit.openafs.org/6997
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e53e189c3e99e28d31e0e1d1b52041aadcbd3ffa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 1 23:09:32 2012 -0400

    Windows: Redirector Dir Enumeration Bug
    
    An enumerated directory was not validated properly if
    AFSValidateEntry() was called with PurgeData == FALSE even
    when a data version change was detected.  Now it does.
    
    FIXES 130636
    
    Change-Id: Ic5d2fd62b40fb16652fc09d459caf43905566d37
    Reviewed-on: http://gerrit.openafs.org/7012
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2982f8c5b1182f855c439e54778fd0bc5bd9a2d2
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Apr 3 13:51:38 2012 -0400

    tools: move useful tools from test dir to tools dir
    
    move the dump utilities out of tests
    
    Change-Id: I21d0550e09fde3b1feb078bde4e9b4dc7ca3614e
    Reviewed-on: http://gerrit.openafs.org/7043
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 72f5d88acc752ff447a9e63327c135473326a34d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Mar 29 10:44:53 2012 -0400

    linux: update spec requirements
    
    don't require things which don't exist on el5. do require them
    in el6. require kernel-devel if building modules
    don't do anything involving the kernel if not building modules
    if we can figure out that we don't have 2.4 based on the version,
    avoiding the need to depend on kernel-devel just to build an srpm.
    
    Change-Id: I4bef6a00f50935b8efa057b42cd2147a22c0c1e6
    Reviewed-on: http://gerrit.openafs.org/6985
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 33903244ae2408dd86ee260d111e74dec0940abd
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Mar 30 16:15:52 2012 -0400

    linux: make mockbuild more reliable
    
    previously, a "cached" repo which was assumed to be of the same
    releasever and arch of the host was created in /var/tmp,
    which would screw up repoquery across a multiple-OS-build.
    
    well, you can tell repoquery what you really mean. so now we do.
    
    Change-Id: I5f477e4eeddb755fcd410a37a2b58e1334da2863
    Reviewed-on: http://gerrit.openafs.org/6991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a66268f69a2da0dc21957338eebe5c91b279ddda
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 2 16:16:37 2012 -0500

    SOLARIS: Correct misplaced osi_machdep.h #endif
    
    Commit 64778fd7bece52360482f9a51f19b34dac1d2678 removed some '#ifdef
    KERNEL' blocks, but for one block in SOLARIS/osi_machdep.h, the wrong
    trailing #endif was removed. This effectively makes the last part of
    the file Solaris 10+ only, and bypasses the header guard. On systems
    before Solaris 10, this causes us to lose the osi_procname definition,
    which eventually shows up as an undefined symbol.
    
    So, reinstate the original #endif, and remove the correct #endif
    instead.
    
    Change-Id: I28a78dabc2c65abeadc003b95600026c3cb68e37
    Reviewed-on: http://gerrit.openafs.org/7042
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e1eba145843996ce50eae79356a3f88b92a2ea86
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 3 09:09:42 2012 -0400

    Windows: cm_GetNewSCache must return NULL on failure
    
    cm_GetNewSCache was leaking a valid cm_scache_t pointer in some
    failure cases.  On failure, explicitly set the return value to
    NULL.
    
    Change-Id: I074b278f969224aa535abe256ac33a90d0f4e62d
    Reviewed-on: http://gerrit.openafs.org/7037
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e3a50ea0d314df4e8caf0e25c57042a5f2a6e008
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 12 09:31:43 2012 -0500

    Rx: give grow mtu its own call ref count type
    
    Change-Id: Ibf62408203d615ff87454a9ecb50c38b6db6d45a
    Reviewed-on: http://gerrit.openafs.org/6543
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 95c38dff3740d7e24971ceb5875c06e7abfce102
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 13:52:17 2012 -0500

    rx: conn->callNumber protected by conn_call_lock
    
    The conn->callNumber array should be protected by the conn_call_lock
    since the conn_call_lock is what protects the binding of calls to
    connection channels.
    
    Change-Id: I9f9b4e8f90d1e4ebbc4429af286358807784d84f
    Reviewed-on: http://gerrit.openafs.org/6629
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 33185db16aca40a3bdbcb66caf994924220b5012
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 20 01:50:01 2012 -0500

    Rx: rxi_FreeCall conn_call_lock vs call->lock deadlock
    
    The conn->conn_call_lock is held before call->lock in the lock
    hierarchy which is violated within rxi_FreeCall(). While the
    deadlock is rare, it is possible and has been experienced on
    both Windows and Linux.
    
    Change the signature of rxi_FreeCall to return 1 if it frees
    the call and 0 if it does not.
    
    Due to the lock hierarchy violation use MUTEX_TRYENTER()
    to attempt to obtain the conn->conn_call_lock.  If the lock
    cannot be obtained set the call state to dally and
    return.  If the conn_call_lock can be obtained, behave as
    we did before this patchset.
    
    Only increment the callNumber if the original call->state
    was dally or hold and the conn_call_lock could be obtained.
    We must not increment the callNumber otherwise.  Doing so can
    result in call numbers being skipped when the conn->call slot
    is reused.
    
    Change-Id: Ic10bd2004e9b06df319c2f2efaa0b37bcb90c896
    Reviewed-on: http://gerrit.openafs.org/6443
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0ca4dc279a49141a63727134898c58f30ad15e8d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 17:32:39 2012 -0400

    Windows: Pass name array to AFSRetrieveFileInformation
    
    AFSRetrieveFileInformation does not parse the complete path.
    That information is available in the Ccb->NameArray.  If the
    object on which AFSRetrieveFileInformation is called is a
    relative symlink containing ".." references, the full contents
    of the evaluated path is required for context.  Pass the
    Ccb->NameArray so that it is available.
    
    Change-Id: Id02d3fb47df74c0a0de849eb10550be76150ce8b
    Reviewed-on: http://gerrit.openafs.org/7020
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 766c62b918dba793f738a075918947b8dad76229
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 13:39:17 2012 -0400

    Windows: Use hash when comparing File IDs in redirector
    
    AFSIsEqualFid() should use the hash value included in the FileId
    as part of the comparison algorithm.
    
    Change-Id: I2723e2e9795ce16869c6a0dc33611078b04a6a28
    Reviewed-on: http://gerrit.openafs.org/7017
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0896602f6e7c409990fcae40dd54f84260312472
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 06:57:53 2012 -0400

    Windows FindACLCache must hold scp write locked
    
    In the SMB modules, calls to cm_FindACLCache() were not
    holding the cm_scache_t rwlock writed locked as required.
    
    Change-Id: I213912eb8dd570ea918d92602c647e6aed8cfccb
    Reviewed-on: http://gerrit.openafs.org/7015
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 68a42ed88db3e457b6d5169c2beb8fa7bb144ea3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 06:57:02 2012 -0400

    Windows: fix indentation
    
    Change-Id: Id3cd061badd1c8c4e22843e84999954e5424511d
    Reviewed-on: http://gerrit.openafs.org/7014
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b84496b8593dd9c220022c78d8b9b571c7b78e8d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 1 12:40:36 2012 -0400

    Windows: Freelance HaveAccessRights
    
    Change the test in cm_HaveAccessRights related to Freelance
    mode.  All objects in the freelance cell and root volume
    by definition have access rights.
    
    Change-Id: Ibb96b12c15728bc6b711b3d7f2ad892c55109cbf
    Reviewed-on: http://gerrit.openafs.org/7008
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9a76279ef154730150594cc560a34eada3ae9fe4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 1 12:11:40 2012 -0400

    Windows: optimize InitCallback3 processing
    
    Do not drop and acquire locks if the cm_scache_t does not
    have a callback.
    
    Change-Id: I6f84729838e7e4c2d84c0a40f0811ed837b79287
    Reviewed-on: http://gerrit.openafs.org/7007
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8fcdef55f8e422f4762f38374be32993d2b2551e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 30 15:13:55 2012 -0400

    Windows: Record callback issued time
    
    Save the time at which a callback was issued.  This can be
    used in a later patchset to determine if a callback was issued
    after a negative access entry for a {fid,user} pair.
    
    Change-Id: Iab54eb729fd5f2a2daf4855b7e7e75245dc28051
    Reviewed-on: http://gerrit.openafs.org/6995
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fd919b3ae52695b8a83fabc736c8ea82f383a5c9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 30 14:58:11 2012 -0400

    Windows: Implement cm_TGTLifeTime()
    
    cm_aclent.h defined cm_TGTLifeTime() as a macro that always
    returned 0x7fffffff.  Implement cm_TGTLifeTime() as a function
    that returns the actual token lifetime.
    
    Change-Id: I8b19626395f536db248ae8324b13e49eda9a1a87
    Reviewed-on: http://gerrit.openafs.org/6994
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cf81cd790f71b7ce83c802df8e7094f93bff63fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 30 12:24:43 2012 -0400

    Windows: add parent FID to cm_GetSCache
    
    When a cm_scache_t object is created in 98% of the time, the
    parent FID is known to the cache manager.  Normally the cache
    manager will obtain the parent info from the AFSFetchStatus
    structure but if the user credentials do not permit status info
    to be obtained from the file server the parent info will be unavailable.
    
    Having the parent directory FID is useful for debugging but can
    also be used to check the user's access rights on the parent directory.
    
    Change-Id: I262345bc686392a4edef4c627182a8a67a392aa2
    Reviewed-on: http://gerrit.openafs.org/6993
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e8f6dfac59fe042a04a9ac5eb3c37356cb3a22a3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 2 22:35:41 2012 -0400

    viced: AFSDisk, AFSFetchVolumeStatus Int31 PartSize
    
    The AFSDisk and AFSFetchVolumeStatus structures use signed
    32-bit integers for representation partition size and
    available blocks.  RoundInt64ToInt31() should be used instead
    of RoundInt64ToInt32() when assigning their values.
    
    Change-Id: I3834141fce2d54ce8bdfac3dc566074583bb305e
    Reviewed-on: http://gerrit.openafs.org/7022
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 223cbf5a5bc1812f3b2ce86a7b05dc56f517c6f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 23 13:41:10 2012 -0400

    rx: handle clock reversals for call timeouts
    
    If the clock is set backwards, call timeouts will not trigger
    until the clock regains its original value plus the timeout period.
    In rxi_CheckCall(), look for a backward clock shift and if one is
    noticed, fail the call with RX_CALL_TIMEOUT.
    
    Change-Id: I7ca5abee165fc21d72d3881670f9522d315b4982
    Reviewed-on: http://gerrit.openafs.org/6943
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9498cebd11ac26ed7986b5496440159f7ef745f2
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.
    
    Change-Id: Ia23232d948990bdf9b7c4e5e0bcd8be087289a03
    Reviewed-on: http://gerrit.openafs.org/6992
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 134943a7a55d73f567d3f336e06783c405347fa7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 29 23:49:43 2012 -0400

    Windows: avoid deadlock with Trend Micro
    
    Trend Micro's anti-virus driver attempts to open the file in
    response to CcPurgeCacheSection().  While processing
    AFSSetDispositionInfo() the Fcb->NPFcb->Resource is held which is
    also required if a status verification is required during the
    CreateFile operation.  That results in a deadlock.
    
    Avoid the deadlock by setting the PENDING_DELETE flag prior to
    calling CcPurgeCacheSection().
    
    Change-Id: I40d93d70e120525343afb917d473ad79a1f36e29
    Reviewed-on: http://gerrit.openafs.org/6988
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6cb256375bb0aab73cc802e50620f1fcf0f564e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 29 23:39:17 2012 -0400

    Windows: Use ulFilter in AFSInvalidateObject
    
    ulFilter was assigned appropriate values but it was not passed
    to AFSFsRtlNotifyFullReportChange as a parameter.
    
    Change-Id: Ie362b2b762e599a7cb040640539a098fdf80a259
    Reviewed-on: http://gerrit.openafs.org/6987
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0bc328b9729cb5bfe3085ac01455fe82c9cef7a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 27 00:16:30 2012 -0400

    Windows: ObjectInformation.ObjectReferenceCount comparison
    
    If there is an undercount of the ObjectReferenceCount, consider it
    the same as if the object count is zero for comparison purposes.
    
    Change-Id: Ia4ec2d1194f00cb530e7a50ed9db9c71cc4c5313
    Reviewed-on: http://gerrit.openafs.org/6970
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 05a703a320e549efe7f68e27cfa86e391cf5839d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 27 14:18:14 2012 -0400

    Windows: Add Name Array Processing Trace Subsystem
    
    Change-Id: Ief4026e9bb3045046a031b56ceb584f2daf1cf43
    Reviewed-on: http://gerrit.openafs.org/6973
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 32ad50bcee9a5b087bea7e0c9c1cfe3d1e58293e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 26 11:10:36 2012 -0400

    Windows: AFSInvalidateObject can overwrite input param
    
    AFSInvalidateObject() must not be called with an AFSObjectInformationCB
    pointer variable that it is not safe to overwrite as the function sets
    the input value to NULL if the invalidation is going to be performed
    asynchronously in a worker thread.
    
    In AFSEnumerateDirectory(), the following call took place:
    
      AFSInvalidateObject( &pDirNode->ObjectInformation,
                           AFS_INVALIDATE_DATA_VERSION);
    
    which requires a worker thread to process.  As a result, the
    ObjectInformation pointer was being set to NULL which detached the
    AFSObjectInformationCB from the AFSDirectoryCB.  That in turn produced
    an execption in AFSLocateName() which resulted in a resource not being
    freed that in turn produced a deadlock.
    
    Change-Id: Id30e84cf96b69156d648e3b452e7e03390559c43
    Reviewed-on: http://gerrit.openafs.org/6962
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f7bea476c7f6e8489372e138dc60ebcdd92c40c1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 25 21:29:40 2012 -0400

    windows: ObjectInformationCB.ObjectReferenceCount
    
    The ObjectInformationCB.ObjectReferenceCount is protected by
    the VolumeCB->ObjectInfoTree.TreeLock.   When the TreeLock is
    dropped the reference count can change.  Hold the TreeLock across
    both ObjectReferenceCount == 0 tests and the associated tear down
    or repeat the ObjectReferenceCount == 0 test after the TreeLock
    is reacquired.
    
    Change-Id: I069c22ae8f3a93fad3ef9a662df5b4903b317897
    Reviewed-on: http://gerrit.openafs.org/6959
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 79665a251d8b6cf9cb821accfd3819081f81f4c6
Author: Michael Meffie <mmeffie@aphid.sinenomine.net>
Date:   Mon Mar 26 14:22:09 2012 -0400

    remove athena env conditionals
    
    Remove the conditionals AFS_ATHENA_STDENV, AFS_ATHENA_ENV
    and AFS_KERBREALM_ENV.
    
    Change-Id: If58743acd7d71dd3ed05e76316ff3efd475ca123
    Reviewed-on: http://gerrit.openafs.org/6963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d1d51852be1daf45f92a8cbf5f294892141108f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 27 00:00:30 2012 -0400

    Windows: Fix VNOSERVICE EventLog parameters
    
    Add missing volume and cell.
    
    Change-Id: If1efeb0defb3812e3f41572fb7d46f5e867be70c
    Reviewed-on: http://gerrit.openafs.org/6969
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5b4e0e3c2eb161eabbb7a9ea8486315040e9705a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 26 20:49:03 2012 -0400

    Windows: CreateProcessNotify verify changes
    
    PsSetCreateProcessNotifyRoutineEx will fail with STATUS_ACCESS_DENIED
    if the driver does not have the IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY
    bit set in the image header.
    
    Do not include the ParentProcessId in the AFSProceSSDestroy
    parameter list.  It isn't available to use and isn't used for
    anything in any case.
    
    Assign AFSProcessCB blocks to processes that were created before
    AFSRedirector registered the CreateProcessNotify callback and
    access the file system.
    
    Change-Id: I4b78cd94949cfdea6b36f601a851c0e2f53a7dbf
    Reviewed-on: http://gerrit.openafs.org/6967
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 745e1bb00350ac481cd0998b1623b6e040fc7312
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Mar 27 12:09:38 2012 -0400

    macos: iterate mdfound packagemakers when spaces are present
    
    even if we get more than one match, and even if there's a space,
    work anyway
    
    Change-Id: I8e71af0cb02fda7ea0fcf1c2f7a0404eca4bc073
    Reviewed-on: http://gerrit.openafs.org/6971
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit fba35ba4e1d933126c788824f464a78ca1c93bf8
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Mar 26 20:33:26 2012 -0400

    macos: find packagemaker instead of assuming path
    
    in xcode 4.3, packagemaker is unbundled. make no assumptions
    about where it can be found; instead, let spotlight tell us
    
    Change-Id: I5e3431ce40ad6e9114e98c9bf047a4312d42284d
    Reviewed-on: http://gerrit.openafs.org/6966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d5c13a0f3ce7d9f0a01820ff9c12dfb1cbc12047
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 22 10:52:47 2012 -0500

    afs: Slight adjustments in afs_GetDCache
    
    maxGoodSize is only used in one block, so move the decl to that block.
    Adjust some of the comments to more accurately reflect what's going
    on.
    
    Change-Id: Ifee3a6f98158a314cef6d241c53a0f881f4f2d2b
    Reviewed-on: http://gerrit.openafs.org/6936
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e53221d9a82fd8e3d545704abae51cc844bc31a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 2 17:22:12 2012 -0600

    afs: Do not limit fetches based on vcache length
    
    Currently, when we go to the fileserver to fetch some data, we try to
    make sure that we do not ask for data beyond the end of the file. For
    example, if our chunk size is 1M, and we need to get the first chunk
    for a file that is 4 bytes long, we will only ask the fileserver for 4
    bytes.
    
    This can cause issues when the file is being extended at the same time
    as when we are trying to read the file. Consider the following
    example. There is a file named X that has contents "abcd" at dv 1, and
    we issue a FetchData64 request for X, only requesting 4 bytes. Right
    before the fileserver gets the FetchData64 request, another client
    writes the contents "12345" to file X.
    
    The client will then fetch the contents "1234" for that file, at dv 2,
    and store that as the contents of the first chunk for file X. On
    subsequent reads for file X, applications will now get "1234<NUL>" as
    the contents, since the size of the file will be updated to 5, but the
    cache manager thinks that "1234" is the correct contents for the first
    chunk of X at dv 2. The cache manager will continue to think so until
    the cache entry is evicted or invalidated for whatever reason.
    
    To avoid this scenario, always request a full chunk of data if we have
    any data to fetch and the file has not been locally truncated. We can
    still avoid the fetch at all if it looks like we're fetching beyond
    end-of-file, since we know that at least at some point that was
    correct information about the file. If this results in us trying to
    fetch beyond end-of-file, the fileserver will respond with the correct
    length anyway.
    
    We still need to restrict the fetch request length based on
    avc->f.truncPos, since the dcache data after avc->f.truncPos needs to
    stay empty, since we don't track truncated data any other way. If we
    also avoided this restriction, extending a file via truncation after
    reducing a file's length via truncation could cause the old file data
    to appear again, instead of filling the new file range with NULs.
    
    Note that on at least Linux, with this fix an application can still
    read the contents "1234" on the first read in the above example, and
    "12345" on subsequent reads. This is just due to when we give the VFS
    updates about file metadata, and could be remedied by updating file
    metadata immediately from the FetchStatus information from the
    FetchData64 call. However, just reading the contents "1234" in the
    above example seems like a somewhat plausible outcome; at the very
    least, it is an improvement.
    
    Change-Id: I158593502ac96ba2c856a0b5997355a53d4173aa
    Reviewed-on: http://gerrit.openafs.org/6882
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b3b267d16eefb993f52f66bf44f3e659c1017e58
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 22 10:42:38 2012 -0500

    afs: Set DWriting when truncating a dcache entry
    
    When we truncate a file, we truncate the contents of the relevant
    dcache entry chunks, and prevent future FetchData operations from
    fetching data beyond the truncation offset. If we never write anything
    to that chunk, we never set DWriting, and so on disk it looks like
    that dcache entry has valid data for the specified DV. However, since
    the data is truncated, this is not true.
    
    If a process holds a file open, truncates it without writing to it,
    and then the client crashes (or we have trouble contacting the
    fileserver when we close the file), the dcache entry will appear valid
    on disk. So the next time we read the dcache entry, we will use the
    incorrect cache contents as if they were accurate for the specified
    DV.
    
    To avoid this, set DWriting when we truncate a chunk. Normally we only
    clear DWriting when we actually send data to the fileserver, so to
    clear DWriting in this case, add an additional line to clear it in
    afs_StoreAllSegments, after the StoreMini has completed.
    
    Change-Id: Ifc3bfc21712ab37b1f2865ce59fa45bf03811dd8
    Reviewed-on: http://gerrit.openafs.org/6937
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 577d5d99fefb62f0b52a568207d2352946b36137
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 2 17:18:25 2012 -0600

    afs: Log a message on invalid FetchStatus receipt
    
    If we get an invalid AFSFetchStatus structure from a server, log a
    message to indicate as such. This serves as a warning to urge people
    to fix their fileservers, and to explain what is doing.
    
    Change-Id: I33845f6228f96f693dcbfddcee38dae583f1b092
    Reviewed-on: http://gerrit.openafs.org/6881
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5af63fabc553a2fecd4c3080b25fe14483f5bd98
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 2 17:06:48 2012 -0600

    afs: Sanity-check some AFSFetchStatus structures
    
    We currently do not do any sanity checking on the AFSFetchStatus
    structures returned from fileservers. Add some sanity checking for
    BulkStatus and FetchStatus calls, so we do not screw up our cache if a
    fileserver gives us bogus data.
    
    If we do get an invalid AFSFetchStatus structure, act as if the server
    gave us a VBUSY error code, so we will retry the request. For OpenAFS
    fileservers prior to 1.6.1 that yield this situation, VBUSY is likely
    the error code the fileserver should have responded anyway.
    
    Change-Id: Ie16a5210149b21dd5945380f5d7b6a4d9ee01a72
    Reviewed-on: http://gerrit.openafs.org/6880
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 29cb3b9f838eacf3348f83c81ce687f5882c77a2
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Mar 19 13:07:41 2012 -0400

    Finish removing sunos 4.x references and build cruft
    
    Also, fix afsxbsa.h to always include <time.h> since this should get
    struct tm on any fairly modern operating system.
    
    Change-Id: Idfb39f12d28a2a0aa470c8549e4149d0b2ccde9e
    Change-Id: Ia1c563e5954c533f18bd56155f2ae1825813efe3
    Reviewed-on: http://gerrit.openafs.org/6923
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 690a4c144b53fd1f3538d83017ecf581a2bcded5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 2 14:55:04 2012 -0600

    viced: Do not ignore all InlineBulkStatus errors
    
    InlineBulkStatus currently returns 0 unconditionally, no matter what
    errors are encountered. If we encounter an error early enough, from
    CallPreamble for example, we do not fill in the OutStats nor CallBacks
    structures at all. Since we return success anyway, this results in the
    client getting AFSFetchStatus structures full of zeroes (or garbage,
    before commit 726e1e13ff93e2cc1ac21964dc8d906869e64406).
    
    Since current OpenAFS clients do not perform any sanity checks on the
    information received, this can result in cache corruption of files
    being seen incorrectly as empty, and, before commit 726e1e, more
    arbitrary corruption.
    
    So instead, return an error if we encounter an error before we iterate
    over the given FIDs. We still of course do not return an error for any
    errors encountered during the actual metadata retrieval, as those are
    reflected in the individual per-fid status structures.
    
    Change-Id: Icfab4516e510be5f0063ddf9c69f11ab3d511b35
    Reviewed-on: http://gerrit.openafs.org/6871
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a0a1ad06c2dd632e3e471e5f40ff3eda470bf71a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 19 22:38:06 2012 -0400

    Windows: Assign AuthGroup during Process Create
    
    As the process is being created, assign the AuthGroup so that
    the must up to date information is used to assign AuthGroup
    inheritance from Impersonation states and to prevent the parent
    process from being destroyed before the AuthGroup is determined.
    
    Change-Id: I176360a589d7f2bcf4b1ededad069424e3ce5393
    Reviewed-on: http://gerrit.openafs.org/6927
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a54fefc0449fbccc881c017480cb92878bb460cb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 19 21:10:31 2012 -0400

    Windows: Refactor AFSProcessSupport
    
    Breakup AFSProcessNotify() into AFSProcessCreate() and
    AFSProcessDestroy().
    
    Correct inconsistencies with ETHREAD vs ThreadId HANDLE.
    
    Add AFSProcessNotifyEx() and use PsSetCreateProcessNotifyRoutineEx()
    to register it on Vista SP1 and above.
    
    Change-Id: I2be85c3e8229883b4e239e1fdba9a65fc704daaa
    Reviewed-on: http://gerrit.openafs.org/6926
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 95ec152a850c0cde33829481b8e71e7e7e686a58
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Mar 25 09:56:48 2012 -0400

    doc: correct implicit ACL permissions volume owner
    
    OpenAFS changed the behavior of implicit administrator permission
    for directory ownership.  In OpenAFS only the volume root directory
    owner has implicit administrator permissions and they apply to all
    directories in the volume not just those with matching ownership.
    
    Change-Id: I8ca0a8874fe17cf7fc575107bd76efb5dc472b10
    Reviewed-on: http://gerrit.openafs.org/6951
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d0ea3b18e2893943f9deb46244f2674db1920622
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 24 09:23:50 2012 -0400

    softsig: not used on windows
    
    Do not install afs/softsig.h on Windows from src/util
    
    Do not include it in src/viced/viced.c
    
    Change-Id: I8b6dcb1508dcda7da297a0c9a6bfeaf037c40c88
    Reviewed-on: http://gerrit.openafs.org/6950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit eaea11ef0f44dc9d743f85bbce53b98c2d568b74
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 22 14:48:16 2012 +0000

    tests: Add opr to the command test libraries
    
    The cmd/command-t test needs libopr, so give it to it
    
    Change-Id: I74ca08efffb0c0f6245498c9dc0dcf5287915bbd
    Reviewed-on: http://gerrit.openafs.org/6949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 20429272805d029de80275a4e092291be7d747e9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 22 14:39:27 2012 +0000

    libafsrpc: Export connection accessor fuctions
    
    Add various connection accessor functions to the export map file for
    libafsrpc so they can be used from within RX security layers.
    
    Change-Id: I0b5c75d987aadd6942dcb87fb1b98586bcc9e553
    Reviewed-on: http://gerrit.openafs.org/6948
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d2594f706b1eeaf7b16537f95b3617dcb1af63c2
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Mar 19 16:47:28 2012 -0400

    opr: should be built as shared
    
    Since this library could be use anywhere (including a shared library)
    it should be built as position independent code.
    
    Change-Id: I9e9c8b5c08e73ce43c04341b1106126f7774c405
    Reviewed-on: http://gerrit.openafs.org/6925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 39964d08792f3a09694f97d7c7fa76a86ca213a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 22 15:55:47 2012 -0400

    Windows: Client handling of VNOSERVICE
    
    VNOSERVICE should not be grouped together with the volume status
    error codes.  It is used to indicate that the RPC was not serviced.
    The file server issues it when its idle dead timeout period is reached
    while receiving rx call data.  The client's existing status information
    is still valid and the client can retry the call.
    
    Change-Id: I51e447824366381e740361576c96559f1c4f3fd3
    Reviewed-on: http://gerrit.openafs.org/6938
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b695eb272d66269a57cdca2550c00f2b0003ae35
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 21 10:11:31 2012 -0400

    Windows: AFSRedir Debug for STATUS_NOT_A_DIRECTORY
    
    Add additional logging to handle the case where the afsd_service
    returns STATUS_NOT_A_DIRECTORY for eval by id/name.
    
    Change-Id: Ib510fcea6102a92e5e810af5923f06dffbba1ed9
    Reviewed-on: http://gerrit.openafs.org/6930
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f246aa5f84a5233b6525ae43456a8da5b7e92984
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Mar 21 22:19:04 2012 -0400

    Linux 3.4: Switch to d_make_root
    
    If d_make_root is available, use it instead of d_alloc_root.
    The helper was introduced in 3.3, and d_alloc_root gets removed
    in 3.4.
    
    Change-Id: I39aaa6fd14d04c05ad9cb5b610e7f12f70fe0c94
    Reviewed-on: http://gerrit.openafs.org/6931
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e55f1b4dc3134762c61143c7dcc8e252d9973365
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Tue Mar 13 20:06:43 2012 -0600

    doc: remove references to AFS's NTP daemon
    
    AFS's own ntpd and runntp are obsolete. Remove them from the
    documentation, and recommend the OS vendor-supplied NTP instead.
    
    Change-Id: If0cd837aa407eb49049881790e618ccd75ca6e5b
    Reviewed-on: http://gerrit.openafs.org/6903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 640fe82315838f60cce5789ad7d9965db3dabe0a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 19 19:27:33 2012 -0400

    build on solaris 10 again
    
    Use min and max instead of the non-standard MIN and MAX macros.
    
    Commit 64b00c3a1a87739621f58c777fc3cc54fb15a0af removed inclusion of
    rx_packet.h, which included definitions of MIN and MAX on various platforms.
    
    Change-Id: I3d3c75af375704b8baddd72aec3aecf3c4fd43d7
    Reviewed-on: http://gerrit.openafs.org/6924
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4d98adc83cd09d75c99abd9d29af79f9de5b1d1a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 16 01:09:42 2012 -0400

    Windows: invalidate correct objects during dir verification
    
    When processing a directory verification, if a change of data
    version is detected or if the FileID of a FileName changes,
    be sure to invalidate and verify the directory entry.  Setting
    the verify flag on the parent after updating the directory
    entry's metadata does not result in the correct behavior.
    
    Change-Id: Ib24bd71b82964e150a6ce730071106c9cbea0d23
    Reviewed-on: http://gerrit.openafs.org/6914
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 59b57ff85acbef10bcec9724c42e3bad78538687
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Mar 15 11:51:39 2012 -0400

    osx: deal with more kerberos damage
    
    the number of things which can return success without succeeding is
    truly sad.
    
    Change-Id: Iab3a6ef72afc8075462dfd98548ad7aa3051d40f
    Reviewed-on: http://gerrit.openafs.org/6911
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit e5821239cde138f74f73bec1bd9a3880d08ac3df
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 7 16:36:57 2012 -0600

    afs: Never #define away afsd_dynamic_vcaches
    
    Some versions of the Solaris Studio compiler on SPARC (at least 12.2
    and possibly others, but not 12.3) get a little confused by code like
    this:
    
        extern int foo;
        int
        somefunc(void) {
            if (0) return foo;
            return 0;
        }
    
    When optimization is turned off, this results in an undefined symbol
    reference to 'foo' (which is normal), but the resulting object file
    lacks a relocation entry for the symbol 'foo', so the symbol remains
    undefined after linking. In the OpenAFS tree, this occurs in
    afs_daemons.c which references afs_vcount and afs_cacheStats in this
    manner due to afsd_dynamic_vcaches being defined as '0' on Solaris.
    The end result is that the libafs kernel module is not loadable, since
    it complains about afs_vcount and afs_cacheStats being undefined, even
    though the symbol definitions are also in the module.
    
    While this is a bug in Solaris Studio and has since been fixed, it is
    simple to work around this so we are usable with more compilers. If we
    just always declare afsd_dynamic_vcaches as a regular variable, it
    works around this issue and keeps the code a tiny bit simpler. So, do
    that.
    
    Change-Id: I3f8fc6aafd52487d729289e393fc59dac84d36ea
    Reviewed-on: http://gerrit.openafs.org/6888
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0fdcf171a8d2b2153648b6b799096e09eb469beb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 14 10:56:06 2012 -0400

    rx: hold call->lock across RXS_PreparePacket
    
    RX Security Classes have a right to assume that when RXS_PreparePacket
    is called that they have exclusive access to the rx_call structure.
    Commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9 unintentionally
    failed to acquire the call->lock prior to RXS_PreparePacket being
    called.
    
    Change-Id: I5a9dfb2818fa17ba6fc1ab6f76ec5cde602c6f16
    Reviewed-on: http://gerrit.openafs.org/6904
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 317b227a20a99960b313d06a3441822472d638c8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 12 15:53:47 2012 -0400

    Windows: Drop resource across AFSCleanupFcb
    
    Avoid additional deadlocks involving
    VolumeCB->ObjectInfoTree.TreeLock.
    
    Change-Id: Ibfeb8f230c54e95d3a0b7b9d84c63cb7f4b9ce2d
    Reviewed-on: http://gerrit.openafs.org/6893
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6fb1078e08d4077fb0602f97b1a83bcd72f55db8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 7 06:54:54 2012 -0800

    Windows: Wait for memory allocation if necessary
    
    The kernel has a limited pool of memory.  If there is no memory
    available to satisfy a request, that request will fail initially
    with a STATUS_OUT_OF_RESOURCES error which in most cases is exposed
    to the user-mode application as STATUS_ACCESS_DENIED.  This can
    produce inconsistent results.
    
    This patchset introduces an Event object, MemoryAvailableEvent,
    which is signalled when the redirector deallocates memory.  This
    should in many cases permit requests to succeed where they otherwise
    would have failed immediately.
    
    The WaitingForMemoryCount field tracks the number of threads that
    are waiting for memory to become available.  A subsequent patch
    could use this value to accelerate the tear down of cached data.
    
    To avoid deadlocks, blocking threads will only wait for a maximum
    of 30 seconds at a time.  As long as the redirector continues to
    free memory, the thread can re-queue itself.  However, if a timeout
    occurs, the allocation request will fail.
    
    Change-Id: I0aa549be3852b31b68d7b42ecab4ca982c75f6ba
    Reviewed-on: http://gerrit.openafs.org/6886
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b7f6d8e3964592543d4706c58c395fbe2f81218b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 5 23:14:28 2012 -0600

    Windows: Correct Data Version change synchronization
    
    The data version must be checked and set while the ObjectInformation
    DirectoryNodeHdr.TreeLock is held exclusive.  Otherwise, it is
    possible for a race to occur.
    
    Change-Id: Ia4d94cca1d161062e9d98675976ba8fad5731032
    Reviewed-on: http://gerrit.openafs.org/6883
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d62456255e13beef41770ad90ee6cb58068007b9
Author: Paul Smeddle <paul.smeddle@morganstanley.com>
Date:   Mon Mar 12 19:56:11 2012 +0000

    Make volscan's column delimiter option work
    
    Currently, volscan ignores the -delim command-line option,
    using the hardcoded default. This patch adds processing
    for this option, allowing alternative characters.
    
    Corrects an error in a08c3207255756c825ab69a19e04f79dd879c646
    
    Change-Id: I750f2d998cff029fc02556ed0baaaa0ca1c95e08
    Reviewed-on: http://gerrit.openafs.org/6894
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7dce85e4e5db7420c5c359fdd02a8005a12fb29c
Author: Jens Wegener <jens.wegener@hrz.tu-chemnitz.de>
Date:   Tue Mar 6 07:28:32 2012 -0600

    viced: fix inverted lockCount assignment
    
    FIXES 130605
    
    Change-Id: Ibfdbc03100094ca33630dc9e1ddbcacf770a1a02
    Reviewed-on: http://gerrit.openafs.org/6884
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0f3cb2a43e3487d9b5ec774c417ae6744d6e4d83
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Thu Mar 8 09:23:40 2012 -0500

    redhat: Don't replace modified configuration files during rpm update
    
    The previous setting for three %config files mentioned in the spec file:
    
    %config /etc/sysconfig/openafs
    %config %{_prefix}/vice/etc/ThisCell
    %config %{_prefix}/vice/etc/cacheinfo
    
    When using an unadorned %config, it's possible that these files will
    be replaced by the packaged version during a package update.  Changing
    %config to %config(noreplace) means that the packaged file will be
    installed with the extension .rpmnew if there is already a modified
    (from the existing package's version) file with the same name on the
    installed machine.
    
    The concern here is that updating an existing system could potentially
    change the configuration if the person installing doesn't pay close
    attention.  The Rule of Least Surprise indicates that we should
    try to preserve existing configuration changes whenever possible.
    
    Change-Id: Ie132c12a3c5defe9bf6fec9ec0f8bd08f3d98646
    Reviewed-on: http://gerrit.openafs.org/6887
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 4cc3923b1b857368a522be55c55fce4c9b62548a
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Mon Mar 5 11:41:08 2012 -0500

    rxgen: fix to use rx accessor routines
    
    apparently some uses didnt get converted during the previous work.
    
    Change-Id: Iaa4dcf73fd2e29e3f95feede5217eac4eaded4e2
    Reviewed-on: http://gerrit.openafs.org/6874
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c0268c7299afc3eb0a3bde2972a8fee800b735b1
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Mar 3 09:42:12 2012 -0500

    viced: fix -realm option arg parse
    
    Advance only once per realm argument when processing the
    realm command line option.
    
    Change-Id: Id3873fbe213f27be673ec0c02a27a032dd33c002
    Reviewed-on: http://gerrit.openafs.org/6860
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fc1c58910c5991fa9d132d171d1d976dbfc44a95
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Feb 29 11:08:10 2012 -0500

    viced: fix log message in hpr initialize
    
    The wrong dir object is used to log an error in hpr
    initialize.
    
    Change-Id: I4460b541a6458742839b47e8277990f426b233a7
    Reviewed-on: http://gerrit.openafs.org/6845
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0a3f0608fcf6c14b44484cfa6fe106c568aa1035
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Mar 4 09:48:07 2012 -0500

    macos: don't crash on krb5 damage
    
    if we get success but still no client, don't crash
    
    Change-Id: I6be28ac6ecece3448123a84cf442a791eebc93cc
    Reviewed-on: http://gerrit.openafs.org/6868
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 88ec2929fddec2ae53a74d3e40cbdeb566aeacc5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 2 10:54:38 2012 -0500

    Windows: add __try..__except
    
    Wrap potential exception locations in __try ... __except so
    that the exceptions can be caught by us instead of Cc/Mm which
    use exceptions to signal status.
    
    Change-Id: Ifef02bbf2c76b8583b538e4b67d4136c832b6cc6
    Reviewed-on: http://gerrit.openafs.org/6859
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5762d9c3c7d941b856bfa86ce8e1ee6a76f41eda
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 2 10:54:23 2012 -0500

    Windows: fix indentation
    
    Change-Id: I2decb4093986c316fe6b9102f2d42a583a24b1f4
    Reviewed-on: http://gerrit.openafs.org/6858
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fdf1dfc5f92fcd149a7ae0945e4458993b2ad61e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 2 10:52:35 2012 -0500

    Windows: Avoid deadlock in invalidation path
    
    During data version invalidation the AFS redirector must CcPurge
    any non-dirty extents on a file. This operation can be intercepted
    by a filter driver which in turn might open the file and close it
    again before the CcPurge completes.
    
    The AFSPerformObjectInvalidate call holds the ExtentsResource
    shared which can deadlock if AFSClose attempts an extent tear down
    which requires exclusive access to the ExtentsResource.
    
    Change-Id: I7cb0289d8036aabf56bb11fd12a79308be45faa8
    Reviewed-on: http://gerrit.openafs.org/6856
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 81a9a33e0bc5455841ba105dab52735c64c7096b
Author: Dave Botsch <botsch@cnf.cornell.edu>
Date:   Thu Mar 1 12:43:36 2012 -0500

    Fixes dkms.conf for Redhat Enterprise
    
    commit 8e0aaae076f4cccfd2d6ed81ede4e355235b578e , while fixing dkms.conf for
    Fedora, broke dkms.conf for RHEL. In RHEL, you get a dkms.conf with too
    many backslashes in the "mv" line. The dkms.conf should have the mv line
    reading:
    
    mv src/libafs/MODLOAD-*/\$KMODNAME \$DSTKMOD"
    
    for Fedora.
    
    This change checks if we are building on Fedora, and if so, maintains
    the extra backslashes. Otherwise, not.
    
            modified:   src/packaging/RedHat/openafs.spec.in
    
    Uses the dist tags as specified at
    http://fedoraproject.org/wiki/Packaging:DistTag
    
    Change-Id: I7fd7531758a63b2634424c2fcba23ae1b0fc8f2f
    Reviewed-on: http://gerrit.openafs.org/6851
    Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 579976cf246bd55dea2dfd3bf8470fd8bb8bde0a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 1 15:49:12 2012 -0500

    unix: always retry RX_CALL_BUSY
    
    RX_CALL_BUSY is an indication that the call channel is busy not
    that the server is down or otherwise cannot respond.  Unconditionally
    retry the RPC and do not alter state.  We just want to force the use
    of a different call channel.
    
    Change-Id: Ic4ef9bac800087f1b287d3da08fcd5eec84374ef
    Reviewed-on: http://gerrit.openafs.org/6852
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 28a33f8492098c23f7c3c58763ace93b82ea80a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 29 13:07:47 2012 -0500

    Windows: Workaround Win7 SMB Reconnect Bug
    
    The SMB specification permits the server to save a round trip
    in the GSS negotiation by sending an initial security blob.
    Unfortunately, doing so trips a bug in Windows 7 and Server 2008 R2
    whereby the SMB 1.x redirector drops the blob on the floor after
    the first connection to the server and simply attempts to reuse
    the previous authentication context.  This bug can be avoided by
    the server sending no security blob in the SMB_COM_NEGOTIATE
    response.  This forces the client to send an initial GSS init_sec_context
    blob under all circumstances which works around the bug in Microsoft's
    code.
    
    Do not call smb_NegotiateExtendedSecurity(&secBlob, &secBlobLength);
    
    As a result of the SMB 1.x bug, all attempts to reconnect fail due to
    SMB connection resets.  The SMB 1.x redirector will retry indefinitely
    but all processes with outstanding requests to \\AFS will block until
    the machine is rebooted.
    
    Change-Id: Iedd58fccbf85495d48871935f6e61ede1e1240ff
    Reviewed-on: http://gerrit.openafs.org/6846
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2a6ddae62e4fac5eecdf4634746e7294405393d6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 8 11:25:19 2010 -0500

    viced: Ignore client loopback alternate addresses
    
    When we receive interface information from a client to determine its
    alternate IP addresses, ignore any addresses that look like loopback.
    
    Change-Id: I245ebfc74ad1e8bd2fcd235a00f000d29229668d
    Reviewed-on: http://gerrit.openafs.org/2368
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0e610fdacb4484d245bf1f727d035812774192ea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 24 12:23:28 2012 -0500

    Windows: Fix an ExtentResource trace message
    
    This instance is logging a SHARED acquisition not an EXCL one.
    
    Change-Id: Id4e69bb275ff4eb242b2c145df80ed9b73313776
    Reviewed-on: http://gerrit.openafs.org/6792
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cfb7f205d8153899c0165594a29d91926a40425d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 24 12:21:46 2012 -0500

    Windows: cm_UpdateCell never applies to Freelance mode
    
    The Freelance.Local.Cell is updated by the registry monitor
    thread and cm_UpdateCell should be a no-op.  Make it so.
    
    Change-Id: I2961114590af6b64b8ae06d608a97513e83aad4e
    Reviewed-on: http://gerrit.openafs.org/6791
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6bb0014be2c3ea5ca411bf349fb3987c5d496c40
Author: Vaibhav Kamra <vkamra@maginatics.com>
Date:   Thu Feb 23 09:58:07 2012 -0800

    Windows: Redirector opens must set a valid FsContext
    
    A successful open must have FileObject->FsContext set to a structure
    with a valid/initialized FSRTL_ADVANCED_FCB_HEADER object.
    
    Not having this breaks assumptions in the kernel.
    
    Patchset edited by Jeffrey Altman <jaltman@your-file-system.com>
    
    Change-Id: I70c9045bfa02c54074c015e6e871ead63efb6769
    Reviewed-on: http://gerrit.openafs.org/6782
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit de93a78b870b40338cfd0f4839fe4ef3b959481b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 23 11:13:08 2012 -0800

    Windows: remove AFSOpenRedirector from AFSRedirLib
    
    The AFSOpenRedirector functionality must exist in the framework,
    AFSRedir.sys, not the library, AFSRedirLib.sys.
    
    Change-Id: Id688efba016d94df558b241e9bee421c86c60e27
    Reviewed-on: http://gerrit.openafs.org/6781
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 315b97ab587247d7750ff4b64275e397ac4b97a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 23 06:31:31 2012 -0800

    Windows: do not bugcheck in AFSExAllocatePoolWithTag
    
    If the Bug Check flag is set, the call to AFSBreakPoint() in
    AFSExAllocatePoolWithTag() will trigger.  There is no need for
    an explicit bug check test in AFSExAllocatePoolWithTag().
    
    If AFSExAllocatePoolWithTag() returns NULL there is no need
    to ASSERT() the return value since AFSBreakPoint() would already
    have been called to signal a debugger.
    
    Change-Id: Ie8564f41f811c3afd99dc2e9c02f4aa68d63ef8e
    Reviewed-on: http://gerrit.openafs.org/6780
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fe6cc80fdbbd3c66ddc32bb6a8e639753244da70
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 23 06:28:49 2012 -0800

    Windows: Revert "AFSRedir DebugFlags Turn on BugCheck"
    
    This reverts commit 209df87d08fb07d9641b81858a0821b9fd95dbcc.
    
    Turning on BugCheck by default was a good idea because we needed
    to track down the cause of exceptions that were otherwise being
    thrown resulting in resource leaks.  However, it is a bad idea
    because it results in out of memory conditions throwing bug checks
    that result in a BSOD.
    
    Change-Id: If0965657957ed73b83686a9be42b0d7f89964f2f
    Reviewed-on: http://gerrit.openafs.org/6779
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fb03b1380f82a6bdc8a78ad92069da38b4e98c26
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 23 18:28:21 2012 -0600

    Rewrite make_h_tree.pl in shell script
    
    The current usage of make_h_tree.pl adds a build requirement of
    /usr/bin/perl that we did not have prior to commit
    1d6593e952ce82c778b1cd6e40c6e22ec756daf1. Do the same thing in a
    bourne shell script instead, so we don't need perl.
    
    Note that this is not as generalized as make_h_tree.pl, but it doesn't
    need to be. Specifically, this does not strip a leading ../ from found
    include directives (nothing in the tree that includes h/* files uses
    this), and header filenames containing whitespace almost certainly do
    not work correctly.
    
    The h => sys mapping is also much more hardcoded, but that's all we
    were using this for anyway.
    
    Change-Id: If07888abfdb9e8ec822b33abed0bf744b7210a52
    Reviewed-on: http://gerrit.openafs.org/6790
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 46e85dd4682a3273e15bbf96c4d5492087555cab
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.
    
    Change-Id: I2b646b9ff932a673c714bc27ac32ed41cc3e22e6
    Reviewed-on: http://gerrit.openafs.org/6787
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a1719faa810663d6d9cf774339e286c18ef2717
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.
    
    Change-Id: I5e257ea633b7ae821136c88e1b2024f62125ab30
    Reviewed-on: http://gerrit.openafs.org/6786
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d426e613b9a4802c3b404903f7122f6fd0046aba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 21 18:03:24 2012 -0600

    salvager: Remove PrintVolumeSummary
    
    Nothing uses this function; remove it.
    
    Change-Id: I55ae048ba920bbd10030c227724323fa20681941
    Reviewed-on: http://gerrit.openafs.org/6785
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 839638870986ebd4cf992f7a2c81a23e37c14228
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.
    
    Change-Id: I4797d0cabe3851debdc78f4ed9ee619534397970
    Reviewed-on: http://gerrit.openafs.org/6784
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 76f12c2389fd2a8e09b4e869730169401d154ce9
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.
    
    Change-Id: Ibb7b5fbadb701028a6bafe01ae9f8d3265e2f443
    Reviewed-on: http://gerrit.openafs.org/6783
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 634c6f184b17e30ade86c0a838ab55ddddc730d6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 22 15:40:20 2012 -0600

    LINUX: Use afs_convert_code in afs_notify_change
    
    afs_notify_change currently just returns "-code". This can cause a
    panic if the error code is negative, since we will return a positive
    error code, which may get interpreted as a valid pointer value in
    higher levels.
    
    Specifically, if we hit afs_notify_change via something like this code
    path:
    
    do_sys_open -> do_filp_open -> open_namei -> may_open -> do_truncate
    -> notify_change -> afs_notify_change (via inode->i_op->setattr)
    
    the positive error value will be interpreted by do_sys_open as a valid
    'struct file' pointer, and will be dereferenced.
    
    So pass the return value through afs_convert_code, like all of the
    other vnode ops, so we ensure we return an error properly.
    
    Change-Id: I941cc2d77d5a96cf86dfe133d30af4ccf6e9f2cb
    Reviewed-on: http://gerrit.openafs.org/6776
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 620d4169b73088579e691aec2cfdafc7f44e2fee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 22 15:36:37 2012 -0600

    LINUX: move afs_notify_change to osi_vnodeops.c
    
    afs_notify_change is almost always used solely in inode_operations
    structs, and is more similar to the other per-vnode functions. Put it
    with the other per-vnode functions for better organization, and so
    they can use the same static functions.
    
    Move the helper functions iattr2vattr and vattr2inode along with it.
    
    Change-Id: I47a69fe673cfc3318ce583596ba25cbeb9cb0b96
    Reviewed-on: http://gerrit.openafs.org/6775
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 75a3dabe66a9fbc232b05e2f744ad5b867e18262
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Feb 22 15:57:46 2012 -0500

    libafs: retry retriable RPCs instead of abandoning
    
    if we get e.g. an idle dead error we should retry
    retriable actions, namely data stores. in order
    for writing files to work correctly given how
    the writeback code is structured it's important that
    this not interfere with analyze's shouldRetry decision
    on those RPCs
    
    Change-Id: Ie091a72b924c8414ec66c377fa13da14575a69cf
    Reviewed-on: http://gerrit.openafs.org/6749
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2378895fc66a19a050f302711f2e18dbbf2e3d6f
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Feb 12 22:45:59 2012 -0500

    libafs: ensure one nat ping connection per srvAddr
    
    track the natping conn with the srvAddr, ensuring exactly one.
    
    Change-Id: I2e424a71d398563f9d0ec3ca77b83320cbef4ea1
    Reviewed-on: http://gerrit.openafs.org/6706
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4ed91fe59468ed6c834f968a5b8202e967ea43b5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 22 14:19:51 2012 -0500

    Windows: invalidate data version on link creation
    
    notify the redirector that the directory data version has
    changed when a pioctl is used to create a symlink or mount point.
    
    FIXES 130589
    
    Change-Id: I07e1ae130b9db8d3dd68fef892c47de008be7cd4
    Reviewed-on: http://gerrit.openafs.org/6747
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5965c5390bf8264dacf60016929fc8d3aa83a7ea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 20 20:50:53 2012 -0500

    Windows: AFSPerformObjectInvalidate hold ExtentsResource shared
    
    The AFSPerformObjectInvalidate() was obtaining exclusive
    access to the Fcb ExtentsResource even though it was not
    tearing down the extents list.  The ExtentsResource could
    be held shared instead.  Doing so will avoid the following
    deadlock:
    
    Thread 1:
     nt!MmPurgeSection+0x403
     nt!CcPurgeCacheSection+0x100
     AFSRedirLib!AFSPerformObjectInvalidate+0xd4
     AFSRedirLib!AFSWorkerThread+0xa4
     nt!PspSystemThreadStartup+0x2e
    
    Thread 2:
     AFSRedirLib!AFSAcquireShared+0x18
     AFSRedirLib!AFSMarkDirty+0x68
     AFSRedirLib!AFSNonCachedWrite+0x603
     AFSRedirLib!AFSCommonWrite+0x5fa
     AFSRedirLib!AFSWrite+0x20
     nt!IofCallDriver+0x45
     AFSRedir!AFSWrite+0x57
     nt!IofCallDriver+0x45
     fltMgr!FltpDispatch+0x6f
     nt!IofCallDriver+0x45
     AMFilter+0x2c6e
     nt!IofCallDriver+0x45
     PMDriver+0x112a
     nt!IofCallDriver+0x45
     OpLoader+0x1cd2
     nt!IofCallDriver+0x45
     savonaccesscontrol+0x6f15
     savonaccessfilter+0x2fa0
     nt!IofCallDriver+0x45
     nt!IoAsynchronousPageWrite+0xd0
     nt!MiMappedPageWriter+0x127
     nt!PspSystemThreadStartup+0x2e
    
    Thread 1 is attempting to perform a cache purge which cannot complete
    until Thread 2 is finished but Thread 2 requires the ExtentsResource
    which is held by Thread 1.
    
    Change-Id: I4582093cf973f61cf6aff0df5e23b6711ec708b3
    Reviewed-on: http://gerrit.openafs.org/6744
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 08d800b896db688cd96d742781e8225c9e58ef57
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 20 01:48:20 2012 -0500

    Windows: fsLockCount not accurate
    
    Prior to 1.6.2 the file server does not report an accurate value
    for the lock state.  In addition, callbacks are not broken when
    locks are freed due to lease expiration.
    
    Change-Id: I5b79d1d59c2ace9834cf23dfbef33e343ce6dda0
    Reviewed-on: http://gerrit.openafs.org/6741
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4603057d99a1501275f14f6d5aba089364785e09
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 20 01:40:03 2012 -0500

    viced: lockcount only valid if not expired
    
    locks are issued on a lease.  If the lock is expired, the lock
    count is zero.
    
    Change-Id: I628dd5b8b0d38694d653d9e8e82ff60ec2e1505c
    Reviewed-on: http://gerrit.openafs.org/6740
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fd19b39b151e3dddd18b4280252ac3e0fdf3964d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Feb 20 17:56:29 2012 -0500

    volser: Remove unused variable
    
    tid is now unused - remove it to avoid a warning.
    
    Change-Id: If2d4fdf16415bbf19de3cd8a3e621d04d4d9b018
    Reviewed-on: http://gerrit.openafs.org/6743
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fe4e52655ce7e5a8e5f6c23cde678fc66c3db490
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 17 17:12:46 2012 -0600

    viced: Relax "h_TossStuff_r failed" warnings
    
    Currently, h_TossStuff_r bails out and logs a message if we detect
    that somebody grabbed a reference or locked the host while we tried to
    h_NBLock_r. The reasoning for this is that it is not legal for anyone
    to h_Hold_r a host that has HOSTDELETED set (but the error is
    detectable and recoverable); callers are supposed to check for
    HOSTDELETED and not hold a host in that case.
    
    However, HOSTDELETED may not be set when h_TossStuff_r is called,
    since we call it if either HOSTDELETED _or_ CLIENTDELETED are set. If
    CLIENTDELETED is set and HOSTDELETED is not, it's perfectly fine (and
    necessary) for callers to grab a reference to the host. So, if that's
    what is going on, don't log a message, since that's normal behavior.
    
    Check for HOSTDELETED before we h_NBLock_r, since it is technically
    possible (and legal) for someone to grab a reference to the host and
    somehow set HOSTDELETED while we wait for h_NBLock_r to return. Also
    log the flags when we see this message.
    
    Change-Id: Ie50a0617de094bb1c721da28f100ed4b31aa849f
    Reviewed-on: http://gerrit.openafs.org/6733
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f52c33ea10de8d1d07a9c4805366283e6ca635dc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 17 16:24:16 2012 -0600

    viced: Remove extraneous h_AHTAHT_r in h_GetHost_r
    
    We added this address to the host with an addInterfaceAddr_r call just
    a few lines before, which adds the host to the address hash table.
    Another call to h_AddHostToAddrHashTable_r is pure overhead and
    confusing.
    
    Change-Id: Ib08817274e632f67776956ede8b56eaf0dce879e
    Reviewed-on: http://gerrit.openafs.org/6729
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3c803580bb503c7650f7b138c1b3f2eafd92b985
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 17 15:46:50 2012 -0600

    viced: Set h_GetHost_r probefail if MPAA_r fails
    
    Currently, in h_GetHost_r, if we get a connection whose address does
    not match an extant host, but the reported uuid does, we ProbeUuid the
    old host. If it fails, we call MultiProbeAlternateAddress_r and set
    'probefail'. Later on, if 'probefail' is set, we always add the
    connection address to the host, and remove the host->host,host->port
    address from the host.
    
    However, this is not always correct. Consider the following situation.
    
    We have an existing host that has primary address 1.1.1.1, and also
    has addresses 1.1.1.2 and 1.1.1.3 on the interface list but not on the
    hash table. Say that host A stops responding on 1.1.1.1, and a
    connection comes in from 1.1.1.2. We ProbeUuid 1.1.1.1 and get a
    failure, so we call MultiProbeAlternateAddress_r.
    MultiProbeAlternateAddress_r probes via rx_Multi the addresses 1.1.1.2
    and 1.1.1.3. Say that 1.1.1.3 responds first, and responds
    successfully, so MultiProbeAlternateAddress_r sets 1.1.1.3 to be the
    primary address for the host.
    
    After MultiProbeAlternateAddress_r returns, 'probefail' is set. A few
    lines down, we see that oldHost->host does not match haddr, and
    'probefail' is set, so we add 1.1.1.2 to the interface list, and
    remove 1.1.1.3, and set 1.1.1.2 to be the primary address, even though
    1.1.1.3 is the address we most recently 'know' is correct.
    
    To fix this, only set 'probefail' if MultiProbeAlternateAddress_r also
    fails after the failed ProbeUuid call. Conceptually this makes sense,
    since if MultiProbeAlternateAddress_r succeeds, it found an address
    that responds successfully to ProbeUuid, and it sets that address to
    be the primary address. Therefore, after MultiProbeAlternateAddress_r
    returns success, the situation is the same as if the 'good' address
    was already the primary address, and the ProbeUuid call succeeded, so
    'probefail' should be cleared.
    
    Change-Id: Id32817916a8a42db567ad099aae00745b79598c5
    Reviewed-on: http://gerrit.openafs.org/6728
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7a6efc9bfcd955901d19274cc96f9a1b67f54f95
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 17 13:14:31 2012 -0600

    viced: Correctly update addrs on alt addr probe
    
    The functions MultiBreakCallBackAlternateAddress_r and
    MultiProbeAlternateAddress_r try to find a valid address in a host's
    interface list of addrs. If they find one, they update host->host and
    host->port. However, they do so just by changing those fields directly
    and by calling h_DeleteHostFromAddrHashTable_r and
    h_AddHostToAddrHashTable_r. This leaves the old host->host, host->port
    on the interface list, and leaves it marked as 'valid'. Similarly, the
    new host and port may still be marked as not 'valid'.
    
    This can result in the host being on the addr hash table via an
    address that is not on the host's interface list. After the above
    situation occurs, we may call
    
      removeInterfaceAddr_r(host, host->host, host->port);
    
    and then update host->host and host->port, which happens in a variety
    of places. Since host->host, host->port is not marked as valid in the
    interface list, it is not removed from the addr hash table, but it is
    removed from the interface list. Eventually, this can cause the host
    to be referenced from the addr hash table even after it has been
    freed.
    
    Since this can result in hash table entries pointing to the 'wrong'
    host, this can result in FileLog messages such as:
    
    Sun Feb  5 03:16:35 2012 Removing address that does not belong to host 0xdeadbeefdead (1.2.3.4:7001).
    
    And bogus instances of the message:
    
    Sun Feb  5 03:16:36 2012 CB: new identity for host 0xdeadbeefdead (1.2.3.4:7001), deleting(1 baadcafe 12345678-9abc-def0-12-34-456789abcdef fedcba98-76543210f-ed-cb-a9876543210f)
    
    To fix this, make MultiBreakCallBackAlternateAddress_r and
    MultiProbeAlternateAddress_r update the address list the same way as
    all of the code in host.c does; by adding the new address with
    addInterfaceAddr_r, removing it with removeInterfaceAddr_r, and
    updating host->host and host->port.
    
    Change-Id: I0a95e0186c03c1831c4df86daae901bf2462da0e
    Reviewed-on: http://gerrit.openafs.org/6727
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9754c4e15fb9073ed9f95d5d4242d311eb65d717
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 16 16:20:16 2012 -0600

    viced: Delete dup host before probing old host
    
    Currently, when the fileserver gets a new connection from an address
    not on the addr hash table, we allocate a new host structure and add
    that host to the addr hash table. If we then find that that host's
    uuid matches the uuid of an extant host, we do the following:
    
     - probe the old host with the uuid, and MultiProbeAlternateAddress_r
       if the probe fails
    
     - mark the duplicate host as HOSTDELETED
    
     - manipulate the interface lists
    
    Consider, for example, that we have an extant host ('oldHost') with
    address 1.2.3.4:7001, but with 5.6.7.8:7001 on its alternate interface
    list. At some point, the 1.2.3.4:7001 interface goes away or becomes
    unreachable. A new connection comes in from that same host on
    5.6.7.8:7001.
    
    What will happen is we create a new host for address 5.6.7.8:7001, and
    then detect the uuid collision. When we try to probe the old address
    of 1.2.3.4:7001, it will fail, and we will try to
    MultiProbeAlternateAddress_r. MultiProbeAlternateAddress_r will
    determine that the alternate address 5.6.7.8:7001 responds
    successfully to the probe, and it tries to set 5.6.7.8:7001 to be the
    primary address of 'oldHost', and add 'oldHost' to the addr hash table
    under 5.6.7.8:7001.
    
    But the "new" host from the incoming connection is already hashed on
    the address hash table under 5.6.7.8:7001, so the
    h_AddHostToAddrHashTable_r call in MultiProbeAlternateAddress_r fails.
    Since we later delete the new duplicate host, this results in
    5.6.7.8:7001 being the primary address for the host, but that address
    is not anywhere in the address hash table.
    
    This behavior can be seen by the following pair of FileLog messages:
    
    Wed Feb  1 11:02:38 2012 CB: ProbeUuid for 0xdeadbeefdead (1.2.3.4:7001) failed -01
    Wed Feb  1 11:02:38 2012 h_AddHostToAddrHashTable_r: refusing to hash host beefdead, baadcafe (5.6.7.8:7001) already hashed
    
    While those message do not necessarily indicate this problem, this
    problem will result in those messages.
    
    To fix this, mark the duplicate host as HOSTDELETED before we do any
    probing on 'oldHost'. This way, if MultiProbeAlternateAddress_r tries
    to add 'oldHost' to the addr hash table under 5.6.7.8:7001, it will be
    able to do so successfully, since the old duplicate host is deleted.
    
    Change-Id: Id3aaab0718425492dca1deba892725160677b85f
    Reviewed-on: http://gerrit.openafs.org/6726
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 13a4f2b18bb84d05773529a794371d29f64570ab
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 12:46:36 2011 -0500

    vos: allow releases without offline time
    
    allow releases using dumps to clones to avoid offline time
    
    Change-Id: I06ed71f12494e362aa10a851081c9dcaf8c9a1af
    Reviewed-on: http://gerrit.openafs.org/6254
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8d618dceeefacbeb37c4ef3b1f9a8e80552311aa
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 12:29:30 2011 -0500

    vos: refactor code
    
    change vos to remove lots of duplicated code for volume deletes and clones
    
    Change-Id: I1f39e857de6eefa0d8897e4eb8ece49e4a72f518
    Reviewed-on: http://gerrit.openafs.org/6253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2a4c6c3b9e1dc30d5599e67e02237a1aeef8a0f0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 13 14:11:36 2012 -0600

    Rx: Avoid lastBusy/PEER_BUSY discrepancy
    
    If an rx call has the RX_CALL_PEER_BUSY flag set, but the call's
    conn->lastBusy is not set, we can easily cause an rx caller to loop
    infinitely. rx_NewCall will see that lastBusy for a call channel is
    not set, and will use that call channel, but rxi_CheckBusy will note
    that the call appears busy and that there are non-busy call channels
    on the same conn, and so will return RX_CALL_BUSY.
    
    This can currently happen in rxi_ResetCall, since we set
    RX_CALL_PEER_BUSY on the call again if the call had that flag set when
    rxi_ResetCall was called. If we are calling rxi_ResetCall with
    'newcall' set, the passed in call is unrelated to the new call, since
    it was obtained from the free list. Thus, the busy-ness of the call
    should be ignored. Fix this by only paying attention to the incoming
    RX_CALL_PEER_BUSY flag if 'newcall' is not set.
    
    Also prevent this from happening by clearing RX_CALL_PEER_BUSY in
    rx_NewCall when we select a call and clear lastBusy for that call.
    
    Change-Id: Ic5a4709854b62d962ed91ee0103c6cbdd735d175
    Reviewed-on: http://gerrit.openafs.org/6707
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4b93c42513785d1094c5336b5c9cc4add1b89c5e
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 12:00:52 2011 -0500

    vol: allow clones of readonly volumes
    
    allow writing of data where it's not user data we're changing
    (e.g. allow a vnode to be marked cloned in the vnode index)
    
    Change-Id: If3338ab0474ddbfe895b705217d61c054c4cb696
    Reviewed-on: http://gerrit.openafs.org/6251
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 641c67473615e80cfb8cf1e67636a82e42e5c899
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 11:24:16 2011 -0500

    volser: allow clonevol purge id to be new id
    
    effectively the same functionality that reclone already uses, but
    for some reason we artificially limit it out of clone despite
    the interface being there for it. it used to be there. put it back.
    
    Change-Id: I22868c41f8d3b920ba61d01e5334ff2320b38376
    Reviewed-on: http://gerrit.openafs.org/6250
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f1de04f3b35e91923efddca57e744b2138619223
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 11:22:38 2011 -0500

    volser: allow cloning non-rw volumes
    
    remove EROFS error which is the only thing preventing a working clone
    on a non-RW.
    
    Change-Id: Ic3d4d07519188712e9a38267fc74ebd1eaef7d8a
    Reviewed-on: http://gerrit.openafs.org/6249
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 91d38b93566734734f559a84c38a09e5c7d530c0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 18 19:57:25 2012 -0500

    Windows: Dereg Lanman and Lsa reg values for afsredir
    
    If the machine has been upgraded from an AFS SMB Server to the
    AFS Redirector, the registry will have leftover configuration
    for the "AFS" netbios name in the Lsa BackConnectionHostNames
    value and the LanmanWorkstation ReconnectableServers and
    ServersWithExtendedSessTimeout values.   These values are not
    useful with the AFS Redirector since \\AFS is owned by afsredir.sys
    and not the SMB redirector.  Remove the "AFS" netbios name from
    these values when afsd_service.exe has started in redirector mode.
    
    Change-Id: If8c100d3569595645c041ac58fedb1c835f9129f
    Reviewed-on: http://gerrit.openafs.org/6737
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1cc8feb6fc7b8d551b343b276e40e023ab1dccbe
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Sat Feb 11 09:43:30 2012 -0700

    doc: replace hostnames with IETF example hostnames
    
    There were several different real and made-up hostnames and company names used
    throughout our documentation examples.
    
    The IETF has reserved "example.com" and other "example" TLDs for use in
    examples (RFC 2606). Replace almost all references to ABC Corporation, DEF
    Corporation, and State University, as well as "abc.com", "bigcell.com",
    "def.com", "def.gov", "ghi.com", "ghi.gov", "jkl.com", "mit.edu",
    "stanford.edu", "state.edu", "stateu.edu", "uncc.edu", and "xyz.com".
    Standardize on "Example Corporation", "Example Network", "Example
    Organization" (example.com, example.net, and example.org).
    
    The Scout documentation in the Admin Guide contains PNG images that contain
    the old cell names, so I left those references until the images can be
    replaced.
    
    Change-Id: I4e44815b2d2ffe204810b7fd850842248f67c367
    Reviewed-on: http://gerrit.openafs.org/6697
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d5bf33ec94b1ac1a6c08863bac39154f762f0810
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 17 22:21:00 2012 -0500

    Windows: Explorer Shell Set Unix Mode bits
    
    The Unix Mode bits were not being saved.  This patch permits
    them to be saved.
    
    FIXES 130572
    
    Change-Id: I6bf96c04115ee0f01e84b44b9efaacb578d95cbc
    (cherry picked from commit 534d95ef90ac5e5ebf5deb227008e0b023e7ef8b)
    Reviewed-on: http://gerrit.openafs.org/6734
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 168d730a6f227c9b9dce228314eb75aa76b8cddb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 17 10:37:34 2012 -0500

    Windows: remove unnecessary DirectoryEnumEvent
    
    The DirectoryEnumEvent is not required to implement:
    
      AFSSetEnumerationEvent
      AFSClearEnumerationEvent
      AFSIsEnumerationInProgress
    
    The DirectoryEnumCount is modified by interlocked operations
    and can be used as a marker for when an enumeration is in progress.
    
    Change-Id: I414ce2bc753b0fd60a3fac51c2cf3d264a32ab05
    Reviewed-on: http://gerrit.openafs.org/6725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 780e497b32a927e008474a63b0427eca5d5a8877
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 16 23:50:18 2012 -0500

    Windows: VolumeCB->ObjectInfoTree.TreeLock Deadlock
    
    AFSPrimaryVolumeWorkerThread held the VolumeCB->ObjectInfoTree.TreeLock
    exclusively across calls to AFSCleanupFcb() which in turn triggers
    a file extent release to the service which can in turn result in
    an object invalidation.  Processing the invalidation requires shared
    access to VolumeCB->ObjectInfoTree.TreeLock which results in a deadlock.
    
    This patch alters the processing of AFSPrimaryVolumeWorkerThread
    so that the VolumeCB->ObjectInfoTree.TreeLock is not held across
    the AFSCleanupFcb() calls.
    
    FIXES 130431
    
    Change-Id: I3726df02ab47d2dcc83a32c75957a5dafcfbf20e
    Reviewed-on: http://gerrit.openafs.org/6724
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e5e9260c7936ce0b4d51855291421679acccaed4
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Feb 16 10:58:50 2012 -0500

    volinfo: initialize vnode details
    
    Clear the vnode details object. Fixes the path lookup in volscan.
    
    Change-Id: I5176cf50bdb54529230fc72e4d1a65a20b4c14ba
    Reviewed-on: http://gerrit.openafs.org/6722
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a4d9fbaa8036cc78ae0119330314f6deab159c90
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Feb 13 16:11:19 2012 -0500

    libafs: kill rxevent daemon even in upcall mode
    
    the switch from rxk listener env to upcall env could leave the event
    daemon running. fix that.
    
    Change-Id: Ibe36e7473536c36a739c0ad1e18fcf6880c98021
    Reviewed-on: http://gerrit.openafs.org/6713
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 07d9b18e36fff6fc96c629ac2bebe8bb43f6b9dd
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Wed Feb 15 20:12:56 2012 -0700

    doc: refer to aklog instead of klog
    
    klog (and kaserver) is deprecated. In generic examples, refer to the Kerberos
    5 equivalents.
    
    Change-Id: I95806a384686033fe2f03573017fc619c2a376c7
    Reviewed-on: http://gerrit.openafs.org/6721
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f38780b38d6097832b6d49453a0a47044bc06903
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 15 00:06:47 2012 -0500

    Windows: disable afsdhook.dll reload by daemon
    
    The daemon thread's loading and unloading of afsdhook.dll every
    second prevents the disk drive from sleeping and forces a search
    of the PATH.   Make the periodic reloading configurable and
    disable it by default.
    
    Change-Id: I7e1a5b2bc7e1c4d4ea39fc30cf34c1195a326ed2
    Reviewed-on: http://gerrit.openafs.org/6715
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fcc8244095a9cfb5235b39afc25c8817167e895c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 14 21:52:28 2012 -0500

    Windows: remove install9x rules
    
    Change-Id: I293f982d0f1466fd9bf213db055eedafc3c79977
    Reviewed-on: http://gerrit.openafs.org/6712
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 32de17264e229fca94742da7b6278536c24fe713
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 14 16:02:02 2012 -0500

    Windows: remove AFS_WIN95_ENV
    
    No longer build for Win9x.  Remove AFS_WIN95_ENV conditionals.
    
    Change-Id: I7082017a3aaa9a30723549974c4d8af50025b923
    Reviewed-on: http://gerrit.openafs.org/6711
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9a394780abb782f7a4f8b6095b6faf46b8e819a6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 14 15:35:07 2012 -0500

    Windows: add KTC_TOKEN_MUTEX_FAIL error code
    
    If acquisition of the Global\AFS_KTC_Mutex fails, return a
    different error code from a pioctl failure since the pioctl
    was never issued.
    
    Change-Id: I001227f87e97a06bf419c68d6579843e4f93f032
    Reviewed-on: http://gerrit.openafs.org/6710
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit da17eb6c8619c0f781cd4601c0da1258043aa475
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 14 12:01:38 2012 -0500

    Windows: avoid GetComputerNameW call for all ioctl
    
    Cache the value of GetComputerNameW() to avoid repeated calls
    for each and every redirector ioctl request.
    
    Change-Id: I4476db982897a631510eba7d859385268b16ce34
    Reviewed-on: http://gerrit.openafs.org/6708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 12e2a3abe7ca640a7cef2630039c06964f779f17
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 8 16:03:29 2012 -0600

    RedHat: Fail openafs-client 'stop' on rmmod error
    
    Currently, the openafs-client RPM init script ignores any error
    reported by rmmod. If 'umount /afs' succeeds but rmmod does not, the
    client may panic the machine if the client is started again (from e.g.
    running the 'restart' init script method), since afsd will try to
    initialize AFS with a libafs that has been shut down.
    
    So, do not ignore errors from 'rmmod', and instead fail the 'stop'
    method from the init script if we get an error.
    
    Change-Id: Id4a07703fb4df69ad3a6a3569c91e48f73a0d309
    Reviewed-on: http://gerrit.openafs.org/6709
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit aaab21e7a123ce701a8d5b2144032739fe177d6f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 11 22:14:23 2012 -0500

    doc: fix AdminGuide
    
    The AdminGuide was broken by e99224f2fe049bc339e87c8b6c195de67dca2f08.
    
    Change-Id: I4fc67d36857d62b562092b9892636f3e4c6d6623
    Reviewed-on: http://gerrit.openafs.org/6703
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9d5a4530916a243632d911d78d93db676cd860d5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 11 17:31:00 2012 -0500

    Windows: default cell grand.central.org
    
    Change the default cell from openafs.org to grand.central.org
    since there is no openafs.org cell.  All openafs software is
    distributed from the grand.central.org cell.
    
    Change-Id: I21ea2c5a9b55fbe3bb4ea19ae34ecf0e5a38084f
    Reviewed-on: http://gerrit.openafs.org/6699
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8127eeced29beb43984de73b14ff55337103470c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 11 17:29:51 2012 -0500

    Windows: reset version to 0.0.0 on master
    
    Master does not track a particular version number.
    For Windows builds on master, reset the version to
    0.0.0 so that the builds are not confused with the actual
    1.5.7600.
    
    Change-Id: I3c84bb117418284de0d65e2a4069b88908b91659
    Reviewed-on: http://gerrit.openafs.org/6698
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5c4e49062af0e9b81b963d1d6e50c7cc52c68eb9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 11 12:49:33 2012 -0500

    Windows: AFSRemoveFcb() cannot race
    
    Modify AFSRemoveFcb to use InterlockedComparePointerExchange
    to ensure that only one thread can remove and deallocate an
    AFSFcb structure.
    
    Change-Id: I27d27b6a99806bee2fc2cfc04c2ac04d975a553d
    Reviewed-on: http://gerrit.openafs.org/6696
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e99224f2fe049bc339e87c8b6c195de67dca2f08
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Thu Feb 9 17:37:01 2012 -0700

    doc: add section on direct volume access
    
    Provide examples of the direct volume access syntax, using the
    fictitious example.com cell.
    
    Change-Id: Ia2ea592531e29f6b744d0bd6993d598d78a799c4
    Reviewed-on: http://gerrit.openafs.org/6691
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 42aba4391ab3fadca2103e1df1f47445e40c436e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 10 08:56:12 2012 -0500

    Windows: Perform rename to self check earlier
    
    In AFSSetRenameInfo(), the rename to itself check was performed
    after the name collision check.  Move the check earlier in the
    routine to ensure that we catch the no-op before any real work
    is done.
    
    Change-Id: I580dd9958a259d4a1819c6bd882dae8067d2853d
    Reviewed-on: http://gerrit.openafs.org/6692
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d6f977830c164ee079c68101595c28ff1847f88f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 20 17:44:42 2011 -0500

    viced: Keep H_LOCK while locking host in h_Alloc_r
    
    Currently in h_Alloc_r, we h_Lock_r the host, so we have it locked on
    return. However, h_Lock_r drops the host glock, which is bad in this
    situation since we have already added the host to the global hash
    table, so other threads may see it. This can mean that by the time
    h_Alloc_r returns, the returned host may have HOSTDELETED set, and/or
    the addresses associated with the host may be completely different.
    
    h_Alloc_r's caller, h_GetHost_r, seems to assume that the host is
    still associated with the address of the passed-in connection. When
    this is not true, this can result in the host structure getting into a
    strange state, such as the primary addr/port may not be hashed. The
    host may also have HOSTDELETED set, in which case we're not supposed
    to be dealing with it at all.
    
    To avoid these problems, lock host->lock directly in h_Alloc_r,
    without going through h_Lock_r and dropping H_LOCK. Also do it as one
    of the first things we do to initialize the host, just to make sure
    that if anybody else happens to see the host, it is locked by us when
    they do.
    
    Change-Id: Ia99cb84ad94f3e143ed0bae33485a88d60ff5b27
    Reviewed-on: http://gerrit.openafs.org/6389
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 01301d0a5323a836efaae30cac325c25f6a7577a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 22 09:45:22 2012 -0500

    viced: Allow null host for BreakCallBack
    
    For replication writes at the remote site, we will want to call
    this without a host structure.
    
    Change-Id: I9cdef18f35229c9ab162cc07f6d60fe443204654
    Reviewed-on: http://gerrit.openafs.org/6674
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fb0d056c69489d76a5aad216277bf81ac3420aea
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Tue Feb 7 15:23:23 2012 -0600

    libafsauthent, tvolser: fix objdir build
    
    Change-Id: I50c3424d61fc440f870207229a9540ebdb9a9632
    Reviewed-on: http://gerrit.openafs.org/6689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c0ac71d92fda5c1cd451bd453b00983362f47ce7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 7 15:56:12 2012 -0500

    Windows: Release Notes corrections
    
    Add missing BlockSize registry value
    
    Correct AFSRedirector\NetworkProvider registry key description
    
    Add note that LanAdapter value is ignored if SMB mode is not in use.
    
    Change-Id: I449988f1f6841c1b254d73b08a6ee53ca2dbaeda
    Reviewed-on: http://gerrit.openafs.org/6685
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8bc139b4acdd2c06643abb44d3f5b3bfdcbf639d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 6 12:00:58 2012 -0500

    Windows: OpenAFS reparse points are surrogates
    
    OpenAFS reparse points represent mount points, symlinks, and dfs
    referrals.  All of which are file system objects that represent
    another named entity in the system.  As a result the reparse tag
    field must include the Reparse Tag Surrogate bit (0x20000000) set.
    
    This permits the IsReparseTagNameSurrogate() macro provided in
    winnt.h to be used to determine if the reparse point is a surrogate
    or not.
    
    See
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa365197%28v=vs.85%29.aspx
    
    Change-Id: I2561823e23371c2fdf01941da99fe848ca1fa11d
    Reviewed-on: http://gerrit.openafs.org/6668
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 58159672536df128cb21b449865acb011e8c90fc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 18 14:04:28 2012 -0500

    RW Replication: Add basic definitions
    
    Add some basic definitions that will be needed to handle RW
    replicas.
    
    A new volume type RWREPL is added.  Replicas will share the same
    volume ID as the RW volume, so the array of volume IDs by volume
    type is unchanged, as is the VLDB entry format.
    
    A new flag bit ITSRWREPL/VLSF_RWREPLICA for serverFlags identifies
    RW replica sites in VLDB entries.
    
    Change-Id: I882b238f34e682ebea782e11dc418ae1340d4546
    Reviewed-on: http://gerrit.openafs.org/6676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e93786b01b358dce419fa7f446cf154e6e40f5a0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Oct 4 17:47:48 2011 -0400

    vol: remove OPENAFS_VOL_STATS
    
    OPENAFS_VOL_STATS has been unconditionally defined since the IBM days.
    Adjust the code to assume it is set.
    
    Change-Id: I3b5ff99a469e6865ff1e10405a7f77d8c3890f59
    Reviewed-on: http://gerrit.openafs.org/5551
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 80592c53cbb0bce782eb39a5e64860786654be9f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 6 13:23:41 2012 -0600

    Disable kernel opt by default on Solaris 10 and 11
    
    With newer Solaris Studio (sometime in the 12.* series), cc started
    adding SSE instructions to optimized x86 code, which is invalid for
    kernel code and can generate panics. There appears to be no way to
    turn this off currently (-xvector=%none is non-functional), so default
    to not optimizing kernel code.
    
    Change-Id: I5fdedb11219df68e0146b8e0cee9010c2eb4067e
    Reviewed-on: http://gerrit.openafs.org/6671
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3a621a8518f96e15a08448fecdfdb0cbce6a02c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 3 16:06:16 2012 -0600

    Rx: Add missing rx_packet.h includes
    
    We no longer include rx_packet.h from rx.h, so rx_kcommon.h was not
    picking up some packet-related definitions. Some files
    (SOLARIS/rx_knet.c, IRIX/rx_knet.c) were using packet-related defines
    (e.g. RX_HEADER_SIZE) while just including rx_kcommon.h. Include
    rx_packet.h in those files to get the relevant definitions.
    
    Change-Id: Ib012f295d8e324dd8b38eb0b89933eac392a9583
    Reviewed-on: http://gerrit.openafs.org/6670
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dc6beb3ea29a64bcf59807fd451a573aa54e1122
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 2 17:35:52 2012 -0600

    SOLARIS: Use kcred instead of afs_osi_cred
    
    For many vfs ops to the cache, we currently pass &afs_osi_cred for our
    credentials, which is a mostly zeroed-out credential structure. In
    some modern versions of Solaris (Solaris 11), at least some parts of
    this structure need to not be NULL (cr_zone), or we will panic.
    
    The Solaris kernel provides a 'kcred' credentials structure for the
    purpose of using "kernel" credentials for i/o. So just use that
    instead, since kcred has existed at least since Solaris 8.
    
    Change-Id: Ia5252580d2de6dd7adfa1a1929148362d1da6360
    Reviewed-on: http://gerrit.openafs.org/6669
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 39d152810de9adfa89acb994506d0b9d368395f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 4 17:26:02 2012 -0500

    Windows: Avoid race during PIOCtl DirNode allocation
    
    Use InterlockedCompareExchangePointer to assign the DirNode to
    ObjectInfo->Specific.Directory.PIOCtlDirectoryCB.  Otherwise,
    one thread could race with another thread when allocating the
    pioctl object.
    
    Change-Id: Ic5b1a0ff2e44f2c4520cc7f5e536bd876bc83a65
    Reviewed-on: http://gerrit.openafs.org/6661
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b819d3e3abcfedf10a1c91a26f45d0d85e6b93f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 4 12:48:24 2012 -0500

    Windows: Hold Fcb references prior to service call
    
    If the Fcb reference count hits 0 while the service is called
    it is possible that the Fcb can be garbage collected prior to
    the completion of the call.
    
    Change-Id: I32c3c5e3debb246fe63ac6f6cc5625b493ee47a9
    Reviewed-on: http://gerrit.openafs.org/6660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit deb41441f0671d46de876d30f641f86cca7d256e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Feb 5 12:58:22 2012 -0500

    Windows: Do not build NSIS by default
    
    NSIS installers are no longer up to date and do not support 64-bit
    builds.  OpenAFS no longer distributes them for 1.7 and beyond.
    Stop building them by default.
    
    Change-Id: I6b8c2b46ccc30654cfb4661c9bde50483bc99785
    Reviewed-on: http://gerrit.openafs.org/6664
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 339189c88ba9c6bc7e4ea6434acef0b96da24dae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 3 11:35:33 2012 -0500

    Windows: add buf_InvalidateBuffers
    
    Add a utility function that invalidates all buffers for a
    cm_scache_t object.
    
    Change-Id: Ib10139fb2aefa03d597d5afd494652fade40432e
    Reviewed-on: http://gerrit.openafs.org/6651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 865f2442e682ff71b28a6b21363de8262f9e2bd1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 3 11:21:45 2012 -0500

    Windows: fix cm_DirOpDelBuffer assert
    
    In cm_DirOpDelBuffer() the data version field for a buffer
    in cm_dirOp_t.buffers[] can be CM_BUF_VERSION_BAD if the buffer
    was added to the buffer list but was never fetched from the file
    server.  If the buffer was recycled by buf_Get() an attempt to
    remove an entry from the directory will be failed as opposed to
    fetching the buffer from the file server and performing the local
    removal.
    
    Change-Id: Id9af5180f2176c2a90ef9907ae84139e66ffe5d6
    Reviewed-on: http://gerrit.openafs.org/6650
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 25142a9c2db933607507ee20e20216c635465d6d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 3 11:17:40 2012 -0500

    Windows: buffer DV ranges do not work for directories
    
    In cm_MergeStatus, always set cm_scache_t.bufDataVersionLow
    to the new data version because the cm_dir package does not
    support version ranges.   All modified dir buffers have their
    dataVersion field set to the current data version value.
    
    Failure to update the bufDataVersionLow field can result in
    B+ Trees being constructed from out of date directory information.
    
    Change-Id: Ic6bb6f78275de9c6c7960f2fc7c06c507b1144c1
    Reviewed-on: http://gerrit.openafs.org/6649
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 09ab91bf9d27258c126411d4c80e5363118b7bba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 3 11:16:04 2012 -0500

    Windows: update btree debugging code
    
    B+Tree key strings were changed to wchars for unicode support,
    the debugging printf format patterns were not updated to match.
    Do so now.
    
    Change-Id: I70619d2e3fbc007f3f21eaf56cc5d61503203818
    Reviewed-on: http://gerrit.openafs.org/6648
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4224dc5c281ffc2bf8dd34eadb76762304eece75
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 3 11:14:50 2012 -0500

    Windows: Do not open file if shutdown in progress
    
    Perform the shutdown check earlier in AFSCommonCreate() to prevent
    a request from being processed after the service indicates that
    a shutdown has begun.
    
    Change-Id: I8959141b5e2161ffe960e93a500b1153d9594a28
    Reviewed-on: http://gerrit.openafs.org/6647
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 209df87d08fb07d9641b81858a0821b9fd95dbcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 31 22:34:30 2012 -0500

    Windows: AFSRedir DebugFlags Turn on BugCheck
    
    Turn on bug checking by default via the installation.
    This permits sites to disable the functionality but will allow
    us to capture more meaningful minidump output.
    
    Change-Id: I62b6d0ce5deed2c8798c9afb09565a8846c32a8c
    Reviewed-on: http://gerrit.openafs.org/6646
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fe952116f3f0968e6c9f584297bafd3e8dd56903
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 31 15:51:34 2012 -0500

    Windows: Improve AFSNotifyDelete
    
    Do not call AFSNotifyDelete after the reference count on the
    DirEntry->ObjectInformation is given up.
    
    Log the Parent FID and file name since that is what are passed
    to the service to perform a  delete.  Log the actual FID of the
    object being deleted and not the address of the FID fields.
    
    Change-Id: Ic02e2cec625258356d1b08e03a02a7a9c4eb4ce7
    Reviewed-on: http://gerrit.openafs.org/6645
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9a1d7518b62f43586f4d228f9261adb0fac4f5a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 31 15:49:22 2012 -0500

    Windows: do not lower case direct volume references
    
    Not all volumes are lower case.  Do not lowercase the string.
    
    Change-Id: Icb5f5ee9865bd856775486dffb1849f17f9b23f7
    Reviewed-on: http://gerrit.openafs.org/6644
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ef63547e955edc60e2d074ef825b091e1c43882e
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Feb 1 03:31:23 2012 -0500

    com_err: correctly deal with lack of libintl
    
    On machines lacking a libintl, _intlize() currently fails to initialize
    the output error string--leading to tools (e.g., translate_et) returning
    a null string; make afs_com_err fall back to returning the en/US canonical
    error text when we don't have any i18n support...
    
    Change-Id: I333745fb0a16e5bc9adb0755591d80de010d4d31
    Reviewed-on: http://gerrit.openafs.org/6638
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 20e82cecd9008f9b3467c9a323c5c3abf27f3021
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Jan 29 18:08:57 2012 +0100

    linux: fix probing for noop_fsync
    
    Commit 267934d0e6910c8d8166a6e78f93c1bab40857b8 introduced
    probing code to deal with the renameing of simple_fsync
    inside the linux-kernel.
    This test does not take different parameter-lists
    for noop_fsync or simple_fsync resp. into account.
    Fix this.
    
    Change-Id: Ib490f0bb7e8098acc83fce001a43c08f478ad582
    Reviewed-on: http://gerrit.openafs.org/6628
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 87049b873b08ddd2246c02cd66099940eae2b1fd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 16:46:22 2012 -0500

    man-pages: add fs_getverify and fs_setverify
    
    Add man pages for two new Windows only commands
    
      fs getverify
      fs setverify -verify {on, off}
    
    Change-Id: Id784608fba35147a4e33f22e43c7cd50a2307b9e
    Reviewed-on: http://gerrit.openafs.org/6632
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7b3f5df6dca09a15d56aae5c431a50529c119db2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 14:41:06 2012 -0500

    Windows: do not panic if afsredir not ready during shutdown
    
    Change-Id: I0de6ad0f799e2acf1c02c6d53cfd9b1b437328fc
    Reviewed-on: http://gerrit.openafs.org/6630
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5e08628da2c24b40aeedebe0fef4e6ddd4690904
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 10:39:28 2012 -0500

    Windows: Increase size of worker thread pools
    
    The size of the afs redirector worker thread pools should be
    made configurable but for now just increase the pool size to
    be in parity with the default worker pool created by the
    afsd service.
    
    Change-Id: Ib3c9356783162620112041582fa3d9dbaf8fce37
    Reviewed-on: http://gerrit.openafs.org/6627
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0f65600b675e641575efaf81a71db990cebbb7d3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 10:37:50 2012 -0500

    Windows: Run Workers until empty task queue
    
    Do not allow a worker thread to sleep until the task queue is
    empty.  It is better for the running thread to pick up and process
    a task then to sleep this thread and wait for another one to wake
    up to perform the work.
    
    Change-Id: I776bb9408ab054b045acb9bc003b88436cc4266b
    Reviewed-on: http://gerrit.openafs.org/6626
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 55af3387ef90053a10b012ffe7ae1ebee7575e01
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 29 00:22:03 2012 -0500

    Windows: Release Notes for 1.7.5
    
    Release notes updates for 1.7.5.
    
    Change-Id: Ie44441150fc077cc4ca7924c67322a1aed4cb9af
    Reviewed-on: http://gerrit.openafs.org/6624
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit de4d12dd5366bfddb6fde5bb050ce8fbaeb95f1a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 20 14:43:06 2012 -0500

    Windows: Stop the thundering herd
    
    The afs redirector used notification events to wake up worker
    threads when a task was added to a work queue.  Notification
    events when signalled wake up all threads instead of just one.
    
    Instead, use synchronization events to wake up a single thread at
    a time and restructure the code to permit workers to wake up
    additional workers if there is additional work to be performed
    or during library shutdown.
    
    Thanks to Peter Scott for his assistance.
    
    Change-Id: I0fb9d8578035f606f03170622fc9c50a1dbfee3a
    Reviewed-on: http://gerrit.openafs.org/6595
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1161d5fc3cde5e15cb2d13f01ff225710fc04766
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 25 11:27:39 2012 -0500

    Windows: DriveSubstitution handle too small buffer
    
    If the buffer passed to DriveSubstitution is too small the
    resulting file path will end up being truncated.  At the very
    least log the fact that truncation is occurring.  In addition
    return the fact that truncation occurred to the caller.
    
    In NPGetUniversalName allocate a 4K buffer on the heap instead
    of calculating a buffer based on the local name buffer size.
    The local name buffer size has no relationship with the required
    buffer size for the expanded unc or device path.
    
    FIXES 130548
    
    Change-Id: I86fbb9db4aa6a438dbb5e793678ec52283d5546b
    Reviewed-on: http://gerrit.openafs.org/6618
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3d10edc2d49e0e1c7a7a67c538a932347a91504c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 24 17:09:01 2012 -0500

    Windows: Invalidate all volumes at library init
    
    The afsredirlib.sys library driver is unloaded when the afsd_service
    stops and is reloaded when the afsd_service restarts.  During the
    shutdown window any objects known to the kernel are preserved by
    afsredir.sys.  When the afsd_service restarts, there are no valid
    callbacks on any objects so the afsredirlib.sys must invalidate all
    status info to permit the service to request a callback from the
    file server on next use.
    
    Change-Id: I3e8fa9513f435ff5cd1a8cfb8daa766aa30dd8c1
    Reviewed-on: http://gerrit.openafs.org/6617
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e44163a5470c6a9ff766641e4ce1ade6569cbadb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 24 12:52:12 2012 -0500

    Windows: Refactor and consolidate afsredir invalidation
    
    Invalidation requests were being processed in an inconsistent
    manner because different rules were being applied to volume root
    directories and other objects and whether or not the invalidation
    was a whole volume invalidation or not.
    
    This patchset consolidates all invalidation logic for an object
    in the new AFSInvalidateObject function.  AFSInvalidateObject
    is then called from AFSInvalidateCache and AFSInvalidateVolume
    as necessary.
    
    AFSInvalidateVolume executes AFSInvalidateObject on all objects
    in the volume object tree.  As a result, whole volume invalidations
    whether triggered by the file server or "fs flushvolume" now work.
    
    Change-Id: I83f110b0987eb153794b6803a1fe48247090277f
    Reviewed-on: http://gerrit.openafs.org/6616
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e0eb5405a8fab142be26375f8daa87621d20cbe9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 22 21:21:51 2012 -0500

    vlserver: Consolidate VLDB entry server flag definitions
    
    Group the definitions of server flags for VLDB entries in one place,
    and rename VLSERVER_FLAG_UUID to make its name consistent with the
    other flags.
    This makes it easier to see the complete set of flags and avoid
    conflicts.
    
    Change-Id: I3b326e3d97bc297c0314cfc48f0a066c3ff0415e
    Reviewed-on: http://gerrit.openafs.org/6615
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ca0fdd84a4311628b8310be66c62aaec51c86d4d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Nov 7 09:48:14 2011 +0000

    viced: Remove the LWP fileserver
    
    *) Remove all LWP specific code from the fileserver, and make pthread
       the default
    *) Build the pthreaded fileserver in the 'viced' directory, rather than
       in tviced
    *) Move the DAFS specific files from tviced to viced (arguably, these
       should move into dviced, but there are currently no source files in
       that directory)
    *) Remove tviced from the build
    
    Change-Id: I6e186c9fad6d9dccd04cf1317a80c087587ef25f
    Reviewed-on: http://gerrit.openafs.org/5816
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 40bf6dee2409197f7494c3d09bf2dea7c248d185
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 13 13:43:16 2012 -0500

    vol: remove SYNC fatal_error processing
    
    Currently SYNC clients will "disable" themselves on certain error
    patterns. For example, if the server end closes its file descriptor
    too many times, or takes too long and then closes the fd, the SYNC
    client will return an error and set fatal_error. On any subsequent
    SYNC requests, the request will immediately fail without contacting
    the server, often making SYNC client programs effectively useless
    until they are restarted.
    
    There isn't really any reason to cause future requests to fail.
    Transient problems in the fileserver can easily make this situation
    possible (e.g. a fileserver can crash but still take several minutes
    to close the SYNC fd while the core is written to disk), and so while
    we may return an error for a specific problematic request, future
    requests may be fine.
    
    So, just remove everything related to fatal_error, so future SYNC
    requests can continue to be attempted. Adjust some log messages to
    reflect the new behavior.
    
    Change-Id: I4b8bfe53f591a9e8541cd5a98c909208df5bcbac
    Reviewed-on: http://gerrit.openafs.org/6548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cd1f72649650404581cfcdcf3beeeaf2bb960bd6
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Jan 12 16:48:54 2012 -0500

    libafs: add replicated connection pool
    
    keep pool of connections to use for replicated volumes,
    so we can have a separate idle time setting
    
    Change-Id: I61ed62c652c924b33fde920fac766c4ca0043826
    Reviewed-on: http://gerrit.openafs.org/6546
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a9803ae643b070b8c805cf94b4ac3205ba8668b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 15 11:43:40 2012 -0500

    Windows: make lock reader history debug only
    
    The lock reader history on osi_rwlock is proving to be too
    expensive.  Only use it for DEBUG builds.  Leave the data
    structures the same so that DEBUG builds can be mixed with
    a RELEASE build of afsd_service.exe.
    
    Change-Id: If0eeddb63c8f9919cdb5e119f31cde77974447b6
    Reviewed-on: http://gerrit.openafs.org/6559
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dfd0c2acc103cd2881bbfecd923c05012001e12a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 22 18:42:32 2012 -0500

    Windows: store data verification mode
    
    Over the lifetime of OpenAFS a number of bugs have been discovered
    that can result in data corruption.  This new mode (Windows only)
    will double check that the data received by the file server does
    in fact match the data that was written by the cache manager.
    
    After a successful StoreData and status merge but before the BIOD
    is released, a fetchdata is issued to read the data written by the
    cache manager.  If the data fails to match, the StoreData operation
    is repeated.
    
    Data verification mode can be queried with "fs getverify" and set
    with "fs setverify {on, off}".  The default value can be set with
    the TransarcAFSDaemon\Parameters DWORD "VerifyData" registry value.
    
    By default verification is disabled.
    
    Change-Id: Ic99c1692e6e78790e65ae600c3e428a79df59370
    Reviewed-on: http://gerrit.openafs.org/6601
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1474b4a739c60f96a8d2e38546778ab9572c138d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 22 18:38:49 2012 -0500

    Windows: VIOC_GETUNIXMODE = smb_IoctlGetUnixMode
    
    VIOC_GETUNIXMODE pioctl should execute smb_IoctlGetUnixMode not
    smb_IoctlSetUnixMode.
    
    Change-Id: Ia7dc3e1a82d7d14810f743f50ff7666f13ba8afc
    Reviewed-on: http://gerrit.openafs.org/6600
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 898930fc3ca81a5e5dde31967c00cdf5f4734ffa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 22 18:37:14 2012 -0500

    Windows: fix fs setcrypt help message
    
    Options are on, auth, and off.
    
    Change-Id: I671df4233801f39482b8cac096e89fa38955a852
    Reviewed-on: http://gerrit.openafs.org/6599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 111de76ea8dac713247c99ebe2182ae16cc0a3c0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 22 18:33:43 2012 -0500

    Windows; release BIOD after status merge
    
    Releasing the BIOD permits the accumulated buffers to be accessed.
    Releasing the BIOD before the cm_MergeStatus() call creates a
    window where the buffer data version is larger than the cm_scache
    data version.  Release the BIOD after the status merge.
    
    Change-Id: I023413cd41fbbd2d844d79a3b29c087792fffa24
    Reviewed-on: http://gerrit.openafs.org/6598
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 05f3a0d1e0359f604cc6162708f3f381eabcd1d7
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Jan 5 17:19:45 2012 -0500

    viced: disable rx keepalives during disk io
    
    when we are going to hit the backend storage, disable keepalives.
    the net effect of this is that no idle dead time is needed; instead,
    the normal dead time will result in a connection with no activity
    simply dying naturally if i/o blocks forever.
    
    it's important that keepalives be enabled during callback breaks,
    so that is done.
    
    Change-Id: I1a7bfe0bc62a092ca7dd6dbc4710f1b8254ca9a1
    Reviewed-on: http://gerrit.openafs.org/6515
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6e85044efe1305cec56a2589e096eca7d8a1053a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 20 20:10:51 2012 -0800

    Revert "Windows: disable memory extent interface"
    
    This reverts commit 503bc56403baf741a4a7056a4077edc43812b9d1
    
    Change-Id: I9e40787ecd0833370a86486fab6644667e03aa3b
    Reviewed-on: http://gerrit.openafs.org/6603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 44261b25648a419abbc61b2a9d2d3f0373428080
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Oct 4 17:35:18 2011 -0400

    viced: remove FS_STATS_DETAILED
    
    FS_STATS_DETAILED has been unconditionally defined since the IBM days.
    Adjust the code to assume it is set.
    
    Change-Id: If7fb913bbb42dba5d749e7c30b8d9b7d81e4b4f8
    Reviewed-on: http://gerrit.openafs.org/5550
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9056d09887c84a480e0a9ee3457a9469fbb97064
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 17 19:46:30 2012 -0500

    Windows: failover and retry for VBUSY
    
    When a file server returns the VBUSY error for an RPC the
    cache manager records the 'srv_busy' state in the cm_serverRef_t
    structure binding that file server to the active cm_volume_t
    object.  The 'srv_busy' was never cleared which prevents the
    volume from being accessed.
    
    Clear the 'srv_busy' flag whenever cm_Analyze() receives a
    CM_ERROR_ALLBUSY error which means that all replicas have
    been tried or whenever the error is not VBUSY or VRESTARTING.
    
    FIXES 130537
    
    Change-Id: I5020198e4f0ded1df0f64e228e699852f9de7c4d
    Reviewed-on: http://gerrit.openafs.org/6563
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f768fb95f3eb3815d6225e074c43341ed2ad5347
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 25 09:28:18 2011 -0500

    Windows: improved idle dead time handling
    
    RX_CALL_IDLE has been treated the same as RX_CALL_DEAD which is
    a fatal error that results in the server being marked down.  This
    is not the appropriate behavior for an idle dead timeout error
    which should not result in servers being marked down.
    
    Idle dead timeouts are locally generated and are an indication
    that the server:
    
     a. is severely overloaded and cannot process all
        incoming requests in a timely fashion.
    
     b. has a partition whose underlying disk (or iSCSI, etc) is
        failing and all I/O requests on that device are blocking.
    
     c. has a large number of threads blocking on a single vnode
        and cannot process requests for other vnodes as a result.
    
     d. is malicious.
    
    RX_CALL_IDLE is distinct from RX_DEAD_CALL in that idle dead timeout
    handling should permit failover to replicas when they exist in a
    timely fashion but in the non-replica case should not be triggered
    until the hard dead timeout.  If the request cannot be retried, it
    should fail with an I/O error.  The client should not retry a request
    to the same server as a result of an idle dead timeout.
    
    In addition, RX_CALL_IDLE indicates that the client has abandoned
    the call but the server has not.  Therefore, the client cannot determine
    whether or not the RPC will eventually succeed and it must discard
    any status information it has about the object of the RPC if the
    RPC could have altered the object state upon success.
    
    This patchset splits the RX_CALL_DEAD processing in cm_Analyze() to
    clarify that only RX_CALL_DEAD errors result in the server being marked
    down.  Since Rx idle dead timeout processing is per connection and
    idle dead timeouts must differ depending upon whether or not replica
    sites exist, cm_ConnBy*() are extended to select a connection based
    upon whether or not replica sites exist.  A separate connection object
    is used for RPCs to replicated objects as compared to RPCs to non-replicated
    objects (volumes or vldb).
    
    For non-replica connections the idle dead timeout is set to the hard
    dead timeout.  For replica connections the idle dead timeout is set
    to the configured idle dead timeout.
    
    Idle dead timeout events and whether or not a retry was triggered
    are logged to the Windows Event Log.
    
    cm_Analyze() is given a new 'storeOp' parameter which is non-zero
    when the execute RPC could modify the data on the file server.
    
    Change-Id: Idef696b15a8161335aa48907c15a4dc37f918bdb
    Reviewed-on: http://gerrit.openafs.org/6118
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c7673f4fad8e8b9390564e3cbfa11d5f1b52ba2f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 28 12:58:02 2011 -0500

    rx: RX_CALL_IDLE and RX_CALL_BUSY
    
    Allocate new Rx error codes for Idle and Busy calls but do not
    send these errors on the wire.  They are only intended for local
    use.
    
    RX_CALL_IDLE is an indication to an application that requests it
    that the rx peer is maintaining an open call channel but has not
    sent any actual data for the length of the registered idle dead
    timeout.
    
    RX_CALL_BUSY is an indication to an application that requests it
    that the rx peer believes the selected call channel is in use by
    a pre-existing call.
    
    When either RX_CALL_IDLE or RX_CALL_BUSY are assigned as the call
    error and an abort must be sent to the rx peer, the errors are
    translated to RX_CALL_TIMEOUT.  This is necessary because it is
    not possible to add new Rx error values in a method that is safe
    for peers that are not expecting them.
    
    This patchset also documents which Rx errors defined in rx.h are
    used on the wire and which are not.
    
    The Unix and Windows cache managers are updated to build with
    these new error codes.
    
    Change-Id: Ib236f27b88d503c68134534bb069e12dd83537d8
    Reviewed-on: http://gerrit.openafs.org/6128
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f6828bd9f158870002e8eeeb2325a40eb7ca5041
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Jan 18 18:42:19 2012 -0700

    Windows Asynchronous purging of file content after a DV change
    
    Purge all regions of the file surrounding the extents which are to be
    purged. If a failure occurs on the purge due to an existing mapping, flag
    for purge during handle close
    
    Change-Id: Id8ef81afaa614ea08e03bbd55ec2cdded0d7139f
    Reviewed-on: http://gerrit.openafs.org/6573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 22cba8e9702f3673c335bf834a9ee2c5e5fd9b6e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 19 15:25:44 2012 -0500

    Windows: cm_buf refcnt must hold buf_globalLock
    
    An assertion in buf_Recycle() was being triggered when a cm_buf_t
    object was supposed to be in the free buffer list but wasn't.
    buf_Recycle() was racing with another thread.  The test for
    refCount == 0 was performed while holding the buf_globalLock
    exclusively but the InterlockedDecrement(refCount) in buf_Release()
    was performed without holding buf_globalLock at all.  buf_globalLOck
    must be held at least as a read lock.  Otherwise, the refCount can
    reach 0 prior to the thread blocking for exclusive access to the
    buf_globalLock.  This provides buf_Recycle() which is holding
    buf_globalLock the opportunity to race.
    
    The solution is to make sure that buf_Release() always holds
    buf_globalLock as a read lock and then use buf_ReleaseLocked()
    to perform the actual decrement and test.
    
    Change-Id: Ieb67548a7e44fa5f06f9346f428b1edadfc80696
    Reviewed-on: http://gerrit.openafs.org/6576
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 201c954a36fe6ec19f96e4c8e24e6e080c3ba55a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 19 01:21:02 2012 -0500

    Windows: Redesign daemon thread queue management
    
    The daemon thread worker pool has some very poor properties.
    The threads spend a significant amount of time polling for
    ready to process tasks because so frequently a store/fetch data
    request is accompanied by many other requests for the same FID
    that would block.
    
    Lets try a new approach. Create one queue for each worker thread
    and assign the tasks to a thread by a hash of the FID.  This ensures
    that all tasks for a single FID are serialized and prevents multiple
    threads from attempting to perform the same task only to decide that
    the thread would be forced to block.
    
    Change-Id: I1d00ba0df1aa646e05b2cb3cb0796629f2e6d233
    Reviewed-on: http://gerrit.openafs.org/6575
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit afeb3c3a83ed0869e4a70b0725e3f85713330c3a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 17 19:43:54 2012 -0500

    Windows: prevent race assigning Fcb in AFSInitFcb()
    
    AFSInitFcb() is executed when the ObjectInformation->Fcb pointer
    is NULL.  More than one thread can make that determination at the
    same time.  Use InterlockedCompareExchangePointer() to detect
    a race and permit cleanup to be performed.
    
    Remove the output parameter of AFSInitFcb() to avoid a double
    assignment.
    
    Change-Id: I3870cccd5cd5e95134446523cce3547a2135d5e3
    Reviewed-on: http://gerrit.openafs.org/6562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 503d09413add1831dff5db24ee907eec59eda9e2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 14 10:32:51 2012 -0500

    Windows: cm_EndCallbackGrantingCall refactoring
    
    Refactor cm_EndCallbackGrantingCall to prevent assigning a
    callback to the cm_scache object in the case where it is going
    to be discarded.  If the race was lost the callback data was
    already discarded by cm_RevokeCallback.  By assigning and then
    discarding we are forced to issue an additional change notification
    to the smb client or afs redirector.  Not only is this extra work
    but the afs redirector notification can result in a deadlock with
    a kernel thread that is waiting for the current thread to complete.
    
    modify the function signature to return whether or not a race
    was lost with a callback revocation.
    
    rename 'freeFlag' to 'freeRacingRevokes' since that is what
    the flag is meant to indicate.
    
    create a new 'freeServer' flag to indicate when the server
    reference should be released.  There was a leak of server
    references when a race occurred.
    
    modify all calls to cm_EndCallbackGrantingCall() that provide
    an AFSCallBack structure on input to check for a lost race.
    If a race occurs, cm_MergeStatus() should not be performed.
    
    Change-Id: Ib17091ed51a24826bf84d33235125b3ccbbe47d4
    Reviewed-on: http://gerrit.openafs.org/6556
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d9884a480c96d14a3e5a6b08cde5e5003d7a4694
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 15 11:08:23 2012 -0500

    Windows: deadlock bet. DirEntry lock + DirectoryNodeHdr.TreeLock
    
    The DirectoryNodeHdr.TreeLock must be obtained before the
    DirEntry->NonPaged->Lock.  In AFSLocateNameEntry(), the
    DirEntry lock is obtained before the TreeLock when processing
    a symlink object.  For that case obtain the TreeLOCK first.
    Drop it if it is not required.
    
    Change-Id: I5b73f98b4bc7fcd5c02b8f255fa2423b52eb4a4d
    Reviewed-on: http://gerrit.openafs.org/6558
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2fa7f36f74adc9a40a6b7c7ac5b5ea528733e0dc
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Jan 18 12:04:29 2012 -0700

    Windows: Correctly mark extents dirty when using the non-persistent AFS
    cache
    
    Change-Id: I9e03264bb94fe6494f1ca3721e4d7c7faf469fb5
    Reviewed-on: http://gerrit.openafs.org/6571
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3cf5064c91af5efb5e2be80fb59db43b674d467a
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Jan 11 06:49:23 2012 -0700

    Windows: Performing async work after cache invalidation
    
    The code now queues a work item to perform additional work on extent
    processing after a cache invalidation has occurred. This additional work
    involves walking the current list of extents and purging/flushing regions of
    the system cache based upon the current state of the extent.
    Additional changes to filter which invlidation events result in a queued
    worker to perform asynchronous work.
    
    Change-Id: I72e4e0bac2caf69e41a095ce8fc4c2e083702b5c
    Reviewed-on: http://gerrit.openafs.org/6528
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6fda61ba2e2290dac818b42440fac1346d05b73d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 18 10:06:36 2012 -0500

    Parallel build fixes
    
    Assorted fixes for issues seen with parallel builds:
    - bucoord must depend on butm, since it uses libbutm
    - for most object files in roken and hcrypto, headers must be installed
      before building
    - remove rules with 2 targets in rxkad and ubik
    - budb: add dependencies for db_dump.o
    
    Change-Id: Ide05f223c2f1fe53bff33cb03011ca47bf741c80
    Reviewed-on: http://gerrit.openafs.org/6568
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit beafc7f742ebad021bfcbed73884aecedee4e04b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 18 11:22:35 2012 -0500

    Linux 3.3: use umode_t for mkdir and create inode ops
    
    The mkdir and create inode operations have switched to using
    umode_t instead of int for the file mode.
    
    Change-Id: Ib8bbf6eaa6e87d6a9692c45b1a3fe93fcc3eff7a
    Reviewed-on: http://gerrit.openafs.org/6567
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 64bd0b728ca95ba7bb4f1fdd909386fde3ce81e1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 18 10:25:03 2012 -0500

    Linux: use standard macro for set_nlink configure test
    
    A generic macro exists to test for functions in the kernel, use
    it for set_nlink.
    
    Change-Id: Iaec2b29e48f500bcf7a1ef80a3f2a1305e5dbb8f
    Reviewed-on: http://gerrit.openafs.org/6566
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 60df98806b1aaf6ea4ba8f089faf8e9247b2fba5
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jan 17 16:08:56 2012 -0500

    volinfo: fix formating of placeholder printfs
    
    needed to placate gcc-llvm on lion
    
    Change-Id: Ie15e4768d2e3feb7ad80dfef05395f2c4a227c0f
    Reviewed-on: http://gerrit.openafs.org/6565
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6ad3d646e62801cb81a3c9efeac320daa44936e1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jan 17 20:19:54 2012 -0500

    rx: Correctly test for end of call queue
    
    The intention of this condition is to check if the current call
    being considered is the last one on the queue, but the test is
    incorrect.  A null next pointer indicates a removed item, not
    the end of the queue.
    
    Use the queue_IsLast macro instead to correctly determine that
    this is the last item in the queue and that a call has to be
    selected, either the current one or a previously seen good choice.
    
    This can cause calls to get permanently stuck in the call queue
    and never get assigned to a thread, even when all threads are
    idle.
    
    Change-Id: Ie44a45734ab25bd3d2be3635c2e8f05857ca935e
    Reviewed-on: http://gerrit.openafs.org/6564
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 20151a869911a98f0938d74ae6096f3308d7ec01
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 14 10:44:56 2012 -0500

    Windows: disable memory extent interface
    
    There have been reports that the memory extent interface which
    is used when NonPersistentCache is active can lead to data corruption.
    
    Change-Id: I3a8acae0648a67534e46c73ef1dcbf7f939a558d
    Reviewed-on: http://gerrit.openafs.org/6557
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 69196e41ec9c5a6ce8efd370fb8582f66667bcf7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 14 10:31:01 2012 -0500

    Windows: restrict service to 2 cpus by default
    
    Performance drops off considerably when the number of processors
    increases due to lock contention and the cm_SyncOp wait processing.
    If the MaxCPUs registry value is not set, limit ourselves to two.
    Setting MaxCPUs to zero permits use of all CPUs.
    
    Change-Id: I4bae328ed589811b0ea2a514501a0c1aa74e8015
    Reviewed-on: http://gerrit.openafs.org/6555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7ae2c0df3373bdce129694efaf8d0097bab606da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 13 23:58:50 2012 -0500

    Windows: AFS_SERVER_FLUSH_DELAY AFS_SERVER_PURGE_DELAY
    
    Alter the flush delay to 5 seconds from 30 seconds
    
    Alter the purge delay to 300 seconds from 5 seconds
    
    Change-Id: I3f8e79d84582c4015e35d58cf1bedc9a023c0d73
    Reviewed-on: http://gerrit.openafs.org/6554
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f549911027417cdb4fbacfc8deaa8bd664d1651f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 13 23:57:10 2012 -0500

    Windows: AFSParseName edge cases
    
    If the input path is \afs\ behave as if the path is \afs.
    
    If the input path is \afs\*\ detect the wildcard and return
    STATUS_OBJECT_NAME_INVALID.
    
    Change-Id: I0ef4f30fb3b6245a52160b5e7f9233bc5f599485
    Reviewed-on: http://gerrit.openafs.org/6553
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 96b9900d306645bb79d631250e3d740f163a2b40
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 13 19:32:16 2012 -0500

    Windows: afs root is always a directory
    
    If the root is opened with the FILE_NON_DIRECTORY_FILE option,
    fail the request with STATUS_FILE_IS_A_DIRECTORY.
    
    Change-Id: Ic7d29f9032c2a19617276138833938fcf304838e
    Reviewed-on: http://gerrit.openafs.org/6552
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7fd67cb2899368ff091c9fca8b3ad82ac9cf004b
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Mon Jan 16 16:04:14 2012 -0700

    fix spelling in comments
    
    Change-Id: I4b4558833825295bbd16134cbd403a87b1c7b14c
    Reviewed-on: http://gerrit.openafs.org/6561
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fda2fe8538e00baddcd7fcf2c669162634b9d14e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 11 10:28:56 2012 -0500

    DAFS: Fix SYNC_FAILED VScheduleSalvage_r log
    
    SYNC_FAILED is not an unknown protocol code, so stop saying it is.
    
    Change-Id: I87ce896fe061e6b5bfd3efdbb442281682a3e652
    Reviewed-on: http://gerrit.openafs.org/6530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 627cfb1d4e7b32b4342c59b162a36ba9beb8a066
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 11 10:00:35 2012 -0500

    vol: Fix VCreateVolume special inode cleanup
    
    In order to dec the relevant special inodes, we need to know the
    parent vol id in addition to the vol id itself. Use the appropriate
    volume IDs when IH_DEC'ing special inodes after we fail to create the
    volume, so we don't leave behind special inodes.
    
    Change-Id: I77cfafac80c49debf46c86faefadd2a586d6f06b
    Reviewed-on: http://gerrit.openafs.org/6529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e77b6858ee889ec9e4e3fe3bb62c23b1c1f5727f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 21:10:32 2012 -0500

    Windows: dir buffers out of date - mark them as such
    
    if cm_CheckForSingleDirChange() fails, mark the cm_scache_t
    bufDataVersionLow as the current data version so that old directory
    buffers are discarded.
    
    Change-Id: I8d587a024027e74e66190fdc993564b640993b4c
    Reviewed-on: http://gerrit.openafs.org/6498
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7a25010a6e1719fc056b7367893c24267334978e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 5 11:52:00 2012 -0500

    Windows: Avoid file server rpcs on deleted files
    
    If a file has been deleted, do not attempt to issue RPCs
    to the file server in response to AFS redirector extent processing.
    All RPCs will fail with VNOVNODE which will in turn trigger invalidation
    requests to the AFS redirector which can deadlock.
    
    Change-Id: I85b6b4a0ce619e54df648163392be93761f709f0
    Reviewed-on: http://gerrit.openafs.org/6514
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cde0539f79b54dc3c4aa496be16b89a5e6a3654c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 4 12:13:40 2012 -0500

    Windows: use local var for interlocked result
    
    Save the result of the interlocked operations for use in
    debug logging.  Do not reference the incremented or decremented
    object in the log messages, it may have changed.
    
    Local assignment is provided even in functions that are currently
    not logging to assist with debugging and as a reminder to use
    the result variable in future log messages.
    
    Change-Id: Ia7ed8bf14b204b265e1db7713b96864634a731d7
    Reviewed-on: http://gerrit.openafs.org/6508
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6185532db58692e58fca035a7b89767523d33225
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 4 01:10:37 2012 -0500

    Windows: AFSParseMountPointTarget buffer overrun
    
    When parsing the AFS mount point string do not overrun
    the buffer if the colon cell/volume separator is not
    found.
    
    Change-Id: Id7275cc8815223730f7c39bd11a6f495beb117c4
    Reviewed-on: http://gerrit.openafs.org/6507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ba4f5afc9c68f74587c7a9669571c2c32cb7a13b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 4 00:02:42 2012 -0500

    Windows: Directory Enumeration, DVs, and TreeLocks
    
    Hold the TreeLock exclusively across all operations that
    enumerate, validate, or otherwise manipulate directory tree
    lists or data versions.
    
    Take the data version into account when deciding what to do
    with directory data.  If a directory enumeration takes more
    than one request to service and the DV has changed from the
    time the directory snapshop was taken by the service and the
    enumeration completion, merge in the changes and then mark
    the directory as requiring verification.
    
    If a directory change operation completes (create, rename, remove)
    and the directory DV has changed by more than one force a full
    directory verification.
    
    Set the directory data version to -1 whenever a directory
    verification is required.  Otherwise, the check to clear the
    VERIFY flag will only update the metadata for the directory.
    
    During a directory verification, if a new entry has been discovered
    it is added to the directory.  Make sure the VALID flag is set so
    that the entry will not immediately be removed as invalid.
    
    Change-Id: I6be8d00126fccf88bde8ae5f97e850dfb9a2f60f
    Reviewed-on: http://gerrit.openafs.org/6460
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9783384af764fae23eb34cb26193cc295ee1a185
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 4 00:01:09 2012 -0500

    Windows: correct log messages in AFSCleanup
    
    Change-Id: I1e202547d82195f85e6de20e72f6b07c6c7475ba
    Reviewed-on: http://gerrit.openafs.org/6506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit bd09d06c3f5bb81023b438e43c4b9b49d663bb34
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:58:04 2012 -0500

    Windows: Return Dir Data Version from AFSCleanup
    
    This patchset returns the directory data version from AFSCleanup().
    It does not do anything with it.
    
    Change-Id: I86ac37f9e237bfec3ea612b896bec4ed7d43d068
    Reviewed-on: http://gerrit.openafs.org/6505
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d2f9f8fa05b5b07965c8001d7b716da4ba486d83
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:43:30 2012 -0500

    Windows: reorg open handle counts and Fcb->NPFcb->Resource
    
    Reorganize when open handle counts are decremented in order
    to avoid a race with worker threads performing garbage collection.
    
    Change-Id: I07c1c5e80fad48cd3439dbc9c85bd6dff9b9bf44
    Reviewed-on: http://gerrit.openafs.org/6504
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e28d77fc4b3b6e5a93e5518d28c241eb9767d863
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:39:53 2012 -0500

    Windows: Permit renames of open files
    
    AFS does not impose a restriction on renames of open files.
    Failure to permit the rename can cause problems if an anti-malware
    service opens the file immediately after the application performing
    the rename does so.
    
    Change-Id: Ib23a6a893c5c575e89b8a817faec4c11300a04b7
    Reviewed-on: http://gerrit.openafs.org/6503
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b92a676517084432c64e1ccb1efff59e7bcbe088
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:36:50 2012 -0500

    Windows: Do not prime the service directory cache
    
    Performing a directory enumeration is an expensive operation
    that we should be attempting to avoid.   The current directory
    enumeration and evaluate target requests will use inline bulk
    status RPCs to the file server which obtain status for 49 items
    at a time from a single directory.
    
    Change-Id: I78e08680fec9715c3c446d0c4c5226cd79db80bd
    Reviewed-on: http://gerrit.openafs.org/6502
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6ee54eb3821b70a51cfde8096f2d50d46ead1b8a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:35:51 2012 -0500

    Windows: More specific error values
    
    When a mount point, symlink, or dfslink cannot be resolved
    return STATUS_REPARSE_POINT_NOT_RESOLVED.
    
    When an operation fails because the volume is readonly, return
    STATUS_MEDIA_WRITE_PROTECTED.
    
    Change-Id: Ib35f0d7851c087bf8aa25d4b0138ee72fb6f3c68
    Reviewed-on: http://gerrit.openafs.org/6501
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e5a2f955c782ee46d1b24671fd0bac555e11d1a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 3 23:12:34 2012 -0500

    Windows: do not flush dirty extents without permission
    
    When closing file handles, do not permit dirty extents to be
    released back to the service if the current handle (Ccb) does
    not have write permission.  The cleanup operation will fail with
    STATUS_ACCESS_DENIED, the extents will be released and all of the
    dirty data will be discarded.
    
    Change-Id: Iceacf5319147d1bd6277ea160bc67d91f1a49d5b
    Reviewed-on: http://gerrit.openafs.org/6500
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 22005aae24006dbe9ed9169c82d09ecfb032438d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Jan 8 21:02:04 2012 -0500

    opr: fix generated target
    
    we need opr for comerr, but we don't want it after. build,
    then clean up.
    
    Change-Id: I621f36bc5f6db85720b73b33578975d0dd126a18
    Reviewed-on: http://gerrit.openafs.org/6525
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 2caf0778ddeb6eeb854360cac20c6b3f0894f3eb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 6 17:22:35 2012 -0500

    libuafs: only rebuild h directory when needed
    
    A few changes to allow a "make all ; sudo make install ; make all..."
    workflow to work without manually removing files in between.
    
    Make the rebuilding of the h directory dependent on the source
    files scanned to build it.  This prevents it from being rebuilt
    for every "make install".
    
    While we're here, use -f when removing linktest for the clean target.
    This allows "make clean" to remove it without prompting when the user
    doesn't have write access to the file, as is the case when make install
    rebuilds it as root.
    
    Change-Id: I45b34ad41560ef8c905e6be4201fa438a3cc7bc3
    Reviewed-on: http://gerrit.openafs.org/6519
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 80a2e6ed74c9bc1634f2aca76ee69fd81fcbb386
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 7 15:40:42 2012 -0500

    opr: add buildtools target
    
    opr needs a buildtools target for "make generated". Make it install
    the headers, which are needed by the other generated targets.
    
    Change-Id: I34faa81fa84407c5e6e1460dc765d0c2ce1ef3e8
    Reviewed-on: http://gerrit.openafs.org/6523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 967d7201ee5c27db6d75d5efafcad9458e2b5167
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Jan 8 11:31:39 2012 -0500

    Make libjafs buildable again
    
    libjafs is surprisingly close to being buildable. Fix a few misc
    things which have bitrotted over the years so it is possible to
    actually build:
    
     - Add -I$SRC/config to the cflags, so we can include afsconfig.h
    
     - Remove references to the nonexistant rxkstats.o
    
     - Do not link with UAFS' AFS_component_version_number.o, since this
       gives us duplicate version number symbols
    
     - Include afs_vosAdmin.h in Group.c, to satisfy some missing symbols
    
    Change-Id: Ie8da88872288073d080a58ed7fe8c8b52052488e
    Reviewed-on: http://gerrit.openafs.org/6524
    Reviewed-by: Steven Jenkins <steven@synaptian.com>
    Tested-by: Steven Jenkins <steven@synaptian.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9620b67c138797e815621f0254cf15d0de504121
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Jan 4 15:04:41 2012 -0500

    afs: discard cached state when we are unsure of validity
    
    in the event we got a network error, we don't know if the server
    completed (or will complete) our operation. we can assume nothing.
    a more complicated version of this could attempt to verify that the
    state is what we expect it to be, but in extended callbacks universe
    this is potentially easier to solve anyway. for now, return the
    error to the caller, and mark the vcache unstat'd.
    
    Change-Id: Iafb67f24b89d78b8236660d047da12fce1dd6061
    Reviewed-on: http://gerrit.openafs.org/6510
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a12527c87a6f9e476861abbf18b9af84cef0db04
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jan 6 06:33:22 2012 -0500

    afs: put back conn if not using in checkserver loop
    
    we get a conn, check it for eligibility, and if not,
    just abandon it. "oops"
    
    Change-Id: Ie3841c19b05a87fb225c3e8124cd485cba3c3648
    Reviewed-on: http://gerrit.openafs.org/6516
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 2a31f35936698c504c863702ebb675ac9dfe47e1
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Jan 6 06:53:46 2012 -0500

    rx: add and export a public keepalive toggle
    
    make enabling and disabling keepalives a public function.
    export the function
    
    Change-Id: Ia553d91488511edc0b483d95326f14ac0e315332
    Reviewed-on: http://gerrit.openafs.org/6517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d6876d3d8c7888cb9ef8efc9971e24259adf025a
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Dec 29 13:06:31 2011 -0500

    Make src/opr objdir safe
    
    Update the Makefile for src/opr to use $? to reference headers, so objdir
    builds work correctly
    
    Change-Id: I3d8e0d885715a1d1bc1578f4e8ce69fe4239bb56
    Reviewed-on: http://gerrit.openafs.org/6444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0f4da13137612a9b0c0c3b57aa939d6661fb67f8
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Jan 3 15:57:14 2012 -0500

    afs: increase idledead time
    
    it's actually important this be more than the rx call dead time
    so timing out server callbacks to clients don't result in us idle deading
    a call to the server when callbacks need to be broken
    
    FIXES 130327
    
    Change-Id: Ibe2468edb61f307da9174d2c51cb0ea61c118c56
    Reviewed-on: http://gerrit.openafs.org/6497
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 38b74b34d2d370030f0e1abf835cfefefeaa0de2
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Jan 4 13:21:43 2012 -0500

    ukernel: enable nat ping again
    
    if we're not root, no nat ping at all. fix that.
    
    Change-Id: I7ea4db77b30ba639921b11c4ccad35a2e14133b4
    Reviewed-on: http://gerrit.openafs.org/6509
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e3c8bd457476ddd83a0e483a24fb08c436cf4aac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Jan 4 21:44:30 2012 +0000

    afs: Negate codes using a clear, standard method
    
    The bulk of our code uses 'code = -code' to negate an error code.
    Use this, rather than 'code *= -1', as the latter form makes my
    head hurt.
    
    Change-Id: I578fbd7c123c37d89ceb1a6373409feb8b619d86
    Reviewed-on: http://gerrit.openafs.org/6511
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 52944ff61a455770da451b551ffa0ae10c19ea2e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 4 19:27:18 2012 -0500

    Use offsetof() in set_header_word to get field offset
    
    Use offsetof() to replace a few instances where the same logic is
    open coded in set_header_word and inc_header_word macros.  In cases
    where the field name involves a variable as an index to an array,
    newer gcc gives a sequence point warning.
    
    Change-Id: I43e3d6ef6a63b51003496a1beb72c445a9109615
    Reviewed-on: http://gerrit.openafs.org/6513
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d4fba5f92db18d77c1fab20af3815637c132bc6f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 4 18:49:32 2012 -0500

    vol: initialize readmeinode
    
    Newer gcc complains about readmeinode being potentially used
    uninitialized.  Doesn't look possible in the code, but initialize
    it to quiet the warning.
    
    Change-Id: I7172475a64a3bfb90a76c0266d7812d5d42a2c4c
    Reviewed-on: http://gerrit.openafs.org/6512
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit faa58c9f60a158481bdfee27e175a37c5fcd64aa
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Dec 14 12:52:51 2011 -0500

    Unix CM: reset blacklist on hard-mount retry
    
    Reset black-listed servers on a request when retrying due to a
    hard-mount retry. When hard-mounts are in effect, a request may
    retry indefinitely. If all the servers have been black-listed
    due to a transient error, the request may never complete.
    
    Change-Id: I2510f729cbbb21836b139c94e25867118a6ad873
    Reviewed-on: http://gerrit.openafs.org/6330
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8e15e16c9e6a5768f31976cc21b48d5bb10617b7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 18 10:25:08 2011 -0600

    DAFS: Atomically re-hash vnode in VGetFreeVnode_r
    
    VGetFreeVnode_r pulls a vnode off of the vnode LRU, and removes the
    vnode from the vnode hash table. In DAFS, we may drop the volume glock
    immediately afterwards in order to close the ihandle for the old vnode
    structure.
    
    While we have the glock dropped, another thread may try to
    VLookupVnode for the new vnode we are creating, find that it is not
    hashed, and call VGetFreeVnode_r itself. This can result in two
    threads having two separate copies of the same vnode, which bypasses
    any mutual exclusion ensured by per-vnode locks, since they will lock
    their own version of the vnode. This can result in a variety of
    different problems where two threads try to write to the same vnode at
    the same time. One example is calling CopyOnWrite on the same file in
    parallel, which can cause link undercounts, writes to the wrong vnode
    tag, and other CoW-related errors.
    
    To prevent all this, make VGetFreeVnode_r atomically remove the old
    vnode structure from the relevant hashes, and add it to the new hashes
    before dropping the glock. This ensures that any other thread trying
    to load the same vnode will see the new vnode in the hash table,
    though it will not yet be valid until the vnode is loaded.
    
    Note that this only solves this race for DAFS. For non-DAFS, the vol
    glock is held over the ihandle close, so this race does not exist.
    The comments around the callers of VGetFreeVnode_r indicate that
    similar extant races exist here for non-DAFS, but they are unsolvable
    without significant DAFS-like changes to the vnode package.
    
    Change-Id: I84c5d1bdd29f9e7140e905388b4b65629932c951
    Reviewed-on: http://gerrit.openafs.org/6385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7461fa11939556d3b6f3ea38da7ff65607805579
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 26 21:22:08 2011 -0500

    afs: Grab a reference to setp in afs_icl_Event4
    
    We can drop GLOCK in several places in afs_icl_Event4 and the
    afs_icl_AppendRecord callee. To ensure that the given afs_icl_set does
    not get freed while we have GLOCK dropped, grab a reference to the
    set.
    
    Thanks to Ryan C. Underwood for reporting an issue triggered by this.
    
    Change-Id: Ifeda229b444abd75b0f22c7acf18a7553d833964
    Reviewed-on: http://gerrit.openafs.org/6431
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 267934d0e6910c8d8166a6e78f93c1bab40857b8
Author: Geoffrey Thomas <geofft@ldpreload.com>
Date:   Sat Dec 31 19:51:29 2011 -0500

    linux: fsync on a directory should return 0, not EINVAL
    
    Directory writes are synchronous, so this is fine. There's a
    mostly-convenient function in fs/libfs.c that returns 0 that we can use
    to do what we want ("mostly" because it was renamed in 2.6.35).
    
    FIXES 130425
    
    Change-Id: I9a2af60ed3152be036f0145c94152d8cff2e1242
    Reviewed-on: http://gerrit.openafs.org/6491
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit dee93ff1d114da711df345e06b5e1a682c877315
Author: Geoffrey Thomas <geofft@mit.edu>
Date:   Sun Dec 11 05:06:24 2011 -0500

    rpm: Don't attempt to restart on upgrade when using systemd
    
    systemd is actually rather capable of leaving the OpenAFS client in an
    incredibly broken state, thanks to its willingness to track services and
    kill their processes. We should not attempt to restart the client on
    upgrade, whether a normal upgrade or a migration from SysV initscripts.
    In the former case, it's fine (and correct) for the old AFS to keep
    running; in the latter case, the unit file is capable of correctly
    shutting down an initscript-launched client. The same is true for the
    OpenAFS server.
    
    This brings the packaging in line with the SysV initscript code in the
    specfile, which does not attempt to restart the service, as well as with
    e.g. Debian's packaging, which uses --no-restart-on-upgrade.
    
    While we're here, clean up a redundant BuildRequires on systemd-units.
    
    Change-Id: I3b1771a7246f04be0e82765976664c50e0adae47
    Reviewed-on: http://gerrit.openafs.org/6247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit af08b745117899d116d4ee14e08e1184369f591f
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Dec 29 17:23:32 2011 -0700

    Windows: Support correct status codes from service
    
    When performing object verification, check for status failures corresponding
    to parent object issues which require a validation of the parent
    
    Change-Id: I4a73b55961eda62079c933f9e85888ea24b39f1f
    Reviewed-on: http://gerrit.openafs.org/6447
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 52c3bace5ac4c93883d4913933a58573abded3e9
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Dec 29 17:30:45 2011 -0700

    Windows: Handle invalid node types
    
    In the case where the direntry data is invalid, construct an Fcb
    of type INVALID so that the direntry can be displayed and the objected
    deleted even if it cannot be evaluated.
    
    Change-Id: I37da154b7429929fe833874c7cd048a3a804a96f
    Reviewed-on: http://gerrit.openafs.org/6445
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ac56cd9e6182742e0b586ea8d833e4c7346e03b8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 21:45:54 2011 -0500

    Windows: AFSFileUpdateResultCB ParentDataVersion
    
    Add the parent directory data version to the AFSFileUpdateResultCB
    structure.
    
    Change-Id: Ia1b1345c410ff216b35f3d42912ac921b978a299
    Reviewed-on: http://gerrit.openafs.org/6459
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 85f4971f850c0110915ba862922c1536ebe506c2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 20:09:06 2011 -0500

    Windows: renames that overwrite existing target
    
    The Windows client up to this point has never correctly implemented
    directory renames.  For the longest time it assumed that the file
    server would not replace a pre-existing target.  As a result, when
    the target name was already in use the contents of the directory
    would end up with the target name existing but its previous file id
    associated with it.
    
    A second problem was that lookups for the source and target names
    were not performed while the directory (or directories) were exclusively
    held to ensure that competing changes could not occur.
    
    This patchset corrects both issues in cm_Rename() and adjusts the
    redirector interface to match the new behavior.
    
    Change-Id: I4f5cff7debcf9925947ac3fc6931565acb57ebd9
    Reviewed-on: http://gerrit.openafs.org/6457
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d64983bab047ad6349d2edfe2ffa35b484529889
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 01:34:51 2011 -0500

    Windows: AFSDirEnumResp and AFSDirEnumEntry changes
    
    A directory enumeration is not an atomic operation.  The redirector
    reads an enumeration a chunk at a time.  During the entire enumeration
    it is possible that the data version of the directory object has
    changed due to entries being added or removed.  This patchset adds
    two data version values to the AFSDirEnumResp structure.
    
    The first is the snapshot data version which is the dv of the
    directory object at the time the entry list snapshot was taken.
    The second is the current data version number of the directory
    object.
    
    If an object has been removed from the directory after the snapshot
    was taken, attempts to fetch status information for the object will
    fail with a VNOVNODE (aka CM_ERROR_BADFD aka STATUS_INVALID_HANDLE).
    The NTStatus field has been added to the AFSDirEnumEntry structure
    to permit notifying the redirector of such failures.
    
    RDR_PopulateCurrentEntry() has been extended with an additional
    cm_Error parameter that accepts the errorCode field provided by
    the cm_direnum_entry_t object constructed during the enumeration.
    
    Change-Id: Iee8f6bf9919780ce4dd6c2b184810c0d6afc39cc
    Reviewed-on: http://gerrit.openafs.org/6455
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f142b615bbac6195aa4e275179f37da490013432
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 01:24:27 2011 -0500

    Windows: Add AFSFileEvalResultCB
    
    In response to AFS_REQUEST_TYPE_EVAL_TARGET_BY_ID and
    AFS_REQUEST_TYPE_EVAL_TARGET_BY_NAME, return the new AFSFileEvalResultCB
    instead of a raw AFSDirEnumEntry.   AFSFileEvalResultCB includes
    the data version number of the parent directory at the time the
    node was evaluated.
    
    Change-Id: Ida25790688f8ab193c234c9b3fadf4f594edd740
    Reviewed-on: http://gerrit.openafs.org/6454
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ccd6614c8f92e349e1892fa59f814b615c8816e0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 01:10:08 2011 -0500

    Windows: Add AFSFileCleanupResultCB
    
    Add AFSFileCleanupResultCB which includes the parent directory
    data version number.  This is necessary because object deletion occurs
    during the Cleanup processing and the redirector needs to know the
    resulting data version of the affected directory.
    
    Change-Id: Iac07ddaaa3e3373f1690c85d247313e070450169
    Reviewed-on: http://gerrit.openafs.org/6453
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9115c437c4113a554f3c3b97c4eaeafea6949600
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 18:31:11 2011 -0500

    Windows: STATUS_OBJECT_PATH_INVALID == invalid parent directory
    
    Modify evaluation of nodes by name and id to consistently return
    STATUS_OBJECT_PATH_INVALID if the parent FID no longer exists.
    
    Change-Id: I94f56e5b525a35279152f6f7848654a56bbfa235
    Reviewed-on: http://gerrit.openafs.org/6446
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e7ecda66eb2054012b4ec153a656ce674d6e70e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:46:46 2011 -0500

    Windows: Request extents readability
    
    Two minor code modifications to make the code easier to read.
    
    Change-Id: I1cf72911ace4eff17c857cd000cb24fbe0f28c2b
    Reviewed-on: http://gerrit.openafs.org/6433
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 970d6e268011ab4ad8a4857121933514f7768b55
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:44:36 2011 -0500

    Windows: RequestExtents avoid bufWrite if rdr held
    
    If the cm_buf_t is held by the redirector the buffer cannot
    be written back to the file server even if dirty.  Therefore,
    do not check whether or not the cm_buf_t is dirty until after
    it is known that the buffer is not redirector owned.
    
    Change-Id: I10dc8f74915c2267dc44138284eba273eb708e0a
    Reviewed-on: http://gerrit.openafs.org/6432
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2ef57a3ee951660cb69d8656e9293c93b28e0d1e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 31 16:07:00 2011 -0500

    Windows: avoid race during Fcb cleanup
    
    The worker thread can race with a AFSCleanup() operation and
    tear down the Fcb before the AFSCleanup() drops the Fcb->NPFcb->Resource.
    Avoid this race by requiring the worker thread to obtain the resource
    once before deleting the resource.
    
    Change-Id: Iafad8260c5dfc4187a62c04b14d55ac0bf0e4aeb
    Reviewed-on: http://gerrit.openafs.org/6462
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e2b42e2cde170102c07937d55db376416cb3965c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 31 16:04:27 2011 -0500

    Windows: avoid deadlock if bulk error during enum
    
    If the cache manager has a valid callback at the start of a
    directory enumeration, the service can begin a bulk status rpc
    which can fail.  The error code from the rpc is never propagated
    to the caller, therefore the caller loops forever attempting to
    complete the enumeration with status info.
    
    Fix it by returning the error.
    
    Change-Id: I53892ddf338152d53c533ef31c3b1047c96bfbf2
    Reviewed-on: http://gerrit.openafs.org/6461
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 36657b8505e3b232158a63b4ecad12fa59548b3a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 20:24:49 2011 -0500

    Windows: AFSInsertHashEntry can fail
    
    If AFSInsertHashEntry() fails, the object information structure
    that was being inserted is not in the btree.  Therefore, ensure
    that the object does not have the AFS_OBJECT_INSERTED_HASH_TREE
    or AFS_VOLUME_INSERTED_HASH_TREE flag set (as appropriate).
    This permits the unreferenced object to be garbage collected.
    
    Change-Id: I023f765571a7ba014556d9505ab2d46ec930f1a2
    Reviewed-on: http://gerrit.openafs.org/6458
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d4eb369e7a5dada7e13585d934a63fa27e0d20ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 30 12:55:30 2011 -0500

    Windows: additional AFSValidateEntry logging
    
    Change-Id: Iecfbaff197b83de1c31c51d18f819c9d1be54f60
    Reviewed-on: http://gerrit.openafs.org/6456
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ad3c00520b93174808f692ced3e35261030a8c1b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 22:20:38 2011 -0500

    Windows: add DV and error status to dir enumerations
    
    The cm_BPlusDirEnum family of functions are atomic when generating
    the directory enumeration but are not atomic with respect to the
    rest of the system as the enumeration is accessed.  Therefore, the
    data version of the directory at the time the enumeration is created
    may not be the same as the directory version when the enumeration
    is fully processed.  We therefore store the initial data version in the
    cm_direnum_t object.
    
    When the enumeration is fetching status information for each of the
    directory entries, it is possible that the fetch status will fail.
    We therefore store the fetch status error code in the cm_direnum_entry_t
    object.   By doing so, the consumer of the enumeration can make a
    reasonable decision about the lack of status info.  For example,
    if the resulting error is CM_ERROR_BADFD it is known that the entry
    has been removed from the directory since the initial enumeration.
    
    Change-Id: I289881e2c59525a9f998559b00769d3ac3f335c0
    Reviewed-on: http://gerrit.openafs.org/6452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9b42af9326dbf34a7a657a7d4a2ea6d845c845e1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 22:18:59 2011 -0500

    Windows: protect merge status against dscp == scp
    
    If the directory status object is the same as the object for which
    status info is being merged, the object will refer to itself as its
    own parent.  Do not permit that.
    
    Change-Id: I6f7b6416f4c875a30dd5b85ba679389484523b12
    Reviewed-on: http://gerrit.openafs.org/6451
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 60992d4ffb94a8472ccff3ff7890c34e2572688d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 19:58:19 2011 -0500

    Windows: protect dir ops by CM_SCACHESYNC_STOREDATA
    
    CM_SCACHESYNC_STOREDATA is used to ensure that only one directory
    modifying rpc can be issued to the file server at a time on a
    single cm_scache_t.  However, the local directory modifications
    were being made after cm_MergeStatus() and cm_SyncOpDone()
    were called.  As a result, serialization of changes against the
    local directory buffers and b+tree was lost.
    
    Change-Id: I1e99685767b6b9b51e546be0946b189386e8dbd2
    Reviewed-on: http://gerrit.openafs.org/6450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dc06ebad8ba7a58c1561ddd03f0a8a79e610d7c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 19:19:04 2011 -0500

    Windows: init scache DV=CM_SCACHE_VERSION_BAD
    
    zero is a valid DV.  CM_SCACHE_VERSION_BAD is not.
    
    Change-Id: I65c10153059bae6dbd4da344958db4a6be309633
    Reviewed-on: http://gerrit.openafs.org/6449
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 83c52997b7b9e4d91a0263fbd26ec19fb2092d9c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 12:45:16 2011 -0500

    Windows: afsredirlib log messages
    
    Improve or correct a number of log messages.  Report the correct
    FID or NT Status value, etc.
    
    Change-Id: I434b47e1350767f868170323280298f77e1a840a
    Reviewed-on: http://gerrit.openafs.org/6442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ea0865e3266884f15a05bb3edd316f5ce8f972ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 29 12:42:26 2011 -0500

    Windows: Symlink resolve failure error
    
    If a symlink cannot be resolved, return STATUS_REPARSE_POINT_NOT_RESOLVED
    instead of STATUS_ACCESS_DENIED.  The symlink is after all a reparse
    point.  This results in a more meaningful error being delivered to
    the end user.
    
    Change-Id: I30713dac7b916efaf3cf7a5d7717cb0bc971a31a
    Reviewed-on: http://gerrit.openafs.org/6441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 07655bc23e2ab7b5d0c808d79b3c7838a01eacfa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 28 17:08:23 2011 -0500

    Windows: Make idle dead timeout very long
    
    The idle dead timeout processing must eventually be removed
    from Rx for initiators.  In the meantime, make the timeout period
    ten times longer than the hard dead timeout.  This permits eventual
    failure when the server doesn't respond in ten minutes but avoids
    more transient issues.
    
    Change-Id: Ia673666dd55b33c4375ee8fdcbb89c82e8b01185
    Reviewed-on: http://gerrit.openafs.org/6440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 19f1e0f7cf40c3da1d49c789358bd814f7e3b3eb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 28 17:07:01 2011 -0500

    Windows: replace strdup with xdr_alloc in callback processing
    
    The CRT allocator cannot be used for memory that will be freed
    by afsrpc.dll.  Use xdr_alloc() instead.
    
    Change-Id: Idd33710c225d58b4e6eba0bfdb2f8b3282996258
    Reviewed-on: http://gerrit.openafs.org/6439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5d11bd665cd93b736f735d689f703e44f865cefc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:59:21 2011 -0500

    windows: osi_TSignalForMLs simplify
    
    Simplify logic for readability and efficiency.
    
    Change-Id: I3c78b23b6fcf8478fe20a803755923108995d532
    Reviewed-on: http://gerrit.openafs.org/6438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f6f95ac4bfc5e504c1b825fd52b787d12a89e53c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:56:38 2011 -0500

    Windows: osisleep do not tamper with queues
    
    There is no need to manually remove an entry from a queue before
    executing osi_QRemoveHT().  osi_QRemoveHT() removes the item
    from the queue and fixes up the pointers correctly.  Manual
    intervention is a waste of cpu and can be harmful.
    
    Change-Id: Iaea4ceac2cb5f61e5bb73fd181bd934e06ddf0a6
    Reviewed-on: http://gerrit.openafs.org/6437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4c2190784f1d4bb613cc140b8d189f0ab4ae10fc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:55:22 2011 -0500

    Windows: osi_sleepInfo tid type
    
    The thread id type is DWORD not size_t for consistency
    with the rest of the client_osi package.
    
    Change-Id: I2e2d31d8738d9de82d99f346f5109de133f3e25e
    Reviewed-on: http://gerrit.openafs.org/6436
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3011a8228a04a54e04f5626e9f686840a25f2d5f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:51:33 2011 -0500

    Windows: add osi_TWaitExt(), fix osi_TWait()
    
    osi_TWait() was adding new locks to the turnstile at the tail
    which is the end of the queue locks are removed from.  This
    implemented LIFO instead of FIFO when FIFO is the "fair" order
    to service lock requests.
    
    osi_TWaitExt() is added to permit the Reader to Writer upgrade
    request to use LIFO when more than one reader is present.
    
    Change-Id: Ib6435a3edc2cb8519939cfad93e0db4b0604da2d
    Reviewed-on: http://gerrit.openafs.org/6435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2b6a8d384bd4426a61c72e79c34ffd75a03e612e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 26 20:48:24 2011 -0500

    Windows: use waiters counter instead of osi_TEmpty
    
    The osi_TEmpty() macro examines the values of the turnstile
    pointers.  Instead use the lock's 'waiters' counter to determine
    if there are waiting threads to signal.
    
    Change-Id: I8e14a03a30adcf1e67b07fc020104c2ada3b5c6a
    Reviewed-on: http://gerrit.openafs.org/6434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2cdd59d8f318193d0ef7937910466531caf1c963
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 24 15:16:12 2011 -0500

    Windows: kauth search for kerberos iv port first
    
    Modify src/kauth/user_nt.c to match the service name search
    order of the Unix code:
    
     kerberos4
     kerberos-iv
     kerberos
    
    The standard Windows SERVICES file includes "kerberos-iv" as
    port 750.
    
    FIXES 127907
    
    Change-Id: I518a812cc2d465334e8ef6929f8988c51b33749b
    Reviewed-on: http://gerrit.openafs.org/6430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8a574ba16a80fc2b8b703ddcfc99486b977e6071
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 22 15:48:49 2011 -0500

    afs: Panic on afs_conn refcount imbalance
    
    An undercounted afs_conn can easily cause a panic and/or memory
    corruption later on, since we put an rx_connection reference with each
    afs_conn reference. Panic as soon as we detect this, as this indicates
    a serious bug.
    
    Change-Id: I251fd3303114d0822b8cf70805a8a447986a7762
    Reviewed-on: http://gerrit.openafs.org/6413
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 79f69f2eb130c1c5cb6cdfa4e7a129f450a58339
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 17:01:16 2011 -0500

    afs: Add afs_WriteDCache sanity checks
    
    Writing a non-free non-discarded dcache entry with a zero volume id
    can easily cause hash table corruption later on, so make sure we don't
    do that. Also log something if the write itself fails, as this usually
    indicates an unusual situation involving I/O errors or something.
    
    Change-Id: Ib9602227e8cee324cb63a4a3dee28e53af69b446
    Reviewed-on: http://gerrit.openafs.org/6419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9ed26da26f4a5a3fef3bf0a7b6f9dae751ce6659
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 16:05:40 2011 -0500

    afs: Cope with afs_GetValidDSlot errors
    
    Make callers of afs_GetValidDSlot deal with getting a NULL dcache,
    which can occur if an error is encountered. Some of these just panic
    at least for now, since a code path for recovery is complex, but this
    is at least better than dereferencing a NULL pointer.
    
    Change-Id: I4022a914bbaa0e1f3f4daadfdc32d165a6e2febd
    Reviewed-on: http://gerrit.openafs.org/6418
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1a672914ab050811c99b6307c657630ab9b5c8ee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 15:04:32 2011 -0500

    afs: Do not always ignore errors in afs_GetDSlot
    
    Currently afs_UFSGetDSlot will silently swallow any error in reading
    the specified dslot from disk, and will return a "blank" dcache to the
    caller. However, many callers of afs_GetDSlot will be asking for a
    dcache that we know exists, and more importantly, we know is on the
    global hash table. If a disk error is encountered and we're given a
    "blank" dcache, we will erroneously believe the dcache entry is not on
    the hash table, causing corruption of the hash table later on.
    
    So instead, modify all callers of afs_GetDSlot to use either
    afs_GetValidDSlot or afs_GetNewDSlot. Calling afs_GetValidDSlot
    indicates that the given dentry index is known to be valid, and any
    error encountered while reading the entry from disk should result in
    an error (for disk I/O errors we have no control over, this results in
    a NULL dentry returned; for internal consistency errors we panic).
    Calling afs_GetNewDSlot indicates that the specified index may not
    exist or may not be valid, and so returning a "blank" dentry in that
    case is fine.
    
    For memcache, the situation is the same, except any time we go to
    "disk" it is an (internal) error, since there is no disk.
    
    Change-Id: I53ea6e99649e4d6d5cbde58929dfcee1d45a3e7b
    Reviewed-on: http://gerrit.openafs.org/6417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 12177ba6fffaf8a693dd8c8e9445d5e7725ae743
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 17:25:29 2011 -0500

    afs: Remove second argument to afs_GetDSlot
    
    All callers of afs_GetDSlot were passing NULL as the second argument
    to afs_GetDSlot. So, remove the argument, and behave as if tmpdc was
    NULL unconditionally.
    
    Change-Id: I138fe917d739c3020c35c20da48ffdf38f682fd6
    Reviewed-on: http://gerrit.openafs.org/6416
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b5ca12ac4696c4049be14974f1e946bb55e1c440
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 22 15:01:52 2011 -0500

    afs: Indicate error from afs_osi_Read/Write better
    
    Currently afs_osi_Read and afs_osi_Write just return -1 on any I/O
    error, even though they know the error code given from the OS VFS.
    Just return that code instead so the caller can see what the error
    was; but negate it, so it's clear that it is an error.
    
    Change-Id: I3d8350da18d075713356137a1cacf182a749fe3e
    Reviewed-on: http://gerrit.openafs.org/6412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 456ee898ae77b201275363f4efc0098c28e195d5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 22 14:50:09 2011 -0500

    afs: afs_osi_Read/Write returns negative on error
    
    afs_osi_Read and afs_osi_Write need to return negative values on
    error. EIO is not negative; return -EIO so we don't accidentally
    return "success" if someone requested to read or write EIO bytes.
    
    Change-Id: Id0693776737fdf7086de16a935ad3942f5026e55
    Reviewed-on: http://gerrit.openafs.org/6411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2d8fa26022e6a9aac1877d0b6b73a3b1922a2674
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 22 13:50:53 2011 -0500

    klog.krb5: cast get_cred_keylen to unsigned
    
    get_cred_keylen can yield a type besides an unsigned int (such as a
    size_t on heimdal). But we are printing it with %u, which causes a
    warning, so cast it to an unsigned int.
    
    Change-Id: I7b89de5b0b163b9532ac347e9c56e865cb58f266
    Reviewed-on: http://gerrit.openafs.org/6410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2e5545342b0c644546f8a370bdbf836a6da68b60
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.
    
    Change-Id: Ia052ba0a1bfe511dd051f3cfbee10395dc9d2c60
    Reviewed-on: http://gerrit.openafs.org/6422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 98a6db0b047efcfbeb0fb3c8b1e4e136b206f10d
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.
    
    Change-Id: I29b8a8858467d1c6ebacb4926a15165feae64f2c
    Reviewed-on: http://gerrit.openafs.org/6421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit af218dee6c517f4636a18c681bff6f1212a7d9c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 21 22:00:12 2011 -0500

    afsd: Parse cacheinfo during argument parsing
    
    Currently we parse cacheinfo in afsd_run, when the client is
    initialized and started. Parsing cacheinfo can change
    afsd_cacheMountDir, however, which may be of interest to afsd.o users;
    in particular, libuafs exposes this via uafs_MountDir(). This means
    that if a mount dir is not explicitly specified in the libcmd
    arguments to afsd, a libuafs-using program will see the mountpoint as
    the empty string if it is queried after afsd_parse but before
    afsd_run. For afsd.fuse, this causes the cryptic error message:
    
        fuse: bad mount point `': No such file or directory
    
    since the mountpoint is the empty string if it is not specified
    explicitly on the command line.
    
    To fix this, move cacheinfo parsing to effectively near the end of
    afsd_parse, so the mountpoint is calculated in afsd_parse().
    
    Change-Id: I058f2c7c2f0cc21db21c4b1d38ff63b9e9ed1562
    Reviewed-on: http://gerrit.openafs.org/6400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 83d3084e95ac025660f0b8064f49400eb94bfb60
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.
    
    Change-Id: Idc732a22136fbe6bc585b76ac6291d8518f1f9de
    Reviewed-on: http://gerrit.openafs.org/6390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3ca42749357edc97922918d04558deb268fe78f0
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Fri Dec 23 17:00:57 2011 -0700

    Windows: Avoid bottleneck on VolumeLock
    
    The VolumeLock resource was obtained during each AFSParseName()
    and held across a wide range of operations including volume
    info queries, renames, and extent requests.  These operations can
    take a long time to complete and as long as the VolumeLock was
    held exclusively there could only be one operation in flight at
    a time on a given volume.  This significantly reduced the parallelism
    of operations.
    
    The VolumeLock was not required in almost all cases.  This patchset
    adjusts the use of the VolumeLock and avoids the bottleneck.
    
    Change-Id: I9d60fe41d157b9e315aeaa15feee8d1e0d4ded4c
    Reviewed-on: http://gerrit.openafs.org/6420
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ff368a7ec70fca0673a21f6b283db13cabcc2286
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 24 03:15:53 2011 -0500

    Windows: avoid race in cm_GetNewSCache
    
    The cm_scacheLock is dropped while walking the scache LRU queue.
    As a result it is possible for the cm_scache_t that is being
    considered for recycling to be accessed and moved to the head
    of the queue.
    
    Track the prev and next pointers so it is possible to detect if
    the cm_scache_t that is about to be recycled has been moved.  If
    so, restart the search from the tail.
    
    Change-Id: I6c3b645b85aa60197b9b6d60cffdcb818eb6f4b2
    Reviewed-on: http://gerrit.openafs.org/6424
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 17ce77f843e01ff96f66e05b4b932b0c6187493e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 24 03:11:04 2011 -0500

    Windows: cm_BufWrite() must wait in cm_SyncOp()
    
    Now that it is permissible for more than one store data operation
    to construct BIOD lists in parallel, cm_BufWrite() must be willing
    to wait in cm_SyncOp().  Otherwise, the daemon threads will spin.
    
    Change-Id: I77ee2005025de9255b4c9cdb8bed8efc44b9518a
    Reviewed-on: http://gerrit.openafs.org/6423
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5f939c64e575dab937feda819937ce3087a2d2e8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Dec 24 17:23:48 2011 +0000

    rx: Don't adjust non-existent events
    
    If we notice that time has gone backwards (that is, the current
    time is older than the time of the last event we fired), then we
    reschedule all pending events.
    
    On Windows, immediately after we have resumed from a suspend, this
    code path can be executed with an empty event tree, causing an
    exception:
    
    FAULTING_IP:
    afsrpc!adjustTimes+cf [c:\src\openafs\openafs.git\repo\src\rx\rx_event.c @ 213]
    00000000`61041847 4c8b4030        mov     r8,qword ptr [rax+30h]
    
    EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
    ExceptionAddress: 0000000061041847 (afsrpc!adjustTimes+0x00000000000000cf)
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000000
       Parameter[1]: 0000000000000030
    Attempt to read from address 0000000000000030
    
    Resolve this by checking for an empty tree before we attempt to adjust
    event times. If the tree is empty, we just zero the last event time
    (so we don't keep running the adjustTimes routine), and continue as
    normal.
    
    Change-Id: I42a42ff1bd53a9d5c4733efc7ac5f629426b3aa1
    Reviewed-on: http://gerrit.openafs.org/6425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e18c620aa0e49fde31beaa8327bf02eb87d89e3f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:47:56 2011 -0500

    Windows: AFSCleanup extent processing
    
    1. Perform a CcFlushCache() any time the file is cached
       and the Context Control Block indicates that the handle
       has FILE_WRITE_DATA permission.
    
    2. Perform an AFSFlushExtents() whenever there are dirty
       extents and the handle has FILE_WRITE_DATA permission.
       No point flushing the extents if the AuthGroup does not
       have write permission.  Another Ccb must exist that does
       have write permission.
    
    Change-Id: I3ece011b484c12e7dc936b81c272ba6a42f6c7d6
    Reviewed-on: http://gerrit.openafs.org/6399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 68b10efa7dbabbedbb95928dccac29ed8d4179c4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:37:41 2011 -0500

    Windows: AFSRetrieveValidAuthGroup FILE_READ_DATA
    
    Only an AuthGroup belonging to a Context Control Block that was
    granted the FILE_READ_DATA permission is capable of reading
    data from the file server.
    
    Change-Id: I93a7d8e65a6bc87b44399a30da5c0dd7d4e07685
    Reviewed-on: http://gerrit.openafs.org/6398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4fa01ad7fc5434ca5ca42f30407d47c736f8b000
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:34:14 2011 -0500

    Windows: AFSRequestExtentsAsync retry with alt authgroup
    
    If AFSRequestExtentsAsync() fails to obtain requested extents
    due to STATUS_ACCESS_DENIED using the AuthGroup associated with
    the Context Control Block, try to find an alternate AuthGroup
    to use to perform the extent request.  We have already told
    Windows what permissions the application has when the file was
    opened.  Windows will perform its own validation checks prior
    to permitting the data to be accessed or altered.
    
    Change-Id: I430657e8c8e30c9f636a5ec81065af4122c926d7
    Reviewed-on: http://gerrit.openafs.org/6397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b9ca435dcb5433218ecbb37ab41b85dabe0a5912
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:17:33 2011 -0500

    Windows: Use AuthGroups for extent request error reporting
    
    The afs redirector current tracks the most recent extent error
    in the File Control Block.  Prior to this patchset the error
    was returned to the requesting thread when the process Id matched
    the most recent Process to issue a request.  This approach resulted
    in a couple of problems.
    
     1. There are multiple threads that can issue an extent request
        on the same file at the same time representing different processes.
        Resetting the process Id with each new request could clear the
        error prior to its receipt.
    
     2. The failure may be due to inappropriate permissions.  Permissions
        are not associated with proceses but with Authentication Groups.
    
    This patchset makes several changes:
    
     1. It enables the afsd_service to track the active authgroup as
        part of the cm_user_t structure and associates that object with
        the BIOD object to ensure that the active authgroup can be
        reported to the afs redirector.
    
     2. It modifies the AFSExtentFailureCB structure to include the
        AuthGroup GUID.
    
     3. It tracks the AuthGroup GUID associated with the extent
        failure in the non-paged file control block.
    
     4. It converts all tests on Process Id to use AuthGroup instead.
    
     5. It alters the behavior of error delivery such that reported
        error is only cleared after it has been reported once to a
        thread using the matching AuthGroup.
    
    These changes make the situation better but not perfect as error
    states can still be lost.  However, it avoids the case most often
    seen in production where two processes (a end user process and an
    anti-malware process) are fighting over a file and the anti-malware
    process has no permission to access the file under its own credentials.
    
    Change-Id: Ia5c3877b8d46de695c86884c4166dc812885a72c
    Reviewed-on: http://gerrit.openafs.org/6396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7e26dfd6dc893d14717aad411460fc781acc4001
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:10:45 2011 -0500

    Windows: Explicit permission check on extent release
    
    When a data extent is released by the afs redirector or the
    afsd_service performs an extent claw back during a cleanup
    operation, perform an explicit permission check before attempting
    to store dirty buffers to the file server.   Instead of waiting
    for the file server to fail the request, fail it immediately.
    
    The permission check is performed using the currently active
    authentication group.
    
    Change-Id: I533f06ec10b8a6f4dbe5e18b1205b20881b5559a
    Reviewed-on: http://gerrit.openafs.org/6395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6cd09ca2e699d2f9817b897e7165fac60560adcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:08:59 2011 -0500

    Windows: RDR_CleanupFileEntry restrict extent claw back
    
    Only demand that extents be returned by the afs redirector
    if this cleanup is the last open handle or the redirector has
    requested that the file be flushed to the file server.
    
    Change-Id: I03ddcd153d2ded5fc805148a192234742d20b29e
    Reviewed-on: http://gerrit.openafs.org/6394
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f6c85f40c06ddb2e527fcd9c39cba779bc82485b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 21:03:52 2011 -0500

    Windows: remove unused AFSRequestExtents()
    
    Change-Id: I25251827ab2cfb68ba20cf97eaebb669e4f36a82
    Reviewed-on: http://gerrit.openafs.org/6393
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7a1c8e57a08dcebce2f3b861a0d7bbabcc5272ba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 20:49:59 2011 -0500

    Windows: Bad DV invalidate only when new DV not 0
    
    If the current DV is BAD_VERSION and the new DV is 0, do not send
    an invalidation to the redirector.  It only results in wasteful work.
    If the current DV is BAD_VERSION the object either:
    
     1. was never previously known
    
     2. was recently flushed
    
     3. the cm_scache_t was recycled
    
    In all cases, the redirector does not have knowledge of the object
    since either it didn't exist or a previous invalidation was sent.
    
    Change-Id: I7e0cf41bae64660e4e1ec342bafcf3ef8a693d56
    Reviewed-on: http://gerrit.openafs.org/6392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f417dba69230c6b72882ca614a3a8c5691fe561c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 21 20:45:19 2011 -0500

    Windows: Define times in terms of AFS_ONE_SECOND
    
    The afs redirector defines the macro AFS_ONE_SECOND to indicate
    the number of 100ns units necessary to indicate one second of time.
    Use that definition when defining other time values.  Also define
    AFS_ONE_MILLISECOND and AFS_ONE_MICROSECOND.
    
    Change-Id: Ie2a173b4037af61e9a1c5aa06129520c36d714bb
    Reviewed-on: http://gerrit.openafs.org/6391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 37f537a21db6d560dd16a53ff5e0d2f0456d4c48
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 19 17:11:31 2011 -0500

    Include afsconfig.h before anything else
    
    afsconfig.h can define various preprocessor symbols that can affect
    how system headers behave. For example, the presence of the
    _POSIX_PTHREAD_SEMANTICS symbol changes the number of arguments to
    getpwnam_r on at least Solaris 8. So, we must include afsconfig.h
    before including anything else, to ensure consistency.
    
    Change-Id: I84bc73b3fada5dbc68cd355c24f2f746f2e982b3
    Reviewed-on: http://gerrit.openafs.org/6387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7ad2965bad8e8b2f085d05be661086dc81da52d3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 18 18:36:14 2011 -0500

    Windows: avoid deadlock during SetRenameInformation
    
    The VolumeLock must be held before the Fcb->NPFcb->Resource.
    Obtain the VolumeLock in AFSSetFileInformation only in the
    rename case instead of obtaining the VolumeLockin AFSSetRenameInformation.
    
    Change-Id: I84f086e3a8f7d08630266c9e409e1e22c1f92742
    Reviewed-on: http://gerrit.openafs.org/6377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2d8f9141fa98df50ce682364ef5a7958ce422613
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 18 12:08:24 2011 -0500

    Windows: terminate HOSTS/LMHOSTS with newline
    
    If the original file did not terminate with a newline,
    add one before appending the "AFS" entry.
    
    FIXES 130210
    
    Change-Id: I35f96120904d09679d62ea4fb65f29648c4abfa5
    Reviewed-on: http://gerrit.openafs.org/6375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 92bfaae062c596d678220dcb93f9dc61304d3c5a
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Dec 14 12:27:54 2011 -0700

    Windows: Track AuthGroup in Context Control Block
    
    Tracking the AuthGroup in the File Control Block proved to be
    insufficient to ensure that dirty extents can be stored back
    to the file server when an anti-virus service opens a file
    in authgroup without 'write' permission immediate after the
    application performing a WriteFile() opens it.  In this situation
    the Fcb ends up with the AuthGroup set to the anti-virus value
    and not the one that belongs to the writing application.
    
    Tracking the AuthGroup by Ccb provides the ability to select
    an AuthGroup from the list of open handles instead of tracking
    the most recent one.
    
    Change-Id: I851ea646feb531d7c765e1cf789a4ba541e4a150
    Reviewed-on: http://gerrit.openafs.org/6333
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 714ae7f1840757e0575d25c910b0b9fa2499e354
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 17 12:14:28 2011 -0500

    Windows: Tear down extents upon file deletion
    
    When processing AFS_INVALIDATE_REMOVED, tear down all extents
    since they are no longer necessary and return them to the service
    for recycling.
    
    Change-Id: Iec6c0d2c68db16dbf3bd04c51536e13d45f0c1b8
    Reviewed-on: http://gerrit.openafs.org/6365
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c29dc399769c54bbab4af5bd4f828f0d49755860
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 17 12:13:17 2011 -0500

    Windows: notify file size change if flushed
    
    When processing AFS_INVALIDATE_FLUSHED, notify any listeners
    that the file size has changed to force a complete refresh.
    
    Change-Id: Ie5f0076ea786357ae77ef6a76f162c776d555953
    Reviewed-on: http://gerrit.openafs.org/6364
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 20d986fddf6b21abc58b2f3c24aac425cf5d2bf0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 17 12:08:49 2011 -0500

    Windows: forget data version only for flushing
    
    The AFS redirector was intentionally forgetting the data version
    number for AFS_INVALIDATE_DATA_VERSION events.  The point of that
    event is to ensure that clean data be purged if the data version
    in fact changed.  Checking the data version for change cannot be
    performed if the data version is reset to -1.
    
    Only when AFS_INVALIDATE_FLUSHED is processed should the data
    version be reset to ensure that all of the data is purged.
    
    Change-Id: I430afc4889c55c49ef24904a987b08042994cfea
    Reviewed-on: http://gerrit.openafs.org/6363
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ef31f0f6d1f23bcd882740db4d54a9ffea6e0a64
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 17 12:07:53 2011 -0500

    Windows: fix indentation
    
    Change-Id: I187cfa466830a528d0ac2c77b0006e2b66b0a47c
    Reviewed-on: http://gerrit.openafs.org/6362
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 20c871cc67f332f77b1b766f15b2659c0fab8e40
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 17 11:57:15 2011 -0500

    Windows: AFSSetRenameInfo log message
    
    Fix a typo in the log message and change its priority from
    error to verbose
    
    Change-Id: I807d7d6d9118b0fa6af3de638bb9fa2c0d90cbcb
    Reviewed-on: http://gerrit.openafs.org/6361
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d142082caed1eba870ffee017193883a0508306e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 17:24:36 2011 -0500

    Windows: return error to system paging requests
    
    If an error has been set on a file, return that error to the
    System process for any outstanding extent requests.
    
    Change-Id: I8f7244f19cc0e3f96a1599ce011251ade0afe3f4
    Reviewed-on: http://gerrit.openafs.org/6360
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 307856353c3f168105ce82f3f3fa8e4c5efb0b6c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 18:24:50 2011 -0500

    Windows: log volume and authgroup for redir open
    
    If opening a volume root fails, log the authgroup and volume
    to make it easier to debug the error.
    
    Change-Id: I0c9ffc58ffaf7582a1b22043de2b5d096530de5b
    Reviewed-on: http://gerrit.openafs.org/6352
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit db9e5775dd26e6362820b7267f8d971f62dfe2ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 00:12:39 2011 -0500

    Windows: save fid/type for redirector invalidation
    
    Must save the fid/type fields of the cm_scache_t object before
    recycling in order to invalidate the contents in the redirector.
    
    Change-Id: I7914faaa80082033044980deb471eaffbddf3cfc
    Reviewed-on: http://gerrit.openafs.org/6359
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0b2639ff4fd732dfac2c1dc058d6c517cc966737
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 17:22:49 2011 -0500

    Windows: move to head of queue no-op if not in queue
    
    If the buffer is not in the queue, do nothing.
    
    Change-Id: Icdb95775bcc6d010ca1926ce4384d9edcd8f1cd3
    Reviewed-on: http://gerrit.openafs.org/6351
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b63ff1319e0ebecdfbdef7365d49d02543bccce8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 16:15:56 2011 -0500

    Windows: Properly convert FID structures
    
    Use the FID conversion function in RDR_SetFileStatus().
    The FID structures are not the same in afsd_service and the
    afsredirlib.sys driver.
    
    Change-Id: I6360f39c8b90c46d468a06c08f0911f55f9142fb
    Reviewed-on: http://gerrit.openafs.org/6350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b3e6db22a1755b7633b522dfe5cbb61949e06466
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 16 11:43:32 2011 -0500

    Windows: propagate directory enumeration failures
    
    If a directory is enumerated with an AuthGroup that has no
    permissions, do not treat the enumeration as successful.
    
    Change-Id: I6a543a1b19b9d2e68ee2c99f67398ed94ad52896
    Reviewed-on: http://gerrit.openafs.org/6344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f73685c233974403fe63795303cd1659c5bcb2af
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Dec 15 17:52:54 2011 -0700

    Windows Problem with cross-directory rename
    
    Not correctly handling cross-directory rename processing
    
    Change-Id: I36e30a68d7755241c727868074e344beb9580c2d
    Reviewed-on: http://gerrit.openafs.org/6343
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2d472f94ab1017724e56bcdd29b9ef451a13f182
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 14 12:58:36 2011 -0500

    Windows: Update Adv Firewall Rules
    
    Do not specify the Service Name property.  According to feedback
    on openafs-info the Service Name blocks the rule from working properly.
    
    If the rule already exists, attempt to remove the Service Name filter
    and update NAT Edge Traversal and Permitted interface rules.
    
    Change-Id: I1ab1a0c57f9271b68f91b08e530483a1fa40a165
    Reviewed-on: http://gerrit.openafs.org/6332
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 37a0c3d00a6e2d072faf7c2958ef0c7224add161
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 15 03:28:34 2011 -0500

    vol: fix a08c3207255756c825ab69a19e04f79dd879c646
    
    Patchset a08c3207255756c825ab69a19e04f79dd879c646 broke the suse
    and windows builds by relying on C99 language syntax.  Fix it.
    
    Change-Id: I8220e0504048d2caff00deb08e3bf53599e596b7
    Reviewed-on: http://gerrit.openafs.org/6337
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f469be407789e696c0b9e9a431b4879798a00e2a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 14 14:42:08 2011 -0600

    afs: Clear VHardMount on ResetVolumeInfo
    
    afs_Analyze sets VHardMount on a volume struct when a hard-mount
    scenario is encountered, and clears it after sleeping. However, if the
    volume struct has VRecheck set, or if it's not in memory, afs_Analyze
    cannot retrieve the volume struct in order to clear VHardMount again.
    
    For the VRecheck case, this can results in VHardMount never getting
    cleared, and so hard-mount messages for the volume seem to disappear.
    So, clear VHardMount when we set VRecheck so this does not occur.
    
    For the case where the volume struct is not in memory, this is not a
    problem, since when we allocate a volume struct again, the VHardMount
    state will not be retained.
    
    Change-Id: I607741241e330391b8c857b2a72f0e0cfc0b91cc
    Reviewed-on: http://gerrit.openafs.org/6335
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit da3f8d86dd216a90bc400367b7b95e9a427f99e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 14 14:16:16 2011 -0600

    viced: Yell when we GetSomeSpace_r
    
    A GetSomeSpace_r call indicates we don't have enough callbacks
    configured. For many people, this can happen without the administrator
    realizing anything is wrong, since we never give any indication that
    something is amiss, unless the administrator checks the xstat
    statistics.
    
    Since this can indicate a serious performance problem, yell in the log
    when this happens. Only do it once, so we don't spam the log.
    
    Change-Id: I5c881a3c127c20b4f086d59bf3768864307efe92
    Reviewed-on: http://gerrit.openafs.org/6334
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b8e7d61965564557160dcc69301e35ab62ea0510
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Dec 15 07:00:28 2011 -0800

    Revert "Windows: cs_CZ localization"
    
    This reverts commit 642153cae6700e855a8abcc20be207612e1e6b3c
    
    cs_CZ localization cannot be committed to the repository until:
    
    1. Resource DLLs for all components are built in the tree.
    
    2. All built components have been successfully tested so that OpenAFS is not shipping code that caused executable components to crash in the cs_CZ locale.
    
    Change-Id: Id287d150a4c63afdc3f4105d26c9faf211da5395
    Reviewed-on: http://gerrit.openafs.org/6339
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 170ce3db8a32c2b5df68ada3e84ecdaa98785e71
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.
    
    Change-Id: Ib6a4935d09c70c69de87f65717562bd3dcde761b
    Reviewed-on: http://gerrit.openafs.org/5534
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit db472e730e3989dac1d49b54d7371b54b24cd63c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 30 12:22:27 2011 -0400

    bozo: preserve all options over restart
    
    On unix, save all the bosserver command-line options and reuse
    them on bosserver restarts. On Windows, the SCM integrator saves
    the argument list, just use them.
    
    Change-Id: Ib54d1b0c9430946cce666d09f5ed923016d5ac8b
    Reviewed-on: http://gerrit.openafs.org/5532
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 112b9b35fc701ca26ba7f99c31a73a7a1eecbdc0
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).
    
    Change-Id: Ic76862c1a03ee3cafaf199f414fabc90e3b058d2
    Reviewed-on: http://gerrit.openafs.org/3892
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ba24ef73934c2a84dc505cdffad5e41e904aec4b
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 29 21:33:10 2011 -0400

    util: simplify thread-name interface
    
    It appears that we don't actually need an interface to set the name
    of an arbitrary thread (which Mac OS can't do), so remove the
    afs_pthread_setname() interface and promote afs_pthread_setname_self()
    to the status of primary.
    
    Change-Id: I2d915d8165dac9ccfe0cb99630db657cb1473389
    Reviewed-on: http://gerrit.openafs.org/5121
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit da89855b492d8d06128ed62b219dc968f5b38a9d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 13 23:28:15 2011 -0500

    Windows: AFSRDFSProvider stack overrun
    
    StringCchXXX functions take the number of characters not
    the number of bytes.   Use StringCbXXXX functions whenever the
    buffer size is being specified.
    
    Check return codes from StringXXXXXX functions and return errors
    instead of blindly continuing with a truncated string.
    
    Allocate a larger buffer for substitution strings since they
    need to handle the device path plus the target path.
    
    FIXES 130392
    
    Change-Id: I62ca980d145d6fef8cf771c26cd634ce1dd55b91
    Reviewed-on: http://gerrit.openafs.org/6248
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 44045af35a6ae44880655115685e0755d6a0c828
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 12:19:48 2011 -0500

    vos: fix code to not triple-negate
    
    !!! is !. just write it that way.
    
    Change-Id: I8e788177280c4a1d78cedaffd144a5c4ecba28f2
    Reviewed-on: http://gerrit.openafs.org/6252
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

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

    build tsalvaged, tvolser, and dvolser targets on *nbsd*
    
    Change-Id: Idb744f57ab92ba2d9af4d7d9ca7c800b3ee880d2
    Reviewed-on: http://gerrit.openafs.org/5595
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a08c3207255756c825ab69a19e04f79dd879c646
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jul 26 09:18:44 2011 -0400

    volscan: print vnode metadata information
    
    volscan program to print vnode meta-data in a grep/awk/perl friendly
    format. Optionally, find the paths of each vnode relative to the volume
    root.  Access control list data can be reported, and are listed as one
    access entry per line. Mount point information can be shown to which
    volumes are mounted from given volumes.
    
    The path lookup code originally written by Tom Keiser.
    
    Change-Id: I743e1a33d9e6076e4f1b1b2cc462960a94e3763b
    Reviewed-on: http://gerrit.openafs.org/5102
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 33526acb56c1794838c6a8c02e9b8f5022a04ac1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 24 17:43:45 2011 +0000

    Unix CM: Log reason for marking server up or down
    
    When we mark a server up or down also log the error code that says
    why we did so, for help in debugging connection issues.
    
    Change-Id: I1a14434607499c9932e23724b8e403442dc400c7
    Reviewed-on: http://gerrit.openafs.org/6116
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 752daf71cd75aa707fabb1b4598dd8ef1f51f973
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 25 22:02:04 2011 -0400

    volinfo: implement -checkout option
    
    Implement the -checkout option using the FSSYNC communication
    channel with the fileserver.
    
    Change-Id: I119fab0c238fd37eb85c9810626ee91210b2efb6
    Reviewed-on: http://gerrit.openafs.org/5101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0d0a8288c1cdd05bbf5717ac45638cf6760ee7a8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 21 19:12:56 2011 -0500

    vol: log error reason on header read failure
    
    Log the error reason instead of just VSALVAGE when
    ReadHeader() fails.
    
    Change-Id: I24d5ca175310345ee4ce095229b08d9e7c75f700
    Reviewed-on: http://gerrit.openafs.org/6108
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2df43a5cb6add00eed05d70537b3172452f4674c
Author: Lukas Volf <jimm98y@hotmail.com>
Date:   Sun Dec 4 18:52:49 2011 -0500

    Windows: cs_CZ localization
    
    Resource conversion for the cs_CZ locale.  Does not include
    installer updates.
    
    Change-Id: Ifac0d7d9818dc662e584bc74701133cada9fbf33
    Reviewed-on: http://gerrit.openafs.org/6227
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4d76b19b600aad461ee1231eeadb9b7a27b7f117
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 23:49:38 2011 -0500

    libafs: disable mtu discovery
    
    we need to rework this to use lack of soft acks instead of this
    method, which is too fragile
    
    Change-Id: Iedcd1e57e2c6a6c15ce3c040a9a9e6ae7d78bb36
    Reviewed-on: http://gerrit.openafs.org/6256
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 78885611ac8aa6602a4a1f42379c9d78ef226100
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Dec 13 23:20:01 2011 -0500

    libafs: only do pings for default conn with root uid
    
    instead of doing it for potentially every unauth user, just do it for
    root.
    
    Change-Id: I39ef22578eb07c339b096b25753a1775c9917e0b
    Reviewed-on: http://gerrit.openafs.org/6255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f30d70ba5575753302be0a2b08c27a639898d4aa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 10 13:28:17 2011 -0500

    Windows: memory leak when setting tokens via smb
    
    The SID string of the RPC used to set the token sessionKey
    was being leaked.  Be sure to free it when it is no longer
    required.
    
    Change-Id: I28261643680d608d5c8805e095650a751193ab6d
    Reviewed-on: http://gerrit.openafs.org/6244
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 41d145b303d61aa6f8f336e4d66748dea860d08f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 9 18:40:42 2011 -0500

    Windows: Suspend/Resume for afsd_service
    
    The power mgmt events are received in the service.  The service
    can block all requests from the redirector from being processed
    until it knows that it is safe to process them.
    
    The service will receive a SERVICE_CONTROL_APMSUSPEND just before
    the system goes to sleep.  The service has two seconds to respond
    and it uses that time to attempt to send RXAFS_GiveUpAllCallBacks
    to all file servers as an rx_multi with no wait.  It also marks
    all servers down and updates the callback expirations to be just
    after the servers were marked down so that they will be forced to
    be refreshed when the server is marked up.
    
    Upon resume the service receives two events.  First,
    SERVICE_CONTROL_APMRESUMEAUTOMATIC which is used to perform an
    SMB lan adapter change detection and perform a probe of all down
    servers.  The second, SERVICE_CONTROL_APMRESUMESUSPEND is used to
    resume SMB listeners, perform a 2nd lan adapter change check (just
    in case), check the status of all down servers in additional
    networks have come up, and finally resume processing of redirector
    requests.
    
    With these changes no special logic in the redirector is required.
    
    Change-Id: I5405ecab754dca04f34afb024c4dacc3fe089088
    Reviewed-on: http://gerrit.openafs.org/6243
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6d6d52e18f3bd537331de6021a0fcc2e96fc48db
Author: Karl Ramm <kcr@1ts.org>
Date:   Sun Dec 4 13:56:29 2011 -0500

    Print "waiting for job termination" at most once.
    
    This message is useless, annoying, and is the UI equivalent of littering... but
    it does explain why your backup command is just sitting there.
    
    Change-Id: Ied49d0bf9f81b0e10804133c6f05814321d80438
    Reviewed-on: http://gerrit.openafs.org/6223
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f238d4854d1f32836228f2d191c8a9d265d4b181
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 8 10:00:57 2011 -0500

    Windows: increase timeout for extent request retries
    
    The AFS Redirector requests file data extents from the afsd_service.exe.  If
    it does not receive the requested extent within 10 seconds it issues another
    request for that extent.  Extent processing in the afsd_service is handled
    by background daemons that process tasks serially from a work queue.   When
    the load on the system is large enough that satisfying the work queue takes
    longer than 10 seconds, the redirector would retry the request.  This would
    increase the length of the work queue and increase lock contention.
    
    Increasing the timeout period for extent retries to two minutes
    significantly reduces the number of retry attempts while maintaining
    protection against a lost extent request.  Two minutes is selected because
    that is the rx hard dead call timeout.
    
    Change-Id: I8169fbdc2d3456f151359ffe9eaa8eeccb2ceaf1
    Reviewed-on: http://gerrit.openafs.org/6237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f2c0c51f781495be0d28a75e5d7a786bbe9dddda
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Dec 7 20:29:00 2011 -0500

    Windows: include owner/group in Security DACL
    
    Include the World (Everyone) SID as the owner and group for
    all files in AFS.
    
    FIXES 130343
    
    Change-Id: I01d697d7a6dea8e0bea67b81c14597c197b4241d
    Reviewed-on: http://gerrit.openafs.org/6236
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7a93c827f353e2ad695d8019ab789b02a3596f2e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 4 23:15:13 2011 -0500

    afs: prevent nat pings on destroyed connections
    
    If the connection is no longer in use, reset the nat keep alive
    timer to 0 seconds.
    
    Change-Id: I72b69979fb8b15ab5afaa654b317edc254253b4b
    Reviewed-on: http://gerrit.openafs.org/6230
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 942dae0dd02f2e222ace5d003b1c55397a4018ff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Dec 4 13:42:08 2011 -0500

    Windows: Release Notes Updates
    
    Updates for 1.7.3.
    
    Grammar improvements.
    
    Reformatting.
    
    Change-Id: Iff829f343e0140943495a19406746b30a70ed235
    Reviewed-on: http://gerrit.openafs.org/6222
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 57316878e03691f7e320013b21f0c7640877e11e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 18:11:53 2011 -0500

    rx: Make CALL_RELE and CALL_HOLD lock refcnt mutex
    
    The reference count mutex must always be held when calling CALL_RELE
    or CALL_HOLD. Instead of requiring that the caller obtain, and release
    the mutex, do so within the HOLD and RELE macros, greatly simplifying
    calling code. Provide CALL_RELE_R and CALL_HOLD_R as versions of these
    macros which can be used by callers who already hold the reference
    count mutex for other purposes.
    
    Change-Id: Ie3e9df8b9d2a79476f1707bd65e588f43271c636
    Reviewed-on: http://gerrit.openafs.org/6219
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1ef8dc3dfbddcbe5610c276afc627c9fcfe30a65
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Dec 3 14:37:09 2011 -0500

    FBSD: switch afsi_SetServerIPRank implementation
    
    Upstream has removed the ia_net{,mask} elements from
    struct in_ifaddr, so we can no longer use them directly.
    Switch to passing an rx_ifaddr_t (i.e. struct ifaddr*) in instead,
    as that uses a slightly different codepath which still works
    for our purposes.
    
    We compile the kernel module with -Werror, so storing a pointer
    (memcpy return value) in an int is forbidden, hence the conditional
    declaration of 't'.
    
    Change-Id: Ifefef88a353f4bd50a714ad88afa3a6f012fa3a1
    Reviewed-on: http://gerrit.openafs.org/6203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit aefb10920740e537aa26d841d16302e6ce8e3d76
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 18:07:41 2011 -0500

    rx: Helper function for decrementing conn refcnt
    
    The code to lock the reference count mutex, reduce the connection
    reference count, then unlock the mutex, is duplicated many times
    throughout rx.c. Replace all of these multiple copies with a single
    inline function.
    
    Change-Id: I7adb460019d7434b32a16250cc026be667e7c55d
    Reviewed-on: http://gerrit.openafs.org/6218
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 64b00c3a1a87739621f58c777fc3cc54fb15a0af
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 16:31:28 2011 +0000

    rx: Hide the rx_packet.h
    
    Hide the rx_packet.h, and hence the rx_packet structure from
    application view. rx_packet.h is currently still installed, and is
    included directly by RX security classes, to reduce the per-packet
    overhead there.
    
    Change-Id: I269ccf4405a8f83cab4b0392b830bc1f36471c29
    Reviewed-on: http://gerrit.openafs.org/6182
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a57f6434e81539d3f261f0dd57327ae4dcd98caa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 3 21:20:05 2011 -0500

    Windows: define MIN and MAX
    
    MIN and MAX are used throughout the tree.  Windows does
    not define them.  A future patchset should convert the
    openafs src tree to use min and max.
    
    Change-Id: Ibe7bba6a49e3c85f94cd1e1c45e904764bf06e02
    Reviewed-on: http://gerrit.openafs.org/6209
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d3eaa39da3693bba708fa2fa951568009e929550
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 14:58:28 2011 +0000

    rx: Make the rx_call structure private
    
    Hide the rx_call structure for public view. Provide accessors for
    those elements which are currently accessed by applications.
    
    Note that this change as it currently stands removes the visibility
    of the last sent time, and sequence number information, from the
    VolMonitor function.
    
    Change-Id: Ib25ab5635126f893ae43acb684d92a78278d6ca6
    Reviewed-on: http://gerrit.openafs.org/6181
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit aa76c8f670012d4591489db374bad48118defa36
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Nov 15 10:40:44 2011 +0000

    rx: Make struct rx_connection private
    
    Move the rx_connection structure into a private header file, so that
    it is only visible from within the rx module. This allows us to use
    types within the structure that are not visible to everywhere that
    includes rx.h, as well as being a step towards a more stable ABI for
    RX.
    
    Add accessor functions for all of the connection members which are
    currently used by external callers, and modify those accessors
    which were implemented as macros to also be functions.
    
    Change all external access to the connection structures to use these
    new functions.
    
    Change-Id: Ife67e63f37cb04273fbfc9079db3907bde78ab98
    Reviewed-on: http://gerrit.openafs.org/6180
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 01f55bbf14210ef3e4f4c0246409af370de3a383
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 3 17:49:47 2011 -0500

    Windows: apply Nat Pings only to cm_rootUser connections
    
    Use CM_UCELLFLAG_ROOTUSER flag to identify the cm_rootUser
    connections and only apply Nat pings to those connections
    instead of examining the security state of the connection.
    
    Change-Id: I978501972509d1e58b08b630e1ff046b404e59d8
    Reviewed-on: http://gerrit.openafs.org/6208
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2495d02951fa1a9f6f48cc2a5bc7750f310dae75
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 3 17:46:41 2011 -0500

    Windows: track cm_rootUser connections
    
    Add CM_UCELLFLAG_ROOTUSER flag to cm_ucell_t for the purpose
    of tracking which connections belong to the cm_rootUser.
    
    Change-Id: Icd809631637d4fc6c2bb1bd93e7cab74f2fb5c2b
    Reviewed-on: http://gerrit.openafs.org/6207
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f37df60763a306fb70f791f7dcba9cec2ec27c7e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 3 15:45:53 2011 -0500

    rx: rx_conn/rx_peer refCount signed
    
    Can't trace reference count underflows with rxi_LowConnRefCount
    and rxi_LowPeerRefCount if they cannot become negative.
    
    Change-Id: I429da00a8e711c2e562378ec5d6601093293a55b
    Reviewed-on: http://gerrit.openafs.org/6205
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5c6640bf0b2b365d4871051db7a1be6075d44666
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Dec 3 21:10:43 2011 +0000

    rx: Some kernels have no reschedule function
    
    If RXK_TIMEDSLEEP_ENV isn't set, then Unix kernel cache managers
    call rxevent_Init without a reschedule function. Check for this so
    we don't end up calling a NULL function in these situations.
    
    Change-Id: I5e89f5247aeffc4c27d3f81c0ccabe4979232846
    Reviewed-on: http://gerrit.openafs.org/6206
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0fb7d852845effce50d896416cf8b4ba3c19d6e1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 23:38:01 2011 -0500

    Windows: npdll connected query returns no usage
    
    In response to a NPEnumResources CONNECTED scope query, the usage
    field is always set to zero.  If the CONNECTABLE flag is set,
    mpr.dll will filter the entry out of the result list.
    
    Change-Id: If939f9f168fe2e02a1a8287c661ec2e1cda5eb8f
    Reviewed-on: http://gerrit.openafs.org/6195
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b34a2df4c706838e680bdcd15528862c49b5ba6c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Dec 3 11:20:57 2011 +0000

    Windows: Use roken's min and max
    
    roken provides min() and max() macros. Use these, rather than our own
    MIN() and MAX()
    
    Change-Id: I82456c061cb274490e2ef2966a7075c2bde1f016
    Reviewed-on: http://gerrit.openafs.org/6196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3328770612b7205abb92df5b5f4737eb3349c910
Author: Edward Z. Yang <ezyang@mit.edu>
Date:   Sun Nov 20 15:48:33 2011 -0500

    Add OpenAFS to the dependencies of remote-fs.
    
    Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
    
    Change-Id: Icd1fd34dc3a5c849a2b698c1da08eb4003e6efa1
    Reviewed-on: http://gerrit.openafs.org/6093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c22aa6c121bfbc71d5d6d4b628ee4585f4e134cf
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 2 20:24:04 2011 -0500

    Remove dead code from rxi_FindIfnet()
    
    There is a separate implementation for DARWIN and XBSD above, so
    having a check for DARWIN here is pointless.
    
    Change-Id: I66741dd1d8dbddc19809fd6e6fcd0897f047f222
    Reviewed-on: http://gerrit.openafs.org/6193
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1c4cd446605706e55e415cec15841acf8b1572e1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 16:29:55 2011 +0000

    rx: Refactor MaxMTU error checking
    
    The error checking on the rxMaxMTU parameter was done individually by
    every server that sets it, using "internal" RX #defines to do so.
    Instead, do the error checking within the function that actually sets
    the MTU, reducing both the amount of code duplication, and the amount
    of RX knowledge held within the servers.
    
    Change-Id: Ic2cdd9425d5344a5137f76f66f711f4dee91a7b6
    Reviewed-on: http://gerrit.openafs.org/6091
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ae227049fca2519e1f5ae1e8b68efbff10ebb665
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 2 14:36:59 2011 -0600

    salvager: Create link table with volume group id
    
    The link table needs to be created with the VG id or RW vol id, not
    the non-RW vol id. Unlike other special inodes, this goes for both the
    'parent' and 'volume' volume ids, not just the 'parent' id, since
    there is only one link table per VG.
    
    Without this, the salvager can generate invalid linktable special
    inodes if it encounters a VG with no inodes for the RW vol.
    
    Change-Id: I10725c514ef1b8a5b09a506e42596b51b74af5a2
    Reviewed-on: http://gerrit.openafs.org/6179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 53230846a202a50f6c3a61b38d62ccba8876f89d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 30 17:41:53 2011 -0600

    DAFS: Ensure logging on attach2 errors
    
    The attach2 error path transitions a volume to VOL_STATE_ERROR, in
    case whatever got us to that error path did not already put the volume
    in an appropriate state. Log when we do this, to make sure we do not
    end up with a volume in VOL_STATE_ERROR state silently.
    
    Change-Id: I02c842b64882d96e707e867ee0f7730a2bebd405
    Reviewed-on: http://gerrit.openafs.org/6168
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d5d2d00a47cf53054bd18d7404be26bea34cba6f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 30 17:35:56 2011 -0600

    DAFS: Avoid unnecessary preattach on FSYNC_VOL_ON
    
    FSYNC_VOL_ON/FSYNC_VOL_ATTACH can be called to "online" a volume that
    was actually kept online for the duration of the volume operation.
    Avoid calling VPreAttachVolumeByVp_r for such a volume if it's already
    attached, in order to avoid an unnecessary log message and to save a
    tiny bit of processing.
    
    Change-Id: I7776b933599ec0488941ccbd9a8e1279f5a552f4
    Reviewed-on: http://gerrit.openafs.org/6167
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4fd8347e842af61681c1718e456500b92c5b6ea9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 30 17:21:32 2011 -0600

    DAFS: Log more for VPreAttachVolumeByVp odd states
    
    When we encounter "odd" states in VPreAttachVolumeByVp_r, say what the
    actual state we encountered was, along with the attach flags, so we
    have a better idea of what's going on.
    
    Change-Id: Ic5d07d249db7b51301b3ac903ba987cfa21922ee
    Reviewed-on: http://gerrit.openafs.org/6166
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f59312c0aee1a5376b29262efc6e6ea71264305a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 30 17:08:57 2011 -0600

    DAFS: Ensure GetVolume errors on ERROR volumes
    
    In GetVolume, after we call VAttachVolumeByVp_r, there is no explicit
    check to see if vp is in VOL_STATE_ERROR state. Make sure we don't try
    to use such a volume, or blindly transition the volume away from that
    state.
    
    Change-Id: Ib2c975ac215eeff28b4ff5f5bb0a387298d7aab9
    Reviewed-on: http://gerrit.openafs.org/6165
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5fc2365f5dff7f193781093ecb886b4c7391d5a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 30 14:36:06 2011 -0600

    DAFS: Do not transition to ERROR on trivial errors
    
    attach2 can result in many different errors; some indicate that the
    volume is in an inconsistent state, but many others just indicate that
    the volume cannot be attached for benign reasons (such as VNOVOL if
    the volume doesn't exist, or VOFFLINE if the volume is being used by a
    volume utility). Currently, for DAFS, attach2 transitions the relevant
    volume to the VOL_STATE_ERROR state for almost all errors encountered,
    even the benign ones. Instead, skip the error state transition for
    error handling paths that do not reflect a "broken" volume.
    
    Change-Id: I07754f715920c4ee30fb156fb2412d1e1a7e2597
    Reviewed-on: http://gerrit.openafs.org/6164
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9de84a1e67cb3570dedef4ac4552901210b19e5f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 18:49:23 2011 -0500

    Windows: GetInfoTip really set return to NULL
    
    When we are not returning an info-tip string from the shell
    extension the string output parameter must be set to NULL.
    
    Change-Id: I63cd9bbe078edd01e62d4b0c810a513dfbf205ae
    Reviewed-on: http://gerrit.openafs.org/6183
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3fce5b3541d118bc452fe236e557acde57587462
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 13:41:38 2011 -0500

    Windows: memset in RDR_RequestFileExtentsAsync
    
    The logic in RDR_RequestFileExtentsAsync() made it possible
    for memset() to be called multiple times on a buffer that
    is already known to be up to date.  Restructure the code to
    make things faster.
    
    Change-Id: Iea09b01f126a6d8915e6bf3dd3978ad4b482eb03
    Reviewed-on: http://gerrit.openafs.org/6178
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a60594ef54c1458f6778d0b16d870803e1594d41
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 13:36:01 2011 -0500

    Windows: cm_MergeStatus redirector invalidation
    
    The redirector maintains its own cached status information which
    must be updated when a DV change occurs that is not the result
    of a redirector initiated data change.
    
    If the current old DV is BAD, send a DV change notification.
    
    If the DV has changed and request was not initiated by the
    redirector, send a DV change notification.
    
    If the request was initiated by the redirector, send a notification
    for store and directory operations that result in a DV change greater
    than the number of active RPCs or any other operation that results
    in an unexpected DV change such as FetchStatus.
    
    Change-Id: I6dd4c9d450901e4b5d4c8d67841e3b833cebbe1f
    Reviewed-on: http://gerrit.openafs.org/6177
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2a2ae16511bae032025ffcfbbe4e78b2de1f8eff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 13:31:15 2011 -0500

    Windows: cm_MergeStatus use new DV to purge buffers
    
    When deciding whether or not to purge buffers on a DV change
    it is the new DV that matters not the old DV.  If the new DV
    is 0, there should be no purging because there are no buffers
    to purge.
    
    Change-Id: Ie505348dbbf8173e477645e5022410ddd3028240
    Reviewed-on: http://gerrit.openafs.org/6176
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6ee14eef3679fbcdecfe6b1d7879309c9360bb61
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 13:21:24 2011 -0500

    Windows: use interlocked increment on cm_buf_t refcnt
    
    For consistency use interlocked increment when setting the
    cm_buf_t refCnt to 1 even though it is protected by a lock.
    
    Change-Id: I91fbb1469715ee6b7d6f94f416c59ebcd1645336
    Reviewed-on: http://gerrit.openafs.org/6175
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 500ffccfd66123c74a0d32c04801e5906f58e58a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 11:21:46 2011 -0500

    Windows: buf_GetNewLocked should use cleaned cm_buf
    
    buf_GetNewLocked() searches the free buffer list for a buffer
    that has a 0 refcnt, is not in the chunk that is being populated,
    is not actively having I/O performed on it and is not dirty.
    If it comes across a dirty buffer, it calls buf_Clean() with
    the assumption that buf_CleanAsync() (as it was previously called)
    was in fact asynchronous and would return immediately.  Instead
    buf_Clean() is synchronous and when it completes the buffer will
    in most cases be clean.  buf_GetNewLocked() should use the newly
    cleaned buffer if it is still available and not continue the
    search from the next entry in the free buffer list.
    
    Change-Id: Iae629df57b9d27a813f7f4c6740be23bd33fe039
    Reviewed-on: http://gerrit.openafs.org/6174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7dccf17840a53e96b21f8c092910f3e4d7628b71
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 11:19:13 2011 -0500

    Windows: fix buf_Recycle() comment
    
    buf_Recycle() does not return with a reference count to the
    cm_buf_t object held.  Correct the comment.
    
    Change-Id: Ic6acde3178afe59181436d9c10d4ddfb05340372
    Reviewed-on: http://gerrit.openafs.org/6173
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c712403f192bd9932f3ec1dce5fb23461d3d0349
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 11:14:11 2011 -0500

    Windows: buf_CleanAsync is not async; rename it
    
    buf_CleanAsync() calls cm_BufWrite() which stores the dirty
    buffers synchronously.  There is nothing asynchronous about
    buf_CleanAsync() so rename it to buf_Clean() and buf_CleanAsyncLocked()
    to buf_CleanLocked().   Update the comments to remove the references
    to the asynchronous processing which doesn't exist.
    
    That is not to say that the call to buf_Clean() in buf_GetNewLocked()
    should not be asynchronous; it should.  There is no such functionality
    at the moment.  One approach would be to modify buf_IncrSyncer to
    trigger on an event set by buf_GetNewLocked() instead of the call
    to buf_Clean().  Another approach would be registering a background
    store event.  In any case, that is for another patchset.
    
    Change-Id: I4c6d08d2a81b36f3cc43ada96acfa0ff9db23845
    Reviewed-on: http://gerrit.openafs.org/6172
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b26161284fef682e570377e70c7ebe5b6e8902fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 2 11:11:59 2011 -0500

    Windows: convert buf_IncrSyncer to pthreads
    
    buf_IncrSyncer() calls rx therefore it should be a pthread
    thread so as not to count against the 63 native thread count
    limit.
    
    Change-Id: If00eeb7d26bfbf7d0f35addb05290f3704d11a89
    Reviewed-on: http://gerrit.openafs.org/6171
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2aeb041bb0f5de94d553bc3fb6b2d39c82750952
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 30 23:29:56 2011 -0500

    Windows: invalidate rdr for CM_SCACHE_VERSION_BAD
    
    If the cm_scache_t.dataVersion is set to CM_SCACHE_VERSION_BAD,
    invalidate the redirector notion of status so that we do not
    leak info to users that do not have permission.
    
    If the dataVersion is CM_SCACHE_VERSION_BAD and is updated
    with real status info, invalidate the redirector so it attempts
    to read the directory contents.
    
    Change-Id: Iaa15b37f7f1863169ffe93ae9bc3d24086a3b734
    Reviewed-on: http://gerrit.openafs.org/6159
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 79833cbc64c8ccd051060782a381af1ad0cc8d50
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 30 23:28:46 2011 -0500

    Windows: do not set CM_SCACHEFLAG_EACCES twice
    
    correct a merge error.
    
    Change-Id: Iaf57703403a5c7555da730be0907bd31c9dfb34f
    Reviewed-on: http://gerrit.openafs.org/6158
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0ee7fcc0a49494ad66778012b7808f80ee3af8d3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 1 11:20:41 2011 -0600

    SOLARIS: Define BSD_COMP for non-UKERNEL on 5.11
    
    We were defining BSD_COMP twice for UKERNEL. Move one of the #define's
    up to the !UKERNEL section.
    
    Change-Id: I91b90d666ab83a2037549c3f66ea038234a42e11
    Reviewed-on: http://gerrit.openafs.org/6162
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit a9007cf81cb8cb390cbd2e5a93e47b1d231819e8
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Dec 1 12:34:38 2011 -0500

    afsd.fuse: link libopr
    
    needed for rbtrees. linktest does so; we also need to
    
    Change-Id: Ic5c8aaa0727a979212ed4f089d915b106c00fac8
    Reviewed-on: http://gerrit.openafs.org/6163
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 25672ad8cdda42231b15937f0d390bea5b9e3b17
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Nov 30 16:20:23 2011 -0500

    remove CopyOnWrite2 and unused vars
    
    unused static functions make grumpy compilers grumpy.
    
    Change-Id: I2a48e2993193a615bffe331f19948bfc46fba16b
    Reviewed-on: http://gerrit.openafs.org/6157
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cdc26d92ed2022d7a424ca0fffb96bba5e9ea503
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Nov 27 11:23:29 2011 -0500

    viced: disable accelerated copyonwrite
    
    don't do multistage CoW
    
    FIXES 130295
    Change-Id: Iec35619b970d87a72ed497d4bbec0b9415c9ddf7
    Reviewed-on: http://gerrit.openafs.org/6135
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0c01c36245c53db93ec6418b2b7ff7f679181765
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 29 15:02:12 2011 -0500

    Windows: AFSRDFSProvider log to file
    
    For when logging via OutputDebugString() is insufficient, add
    a cheap method of logging to a fixed file: c:\temp\AFSRDFSProvider.log.
    Set AFSRedirector\NetworkProvider "Debug" to 0x2.
    
    Change-Id: I419bfbe251b8ef58d7c1b7921badde19d72c34e6
    Reviewed-on: http://gerrit.openafs.org/6142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7ba9129141387e7c24a695a94fb602df368e3917
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 29 15:01:00 2011 -0500

    Windows: NPEnumResources no Printer support
    
    The AFS Redirector does not support printer shares.  If the
    query is for printers only (or any other query that does not
    permit disk shares as a response) return no more entries.
    
    Change-Id: Ide9fc58489bed7f4a9cf50da24a98a9b2477b72d
    Reviewed-on: http://gerrit.openafs.org/6141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 31d80e64683a6e7ce33ab714759e74a18454110d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 29 14:59:24 2011 -0500

    Windows: NPGetConnectionCommon buffer too small
    
    If the specified buffer size is too small, say so.  Do not
    attempt to copy data in that won't fit.  Do not walk beyond
    the end of the allocated memory.
    
    Change-Id: Id4a75273d8ec9e9cc8471a963bc32f6cad59163e
    Reviewed-on: http://gerrit.openafs.org/6140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9fa28d7df3034600026aacbfb902a4f92446253b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 29 14:55:55 2011 -0500

    Windows: no drive subst for NPCancelConnection
    
    NPCancelConnection() must use the results of a Get Connection
    ioctl to the afs redirector and not the result of Drive Letter
    Substitution queries via DosQueryDevice().  Rename NPGetConnection()
    to NPGetConnectionCommon() and add a new parameter to indicate
    whether drive substitution is ok.
    
    Change-Id: I42cd4488038f128ae90356a41bc538966d9cebed
    Reviewed-on: http://gerrit.openafs.org/6139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit abfa8f00293780fd751ba8de3ee4ce6cbdb00e90
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 29 14:54:24 2011 -0500

    Windows: refactor NPCancelConnection
    
    refactor NPCancelConnection to consolidate some conditional
    blocks to improve readability.
    
    Change-Id: Ic3aaaac10809caeaab10fdb6c759be8d55d1f75c
    Reviewed-on: http://gerrit.openafs.org/6138
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d6900a7cd1722648f4107f82d0d74d01f6da1810
Author: Chris Orsi <corsi617@yahoo.com>
Date:   Sat Nov 26 17:26:10 2011 -0500

    Windows: Mount Point and Symlink Overlay Icons
    
    Change-Id: I34b8166664f54878eb58a0dcc3e1241cb977aa5f
    Reviewed-on: http://gerrit.openafs.org/6137
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit bd7cecb3277b2980a880c68e70a7ca761285347c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 28 18:42:21 2011 -0500

    Windows: Wix disable integrated logon by default
    
    One of the significant differences between the NSIS and Wix
    installer packages is that NSIS does not activate integrated
    logon by default whereas the Wix installer does.  Enabling
    integrated logon without configuring the cell, CellServDB,
    installing Kerberos v5 and configuring krb5.conf can result
    in a very long wait at logon.  Now that NSIS is no longer
    being supported and cannot be supported as a native 64-bit
    installer mechanism we must disable integrated logon by
    default to prevent more bad end user experiences like
    @Lotterleben described on Twitter.
    
    Change-Id: I10be4185177f94e53295a7641dd387feb295eaa5
    Reviewed-on: http://gerrit.openafs.org/6132
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 043c31bf8d81f5aba968f69c613b639e1d0e3ee7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 21:21:39 2011 +0100

    rx: Use a red black tree for the event stack
    
    Instead of the current event stack, which uses a sorted linked
    list, use a red/black tree to maintain the timer stack. This
    dramatically improves event insertion times, at the expense of
    some additional implementation complexity.
    
    This change also adds reference counting to the rxevent
    structure. We've always had a race between an event being
    fired, and that event being simultaneously cancelled by
    the user thread. Reference counting avoids that race resulting
    in the structure appearing twice in the free list.
    
    Change-Id: Icbef6e04e01f3eef5b888bc3cb77b7a3d1be26ae
    Reviewed-on: http://gerrit.openafs.org/5841
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a9682775fcb047e4bcd3994d582ada430d28e264
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Nov 11 09:33:31 2011 +0000

    Unix CM: Build rbtrees in kernel
    
    Build the new opr rbtree code in the Unix kernel module
    
    Change-Id: I8271b209c8c17c4c651f2499cd8f60e44818a828
    Reviewed-on: http://gerrit.openafs.org/5842
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 073edd3fbdf442249920acea8f3ee90b6346bf23
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 29 12:07:49 2011 -0600

    udebug: Fix endianness when fudging lastYesHost
    
    hostAddr is in NBO, lastYesHost is in HBO.
    
    Change-Id: Id11046426512c79b8e760841e1e13cf91deb0b4c
    Reviewed-on: http://gerrit.openafs.org/6136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 82809787d5addcec4a64ce71bb5b7d389ee4623b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 28 19:15:33 2011 -0500

    Windows: FSync not CleanVnode during Cleanup
    
    cm_FSync() is buf_CleanVnode() plus a sync of metadata which
    is required during last handle close.
    
    FIXES 130351
    
    Change-Id: I25635e3c9768dbf7d9501178b99cdd64a5be7789
    Reviewed-on: http://gerrit.openafs.org/6134
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit bf4f9f33dc55150d991d9eec4ea95d78208f6949
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 28 18:45:55 2011 -0500

    Windows: Wix cell names can be greater than 120 chars
    
    Increase the permitted length in the UI to 255 characters.
    
    Change-Id: I33d3f546da8b38f89bb88352abcb908879728771
    Reviewed-on: http://gerrit.openafs.org/6133
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 006815ca2f4df1ed5236fc377da2647895853b0a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 28 15:13:43 2011 -0500

    Windows: cache format version change
    
    With the change to the size of the osi_mutex_t and osi_rwlock_t
    structures the CM_CONFIG_DATA_VERSION must change to force a
    reconstruction of the cache file.
    
    Change-Id: I0aadd2f7c699a5daaa87acf749957ff65d51fe6e
    Reviewed-on: http://gerrit.openafs.org/6131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a07338f4ccc5062e224405ccda0c9ed41e666f5e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 26 17:26:50 2011 -0500

    Windows: osi_mutex / osi_rwlock changes
    
    Reorganize the osi_mutex and osi_rwlock structure so
    that all counters are 32-bit and pointers are
    aligned.  This requires adding padding fields.
    
    Move lock validation checks within the critical section.
    
    Include additional assertions checking the ownership
    state and protecting against under/overflows.
    
    Increase the size of the rwlock tid array to support
    a larger number of simultaneous readers.
    
    Change-Id: Ia46684c601a1a589a210a36862ae6ad6448a435e
    Reviewed-on: http://gerrit.openafs.org/6130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5d7adc6b67dedf0dc888196812e66b131cf91bbc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 26 10:55:27 2011 -0500

    Windows: convert daemons threads to pthreads
    
    The daemon threads make calls to Rx and therefore need to
    be created with the pthread package to prevent the threads
    from being tracked as 'native' threads by the pthread_thread_shutdown
    thread which can only track up to 63 native threads.
    
    Change-Id: I8d096be9398a0a541bb59eb245cd7b3fe6f3843c
    Reviewed-on: http://gerrit.openafs.org/6119
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8e14168c9c77850ce0603d56f8aa280f73cb3114
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Nov 13 13:12:50 2011 -0500

    FBSD: cleanup dvp locking for ISDOTDOT
    
    This is a more correct version of
    c2ed2577f9c16df3088158fb593d7aab6e8690d0, which was reverted since
    it caused build issues on some versions and kernel panics on others.
    
    We do want to always unlock dvp before calling over the network
    in the ISDOTDOT case, but be sure to use the proper spelling
    for this operation (as the syntax has changed between FreeBSD versions).
    This requires not unlocking dvp right after the afs_lookup() call if
    it succeeds, letting us just lock the "child" vp (which is actually
    the parent starting from '/') first, and then re-lock dvp.
    
    The error case of afs_lookup() was already handled correctly in
    this logic, which is to say that it was incorrect before this change,
    attempting to recursively lock dvp which causes a panic.
    
    Change-Id: Ide29e47991413dadc3a2b5948f0f6c5bfa2911c4
    Reviewed-on: http://gerrit.openafs.org/6127
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 730832073a1e87654f28bfff054e24d4170c01dc
Author: Daria Phoebe 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
    
    Change-Id: I55de45a96dc7fab481a49c10c68f2ebc0d4ea27c
    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>

commit 0f9214164ad56bfe74d0f2cec8775a312f5128dd
Author: Edward Z. Yang <ezyang@mit.edu>
Date:   Sat Nov 26 19:32:51 2011 -0500

    Linux: 3: Update specfile to know about 3.* kernels.
    
    Update spec file to be consistent with acinclude.m4 with regards to
    sysnames.  We don't bother updating the code inside the legacy kernel
    build section, as it doesn't get triggered for 3.* kernels (it should
    probably get cleaned up at some point.)
    
    Also, fix a bug in error message printing of unrecognized kernel.
    
    Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
    
    Change-Id: Ife6046db0bec981be59aa053f63ae71458da7167
    Reviewed-on: http://gerrit.openafs.org/6120
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2373547a86c12f72261072971b8d47e6b7cdd4e6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Nov 23 16:30:55 2011 +0000

    Unix CM: Fix PutVolume in afs_BlackListOnce
    
    It isn't safe to keep accessing a structure once we have Put our
    reference to it.
    
    Change-Id: I6f23a054c3ccde21aa17e07d06dd3c6e7761c098
    Reviewed-on: http://gerrit.openafs.org/6117
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 53d55cf35327ec08c2f2ed5dea4138cdc2d46de7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 22 09:31:45 2011 -0500

    Windows: add trace logging to Pioctl File Info Query
    
    Change-Id: I357518a341dd97aa94c30ae9c0defa56a97eb920
    Reviewed-on: http://gerrit.openafs.org/6110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 030157166795628bbfa81e8b4b7ede35dfead8d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 22 16:36:18 2011 -0500

    Windows: _._AFS_IOCTL_._ size is zero
    
    When replying to a FileStandardInformation query on the pioctl
    special file, the size of the file is 0.  Failure to return 0
    can result in an anti-virus program attempting to read the file
    via a paging request which will fail.
    
    Change-Id: I83f2f40cca99c04a5fe06546f19bdf96dfbb4951
    Reviewed-on: http://gerrit.openafs.org/6109
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 039ffe2a036217e7d23c7466c77b69df50a603f7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 21 21:47:38 2011 -0500

    Windows: RDR_InvalidateObject do not hold locks
    
    Do not hold any locks when calling the afs redirector.  Holding
    a lock can cause a deadlock.
    
    Change-Id: I5fb493d68e3cf3a8e58024b3b9f54349928f84c3
    Reviewed-on: http://gerrit.openafs.org/6105
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d42db13152fb8fa374db6531020da6effca51ab4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 21 13:14:40 2011 -0500

    Windows: cm_GetSCache do not release unheld lock
    
    if cm_GetNewSCache() fails, an attempt would be made to
    release cm_scacheLock which is not held.  However, it should
    be noted that cm_GetNewSCache() cannot fail without itself
    triggering a panic.
    
    Change-Id: I316e33712440c2bd816294ad788ad125ab7b4a73
    Reviewed-on: http://gerrit.openafs.org/6103
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 887791bacf8a1b39a610734e5c27c55f88513750
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 21 08:42:13 2011 -0500

    Windows: Use Jenkins' Hash
    
    Replace the non-string hash functions with Jenkins' Hash
    derived hash values.
    
    Bump the cache version value because the hash function has
    changed.
    
    Change-Id: I9de789a48abab38ceb16e928bfc0c10e2a88747e
    Reviewed-on: http://gerrit.openafs.org/6102
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 20448059f02d07eccf7f81fdb55b80e566acfecc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 20 23:40:51 2011 +0000

    opr: Add Bob Jenkins's hash functions
    
    This imports a small subset of Bob Jenkins lookup3.c hash functions
    into the opr library. At present we only import the subset of this
    that deals with aligned arrays of integers, as this addresses our
    immediate need.
    
    It seems likely that if we're interested in a hash function for string
    arrays (or other arbitrary data), that more recent functions such like
    SpookyHash (from Bob Jenkins, again) or CityHash (from Google) may be
    a better solution.
    
    The immediate use case for this is removing the use of the '%' operator
    when indexing speed critical hash tables, as well as ensuring fairer
    distribution of entries across these tables.
    
    A short set of test cases is also provided
    
    Change-Id: I0ae26382e77da02204a30a95747f7d6de8c4f24a
    Reviewed-on: http://gerrit.openafs.org/6095
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f1dd2d696fb9ab71b4192b156042e0c63019c58a
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sun Nov 20 19:00:00 2011 -0500

    Linux: 3.2: Use set_nlink to update i_nlink
    
    As of v3.2-rc1~84^2~1, struct inode.i_nlink is now const to prevent
    direct modification.
    
    Change-Id: If0a38ffb7f9964e23f5e64c900ae92f56fb77def
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/6096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e14dec55e6600edb60ce5184b4ab1f646c68947b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 15 13:18:48 2011 -0600

    afs: Leave cellnum alone for explicit mtpt cell
    
    When a mountpoint is given an explicit cell, don't alter cellnum.
    Cellnum represents the cell for the parent, and is used for
    determining whether or not we're crossing a cell boundary.
    
    Previously, this code forced the mount point to always be treated as
    foreign (for a mountpoint prefixed with a cell name), or to always be
    treated as local (for a mountpoint prefixed with a cell number).
    
    Change-Id: I7b98ccc94bf61dc3d7be0b7d6b54019cd797e884
    Reviewed-on: http://gerrit.openafs.org/6051
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 51f71e533b20cd875eec8adda71edea044a606da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 11 11:00:47 2011 -0500

    namei: tweak getlinkbyte error handling
    
    in the event of a pread error, add the same error exit path
    trigger that we have elsewhere
    
    Change-Id: Id7a371f3fd710f3c6dad21bccb0662cf8562d99f
    Reviewed-on: http://gerrit.openafs.org/5843
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 0e3bfa033ed230fcb46ad8e3c26c8b7aae6e00af
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.
    
    Change-Id: I7d9a58f9af72b8c36b50374e49c07b4db85285e0
    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>

commit 639ca379e47fbe550d090fff9e635ad24e8e34f0
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 3 17:09:28 2011 -0400

    vol: rate-limit volume usage updates
    
    Add threshold and time rate-limit parameters for volume usage
    updates to disk.  This reduces the amount of i/o needed for
    volume usage statistics on very busy fileservers.  Set the
    default to limit updates to one every 5 seconds per volume.
    
    Change-Id: I6b4274476ef6b8f9e4288b109d5a3edbdea6e91c
    Reviewed-on: http://gerrit.openafs.org/5803
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8ce811e34379615f942e9ca73d1ba78bfe742042
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 18 09:54:43 2011 -0500

    Windows: RDR_RequestFileExtentsAsync unheld lock
    
    commit 55f5f356af2ef884413bd656f100055741ae871b forgot to remove
    a lock_ReleaseWrite(&scp->rw) in RDR_RequestFileExtentsAsync().
    
    Change-Id: I787ceddcada3659c7b2fae9bb90aa005a71d2ceb
    Reviewed-on: http://gerrit.openafs.org/6075
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ac1251ead12434a12fb8e7d6787845f534565039
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 18 00:39:24 2011 -0500

    Windows: must obtain and release an actual lock
    
    Change-Id: I2bb490ba3c1db05c4dc7660ca7319d7d96d16c0f
    Reviewed-on: http://gerrit.openafs.org/6072
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1379fb6de4d2134160fcc95cbbee4bd6048eaeaa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 17 00:30:24 2011 -0500

    Windows: non-release only worker threads can release
    
    There are two classes of worker threads created by the service
    and donated to the afsredir as part of the reverse ioctl processing
    model.  Normal workers can process any kind of ioctl and Release
    Only workers that can only process release extent events.
    
    Use a KeWaitForMultipleEvents in the normal worker case to permit
    processing any type of event.  The previous implementation excluded
    release extent ioctls from the normal workers.
    
    Change-Id: I05e86f62c08e322cf7aa9bdd2fd325919bcbfe8f
    Reviewed-on: http://gerrit.openafs.org/6071
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 833d076e04ac09270a203a9ff449ae2af8bdad7e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 16 00:29:34 2011 -0500

    auth: initKeys before first error exit path
    
    In afsconf_OpenInternal() _afsconf_InitKeys() must be called
    before the first opportunity to call afsconf_CloseInternal()
    or a crash can occur if the CellServDB file cannot be parsed.
    
    Change-Id: I5b2487056a24d0c4ad78921d85df755758c7679e
    Reviewed-on: http://gerrit.openafs.org/6059
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1c97c04add6639a11e88d412e369771bf6f0f281
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 16 10:33:41 2011 -0500

    Windows: Do not install IBM AFS HLP files
    
    The IBM AFS HLP files are so out of date at this point
    that they are simply confusing.  They reference tools and screens
    that no longer exist and claim the product is "IBM AFS".  Incorrect
    documentation is worse than no documentation.
    
    The HLP files cannot be updated since we do not have the sources.
    
    HLP file format is no longer supported on Windows Vista or 7.
    
    The afs-nt.hlp file will continue to be installed conditionally
    when afscreds.exe is installed but the shortcut to it in the
    Start menu is being removed.  afscreds.exe is not installed by
    default.
    
    Change-Id: I3443a5c4ca65472a16cbf7ae1d52da39e917136a
    Reviewed-on: http://gerrit.openafs.org/6065
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit fd42e08bf1882a02c3200e1c33a101e644aa046a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 18:35:26 2011 -0500

    Windows: buf_CleanAsyncLocked dirty range only
    
    buf_CleanAsyncLocked() should not instruct cm_BufWrite() to
    write a full chunk if the current buffer is the only one that
    is dirty.  cm_BufWrite() will determine if it is appropriate
    to fill a full chunk when storing.  Instructing it to check
    a full chunk forces it to do more work than necessary.
    
    Change-Id: Ie140d405147d700196532b72f04885a301a2550f
    Reviewed-on: http://gerrit.openafs.org/6054
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 55f5f356af2ef884413bd656f100055741ae871b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 18:23:46 2011 -0500

    Windows: create scache->redirMx to reduce contention
    
    Relying on the cm_scache_t.rw lock to protect the cm_scache_t.redirQueue*
    results in a large amount of contention between processing extent
    requests and releases from the afs redirector and the threads attempting
    to read from or write data to the file server.   There is no reason why
    the same lock must be used.  Allocate a dedicated mutex to protect the
    queue.
    
    By placing the new mutex after the buf_globalLock in the locking
    hierarchy it permits the lock acquisition logic for extent processing
    to be simplified further reducing cm_scache_t.rw lock transitions.
    
    Change-Id: Id2ded86c1f3757a2f1071c8cf39f2fbc6bcfcfaa
    Reviewed-on: http://gerrit.openafs.org/6053
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 042f6c08e3be0af3ef1cc4a0bfc4688c3e2ef7d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 19:03:14 2011 -0500

    Windows: Increase default number of daemon threads
    
    With the SMB interface there was little benefit to having
    a large background daemon worker pool since it was so rarely
    used.  Now that the redirector does everything in the background
    daemon workers, increase the default from 4 to 16 threads.
    
    Change-Id: I319182e4c539c14d06fe62dde2b41a159e4edea6
    Reviewed-on: http://gerrit.openafs.org/6058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 320c7292e6ae014e44e89b0da736bcc04ef42b2b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 19:00:05 2011 -0500

    Windows: cm_SetupStoreBIOD use firstModOffset chunk
    
    When cm_SetupStoreBIOD attempts to store a chunk to the file
    server it should not use *inOffsetp as the start of the range.
    There is no guarantee that the buffer at *inOffsetp is dirty.
    Instead use firstModOffset which refers to the first known
    dirty buffer in the range specified by the caller.  Attempt
    to fill a chunk of consecutive dirty buffers from that point.
    
    Change-Id: I468e896b046192461d6fe0dc3669e5feeb7886ba
    Reviewed-on: http://gerrit.openafs.org/6057
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c904d9a3889b7dd8c8795feaa9e5e4979f681f53
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 18:40:21 2011 -0500

    Windows: Fairness for background operations
    
    The background daemon worker pool is responsible for processing
    background Store and Fetch operations.  With the SMB interface
    primary store and fetch operations are performed in the SMB worker
    thread which makes sense since those operations must be synchronous
    to the incoming request.
    
    With the AFS redirector interface almost all of the work is performed
    by the background daemon worker pool.  It is therefore critical that
    the workers not get stuck in a state that starves applications.
    For example, copy of a file that is larger than the cache to \\AFS
    will result in a background store request for each chunk size of
    the file.  If each worker thread grabs one to process, only one will
    make progress and the rest will block.  If a cleanup operation
    (aka handle close) occurs the entire file will be flushed to the
    server synchronously in the redirector worker thread.  That thread
    will cause of the background daemon threads to block.
    
    Any subsequent fetch data requests that get queued behind the list
    of stores will in turn block until they clear.  This behavior is not
    fair.
    
    This patchset adds a new test to the cm_BkgDaemon() request
    selection loop, cm_RequestWillBlock().  If a request will block it
    is skipped.  If there are no requests to process that would not have
    blocked, the worker will sleep for 25ms instead of the usual 1s.
    
    For BkgStore operations, the CM_SCACHEFLAG_DATASTORING flag is
    used to indicating a blocking state.
    
    For BkgFetch and PreFetch operations, the CM_BUF_WRITING and
    CM_BUF_READING flags on the first cm_buf_t of the range is used
    to indicate a blocking state.
    
    Change-Id: I95d9d1f14dbe0c7d717e6a7253ccfb10a9fac851
    Reviewed-on: http://gerrit.openafs.org/6056
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d113c0eb8ac4717cafd7747a78c5aa3b649b8e68
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 15 11:53:12 2011 -0600

    vlserver: Avoid atoi for vol ids
    
    Change-Id: I27c30f9320ea6d2093846148ad455eda71b0b713
    Reviewed-on: http://gerrit.openafs.org/6050
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit a1871449eec8d9fc1152319bc63e29db7f9ae231
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 15 09:03:59 2011 -0500

    Windows: Create default Security Descriptor
    
    A misplaced #endif prevented the allocation of a default
    security descriptor.  This results in STATUS_INSUFFICIENT_RESOURCES
    errors.
    
    FIXES 130284
    
    Change-Id: I9c1d67368a1b5d770a4c9a981bdb4a24f8ad3c8e
    Reviewed-on: http://gerrit.openafs.org/6048
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c4d19e5d4271a31fd29c111fb27d145dc83b83b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 14 17:49:45 2011 -0500

    Windows: interlocked refCount increment in cm_GetSCache
    
    Failure to use interlocked operations in cm_GetSCache can
    result in an under count
    
    Change-Id: I370bcb9ac8b40f1c1b7ea3b7647fc76e3a554e2c
    Reviewed-on: http://gerrit.openafs.org/6046
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e55d1774b1b5b27a3617467b5e2a24ee2be3a38c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 13 12:06:18 2011 -0500

    Windows: netidmgr krb5_cc_get_principal can fail
    
    Do not dereference a NULL pointer if krb5_cc_get_principal fails.
    
    Change-Id: Ic213f0c41249931441bcedaf551acaa160ff7f0f
    Reviewed-on: http://gerrit.openafs.org/6016
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 38fbf93fcc21aaecbf9a7e27d19131b9de4c3839
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 12 18:33:18 2011 -0500

    Windows: smb_ReceiveNTCreateX create smb_fid earlier
    
    smb_ReceiveNTCreateX() calls cm_CheckNTOpen() which now
    requires the smb_fid_t allocated fid value for use in share
    mode locking.   Move the allocation of the smb_fid earlier
    in the function and apply necessary cleanup in error paths.
    
    Change-Id: Iee0e39cdf393bfd245829bdfb42ddfba63908451
    Reviewed-on: http://gerrit.openafs.org/6004
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 5c59d1b500ae4ba5223184fbfe18837891ea30c3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 12 17:32:06 2011 -0500

    Windows: cm_GetSCache avoid holding cm_scacheLock
    
    cm_GetSCache used to hold cm_scacheLock write-locked from
    start to finish except that it didn't.  There were several
    places where cm_scacheLock was dropped and reacquired due
    to lock ordering requirements.  Unfortunately, this has
    two problems. First, the function isn't very fast in the
    most common case since cm_scacheLock is write-locked for
    the search for an existing FID.  Second, there is a race
    that results when cm_GetNewSCache() drops the cm_scacheLock.
    
    To make things faster, use a read-lock for the common case.
    
    To avoid the race, if the FID cannot be located, call
    cm_GetNewSCache() first and then obtain the cell and volume
    information.  Then perform a second lookup for the FID while
    holding cm_scacheLock write-locked.  If we lost the race or
    there was an error obtaining the cell and volume info, put
    the new cm_scache_t back onto the end of the LRU queue.
    
    Change-Id: Idb94275d23c160ee0a2dc8fdcfd0f09506ecb2d3
    Reviewed-on: http://gerrit.openafs.org/6003
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit eb3c9f783b9488181c57ef949e3feddcb02d381a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 12 17:24:12 2011 -0500

    Windows: avoid null ptr in RDR_RequestFileExtentsAsync
    
    If the cm_scache_t cannot be obtained, do not dereference it
    while returning an error to the redirector.
    
    Change-Id: Ia8aaa33ca4ab410dc1b0100ea5668d5660d90b75
    Reviewed-on: http://gerrit.openafs.org/6002
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 090f6279c5496f648893606d298c698f376c7ae0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 12 13:45:08 2011 -0500

    Windows: Track active RPCs per scache_t
    
    It has been noticed that multiple RPCs can be active on
    a cm_scache_t object at the same time.  This is especially
    true of directory objects with the redirector.  Track the
    number of active RPCs and use that number in cm_MergeStatus
    when deciding whether or not to discard the cached data for
    the object.
    
    Change-Id: If291bb4c0e48d0ec087c3a7c2640e4598e7fd419
    Reviewed-on: http://gerrit.openafs.org/6001
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2fc9edc6e34ebef60413fad9a2af2aa73ea1681f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 12 13:41:30 2011 -0500

    Windows: fix locking hierarchy in service
    
    The smb username lock and the daemon global lock can be requested
    while the scache dirlock is held if there are no free buffers
    and the service is forced to claw back extents from the redirector.
    Adjust the locking hierarchy accordingly.
    
    Change-Id: I85387a16ca580d678af45f3931aa5e81fe0a0f2c
    Reviewed-on: http://gerrit.openafs.org/6000
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f199ac666195771a02e3ebb040c6e5fe47c58c58
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].
    
    Change-Id: Ib60126811f51943bfc81ab7c48d7f247f00f1cad
    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>

commit a7d569c857234626191514e2780368e1b85a6dae
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 16:37:04 2011 +0100

    rx: Turn the rxevent_Cancel macro into a function
    
    Turn rxevent_Cancel into a function rather than a macro which modifies
    its argument as a side effect. rxevent_Cancel now checks whether the
    event being cancelled is already NULL, as well as NULLifying the event
    when it is actually cancelled.
    
    Update all of the callers to reflect this new API, and so they no
    longer do unecessary work.
    
    Change-Id: I75b68f1c8f1a3023edd6113600663fe2b60d6097
    Reviewed-on: http://gerrit.openafs.org/5840
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit be8db58f5a44ce2ee4208de09a5ca1faf6f0f91f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 16:22:36 2011 +0100

    rx: New signature for rx event functions
    
    For a while now, we've had both new and old-style rx event callback
    functions. Modify all of our event handlers, and the functions that
    install them, to use only new style functions, and get rid of the
    old-style function prototypes.
    
    Change-Id: Ic7c568df9d191edb082fb41fb7705c54ca93cf48
    Reviewed-on: http://gerrit.openafs.org/5839
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5574ff814f02078b709cbc0a6c94201ca6fe2eca
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 11:22:51 2011 +0100

    opr: Add a red/black tree implementation
    
    Add an implementation of red/black trees to our runtime library.
    
    This is originally derived from the FreeBSD macro-based rbtree
    implementation, but is heavily reworked to not use macros, to improve
    legibility, and to favour speed over structure compactness.
    
    A test suite is provided in tests/opr/
    
    Change-Id: I123209d3f89b5f8c1b85d1e5cd7d1d650ccc68ed
    Reviewed-on: http://gerrit.openafs.org/5838
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 43766833ab64564770228566d8459900280c1146
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 11:10:53 2011 +0100

    rx: Add a helper function for delayed acks
    
    The code to schedule a new delayed ack event is distributed throughout
    the RX code. Consolidate this into a single helper function.
    
    Change-Id: If54e36b5648f8caffe64cc2203dc0041fd06b8b3
    Reviewed-on: http://gerrit.openafs.org/5837
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1a056d24a79242db09963dd0b0c2193c5034b61b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 09:45:10 2011 +0100

    opr: Add opr_containerof
    
    Add the opr_containerof macro, which can be used to find the base
    address of a structure which contains a member whose location is known.
    
    This formulation is heavily used throughout OpenAFS to determine the
    base address of structures containing queue pointers - this provides
    a central definition, rather than coding it from scratch each time.
    
    Change-Id: I2a32a214252ad304238f740ad92579e5bb7287be
    Reviewed-on: http://gerrit.openafs.org/5836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b15b4b15822bee87720bb0d78c2ce54051180339
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 5 04:10:42 2011 -0400

    Windows: Add Vista/Win7 Firewall Configuration
    
    Make use of the INetFwPolicy2 COM interface to configure
    the Vista/Win7 firewall for all network profile types.
    
    Change-Id: Id96d98f6e166f3529a117997f5a3c35b0051d1a4
    Reviewed-on: http://gerrit.openafs.org/5812
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b78b8f64a69481e59e957ebe09315fc5b8b60c17
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 5 03:36:48 2011 -0400

    Windows: Enforce Share Access
    
    Use file server locks to enforce file share access modes
    via the afs redirector interface.  The approach taken
    integrates share mode enforcement with the file server
    lock tracking code in the service.  The share mode
    enforcement mimics that of the SMB Server interface.
    
    This patchset includes two functional changes to
    the previous locking and share mode processing:
    
     1. The cm_scache_t fsLockCount field is used to
        determine if the desired lock can be granted
        by the file server.  If not, the RXAFS_SetLock()
        request is skipped and the request is failed
        locally.
    
     2. cm_CheckNTOpen() now accepts the desired and
        and share access modes.  The share access mode
        is used to determine if a test lock should be
        obtained at all.  If the share mode is FILE_SHARE_WRITE
        then no lock is requested.  This change permits
        Microsoft Office applications to offer the user
        the ability to open the file in read-only mode
        and notify the user when the document can be
        opened in read-write mode.
    
    Developed with Peter Scott <pscott@kerneldrivers.com>
    
    FIXES 130239
    
    Change-Id: If9b4beb74586296d4feae52dd06c03f0b8b595cd
    Reviewed-on: http://gerrit.openafs.org/5823
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c6a22d67ff9787ace2249d528eb9db99c5b19427
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 10 15:18:41 2011 -0600

    SOLARIS: Do not build x86 kernel module on 5.11
    
    Oracle Solaris 11 no longer supports x86 (amd64 is required). If we
    try to build the x86 module, /usr/include/sys/kobj.h complains that
    the ISA is unsupported, and refuses to go on. So, just remove
    MODLOAD32 from the libafs directories to build on sunx86_511.
    
    Change-Id: Ic18936d1a0f53ed290d885617d313347aa6ce87a
    Reviewed-on: http://gerrit.openafs.org/5835
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b41e30a55c8aeb6d7f42d74f9eb090232032057f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 10 11:58:12 2011 -0600

    namei: Remove extraneous rmdir
    
    We just unlinked the file, so we know we won't be able to rmdir() the
    same thing. Give a path one level higher to
    namei_RemoveDataDirectories, so we start rmdir()ing at the parent dir.
    
    Change-Id: Ifa54d1cc07ed2d277416d09eabc45aa1e1c3803a
    Reviewed-on: http://gerrit.openafs.org/5833
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4c679e380f697760de777d35fe057229bf2bf762
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 10 11:05:28 2011 -0600

    vol: Remove O_EXCL|O_TRUNC combinations
    
    A few places were specifying both O_EXCL and O_TRUNC to open().
    O_TRUNC does not make any sense with O_EXCL, and doesn't do anything,
    so remove O_TRUNC from these instances to make the code more clear.
    
    Change-Id: Ie8d9d7b9912a96683ef34f762607e75468b5ac78
    Reviewed-on: http://gerrit.openafs.org/5832
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit f27480aa2f8a26da3bd7634ff7072c1faac0f448
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 22:52:37 2011 -0500

    Windows: FSCTL_SET_REPARSE_POINT not yet implemented
    
    Since FSCTL_SET_REPARSE_POINT is not yet implemented
    return STATUS_INVALID_PARAMETER to all requests that
    do not fail validity tests.
    
    Change-Id: I53d4b4fc9d957daa70b16d37a529778ed8bbfa5e
    Reviewed-on: http://gerrit.openafs.org/5829
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 72e5bd1434a6a2238f28f11a149192f44d0b82d1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 22:47:55 2011 -0500

    Windows: FSCTL_SET_REPARSE_POINT error
    
    According to MS_FSCC 2.3.54 if the input buffer length is less than the size
    of a REPARSE_DATA_BUFFER structure, or the input buffer length is greater
    than 16,384, or a REPARSE_DATA_BUFFER structure has been specified for a
    third party reparse tag, or the GUID specified for a third party reparse tag
    does not match the GUID known by the operating system for this reparse
    point, or the reparse tag is 0 or 1, then the return status shall be
    STATUS_IO_REPARSE_DATA_INVALID.
    
    Change-Id: I0072902afc8bc354af8f9b84b1021b37191dc23a
    Reviewed-on: http://gerrit.openafs.org/5828
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 733aa6a63d8f15dcfe31f24ce31b67b746a2934a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 22:45:07 2011 -0500

    Windows: FSCTL_IS_PATHNAME_VALID return success
    
    Windows NT, Windows 2000, Windows XP, Windows Server 2003, Windows Vista,
    Windows Server 2008, Windows 7, and Windows Server 2008 R2 support the
    FSCTL_IS_PATHNAME_VALID Request (section 2.3.21) and return STATUS_SUCCESS
    whenever this request is invoked.  We will do the same.
    
    Change-Id: I432c8a41e1102648faaa3d8c0f3b8c36ea89bfc8
    Reviewed-on: http://gerrit.openafs.org/5827
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3c6e5681245ad4ee267d7e5ca260b38655633a96
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 22:42:54 2011 -0500

    Windows: these fsctl cmds are not implemented
    
    Return STATUS_NOT_IMPLEMENTED since the following
    FSCTL_ operations are not:
    
    FSCTL_LOCK_VOLUME
    FSCTL_UNLOCK_VOLUME
    FSCTL_DISMOUNT_VOLUME
    FSCTL_MARK_VOLUME_DIRTY
    FSCTL_IS_VOLUME_DIRTY
    FSCTL_IS_VOLUME_MOUNTED
    
    Change-Id: Idfe26a4b71538defd1919be575d62b32dd415a06
    Reviewed-on: http://gerrit.openafs.org/5826
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ff7d3a19f032c5d4917cc04eeff9cf92733f1fae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 22:33:11 2011 -0500

    Windows: Additional trace logging
    
    Add additional trace logging to the redirector to assist
    with debugging reparse point processing.
    
    Change-Id: I89d7a26d7d10ba5fff001d91f5e67baa224f4179
    Reviewed-on: http://gerrit.openafs.org/5825
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit b947adbacb5db4ce5e380ea28e1d734fdadd5cdf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 9 20:05:05 2011 -0500

    Windows: service must set reparse point attribute
    
    When populating the directory entry information for the
    redirector the service must set the reparse point attribute.
    
    Change-Id: I26db0b822f850f0a19606eeed3c29e0e72562e2f
    Reviewed-on: http://gerrit.openafs.org/5824
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d810870ec1a2ad1cb438d776236db3340081fe74
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Nov 10 13:34:53 2011 -0700

    Windows: Correctly increment PIOCtl DE
    
    When performing a directory enumeraiton, correctly increment ref count on
    the PIOCtl DE structures
    
    Change-Id: I44de6ab2d804378723e31887089aca4890d15fa6
    Reviewed-on: http://gerrit.openafs.org/5834
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2c0f857bc8d17d8e02f515d510f9530bc47866d4
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Nov 10 09:06:53 2011 -0700

    Windows: FileNetworkPhysicalNameInfo implementation
    
    Handle this File information query
    
    Change-Id: Id16c22396cbb7e22b8958bc0438e58da048f4f70
    Reviewed-on: http://gerrit.openafs.org/5830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit deedf97416e4eaaea79479711ad3c84020fdd1e0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 30 23:52:00 2011 -0400

    Windows: improve store data parallelism
    
    The file server will set the rx call status bit (0x1)
    when the rpc is in process and all of the locks are held.
    At this point it is not possible for another store data rpc
    to begin on the vnode prior to the completion of the current
    rpc.  Once this status bit is detected as set, the exclusive
    store data synchronization on the cm_scache_t can be dropped.
    
    This permits the next store data rpc to perform its biod
    construction.
    
    Change-Id: Ic856769650781b4f5f4ab4ac86df4946496bd655
    Reviewed-on: http://gerrit.openafs.org/5741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9ba891676a15512fa58915662cf599ea73eac430
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 9 17:04:09 2011 -0600

    volser: Preserve needsSalvaged during restore
    
    Some of the routines during a volume restore may set needsSalvaged, if
    an inconsistency is detected while writing the given volume data.
    However, after the data is read, we set the volume header information
    to what was found in the dump stream, ignoring any needsSalvaged that
    may have been set.
    
    To ensure that inconsistent volumes in this situation actually get
    demand-salvaged (for DAFS) or offlined (non-DAFS), keep the value of
    needsSalvaged in the header, if it was set.
    
    Change-Id: I575d14d84120be0fbbeb185ed2726f1285e6f2ce
    Reviewed-on: http://gerrit.openafs.org/5822
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit a1669f3e37299c11bf29a458212e03d1bdb22334
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Nov 9 10:34:10 2011 -0500

    viced: avoid bogus handle in rename
    
    because fileptr's handle can be reset during CopyOnWrite
    we need to SetDirHandle after that call
    
    FIXES 130215
    
    Change-Id: I8578d30da42bdd9be2c552cdac4d2c526c22ee45
    Reviewed-on: http://gerrit.openafs.org/5818
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6d519cf1234d54630dcfe48f6ecd393e2dfe71dd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 8 12:52:50 2011 -0600

    regen: Fail on failures
    
    If something fails, don't ignore the error.
    
    Change-Id: I3ae90009f0a0f61f269a05b39e9bfe478ccf256f
    Reviewed-on: http://gerrit.openafs.org/5817
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 49cb0d00909693b85f52d87a26d5df69a829d9d5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 13:15:57 2011 -0500

    Add "pretty" build option
    
    Add the capability to do a "pretty" build, where we output something
    like "  CC  /path/to/foo.o" to build foo.o, instead of the entire
    compiler invocation, similarly to how the Linux kernel build appears.
    Add the "pretty" building for CC and LD rules.
    
    This also prints out some helpful information when a command fails,
    which can sometimes otherwise be annoying to figure out post-mortem.
    
    To enable the pretty building, make with V=0. To output everything
    that is actually run with V=0, make with 'V=0 Q=' .
    
    Note that this does not work with all makes, since not all makes will
    propagate command-line-specified variables to sub-makes without -e.
    Non-working makes include /usr/ccs/bin/make on HP-UX and Solaris.
    However, GNU make will work, as will /usr/xpg4/bin/make on Solaris.
    
    Change-Id: Idce0afffe7d5be88b0743ec3f926a52efb1a6a74
    Reviewed-on: http://gerrit.openafs.org/4486
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5c64df8628e60f2e4c55aaf3e53fb01c140b42ed
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 8 12:29:39 2011 -0600

    Specify pattern rules in addition to suffix rules
    
    A few makefiles specify an old-style suffix rule, such as:
    
      .c.o:
              $(AFS_CCRULE) $<
    
    Not all makes seem to interpret these rules correctly (such as Solaris
    /usr/xpg4/bin/make). Since it is easy to do so, specify pattern-based
    rules along with these, like so:
    
      %.o: %.c
              $(AFS_CCRULE) $<
    
    Change-Id: I052f1156d1a7e29beedb0fb59390073c2521459e
    Reviewed-on: http://gerrit.openafs.org/5819
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 70e8451acd0426024c152073e53bc6606e0189e1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 3 13:40:37 2011 -0500

    Add setenv/unsetenv to roken
    
    Add the replacement setenv and unsetenv functions to roken, for use on
    (at least) HP-UX and older Solaris.
    
    Change-Id: Id05137b6e6c88eb6648bd6a6e649f9ef311e32a4
    Reviewed-on: http://gerrit.openafs.org/5801
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 00beae8c4e3b390637f20584e676cf86c817dadd
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Nov 6 16:28:27 2011 -0500

    dafs: avoid null deref getting volume header
    
    we don't assign hd before dereferencing. stop dereferencing
    and just use the queue cursor.
    
    Change-Id: I023fd959c5d49575dbdf89fd4dab77341c5c52d0
    Reviewed-on: http://gerrit.openafs.org/5814
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7fee28bae30c5a65898a2e3fd7149f07e8ca0df6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 3 13:17:33 2011 -0500

    salvager: Implement AskDAFS via SYNC flags
    
    Instead of probing the DAFS-ness of the fileserver by probing which
    FSSYNC opcodes it supports, detect DAFS-ness by looking at the SYNC
    response header flags, which explicitly state whether or not the
    endpoint is DAFS. This avoids unnecessary "protocol mismatch" log
    messages when the endpoint is not DAFS.
    
    Change-Id: Ie05a587951d6d5f69ae03cf3749f8c53e1eb6b62
    Reviewed-on: http://gerrit.openafs.org/5800
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 47b010d1e1d0e8bdbbcad73d5aedc19719d5d96a
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sat Nov 5 11:24:43 2011 -0400

    redhat: make rpms build on pre-f15 again
    
    we don't have systemd everywhere. don't assume it
    
    Change-Id: I4038bc1e1aff804e685d1987e368f2be1af35b05
    Reviewed-on: http://gerrit.openafs.org/5813
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b06c700ee40ca70ef08259af819e2a6084137457
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Nov 4 11:43:01 2011 -0400

    ukernel: handle pioctl errors properly in ktc
    
    the straight return from call_syscall isn't what we want. munge so
    e.g. EDOM handling for ktc_GetToken does the right thing.
    
    Change-Id: I3fbba799e0156bad29b27c74a1c7709ee8c50c34
    Reviewed-on: http://gerrit.openafs.org/5807
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c96d3429f2d4ad2ec7ac45a83c1111dc60a0d5c1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 4 16:12:03 2011 -0500

    libafsauthent: Remove obsolete HP-UX workaround
    
    This workaround is no longer relevant. It is also error-prone and
    there are far better ways to achieve a similar result, so get rid of
    it.
    
    Change-Id: If77f0cd95c8c608913d0c8717729a05c1ad67df9
    Reviewed-on: http://gerrit.openafs.org/5811
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2a1251c5d0c1b0fd4024d7b3282187a838b551fd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 4 17:19:28 2011 -0500

    volser: Remove debugging log messages
    
    While the -log option to volserver is supposed to print additional log
    information, it shouldn't spam the log with useless data. Remove some
    of the log lines that are really more "debug" information, so we log
    the same amount of information as in the 1.4 series.
    
    Change-Id: I1fd93344a7ebe11c6d5ad507dad87babe517785a
    Reviewed-on: http://gerrit.openafs.org/5810
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 025a7aee0b86c7d8a7299c85c88615eb8cd6b07f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Nov 3 10:10:23 2011 +0000

    Unix CM: Fix dir buffer leak in afs_readdir
    
    Resolve a buffer leak in afs_readdir that was visible on all non-Linux
    platforms (Linux has an independent readdir implementation)
    
    Change-Id: Ia5106f0e5c57430d3483b6add5b1629ff3fbc7b3
    Reviewed-on: http://gerrit.openafs.org/5794
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2ee7b00ddfe8b1b8c296a99f0244eb33c726e8e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 4 12:42:33 2011 -0500

    DAFS: Deal with exclusive-state volume headers
    
    GetVolumeHeader assumes that headers on the LRU are not associated
    with a volume in an exclusive state. This is known to not be true for
    some cases when salvage requests are received over FSSYNC, and may be
    true in other scenarios. It's easy to just skip such headers, so skip
    them.
    
    Change-Id: I343d2e4f7af1c753641767be322420f38873c217
    Reviewed-on: http://gerrit.openafs.org/5808
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit da00d719a77607d8873067902f5db5bff02d0e99
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 4 09:34:53 2011 -0400

    Windows: NPCancelConnection set correct length
    
    The RemoteNameLength passed in the IOCTL_AFS_CANCEL_CONNECTION call
    must not include the trailing NUL.  NPGetConnection() returns the
    size of the buffer used which does include the trailing NUL.
    
    Change-Id: Ic5eae51aade91db4a799bea83d898af6fbc37504
    Reviewed-on: http://gerrit.openafs.org/5806
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 3acd9b854e05748578f8291200fad8c6650e9b14
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 4 08:40:03 2011 -0400

    Windows: do not leak resource in AFSQueryDirectory
    
    Track whether or not the pFcb->NPFcb->Resource is held so
    it can be released in all error paths.
    
    Change-Id: I8c8bfb912329e8c11ac7857086412d85aa64fea6
    Reviewed-on: http://gerrit.openafs.org/5804
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8d0910be59975ef0e19c5d89fef4419700224bde
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 3 16:39:18 2011 -0400

    Windows: KFW_AFS should use API: ccache
    
    During the Heimdal transition that default ccache type
    was changed to FILE.  Restore the use of API: ccaches.
    
    Change-Id: Idd8dfb46fc9167d8c1eb44466b76906a152eef9d
    Reviewed-on: http://gerrit.openafs.org/5802
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 100144f28bf166d59bfd6c58ede3bbf1923e5532
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 3 14:14:52 2011 -0400

    Windows: Simplify KFW_AFS_klog
    
    Reduce the complexity of KFW_AFS_klog.  Introduce
    KFW_AFS_continue_aklog_processing_after_krb5_error() and
    combine the input realm and realm_of_cell cases making
    use of the RealmName variable.
    
    Change-Id: I363544548652bc892f50dce00865e13e7d42de7f
    Reviewed-on: http://gerrit.openafs.org/5799
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f7adbd3d3977a328612c0f527d764566846593da
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Fri Nov 4 07:31:57 2011 -0600

    Windows: Failed to release correct lock
    
    For cross-directory renames, the correct parent lock was not being tracked
    
    Change-Id: Ib50aad63f56cde638ff3bf1595d4495338c15f91
    Reviewed-on: http://gerrit.openafs.org/5805
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c59c07132ef17589ad3466ded418c1370539b7af
Author: Ken Dreyer <ktdreyer@ktdreyer.com>
Date:   Mon Oct 31 08:27:16 2011 -0600

    doc: limitations of addsite on different partitions
    
    A user on the openafs-info mailing list noted that the Admin Guide is
    unclear about creating read-only replicas on different partitions on
    the same fileserver. Clarify the rules here.
    
    Change-Id: I8229b4fba36c128772bb8198e6b8310a51206c03
    Reviewed-on: http://gerrit.openafs.org/5745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c0961b8d4103fab37c360461bcde30c56d24f483
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Nov 3 12:37:36 2011 -0500

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    ee7340860a22f81fb869cc431efc1fd4e5c77d34 (switch-from-svn-to-git-2542-gee73408)
    
    Upstream changes are:
    
    Jeffrey Altman (2):
          Windows: fallback to PROV_RNG if no PROV_RSA_FULL
          roken: posix errnos for windows
    
    Love Hornquist Astrand (3):
          drop __restrict to please old compilers
          add krb5_is_enctype_weak
          Don't export tests from library, reported in bug from Tom Payeire
    
    New files are:
            roken/setenv.c
            roken/unsetenv.c
    
    Change-Id: I7e3b3db2a58eaaae9de91431565176921d79af3b
    Reviewed-on: http://gerrit.openafs.org/5798
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 5eba97a8960c49aeea957dc94408368e1324eff0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 2 11:35:42 2011 -0500

    Solaris: Specify ARCHFLAGS in CFLAGS
    
    Various autoconf tests which use the C compiler may yield different
    results depending on whether or not we are compiling for x86 or amd64
    on Solaris (different libraries are available, structures may be
    different, et al). So, set CFLAGS depending on which arch we are
    targeting, so the autoconf results are more consistent with the actual
    compilation during the build.
    
    Change-Id: I99ddefaabc3bb2e80abe698366b348238d51408d
    Reviewed-on: http://gerrit.openafs.org/5786
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 353aa7ef2c172f574998480d6d051b3f4e95ae7b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 2 11:32:56 2011 -0500

    Do OPENAFS_OSCONF before compiler autoconf tests
    
    OPENAFS_OSCONF can set the C compiler we use, as well as changing
    various compiler flags. These changes can alter autoconf tests, so
    allow OPENAFS_OSCONF to change these before various autoconf tests are
    performed which require the C compiler.
    
    Change-Id: I8da7d10b227f230d1467c77845c0dbd4b48fa966
    Reviewed-on: http://gerrit.openafs.org/5785
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 1d9888be486198868983048eeffabdfef5afa94b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 2 10:43:54 2011 -0500

    Remove -settime/RXAFS_GetTime client support
    
    Remove the -settime option from afsd, and any code for making
    RXAFS_GetTime calls in libafs. Server probes have been replaced by
    calls to RXAFS_GetCapabilities, and the actual functionality of
    synchronizing the system clock has been superseded by other systems
    like NTP. Issue a warning for all code paths that try to enable
    -settime support.
    
    Historical note: the code that this commit is removing contains bugs.
    Do not simply revert this commit to turn on -settime support again.
    
    Change-Id: Id291f5f88b1ad84594706f2a1a02a933dddd0cb9
    Reviewed-on: http://gerrit.openafs.org/5787
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9c130285d8f17a5e09bbe0b3c3b886ec3145bae9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 18 17:04:14 2011 -0400

    opr: queue swap
    
    Add inline function to pivot two queues.
    Implementation by Simon Wilkinson.
    
    Change-Id: I704a1ff3e0d6314e2bfe47c870226cb6ffd44b1b
    Reviewed-on: http://gerrit.openafs.org/5742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fbf68f12592419a315f56585f9b8bb3a822bbc9b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 3 12:33:55 2011 -0500

    external: trigger git commit-msg hooks on import
    
    When we import commits, the new commit does not have a Change-Id in
    the commit message. Usually a git commit-msg hook will be installed to
    automatically insert a Change-Id into the commit message if one does
    not already exist, so trigger the hook by performing a no-op 'git
    commit --amend'.
    
    Change-Id: Ie5e83c529b83c9f3d269df6742a59e965dbc6407
    Reviewed-on: http://gerrit.openafs.org/5797
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7ef5aeb608a390b6ac88d7e6748c5a1b4a65e0c5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 3 12:27:22 2011 -0500

    external: commit imports with --no-verify
    
    Currently, importing external commits with import-external-git.pl may
    fail if the current repository checks for whitespace errors, and the
    external commits contain whitespace errors. So run the commit with
    --no-verify, so we can make the commit before fixing up the whitespace
    errors immediately afterwards.
    
    Change-Id: I8c9c39550e118956aa847e0ec5c5b1181f42e6cb
    Reviewed-on: http://gerrit.openafs.org/5796
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 95038fde9a23b4550cbba38460f4668ca25b4f85
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 3 12:17:07 2011 -0500

    Import setenv.c and unsetenv.c from roken
    
    Import the roken implementation of setenv and unsetenv, which are
    required on HP-UX.
    
    Change-Id: Ia91f407d696f3add27796bf9e2f5998717f4c825
    Reviewed-on: http://gerrit.openafs.org/5795
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ed9bf9b55976c78cf24b43580d1752e81fe697b1
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Nov 2 19:29:00 2011 -0400

    Windows: fix deadlock in symlink Attrib retrieval
    
    Commit df22620f66f5ce92776177d4d800fc7f4ae4ae99 introduced a
    deadlock when retrieving file attributes for symlink objects.
    To correct the deadlock, do not hold the Fcb locks during the
    AFSRetrieveFileAttributes() call.
    
    Change-Id: I8d3d2c5f54d4e5c97f690fd1fd6db62128317cf2
    Reviewed-on: http://gerrit.openafs.org/5792
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d8f357b9838509c5a5cfa22a85dffcd962804025
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 2 19:27:42 2011 -0400

    Windows: always set reparse point attrib for symlink
    
    Make sure that we always set the reparse point attribute
    for symlinks in directory enumerations and attribute queries.
    
    Change-Id: Ie7520cef64793e3385f229934189fc56a3edb584
    Reviewed-on: http://gerrit.openafs.org/5793
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e39e8bb5b2f08281bc1d91c9209a1a3f1b463af2
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Nov 2 19:25:36 2011 -0400

    Windows: remember when a reparse point is opened
    
    If the mount point or symlink is opened as a reparse point
    we must remember that in the Ccb so that later reparse point
    processing can be implemented properly.  For now remember
    with the CCB_FLAG_MASK_OPENED_REPARSE_POINT flag.
    
    Change-Id: I32997a85701a95a5be1402cdcd3335a938395760
    Reviewed-on: http://gerrit.openafs.org/5791
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c7e2d8450117a947cb858bfdb4aedd668bd56bfd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 2 10:35:14 2011 -0400

    Windows: Mount points are always directories
    
    Set the directory file attribute for all mount points
    since a mount point target is always represented as
    a directory.
    
    Change-Id: I57a8e44d1382093311e8263c18d55f22f2f745ea
    Reviewed-on: http://gerrit.openafs.org/5784
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Peter Scott <pscott.kd@gmail.com>
    Tested-by: Peter Scott <pscott.kd@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit df22620f66f5ce92776177d4d800fc7f4ae4ae99
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Nov 2 10:23:48 2011 -0400

    Windows: Retrieve file attributes on symlinks
    
    When a component is a symlink, correctly retrieve file
    attributes during a query file information request.
    
    FIXES 130283
    
    Change-Id: I0e9a576ca57acf9c65a5dc0eac8c9d65ddf6ab6f
    Reviewed-on: http://gerrit.openafs.org/5782
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit cddb3baa13b1c941533bee5cdf0873ca4563c9c1
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Wed Nov 2 10:18:09 2011 -0400

    Windows: add AFSRetrieveParentPath()
    
    Change-Id: Ic3da7f09f12f0e089b9561a542b2cf04ff61c98d
    Reviewed-on: http://gerrit.openafs.org/5783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 6fe9a1ea0f22ef31ede5a9a8bb052b4ee71e7be0
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Tue Oct 11 12:56:08 2011 -0500

    kdump-build: don't install when it hasn't been built for *bsd*
    
    Change-Id: Iac9df9eb199433127941590d24633dfe9bbc6815
    Reviewed-on: http://gerrit.openafs.org/5596
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3a9a5783cd1fd73902655f0876e2069b42688c94
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 14 08:10:19 2011 -0500

    klog.krb5: enforce DES for rxkad
    
    0. Always request a TGT regardless of the state of
       writeTicketFile.
    
    1. request des-cbc-crc when requesting a ticket for an
       rxkad service principal
    
    2. check the returned key length to ensure that it matches
       the permitted length of an rxkad key.  If not, generate
       an error instead of overwriting memory and continuing.
    
    FIXES 130278
    
    Change-Id: Ib7d27acc60c1b38dab4e2a56f83643477afb9721
    Reviewed-on: http://gerrit.openafs.org/5619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4f4b805ae9107482aa39f2c3c0c4327e8466e2ac
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Tue Nov 1 08:55:37 2011 -0600

    Windows: DE Reference count added during create
    
    A reference count is added under lock to a newly created DE to
    ensure it is not removed through deletion while in flight.
    
    Change-Id: If0955c4a6c4cf197a4e071f9c6022875aabb70bb
    Reviewed-on: http://gerrit.openafs.org/5775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 96e313de3e040efffbb9b933b0b2ae15c9fd540c
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Oct 31 18:10:07 2011 -0400

    Windows: change AFSProcessUserFsRequest default
    
    Default the return code for AFSProcessUserFsRequest() to
    STATUS_INVALID_DEVICE_REQUEST instead of STATUS_INVALID_PARAMETER.
    
    Change-Id: Ie7fb260a19617635c11c92e2daf5947cef73c9be
    Reviewed-on: http://gerrit.openafs.org/5774
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ee8b6d34fa7d562f94469e2b8098ccc0507d5876
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Oct 31 18:07:23 2011 -0400

    Windows: correct ordering of reparse point tests
    
    Test for whether an object is a reparse point before testing
    whether the provided buffer is large enough to hold the result
    if it is.
    
    FSCTL_GET_REPARSE_POINT
    FSCTL_SET_REPARSE_POINT
    FSCTL_DELETE_REPARSE_POINT
    
    Change-Id: If6c1b9b6e5853d7759f169943310321d408190e0
    Reviewed-on: http://gerrit.openafs.org/5748
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 94e9fceaa7ec343717b3fdc8610381832f532ebf
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Oct 31 18:05:31 2011 -0400

    Windows: log FSCTL_CSC_INTERNAL requests
    
    FSCTL_CSC_INTERNAL requests are not supported and will
    return STATUS_INVALID_DEVICE_REQUEST.  However, log them
    for easier debugging.
    
    FSCTL_CSC_INTERNAL is defined in ntifs.h only for
    Vista and above.  Since afsredir is built for XP
    and above its value must be conditionally defined
    by us.
    
    Change-Id: I39cf1f9d068d28ab6c9267c302d49feece6af700
    Reviewed-on: http://gerrit.openafs.org/5773
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 22f4e2945d3fa5b7802b7321ddaa35ef34b04a45
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Mon Oct 31 17:59:51 2011 -0400

    Windows: add braces to case statements
    
    A number of case statements did not have braces protecting
    the block.  Add them.
    
    Change-Id: I313462ca0c7490931e7c994ec45e39be071e782b
    Reviewed-on: http://gerrit.openafs.org/5772
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit af3dbb34a1ff226ac693c143f8e9d94ced4114c9
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Sat Oct 29 13:55:46 2011 -0400

    Windows: Directory Entry Processing
    
    Memory corruption was detected due to improper handling
    of directory entries and the short name b-tree during
    directory revalidation and tear down.  The problem
    resulted in a BSOD most frequently when roaming profiles
    were written back to the file server or when multiple
    clients were actively modifying the contents of a directory
    simultaneously.
    
    This patchset makes a number of changes:
    
     . rename processing no longer handles collisions locally.
       the file server replaces a target atomicly when there
       is a collision.
    
     . directory validation is no longer delayed until
       a handle is closed
    
     . data version numbers are checked for implied
       invalidation
    
    Change-Id: Ib4b281bfb5da4b5a5ce735e85d85c50e15fbcde1
    Reviewed-on: http://gerrit.openafs.org/5736
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit dac012a84b1fec9f2a5003e8cf45a7bdb8cb004a
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Sat Oct 29 13:29:55 2011 -0400

    Windows: additional trace logging for afsredirlib
    
    A large number of addition trace log entries were added
    to assist in diagnosing problems in the dir entry processing.
    
    Change-Id: I85cab4d66680eb5b9c00843c49c33a81acb18bc2
    Reviewed-on: http://gerrit.openafs.org/5739
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 15d9654d7242e56a6bab9f8d61afa87b58c1c55f
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Sat Oct 29 11:34:07 2011 -0400

    Windows: Reimplement AFSGenerateCRC()
    
    Replace the home grown CRC generation with a call to
    RtlHashUnicodeString() which is present on Windows XP
    and above.
    
    Change-Id: Id98a1223e0aad54b3c43a16653ab888ac883639f
    Reviewed-on: http://gerrit.openafs.org/5738
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4952df3f0359531e4a660c99c94c51eb0b169f59
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 29 19:23:07 2011 -0400

    Linux: 3.1: update RCU path walking detection in permission i_op
    
    The permission() inode operation changed again with kernel 3.1,
    back to the form it had before 2.6.38.  This compiles fine,
    but is missing the new way of detecting when we get called in
    RCU path walking mode, resulting in system hangs.
    
    Change-Id: I9a9a0c13aa3b35d8fe2bd592e2bca8187eacacc5
    Reviewed-on: http://gerrit.openafs.org/5740
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d603e2a95252200f02ad8465815c5bac0b23b1e1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 21 18:32:02 2011 +0100

    rx: Remove the ADAPT_WINDOW code
    
    RX still has the remnants of an old mechanism for doing RTT and
    congestion window detection. This code is #ifdef'd out using
    the ADAPT_WINDOW define, but is pretty much unservicable these days,
    as it collides with the TCP style implementation (with ADAPT_WINDOW
    enabled, both will attempt to manipulate a connections RTT and
    window size)
    
    As the current TCP-style RTT and window calculation seem to work
    much better in deployment, and there isn't much hope for us being
    able to maintain two different congestion mechanisms, just remove
    ADAPT_WINDOW. It is in git, if we ever want it back (not that I
    think we ever would).
    
    Change-Id: I4a22354e362fde8021f7d8b19e099a0f7b4fba3b
    Reviewed-on: http://gerrit.openafs.org/5737
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 7a426424b7fb45659f6000a564e8c71a9108a33c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 28 17:43:24 2011 -0400

    Windows: cm_Rename break in 9cf7a628c2ff178b2fa236d2c0a41ca9be315036
    
    9cf7a628c2ff178b2fa236d2c0a41ca9be315036 broke renaming of
    a file to a name that does not exist.  Put back the code that
    makes that possible with a comment.
    
    Change-Id: I6c13c0150d2366c9578502d0c8f6188bdc40a9c8
    Reviewed-on: http://gerrit.openafs.org/5735
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1dad690fc34fdd8d9df8a3be6d580441b7cae8bb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 28 11:36:10 2011 -0400

    Windows: out of date version not in current chunk
    
    In buf_GetNewLocked(), the comparision to decide whether a
    cm_buf_t is a member of the current chunk must take the data
    version into account.  If the data version is out of date, it
    is not part of the current chunk and is an object that can be
    safely recycled.
    
    Change-Id: Id8ca0a897a0a65efc1cabbe39107ca210b48bd4e
    Reviewed-on: http://gerrit.openafs.org/5734
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 286ffa0d7c4d594ff107b70f9e930271c027a79e
Author: Edward Z. Yang <ezyang@mit.edu>
Date:   Mon Oct 17 23:16:15 2011 -0400

    linux: Update Packaging to build OpenAFS services for Fedora's systemd
    
    Fedora 15 now uses systemd (see http://fedoraproject.org/wiki/Systemd)
    for the OS init system. While it currently has backwards
    compatibility with older SysV-style init scripts, future versions of
    Fedora may no longer support it, and OS startup tends to be faster
    with the systemd service units. Also, systemd runs all the service's
    processes within a linux kernel cgroup.
    (see http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt)
    
    This change includes an openafs-client.service and
    openafs-server.service unit files for the client and server packages
    respectively.
    
    Client
    - Loading the openafs module was moved into
    /etc/sysconfig/modules/openafs-client.modules. This causes the OS to
    load the module on boot. This is the preferred way for modules to be
    loaded with Fedora. (See
    http://docs.fedoraproject.org/en-US/Fedora/15/html/Deployment_Guide/sec-Persistent_Module_Loading.html
    for more details)
    - The CellServDB file is generated with sed rather than cat.
    This change was made because Systemd doesn't execute as a shell
    script, but rather executes processes directly. Rather than invoking
    a shell to concatenate the CellServDB.* files, they're written to the
    CellServDB file using a sed oneliner.
    - Do all of the proper kernel module loading and unloading.
    
    Server
    - Since systemd uses cgroups, when the service is shut down, all
    processes in the openafs-server.service cgroup will be terminated.
    
    The other changes are standard as per:
        http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
    
    Original version by Jonathan Billings <jsbillin@umich.edu>.
    
    Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
    
    Change-Id: Ifb41790ffe107b319097b9750273aecfe82c3349
    Reviewed-on: http://gerrit.openafs.org/5637
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Alex Chernyakhovsky <achernya@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9743f5729d1a55513e861bb1334599a8e597de6b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 27 17:57:25 2011 -0400

    Windows: only flush buffers on shutdown if running
    
    If a service shutdown message is received prior to the
    service entering the running state, do not attempt to
    buf_CleanAndReset() because the required data structures
    and locks are not initialized.
    
    Change-Id: I29f20dbe91230f078334ca58e8791d2422cdecfd
    Reviewed-on: http://gerrit.openafs.org/5733
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9cf7a628c2ff178b2fa236d2c0a41ca9be315036
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 25 15:32:11 2011 -0400

    Windows: Do not EEXIST exact match during rename
    
    AFS Rename operations on the file server will delete a
    target file if it exists.  Do not prevent renames because
    an exact match of the target name exists in the target
    directory.
    
    Change-Id: I680f8886575a9276a8df05965d14bbe7f24fba5d
    Reviewed-on: http://gerrit.openafs.org/5731
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 8fce3848d94f9717323bbd5dc51a9d18956fa2b5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 25 15:42:44 2011 -0400

    opr: build on Windows after queue.h move
    
    55efff93fe2762b58dc70cdd20aaf97e39825929 broke Windows.
    update the NTMakefile in src/util and src/opr to correspond
    to the move of queue.h.
    
    Change-Id: I3379c131ee39758a36cf8574aff5766f79497236
    Reviewed-on: http://gerrit.openafs.org/5732
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 241d3d54cebfc661cfaec6d21de091d906df3d08
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sat Oct 22 16:46:26 2011 +0100

    Windows: Look for 8.3 name when doing a rename
    
    If we are doing a destructive rename we need to find whether the
    target file exists.  This is done in the usual way (case sensitive
    case insensitive), but the short name is not looked for.
    
    This means that the rename of a file to a short name will not
    supersede correctly; rather the service refuses the rename since
    the target existed already.
    
    This patch looks the target name up in the shortname tree if the
    target name is short and all else has failed.
    
    Change-Id: Ie054516a378edf52938d3465143a16107a99c0f6
    Reviewed-on: http://gerrit.openafs.org/5652
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 159003395a6183266ad9672f12482b1cba6ba0ff
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Oct 20 14:39:31 2011 -0400

    Windows: New Trace for DirEntry tracking problem
    
    Incuded in this patch is additional trace for logging how
    directory entries are added, modified and deleted throughout
    the redirector
    
    Change-Id: I7ea80331ca24d543579603986f4eb6bcdd0bf072
    Reviewed-on: http://gerrit.openafs.org/5640
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit f0cc4c5dd0c03e4074fc70583215e590623e2414
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:29:37 2011 -0400

    Windows: Free work item memory with tag value
    
    For consistency throughout the source module, free all work
    item memory allocations with ExFreePoolWithTag.
    
    Change-Id: I4e9b275bb8b92a81884d36ce4c8ed754d281bbf8
    Reviewed-on: http://gerrit.openafs.org/5627
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit d5a6a895e3b004666b0d6aaa9fe4313b0a831dbd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:28:11 2011 -0400

    Windows: free pointer after last reference
    
    This is a superficial change but is being done for readability.
    If given the choice of freeing memory and then testing the pointer
    value or vice-versa, test the pointer value first.
    
    Change-Id: I189851c265a257d433df111622837db1d706c054
    Reviewed-on: http://gerrit.openafs.org/5626
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit ada5908ca1ed8cfa7bfc42890ac5edc73769ae4c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:26:13 2011 -0400

    Windows: AFSInitPIOCtlDirectoryCB free in try_exit
    
    Process all conditional release of allocated memory on
    failure within the try_exit on failure.
    
    Change-Id: I4a29f6e9d2506c00713558849c49c377a74d607a
    Reviewed-on: http://gerrit.openafs.org/5625
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 782fba58db1210e998ef9c6a50803262ac256812
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 25 13:30:19 2011 -0400

    Windows: close leak in AFSPrimaryVolumeWorkerThread
    
    Prevent a leak of the non-paged pool and a Resource by freeing all
    allocations within the Specific.Directory.PIOCtlDirectoryCB object.
    
    Use AFSExFreePool() instead of ExFreePool() because the objects
    are allocated from the AFSRedir.sys driver allocator.
    
    FIXES 130280
    
    Change-Id: I3b1c8fa838cfdf434bf7c08bb8935999cf328357
    Reviewed-on: http://gerrit.openafs.org/5730
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 61b04b19ad4bf2c62ec4309efeba4f442a54d8f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 24 21:14:59 2011 -0400

    Windows: afsredir only wants shortName if not 8.3
    
    When performing a directory enumeration for the afs redirector
    only specify a shortname if the name is not valid 8.3.
    
    Change-Id: I650be75b9ea8e41721272cd8bd426f1989ca01fb
    Reviewed-on: http://gerrit.openafs.org/5727
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 219624206ddee454e6bcbac7da7fe2fe632e39a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 20 14:06:47 2011 -0400

    Windows: Use SetFlag macro when setting flag
    
    Change-Id: Ibda7ac5e30a623dc26f031831e75380fdf700a88
    Reviewed-on: http://gerrit.openafs.org/5642
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit e21a063217f99ac441bb65c7e1f628de2a0fbb68
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 20 14:05:59 2011 -0400

    Windows: minor type in trace output
    
    Change-Id: I72b348dea83547260575c0bd2aca327ea4f72532
    Reviewed-on: http://gerrit.openafs.org/5641
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 81bfacca545e7394a13baa569a6b7c894fc36bde
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Tue Oct 18 10:04:48 2011 -0400

    Windows: AFSRemoveCaseInsensitiveDirEntry corrections
    
    If there is a fLink but no parentLink for the DirEntry being
    removed, return the fLink as the new value for *RootNode.
    
    This patch set also includes two changes that improve readability
    but do not alter the behavior.
    
    Change-Id: I112265798df9d46c83ffacddc7d97ad0f6fce5bf
    Reviewed-on: http://gerrit.openafs.org/5638
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Peter Scott <pscott.kd@gmail.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 46a96ee06582178eb88e8ca1c7fbb33fae79b403
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:22:53 2011 -0400

    Windows: AFSEvaluateTargetByName free buffer if no return
    
    For consistency with other functions in AFSCommSupport
    modify AFSEvaluateTargetByName to free the DirEntry on
    completion if the caller has not provided an out parameter
    to accept it.
    
    Change-Id: Ic5b6cc655fd47b95493e6aadb7b23481d0187d5c
    Reviewed-on: http://gerrit.openafs.org/5624
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit c780a9bc2849e25e3ac84f9f674348b8cdd942ff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:19:33 2011 -0400

    Windows: remove unused code block
    
    A small bit of dead code in the redirector.
    
    Change-Id: Ieeea58e7681e8b0bd043794f1aa51c112c212497
    Reviewed-on: http://gerrit.openafs.org/5623
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9c723e7a514ee4f809348ec79e2124cf3a38d895
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 17 09:10:17 2011 -0400

    Windows: re-indent afsredir log message params
    
    convert tabs to spaces for consistent indentation
    
    make use of braces be consistent
    
    Change-Id: I76e2c6427c02cb50f1eb4e6ab57e484a4bfa3c65
    Reviewed-on: http://gerrit.openafs.org/5621
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 2a7795aa565dfa4e371f806b799ce6a01a2db6c9
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sat Oct 22 15:00:03 2011 +0100

    Windows:  Defer deref of a directoryEntry
    
    During the handling of SL_OPEN_TARGET opens (usually associated
    with a rename) a directory entry was deferenced prior to its
    contents being used (to set up a seconding inforation field).
    
    This change just holds on to the reference until after that processing.
    
    Change-Id: I26dbd4bfb6595863109e549893f2367f71ad6404
    Reviewed-on: http://gerrit.openafs.org/5651
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 9824a53aea25a150f770e6b37536aa5fd7eb87df
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Oct 21 16:57:02 2011 +0100

    Windows: Set new file index correctly during rename
    
    Directory entries are required to have a file index which is used during
    directory enumeration.  When inserting into a new directory we have to
    update this from the target directory.
    
    This code fixes a bug whereby it was being set from the source FCB, rather
    than the target one.  On failure we now also reset the value to its old value.
    
    Change-Id: I726dd2e7ecc84e4a8b28f1f551c89fc6e815d853
    Reviewed-on: http://gerrit.openafs.org/5646
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 83c41c69411ece7ac1dd0a7b15d4ee9746edcf23
Author: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Date:   Tue Jul 19 15:01:26 2011 -0700

    allow cloning of any volume to any volume with same parent ID
    
    remove checks to disallow cloning of ro volumes to rw volumes,
    which allows cloning of any volume within the same parent ID
    grouping, including allowing destruction of newer version of the
    volumes.
    
    Change-Id: I13f600c33934b9af8237f049225d6bacfbbb5690
    Reviewed-on: http://gerrit.openafs.org/5049
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4e1a65ba7edec519acc67f0dcf2237a0f26e92aa
Author: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Date:   Tue Jul 19 09:02:49 2011 -0700

    remove check for disallowing clones of backup or ro volumes
    
    removes the if-statement ensuring that the volume being cloned is
    not a backup volume, nor a read-only volume. This allows clones
    from any type of volume to a given volume. Parent volume meta-data
    is maintained, only the cloneId value changes.
    
    Change-Id: If8444fcabc9b9106db7db7df881ae07e8d287915
    Reviewed-on: http://gerrit.openafs.org/5046
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ac88af748e25a40d062c888396aab8670ff8426a
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.
    
    Change-Id: Ida2fd16e486934c984b2431c95c3a24966b3b2b7
    Reviewed-on: http://gerrit.openafs.org/5555
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e7302bcc9c4aa6f1e6a1ae8e5b498bcb0540aac9
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 6 07:55:21 2011 -0400

    bozo: test program update
    
    Add -file option to test program to simulate program crashes.
    
    Change-Id: I1ba14152438e2f857fdf5d181023266b3ab64fa3
    Reviewed-on: http://gerrit.openafs.org/5533
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4552dc552687267fce3c7a6a9c7f4a1e9395c8e5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 29 17:41:31 2011 -0500

    DAFS: Remove VOL_SALVAGE_INVALIDATE_HEADER
    
    Currently VRequestSalvage_r takes a flag,
    VOL_SALVAGE_INVALIDATE_HEADER, which causes the header for the
    specified volume to be freed (via FreeVolumeHeader). This is almost
    never safe to do, since there may be other users of the specified
    volume that can be accessing the volume header at the same time.
    
    There is also no reason to invalidate the header at the time of the
    VRequestSalvage_r call, since the header must be invalidated when we
    detach the volume (other utilities may change header information). So,
    if there are any problems in the future because we do not invalidate
    the header at the time of VRequestSalvage_r, it is the fault of the
    detachment/offlining logic.
    
    So, remove VOL_SALVAGE_INVALIDATE_HEADER and all of its users. Take
    this opportunity to correctly document the VRequestSalvage_r headers
    in the VRequestSalvage_r comment, as it was previously missing the
    VOL_SALVAGE_NO_OFFLINE flag.
    
    Change-Id: I65c4cc0e81171aafa7b78ae9e1f503edb2f3f2c3
    Reviewed-on: http://gerrit.openafs.org/5319
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d171a5e059566cc99c5dd980039dd56233f91a67
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 13 12:23:35 2011 -0400

    DAFS: fssync online requires a partition name argument
    
    fssync-debug online silently fails when run without a partition name.
    Check for the required partition name on the server side and the client
    side.  Report errors back to the client when the server side fails to
    pre-attach the volume.
    
    Change-Id: I454b202ac83893b1ee54d586a46d891773090a64
    Reviewed-on: http://gerrit.openafs.org/5615
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 87f969f82d12c8200ede3fd30a151e09ab0bf6ad
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 11 10:51:14 2011 -0500

    volser: Remove ExtractVolId
    
    volser was using its own function to extract a volume ID from a
    filename string, and was using atol to do so. The ato* family of
    functions can have problems with larger volume IDs, not to mention a
    lack of error checking, so don't use it. Since we already have the
    function VolumeNumber in the vol package to do the very same thing,
    just use that instead.
    
    Change-Id: I40953d3533454503583685eb3adeb0079137c8a1
    Reviewed-on: http://gerrit.openafs.org/5594
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b5a153fb75bb6642490e9856dc6212244a590301
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 3 13:10:44 2011 -0500

    viced: Check for HOSTDELETED in stillborn check
    
    h_FindClient_r checks the connection rock for a client object twice.
    First it sees if we already have a client object, and if we don't, we
    effectively create one (or find a suitable one). Then we check again,
    to see if someone else set the rock while we were creating a client
    structure.
    
    Currently, the first check checks if client->host->hostFlags has
    HOSTDELETED set, but the second check does not. So, if the host
    associated with the client has been deleted by someone else, currently
    we will unnecessarily log a "stillborn client" message, and we will
    continue to use the deleted host. If the host continues to be held by
    someone, we will run into the same situation repeatedly on future
    requests until all of the host references go away.
    
    To fix this, also ignore HOSTDELETED clients when performing the
    stillborn race check.
    
    Change-Id: Id72e83cb55b99a686d4179905116592e80eb9ac7
    Reviewed-on: http://gerrit.openafs.org/5614
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 13a4642458254e6bdbfa6fd8e165c270f567a1aa
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 13 11:45:58 2011 -0500

    vlserver: Log to VLLog by default, not PtLog
    
    Change-Id: I25c13a4461fc5a6ba2809b6937cbc18ed9c6ed53
    Reviewed-on: http://gerrit.openafs.org/5616
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8c7202fb9ea9cf5e5c888000ec84fd9b7478068d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 14 11:32:34 2011 -0500

    vos offline: Bring volume back online for -busy
    
    vos offline is supposed to bring a volume back online from "busy"
    status before exiting, as volumes should not be in "busy" status for
    extended periods of time. This was being enforced by required that
    -sleep be specified; however, -sleep only results in the volume being
    brought back online if a non-zero sleep time was specified. So, make
    sure the volume is brought back online if -busy was specified.
    
    Change-Id: I6e605771fcfcabbb09f6dcfd0576c062f64ad93f
    Reviewed-on: http://gerrit.openafs.org/5620
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 547d94edd3affb5f377cd1b3db39c46ca0cf5aec
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 22 09:32:33 2011 -0400

    cache bypass: don't define iovecp for UKERNEL
    
    iovecp is defined but not used for UKERNEL.  Define it conditionally
    to avoid gcc warnings and --enable-checking failure.
    
    Change-Id: I109ada36d0ab75e8a477498900dfaf85589e20e2
    Reviewed-on: http://gerrit.openafs.org/5650
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f715ebaee4188300ecee57109512609c7c84cf98
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sat Oct 22 14:27:41 2011 +0100

    Windows: Remove unused cleanup flag
    
    In AFSOpenTargetDirectory the flag bRemoveShare was initialized
    FALSE and never set TRUE.  In teardown after failure some code
    did listen to the flag, but the operation (IoRemoveShareAccess)
    was not protected by the FCB mainlock which it should have been.
    
    Rather than get the locking correct, just remove the flag entirely.
    
    Change-Id: I097f15bb0903f3c0889b62427d2169cf84aa04a0
    Reviewed-on: http://gerrit.openafs.org/5649
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 4b817cbb520872e69b01e5675f9037d8948d0ade
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Sun Oct 23 19:15:16 2011 -0400

    bypasscache: allow arbitrary sized iovecs
    
    instead of binding outselves to PAGE_SIZE, just fill any size
    
    Change-Id: I01385df372ac2bda6d8ea24381bf38102c12615f
    Reviewed-on: http://gerrit.openafs.org/5658
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 28a159b2bfff7ad450dce612601a0286d4f91df5
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Oct 6 04:04:36 2011 -0400

    bypasscache: do errors correctly
    
    do set errors when we bomb out early
    do not unlock and return early when we happen to do a correct zero
    length read
    do set errors the kernel can deal with if we're feeding a page routine
    
    Change-Id: I1dca1f9e3b0f3d24da3e4f55b473775a737370b4
    Reviewed-on: http://gerrit.openafs.org/5554
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 6f59c71988d75f76750c46adb11cda7e9189d5f3
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Oct 11 15:37:57 2011 -0400

    ukernel: get an ip address even when dns and hosts suck
    
    gethostname plus gethostbyname being useless make things fun
    
    make things less fun
    
    Change-Id: I5595698b0b7f2448b8c86448bedd8b16ab088510
    Reviewed-on: http://gerrit.openafs.org/5600
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7829e7152361c38a22a7ba4c11e4f614e4392d60
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Oct 23 22:45:21 2011 -0400

    dir: add missing return in DRead
    
    A missing return in the kernel version of DRead causes the code to
    think that no entry exists for a dir and proceed to allocate a new
    one, if the entry is the third one in the hash chain.
    
    If the existing entry is dirty, its contents are never written back,
    and the pending changes to the directory are not seen by the client.
    
    Change-Id: I8b0f86b04d6ac8f75720933308a0983810974ff4
    Reviewed-on: http://gerrit.openafs.org/5666
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2aaa540276f5b5a0c368e44d8fd04b32c4632c3f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 17:41:27 2011 +0100

    tests: volser doesn't need rxgk yet
    
    An rxgk dependency has crept in to the volser tests. Remove it for
    now.
    
    Change-Id: I0439ab5cf6deb335ebe76fb5a6736c9905312eec
    Reviewed-on: http://gerrit.openafs.org/5665
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fd5174d918a5d75f64b122c8433a3c431cb8e454
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 17:40:20 2011 +0100

    tests: Add opr library for ktime test
    
    The ktime tests need libopr for the lcstring routines. Add the
    dependency.
    
    Change-Id: I6902537236fbf35a654a3a4d70fa8f2df89e2a92
    Reviewed-on: http://gerrit.openafs.org/5664
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2ada637b9410f18b3d4f3a96b5347a4f71b4851
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 19:09:32 2011 -0400

    rpm: Add new libraries
    
    Add the new libopr.a and libubik_pthread.a libraries
    
    Change-Id: Ia91c67d72f1ac98060af60b6535db008911d3b1a
    Reviewed-on: http://gerrit.openafs.org/5663
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1de23d1fe5d64c8f5e8f24579c0926fabdaace92
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 19:07:33 2011 -0400

    rpm: Turn on debugging
    
    Now that we build with a blank CFLAGS line, we need to make sure and
    actually turn on debugging in the build system, so that our debuginfo
    files are vaguely useful
    
    Change-Id: Ic2ebd0ebe866d511c4b0aef15845a85d95bacb5b
    Reviewed-on: http://gerrit.openafs.org/5662
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d88682e803912451880c3a9c2b07a01abaebe984
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 17:49:08 2011 -0400

    roken: Add *progname() to shared library exports
    
    Add rk_getprogname and rk_setprogname to the set of shared
    library exports in libroken
    
    Change-Id: I1fd26c59b26a256b2070bfdc14dfaa5f82fb8002
    Reviewed-on: http://gerrit.openafs.org/5661
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 5743c96bdea2e9aafeeeec3a1b4377d8860ef437
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 21:23:34 2011 +0100

    rx: Define afs_kmutex_t for LWP too
    
    afs_kmutex_t is used for lock definitions in the kernel, and in
    pthreaded builds. LWP doesn't have any equivalent, and all structure
    members using this type have to be protected with RX_ENABLE_LOCKS, which
    starts to become untidy.
    
    Just make afs_kmutex_t an int for LWP, so that we can simplify our
    headers, at the expense of some additional storage on LWP builds (which
    are going away at some point, anyway)
    
    Change-Id: Iaa5683bdfd932c78a9a5d35b8a4530cecf5bdb37
    Reviewed-on: http://gerrit.openafs.org/5660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3f938315adc08936024eb86678745dd85d2a092d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 23 16:38:13 2011 +0100

    dir: Don't leak a buffer on a failed Enumerate
    
    If, for some reasons, Enumerate encounters a hash object with a NULL
    buffer pointer, that's no reason to leak the hash object. Make sure
    that we DRelease it before failing
    
    Change-Id: I9ba6c69ca524937a6068d33a0ec0a90eef5b88ea
    Reviewed-on: http://gerrit.openafs.org/5659
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a9924ba433f81bfbfc2c0e726f2be06d460e4d56
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 12 09:50:18 2011 -0400

    rx: ackall handling
    
    If we ACKALL a stream, then we're sending a hard ACK for all of the
    packets in the stream. We shouldn't send that hard ACK, and then a
    load of soft ACKs for packets that don't actually exist.
    
    Change-Id: Ibe0c76b4e92c5baa8801cfd12f961fabce223039
    Reviewed-on: http://gerrit.openafs.org/5604
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6cb6bcc208a0ebb57325522ed764c7bf4bf6104e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 21 15:05:06 2011 -0500

    LINUX: Fix afs_linux_pag_to_groups signature
    
    "new" is a struct group_info**, not a struct group_info*
    
    Change-Id: I606afce74be6820b99b151b6077cf23d06e8e2d6
    Reviewed-on: http://gerrit.openafs.org/5648
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit ee2fbffb04bb8b5098354646e262afa90c1b6f59
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 12 14:50:26 2011 -0500

    LINUX: Revert group changes on keyring failure
    
    On Linux kernels that support keyrings, when we setpag we try to add
    the PAG to the session keyring and to the supplemental group list.
    Currently, if we fail to add the PAG to the keyring (which may happen
    due to key quotas, or possibly other reasons), we return failure but
    the group list is still modified with the new PAG in it.
    
    Therefore, if the keyring-based approach fails, the new PAG may still
    be in use, but there are no keyring keys associated with that PAG, so
    the PAG may never get destroyed. This can cause a large number of PAGs
    to accumulate over time, causing performance problems.
    
    So, change this so that, in the event that keyring installation fails,
    we revert the group list back to what it was before we touched it.
    Also mark all unixusers with the new PAG as expired, in case one got
    created during processing. Thus, the new PAG never gets used.
    
    Change-Id: I61993edf705209e1a5d8dee638a9003690017c35
    Reviewed-on: http://gerrit.openafs.org/5238
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit dd831c09602f1ef16cc7dece84aeff638cce7272
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 20 16:57:14 2011 -0500

    viced: Do not swallow errors on StoreData recovery
    
    When we encounter any error in the StoreData fetch/store loop, we
    reset the disk usage to ensure it remains correct, even in the face of
    unexpected errors. However, when we do so, we use the errorCode from
    VAdjustDiskUsage as our return value; if it is 0, we return success,
    ignoring the error that got us in this code path in the first place.
    
    Instead, keep track of a temporary errorCode for the disk usage
    adjustment, and do not override our return value if there was no error
    in the disk usage numbers.
    
    Change-Id: Ifbe2377f2750b508d48e535215be3583d1d78e65
    Reviewed-on: http://gerrit.openafs.org/5645
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 55efff93fe2762b58dc70cdd20aaf97e39825929
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 22 09:43:41 2011 +0100

    opr: Move queue header out of util
    
    Move the header which is installed as opr/queues.h out of util/ and
    into the new, top level, opr/ directory. Similarly move the tests out
    of the util/ test suite, and into the opr/ tests
    
    Change-Id: I81af487f09e1f0f4b25654a1f64c5ac75fd5a95b
    Reviewed-on: http://gerrit.openafs.org/5656
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>

commit ab866c821a705d7911e0ff8ac987249efdc63435
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 10 19:01:26 2011 -0500

    dir: Remove double release in FindBlobs
    
    When DRead() fails, we DRelease the entrybuf, then break. However,
    this break takes us to the end of the function, where we promptly
    DRelease again, causing a double free
    
    Change-Id: I5a0293990e01376525d8adae25477c64e2cc93ad
    Reviewed-on: http://gerrit.openafs.org/5655
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 69f54d474827548375c0bd39a87ac7ec376b6d9b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 12 09:44:37 2011 -0400

    linux: makesrpm should cope with releases with letters
    
    don't just deal with numbered releases.
    
    Change-Id: Iab97e4a7bebebf97d367243501aaf2a0b4b0476c
    Reviewed-on: http://gerrit.openafs.org/5602
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 488c7c97854a4bd0ec67bcfe17df93b3fd025f88
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Oct 12 14:34:55 2011 -0400

    afs: don't try GetDownD if nothing to get
    
    if we "need" negative slots or caches, don't run. also,
    don't stay "too full"
    
    Change-Id: I29ef8d5fd9844a878d0c804d06aed5862a2d0df4
    Reviewed-on: http://gerrit.openafs.org/5612
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 796de9fb43857acccbd51e2af7c8d67eea90fdc5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 12 15:26:23 2011 -0400

    ukernel: don't define rdwr env on linux
    
    We're not vm rdwr env in ukernel. Don't claim we are, otherwise we
    will never push chunks out to the fileserver when our cache is full
    
    Change-Id: I1c52ef502d42a4a2b63e786471fa487b88712e9d
    Reviewed-on: http://gerrit.openafs.org/5613
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 7ae1921b76750ef28258777cf1b233c4917663d7
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Oct 12 13:09:42 2011 -0400

    ukernel: set pthread stacksize to an integer multiple of 8k
    
    because some pthread stacks require this to be in units of page size,
    guess that page sizes will be 4k or 8k, and use the larger as a divisor
    
    Change-Id: I9f89f7e32e2a70e12f1ed7a7fb86cab171b61e07
    Reviewed-on: http://gerrit.openafs.org/5606
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit eead07418f13cd87a90770f03ea5118c546d8f1a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 12 13:04:28 2011 -0400

    ukernel: add morepackets check in listener
    
    Make the listener loop actually check for more packets needed,
    like kernel, pthreads and lwp. Only checking for new packets every
    20 seconds isn't sufficient on today's networks!
    
    Change-Id: I80319cfd9d540c9a56b0dd8d948a380665426409
    Reviewed-on: http://gerrit.openafs.org/5605
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 9f68e0dd31ddb7bf69ea8ac13b3afe371dd6b7cb
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Oct 11 15:21:12 2011 -0400

    afs: on uuid init fail, don't leave garbage behind
    
    make sure we zero the uuid if we failed
    
    Change-Id: I9d21e003b68eff0ce9bea4634c601c4663a0c078
    Reviewed-on: http://gerrit.openafs.org/5599
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 87dcfc872c11fdb13ebf0448abe91150aaa86859
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Oct 11 14:32:04 2011 -0400

    ukernel: set close-on-exec on our socket
    
    if the process we are in execs a child, it doesn't get our socket
    
    Change-Id: Iaf1831866e0dcda0449e75d89c576557c61090dd
    Reviewed-on: http://gerrit.openafs.org/5598
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f722a75fe21963d64217375f1f7bbb0eb14befb4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 12 09:47:14 2011 -0400

    rx: Don't clear the receive queue when out of packets
    
    We can end up discarding a receive queue that's been soft acked,
    effectively taking back soft acks we sent. Whilst the RX
    documentation says that a client can drop soft acked packets at
    will, our RX implementation assumes that if the final packet in
    a call has been soft acked, we won't clear the queue. If a client
    clears the queue in this situation, the call will hang.
    
    What *should* happen is that we should take necessary locks,
    confirm that we have not soft-acked all of the packets in a flow,
    and then discard, or, if we're just going to discard, error the
    call.
    
    Change-Id: Ic8e358b8648c1a6f0154009093468531a9e3cf74
    Reviewed-on: http://gerrit.openafs.org/5603
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 735873d51512bc31134856c06345bb7caf9d8144
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 14 15:36:50 2011 -0500

    auth: Get correct viceid in legacy GetToken
    
    When ktc_GetTokenEx needs to get tokens via the legacy ktc_GetToken
    interface, it was not extracting the viceid. Make it set the viceid so
    the caller gets the correct id.
    
    Normally this would require parsing the given client name. To reduce
    the amount of times we store and extract the viced from the "AFS ID
    %d" string, create a helper GetToken function that can store the
    viceid directly, without storing it in a string.
    
    Change-Id: Ib03a419aee6eaed3b253c4d5d575d4dd8d3b8ddc
    Reviewed-on: http://gerrit.openafs.org/4482
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 59b47fba3fa7cf13ef82463c5112851f7bdaf2ec
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 14 15:05:37 2011 -0500

    auth: Force correct evenness on rxkad tokens
    
    Rxkad tokens historically have forced odd lifetimes when the given
    viceid is actually an AFS ID, and even lifetimes when it is not. Force
    this when the new token-handling functions are used (so the viceid is
    correctly interpreted by users of the old token format), by creating
    rxkad tokens with token_importRxkadViceId.
    
    Slightly reworked by Simon Wilkinson to provide a generic token
    destructor function.
    
    Change-Id: I9f6aa518b8ae51a3772b69a0722a28bff6b47128
    Reviewed-on: http://gerrit.openafs.org/4481
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c37a14697df291f641b4fa5a32826054d92210b0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 10 17:19:13 2011 -0500

    docs: Refer to dafs binaries by their real names
    
    (Most of) the dafs binaries are called da(something). Update the
    example in the dafileserver documentation so that we call the binaries
    by the names that they are actually installed with on the system.
    
    Change-Id: I05906758aa2b00ea7bc7f9be10414c8ad1a5a11a
    Reviewed-on: http://gerrit.openafs.org/5654
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 7a4498850814ea524f55de0b84d6b0ae0b4834bb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 10 22:09:40 2011 +0100

    ptserver: Don't check for noauth before rebuilding
    
    The ptserver database building scripts would check to see if the server
    was running from a bosserver with the noauth flag set before performing
    a database rebuild.
    
    This means that you can't start ptserver normally, and then configure
    the database using pts -localauth, which is the preferred method for
    configuring new cells.
    
    Remove the check for noauth. This is slightly risky, as it means that a
    corrupt database could be completely erased upon restart. However, we
    already check that the dbheader (65k) is entirely blank - which will
    protect us against any single page corruption errors.
    
    Change-Id: I45dbb53d7f80b0b307f88941cb1e061967fcac81
    Reviewed-on: http://gerrit.openafs.org/5653
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ca8ba7e7a41e61cc943b34196872b72a190432e3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Oct 23 11:22:07 2011 -0400

    FBSD: typo fix
    
    Gerrit/5572 added conditionals on __FreeBSD_version >= 900044, which
    is (approximately) when a bunch of kernel API renames happened.
    (There has since been a dedicated version bump to 900045 a month
    or two post-facto, but 900044 should be fine for now.)
    However, 900044 is not 90004.
    
    Change-Id: I566186a7b53fd3b605a0f531e241eaf54a96bba3
    Reviewed-on: http://gerrit.openafs.org/5657
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>

commit 1b32b4800b1dd8985c1554453354e683a66c9ab5
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Oct 12 11:04:33 2011 +0100

    Windows AFSRDR: Log before decrementing refcount
    
    The library support package keeps count of the number of times
    the library code is active.  When this goes to zero this means
    that unload of the library can continue.
    
    Although I cannot see it in the code it seems reasonable to assume
    that at that stage the device object might go away so (and if it
    doesn't do now it may in the future).  This potentially renders it
    unsafe to do anything after InflightLibraryEvent has been signalled.
    
    This patch moves the logging up to above the decrement of the refcount.
    
    Change-Id: I9493d970cec4a025ca9e4c5542e2d838c87f7817
    Reviewed-on: http://gerrit.openafs.org/5601
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da9044cff966736bc064166a7136c94c0bfc1e5f
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Oct 11 14:03:29 2011 -0400

    ukernel: don't enforce thread lockers in remove vop
    
    we enforce locking by pid. when we are ukernel, MyPidXX is stupid.
    
    don't bother.
    
    Change-Id: Iddefd5d63edd6cc35a3c8112cb2cfbf3d47031aa
    Reviewed-on: http://gerrit.openafs.org/5597
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 75179d50eae3258e8baa0a4c9f069fcd11d08260
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Oct 10 17:56:20 2011 -0400

    ukernel: install our sysincludes to root.perf
    
    otherwise, we can't actually include sysincludes from something
    linking libuafs
    
    Change-Id: Ia6565dda8390ef6510aa2170e36ff12ddb19fc9b
    Reviewed-on: http://gerrit.openafs.org/5593
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3eb60908a1f9b3f2783ec3f7755b242bff3d573d
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Oct 10 16:35:45 2011 -0400

    ukernel: add uafs_access
    
    we don't have an access vop. add one.
    
    Change-Id: I813fb941608b5e49a0f23730414854602630fdee
    Reviewed-on: http://gerrit.openafs.org/5589
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 0676dc9e0c59e8aee3db5e0a7b4acf7229da7b88
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Oct 10 16:57:35 2011 -0400

    volinfo: fix bad format string
    
    we need a format string; currently here we have none, which is no good
    
    Change-Id: Ib097100383dba9d56056b96c5322734abb765f9d
    Reviewed-on: http://gerrit.openafs.org/5591
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 3df03f0abe3e706eaba57e4d9d8c46f2f4d7414c
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Oct 5 10:06:05 2011 -0400

    vol_split: avoid using stale open directory vnodes
    
    we could in case of multiple splits end up using a stale open
    vnode for a directory; attempt to close and thus force-reopen
    any fdhandles backing ihandles.
    
    Change-Id: I50ff39873b523b05287c7a183d84e6f16eb7cd90
    Reviewed-on: http://gerrit.openafs.org/5553
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4a1d319177ea0e58c9046c3c173bb7d2877d1bc3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Oct 8 17:16:26 2011 -0400

    FBSD: deal with kernel API rename
    
    Upstream decided to rename the kernel functions that implement
    syscalls to have a sys_prefix (including afs3_syscall!).
    We use a couple of them, so we need to conditionalize accordingly.
    Unfortunately, __FreeBSD_version was not bumped with the change,
    so we use something close to it and hope it's close enough.
    
    Change-Id: I228805a813af70b30f94f659e4da602210a6d6df
    Reviewed-on: http://gerrit.openafs.org/5572
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 26253df896a7709847cda041db1dc187f1dbf83e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 6 06:03:07 2011 -0400

    bozo: bosserver man page updates
    
    Add the new -pidfiles option to the man page. Add a few other missing
    options as well.
    
    Change-Id: I2d72ec9948edb4dce4c6b6d974915d4ac7560b0b
    Reviewed-on: http://gerrit.openafs.org/5587
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit bd1fbd8f4c0696a73e6211ded89e8c1105db1bfe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 7 11:23:57 2011 -0400

    Windows: correct use of krb5_init_context in aklog
    
    A zero return code is success.  Apply ! to obtain proper
    conditional test.
    
    Change-Id: Idd60fd2476a36ec36f7b5e250e9f8b8531c80611
    Reviewed-on: http://gerrit.openafs.org/5570
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a453f2152145f242c7412c947aaebdd135cb9022
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 8 10:01:07 2011 +0200

    Correct Heimdal conversion of libadmin/adminutil
    
    Patchset 4251e386aa25bb3fc02fa255e92327fffc8b954d converts to
    using Heimdal.  The conversion undid the introduction of the
    abstraction function fetch_krb5_error_message() which is
    implemented in src/util.  Restore the use of fetch_krb5_error_message()
    and modify src/util/krb5_nt.c to use the Kerberos Compat SDK
    interface.
    
    Change-Id: I67fe7a309727f67a1da3705e1e485e64747c325c
    Reviewed-on: http://gerrit.openafs.org/5571
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit df3e4145e758de3530a21bb1e75cd48a4a7f61ec
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Oct 7 08:11:34 2011 -0400

    bypasscache: free in order
    
    we need to free this, but while the pointer is still good
    
    Change-Id: I5afa3505b764c5bf72811f60f63e29c80a29c5af
    Reviewed-on: http://gerrit.openafs.org/5562
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit f2cba414c1390d5ed46b6c57f5682bfbcf53774e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Oct 7 05:50:37 2011 -0400

    doc: fileserver synopsis typo
    
    Fix a fileserver synopsis typo noticed during Derrick's EACK2011
    debugging session.
    
    Change-Id: I73ed6bd93f644689acbdeeb4293a22b3b6752ba6
    Reviewed-on: http://gerrit.openafs.org/5558
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit d84c91788e0f61a9b2837f9b6ba2492072df33da
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 7 04:04:03 2011 -0400

    RedHat: Add xstat_*_test commands to RPMs
    
    Install the xstat_*_test commands in the 'openafs' RPM.
    
    Change-Id: Idec42e133dd3f27c72f06c5411dd12acc163ef93
    Reviewed-on: http://gerrit.openafs.org/5557
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit d1cf14d54e380014851fb850b65263a66a8a4443
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 21 15:02:40 2011 -0400

    bypasscache for ukernel
    
    simple (read) bypasscache for ukernel.
    does not bother trying any buffercache stuff.
    
    Change-Id: Ie75572da7efdb871a4ce807f02fbbb5bd7744c66
    Reviewed-on: http://gerrit.openafs.org/5484
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 65bdade6d5a6c4301444f288cf20430241cbdc5d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 4 19:01:50 2011 -0400

    Windows: Explorer shell GetUnixModeBits()
    
    actually append the unix mode string elements to the
    respective strings.
    
    Change-Id: I32d69f824f01e8cfacbf811a4bb14e01e3b6b9a3
    Reviewed-on: http://gerrit.openafs.org/5552
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e02cb72be034ddad019d2ee70e8009ee762d9ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 4 17:29:26 2011 -0400

    Windows: char* is not a Unicode string
    
    Do not treat the output of NetbiosName() as a wide_t when
    it is a char*.
    
    Change-Id: Iba4f1f30f1de4a9c3ded2f1e440ca9e4bc014379
    Reviewed-on: http://gerrit.openafs.org/5549
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 07f771e6657f159998893b860f2ac1098fef5afc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 12 17:47:51 2011 -0500

    tsm41: Add options for uidpag and localuid
    
    Add runtime options to aklog_dynamic_auth. Commit
    3a541eb11d1bc7bd05b85635315214218d3b5d6f changed the behavior of
    aklog_dynamic_auth to be more friendly to the CDE screenlocker, but
    forced the use of UID-based PAGs.
    
    Since some users like to use real PAGs and don't care about the CDE
    screenlocker, made this behavior a runtime decision instead.
    
    Change-Id: I28264e2e80258f962d02ed9a6a40c4d789179c06
    Reviewed-on: http://gerrit.openafs.org/4484
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 40eebd37a295c77615950858e08282447a8c28ca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 14 11:29:26 2011 -0500

    aklog_dynamic_auth: Support new SetToken pioctl
    
    Make aklog_dynamic_auth use the new SetTokenEx method of storing
    tokens.
    
    Change-Id: I843ecd206ef4673ff9e5df5419daa9ee5b31f060
    Reviewed-on: http://gerrit.openafs.org/4483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 59169e0ac73fe44ddd7d28f3985cfc5549938cb8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 1 14:05:31 2011 -0400

    Windows: Explorer Shell Extension enhancements
    
    Redesign the AFS Volume Tab to report:
    
     . Volume name
     . Volume ID
     . Cell
     . Server
     . Availability
     . Quota
     . Partition Info
     . Replica Server List
    
    Properly handle multiple selections to report the volume info
    of the parent object and not the actively selected object.
    
    When a mount point is selected, display the volume information
    for the target volume.
    
    Remove file server from AFS tab.
    
    Modify the AFS tab to better handle multiple selections including
    mount points.
    
    Extend many gui2fs functions to implement a poor man's "follow"
    option.  This really should be done with the pioctl 'literal'
    capability but this is an improvement.  The pioctl modifications
    will require a major redesign of gui2fs.c and all of the dialogs.
    
    Change-Id: Ib009beb81d841fb3bbbd35b1eb0faec2c40eaf4e
    Reviewed-on: http://gerrit.openafs.org/5531
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0ca1d92952cc81483e7b949f2982033cf0b9f3db
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 12:14:15 2011 -0500

    Remove a few extra trailing backslashes
    
    In a few different places, moving libutil before libafshcrypto_lwp
    caused a variable definition to have a trailing \ on the last line of
    the definition. This can confuse make (at least, the HP-UX make) to
    think the next following definition is also part of the current
    definition. Remove the trailing "\"s.
    
    Change-Id: I235f95813e303bc3805b5d9fc8d7861e812613e2
    Reviewed-on: http://gerrit.openafs.org/5523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 82481c6f4464ad978ea56c687205bdfcd3eebffd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 28 15:02:48 2011 -0500

    vol: Only check "logging" on vice partitions
    
    We don't care about non-vicepX partitions, so move part of the UFS
    "logging" check into VCheckPartition. This API should probably redone
    so the "am I a vicepX partition" check is done completely separately,
    but for now, this will do.
    
    Change-Id: Ib2df2079a392d7ed1a8c2aded34f2a7265215ecd
    Reviewed-on: http://gerrit.openafs.org/5514
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b4f96eb78d9403799b97a39b9659070cf1114cd1
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Thu Sep 29 15:34:48 2011 +0100

    FSSYNC-Client:  Consistent use of partition name
    
    Over time the FSSYNC code has collected examples where the partition
    path is passed rather than the partition name.  In Unix this is the
    same (/vicepX), but on windows the path is the DOS device (C:).
    
    This checkin changes FSSYNC client code to always use the partition
    name.
    
    This checkin does not address FSSYNC server or SALVSYNC.
    
    Change-Id: I3c5b63103ab0cbd6c2c6c73b9dc737eca22b7d4c
    Reviewed-on: http://gerrit.openafs.org/5521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0d76ca3c5b17caa2c8106a75ee6ca1332deae603
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 30 03:43:24 2011 -0400

    Windows: register Shell Ext handlers
    
    Add registry keys and values to enable use of the overlay
    handlers for symlinks and mount points.
    
    Add registry keys and values to enable use of the property
    sheet handlers.
    
    Correct registry keys for the Folder background context menu
    handler.
    
    Change-Id: Icac560fc6ffcec6bcc41f64adeae3ee2e5884fdb
    Reviewed-on: http://gerrit.openafs.org/5530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9dd9cfa0e1536e0e75628c84605b3d5b8486d69c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 27 13:49:52 2011 -0400

    Do not call krb5_get_error_message with NULL context
    
    MIT's krb5_get_error_message() ignores the context and can
    be called with a NULL context.  Heimdal's version does not.
    
    Change-Id: I31801b0e0044e5e724298404645517e4425b0f09
    Reviewed-on: http://gerrit.openafs.org/5508
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 39d5bb10b0c90f021a096b44a65abc525ef7e2e8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 20 23:54:08 2011 -0400

    kauth: permit kauth/test to build on Windows (again)
    
    Change-Id: I28f7bc93e189a2fcf3651552e00b4214bb6ec799
    Reviewed-on: http://gerrit.openafs.org/5473
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 85831245154afc19da31bb86d21e64376ec11f94
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 24 11:12:09 2011 -0400

    Windows: add krb5_enctype_enable(DES) calls
    
    Heimdal disables DES by default.  Enable DES-CBC-CRC by
    calling krb5_enctype_enable() so that the active profile
    does not require
    
    [libdefaults]
    allow_weak_enctypes = 1
    
    Change-Id: I75d7b6bd7269081c7b1fcaafe05074dcdcc9a7e0
    Reviewed-on: http://gerrit.openafs.org/5501
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4251e386aa25bb3fc02fa255e92327fffc8b954d
Author: Asanka C. Herath <asanka@secure-endpoints.com>
Date:   Fri Oct 8 17:46:02 2010 -0400

    Windows: Build against KerbCompatSDK instead of KFW
    
    Build OpenAFS for Windows against the Secure Endpoints
    Kerberos Compatibility SDK instead of the in tree
    Kerberos for Windows SDK.
    
    The compatibility layer is available from:
    
       http://github.com/secure-endpoints/heimdal-krbcompat
    
    The SDK location must be specified with the
    KERBEROSCOMPATSDKROOT environment variable.
    
    The benefits of building against the Kerberos Compatibility
    SDK are:
    
     * Heimdal 1.5.1 or later assemblies will be used
       if available
    
     * MIT KFW 3.2.x will be searched for if Heimdal 1.5.1
       is not installed
    
    Version 1.0 of the SDK is supported.
    
    Change-Id: I393e20d8bfb9ee1ca749cc54ecc1341927abaf82
    Reviewed-on: http://gerrit.openafs.org/2867
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5c6bd04211d587efde4b0915a62273aafb2d306b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 14:49:53 2011 -0500

    DAFS: Do not serialize state for invalid hosts
    
    When we serialize host information for DAFS during shutdown, we have
    no guarantee that the host is in a valid state when we look at it.
    This can result in a host being saved to disk when we are waiting for
    the host to respond to an RPC, and so the information about the host
    is invalid. For example, we can save a host that has the
    HWHO_INPROGRESS flag set, and when it is restored later, this can
    cause odd behavior since the flag is set but no thread is actually
    waiting for the host to respond.
    
    So instead, during state serialization, try to determine if a host may
    be in an invalid state, and simply skip the host if it may.
    
    Change-Id: I755640ea4ce607245ae98cc7455472ef781271e7
    Reviewed-on: http://gerrit.openafs.org/5528
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6e7b31ef0a69b8ea39e8acc474a7aab48f828d3d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 16:04:54 2011 -0500

    DAFS: Skip hosts with invalid flags on restore
    
    Host entries with HWHO_INPROGRESS set or ALTADDR unset do not have
    valid state, since those flags indicate that the fileserver was in the
    middle of identifying the host when the host struct was serialized.
    Skip entries from the on-disk host data that have such invalid flags
    set when restoring state, so we do not load invalid data.
    
    Change-Id: I26b88256679f4596598e6e3e6b68af7e8e5e387d
    Reviewed-on: http://gerrit.openafs.org/5527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d54a9994d362ce3f287fe786839ec72f6d94806c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 15:22:35 2011 -0500

    DAFS: Add explicit 'valid' field for index maps
    
    The CB, FE, and host serialization structures were just using the
    relevant indices to determine whether or not an entry mapping and old
    index to a new index was populated with actual data. For host
    structures, this really isn't sufficient, since our index can be 0,
    and the structure is calloc'd, so the index in the structure could
    also be 0.
    
    Add a flag explicitly stating whether or not the structure has been
    filled in, to make this unambiguous.
    
    Change-Id: Ia69e25fa73e10dc10cf3ddf08bb4feb2c9958674
    Reviewed-on: http://gerrit.openafs.org/5526
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d43438bb914f267f1c65d81e23efbab6874ae426
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 18:36:07 2011 -0500

    viced: Assert valid statistics indices
    
    Make sure we are passed valid statistic index numbers, so passing in a
    bad index doesn't result in writing over random memory.
    
    Change-Id: I29ed03b59df937e6f95fba44209a03db23613a8d
    Reviewed-on: http://gerrit.openafs.org/5525
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 22d94407ea06a3213b7f0f6d57edd48d1977b2e1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 29 18:31:37 2011 -0500

    viced: Use xfer indices for xfer data
    
    Use the xfer indices for the xfer-related data, not the op indices, so
    we don't try to fill in data beyond the actual storage for the stats.
    
    Change-Id: I075d4eb9439d9bd603489f0aa90b3c18c3959de3
    Reviewed-on: http://gerrit.openafs.org/5524
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5587bbfc0bc70de234e5655faf7676cf2b9b9715
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 28 21:15:32 2011 -0400

    rx: add post RPC procedure capability
    
    Add the ability to specify a procedure that will be called after
    the end of each RPC for a service.  This is similar to the
    existing afterProc, except that it gets called after the RPC
    has ended (after EndCall).
    
    rx_SetPostProc and rx_GetPostProc are provided to set and retrieve
    a postProc for a specified service.
    
    Change-Id: I52e70323c5d35c9c0d70d9b9bbb05ff56a6edcad
    Reviewed-on: http://gerrit.openafs.org/5529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2fd66404d9deeb292e1eadb23f5e0f287f9bf8f9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 29 09:35:51 2011 -0400

    Fix typo in windows release notes
    
    Reported by Jeff Blaine.
    
    FIXES 132233
    
    Change-Id: I0a311e75d1da4c753cd902fd964587a62ef7abf1
    Reviewed-on: http://gerrit.openafs.org/5519
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b977e52a441c70ec9ea97c7d0ebaaed17e530116
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 28 21:46:48 2011 -0400

    Windows: Fixup errors in AFS ACL Property Sheet
    
    Unlike the afs_set_acl_dlg the PropACL sheet only uses a single
    ComboList to maintain both the positive and negative ACEs but
    uses two CStringArrays to separately store the positive and
    negative ACEs.  Two entries in each array are used to store
    an ACE.  The %2==0 entry is the pts name and the %2==1 entry is
    the permission list.  This needs to be taken into account when
    manipulating the negative entries since the array count for the
    normal entries is twice the number of ACEs.
    
    Negative entries were prefixed with '=' instead of '-'.
    
    The Remove button was not hooked up and was not enabled or disabled
    under all appropriate conditions.
    
    Change-Id: I3bbfd9e82c8796554482b876d31ec53d8f9ac91f
    Reviewed-on: http://gerrit.openafs.org/5518
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5ba6a6223c42abf104c02d59f8c95d1760bd9030
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 28 19:59:03 2011 -0400

    Windows: add resource info to afshcrypto.dll
    
    The afshcrypto.rc file was provided but it was never compiled
    nor linked to the dll.
    
    Change-Id: I41138c53a5b53417d880ae748c7f8e8248daedce
    Reviewed-on: http://gerrit.openafs.org/5517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0c6bc6c78ade956978652dfe62bcc27140695b8a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 28 19:58:07 2011 -0400

    Windows: Add resource info to afsroken.dll
    
    The afsroken.rc file was provided but it was never compiled
    or linked to the dll.
    
    Change-Id: Id64ccd06b85c444f2009ef21f1fc65fb14f1bf01
    Reviewed-on: http://gerrit.openafs.org/5516
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 11a6fc948983c0a9f1fb41c58b9559750763440b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 28 18:39:55 2011 -0400

    viced: remove duplicate declaration
    
    viced_uclient_key is declared twice, remove one of the
    declarations.
    
    Change-Id: I6f5cfef56512c660be75958e99d35ee86e6718ef
    Reviewed-on: http://gerrit.openafs.org/5515
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 60a6454d80c760aa8768ba64f7c5bab24f897c7b
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Sep 28 16:46:00 2011 +0100

    Windows: Remove spurious use of CRTL
    
    Checkins b71a2daa and 5247fa38a moved us from using a FILE*
    to using an FDi_t.  However, lurking inside the dump code we
    see a use of _filelength() which is a MS-Crtl API.
    
    This checkin replaces this call with one to the WIN32 API
    GetFileSizeEx.
    
    Change-Id: I6ecc25a52d083f918bd8d92670b05f12e58e4015
    Reviewed-on: http://gerrit.openafs.org/5511
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c7dc0180c7c424c6cb58d1493759caf82ef280f2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 28 15:41:38 2011 -0500

    Remove references to afs_assert.h
    
    The header afs_assert.h no longer exists after commit
    cac74242728ad97e3ce9cef0a949d58c237250f6. Remove all remaining
    references to afs_assert.h in the tree.
    
    Change-Id: I708a399d4389d2f96d93ce3caf9c8b96e38bdf64
    Reviewed-on: http://gerrit.openafs.org/5513
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 955bab670d0aed714fc940b5be7e2b75896a63d0
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 28 10:23:19 2011 -0400

    ukernel: output dataversion in stat struct if possible
    
    we already have this data; if we can output it, do so.
    
    Change-Id: Ibc445a152e4e1e61be50003dd8683d2a4b32d190
    Reviewed-on: http://gerrit.openafs.org/5510
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 80943970b8cfcdf3fc630b25804aebaea228bd73
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 28 10:11:16 2011 -0400

    ukernel: make web enhancements the default
    
    none of the web enhancements break base functionality,
    and they are strictly more functionality; just turn them on everywhere
    
    Change-Id: I462d3571d055f1d8ec19bdd0132b935bacd435c0
    Reviewed-on: http://gerrit.openafs.org/5509
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5b579b83abc57d6bb9212b599aae96af9ac71832
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Sep 28 17:34:54 2011 +0100

    Windows: Fix comment about DiskPartition64
    
    There is significant confusion between the partition name (/vicepX)
    and the containing volume (C:) in the windows code.  A review of
    the uses in FSYNCH found a downright wrong comment (as checked in
    the debugger).
    
    Change-Id: I9cf6e965c9efee18b608a622b83639f25e410ce5
    Reviewed-on: http://gerrit.openafs.org/5512
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5e8c4b7c8a69e20ba35bd12950b95c8650cf4012
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Sep 26 20:21:49 2011 -0400

    FBSD: allow exclusion of kernel symbols
    
    Gerrit/5503 added support for kernel module symbols in the
    bsd.kmod.mk world; however, the inclusion of symbols is conditoinal
    on the DEBUG_FLAGS make variable being *set*, as opposed to nonempty.
    So we must use an intermediate variable to store the AC_SUBST
    result and conditionalize assignment to DEBUG_FLAGS on whether
    or not it is empty.
    
    Change-Id: I7f86fd08d6dcf1ac7116680db98db13f5f31be7b
    Reviewed-on: http://gerrit.openafs.org/5507
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9133aa6ed3a7fe2ae55b2d3242366ae277c7f726
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 22 09:13:18 2011 -0400

    bozo: report bosserver -rxbind address
    
    Create a file on bosserver startup called bosserver.rxbind in the
    server local directory which contains an address local scripts may
    use to contact the bosserver.
    
    When bosserver is started with the -rxbind option, write the address
    selected from the intersection of the interfaces, NetInfo, and
    NetRestrict configuration to the bosserver.rxbind file, otherwise
    write the loopback address 127.0.0.1.
    
    Update the RedHat init script to use the new bosserver.rxbind file.
    
    Change-Id: I00a4249ae7445f872625ec46f960e778483d1f9f
    Reviewed-on: http://gerrit.openafs.org/5488
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4a0d8cc24e687f271fcf44bab765691bd782d78d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 26 12:28:49 2011 -0400

    Windows: do not install afs_assert.h
    
    commit cac74242728ad97e3ce9cef0a949d58c237250f6 removed afs_assert.h
    from the build tree.  It can no longer be installed.
    
    Change-Id: I9a5c9f679a3cd8755b0a290ac91be6c651242e22
    Reviewed-on: http://gerrit.openafs.org/5505
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 48e326372d89b0d778420f268dbe59236758eba8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Sep 26 11:59:55 2011 -0400

    bozo: fix overrun from -rxbind on restart
    
    Fix buffer overrun in bosctlsrv introduced
    by commit 544ff1b295a57b50afefa6146094434db7608355
    
    Change-Id: Icb39b5107113e2819a643537b042b20504c783f3
    Reviewed-on: http://gerrit.openafs.org/5504
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 11f54962f638c8ae48d5193f6b695c252fbb9937
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 25 09:21:34 2011 -0400

    volinfo: refactor vnode handling
    
    At program startup, register procedures to be called
    when scanning vnodes.
    
    Change-Id: I8dda202f1ea61b538278eacc8f86c323728cf191
    Reviewed-on: http://gerrit.openafs.org/5100
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4aa72b4308bae8e1d789682e7ead83bcadded862
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jul 23 14:55:57 2011 -0400

    volinfo: release volume header ihandles when done
    
    After scanning the volume, release the header ihandles
    for the volume.
    
    Change-Id: I689a33b321fc68d0dc480369e6cbdfd41c1dbfc9
    Reviewed-on: http://gerrit.openafs.org/5099
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b99ab0371a66803fdffafe848cb324595eb9de61
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Fri Sep 23 19:14:47 2011 +0000

    correct omission of AFS_NBSD60_ENV from nbsd60 param file
    
    Change-Id: I6b72ab5d9e3e5000c9138e6470e80491d85328b1
    Reviewed-on: http://gerrit.openafs.org/5499
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cac74242728ad97e3ce9cef0a949d58c237250f6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:46:11 2011 +0100

    Clean up assertion
    
    The AFS code has multiple different assertion implementations in
    userspace. This patchset is the start of bringing some sanity to them.
    
    In rx, we have osi_Assert, a user/kernel assertion macro. This is only
    available to libraries which have RX dependencies
    
    In util, we redefine the standard 'assert()' macro to provide a
    cross-platform assertion solution.
    
    Because util has an RX dependency, neither of these provide an
    assertion solution for libraries which should be independent of rx.
    So, pull the assertion code out of util, and put it into opr, as a new
    opr_Assert() macro. Implement the userspace osi_Assert in terms of this
    macro, leaving the kernel variant untouched.
    
    Update callers to the new macro and header file names.
    
    Change-Id: I780b30ec1ea1207daa17127df4d5fbf9a94481b6
    Reviewed-on: http://gerrit.openafs.org/5394
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0a8f21e6a44d59a3333c0b4fee572fe6d94aae3d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 11 21:44:23 2011 +0100

    Move abort() into opr
    
    We need our own abort function, because the behaviour of the Windows
    abort() implementation isn't sufficiently flexible for us.
    Because we're replacing an operating system function, reather than
    implementing a missing function, this doesn't belong in roken.
    
    So, provide an alternative opr_abort() implementation in our portable
    runtime layer, which is a synonym for abort() on Unix, and implements
    the required DebugBreak() functionality on Windows.
    
    Remove lwp_abort() which was just creating another, unnecessary, layer
    of abstraction.
    
    Change-Id: Ice226d70d2791beaba011f42e39fde60242f6cc3
    Reviewed-on: http://gerrit.openafs.org/4428
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit bdf86d245fd55c5c7ac7ea81e3d6b6bafdbe1783
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Nov 23 20:21:50 2010 -0500

    bozo: bosserver -pidfiles option
    
    Add an option to bosserver to create pidfiles for long running
    processes for simple, fs, and dafs bnode types, as well as the
    bosserver process. The pidfiles are located in the server local
    directory by default, or in the path specifed by the -pidfiles
    command-line option.
    
    Change-Id: I3e85b027dc6f630965f84b18b7f849ac481dabe2
    Reviewed-on: http://gerrit.openafs.org/5497
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3e191dfd99087ac9408eff5f7f73cc10beb90f79
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Sep 24 18:05:09 2011 -0400

    FBSD: bsd.kmod.mk fallout for debug symbols
    
    Now that we no longer control the installation of libafs.ko,
    debug symbols are always getting stripped.
    If the user requested kernel debug symbols, define DEBUG_FLAGS
    for the libafs build and install, so that bsd.kmod.mk will
    install the .symbols file alongside the kernel module.
    
    Change-Id: I0e7f3736666c96c6aaed18c0add98dea37349b83
    Reviewed-on: http://gerrit.openafs.org/5503
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b6e04fa78ed5793d52caccafe2f5fc46be6a6af9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 24 11:42:50 2011 -0400

    Windows: update ntbuild.bat
    
    Add references to:
    
     . new APPVER and _WIN32_IE values
    
     . new AFSVER_CL values
    
     . additional code signing variables
    
     . variables for symbol store support
    
     . WiX Installer Toolkit location
    
     . Cygwin Install Directory
    
     . ActivePerl Install Directory
    
     . SignTool path
    
    Change-Id: Ie9465102977aee628d8f129de9c5c9c14fa5d97c
    Reviewed-on: http://gerrit.openafs.org/5500
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fab921de67fe2bfbf6967c2e1cbf27230aad8bb2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 23 11:28:05 2011 -0400

    bozo: remove duplicate prototype
    
    Remove duplicate function prototype.
    
    Change-Id: I84a30c27edabd82272f99711285eb043122f66a0
    Reviewed-on: http://gerrit.openafs.org/5496
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2f7627a89e50713dc963ece2ef086cd991c15aa
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Sep 23 16:37:43 2011 +0100

    Fix buffer leak in dir/buffers.c
    
    Checkin 0284e65f97861e888d95576f22a93cd681813c39 accidently
    threw in a trailing semicolon after an if statement.
    Since the next line was a break this had several unfortunate
    side effects, the most obvious being that we leaked a buffer
    in certain cases.
    
    Change-Id: I4f1043426cac22c70b64731c98ac858d82e2f11e
    Reviewed-on: http://gerrit.openafs.org/5498
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a020c572d372f2e86807dc4c75ec50ff14ef2fba
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Sep 22 19:09:52 2011 -0400

    viced: fix incorrect error message
    
    The error message was obviously copied from another location in the
    code (after the pr_Initialize call) and is misleading.  Adapt it for
    vl_Initialize failure.
    
    Change-Id: I4fc65fd82b92df3298227abf3f6bcc24184ebfe8
    Reviewed-on: http://gerrit.openafs.org/5490
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 544ff1b295a57b50afefa6146094434db7608355
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 22 11:28:17 2011 -0400

    bozo: pass -rxbind on restart
    
    Pass the -rxbind on restarts when bosserver is initially started
    with the -rxbind option.
    
    Change-Id: Ic6e884c87fcd0e8b3808a2f362d8c32177e9e2a0
    Reviewed-on: http://gerrit.openafs.org/5487
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cb4d6e5e7e1a112782be5d892f9706b1a9da439b
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Sep 22 13:00:08 2011 -0400

    darwin: ukernel is 64-bit able
    
    update ukernel settings for darwin
    
    Change-Id: Ifd72d0d5affa1bfbea04da2c95e8011fb055e59f
    Reviewed-on: http://gerrit.openafs.org/5489
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 649d3a0957eef0c607a63b47f11bd4a0ca8655ca
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 21 20:31:33 2011 -0400

    fs: fix setserverprefs where long is larger than afs_int32
    
    Make the fscanf and scanf format specifiers match the type of the
    target variable.  This prevents trying to store a long int into an
    afs_int32 variable which may be smaller, and overwriting neighbouring
    data on the stack.
    
    The effect on a 64-bit Linux system was that the high bits of "rank"
    would overwrite the first 4 bytes of the scanned host name, causing
    setserverprefs to fail with:
    : couldn't resolve name.
    
    Change-Id: I2100e7fe77a137257eb308ad127c151de84756bc
    Reviewed-on: http://gerrit.openafs.org/5486
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 6fb2e92422abdaca6175f2556b24ba681af72fd6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 21 01:46:52 2011 -0400

    Windows: Disable OACR by default for AFSRDR build
    
    When building the AFS redirector with WDK7600 the Microsoft Auto
    Code Review process is started by default.  This is a problem for
    buildbot.  Disable OACR by default if the _RunOacr environment
    variable is not set to TRUE.
    
    Change-Id: I7e8f9f978e5f6b8a33fe0ff6174b9ddbe2a86ec7
    Reviewed-on: http://gerrit.openafs.org/5479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c208b13fa024295c9064364520ef790b093e292c
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 21 12:55:39 2011 -0400

    afscp: enable debugging support in the volume portion
    
    readd the missing code when we are compiled for debug
    
    Change-Id: Ia4f0bcf2868e2f87bf8f7b6c01f3842e1a2eed50
    Reviewed-on: http://gerrit.openafs.org/5483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fb1d7491fbe2e90300b23284f213cac2bdcd56ac
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Sep 21 02:03:30 2011 -0400

    afscp: allow listing of bare root.cell dirs in dynroot mode
    
    don't assume that /afs/cell.name (as opposed to /afs/cell.name/)
    is bogus. if there's text, at least try
    
    Change-Id: I9566efe60c942533cd0415a03528953cb90310c9
    Reviewed-on: http://gerrit.openafs.org/5480
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 97004b7b0970bfc2744df49d540521a41177cac8
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Sep 20 23:26:25 2011 -0400

    afscp: add confdir override
    
    allow an alternate config dir
    
    Change-Id: I454d63199dcfadc46ba957ddae0685efee6acf26
    Reviewed-on: http://gerrit.openafs.org/5476
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 76e0b97eaa64088b8d8381a80b6ada0a080f0cbd
Author: Terry Long <trl@andrew.cmu.edu>
Date:   Tue Sep 20 21:21:12 2011 -0400

    Fix AFSPreference compile error on Mac OS 10.7
    
    Lion llvm/clang complains about main returning void instead of int.
    Fixed main to return int in DARWIN/AFSPreference/afshlp.m.
    Resubmitted patch to origin/master.
    
    Change-Id: I2f4e88ded2d98688901cc18d60abac8172942bbd
    Reviewed-on: http://gerrit.openafs.org/5475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c8f64e04b8cfb1085a2f3227785492d5e3f487ff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 18 13:13:18 2011 -0400

    Windows: install control panel only if afs_config
    
    Add the AFS control panel to the AFS Configuration Tool
    component so that it is installed only if afs_config.exe
    is going to be installed.
    
    Change-Id: I9016ad70f3b201bbe440ec39e9987c6209cae0cc
    Reviewed-on: http://gerrit.openafs.org/5462
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 25254adeeea5f41820f140ce812bdacae34d24c9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 18 13:14:39 2011 -0400

    Windows: Disable Control Panel button in NIM
    
    Since afs_config.exe is no longer installed, remove the
    OpenAFS control panel button from the Network Identity Manager
    provider.
    
    Change-Id: I4b3d7a091a6c833d8bf4a24110ee6deb00c6baa0
    Reviewed-on: http://gerrit.openafs.org/5463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1d6dfa5806b171c6f306508396a06302d3d9c42a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Sep 20 16:21:50 2011 -0400

    salvager: fix filesystem path truncation
    
    Fix filesystem path truncation for vice partitions beyond /vicepz.
    
    Commit 3d7388b7 moved the filesystem path to a fixed size buffer,
    however the path of the filesystem to be salvaged is truncated for
    partitions with two character ids (e.g. /vicepaa), in which case
    the salvager will salvager the wrong partition, or abort if the
    truncated path is not present.
    
    Change-Id: Iadf45268514ef5045a4481950f213abecbb20b33
    Reviewed-on: http://gerrit.openafs.org/5469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0cb10104f5af73614e6b7673d3711ddbc3f3a866
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Sep 16 11:23:18 2011 -0400

    solaris: libafs depends on fs/ufs
    
    The solaris afs module depends on symbols exported by fs/ufs.
    Set this dependency in the afs module so the kernel loader
    will automatically load the fs/ufs driver if is not already
    loaded, such on zfs only systems.
    
    Change-Id: I87ae2c326ac0c895cca37cf30e4c11d0decbe6d1
    Reviewed-on: http://gerrit.openafs.org/5456
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b33deb765ea8984d811ce0140716086338c3c10f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 14 17:22:25 2011 -0400

    solaris: build 64-bit binaries for sunx86_51x by default
    
    Build 64-bit binaries on solaris x86 version 10 or better
    build systems running in 64-bit mode.
    
    Builders may set the the ARCHFLAGS environment variable
    to "-m32" before running configure to build 32-bit binaries
    on a 64-bit build host.
    
    Change-Id: I27558a2c7fe9872cf30889ca57e778985a3ff461
    Reviewed-on: http://gerrit.openafs.org/5450
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e69714739f64475d71633fd4cb3523bc1ae143bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 19 11:05:59 2011 -0400

    ntohs ubik header size
    
    The 'size' field in the ubik header is only 16-bits wide, so we should
    be using ntohs to read it, not ntohl. The database checking utilities
    for the prdb and kadb were still using ntohl (vldb was fixed by
    591f9b6de9ab3dc5c17ad41af0241527f7f04b31).
    
    Change-Id: Ic3894f5ae78ff05279e87b364841c5f6dfdf803c
    Reviewed-on: http://gerrit.openafs.org/5466
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4d4cd3cd0874f4574989f57201bd3a3999764d6c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 18 14:18:24 2011 -0400

    dir: remove unnecessary cast from malloc
    
    Change-Id: I2b91c9ad2983ba08e5e1bc49c3790e018951be31
    Reviewed-on: http://gerrit.openafs.org/5464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 552d59186b135af55eeaa6136a9cbb8965dd2f04
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 19 10:35:11 2011 -0400

    Fix input size computation in SetSPrefs pioctl
    
    Patchset 718f85a8b69a78ac77beb5c8471af20657be2a53 contained
    a small typo that prevents the SetSPrefs pioctl processing from
    functioning in all cases.  fs setserverprefs continues to work
    for non-DB preference lists because fs.c pokeServers() attempts
    to try the old SetSPrefs33 pioctl in the non-DB server case.
    
    Change-Id: I2e06dccb51c53ba312418fb5f51be3d621a2004c
    Reviewed-on: http://gerrit.openafs.org/5465
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 624c5d09e2f46403f8754567b387987488c5446c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Sep 14 10:48:08 2011 -0400

    solaris: fix afs_event build error
    
    Fix build error on solaris introduced with commit
    dc077b83c9b1f107efbc3483743f44117748f23c.
    
    Change-Id: Id41a0d7cf6400769dde5d2626854e2190cd6bd2e
    Reviewed-on: http://gerrit.openafs.org/5419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6196abf3c864f8cc6ab1efc6e5625a5cc68158bd
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Sep 15 13:48:31 2011 -0400

    rx: arrange for Finalize to really stop running calls
    
    previously rxi_ServerProc would happily error a call once
    rx_tranquil was set, but keep calling ExecuteRequest.
    Reorder code so kernel shutdown attempts are processed first;
    then arrange if we are tranquil to not process the call further.
    
    Issue discovered by Chaskiel Grundman.
    
    Change-Id: I545960fb0eb0d5151baa7e06e2758cdeaf0885da
    Reviewed-on: http://gerrit.openafs.org/5447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit e6c04df407036b82c980d933d56ebce686c79e0f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 15:16:55 2011 -0400

    Windows: changelog prior to branching openafs-devel-1_7_x
    
    Change-Id: I27ece967a136a44513fade8e9b8cc1c8d57951b4
    Reviewed-on: http://gerrit.openafs.org/5449
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5263b04796dfae34b2ac52e420bdc2f0c70e0568
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 14:00:39 2011 -0400

    windows: Set ReparsePoint Attribute in FileAttributes
    
    The ReparsePoint Attribute is a primary attribute that is used
    internally within the redirector to determine when the object
    is a reparse point.  It must be set in all code paths that
    obtain the FileAttributes from the service.  Do not fold it in
    during the QueryBasicInformation response processing.
    
    Change-Id: Iba819dd94ec03133f78a4d18559dbd1b5352788e
    Reviewed-on: http://gerrit.openafs.org/5448
    Reviewed-by: Peter Scott <pscott.kd@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e24984a52a7ca73e8e270e0e39e5d2bb22b5f77b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 10:32:19 2011 -0400

    Windows: README-WINDOWS updates for build environment
    
    Not complete but closer than it was.
    
    Change-Id: I5945101206535753ace6d3a53a4d91ee4290351c
    Reviewed-on: http://gerrit.openafs.org/5446
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ced8cd18c6d6ef545fba623fbb431536386bbc65
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 02:07:53 2011 -0400

    Windows: NetWksta RPC test application
    
    A simple application to query the NetWksta RPC interface.
    
    Change-Id: I9d53dd956ace89ce01e3cf48583e160176fa05ce
    Reviewed-on: http://gerrit.openafs.org/5445
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c044db34a1cef5cb905bfdb5df35fe05bf30fb4f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 02:06:14 2011 -0400

    Windows: Build the AFS Redirector world
    
    All of the new build rules necessary to build the
    new AFS Redirector world.
    
    Change-Id: Ic5b8839eb6f10e44c3b6e185c85c3948f77b4d60
    Reviewed-on: http://gerrit.openafs.org/5444
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit effaebfe007eaa70d8479e8d655deb54cc0d36e9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 02:04:45 2011 -0400

    Windows: Release Notes updates for AFS Redirector
    
    No more support for Windows 2000.
    
    A first pass at indication which features that are SMB only
    are no longer applicable.
    
    much more.
    
    Change-Id: I6e6337804d75c8dccdbc66307215e18238f33dac
    Reviewed-on: http://gerrit.openafs.org/5443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 69674f376aeb748fffb0c47d855851349e21c4ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 02:02:36 2011 -0400

    Windows: WiX Installers for AFS Redirector
    
    Add the AFS Redirector and AFSRDFSProvider and new
    Shell Extensions to the MSI installer package.
    
    Change-Id: I82d8256d016a19865bc8a681331f650d52e3b261
    Reviewed-on: http://gerrit.openafs.org/5442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b9d9264c0efb3529fe1d67d5a837be8d3081fcc9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 02:00:00 2011 -0400

    Windows: NSIS installers for AFS Redirector
    
    These changes provide basic support for installing
    the AFS Redirector and the AFSRDFSProvider.dll.
    However, since NSIS is not useful for 64-bit installations
    the NSIS installers will be removed from the source tree
    in the near future.
    
    1.7.x series will not be distributed with NSIS installers.
    
    Change-Id: Ifd9d06af4f047e27c23c87af79ba84085bc3614a
    Reviewed-on: http://gerrit.openafs.org/5441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 073e3c528952abdf21432d32487b3a11c71a3234
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:58:48 2011 -0400

    Windows: AFS Redirector Support Tools
    
    settrace, gettrace, objstatus, authgroup, and crash.
    
    These tools are useful for debugging the system.
    
    Change-Id: I2d62186a98f5561d579f7934ef568a54a3b099f1
    Reviewed-on: http://gerrit.openafs.org/5440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 82d60412041bd05f13da3bc9937d1e561744c71c
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:52:08 2011 -0400

    Windows: AFS Redirector Network Provider
    
    In Windows a network file system must have a matching network
    provider dll that interfaces with the Multiple Provider Router
    (MPR) to support the WNet APIs called by the Windows Explorer
    Shell and other applications.  The WNet APIs are primarily
    used to support driver letter mapping but they also have a
    number of other functions including universal name mapping,
    path formatting, and path parsing.
    
    Jeffrey Altman <jaltman@your-file-system.com> contributed to
    the development of the AFSRDFSProvider.dll interface.
    
    Change-Id: I9476003e05f12684676e8c7331a0a8dd13d98686
    Reviewed-on: http://gerrit.openafs.org/5439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3c69a113aac8f09ea1d7c2221173bd656cc4c8d1
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:48:59 2011 -0400

    Windows: AFSRedirLib.sys file system library driver
    
    This patchset implements the AFS Redirector Library driver.
    This driver contains all of the AFS specific implementation
    details for service communication, network provider support,
    directory management, extent management, metadata management,
    callback invaldation, volume management, file locking, etc.
    
    Rod Widdowson <rdw@steadingsoftware.com> and Jeffrey Altman
    <jaltman@your-file-system.com> contributed to the development
    of this driver.
    
    Change-Id: Icc18c26b81b96a92096c20e01360007815ca1acb
    Reviewed-on: http://gerrit.openafs.org/5438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9399093a767c0638ee247d89d5f8f70b518b9396
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:33:20 2011 -0400

    Windows: RDR File System Framework driver
    
    This is the first of two kernel drivers used to implement
    the AFS Redirector: AFSRedir.sys.
    
    This driver is registered at boot time and provides the binding
    to the Windows kernel infrastructure.  However, it only provides
    a framework of a file system driver.  All of the AFS specific
    interfaces are actually implemented in a secondary library
    driver, AFSRedirLib.sys.  The rationale for this model is that
    file system drivers cannot be unloaded on a running system.
    By using this approach the library driver can be unloaded which
    permits systems to be live updated.
    
    To permit this model to work, all memory allocation is performed
    by AFSRedir.sys.  This confuses the driver verifier tool.  When
    the library is unloaded all objects are still valid.  Operation
    is simply paused until a new library is brought up.  Under the
    current configuration the library is loaded as part of afsd_service
    initialization of AFSRedir.sys and is automatically unloaded when
    afsd_service.exe shuts down.
    
    The framework driver also implements all of the process and
    thread tracking logic necessary to support Authentication Groups.
    
    Communication between AFSRedir.sys and afsd_service.exe is
    performed via a reverse ioctl model whereby the service contributes
    threads to the driver to convey requests for processing.
    
    The original file system was derived from the Kernel Drivers
    File System under license from Kernel Drivers, LLC.
    
    Rod Widdowson <rdw@steadingsoftware.com> and Jeffrey Altman
    <jaltman@your-file-system.com> contributed to the development
    of this driver.
    
    Change-Id: Ic123cacd868ddde31d66bf17d3ad2a13c22cd1f4
    Reviewed-on: http://gerrit.openafs.org/5437
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6e82b5be128a07124fe8a69d6932ffe011fb1077
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 01:31:08 2011 -0400

    Windows: Make pioctl interface RDR aware
    
    Permit the pioctl interface to recognize how to interact with
    the RDR for processing pioctl operations.
    
    Change-Id: I7ddf15f29661e61fab6439d2a3c1aa2935011559
    Reviewed-on: http://gerrit.openafs.org/5436
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b418d381be8c778ebeb93dd75bdc068dc4ed4871
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 01:29:57 2011 -0400

    Windows: build loopback installer for current DDKs
    
    Modify the build rule for the loopback installer to permit
    it to build with the latest DDKs.
    
    Change-Id: I94c09e4f8e459ffebdcb2a63dbbe2197d7fbf070
    Reviewed-on: http://gerrit.openafs.org/5435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 49724640b84c0a1a44957ef7f713491bab2b86db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 01:27:58 2011 -0400

    Windows: "AFS_SMBNAME" envvar for aklog
    
    Permit the Windows smb user parameter used when setting
    tokens as the LOCAL_SYSTEM account to be set via an environment
    variable.  This is useful for debugging.
    
    Change-Id: Id4521c863df1288a7a0937b83bf85cff1af3696f
    Reviewed-on: http://gerrit.openafs.org/5434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f3fedecd08834439c462725e04eb04c690c07ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 01:26:00 2011 -0400

    Windows: no SOCKLEN_T before WDK 6.0
    
    Change-Id: Idc63e28385b85e808b4391bc897863c792584c70
    Reviewed-on: http://gerrit.openafs.org/5433
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b91d39edec6a8bdb7451ed6f52ea2ad2065b0022
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 15 01:11:15 2011 -0400

    Windows: Redirector interface for afsd_service.exe
    
    Over the last three years the afsd_service sources have been
    gradually separated into distinct layers for the SMB server
    and the AFS cache.  The eventual goal of this work was to
    permit the addition of alternative interfaces to the cache
    manager in parallel.
    
    This patchset implements the first alternative interface,
    a reverse ioctl model that communicates with a native IFS
    redirector driver.  The driver will be submitted in a
    subsequent patchset.
    
    Although it is possible to run afsd_service with both the
    SMB and RDR interfaces active at the same time.  In practice
    it is somewhat impractical because it destroys the uniformity
    of the \\AFS name space.  The RDR loads at boot time and claims
    all of \\AFS.  The SMB interface if active at the same time
    must use the old \\%HOSTNAME%-AFS.  As implemented, if the RDR
    interface is functional the SMB interface is not started.  Only
    if the RDR interface fails will the SMB interface be activated.
    
    The afsd_service.exe maintains all of its primary responsibilities
    for communicating with the AFS servers, processing callbacks,
    enforcing permissions, handling afs path ioctls, Windows RPC
    service simulation, and object management.  The biggest change
    is in the cm_buf_t management.  Data is exchanged with the
    RDR by passing control over cm_buf_t->data buffers in the form
    of Windows File Extents.  This avoids data copies across a
    communication channel which significantly improves performance
    at a substantial complexity cost.
    
    Credential management is switched from a Windows username binding
    to a GUID binding where the GUIDs represent authentication groups
    that are managed by the RDR.
    
    This patchset includes additional changes to support integrated
    logon in conjunction with the RDR.  In particular, adding support
    for authentication groups.
    
    Change-Id: I7135489421c67a429ec3b2acd4c8ae08b8329f6d
    Reviewed-on: http://gerrit.openafs.org/5432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f03cef68fbe5ed0852397c2818d42d5f53b035b3
Author: Peter Scott <pscott@kerneldrivers.com>
Date:   Thu Sep 15 01:07:03 2011 -0400

    Windows: AFS Redirector Support Headers
    
    This patchset includes all of the common headers upon which
    all of the subsequent submissions depend.
    
    Co-authored by Jeffrey Altman <jaltman@your-file-system.com>
    
    Change-Id: I3b2ba6fe0a9a5231801db2cd1a340b9c518b9be4
    Reviewed-on: http://gerrit.openafs.org/5431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a82c20639843f7021fdfcca32fc6db5faa172eba
Author: Stefan Kueng <tortoisesvn@gmail.com>
Date:   Thu Sep 15 00:57:23 2011 -0400

    Windows: Explorer Shell extensions
    
    This patchset implements a broad range of improvements to
    the explorer shell.  There is still a significant amount of
    work to be done.
    
     * Remove the 'cut' and 'delete' options from the
       context menu if the selected object is a symlink
       or mount point.  This is performed in a language
       neutral manner.
    
     * Add AFS Property page to the property sheet
    
     * Add AFS Volume Property page
    
     * Add AFS ACL Property page
    
     * force the linker to add the common-controls V6 manifest and
       define ISOLATION_AWARE_ENABLED to make property sheets
       work for the shell extension dll
    
     * Fix the InfoTip handler.  Display symlink and mount point
       target strings
    
    Stefan Kueng was assisted by Jeffrey Altman.
    
    Change-Id: I6b7c4506026270a5408d90cdc5358864e3fb44c3
    Reviewed-on: http://gerrit.openafs.org/5430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 236c18b36a93a1c4906f84c825f03f654f5ae4dc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 14 17:16:52 2011 -0400

    Linux: Remove use of undefined AFS_LINUX_ENV
    
    AFS_LINUX_ENV is used in a few places, mostly from commit dc077b83,
    but it is not defined anywhere.  As a result the logic was not as
    intended.
    
    In the definition of osi_ThreadUnique, this means that on all
    Linux we use getpid(), which is OK as it gets defined appropriately
    under LINUX and LINUX24 as current->pid or current->tgid.
    
    Change-Id: Ic8daf10480a91ff8406cd6ca3929a2ecfafa78ad
    Reviewed-on: http://gerrit.openafs.org/5424
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 17be9b775c0be234879eeda66707581e23a18d08
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 14 22:41:20 2011 -0400

    Windows: mountpoints always have a trailing dot
    
    when expanding a cell alias to a full cell name the trailing
    dot was forgotten when putting the mountpoint string back
    together.
    
    Change-Id: I82a84380175d9ef5c41ef29d9043671d264df589
    Reviewed-on: http://gerrit.openafs.org/5427
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d355b4d6fce477e275ac34eb04b3d0f5504dd6fb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 14 22:39:52 2011 -0400

    Windows: minor cm_ioctl corrections
    
    remove unused variable
    
    fix a comment to reference correct function name
    
    remove debugging windows event log entry that doesn't
    belong in production code
    
    Change-Id: Id81cfccd2c2c15d7fcbdbb5edc7dcb095abbd665
    Reviewed-on: http://gerrit.openafs.org/5426
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cf57eb294f28084cbb138b1a06bc813e14e6d0ec
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 14 17:46:32 2011 -0400

    Windows: validate buffer hash tables in cm_MergeStatus
    
    Change-Id: I1ff76513e9f2ba08bdeb988a19fec992b08310db
    Reviewed-on: http://gerrit.openafs.org/5425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit febbd0f1ae9ae8700c0f9004979442e45a5e9883
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Sep 12 21:54:09 2011 -0400

    Tidy up event hash table definitions a bit more
    
    The change in http://gerrit.openafs.org/5314 consolidated the
    definitions of struct afs_event and some related objects, but
    the definitions were not quite in the right place.  In
    http://gerrit.openafs.org/5392 this content was moved to more
    standard headers, but a comment and #define were missed.
    This change moves the comment to be in the same place as the content.
    
    Change-Id: I86831879e9a2afd9e653182dcba4621624c55471
    Reviewed-on: http://gerrit.openafs.org/5403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 58d136ed0d35db6859eb3648969512eca216cbb2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 13 09:54:12 2011 +0100

    Use rra-c-util m4 from src/external
    
    This commit switches us over from using manually maintained copies
    of Russ's rra-c-util m4 macros, to using ones that are automatically
    imported from his upstream git tree.
    
    The macro versioning in the OpenAFS tree was slightly confused. This
    (approximately) updates us from using version 3.3 of the macros to
    version 3.8. The signifcant changes are:
    
      *) Use PATH_KRB5_CONFIG rather than KRB5_CONFIG to set the location
         of the krb5-config file
      *) Use --with-gssapi-{include, lib} if given, rather than krb5-config
      *) Use --with-krb5-{include, lib} if given, rather than krb5-config
      *) Define HAVE_KERBEROS if we find a Kerberos library
    
    The first, in particular, is likely to cause some confusion.
    
    Change-Id: Ie7a1c0db31b32fc7ac9ad7bded2c4ffce3ac013f
    Reviewed-on: http://gerrit.openafs.org/5418
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 60d0458f57cb95693190b29c4d8d4b75738fe363
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Sep 13 09:40:59 2011 +0100

    Import of code from rra-c-util
    
    This commit updates the code imported from rra-c-util to
    aadb400e7536b29fb2b34299ef3cac07d86c108d (release/3.8)
    
    New files are:
            LICENSE
            m4/gssapi.m4
            m4/krb5.m4
            m4/lib-depends.m4
            m4/lib-pathname.m4
            m4/pam-const.m4
    
    Change-Id: I34d42a5491e87dc61b81ac2bf034c53dc2020f20
    Reviewed-on: http://gerrit.openafs.org/5417
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 78e2bb1e17b2310f3586c92a96b0def2eba476f4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 13 09:37:04 2011 +0100

    Add rra-c-util to the src/external regime
    
    We're already using a number of m4 configure tests which are taken
    from rra-c-util. Instead of importing these piecemeal, add rra-c-util
    to the src/external git import system, so that we can simply keep our
    selves in sync
    
    Change-Id: I58d610a3ee5f0f924b02745a89696ef46a8b0c04
    Reviewed-on: http://gerrit.openafs.org/5416
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b5a4c81fe0a25bb7f4aa0c41ea675f42657cb7a9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 2 18:33:06 2011 -0400

    Windows: osi_Debug macros
    
    The osi_Debug macros are like osi_Log macros except when used
    the logged values are always printed using OutputDebugString().
    This interface is meant only for temporary debugging.  No code
    that uses osi_Debug should ever be committed to the upstream
    repository.
    
    Change-Id: I139c81aa0c745f4f03c6900a19f65c55c495ad33
    Reviewed-on: http://gerrit.openafs.org/5415
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit bf2bf9a1fbb5fd4c208e1e581aa4b6ee5d0cf5d0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 18 22:07:26 2011 -0400

    Windows: daemonCheckLockInterval to 60 seconds
    
    Since we are no longer using deleted cm_fileLocks to
    cache file server locks, there is no need to purge the
    list so frequently.
    
    Change-Id: I47d1e40be8b4008a11b1114389538a110644bed0
    Reviewed-on: http://gerrit.openafs.org/5412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c9d655b9a6edf02fd92455961445f239f4667821
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 21 00:38:24 2011 -0400

    Windows: record history of read lock threads
    
    Maintance an array of up to 32 reader threads that have
    acquired a rwlock.  Use it for debugging when things go bad.
    
    Change-Id: I2e2e781ff355f1452e991898dfb5b91c47db9e34
    Reviewed-on: http://gerrit.openafs.org/5411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1de4561529bdb92b6647a634d9f2c2714e1758e5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Sep 13 19:32:37 2011 -0400

    vos: print correct command name in diagnostics for changeloc
    
    Fix the label in the diagnostics message, it prints "addsite"
    instead of "changeloc" when an error occurs during vos changeloc
    
    Change-Id: I8c541bc1709d2c02fb58d6d15b4a66d95647d1e7
    Reviewed-on: http://gerrit.openafs.org/5414
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 793fdd3360982c48bf60eefbd9c56b4a3c1e09f0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 9 12:47:52 2011 -0400

    Windows: ignore SYNCHRONIZE privilege in cm_CheckNTOpen
    
    SYNCHRONIZE has not meaning for AFS so just ignore it.  Do not
    deny an open request because it is set.
    
    Change-Id: I33fe4a02d0d1ce2cb4d192dd1b2e5f23fda4091c
    Reviewed-on: http://gerrit.openafs.org/5410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6c18c8844f3be6e006c7f59b3cc36f5b1688e04f
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Sep 13 15:27:37 2011 -0400

    volser: dont double-stat vnodes when dumping
    
    we get the size, then we get it again. no clue why. let's just not.
    
    Change-Id: I430d5c9941043341908cbf50ae70b982bb0ab8b3
    Reviewed-on: http://gerrit.openafs.org/5398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 11b6f9f0034a3934ffcf1dea8b1bfd915e7522ed
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Sep 13 16:17:18 2011 -0400

    darwin: minimal afsbackgrounder ticket fix
    
    avoid the "default" API since it's broken. this will at least prompt for
    tickets.
    
    Change-Id: Iee566d5f5502b7dce900d833f5711038c984cf37
    Reviewed-on: http://gerrit.openafs.org/5408
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8d939c08f60b44c83ed8db8892b93563ddea0e15
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Thu Sep 8 10:44:38 2011 -0400

    rx: avoid nat ping during shutdown
    
    shutdown_rx, unlike rx_Finalize, kills the socket before the conns.
    since we call osi_NetSend directly, we lose. just do a simple
    check for rxinit_status, and exit immediately before sending if rx
    is not up.
    
    Change-Id: Ie34a45a4c1c88fc5732801dcefec89cbc9764f81
    Reviewed-on: http://gerrit.openafs.org/5377
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 759c993c615b214bebdb5b1dc7346a72e379c135
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 12 09:42:47 2011 +0100

    Add warning suppression to tcudbprocs.c
    
    When tcudbprocs.o is built as part of tbutc, it needs to have the
    same warning suppression as when it is built as part of butc.
    
    Change-Id: Ied3a9512676ea929f5acdb80b29875555f69113a
    Reviewed-on: http://gerrit.openafs.org/5402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit fa6b8651251228d46b8eba472b2b84e829cfdc00
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 12 09:42:11 2011 +0100

    Build tbutc and tvlserver on Darwin
    
    At some point, the build lines for tbutc and tvlserver ended up
    omitting Darwin platforms. This is incorrect, so re-add Darwin to the
    platform list.
    
    Change-Id: I7704eb19a457620b37cbe3d9cbd33d6c9bd3ae5e
    Reviewed-on: http://gerrit.openafs.org/5401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit df13bb3be2d12dcb005cfe42585344826073c48c
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 12 15:24:39 2011 -0400

    crypto: Fixes for recent Heimdal changes
    
    ignore KRB5_DEPRECATED_FUNCTIONS for now since it doesnt give any
    advice.  Some keytypes (but not all) have been renamed.  So for
    now we need to keep both apparently.
    
    Change-Id: I55de284448d255d5107afe03b4df56ccebc90beb
    Reviewed-on: http://gerrit.openafs.org/5400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f566228af82ffe8091ed14fa6ec175de624504bc
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Sep 12 14:08:57 2011 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    b118610a9c56835c4ac5dc49ce8124cae8078346 (switch-from-svn-to-git-2478-gb118610)
    
    Upstream changes are:
    
    Harald Barth (1):
          Move common code to krb5_unsupported_enctype() and make error message contain string instead of error number
    
    Jeffrey Altman (1):
          roken: declare IN_LOOPBACKNET if necessary
    
    Love Hornquist Astrand (5):
          Warning fixes from Christos Zoulas
          Fixes from NetBSD via Thomas Klausner and Roland C. Dowdeswell
          Rename subsystem_DEPRECATED to subsystem_DEPRECATED_FUNCTION(X)
          remove trailing whitespace
          remove warning, remove forward declaration by moving the function up, ident
    
    Love Hörnquist Åstrand (4):
          don't set i = 0, its never read
          sprinkle doxygen and kode more like the rest of the code base
          partly unify enctype/keytype since there is only enctypes
          switch to KRB5_ENCTYPE
    
    Roland C. Dowdeswell (1):
          Fix a couple of bugs in krb5_c_valid_enctype():
    
    chas williams - CONTRACTOR (1):
          hcrypto: var name current conflicts with linux kernel
    
    Change-Id: Id9a7a9ee8258b979b54f4ed2b4175815ab35ea21
    Reviewed-on: http://gerrit.openafs.org/5399
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 19a5b5e67c65f0a9109b0fb5410b5ba74ad85b41
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 4 14:58:23 2011 -0400

    Windows: permit offline volume check to be disabled
    
    Setting the registry value to 0 can now be used as a
    method of disabling the offline volume check.
    
    Change-Id: I9fdc4e960efb0a6793316102ce2794c775693da1
    Reviewed-on: http://gerrit.openafs.org/5370
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a5effd9f1011aa319fdf432c67aec604053b8656
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 25 10:46:33 2011 -0400

    viced: Use libcmd for command line options
    
    Change-Id: Id402dc44bce03fcf998ad5b3f6de80fae7de9539
    Reviewed-on: http://gerrit.openafs.org/5075
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8e0aaae076f4cccfd2d6ed81ede4e355235b578e
Author: Todd Lewis <Todd_Lewis@unc.edu>
Date:   Sun Sep 11 12:42:47 2011 +0100

    RPM: Fix dkms support on Fedora 15
    
    Newer dkms no longer uses or supplies a $kernelver_array variable;
    instead it uses $kernelver. The attached patch uses both, one of
    which will be empty, so the test will do the Right Thing regardless
    of your dkms version.
    
    Further, the "mv" command at the end of the MAKE[0]= line needs
    lots of back-slashes on each of its parms. We need three to make it
    all the way to the final dkms.conf file -- so that's six -- plus one
    more to escape the '$'; that's seven in all.
    
    In case there's any question (and with all the back-slashes involved,
    there should be) about the intent here, the whole point of this
    patch is to make the final dkms.conf MAKE[0]= line look like this
    (module line breaks:
    
    MAKE[0]="KMODNAME=openafs.ko; DSTKMOD=\".\"; [ \"\`echo
    \"${kernelver_array[0]}${kernelver[0]}\" | sed -e
    's/^\([0-9]*\.[0-9]*\)\..*/\1/'\`\" = \"2.4\" ] && KMODNAME=\"libafs-*\"
    && DSTKMOD=openafs.o; ./configure
    --with-linux-kernel-headers=${kernel_source_dir}
    --with-linux-kernel-packaging; make; mv src/libafs/MODLOAD-*/\\\$KMODNAME
    \\\$DSTKMOD"
    
    This is what was required to get "dkms build ..." to work on Fedora 15,
    and as near as I can tell it shouldn't break 2.4 or other builds.
    
    FIXES 130211
    
    Change-Id: I1f7b3ccb438bb957bb0b97456b23c11cb0b4a41b
    Reviewed-on: http://gerrit.openafs.org/5393
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6d274905b0b87c4947df9dccc2509295e7b28d09
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 11 12:31:55 2011 +0100

    Unix CM: Fix afs_event fallout on Mac OS X
    
    Commit dc077b83c9b1f107efbc3483743f44117748f23c moved the afs_event
    structure definition into afs_osi.h. However, afs_osi.h is included from
    lots of places which don't include a complete set of platform headers.
    This means that the use of lck_mtx_t in this file breaks the build on
    Darwin.
    
    Instead, define the structure in afs.h, along with all of the rest of
    the cache manager structures. Also take the opportunity to move the
    definition of shutdown_osisleep it afs_prototypes.h, with the rest of
    the prototypes.
    
    Change-Id: Idd19fc30adcb5ab37e65ad87fa9224668e8cd321
    Reviewed-on: http://gerrit.openafs.org/5392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 136704fa648e5050941ed2a279cd9225b5e0ee68
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 11 12:35:18 2011 +0100

    Darwin: Actually stop the kernel build
    
    At the moment, all of the kernel build lines end with "; true", which
    means that the build will always continue, regardless of whether
    creating an individual object file succeeds or not. The 'true' is there
    to gobble up the name of the source file which the common build
    infrastructure adds to the end of the command line.
    
    Instead of using '; true', use '&& true', so that if one of the C
    compiler commands, or the lipo, fails, we get told about it, before
    we try to link the missing objects.
    
    Change-Id: I11c14e6aa12188e3de044f900b3df8c8ffe5df13
    Reviewed-on: http://gerrit.openafs.org/5391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 9c9b906c8a5779c48afecfa098b15206f041665d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 10:24:26 2011 +0100

    Move string manipulation functions out of util
    
    Some functions in libafsutil depend upon the RX libraries, which means
    that pulling in other functions in this library can create a dependency
    upon RX. This is less than ideal for low-level libraries such as cmd and
    comerr.
    
    So, create a new low-level library (currently named 'opr') which can
    contain low-level functions from util, and elsewhere. This library
    should have no dependencies other than on system libraries and libroken.
    
    Change-Id: I703db3da4d8faf79ee82bf572af09d07152d9b25
    Reviewed-on: http://gerrit.openafs.org/5363
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 440943e96b4be87abd02c47b3bcea8a5a2bdbc5f
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Wed Sep 7 09:55:47 2011 -0400

    autoconf: use $XCFLAGS from OPENAFS_OSCONF when making tests
    
    Certain platforms (like ppc64_linux26) compiler options might
    affect some autoconf tests.  In particular, the ones related to
    the size of certain primitive types.
    
    Change-Id: I20c3f737ee4623451bc6cab3f97e86d152cb397f
    Reviewed-on: http://gerrit.openafs.org/5366
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit c2272c207bc9f6cc0ba6892dfa6d879c7594d261
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 7 18:20:24 2011 +0100

    IRIX: Pull NFS translator hooks
    
    We've never had working NFS translator for IRIX, and the system call
    codes which are required to install the symbols used by the IBM
    translator have long been used for other things by OpenAFS.
    
    Simplify this mess by just removing the translator stubs from the kernel
    module, and all of the code in afsd which used to handle pulling
    addresses out of the kernel module so that we can hook ourselves in.
    
    Change-Id: I2da2b0040afc0191e236706126d75bc7d39c0936
    Reviewed-on: http://gerrit.openafs.org/5375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b34d7aa051d9bc8bcf8de2403c94741c0961af18
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:57:36 2011 +0100

    volser: Don't initialise all error tables
    
    Initialising the KA and cmd error tables in vsprocs.c makes the
    libvolser library dependent upon rxkad and cmd. As we may want to
    use that library in programs which use neither rxkad, nor our command
    processor, this is less than ideal. So, just drop the initialisations.
    
    Change-Id: Ifd47b1b16fc014f969e2b487451e21877b6a5407
    Reviewed-on: http://gerrit.openafs.org/5374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2ba597391df8127ed610324fc6b7b489b1c1f83c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 6 14:18:12 2011 +0100

    afsd: Fix res_init warning
    
    afsd requires res_init to be declared - get a definition for this by
    including roken.h (which has the necessary magic to figure out which
    set of headers are required to get resolver functions)
    
    Change-Id: I217405df223f0bc42be90aea991cb228db4da4f0
    Reviewed-on: http://gerrit.openafs.org/5373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 85d54a064b62756c0a59be030d0eb1fbc293d168
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 6 14:14:56 2011 +0100

    pam: Fix test_pam on Darwin
    
    Darwin doesn't have a getpassphrase function. Fix the PAM test to
    use getpass, in the same way as we do for lots of other platforms.
    
    Change-Id: Ib252174ac1356a8975a9187b252d4fe0246d5d39
    Reviewed-on: http://gerrit.openafs.org/5372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 1589e29f4e03919064c769372a7601957a8a033c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 6 14:03:41 2011 +0100

    pam: Don't duplicate .c.o rule
    
    Our included configuration has a perfectly fine .c.o rule, so don't
    override it in this Makefile, as all that does is produce a warning at
    build time
    
    Change-Id: If8d37f50932124ef0adef64ec23d81e646da337a
    Reviewed-on: http://gerrit.openafs.org/5371
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ec51fcc2b67fda494ff15c5be589bb280ce49d92
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Sep 7 19:25:23 2011 -0700

    Import new pam-const.m4 from rra-c-util 3.8
    
    Fixes detection of whether the PAM library uses const on FreeBSD and
    possibly others.  Report and testing from Julien ÉLIE.
    
    Change-Id: Ice01914f4a00f73e4e473934f4ad907da3a3493f
    Reviewed-on: http://gerrit.openafs.org/5376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 4ec6fd003084b02c299466bcaeac3850be10f79c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 6 11:57:18 2011 -0400

    Windows: add clean rule to src/afs/NTMakefile
    
    Change-Id: I433dee1e3f9e4b5774dc8011690b6c74162772ce
    Reviewed-on: http://gerrit.openafs.org/5368
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b6e5493437b942d5550247761dac3311c6d73a86
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 7 13:33:36 2011 -0400

    Windows: correct comments in cm_BkgStore
    
    Change-Id: I1b74db2cc37626dad2e92e86facf7bbaf71d6177
    Reviewed-on: http://gerrit.openafs.org/5369
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 39b788eeafe27d21ae6b4fd3cfeb59ce5dc70077
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 5 09:26:32 2011 -0400

    ppc64_linux26: build binaries as 64-bit by default
    
    lwp doesnt work since ucontext/setjmp are incomplete when running 32-bit
    binaries with the 64-bit kernel.
    
    Change-Id: I9c52d9d934638075fc1693ed94f20665822e5e6e
    Reviewed-on: http://gerrit.openafs.org/5365
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dc077b83c9b1f107efbc3483743f44117748f23c
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jul 25 23:39:27 2011 -0400

    Free memory from afs_events
    
    DARWIN and LINUX were already doing this, but everybody else had
    a memory leak.  Consolidate most of the common code to do so,
    including afs_event_t definitions.
    
    Change-Id: I5ec83cf23fd15dbbd5716995c671998e35862843
    Reviewed-on: http://gerrit.openafs.org/5314
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 327762071be3806c5d08be0218982c7027754756
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 5 09:20:15 2011 +0100

    rx/rxkad: Move rxkad initialisation into rxkad
    
    When the RX pthread conversion was done, the initialisation of rxkad
    mutexes was incorporated into the rx library itself. This is a layering
    violation (it breaks the relatively clean security object abstraction),
    and means that you can't actually use RX without the rxkad library.
    
    So, remove all of this initialisation from RX. As security libraries
    don't have an explicit initialisation function, we setup our various
    mutexes using a pthread_once function called from the NewSecurityObject
    functions.
    
    This has the added bonus that it removes the final error in rx.c for
    pthread builds, and so another bit of warning suppression can be
    removed.
    
    Change-Id: I3cf9b2404a03fb58534c5f41afd77aa5ba5e2256
    Reviewed-on: http://gerrit.openafs.org/5361
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ca0f1946a2f0a75be7de6aa0ac083ffebc950624
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 5 09:27:05 2011 +0100

    volser: Don't declare cstruct twice
    
    Both vsprocs.c and vsutils.c declare the global variable 'cstruct'
    (which is initialised by vos.c in order to pass a ubik client structure
    through to many of the libvolser functions). This double declaration
    prevents libvolser from being linked as a shared library on some
    platforms. We only need one of these, so just make vsprocs.c declare it,
    and vsutils.c refer to it as an extern.
    
    Of course, using a global variable to pass state around is really quite
    nasty, but let's fix that in another change.
    
    Change-Id: Ief1667bd7a5b70dbfb49cdc02cc435eb2344527e
    Reviewed-on: http://gerrit.openafs.org/5362
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8a24a7c933441f449192cf8c1b8d6fd728261734
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Tue Sep 6 15:23:33 2011 +0100

    Windows: Replace "%T" as format string to strftime
    
    Checkin I18ed36cc4dce9aa354ad1398710ab7db83c814a2 made strftime
    much more widespread.  However the %T format is not available on
    all platforms and causes (at least) Windows servers to fail on
    first attempt to log.  %T is just shorthand to %H:%M:%S so this
    checkin just replaces the one with the other.
    
    Change-Id: Ibfff133d9263f5513276d96f3624801fd8ab229e
    Reviewed-on: http://gerrit.openafs.org/5364
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 37d72aa15615ca32acb83ff82d35fd4508efa479
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 22:35:43 2011 -0400

    Windows: Freelance vnode,unique pairs
    
    The redirector maintains file object state after the afs
    service has shutdown in case it is restarted.  It is critical that
    Freelance FIDs not be reused.  Add cm_data.fakeDirVersion into
    the mix when generating unique values.
    
    Change-Id: I1cf480d3e0ec6e0b7eadf731a1ef867079c2dc44
    Reviewed-on: http://gerrit.openafs.org/5357
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 796684c024bfd675072bc067289b55dba2f130db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 21:33:00 2011 -0400

    windows: fix comments, add logging
    
    Change-Id: I383ce8679828f91d013d1f98ea3d25c73a0399df
    Reviewed-on: http://gerrit.openafs.org/5356
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b6f23864ffa380923f50d424063ad0804e407f4a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 14 13:33:02 2009 -0500

    Windows: remove CM_BUF_CMBKGFETCH flag
    
    The processing of the CM_BUF_CMBKGFETCH flag adds more
    overhead than it prevents.  Get rid of it.
    
    LICENSE MIT
    
    Change-Id: Ic152707fd3f0a7592409a5f570c02488f5503a9c
    Reviewed-on: http://gerrit.openafs.org/5359
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 33af0f92e9b8a50c5a6dd17a9065c0ef58597c28
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 5 10:11:09 2011 -0400

    Windows: use lock conversion in cm_EndDirOp
    
    Instead of dropping the lock for read and reacquiring for write
    use lock_ConvertRToW() which will make the change atomicly if
    it is possible or place the thread into the wait list if not.
    
    LICENSE MIT
    
    Change-Id: I5d134f045a0c935fdaaef6edf5bdf37bb0418a98
    Reviewed-on: http://gerrit.openafs.org/5360
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c3e82ee98bf66058636f11d7a98d3bebe3bac955
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Fri Sep 2 13:35:24 2011 -0400

    aklog: strlen(NULL) doesn't work
    
    strlen(filepath) when !filepath isnt going to work very well. i believe
    this to be the intent of the author of the original patch.
    
    Change-Id: Ib78c5a189b6980223946aff9cf027419127c35bd
    Reviewed-on: http://gerrit.openafs.org/5328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit def00ae8ba774f4d7290c29208484dda756dc0e0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 3 14:10:50 2011 -0400

    Linux: d_delete now takes a const argument
    
    The d_delete dentry operation now takes a const argument.  Test for
    this and define our function accordingly to avoid warnings.
    
    Change-Id: I621f54d8e8182b29ccfdf82798773800f5870064
    Reviewed-on: http://gerrit.openafs.org/5335
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3e3400e422129a8a19d180c4e37689294d927ecb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 20:09:20 2011 -0400

    Windows: tailor smb_MapNTError output for redirector
    
    Separate mappings apply for the afs redirector.  Add a boolean
    parameter to the function signature that is set true when the
    call requires the redirector mapping.
    
    Change-Id: Ib2892b6c78047f3f1d289e31c4236ea90d8026ab
    Reviewed-on: http://gerrit.openafs.org/5351
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9b0cb614387403ff433cf39f84c13b626b1b9bdc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 2 13:54:01 2011 -0400

    Windows: cm_SymLink export created cm_scache_t
    
    Permit the caller to request the cm_scache_t that represents
    the created symlink or mount point object.
    
    Change-Id: Ida8fdc4214844dad009362877f125aa5d20120a1
    Reviewed-on: http://gerrit.openafs.org/5355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 537592f6bbda0c659c25ae7068f50504e2a5e116
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 21:07:13 2011 -0400

    Windows: correct cm_buf use of Head/Tail queues
    
    The buffer free list least recently used queue has both
    head and tail points.  Use the proper versions of the queue
    mgmt functions and do not handle edge cases as special cases.
    
    Change-Id: I570682ef1cd6801f1467c4b1af40ae6591a33862
    Reviewed-on: http://gerrit.openafs.org/5354
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1e23761b7fadc260b32bebb0343a9b5b1de37cf4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 20:22:19 2011 -0400

    Windows: remove dead code from cm_scache.c
    
    Change-Id: Ibc5ae641f6bacbe0975f8ffaf0d4cff3e294959a
    Reviewed-on: http://gerrit.openafs.org/5353
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 741e478970a17edda84f2d2c4689a99e90510edd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 20:16:09 2011 -0400

    Windows: add cm_Gen8Dot3VolNameW()
    
    Change-Id: Ic514719ee247d60862cc9ff07de16e5de4ffb774
    Reviewed-on: http://gerrit.openafs.org/5352
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 69463ac0cb367202485aac9977f8b4c47fb067f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 20:06:21 2011 -0400

    Windows: add logging to smb_IoctlRead
    
    Change-Id: Ia1c7fc1035eee07de47776e63d6a054ee2809f2f
    Reviewed-on: http://gerrit.openafs.org/5350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2588dd12478afb96a72f0cd788233ecf2145830f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 20:03:28 2011 -0400

    Windows: remove potential data loss warning with cast
    
    Change-Id: If9cbe1b777452dba5b0785d8abfccb9ec31540e3
    Reviewed-on: http://gerrit.openafs.org/5349
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 722843e2df533e8fcf245f2a3b10ef686992deb2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 19:14:11 2011 -0400

    windows: pass cm_req_t through background ops
    
    add cm_req_t object to background daemon operations in order to
    permit request source to be propagated to the background daemon.
    
    pass a cm_req_t into buf_SetDirty().
    
    Change-Id: I8f805c2860e33df37040ee3785f18358e1a9b762
    Reviewed-on: http://gerrit.openafs.org/5348
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1d6593e952ce82c778b1cd6e40c6e22ec756daf1
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 23 12:50:55 2011 -0700

    Generate stub header files for h/*.h files included in libuafs
    
    Previously, the libuafs build created a symlink from h to
    /usr/include/sys so that files included under h/* by kernel source
    files could be found in the normal system header location.  However,
    this assumption about the system header location is no longer valid.
    Debian and Ubuntu systems with multiarch have arch-specific include
    paths so that the same host can be used to build 32-bit and 64-bit
    binaries with different system headers, and those include paths are
    automatically searched by the compiler.  This means some standard
    headers are no longer found directly in /usr/include/sys but are
    instead found in /usr/include/<arch>/sys.
    
    Using a stripped-down version of similar code for building the kernel
    module on Linux, create an h directory containing stub header files
    that just include the relevant system <sys/*.h> header file instead.
    This allows the compiler to implement its normal internal header
    search algorithm.
    
    Also remove all the other symlinks, such as sys, netinet, etc., that
    just pointed to the same directories under /usr/include.  We can assume
    the normal compiler search algorithm will find these headers without
    requiring this assistance.
    
    Change-Id: Ie19d12e3d3f0068c88d0a9c83f6a96d51baee018
    Reviewed-on: http://gerrit.openafs.org/5305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0f4dfaed6b25ae4282298cc2ba4908ce9f36f043
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 29 13:07:01 2011 -0500

    ihandle: OPEN fdPs are not counted in ihP refcount
    
    Just add a comment explaining that an OPEN FdHandle_t does not count
    against the ref count for its parent IHandle_t. Recently I've seen
    some confusion about this when discussing ihandle internals, and this
    should make this abundantly clear.
    
    Change-Id: I73210e0d05869827ba99d09f504052d1a6797669
    Reviewed-on: http://gerrit.openafs.org/5317
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b298138bc49c1d1dae0495e03f4a561f0bd5dd82
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Aug 29 23:36:41 2011 +0100

    libafs: Fix directory verification
    
    With the earlier directory verification changes, every directory
    was seen as corrupt, because the nde pointer was never being initialised
    
    Rework the way that we check for the failure of afs_dir_GetVerifiedBlob
    so that we can more robustly detect problems, whilst still allowing
    normal directories to be browsed as before
    
    Change-Id: I3d3f428025296956b5feff6ba290aaef79817dcd
    Reviewed-on: http://gerrit.openafs.org/5318
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8e97cf6f215d5575c63d86eaec59031399f4beda
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 3 12:32:33 2011 -0400

    Linux: make sure backing_dev_info is zeroed
    
    The afs backing_dev_info structure is allocated dynamically with
    kmalloc, which doesn't zero out the contents.  In particular
    there's no guarantee that congested_fn is NULL, causing spurious
    oopses when bdi_congested tries to call it.
    
    Change-Id: Ieeed870905627a132a0d1bd2f15cf80443b36303
    Reviewed-on: http://gerrit.openafs.org/5334
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit cbaefa266d433af3b9a082a360e23a42f161d80f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Sep 2 17:56:58 2011 -0400

    Linux: 3.1: adapt to fsync changes
    
    The fsync file operation gets new arguments to specify a range.
    Add a configure test to check for the API change.
    
    The inode lock is also pushed down into the operation, so we need
    to take it ourselves to keep the original behaviour.
    
    Change-Id: Icf4e152ce52f2b32c99920f83a5cc3136c05d2cd
    Reviewed-on: http://gerrit.openafs.org/5332
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 20772897654b58da6f7d4cd0bd2caf169abddd50
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 19:03:05 2011 -0400

    Windows: correct log message in buf_Sync()
    
    Change-Id: I808e37584a8dda303c037dca82c2230ff884560f
    Reviewed-on: http://gerrit.openafs.org/5347
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2f9f19085e83d3050748d03b9db903f06bba17ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:57:09 2011 -0400

    Windows: restructure cm_ResetACLCache locking
    
    Change-Id: Ic22ba2f54463dd0efa0efa1fff83890eb6d61cc1
    Reviewed-on: http://gerrit.openafs.org/5346
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0954e0ef9a34ca74886900a938f091e5bf9befd9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 28 01:27:33 2011 +0000

    Windows: add cm_BPlusDirEnumBulkStatOne
    
    cm_BPlusDirEnumBulkStatOne() is similar to cm_BPlusDirEnumBulkStat()
    except that it is used to obtain the status info for one FID in
    particular via RXAFS_InlineBulkStat, the parent directory FID, and
    up to 48 other FIDs in the same directory which do not currently
    have a registered callback.
    
    The parent directory is included to prevent the directory FID
    callback from expiring when a directory such as /afs/andrew.cmu.edu/usr/
    that requires more status objects then exist in the cache are continuously
    recycled.
    
    Up to 48 other FIDs are requested since in most cases on Windows
    every entry in a directory is required for an enumeration.
    
    Change-Id: Ic53134498ac0e776232a6f9c97cdb26367959546
    Reviewed-on: http://gerrit.openafs.org/5345
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1a0dd342cc21a307e568efdc2b7ae40fda310edb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 27 23:09:00 2011 -0500

    Windows: remove warnings afskfw.c
    
    Sometimes warnings are errors and sometimes they are just warnings.
    In this case, the krb5 error message functions were being passed
    a krb5_context with the wrong level of indirection which resulted
    in an actual error.  Other warnings were due to improper typing
    and unnecessary casts.  Fix them all.
    
    Change-Id: Ib2cefe94acca858dda9af92baaae3168c074bb2e
    Reviewed-on: http://gerrit.openafs.org/5344
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 79e3af59f1737e46a5bbc58fc8d73f5e38ed8c30
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:41:43 2011 -0400

    Windows: non-persistent cache from pagefile->heap
    
    Change the non-persistent cache mode to use a heap allocated
    cache in place of a paging file allocated cache.  With a heap
    cache the memory for the cache can be locked into physical memory
    so it won't be swapped out when running in virtual machines.
    This patch does not apply such memory locking.
    
    Change-Id: I85e6da1bba481d3d9bca84673b918b1d7cde71f9
    Reviewed-on: http://gerrit.openafs.org/5343
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6aeab6595e4a36429943c22466b1b38591305240
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 18 16:16:42 2011 -0400

    Windows: Only mask Delete permission for SMB reqs
    
    For SMB requests the Delete permission is masked if the
    readonly attribute is set on the file.  Do not apply this
    heuristic to non-SMB requests.
    
    Change-Id: I6617e935cb32796e4a95b4eac0bec9519bd3e937
    Reviewed-on: http://gerrit.openafs.org/5342
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7dcc4766377b99c60db60328c21a3990db132268
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 1 09:51:06 2011 -0400

    Windows: buf_SetDirty do nothing if length is zero
    
    Change-Id: Id6a96feadccc437900e944ab23b45d2717766e1c
    Reviewed-on: http://gerrit.openafs.org/5358
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit abe0e6b7bca7fe02c4b08cc621f7a97dfcd82b1b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:25:10 2011 -0400

    Windows: conditionalize cm_Analyze timeLeft on SMB or RDR
    
    Restrict timeLeft in cm_Analyze() to SMB constraints only
    when SMB mode is in use.
    
    Change-Id: Iff37b90c1532fe9aa7d57567f4ff4e5e6877cb65
    Reviewed-on: http://gerrit.openafs.org/5341
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f1ca805de8cc4e79b683663e5aaca69188f81497
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:22:53 2011 -0400

    Windows: additional CM_REQ flags
    
    Change-Id: Ic620d157817e39053e75ba79ad7d582ba3067424
    Reviewed-on: http://gerrit.openafs.org/5340
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 21496cc223b82081ebdf1de9ef5aeb7dc812489b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:19:58 2011 -0400

    Windows: add connection defaults for RDR mode
    
      CM_CONN_IFS_HARDDEADTIME       120
      CM_CONN_IFS_CONNDEADTIME        50
      CM_CONN_IFS_IDLEDEADTIME        50
    
    Change-Id: I0b110f2a33879bb889d4ad4b54b7c218a1006e65
    Reviewed-on: http://gerrit.openafs.org/5339
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b861e17c0bc34ea2042879bc705f5d26a7e0a77f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:17:21 2011 -0400

    Windows: log SMB or RDR in use at startup
    
    Change-Id: Ib38d8a755a8ace9db672ce2d10bcdd370e9e3de6
    Reviewed-on: http://gerrit.openafs.org/5338
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 070383939d84aaf6aff9885328439a19b789286c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Sep 3 18:13:31 2011 -0400

    Windows: Make use of SMB interface a runtime decision
    
    Add 'smb_Enabled' and 'RDR_Initialized' flag variables.
    Default smb_Enabled to true and RDR_Initialized to false.
    
    Add registry value "SMBInterfaceEnabled" to permit disabling
    the SMB interface.
    
    If the redirector interface is initialized (a future set of
    patchsets will add it) disable the SMB interface at runtime.
    
    Change-Id: I354e121001d942421aa98490b62b710ac175051f
    Reviewed-on: http://gerrit.openafs.org/5337
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f7d0e800eba62f4984795cb7b487f6695f6fedcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 6 18:24:47 2010 -0400

    Windows: pioctl path retrying with \\afs\all
    
    When the redirector is in use, \\AFS is identified as being an AFS path.
    With the SMB redirector, \\AFS was not considered a valid path.  In order
    to simulate the notion of \\AFS being the root volume, failover logic
    was added to the symlink and fs modules being triggered that
    would retry a request for \\afs\foo as \\afs\all\foo.
    
    The VIOC_SYMLINK and VIOC_AFS_CREATE_MT_PT pioctls are broken.  The
    'path' parameter that is passed in contains the directory entry that
    is to be created.  Since the AFS redirector maps \\afs to the root.afs
    volume the "foo" in \\afs\foo must exist in order for the
    _._AFS_IOCTL_._ special file to be opened.
    
    This patch implements an alternative to the failover.  If the opcode
    is one of the two listed above and the input path is a UNC path,
    then the path is re-written as \\AFS\all.  This is necessary because
    the repeated attempts to open a UNC path through the SMB redirector
    with different usernames can result in the smb session becoming
    disconnected.  If this is done when the SYSTEM account is in use,
    the tokens associated with the connection can be lost.
    
    LICENSE MIT
    
    Change-Id: I2c2f6c08c7ca5c137062d34e1353731b6f78f633
    Reviewed-on: http://gerrit.openafs.org/5336
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2271d481d33b2b2ad56dcd4fc9fbdd726fc1967b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 2 23:51:59 2011 -0400

    Windows: remove MULTIHOMED ifdef
    
    All builds include the MULTIHOMED functionality.
    Get rid of the #ifdef MULTIHOMED.
    
    Change-Id: Ib9ea4597fcda47aa9dce0fbf92675a6606e2ec6e
    Reviewed-on: http://gerrit.openafs.org/5333
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8127e9332be8cadda001f05c6036d4c87e04cb4a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 2 18:36:13 2011 -0400

    Windows: missing ! in update volume location
    
    The check to see if the volume name is numeric or not was
    missing a ! in order to perform the correct test.  Add it.
    
    Change-Id: I4626f4bdcf601cd1b421dd3d373edd634cc78527
    Reviewed-on: http://gerrit.openafs.org/5331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f37b6dfaf050ec0270979c8310fb471c16b66cd3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 2 18:32:40 2011 -0400

    Windows: improve handling of volume rename
    
    The windows cache manager tracks volumes by volume group.
    Up to this point all volume location updates have been performed
    by the volume name.  What if the volume name was altered?  In this
    case the volume location information for the in use volume ids will
    fail until a mount point to the new name is queried.  Before
    marking the volume group as non-existent attempt to perform a
    lookup using either the volume id for the readwrite or readonly
    volume.
    
    Change-Id: I51b383150b0186867e1c51a28b01e8483ee470f2
    Reviewed-on: http://gerrit.openafs.org/5330
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9563dd68fc1fb4b86016106aaacd33732d4cf6ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 2 18:28:31 2011 -0400

    Windows: refactor volume location updates
    
    Break out the VL_GetEntryByName RPC calls into support
    functions so we can reduce the amount of duplicated code.
    
    Change-Id: If4a26514959d3fd82e4b583a993ccea393267fdd
    Reviewed-on: http://gerrit.openafs.org/5329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 85f917d0762dfb0c22cddf4b0cab3bf76efa0f62
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 11 10:39:11 2011 -0400

    macos: update 32 bit kernel build flags
    
    this is what the current xcode uses. do the same.
    
    Change-Id: I3ea2f3df6e0f39aafb421f6b0854af5d85659742
    Reviewed-on: http://gerrit.openafs.org/5205
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 16dff61e148ce6893a68dda6e05e84f96fa753ac
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Aug 23 00:20:37 2011 -0400

    xserver lock order violation
    
    individual volume locks are pretty far down, well after afs_xserver.
    
    afs_SetupVolume (with tv->lock)-> InstallUVolumeEntry-> afs_GetServer.
    
    Install*Volume is careful to protect against recursing into the volume
    lock via ResetVolumeInfo. Unfortunately, GetServer acquires xserver,
    and then if it needs to call GetCapabilities, it drops and reacquires
    xserver.
    
    turns out the volume locks weren't protecting much. they also aren't
    grabbed before xvolume is dropped. fine, so, restructure to do all the
    work, then merge the result.
    
    Change-Id: I648900849a5a7349adc686658872706bd7024c90
    Reviewed-on: http://gerrit.openafs.org/5303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 12fa5b859b857aaf0ab6975ebac0d4867d0ae0ff
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Aug 22 14:56:03 2011 -0400

    xvcb lock order violation
    
    afs_FlushVCBs(1) = xvcb, xserver (in that order)
    
    afs_GetServer = xserver, xsrvAddr, (call afs_RemoveSrvAddr which calls
    afs_FlushServer, which gets xvcb)
    
    "nope". do a little dance to get xvcb, searching for a struct server to reuse
    again if we had to block.
    
    if you're curious:
    Lock afs_xserver status: (reader_waitingwriter_waiting, write_locked(pid:1589 at:36), 3 waiters)
    Lock afs_xvcb status: (none_waiting, write_locked(pid:0 at:273))
    Lock afs_xsrvAddr status: (none_waiting, write_locked(pid:1589 at:116))
    
    Change-Id: If295d0b9ce347c1cc24df12cd9934a30dce2a3c6
    Reviewed-on: http://gerrit.openafs.org/5294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 24287ff0154c49a2563c9a08ff44ff72583095e4
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Tue Aug 30 01:18:37 2011 -0400

    redhat: mockbuild updates for repoquery
    
    for starters, mock should be careful not to use parent yum cache
    when running repoquery, the host runs it, we want the guests's
    yum cache. be careful to not attempt to use the parent's yum cache
    (in the default config).
    
    additionally, we need to not try to build 64 bit kernel modules in
    32 bit chroots. expand the list of rpms while ejecting any which are
    64 bit if we're 32.
    
    additionally, blacklist kernels which are the wrong osver.
    
    Change-Id: Id2a68cf66ddae57458c9f97314cd492e7b5132a8
    Reviewed-on: http://gerrit.openafs.org/5322
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 8d4f65c3021b3416d290a1d5f1e8e61d14a936c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 30 09:49:11 2011 -0400

    Windows: correct CheckOfflineVolumeState logic
    
    Do not blindly set the return 'online' state to TRUE if
    the state has not in fact changed.
    
    Do not blindly clear the 'alldown' flag without checking the
    actual 'down' state of the file server.
    
    Change-Id: Iaad401be067513e2bf42609f0b0d407ba5c6302d
    Reviewed-on: http://gerrit.openafs.org/5323
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 130144850c6d05bc69e06257a5d7219eb98697d8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 12 14:29:48 2011 -0400

    xstat: cm xstat time values are 32 bit
    
    The kernel space cm xstat time structures are implemented as 32
    bit values in memory and on the wire.  Define the client side
    xstat userspace structures as 32 bit time values as well to avoid
    size mismatches on systems with native 64 bit time values.
    
    Change-Id: I857ea48bf8e12ec006ef24affb2e65a105ce27bb
    Reviewed-on: http://gerrit.openafs.org/5237
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 33bb5218ba8d6c5b5c5c4839fd31824ca90c062b
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Aug 24 20:40:38 2011 -0400

    aklog: work around lion kerberos disaster
    
    fine, so, instead of needing weak crypto enabled, use krb5 config
    paths trick and ship a config to deal.
    
    Change-Id: I6e9635dfe1fe6d4633486acf1e9cc35a96f33cd6
    Reviewed-on: http://gerrit.openafs.org/5310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 3d4e111dd6c4201476e7447fdfaa27ed630032c5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 28 12:03:53 2011 -0400

    Windows: afslogon network provider debug registry value
    
    create a new TransarcAFSDaemon\NetworkProvider "Debug" value
    to be used for activating the network provider debugging.
    The overlapping use of TransarcAFSDaemon\Parameters "TraceOption"
    is just too confusing.
    
    Permit both methods to be used.
    
    Change-Id: I4ba233b38bda547af35aa4b363edc819bcc3792c
    Reviewed-on: http://gerrit.openafs.org/5316
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 971a103cd088ddbaf227d562fc64f8c728bbc235
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 28 12:02:14 2011 -0400

    Windows: afslogon NPLogonNotify exit on KTC_NOCM
    
    If the service has started but is not responding to pioctls,
    permit the NPLogonNotify() routine to exit.
    
    Change-Id: I1ed4ac7a7fed5d86d607ecfd5e027f62ec26a82f
    Reviewed-on: http://gerrit.openafs.org/5315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9052974812e33d186613c31e318673f9268467c6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 26 13:57:15 2011 -0400

    Windows: afslogon.dll is not a file system interface
    
    Do not return a file system network type that corresponds
    to a real file system inter since afslogon is in fact not
    associated with a file system interface.  We can't return
    WNNC_NET_NONE (0) because that prevents NPLogonNotify()
    from being executed.  However, if we return an in use
    file system value that can confuse the system when the
    actual file system's network provider is also installed.
    
    Change-Id: I845bc633f17f21946ce7de796d66c0bb429005cd
    Reviewed-on: http://gerrit.openafs.org/5313
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 209d59a61ba9614a8b9d231d828f74a3e9bdaa27
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 26 09:36:04 2011 -0400

    Windows: torture error reporting
    
    When LeaveThread() is called and GetLastError() has already
    been called, pass the last error value to LeaveThread().  Otherwise,
    the GetLastError() call in LeaveThread() may return an inaccurrate
    result.
    
    Change-Id: Ia8ac1fd827ab8fb47aea0b527acd3c7f7070e873
    Reviewed-on: http://gerrit.openafs.org/5312
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 40c9163aa9f266c4ad3a0a5a68e0aae0c35e3e51
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 23:59:17 2011 -0400

    libafs: crash in a more useful way if nchunks is zero
    
    In afs_CacheStoreDCaches(), if the parameter nchunks is zero, the
    main loop will not execute, leaving the XSTATS pointer unchanged,
    which will result in a null dereference in XSTATS_END_TIME.  Instead
    assert that nchunks is nonzero, which will help the static analyzer
    and will also generate a more useful panic message should this
    error ever be encountered in operation.
    
    There is presently only one call site, and it may be the case that this
    condition can never be triggered.
    
    (While in the neighborhood, also avoid dereferencing tdc immediately
    before testing whether it is null.)
    
    Change-Id: Idf68f1306d3e09771425c62df139c1de11806c22
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5179
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit edbe891abfb00be2c9f4de474db2dd784f2d5a61
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 10 21:52:44 2011 -0400

    libafs: FillStoreStats doesn't need to be global; avoid pass-by-pointer
    
    FillStoreStats is only used in afs_fetchstore.c, so make it static.
    Parameter xferStartTime is an osi_timeval, which should be small
    enough to pass by value, so do so.
    
    Change-Id: Ic47eae8babb3b7cadbbbca2f10e2e070e2457590
    Reviewed-on: http://gerrit.openafs.org/5199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 90681a59bac641c4c4d70c0bb500845be3577c33
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Sat Aug 13 10:29:31 2011 -0400

    doc: missing $DBTOEPUB variable in the Makefile
    
    Change-Id: I623859ae58fea6a602221ca5d111605004b4a27f
    Reviewed-on: http://gerrit.openafs.org/5256
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 597de25969ebdeaafb7390984b5ce2c8782fd557
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 24 12:48:19 2011 -0500

    ihandle: Fix IH_REALLYCLOSE for positional I/O
    
    Currently, ih_fdclose (which is called by IH_REALLYCLOSE), goes
    through every FD_HANDLE_OPEN FdHandle_t and closes it. If it finds
    handles that are FD_HANDLE_INUSE, it skips those and sets a flag on
    the parent IHandle_t. For non-positional I/O, any future opens cannot
    use these _INUSE handles, since _INUSE handles cannot be reused, and
    the handle will be actually closed when it is FDH_CLOSE'd.
    
    For positional I/O, the situation is different. Multiple threads can
    use the same _INUSE FdHandle_t, and so there is nothing currently
    stopping a thread from IH_OPEN'ing an ihandle that has been
    IH_REALLYCLOSE'd, and getting back an FdHandle_t that existed before
    the IH_REALLYCLOSE was issued. This is important, since IH_REALLYCLOSE
    is used on files that are deleted, and future IH_OPENs for the same
    inode must not use the cached file descriptor. Getting this wrong can
    cause data loss, since it can cause us to read from or write to a file
    descriptor referring to a deleted file, when we instead should open a
    new copy of that file.
    
    To fix this, we create a new FdHandle_t state called
    FD_HANDLE_CLOSING, which is set in IH_REALLYCLOSE if we encounter an
    FD_HANDLE_INUSE FdHandle_t. In IH_OPEN, we always skip
    FD_HANDLE_CLOSING handles, so we can never get back a cached file
    descriptor from before an IH_REALLYCLOSE call.
    
    Change-Id: I3188a18f7833950cf5454b3ffe4a4ce0c69e234f
    Reviewed-on: http://gerrit.openafs.org/5308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6d79cfb36165c33dd1fd9c4d7ca8436d9a78f7ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 24 12:30:00 2011 -0500

    ihandle: Actually assert active fdPs are not AVAIL
    
    FdHandle_t's that are on the linked list for an associated IHandle_t
    should not be in the state FD_HANDLE_AVAIL. For the non-PIO case, we
    assert that this is the case in ih_open (since we assert that if the
    FdHandle_t is not in INUSE state, then it must be in OPEN state).
    However, for the PIO case, we were just skipping over any FdHandle_t's
    that were in the AVAIL state. These should never exist while on that
    linked list, so assert for the PIO case, as well.
    
    In the absence of bugs, there is no functional change here, but it
    perhaps makes the ih_open loop easier to understand.
    
    Change-Id: I4e3b3319ae14b7e68a87f5fe172419f5ebf9d2c9
    Reviewed-on: http://gerrit.openafs.org/5307
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fa97579a08cdf23fcff3c50a5845d72a785feeaf
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Aug 24 16:23:37 2011 -0400

    LINUX  vcache lock ordering in afs_linux_readdir
    
    Normalize shared and exclusive lock operations.  Take the lock
    exclusive immediately, since the code assumes a write lock if
    the vcache state is in flux or the entry is being fetched, releasing
    -write- rather than shared, since we do not hold a shared lock.
    
    Change-Id: Icbffdf21c6fc7929483589e87ffe9131834c79b4
    Reviewed-on: http://gerrit.openafs.org/5309
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 2dbdcc5fde93673efba132cad432029e03aef486
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Wed Aug 24 22:53:38 2011 -0400

    roken: no strcasecmp
    
    we don't provide it, don't map it.
    
    Change-Id: Ifcbb1ec66c374ef8cd6eaddf1954dcd688ae3e9b
    Reviewed-on: http://gerrit.openafs.org/5311
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit c23b27a69322f4c9963a532d5cbcb136b23bb20c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 23 16:02:28 2011 -0400

    Windows: change buf_Find*() signature to accept cm_fid_t
    
    The buf_Find*() functions require a cm_fid_t to match with the
    cm_buf_t objects not a cm_scache_t.  Change the signature so
    that the cm_scache_t is not required.  It should be possible to
    search for a buffer even if the cm_scache_t is not present in
    the cache.
    
    Change-Id: I38835ee86405c4f3f798ad6be8626e6da507109f
    Reviewed-on: http://gerrit.openafs.org/5304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b804e027f1a9d8dfaad3d348390a83493b53a6c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 21 00:37:34 2011 -0400

    Windows: do not drop lock unnecessarily
    
    do not drop cm_serverLock for a cm_PutServer call since
    it will only reacquire it.  use cm_PutServerNoLock() instead.
    
    Change-Id: I0e22f8d547a8fa0067cfc918f578b8fe11cc781a
    Reviewed-on: http://gerrit.openafs.org/5302
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit bca64c70467afd00ca02290a4236bc295ec4633c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 21 00:36:44 2011 -0400

    Windows: cm_serverLock read required not write
    
    Change-Id: I9e804ddd7de824b2f5ce880e52c08bff6b0615e7
    Reviewed-on: http://gerrit.openafs.org/5301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b2c1313f2f39ffff22a2a991dcb01428f118a3c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 18 21:58:50 2011 -0400

    Windows: Be more efficient when processing locks
    
    Do not drop the cm_scacheLock only to reacquire it a few lines
    later.
    
    Do not manually set the tail of the queue when osi_RemoveHT
    does it for us.
    
    Change-Id: I61b2e54a4864760d257dfcd2841c2c15f1ee41fe
    Reviewed-on: http://gerrit.openafs.org/5300
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a576ff1e53a539e88b9f3fa6b8132d4f161b0bd4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 18 21:57:12 2011 -0400

    Windows: be explicit when mapping sharing violation
    
    Only one lock acquistion failure should be mapping to
    CM_ERROR_SHARING_VIOLATION.  That is CM_ERROR_LOCK_NOT_GRANTED.
    Make it clear that is what we are doing.
    
    Change-Id: Ic1933a989a4e8c95a1417679e9bc7cbc4e14dd12
    Reviewed-on: http://gerrit.openafs.org/5299
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a6138b412d3b4197b22ca7fb63d8cdc9671ef67c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 18 21:53:45 2011 -0400

    Windows: Track file server lock count
    
    The fsLockCount field is the lock count reported by the
    file server as part of the status info.  Lock acquisition
    and releasing does not obtain new status info but we can
    estimate what the lock count is by tracking it ourselves
    for each of our successful RXAFS_SetLock and RXAFS_ReleaseLock
    RPCs and failed RXAFS_ExtendLock RPCs.
    
    Change-Id: Ib5dc5853d82a1292e848bf67d4d9932485177d91
    Reviewed-on: http://gerrit.openafs.org/5298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ae87a1aff2a99841701c1e8a7a0dbb699ea14102
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 22 21:12:25 2011 -0400

    Windows: remove signed/unsigned mismatch cm_aclent.c
    
    Change-Id: I6cf41410d84b96d2fbe9fd8f1602a7aaa2c1797d
    Reviewed-on: http://gerrit.openafs.org/5297
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 21acdd92c8510a9f99243588388a2a1078547533
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 9 14:26:33 2011 -0400

    Windows: avoid duplicate volume update queries
    
    If multiple volume update queries have stacked up in
    cm_UpdateVolumeLocation() and the active query failed,
    do not re-issued the blocked queries.  Instead, prevent new
    queries for 60 seconds and fail those that blocked during
    the active query.
    
    Change-Id: Ic3f55ae08da36900fc8c7a89b6487ae53f381eb3
    Reviewed-on: http://gerrit.openafs.org/5296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0fb2e3a6dbfdf91bcf1591e454a00171792b7a38
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Aug 21 12:02:29 2011 -0400

    dir: verified pathnames fallout
    
    Fix some issues introduced with the verified directory path names
    commit in master:
    - In GetVerifiedBlob, the output parameter is set to NULL on entry
    and dereferenced later on.
    - For Linux, the code in afs_linux_readdir was changed to pass a
    DirEntry to GetVerifiedBlob.  This is incorrect, the function still
    expects a DirBuffer pointer.
    - In afs_dir_IsEmpty, the assignment of ep was removed, leaving
    the function to dereference this pointer which was never set.
    
    Change-Id: I9045076ebe636cf68c19487c0d58baebf2de7dd1
    Reviewed-on: http://gerrit.openafs.org/5292
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 9581821a4599e1ba871360dcf8503e13eb6516b6
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Sat Aug 13 11:01:28 2011 -0400

    pod: use /OPTIONS when referring to the local OPTIONS section
    
    Change-Id: I889e3a89f5cc68b816a822b6a23db30ac6fe2357
    Reviewed-on: http://gerrit.openafs.org/5257
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 85bb872e3df6b6f54764d90996bc52904ccd4385
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Sat Aug 13 10:18:45 2011 -0400

    doc: generate admin ref from the pod documentation
    
    a bit convoluted but this generates docbook from the pod documentation and
    from that pdf, epub and mobi versions.  we are using variablelist.as.block
    since that looks prettier on smaller devices/screen.
    
    Change-Id: I5cd51ef10448373960a0aeed15212bbcf6f44039
    Change-Id: Ib222dbfa30e3af644b1dbc6738df1d39cc33c92f
    Reviewed-on: http://gerrit.openafs.org/5255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 0754537c11f034966c79ebd2330e1155c736badf
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 24 16:20:05 2011 -0700

    Don't fail to build documentation if kindlegen doesn't exist
    
    Check for kindlegen in configure and do nothing in the MOBI build
    rule if the binary didn't exist.
    
    This is still a bit of a hack since the rule will run with every
    invocation of make.  The target needs to be made conditional.  But
    at least this way make all in the documentation directory doesn't
    fail.
    
    Change-Id: I57f158929b3907678b9848a60edb9765136f7dbb
    Reviewed-on: http://gerrit.openafs.org/5090
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit add66023a05bf9a380eef34bd4fcc80d343fffad
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 22 09:00:47 2011 -0400

    Windows: avoid cm_serverLock refcount leak
    
    Change-Id: I4e46750de130557b7d4779f83029b69bc28eaf4b
    Reviewed-on: http://gerrit.openafs.org/5293
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5836464f454f0bb4612c665d27061956d4c745af
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 13 18:34:47 2011 -0400

    libafs: don't crash if afs_write() is called with zero-length uio
    
    If AFS_UIO_RESID(auio) is zero in afs_write(), we could end up
    calling afsio_free(NULL).  Guard the free.  (In the alternative,
    perhaps we should just osi_Assert(totalLength > 0) instead?)
    
    Change-Id: Ic218f039e2034b679cb4817a543af2e8307f36f8
    Found-by: clang static analyzer with the help of AFS_NONNULL
    Reviewed-on: http://gerrit.openafs.org/5259
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 259eaa99155921c42888fce8c6c398252bd3b937
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 16 10:49:46 2011 -0400

    Windows: torture test updates
    
    roken'ize
    
    remove dead code
    
    Change-Id: Id556ded4b3340fac1d58b5407f82d394ab1d18b2
    Reviewed-on: http://gerrit.openafs.org/5290
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 361cf11db36db2fc94c7e4961061423fb13e4cf8
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Aug 15 20:20:31 2011 -0700

    Add NEWS entries for the 1.6.0 final release
    
    The date will be slightly off from when it will be officially announced,
    but it should be close enough.
    
    Change-Id: Icb678bd2da148f59546f5e3d5cfda0251e76bdca
    Reviewed-on: http://gerrit.openafs.org/5287
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit bec9c12859a22efadb657e7b3995af00fcf91b83
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 24 16:22:35 2011 -0700

    Prefer dblatex to docbook2pdf
    
    docbook2pdf, at least in version 0.6.14-1.1 in Debian, dies while
    attempting to build the Admin Guide with an error about TeX capacity
    exceeded.  dblatex seems to work reliably.  If both are installed,
    prefer dblatex to docbook2pdf.
    
    Change-Id: I7cf594c677cde84410bfefacf07cbbf398026ff3
    Reviewed-on: http://gerrit.openafs.org/5091
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit ad6e19331e4f3ec6566dc224f1e1c943a69c62bb
Author: Daria Phoebe Brashear <shadow@dementix.org>
Date:   Mon Aug 15 12:17:06 2011 -0400

    macos: fix race in afs_root
    
    same race on PutVCache in afs_root as we had on other platforms,
    for instance FreeBSD. use a local variable instead to avoid the race.
    additionally, make sure we end up with the root flagged VROOT.
    
    Change-Id: I45ac36f12565320576070fd1c6d1f99ac6db8a63
    Reviewed-on: http://gerrit.openafs.org/5278
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit b88c0482f445e11d82804fba08e42944b7253200
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Aug 15 10:25:27 2011 +0100

    rpm: Update CellServDB
    
    The commit (a5d66d05fa0308d505de8bde59442e29be9d04f8) which updated
    our in-tree copies of the CellServDB for the 14th August release
    failed to update the copy that's referenced from the rpm spec file.
    Update the filename used here so that rpms also get to have an
    up to date CellServDB
    
    Change-Id: I2906b0515a1c91f3ea6eb51ec3dcd161675e8060
    Reviewed-on: http://gerrit.openafs.org/5285
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 1a0b99e654831fe28794f8e0cec2ab94f07ec965
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 15 00:37:31 2011 -0400

    Windows: add assertions to cm_scache.c
    
    Change-Id: If9a47c3b1507b5b4aa9c271204ff496c5b0a88a0
    Reviewed-on: http://gerrit.openafs.org/5280
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c58ae34f72d25434cd59228806ca59a6ff39a903
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 15 00:34:00 2011 -0400

    Windows: cm_ShutdownSCache corrections
    
    Obtain cm_scache.dirlock, cm_scache.rw and cm_scacheLock
    in the correct order.
    
    Do not release cm_scache.rw when it is not held.
    
    Since the cm_scacheLock is being dropped, preserve the value
    of scp->allNextp prior to dropping the lock.
    
    Change-Id: I025a8d76f3f7b94ae00bfd4e000750a90d38b343
    Reviewed-on: http://gerrit.openafs.org/5279
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 020b415be8fa357cded6eb4c50454aaa5b0722bf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 15 00:23:57 2011 -0400

    Windows: Save Wix config at start if possible
    
    Save the current configuration at the start of the install
    process so the user can be presented with a dialog prior
    to installation asking whether the existing or saved
    configuration should be used or whether a new configuration
    should be created.
    
    Change-Id: I4a42ad597a7e1806bbae6d63bf1a2db365e6be8e
    Reviewed-on: http://gerrit.openafs.org/5281
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 73b91bf0c0a86e55d6879573aeadd99a137ebf3b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 14 21:41:47 2011 -0400

    Windows: More interlocked ops for cm_cell flags
    
    Change-Id: I9e5cae6152439af75a9baf85900117ca9b456f40
    Reviewed-on: http://gerrit.openafs.org/5274
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f75214282795b23c433b2512b00d24b3e6166b76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 14 21:41:19 2011 -0400

    Windows: Interlocked ops for cm_user flags
    
    Change-Id: I64932b0d15b439614b6bbba0ba875eacb1260832
    Reviewed-on: http://gerrit.openafs.org/5273
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a5d66d05fa0308d505de8bde59442e29be9d04f8
Author: GCO Public CellServDB <cellservdb@grand.central.org>
Date:   Sun Aug 14 18:43:08 2011 -0400

    CellServDB update 14 Aug 2011
    
    Change-Id: I2b18a59001c4a5fe041e977ee0321cfafb22fa91
    Reviewed-on: http://gerrit.openafs.org/5270
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b97383c1e68a0b94baa8d05b2ab2531f96e7b63c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 14 18:15:24 2011 -0400

    Windows: cm_FindServerByUuid correct lock acquisition
    
    Obtain cm_serverLock when 'locked' is FALSE instead
    of when TRUE.
    
    Change-Id: I427fa849ff34734a2dd11d06f42bc709bb70a74e
    Reviewed-on: http://gerrit.openafs.org/5268
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c20010850e2b43a0b9a6d74357ea6111dbf3409e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 14 00:14:10 2011 -0400

    Windows: prevent cm_server races
    
    Use interlocked operations to modified the flags field.
    
    Close a race in cm_NewServer() which can result in multiple
    cm_server objecs being created for the same addr/port/type
    tuple.
    
    Change-Id: Ia26e21e1f007875ce316d2ae45a1fbf6fed835f9
    Reviewed-on: http://gerrit.openafs.org/5266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 10d27341808be41b29fbcc09b8bd7523c3b7a541
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 13 18:51:02 2011 -0400

    libafs: don't call afs_PutDCache(NULL) in afs_GetDownD()
    
    It's possible for an eviction candidate to be omitted by the small
    for loop (around line 670), leaving its reference in victimDCs
    set to NULL.  In the big for loop that follows, don't call
    afs_PutDCache() when we hit one.
    
    Change-Id: Ib0891636a3479bf97cdeab823189e659cb261aa6
    Found-by: clang static analyzer with help from AFS_NONNULL
    Reviewed-on: http://gerrit.openafs.org/5260
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5c0e92a159f11366a88adab4700e3f909124a06a
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 13 19:01:26 2011 -0400

    libafs: don't free a null pointer in an unlikely error condition
    
    It is extremely unlikely that we will ever fail to allocate two
    bytes in SRXAFSCB_GetCellServDB() to hold the empty-string return
    value for the case where the specified cell can't be found.  But
    that would result in freeing a null pointer, so check for it.
    
    Change-Id: I47a296148e231b0ef20ecd18b8458b912f22a58c
    Found-by: clang static analyzer with the help of AFS_NONNULL
    Reviewed-on: http://gerrit.openafs.org/5261
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ee56107d4d168ef07968afeaa7f1c5b39f5c5b23
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 13 19:12:50 2011 -0400

    libafs: don't free the NULL we get from a failed allocation
    
    In extractPioctlToken(), if we fail to allocate space for
    token_opaque_val, don't immediately pass the null pointer
    to osi_Free on the error exit path.
    
    Change-Id: Ic95e178cfbc1b1bbcb18701c0bbd5221426342ee
    Found-by: clang static analyzer with help from AFS_NONNULL
    Reviewed-on: http://gerrit.openafs.org/5262
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 5b40c5f5294964fc09df2c8332ab63cd2d729264
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 13 14:35:53 2011 -0400

    Windows: Insert Server Reference List changes
    
    When inserting a new cm_serverRef_t object into a server list
    perform the following operations:
    
    1. take advantage of the fact that the cm_serverLock is held
       exclusively to purge the list of any deleted entries that
       could not be removed previously.
    
    2. check to ensure that the item that is being added does not
       already exist in the list.  If it does, discard it.
    
    Change-Id: Ibabfc3b2e1b716f2a0cc664a4667bc9219fde09c
    Reviewed-on: http://gerrit.openafs.org/5258
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 8f446c7463c9183d59a30343682e31ad9f85b307
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 12 19:02:48 2011 -0400

    Windows: Fix cm_serverRef ref counts
    
    Use Interlocked operations consistently
    
    Simplify cm_ServerInsertList().  It no longer increments the
    refCount on the serverRef object.  Instead it leaves the refCount
    as is.  Its the caller's responsibility to add a reference if
    required.
    
    Add reference counts and hold locks in places where the
    volume server list was used unprotected.
    
    Change-Id: Ie65cdca4461e84c675e8a29e22cef3e15679fda7
    Reviewed-on: http://gerrit.openafs.org/5248
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 578db3bbecf218e3ab80f4896b7cde4d3975daaa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 12 19:01:56 2011 -0400

    Windows: remove unused variables in fs.c
    
    Change-Id: Ie0f21b84266d77d0c92244d5c8a6958d9bfe7e71
    Reviewed-on: http://gerrit.openafs.org/5247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit 145a8490c761a0ebf7b3a1cc3017bbe8635f8014
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 12 16:54:03 2011 -0400

    aklog: attempt to warn about needed weak crypto switch for Lion
    
    Lion's Kerberos is rather unfortunate. deal with the multitude of
    missing functionalities by hardcoding this case here.
    
    Change-Id: I95f9136cecb476f70fe694847a518eabd2d1ef44
    Reviewed-on: http://gerrit.openafs.org/5240
    Tested-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit ef3ef1992115e6b61a7859fa2295726af0fb9318
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 12 18:25:24 2011 -0400

    redhat: update dkms config
    
    make the dkms config properly name the version. remove no-longer-needed
    disconnected option for configure
    
    FIXES 130170
    
    Change-Id: Id71d46381c8fbade3ea72c581911447fe6ade395
    Reviewed-on: http://gerrit.openafs.org/5246
    Reviewed-by: Derrick Brashear <shadow@dementix.org>
    Tested-by: Derrick Brashear <shadow@dementix.org>

commit bb25bdfcb059fc54a57fd4733ce3184e231ca88d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jul 16 22:59:12 2011 +0100

    dir: Protect against circular hash chains
    
    The dir package didn't protect against circular hash chains when
    performing directory lookups. A corrupt directory could therefore
    cause a client or a fileserver to go into an endless loop if that
    directory contained a loop in its hash chain pointers.
    
    Fix this by exiting the lookup if the hash chain has more elements
    than the total number of entries in a directory. This maximum number
    of entries is taken as being (number of entries per page) * (max
    number of pages), which is considerably more than the real maximum
    value.
    
    Change-Id: I9e281571f3b01bd8de346ee5418df38b2f5edaa1
    Reviewed-on: http://gerrit.openafs.org/5242
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit d1946ffe9be0031a2daf907f5e96cf0ee7f5e15e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jul 16 22:57:55 2011 +0100

    libafs/dir: Verify directory pathnames
    
    Provide a new routine, afs_dir_GetVerifiedBlob() which will ensure
    that the pathname contained within a directory blob is correctly
    terminated before returning it to the caller. For the purposes of this
    function, correct termination is defined as having a terminating
    \0 character within the same directory page as the blob itself.
    
    Change-Id: I4b3bbb95cb49645a8ac52e6061f9e24f89924831
    Reviewed-on: http://gerrit.openafs.org/5241
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementix.org>

commit 6f725c441529ccd1616adeda19c7c0b43dcfd9cb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 12 16:30:26 2011 -0400

    Windows: ChangeLog for 1.6.0 (final)
    
    Change-Id: Idd457c7ea4617f9d698d07359f750df25bab4c7c
    Reviewed-on: http://gerrit.openafs.org/5239
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e3148c6bfad25fdcb86b7248bd6b05432502d4ce
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Aug 12 00:39:54 2011 -0400

    FBSD: coalesce three assignments to the same variable
    
    Change-Id: Iadc9652c03a2d3453addab759c9f8f0048929e2b
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5233
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cbdca2996af06c57cb3ba953c1efb9e316d18f27
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 12 08:25:30 2011 -0400

    volser: log host address of caller in extra logging
    
    When the volserver is running with extra logging (-log),
    log the address of the host running vos in addition
    to the user name.
    
    Change-Id: I040be71a84dede255e43c30dd7d8ae56f767f721
    Reviewed-on: http://gerrit.openafs.org/5234
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a3b4cd3c7325c7878ec7b47008f0eec8bfcb1175
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 11 11:11:01 2011 -0400

    viced: avoid aborting on host table exhaustion
    
    if we exhaust the host table, instead of aborting, return VBUSY at
    the client, to defer until hopefully hosts are freed.
    
    Change-Id: Ie8b026992bdde1b46117e6f592f9cf0ea4c85a7e
    Reviewed-on: http://gerrit.openafs.org/5181
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8a25d1a1de4a27c87c193ea9588424d56ceed413
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 10 23:20:57 2011 -0400

    rx: make queue macros easier to follow
    
    Nothing depends on the queue-manipulation macros having the expression
    nature, so make them proper statements and unpack the comma-expressions
    to make it easier to read and understand how they work.  This should
    not change the object code.
    
    Change-Id: Icf14537f902768429aa27f67f8acfe39ac996214
    Reviewed-on: http://gerrit.openafs.org/5200
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d18ff03b59cf26423795f735decdcaf13097c446
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 11 10:43:16 2011 -0400

    macos: axe static vfs_fsentry
    
    for whatever reason, lion 32 bit doesn't like it when this is static.
    fine, so it's not static now.
    
    Change-Id: Ia9fe6d96615c7fa816f4a88b794faa6ee7e1d010
    Reviewed-on: http://gerrit.openafs.org/5206
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7ab34058120ebcc218e4061ea3ac3c8eeca6d83e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 16:40:35 2011 -0400

    Windows: Interlocked operations for cm_buf
    
    cm_buf flags and qFlags
    
    Separate flags and qFlags in the cm_buf structure to improve
    performance.
    
    Change-Id: I3d9504827cb74f8770e344cea1c06a6e786785b3
    Reviewed-on: http://gerrit.openafs.org/5197
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4876a416d2e59e87f9da8834db1ea4770f2c618c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 11:42:59 2011 -0400

    Windows: Interlocked for cm_buf cmFlags
    
    Change-Id: I7ed2847afdcbc94c9023c6686d3c81f7863d7f61
    Reviewed-on: http://gerrit.openafs.org/5196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8661c9b6710322195b00de6ae03b3172712104aa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 12:02:20 2011 -0400

    Windows: fix tptserver director creation
    
    Change-Id: Ifc2433068e1811633f4ac80d3b4a2a9d16226f16
    Reviewed-on: http://gerrit.openafs.org/5195
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cbd075a36000d0b54b64eb7d9736587b27a08e9e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 11:41:21 2011 -0400

    Windows: Interlocked ops for cm_volume
    
    Use Interlocked operations for protection of cm_volume flags and
    qFlags as well as cm_vol_state flags.
    
    Change-Id: I1a062a5c49d793162b83b9f4f3c32185ae596369
    Reviewed-on: http://gerrit.openafs.org/5194
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 75297d4439bb30ddd9968805aecf2cc2812bfdf0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 11:40:35 2011 -0400

    Windows: Interlocked ops for cm_scache
    
    Use Interlocked operations for cm_scache flags and mask field
    changes.
    
    Change-Id: Ice87dc5de395b54e7e30e362d2e72caa9062120e
    Reviewed-on: http://gerrit.openafs.org/5193
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit deb8c893c2bd78b2871ccf1ff733539534a2890e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 10 11:37:51 2011 -0400

    Windows: Interlocked ops for cm_cell
    
    Use Interlocked operations for cm_cell flag updates.
    
    Change-Id: I45c0a39ea935db2c231a30ecb02963f35b6d734c
    Reviewed-on: http://gerrit.openafs.org/5192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ec1295d11b5e75fa942fe8c3a0f16309c5486ed4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 9 17:25:50 2011 -0400

    Windows: implement InterlockedAnd/Or for X86 Debug
    
    Change-Id: I56b3f9534daf0cd152eeea293b1a357d062b9166
    Reviewed-on: http://gerrit.openafs.org/5191
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3993b215afe8b5b44baee4f60d1e75d419a90448
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 9 17:25:22 2011 -0400

    Windows: correct prototype for ChangeList fs_acl.h
    
    Change-Id: I63e3b37bd4348da0789dfa78599e513753f34a62
    Reviewed-on: http://gerrit.openafs.org/5190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6691ff6daceb7960dc925983a2b9129877e67c9a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 7 14:11:17 2011 -0400

    Windows: make osi_Log macro safe for if..else
    
    wrap the osi_Log macro's internal if statement with
    a do {...} while(0) block in order to ensure that
    it is safe for use in if..else controls without bracing.
    
    Change-Id: Ica7bb95dfb1c0285a925771a9b659f85ec0e075f
    Reviewed-on: http://gerrit.openafs.org/5189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 833010acac069c97f59c527e23eaa4b71ff18981
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 10 21:21:40 2011 -0400

    stds.h: __nonnull__ has four underscores
    
    Compile-testing AFS_NONNULL doesn't prove anything until something
    actually uses it.  Fix 342be3535499c5ecd7d34b4edd43a4655559cb28
    to use the spelling that the compilers actually support.
    
    Change-Id: I4a6b965d459a90a1832f2e813e886c15d3477962
    Reviewed-on: http://gerrit.openafs.org/5198
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e8607d8d250fb41fcf4e60a09917f971c4d6104a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 10 09:39:23 2011 -0400

    macos: reset next vcache pointer after reacquiring xvcache
    
    dropping the xvcache lock means that things can change out from under
    us. in case they do, reset the next vcache pointer before looping
    
    Change-Id: I71be39a2f2986804257c50b1d5b7d557b58a3573
    Reviewed-on: http://gerrit.openafs.org/5184
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d0cd1393ff5c69cba2f14fc76aa8f7ca588ccc3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Aug 10 00:18:28 2011 -0400

    FBSD: catch up with the disappearance of VOP_GETVOBJECT
    
    The vnode operation VOP_GETVOBJECT disappeared in FreeBSD 6.0, an
    embarrassingly long time ago.  Six years ago, a kluge was added
    to emulate its behavior, but it did not correctly emulate the
    return value of the old VOP implementation.  As a result,
    osi_VM_StoreAllSegments() could never actually do anything.  Since we
    don't support FreeBSD before 8.0, remove all references to VOP_GETVOBJECT
    and examine vp->v_object directly instead.
    
    This has the result that osi_VM_StoreAllSegments() will actually do
    something now, which may not be desirable.  (Previously, if somehow
    the vnode had no associated VM object, it would crash, and otherwise
    it would do nothing at all.)
    
    Change-Id: Ifdad92ae8e393e85c3f97907af7119ce342b25dd
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 342be3535499c5ecd7d34b4edd43a4655559cb28
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Tue Aug 9 23:50:09 2011 -0400

    stds.h: introduce AFS_NONNULL
    
    AFS_NONNULL wraps the GCC/Clang function attribute __nonnull__, which
    tells the compiler and the static analyzer that the pointer arguments
    to a function (or specific ones, if provided) cannot be null.  Note
    that GCC has only limited support for warning about violations of these
    constraints.
    
    Usage examples:
    int myfunc(struct foo *a, bar_t, struct baz *c) AFS_NONNULL((1));
    
    tells the compiler that the first argument cannot be null (but the
    third one can).
    
    int myfunc2(struct foo *a, bar_t, struct baz *c) AFS_NONNULL();
    
    tells the compiler that both pointer arguments cannot be null.
    
    Change-Id: Id81f0c382a6a3bdd9bf9c716eb4091b433129d69
    Suggested-by: Simon Wilkinson, comment on change Ic8751737 (#5180)
    Reviewed-on: http://gerrit.openafs.org/5182
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2cd9d0536b173bf8c983aecd8599de0a82610151
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 10 10:23:40 2011 -0500

    volinfo: Include nfs.h
    
    nfs.h is required for various types used in vol-info.c. Include it. On
    namei this header gets pulled in indirectly via other means, but on
    inode it does not (and we shouldn't be relying on such anyway).
    
    Change-Id: If917f8c3b0382572d2146450116399498257ffc7
    Reviewed-on: http://gerrit.openafs.org/5185
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a868209c4a9009893044ad33870a9e120085f5ce
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jul 31 15:14:00 2011 +0100

    aklog: Add -config option
    
    Add the -config option to aklog so that a different configuration
    directory location can be specified on the command line for testing
    purposes.
    
    Change-Id: Ic5f8d778304a43c823e53bf1855a3e6bf426f80c
    Reviewed-on: http://gerrit.openafs.org/5170
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b60082c1f31f2aa02107e509f161e4e79ea5daa
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 27 11:30:51 2011 +0100

    pts: Add the -config option
    
    Add the -config option to all pts commands, so that the user can set
    the location of the configuration directory to use. This is primarily
    provided for testing purposes, to make it simpler to build fake AFS
    cells with configuration in non-standard locations.
    
    Change-Id: I90c9c95cbf99b3853bfbe93dab1ab71c3ae7e228
    Reviewed-on: http://gerrit.openafs.org/5103
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 784a410d0f1d6b5649c5b4943eb1b945ef7d70e8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 8 16:08:25 2011 -0400

    venus depends on libafsauthent
    
    Add an explicit dependency on libafsauthent for src/venus, since it
    is needed to build afsio.  This can cause parallel builds to fail.
    
    Change-Id: Ifda59983cda0711e9e1568d5a6be25e6ea934eee
    Reviewed-on: http://gerrit.openafs.org/5171
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d28188382b40055acf7096ef89d5507194a3b8b6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 8 17:08:34 2011 -0400

    pam: fix unused but set warnings
    
    Fix a few cases of set but unused variables.
    
    Change-Id: I0a3e0906dbc708e2449121f3de1726d7055efc27
    Reviewed-on: http://gerrit.openafs.org/5173
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4b4a52b31406d122ce3e542d3a9d9941dd803576
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Aug 8 16:51:53 2011 -0400

    volser: flag unused variable
    
    nearInode can be unused, flag it as such to prevent warnings and
    keep enable_checking happy.
    
    Change-Id: Ic79d101380b79c3c3d90c4c4f949abe7c3f476ff
    Reviewed-on: http://gerrit.openafs.org/5172
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bf4b2fd3e26dcf2a0db704815e05d77a558d38c6
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 23:26:38 2011 -0400

    bos: don't dereference a null pointer when printing an error message
    
    The parameter we are interested in is at MRAFS_OFFSET + 17, not
    MRAFS_OFFSET + 13.
    
    Change-Id: Ib856ff40c5949cde95a2b277cd44253b87c3c2a4
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5178
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7fe4125fe3435092b75ed29b884d8d3c2d1a2cad
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 23:19:22 2011 -0400

    dir/vol: Die() really does
    
    Die() is an abort routine shared by the dir and vol modules.  Move its
    prototype into dir.h to ensure that its declaration matches its three
    different definitions, and add an AFS_NORETURN annotation so that the
    static analyzer knows that it aborts.
    
    Change-Id: If01f35fe796708f6187b9767497a32458888ec1c
    Reviewed-on: http://gerrit.openafs.org/5177
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9b0f53b2bf61e7532d95391ae553b407a601e814
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 22:49:24 2011 -0400

    vos: eliminate unnecessary global variables
    
    tserver is used by three different functions but not shared by them;
    make it private to each one to improve static analysis.  tconn is
    not used by anything, so just delete it.
    
    Change-Id: Ic9fc4add66dbbb02170846154e44d261dcc6b061
    Reviewed-on: http://gerrit.openafs.org/5176
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 292b375e392c6d3443d486e654a88bc4b4502cb2
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 21:41:57 2011 -0400

    volser: let it be known that Abort() really aborts
    
    The compiler and static checkers can do a better job if they know that
    certain functions never return.  Tell it that common.c:Abort() is such
    a function.  While we're at it, let volser_internal.h provide the
    declarations for this function (Log() was already there).  This makes
    volser parallel to the way the same functions are declared in vol.
    
    Change-Id: I8b684bf96866edfc9edaae126d789d245a8d2356
    Reviewed-on: http://gerrit.openafs.org/5175
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae6a3929489035ddcd17785abab8900cebd22eb3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Aug 8 21:18:15 2011 -0400

    kdb: don't dereference a null pointer on corrupt database
    
    When iterating through the database, kdb would dereference a
    null pointer if it encountered an error retrieving the value
    or if the value was not the right length, in code that was clearly
    cut-and-pasted from the other branch of an "if" statement where a
    specific entry was requested on the command line.  Print the name
    of the entry with the problem as was apparently intended.
    
    Change-Id: Idc2d3c9b6049e5d3b0eb302353a68bcfdad6a90d
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 90ea68979c6740583747d0af500ed4a034eba651
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Aug 7 00:35:36 2011 -0400

    afsd: look in the right place for -splitcache argument
    
    The argument to -splitcache is in as->parms[34], not [30].
    
    Change-Id: I4d7be16a1ad99a03025c80f9782c4f678da868ae
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5169
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8776f194173bf688da9982845303c98da458fa3f
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Aug 7 00:09:33 2011 -0400

    afs_pioctl: don't use cell uninitialized in PGetTokens2
    
    An unlikely error condition could lead to the variable cell in
    PGetTokens2 being passed uninitialized to afs_PutCell.  Initialize
    it to NULL beforehand to avoid this.
    
    Change-Id: Ia8ded86df9d8af2f08c02d39749252d98a6c9ffe
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5168
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 43834bff1a2b1af348ff69d538a884bf1070b90c
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 6 23:55:50 2011 -0400

    butc: avoid freeing uninitialized pointer in writeDbDump()
    
    In error conditions, charList could be freed before it is initialized.
    Move the initialization up to before the error checks.
    
    Change-Id: I678f40552590e238f494507f7410233cdbb949ac
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5167
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1fc4c9dbe2b1ba11929a5e5106afda5969e6fa7c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 3 13:05:27 2011 -0400

    pam: stop building it wrong
    
    in the new lwp/pthread/shared universe, well, we have the
    opportunity to be correct. and we chose to do it entirely wrong.
    we're building a shared object. use the right rules. we need
    to add some CFLAGS for PAM. do that using MODULE_CFLAGS instead
    of just building a whole new CCRULE
    
    Change-Id: Ie3e3c5ba902e5364cfa99d4dbd1b5b7fd4451127
    Reviewed-on: http://gerrit.openafs.org/5153
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d84c065fbf893d753bcd8da1211be536b07e29d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 3 13:56:08 2011 -0400

    pam: clean up unused variables and prototyping
    
    don't define variables on platforms we won't use them on
    do prototype functions we call. basically, we compile with warnings
    enabled now, so, fix everything so we *can*.
    
    Change-Id: I749f27c227ac70c58ccc68f1548f8274f10e3587
    Reviewed-on: http://gerrit.openafs.org/5154
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 496fb87372555f6acddd4fd88b03c94c85f48511
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 1 16:38:46 2011 -0400

    rx: avoid nat ping until connection is attached
    
    drop nat pings on connections we haven't talked on yet
    
    Change-Id: Ie333d50a090f1f086c958440cc37849413442dea
    Reviewed-on: http://gerrit.openafs.org/5130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c92f04af6094ce04b1541a1b23b254d3c1421290
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 6 23:49:10 2011 -0400

    butc: avoid testing stack garbage; remove dead initializer
    
    "code" is unconditionally set early in saveDbToTape() so there's
    no need to initialize it.  On the other hand, dumpEntry.id is used
    before dumpEntry is initialized, so set it to what appears to be
    the expected value before any non-local exits could cause it to be
    inspected.
    
    Change-Id: I133f8e84e46d0faedf3c9683330d92158bcd8935
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5166
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 34cc26a1b11bc8cf8f91996a019ac4b7d21dccd8
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 6 23:36:14 2011 -0400

    butc: initialize startTime before it is used
    
    In some unusual error situations, startTime may be used uninitialized.
    Move the initialization up above the first such error condition.
    (None of the intervening code can take measurably long to execute
    so this should not make any difference in the non-error case.)
    
    Change-Id: I25bf7a5e149540593febec79f9f5111434807514
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5165
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 619b420903c99e48618db0d2f12085111573f279
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sat Aug 6 23:15:14 2011 -0400

    vos: don't free stack garbage on error
    
    If wantExtendedInfo is true, then pntr is used uninitialized.
    In the other case, UV_ListVolumes will have set it to NULL
    before doing anything (even if it returns an error), so this
    free() is dead anyway.
    
    Change-Id: I6979a69d33ecbbdb906eb9a075bbf13180e36646
    Found-by: clang static analyzer
    Reviewed-on: http://gerrit.openafs.org/5164
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 55beacdc385424770c78cf055e8fd426075506f1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Aug 3 19:08:20 2011 +0100

    libafsauthent: Add volser and vldb
    
    Add the volser and vldb families of functions to libafsauthent. This
    allows applications such as per-AFS which are building pthreaded clients
    to use a single library, rather than trying to mix LWP and pthreaded
    code within the same process.
    
    Change-Id: I3682876e91ca03311a798ac71e3a7a28f3205d42
    Reviewed-on: http://gerrit.openafs.org/5157
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 400c72561e7622716a46a38affd2f5a7842519eb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Aug 3 18:45:01 2011 +0100

    volser doesn't depend on tviced, but on vlserver
    
    Nothing within the volser/ directory depends on tviced, so remove the
    unecessary dependency. Add an explicit dependency on vlserver, so that
    libvldb is available to us.
    
    This is required to get rid of some potential circular loops when we
    start including volser objects in libafsauthent
    
    Change-Id: Ibb6b8fb87dfe6e9eb4fa6d1dde195fd5261a8959
    Reviewed-on: http://gerrit.openafs.org/5156
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0246f6e9683fb9e51d0fb0633049ff0125468b2b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 4 22:50:03 2011 -0400

    Windows: symlink make should translate \\afs target
    
    If the target is a UNC path beginning with the AFS netbios name,
    convert the path to use Unix /afs mountpoint notation.
    
    Change-Id: I01e01b70938f8eb383fd3e7458a140d9e89dd237
    Reviewed-on: http://gerrit.openafs.org/5162
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c5126838590eaf15e0df569c31b2a1bc12b3e0af
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 4 17:25:01 2011 -0400

    Windows: adjust scache LRU postion upon deletion
    
    If the object represented by a scache object is deleted,
    update the LRU position of the scache object to make it
    the first object in the LRU queue to be recycled.  This
    preserves the cached objects for those that might prove
    useful in the future.
    
    Change-Id: I0e862b1270e10c31f20ecde06d208f4b8c405c3a
    Reviewed-on: http://gerrit.openafs.org/5161
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e42d6fd18097d0c8d2e4b455d3c540743d7dbda
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 4 17:21:59 2011 -0400

    Windows: fix condition calls to osi_Log
    
    The osi_Log macro is if(foo) osi_AddLog()
    
    If osi_Log macros will be conditionally called, the conditonal
    needs to have bracing.
    
    Change-Id: I59de78a5b7b35cc822a648a51cd63a14037c1ca5
    Reviewed-on: http://gerrit.openafs.org/5160
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 17e50a4b98de057a699681261ba126a5ac12a0cc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 4 17:15:16 2011 -0400

    Windows: LockOrderValidation memory usage optimization
    
    Instead of using malloc() and free() to allocation lock reference
    structures, cache allocated objects in a free list.  This reduces
    memory fragmentation.
    
    Change-Id: Idffe82282c77202d0fc3a9be9123c3b7384ecd63
    Reviewed-on: http://gerrit.openafs.org/5159
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2bce3b50ef4fd9b9bdd03daf6e8332710f541922
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 4 17:08:45 2011 -0400

    Windows: after dir enum adjust dir scache LRU
    
    During a directory enumeration the directory scache object
    is reference counted so it can't be recycled.  However, if
    there are more directory entries than the maximum number
    of cached scache objects the directory scache object will
    end up being the next object to be recycled after the refcount
    is dropped.  Since the directory is clearly a hot object, before
    dropping the reference, adjust the scache LRU position so that
    it is the last object to be recycled.
    
    Fix the variable name for the directory scache to be 'dscp'
    for consistency.
    
    Change-Id: Ia2089fb9b47dab77abc0911ab009e5aed75ed848
    Reviewed-on: http://gerrit.openafs.org/5158
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4111ee2374d030e1f3bb1fa3530f2877f2576d07
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 2 18:24:56 2011 -0400

    Windows: use %p to print cm_scache_t pointers
    
    Change-Id: Iee13204820b3adc4359e42d46d9f9050ab07bcb2
    Reviewed-on: http://gerrit.openafs.org/5152
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 88725587e97d717086801b2522e4625e5fdeb3a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Aug 3 19:07:14 2011 +0100

    tbudb depends on tubik ...
    
    ... so say so in the Makefile
    
    Change-Id: I84f0ac3c06953eff98e0194ad375c32b3656af58
    Reviewed-on: http://gerrit.openafs.org/5155
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fec4e6bc595014f34c38707c0015c1f76edd770e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 1 21:40:25 2011 -0400

    Windows: add missing dafs man pages to wix installer
    
    dafileserver.html
    dasalvager.html
    davolserver.html
    
    Change-Id: I87a70b2a30701f184f7a70fbcf6ee50a4bb1d973
    Reviewed-on: http://gerrit.openafs.org/5149
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f631a11f5e9ab50e62b3aaebbff9ef200ac799fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 1 11:05:51 2011 -0400

    Windows: conditionalize mappings of error values
    
    Visual Studio 10 adds a large number of additional POSIX C99
    error values to errno.h.  Wrap each mapping with #ifndef to ensure
    that we do not redefine the C runtime errno.h definition.
    
    Change-Id: Ia6929d9ff84358059efcc4a53dcc91ee2612fc5a
    Reviewed-on: http://gerrit.openafs.org/5129
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 71e64b6f21817872676e74a8c67c0f0bcfb23391
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 1 11:00:55 2011 -0400

    Windows: unified afs errors must use nt mapping
    
    On Windows, error.h does not provide a complete list of POSIX
    C99 error values.  OpenAFS fills in the gaps with a private
    error mapping table afs/errmap_nt.h (src/util/errmap_nt.h).
    If errmap_nt.h is not included prior to processing unified_afs.h,
    values such as ELOOP will be mapped to EIO instead of the unique
    value defined by errmap_nt.h.
    
    Change-Id: I3d25fafb15f1b0060ad1047178cbadd5ce22edb2
    Reviewed-on: http://gerrit.openafs.org/5128
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d54c9b05d003bf861fd51e904b631e5425a079d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 1 10:58:28 2011 -0400

    vos: spell "vldb" correctly
    
    i'm not even going to ask.
    
    Change-Id: I5f59177ef58d9728a516176a14e0504130f7c584
    Reviewed-on: http://gerrit.openafs.org/5125
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5ebef72c0299560716f3bc8d59122aedd61cc399
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 1 09:58:27 2011 -0400

    macos: fix vnode finalization
    
    erroneously pushed a bad version of this. fix it now.
    
    Change-Id: Ic5db50473a97bd7ffb3ba34ac052da2ae8f2875b
    Reviewed-on: http://gerrit.openafs.org/5124
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b621a2986099488426a026818532a9600db9aeba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 29 16:44:11 2011 -0500

    SOLARIS: Do not release NULL root vp on unmount
    
    When we unmount, and afs_globalVp is NULL (e.g. because root.afs was
    unavailable when the client was started), we will panic the machine if
    we try to release it. So, if afs_globalVp is NULL when we hit our
    unmount handler, don't touch it.
    
    Reported by Andy Cobaugh.
    
    Change-Id: I4e5869237e24da320afc2b7edaf8edca0ab3e4e9
    Reviewed-on: http://gerrit.openafs.org/5117
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6b83ba621b520174dc4679c220888619dc0b44a0
Author: Will Maier <wcmaier@hep.wisc.edu>
Date:   Sun Jul 31 14:24:12 2011 +0100

    RedHat: Return status values from client init
    
    The init script provided with OpenAFS always returns 0 when the status
    subcommand is called, even if the service is not running.
    
    For example:
    
    $ sudo service afs status; echo $?
    afsd is stopped
    0
    
    This change makes sure the init script exits with the value returned
    by the status function from /etc/init.d/functions. With this patch,
    the afs init script behaves as expected when used, for example, in a
    Chef service resource:
    
    $ sudo service afs status; echo $?
    afsd is stopped
    3
    
    Change-Id: If3d317fc406746f357e29e0d8d82c7ccf3c192d7
    Reviewed-on: http://gerrit.openafs.org/5123
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit afc3ded56795d30e4e0f38d11f8302568943c49b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 29 18:09:53 2011 -0400

    Windows: Do not execute tasks on deleted files
    
    If a cm_BkgDaemon thread finds a queued request whose cm_scache_t
    has the CM_SCACHEFLAG_DELETED flag set, do not execute the request
    and fail it immediately with CM_ERROR_BADFD.  Any attempt to execute
    the request will fail with VNOVNODE from the file server.
    
    Change-Id: Ib74300568ac083e39506b0d106a5984e8fe5e464
    Reviewed-on: http://gerrit.openafs.org/5120
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7e3615208d9e1b03d8eba4fb802744b2b81f8868
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 7 17:51:58 2011 -0400

    Windows: cm_BkgDaemon should not do cm_SyncOp's job
    
    cm_SyncOp is designed to synchronize operations among multiple
    threads.  The background daemon threads should not filter requests
    based upon cm_SyncOp states.  Doing so is racy and does not produce
    better performance.
    
    Change-Id: Ifeafd55da6e02807ed4cc3c3f2b6f1de4df2a87f
    Reviewed-on: http://gerrit.openafs.org/5119
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fa11f71f040b2e6856047c53fdd902109e5c6e52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 29 18:07:42 2011 -0400

    Windows: Do not release locks on deleted files
    
    If the cm_scache_t flags include CM_SCACHEFLAG_DELETED, do not
    bother releasing an outstanding file lock to the file server.
    The lock went away when the file was deleted.  Any attempt to
    release will fail with VNOVNODE which is translated locally into
    CM_ERROR_BADFD.
    
    If a RXAFS_ReleaseLock RPC fails with VNOVNODE, treat it as
    success.
    
    Change-Id: I15860920a224bd032256e08c9983fa31f7f1c9ee
    Reviewed-on: http://gerrit.openafs.org/5118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 357e9f928fa0abb73ab3bb2e3b8e8fa17d0f9065
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 28 15:07:32 2011 -0400

    man: more changes for man.3 pod files
    
    generate-html requires a HEADER description for pod3
    
    The Windows makefile needs to process pod.in files.
    
    Change-Id: I5ac964cc8c1af73510d17b3a31bf1a9a5df3a58f
    Reviewed-on: http://gerrit.openafs.org/5116
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4138a778fe821493c726826ffc4715f5f46222d9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 28 15:05:28 2011 -0400

    Windows: permit perl command to be explicitly set
    
    Add PERL variable to the build system.  If not specified
    externally the variable will be set to 'perl'.  However,
    ActiveState Perl should be used and not Cygwin Perl.  The build
    environment should indicate that by specifying a PERL setting.
    
    SET PERL=c:\perl64\bin\perl.exe
    
    or similar.
    
    Change-Id: Iaf14a82134cc2dcf3c23b1e5a0ed65606e2487bb
    Reviewed-on: http://gerrit.openafs.org/5115
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4a24a59d52266fcbbf92041ce3a74a455e84a25c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 28 15:02:14 2011 -0400

    man: add missing pod files to Windows makefile
    
    Several of the demand attach pod files were not being processed
    on Windows.
    
    Change-Id: If211f80564115bdc184181226aa0750ba1989a55
    Reviewed-on: http://gerrit.openafs.org/5114
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0b6247c27fcc0b8a2f307ccc545eea777a07f999
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jul 28 14:59:05 2011 -0400

    merge-pod changes for cygwin and MSWin32 perl
    
    On Windows, the git repository is checked out as CR-LF.
    Tell perl to open the pod file with cr-lf as the end of line.
    
    On Windows, the input file names are of the form podX\foo.pod.in.
    Cygwin perl cannot parse the directory for the file name unless
    the path separator is converted from \ to /.
    
    Change-Id: I7139bd2138573e938ea3e8386685f3b69e131c4d
    Reviewed-on: http://gerrit.openafs.org/5113
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b61bd99bce68055dc0dd53b82d1d5318c25d9051
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 26 17:37:37 2011 -0400

    Windows: add debugging to afskfw
    
    More debugging output added when a debugger is present.
    
    Change-Id: I22698ebaf3c950a5b9c9b7d6746af45603b5acf9
    Reviewed-on: http://gerrit.openafs.org/5112
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7c59ec8f816120c738b1da83f7db9349d912f573
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 26 17:36:25 2011 -0400

    Windows: afskfw remove TRUE conditional
    
    Simply the code by removing an if(1) conditional.
    
    Change-Id: I2cb3f861b99686a7d14aa7f567adc5a083a08a5b
    Reviewed-on: http://gerrit.openafs.org/5111
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 214e9a6052b1dab2a0c4383632640936c3e518c6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 26 17:34:52 2011 -0400

    Windows: KFW_AFS_get_cred userrealm
    
    The userrealm string in KFW_AFS_get_cred() should not include
    the '@' symbol from the user principal.  Including the '@' produces
    an invalid realm name.
    
    Change-Id: I5887ffabce93666bdbe231eaac0821573162a6ba
    Reviewed-on: http://gerrit.openafs.org/5110
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a063ecdc78cf888df2459b32b0082d4767948563
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 26 17:32:28 2011 -0400

    Windows: afslogon start service if not started
    
    If the service is configured for auto start but has yet
    to start, kick it off just in case.
    
    Change-Id: I668961b17472a78ebac6744bf131dcb850d4e4a2
    Reviewed-on: http://gerrit.openafs.org/5109
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 549737f1e7d52256f053c86116b56c3211b084b6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 26 17:03:56 2011 -0400

    Windows: improve afskfw error message output
    
    Add KTC and PT error messages to those that can be
    translated within afskfw.lib.  This improves the error
    logging for afslogon.dll, afscreds.exe, and afssrvadm.exe
    
    Change-Id: I62aa5f1249d4d1f2d64ed068be47a5832d97f85c
    Reviewed-on: http://gerrit.openafs.org/5108
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit be152a00a7e4043592094be30f4a811c67a4ac32
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 22 23:38:36 2011 -0400

    volinfo: clean up headers
    
    Remove unneeded includes.
    
    Change-Id: I68514d47b1ddd4ea1d79c919635f87f6670e767f
    Reviewed-on: http://gerrit.openafs.org/5098
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 530b5ecac51cc7ce61ccddd50868c632c4a47298
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 20 16:50:52 2011 -0500

    libafs: Rate-limit hard-mount waiting messages
    
    Limit how often we log "hard-mount waiting for XXX" messages. Without
    this, it is possible for a client with hard-mounts enabled to spam the
    kernel log rather excessively (in extreme cases this can even panic
    the machine on at least some Linux).
    
    To keep things simple, just log approximately one message per volume
    per hard-mount interval.
    
    Change-Id: Ie82f68c5eae76519fcf1491164133c1955ed9c08
    Reviewed-on: http://gerrit.openafs.org/5060
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0251eb6b377a7ce6a858398f95bd724c3477ee43
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:56:21 2011 +0100

    util: Don't use FT_GetTimeOfDay for MRAFS logs
    
    FT_GetTimeOfDay creates an LWP dependency. For the purpose that we're
    using it in serverLog.c, gettimeofday performs identically. So, just
    use gettimeofday and reduce our dependencies.
    
    Change-Id: I36887d725c7e93386c80c61b3b33a7cda2bfe738
    Reviewed-on: http://gerrit.openafs.org/5085
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 192ba0deae276e5bbea2580da2019a4d743daab3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Sun Jul 17 21:57:20 2011 -0400

    pthreaded servers: set thread names
    
    In the startup function for each thread, set a thread name.  This
    can safely be done unconditionally as LWP builds turn the call into
    a no-op.  In general, the thread name parallels the name passed to
    LWP_CreateProcess, but for Rx server threads, it additionally includes
    the thread ID so that these threads can easily be distinguished.  (I'm
    not sure yet whether doing so will prove to be useful or counterproductive.)
    
    Change-Id: I30e012eebef4c7856084fa8b8eb1d88d9fcdf2c4
    Reviewed-on: http://gerrit.openafs.org/5041
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e453f49bd4d501210e4d1696cb07158c4b887334
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 25 11:12:37 2011 -0500

    libafs: Add afs_conn refCount imbalance safeguard
    
    If someone is putting back too many refs, we can detect so very
    easily. If we see that such a thing is happening, give a warning and
    bail out, instead of risking a panic or memory corruption.
    
    Change-Id: I36c968f9cd7cab3f569d3f6860f41678f026fba8
    Reviewed-on: http://gerrit.openafs.org/5094
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 04e4126264c083a3a5f3d86c4de2f44ac1fe8cb2
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Jul 28 00:39:52 2011 -0400

    FBSD: complete the build fix for 8.1 libafs
    
    Strangely enough, nosys() also needs a cast to sy_call_t *.
    
    Change-Id: I7fee2278c228da3ddb2c3ccc9758681cd0abc01d
    Reviewed-on: http://gerrit.openafs.org/5105
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d6f6e00439ba04f7d93c701cf85e921eab2565e
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Jul 28 01:44:25 2011 -0400

    configure: provide some necessary prerequisites in header checks
    
    <netinet/in.h> is a prerequisite for <resolv.h> and <netinet/if_ether.h>.
    <sys/socket.h> is a prerequisite for <net/if.h>.
    
    Change-Id: I2c974ad863c6ff7eedb3702159399118af8de074
    Reviewed-on: http://gerrit.openafs.org/5107
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 74e8bec7bec8b754498d9006ee6e7db3d105c0d7
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Thu Jul 28 01:04:59 2011 -0400

    configure: spell the "=" operator to test(1) correctly
    
    Equality in the test(1) utility is represented by "=", not "==".
    Some, but not all, versions of test accept the latter as an extension.
    
    Change-Id: I25380f77e1c621965e0610318c9793874154cf15
    Reviewed-on: http://gerrit.openafs.org/5106
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9e29a20df7cca05472825f57ed553780ac901520
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Jul 25 00:50:54 2011 -0400

    libuafs: don't use a GNU-only feature in a common makefile
    
    $(shell ...) is a GNU Make proprietary feature and shouldn't be used
    OS-independent makefiles.  There is no need to use it here; command
    substitution in the shell is good enough.
    
    Change-Id: I511108dab0770e772005b3f4a851713d1ee5a83e
    Reviewed-on: http://gerrit.openafs.org/5093
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f8ff2591f73401e6d9b6def7630f428569e2f3a6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 26 00:52:18 2011 -0400

    macos: don't attempt finalize fixup on root vnode
    
    because of how the root fid is created we can end up being dumb.
    turns out we never want to bypass doing the full pass for root anyway
    so just force fixup to not happen.
    
    Change-Id: I2b6d8d5cc4824f0f2a9473a2e810410579e3ad48
    Reviewed-on: http://gerrit.openafs.org/5095
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ef28bc08c18e750f6100535665d5258a317a0a2b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 22 16:09:52 2011 -0500

    libafs: Avoid duplicate afs_Analyze in bulk stat
    
    In afs_DoBulkStat, we can call afs_Analyze multiple times for the same
    set of connection objects. Since afs_Analyze puts its reference to the
    given afs_conn and rx_connection structures, calling it more than once
    can cause the reference counts on those objects to be lower than they
    should be.
    
    Instead of making another afs_Analyze call, just alter the error code
    inside the normal do/while afs_Analyze loop, so the 'loop' afs_Analyze
    call gets the appropriate error code from the first bulk stat'd entry.
    
    Change-Id: Id6396f8e9d4757d54825d4915458bf8b5153984f
    Reviewed-on: http://gerrit.openafs.org/5086
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 461603e474becbe56f6b42f3eb4b0aa44213dd43
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 26 21:37:42 2011 -0400

    vlserver: Use libcmd for command line parsing
    
    Modify the vlserver so that it uses the libcmd library to parse its
    command line, rather than rolling its own command line parsing.
    
    Change-Id: I7705219894de2d2268729ddc66a8af9ad9758ce7
    Reviewed-on: http://gerrit.openafs.org/5074
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0b9986c8758c13a1de66b8bdae51b11abaea6cf3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 26 21:36:15 2011 -0400

    ptserver: Use libcmd for command line parsing
    
    Modify the ptserver so that it uses the libcmd library to parse its
    command line, rather than rolling its own command line parsing.
    
    Change-Id: I84bac2cd70bbaf85004fce2f23d9237215544edd
    Reviewed-on: http://gerrit.openafs.org/5073
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit dcb9776f9c34d070e8bdfe3e482135cbcdb6609c
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 24 16:35:42 2011 -0700

    Update README for newly added configure switches
    
    Add --with-gssapi*, --with-libintl*, and --with-roken for the new
    library location flags.  Add --with-docbook2pdf and
    --with-docbook-stylesheets for the automatic discovery of tools for
    building the documentation.  Expand and correct the descriptions of
    --with-html-xml and --with-xslt-processor.
    
    Change-Id: Ibe0a94ce3e9c6393bde009bf08f8b9dfac6b84a6
    Reviewed-on: http://gerrit.openafs.org/5092
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 525f640c4eda5c7cb96fe65c23a94ff368039590
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 24 16:00:35 2011 -0700

    Clean and ignore additional build files for DocBook documentation
    
    Depending on what generation method is used for the DocBook
    documentation, additional build files may be created.  One of those
    (*.aux) will cause the build to break if one switches from
    docbook2pdf to dblatex without deleting it.  Update make clean
    and .gitignore to remove and ignore these additional files.
    
    Change-Id: I13cc8a3526bd7bc7c4c65cd7d2cd78b094398faa
    Reviewed-on: http://gerrit.openafs.org/5089
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 46b897bbaff9e7ea8ff88766ce2b3e047feeee6b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Jul 23 14:58:54 2011 -0400

    FBSD: cast lkmnosys appropriately
    
    lkmnosys is a function, and as such has its own prototype which
    includes a named struct specific to it (struct nosys_args).  When
    comparing its address to an entry in the syscall table, we must
    cast it to a sy_call_t to correctly do the comparison, lest gcc
    warn us about comparing distinct pointer types without a cast.
    This warning recently became an error due to bsd.kmod.mk, so it
    causes the build to fail on 8.1 and earlier, which do not use
    syscall_register() due to a conflicting entry for our syscall
    in syscalls.master.
    
    Change-Id: I606aaf73e433a50ea41adaab842d61ee69653bd5
    Reported-by: Garrett Wollman
    Reviewed-on: http://gerrit.openafs.org/5087
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e49bf687fe548f8addb7f1282a7c23261a55c34a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:54:20 2011 +0100

    util: Cleanup generation of dirpath.h
    
    dirpath.h is only copied into place if it has changed. However, this
    means that the timestamp of dirpath.h is never updated, causing make to
    always trigger the buildrule, even if the rule eventually does nothing.
    
    Instead, always copy in the new dirpath.h, which simplifies the make
    rules, and stops make from always building.
    
    Change-Id: I43ba9152473591c5afd9064ad6e58adda6823f11
    Reviewed-on: http://gerrit.openafs.org/5084
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 18af550ef15605d13e7d5ac59fa88713262db82d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 5 09:17:53 2011 +0100

    rx: Provide Get/SetThreadNum functions
    
    Provide functions to let an application manipulate the rx thread
    specific key, rather than letting them root around in the internals
    of RX themselves.
    
    Change-Id: Ic42430de7e0c0a60217a509d9b7ef9d3523463ce
    Reviewed-on: http://gerrit.openafs.org/5083
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2676143c035d19d02492d370382a74650b1e1496
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jul 4 10:03:50 2011 +0100

    klog.krb5: Don't use ubik_PR_NameToID internal func
    
    ubik_PR_NameToID is a low level function which requires a large amount
    of setup from the caller. Instead, use pr_Initialize() and pr_SNameToId()
    which do all of the work in a library.
    
    Change-Id: I6b8d50c3d16eb258a4a81335790be2654c4fb191
    Reviewed-on: http://gerrit.openafs.org/5082
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a40cbd7f074bc0009f4f66f72e13d6737fc285ad
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jul 10 13:53:15 2011 +0100

    ubik: ServerInitCommon is an internal function...
    
    ... so make it static
    
    Change-Id: Ia323d9ea4e35e4d3a5593df05a905191e9d951a0
    Reviewed-on: http://gerrit.openafs.org/5081
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 10264a523fd78e9cd22e41feda6c5eb6f75de784
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 18:18:30 2010 +0100

    bozo: Don't initialise variables unecessarily
    
    Don't initialise variables to NULL 3 lines before we assign malloc
    results to them.
    
    Caught by clang-analyzer
    
    Change-Id: Ic0f2fc56fe6ce39411c4cd48ea0a0b955b3e0f19
    Reviewed-on: http://gerrit.openafs.org/5080
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ba18ea65174dd06a305e3524756aaca6ebb04e9a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 18:15:34 2010 +0100

    viced.c: Don't store results of reads unecessarily
    
    When we don't need to store the amount of data read from a file,
    don't complicate the if() statement by adding a pointless assignment.
    
    Caught by clang-analyzer
    
    Change-Id: I326d894c9b5f7a89f31534c7864e05ea059a03aa
    Reviewed-on: http://gerrit.openafs.org/5079
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 364d1bec7458b874922f5d1e9be49f7a1f813136
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 18:09:53 2010 +0100

    libcmd: Don't increment array then discard result
    
    We don't need to increment argv here, as we're about to return
    to the caller.
    
    Change-Id: I442fe741e4bda91e12375a6fe72657dc215c4e78
    Reviewed-on: http://gerrit.openafs.org/5078
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e3d9821a8b34f919de9a01fa0023a691487e763f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 18:08:50 2010 +0100

    libcmd: Don't store values that we don't need
    
    Don't store the results from cmd_CreateSyntax unless we actually
    need to use them for something.
    
    Caught by clang-analyzer
    
    Change-Id: I581dcc00a886245a8d117f78c74590111c75e3b0
    Reviewed-on: http://gerrit.openafs.org/5077
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2d61f1fcbb7c42de6164795fc07e18776afc77cf
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 15 16:51:42 2010 +0100

    ptserver: Don't print undefined value
    
    The readgroup utility printed the wrong variable when listing the
    source group - instead of printing the group name, it tried to
    print an arbitrary element from the list of group members. Fix it
    to print the right thing.
    
    Caught by clang-analyzer.
    
    Change-Id: Ie7ada8a1e881871ae5db14714ee10325ac052d40
    Reviewed-on: http://gerrit.openafs.org/5076
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6cae7c554e917a26b197167e177bd3eb22bce71a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 20 15:33:41 2011 -0500

    libafs: Remove unused volume "states" flags
    
    VResort and VMoreReps are not referenced anywhere in the tree, so
    remove their definitions. Keep VPartVisible for VICEP-ACCESS, but
    lower it to the next unused bit.
    
    Change-Id: I04c9d1c75774a55d01105acb2b5df9d2bcafa5d8
    Reviewed-on: http://gerrit.openafs.org/5059
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 09d1d8575ce96ef945a4fd8a99a0347f4e258c1e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 22 15:39:49 2011 -0400

    aklog: check ccache errors in get_user_realm
    
    if there's an error finding the specified ccache, don't
    bother continuing.
    
    Change-Id: I344a06c66c426c5d14dbe08ce9da0431f095349d
    Reviewed-on: http://gerrit.openafs.org/5069
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 62cccc4547bd816dfffb2c1a4431c3c674d302f8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 22 14:24:08 2011 -0400

    macos: avoid KLRenewInitialTickets crash in Lion
    
    the shimmed heimdal in Lion crashes on this call now.
    the shim also exports diddly squat. fine, we pick over what
    IS exported and use only calls available to us.
    
    should be exactly as functional as before.
    
    Change-Id: I6a55209b94694e8eb462bc0a4607a891b9f8b570
    Reviewed-on: http://gerrit.openafs.org/5065
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 30cd8dafa73d90a943f00af05e4841699bc18534
Author: Andy Cobaugh <phalenor@gmail.com>
Date:   Fri Jul 15 12:06:12 2011 -0400

    rpm: remove postinstall message from openafs-client
    
    Printing out information on how to configure cacheinfo and ThisCell
    is a bit noisy, and pam_afs.so is probably not what most people
    want to use nowadays.
    
    Change-Id: I103ccb39bc7bb075cffab1d980b542ea8156f0c6
    Reviewed-on: http://gerrit.openafs.org/5026
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c61f5208f553ed1674d1ae51d6e0f16fcdbba47b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 18:31:17 2011 -0400

    Windows: do not leak space allocation
    
    smb_ReceiveNTTranCreate leaks a cm_GetSpace allocation on
    error.  Don't do that.
    
    Change-Id: I40349826f2ab229961e3c3552f66808775f0a239
    Reviewed-on: http://gerrit.openafs.org/5062
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9c2d3180aa760d2a406bb68dd84e73f7d1ec7019
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 18:32:35 2011 -0400

    Windows: smb_ReceiveNTTranCreate path not found
    
    if the directory object cannot be found in the tree, return
    CM_ERROR_PATHNOTFOUND instead of crashing.
    
    Change-Id: I51458e24b5b9f16fc0378073e002d8ee160b8f15
    Reviewed-on: http://gerrit.openafs.org/5061
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d3a4b6ce700509383849653fa061a87298e5258f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 14:21:09 2011 -0400

    Windows: improve shutdown time
    
    During Windows OS shutdown the service may be given as little
    as six seconds to shut itself down before it will be terminated.
    Forced termination will leave the cache file in a dirty state.
    This patchset makes several minor changes to reduce the overall
    time required for shutdown:
    
    1. do not wait for the IP address change notification thread.
       by the time it terminates the ip address has been lost.
    
    2. send give up all callbacks earlier.
    
    3. reorder the daemon thread waits.
    
    4. change the daemon thread loop sleep time to 500ms in order
       to prevent the service from waiting up to 10 seconds for
       the thread to notice a shutdown is in progress.
    
    Change-Id: Ib1ff3eaf2e5116d9b3d7561670b8266e1bc5d1cf
    Reviewed-on: http://gerrit.openafs.org/5055
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0783b8f3821f59004146b4c34a53189ada178d70
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 14:18:25 2011 -0400

    Windows: cm_daemonCheckOfflineVol fix
    
    When computing whether or not to perform an offline volume
    check it is critical that the 'lastBusyVolCheck' variable
    be assigned the current time instead of 'lastVolCheck'.
    By setting the wrong variable a new offline volume check is
    performed every 10 seconds which is undesireable.
    
    Change-Id: I509cde64a8b51ce1846f37047a574409ff248978
    Reviewed-on: http://gerrit.openafs.org/5054
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e91f16ebb704a431f9731bb39bf9b5621b7f6ad0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 14:12:42 2011 -0400

    Windows: Add shutdown event log message
    
    Add an explicit message that the shutdown sequence is complete.
    This is necessary because during a Windows OS shutdown, the service
    is frequently killed prior to the memory mapped file is fully released.
    
    Change-Id: I1ad2471e1e1442d836d6abac09fc5cdd08edae0b
    Reviewed-on: http://gerrit.openafs.org/5053
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a1af69182b12bedd8a413d38cef9a4691286da46
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 20 14:04:57 2011 -0400

    Window: breakout CM error codes into separate header
    
    Change-Id: I67be608c6cb153904fa2ca8c5ad6cbc7943064e5
    Reviewed-on: http://gerrit.openafs.org/5052
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ba546ecf0c6a404f2efced2e600826621876ffcf
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.
    
    Change-Id: I9f0b3edd95db17f82ef8f7d1e300df4eff355172
    Reviewed-on: http://gerrit.openafs.org/4899
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit beac254406d28b89d9f99967b6c1305c607959ad
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jul 20 18:11:47 2011 -0400

    FBSD: in libafs, define LIBAFSNONFS
    
    Running 'make dest' will fail without this variable defined.
    
    Change-Id: I7f82cb3aeae8585c68ee60b005f4ba32d44e2104
    Reviewed-on: http://gerrit.openafs.org/5058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ee950e7ecf578bd225eec29b182f108450c5bfaf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 21 20:30:00 2011 -0400

    macos: krb5_524 is uselessly stubbed
    
    from MITKerberosShim-44:
    dummy(krb5_524_conv_principal, 0);
    dummy(krb5_524_convert_creds, 0);
    
    this basically logs and returns success. not helpful.
    so let's just not call them.
    
    Change-Id: I91e7113e6934c67129e61dfc84b7f0c4d110cea0
    Reviewed-on: http://gerrit.openafs.org/5066
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 45f0cbf83aed2bd534e9b43822c033ef6b4a9b1b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 20 14:55:32 2011 -0400

    redhat: support epel yum configs in mockbuild
    
    epel's mock is useful in terms of config, but we need to allow
    use of it. do so here. add centos6 at the same time.
    
    Change-Id: I781fc475389c5be56aa89041b8d22b166517a3f5
    Reviewed-on: http://gerrit.openafs.org/5056
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1fc5b6e67477c6e52c311b4117ff067a60487cdc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 19 16:44:21 2011 -0500

    Revert "afs: Use 64-bit inode numbers"
    
    This reverts commit e1e008338639d6cc0d836ff8079e6fb42021ab9e. Using
    64-bit inode numbers can make AFS largely inaccessible to 32-bit
    programs that are not compiled with large file support, since the
    inode number we provide is not representable in a 32-bit struct stat.
    Using 64-bit inode numbers thus can break quite a few programs, and
    has little benefit, so don't do it.
    
    Change-Id: Ia482ac2864601b5c56a4259432529d14981f4a1a
    Reviewed-on: http://gerrit.openafs.org/5048
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e06931172eec5a683490040f5564b294d263dac4
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 18 17:13:15 2011 -0700

    Add additional NEWS entries for 1.6.0pre5 through 1.6.0pre7
    
    Taken from the release notes.  Do a bit of minor combining of related
    issues since NEWS presents these all as changes in 1.6.0.
    
    Change-Id: I45af362948dde40772c347c9f432e59cfd86b64d
    Reviewed-on: http://gerrit.openafs.org/5044
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 79aedab16c36c46d7b828078079e7aa80f99490d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jun 20 22:46:01 2011 -0400

    FBSD: update to using bsd.kmod.mk
    
    We have for a long time had a cobbled-together kernel module build
    system that essentially copied build arguments from a kernel build
    in an ad hoc fashion, with lots of conditionals on architecture
    and OS version.  (We got it wrong, several times, too.)
    Instead, use the supported mechanism for building kernel modules,
    which allows us to remove a lot of code from the Makefile and gives
    us some measure of future-proofing.
    
    FIXES 127578
    
    Change-Id: Ibccea4507f57660becb4fb39a57b50c15ea4cb07
    Reviewed-on: http://gerrit.openafs.org/5042
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ec64ba50ea8d691cfb126dd40a11370ed37b433
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Jul 17 16:24:12 2011 -0400

    libafs: switch to hardcoded source names with CRULE
    
    Most of the userspace tree uses AFS_CCRULE for how to compile
    things.  We cannot use this directly for libafs, since in the
    general case kernel and userland code may need to be treated
    with an entirely different compiler and compiler options.
    Switching libafs fully to a (e.g.) LIBAFS_CCRULE would be a substantial
    amount of work, and require a lot of testing.  However, we can
    stop passing -c $? (the out-of-date sources) in CRULE_{NO,}OPT
    and add the source file after each invocation of the CRULEs,
    an incremental step towards LIBAFS_CCRULE.
    This has the extra advantage of not causing issues when integrating
    with kernel module build systems that automatically add dependencies
    to all object file targets. (In such cases, $? expands to multiple files
    and 'gcc -o foo.o -c' bails out.)
    
    Most of this change was automatically generated from the following
    awk script:
    ==========
    /[a-zA-Z_0-9].o:/ {path=$2;}
    /^      \$\(CRULE_/ {print $0,path;}
    !/^     \$\(CRULE_/ {print;}
    ==========
    
    Change-Id: I22b8eeaee730feb37b2527d44d6548e7b13b9a0a
    Reviewed-on: http://gerrit.openafs.org/5040
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4356fcbb5b5dd1b5ff2098388d0e70214a5fe898
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 23 07:40:14 2011 +0100

    vlserver: Handle logging of non-rxkad classes
    
    Expand the 'rxinfo' function so that it is not rxkad specific, and
    add the framework to allow other security classes to be added to it.
    
    Change-Id: Idb514be6aafbc69154a7aba4b0ece3330b8b3aed
    Reviewed-on: http://gerrit.openafs.org/5031
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9376f75beca80af69c5437de4023c32646e702b8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jul 15 11:50:09 2011 +0100

    tests: Fix error in man check specification
    
    The kas manual test is kauth/kas-man, not kauth/kas
    
    Change-Id: I714cbbf78af7f8e99ec52d9c0f173df3f6ae18c5
    Reviewed-on: http://gerrit.openafs.org/5030
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f02c3d40cb25d5d7b0c184a6822a21e1ddebf4d5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 31 09:30:41 2011 +0100

    tests: Add tests for the vlserver
    
    Add some very simple vlserver tests
    
    Change-Id: I862d3a86857dc70f0421f4887d1fc4d047c57909
    Reviewed-on: http://gerrit.openafs.org/5029
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e798bcaf97c3ad1b464e29482cb29074cbbf33d6
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jun 20 22:35:08 2011 -0400

    FBSD: use better casts in vop_advlock
    
    In the bsd.kmod.mk world, the compiler bails when we cast a pointer
    directly to int.  Cast through intptr_t as the supported mechanism.
    On amd64, this loses bits, but since this instance is just attempting
    to use the value as a unique handle, it is probably okay for now.
    However, it should be addressed more properly eventually, when
    this locking implementation sees wider use.
    
    Change-Id: I4fe8084c14a97dc4efc8d74e9971b1540c028e40
    Reviewed-on: http://gerrit.openafs.org/5034
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 135b41ec7e446aee6276854effa0900cc7a58a2a
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Jun 25 00:33:41 2011 -0400

    FBSD: Use correct path for ufsmount.h include
    
    The two lines above it already used </ufs/ufs/...> correctly.
    In the bsd.kmod.mk world, this will let us get rid of some
    more symlink hackery in libafs, since the system's '@' symlink
    will point to the system headers directly.
    
    Change-Id: I97dd779c2c7a119f51972b02e185a17264911151
    Reviewed-on: http://gerrit.openafs.org/5036
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d10f62a7e7221b86e6b336cae936ecbc9485fb94
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Jun 20 22:36:39 2011 -0400

    FBSD: cast pointers appropriately
    
    Since the bsd.kmod.mk build uses -Werror.
    
    Change-Id: I4bc34477a36ae8946272c1830080ddd9add5cd00
    Reviewed-on: http://gerrit.openafs.org/5035
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 037f3251cd8fa318ad8320a061368efedc480c37
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.
    
    Change-Id: I14315982fac48bf392d9f3a06422f5c4707bc3b9
    Reviewed-on: http://gerrit.openafs.org/5033
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9d3d4b30af5fe40fa84b8bedec71dab04bee15ab
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jul 16 09:07:57 2011 +0100

    Fix broken make dest rules
    
    Commit ffb6864f0f60113d125527feacbd6d20a8121e2d is missing some
    semi-colons in assorted dest rules, which breaks the make dest target.
    
    Change-Id: Ie6f88878604f1043256f1683e1d228e16d568f50
    Reviewed-on: http://gerrit.openafs.org/5037
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 45025e949bba0244d51e406b9105fb14bcba902d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 14 12:02:21 2011 -0400

    audit: remove uneeded strncpy
    
    In this caller to krb_realms, when no realms names are returned the
    number of local realms is correctly set to zero, however the first
    local realm buffer is filled with a placeholder string which is
    not used.  Remove the uneeded strncpy, which also makes this
    section of code consistent with afs_is_foreign_ticket().
    
    This section of code is duplicated by afs_is_foreign_ticket() and
    should be consolidated in a subsequent patch.
    
    Change-Id: I48f84934e7321769eebaf80c83b2c100fd026a6a
    Reviewed-on: http://gerrit.openafs.org/5020
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 607c0aaaa438414a64e8201c34cccc2c28cabf72
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 12 00:11:17 2011 -0500

    UKERNEL: Avoid using parameters named "new"
    
    Alter the prototypes in afs_usrops.h to avoid using the name "new", in
    order to make the header usable by C++ code.
    
    Change-Id: I21165b5c1e33e9229172d9f8e797d65fc954bb77
    Reviewed-on: http://gerrit.openafs.org/5038
    Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit df4843c4b1f3aebf32dcb28560b259826e9dbb9a
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Wed Jul 13 14:20:17 2011 -0400

    util: clean up two #ifs
    
    Use defined(...) in two instances to avoid warnings.
    
    Change-Id: I0a574283e2384c7cfb2f58884570e78e3fed3bc6
    Requested-by: Simon Wilkinson
    Reviewed-on: http://gerrit.openafs.org/5005
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1f181307d5c90bd46bed0eb4a6e97fd96531c5c6
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 15 01:00:28 2011 -0400

    util: try again to satisfy the gatekeepers
    
    Apply a two-clause BSD license to src/util/pthread_threadname.c. Note
    that the claim of copyright in this file refers to the derivative work
    consisting of the original code combined with the text of the license.
    
    Change-Id: Id75badee03cb85a23778088aa9cb49d8c92eb5d0
    Reviewed-on: http://gerrit.openafs.org/5025
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ffb6864f0f60113d125527feacbd6d20a8121e2d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jul 15 17:14:27 2011 +0100

    Make --enable-pthreaded-ubik do what it claims
    
    The configure help text for --enable-pthreded-ubik says
        "enable installation of pthreaded ubik applications"
    
    This patch set makes the behaviour in the code match that. Instead
    of controlling whether the pthreaded ubik code is compiled at all,
    the configure option now just controls whether it is installed. This
    means that we'll always build the pthread code, and so should reduce
    the number of times it is inadvertently broken.
    
    Change-Id: I8b2ffb46e01157f2043cf7daf68e69580ea285c5
    Reviewed-on: http://gerrit.openafs.org/5028
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f56f2731552ca4dc5f5e476c1e8db14f035ec060
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jul 15 14:06:14 2011 +0100

    Fix pthreaded ubik dest and install rules
    
    Fix the dest and install rules for pthreaded ubik, and its servers, so
    that they match the current Makefile style.
    
    Change-Id: Ifd3bd181772e278518f2a90167b6524d6045645c
    Reviewed-on: http://gerrit.openafs.org/5027
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 20a2422c1479476acd407bae9345ea6482aeca3b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 14 14:53:00 2011 -0500

    util: Include pthread.h in afsutil_prototypes.h
    
    afsutil_prototypes.h can reference pthread_t when we are in
    AFS_PTHREAD_ENV. So, include pthread.h to guarantee we get the
    definition for pthread_t.
    
    Change-Id: Ib46c2cf3b3fdd2dcd61a7b8ac4d5512fecd084ff
    Reviewed-on: http://gerrit.openafs.org/5023
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b6d05986f0c79bdf54169fc7b209b137c0e63a39
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Jul 14 15:49:40 2011 -0400

    Install afszcm.cat for i386_fbsd make dest
    
    Because we missed it in gerrit/4815.
    
    Change-Id: I653c4259a0bbe926abac80c09e32ff3bc35f2de2
    Reviewed-on: http://gerrit.openafs.org/5022
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e2980f3d70bc61cc9a89b65499798193c011ec75
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 13 22:43:40 2011 -0400

    volser: remove pragma requiring ultranew gcc
    
    this won't fly with the gcc in the field most places. move along.
    
    Change-Id: I54de25c4986e574ca5b34b850807b10374d9d8ad
    Reviewed-on: http://gerrit.openafs.org/5013
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a76e65034cf3feadfe2af5a20ddae705fda00aa0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 13 20:56:53 2011 -0400

    Linux: remove unused variable
    
    endindex is not used, remove it
    
    Change-Id: I50a89e3f25828c05fd24f4fc6a1068007a68dbc2
    Reviewed-on: http://gerrit.openafs.org/5012
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4b9ad1b56ecc9c81aafe54331121435d3ca18fdb
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jul 12 15:51:33 2011 -0400

    tests: fix cmd test case
    
    Fix a build error in the cmd tap tests.
    
    Change-Id: I757c5b508784fd938b70ca3829130275707dd39a
    Reviewed-on: http://gerrit.openafs.org/4975
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0e4c227d62c30247cb09e40567b096ce0f3cbb57
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:44:39 2011 +0100

    rxkad: Suppress warnings for ticket5.c
    
    rxkad's ticket5.c includes v5gen.c, a generated file from Heimdal.
    This file contains a load of set-but-unused variable warnings. As we
    currently have no way of portably suppressing just these warnings,
    turn off warnings-as-errors for ticket5.c
    
    Change-Id: I739cee4f345523fce130c73c713c7309273f5bee
    Reviewed-on: http://gerrit.openafs.org/5003
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6840d8dfb80d9ae3888171520304a021caef9fe5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:42:11 2011 +0100

    volser: fix set-but-unused variable warning
    
    restorevol reads the magic number from the dump, then does nothing
    with it. Rather than not reading it at all, just mark the variable that
    it is read into as unused to supress the compiler warning.
    
    Change-Id: I371e2556e3661836f6256fac255ae79005d9ffaa
    Reviewed-on: http://gerrit.openafs.org/5002
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 130155ff3c48f2da2433b359588346b4438d24a2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 13 08:15:04 2011 -0400

    Windows: not safe to dereference before locking
    
    Throughout cm_server.c, input parameters to functions that
    are protected by cm_serverLock are dereferenced by assignment
    during variable initialization prior to the cm_serverLock being
    obtained.  As a result there is a race which can result in
    either list corruption or dereferencing freed memory.
    
    Change-Id: I4fa42b9ae0af5eb7c44ea868b4ea6ca9e4e0bb92
    Reviewed-on: http://gerrit.openafs.org/4985
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 30d68e6934810e3cfc67518d36cb8be26d6542b8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 8 09:49:51 2011 -0400

    Windows: ChangeLog for 1.5.9907
    
    Change-Id: Ie6eb2ed4c9e4c3a9e8250c3946d0a060834610b6
    Reviewed-on: http://gerrit.openafs.org/4954
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit beda3b239a13903d4bcd9a5d91d5ff562962cb5a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:35:48 2011 +0100

    vol: Initialise list before error exit when cloning
    
    The inode list wasn't being initialised before the first call into the
    error handler. This makes it possible that we end up trying to discard
    items from an uninitialised list, with all the chaos that would cause.
    Fix things so that this list is correctly set up.
    
    Change-Id: I5dbc33e2e1a9a4ca1bdf4b2f7e56f33af87ccc1a
    Reviewed-on: http://gerrit.openafs.org/5001
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53cc2ebaea5e5488d5285f0d13ffa47069ee986f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:33:57 2011 +0100

    volser: Actually return errors from ListOneVolume
    
    The return code from GetVolInfo was being thrown away, and success
    returned to the caller, regardless of the success of this function.
    As GetVolInfo's exit codes aren't suitable for sending over the wire,
    just return ENODEV if this function returns failure.
    
    Change-Id: Ie4adbbd98f5006a9aa50ed9bf73ea9e4344fabf3
    Reviewed-on: http://gerrit.openafs.org/5000
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9bb81711a545122bba36c525095aebfe52e73168
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:31:15 2011 +0100

    Mark nearInode as unused
    
    When we're building an inode fileserver, we use the nearInode hint.
    The IH_CREATE macro just throws this hint away if we're building namei,
    which leads to compiler warnings about set-but-unused variables. Just
    flag nearInode as being potentially unused in order to suppress these
    warnings.
    
    Change-Id: I25022dc859974e9311e4530a9eeee8ab1d77c373
    Reviewed-on: http://gerrit.openafs.org/4999
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 85b8372b44036f4e10cb30e9dbdd572700d10aaa
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:23:22 2011 +0100

    Don't split int64s when we don't need to
    
    Now that we're always using an int64, and never a hyper_t, to represent
    64bit integers, we can just print them out and assign them using the
    native tools, rather than having to call SplitInt64. Simplify our code
    to do so, which also avoids some gcc-4.6.0 warnings.
    
    Change-Id: I12cfb5401d0431be2a4fefdfc5e1f52df7d5764d
    Reviewed-on: http://gerrit.openafs.org/4998
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8df379696ca6303cd2e4cd3eed34e4552725853b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:03:59 2011 +0100

    afsio: Remove unused 'code' value
    
    main always return 0, so don't bother getting an exit value back from
    cmd_Dispatch that we have no intention of doing anything with.
    
    Change-Id: I0085adbfdb886d89acc7f4203ddb6f7a10281dfc
    Reviewed-on: http://gerrit.openafs.org/4997
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 093b5108a37576762e424a33d2254edab0ac0b60
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:02:54 2011 +0100

    uss: Remove unused variables
    
    Remove assorted unused variables, both those used to capture error
    returns, and so unused (but initialised) string pointers, to make
    gcc 4.6.0 happier.
    
    Change-Id: I8cdcfb7175b48c79ce2b1a312d6a5fe6ab5c1989
    Reviewed-on: http://gerrit.openafs.org/4996
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 96b4f4be970b16238aba84be7dcef9f5c09c3496
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:02:03 2011 +0100

    scout: Remove unused error codes
    
    Remove unused error returns, and make gcc 4.6.0 a little bit happier
    
    Change-Id: Ic1fe541ed860a739ac3e2aa2978cbb8b92ec1a8d
    Reviewed-on: http://gerrit.openafs.org/4995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d6b1573995120cc8167bb87032274e04bd918880
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:00:30 2011 +0100

    libadmin: Remove unused error codes
    
    A number of functions in the libadmin vos implementation set up
    error values, and assign them to 0, but never actually use them
    for anything (either further assignment, or returning to the user)
    So, just remove these unecessary variables, and make gcc 4.6.0 a
    little happier.
    
    Change-Id: Ia4a4a7d8cda855d904f2a84092928f227ea83f3b
    Reviewed-on: http://gerrit.openafs.org/4994
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fa71561e493003585e977bdf0e513b0979319a72
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:59:05 2011 +0100

    bozo: Remove unused error codes assignments
    
    This removes a couple of unreported error code assignments. Firstly,
    the return from 'setsid' was being assigned to 'ec' and promptly
    ignored, and secondly, the response from SendNotifierData was
    being ignored. As there is nothing sensible to do with these error
    codes, just ignore them properly.
    
    Change-Id: Ifff8c7b5b7950e467570d26ce5f92fe5f11a51e9
    Reviewed-on: http://gerrit.openafs.org/4993
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 00061610b9db83ca9510e485e49379eeb6f9e082
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:57:12 2011 +0100

    afsmonitor: Fix set-but-unused variable warnings
    
    Tidy up the afsmonitor code to remove gcc 4.6.0's set-but-unused
    variable warnings. These are all assignments to error code
    values which are never checked, or reported.
    
    Change-Id: I8d48a6defe848d7cf477ac747aa330fc8ed1b276
    Reviewed-on: http://gerrit.openafs.org/4992
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cd8ebb14e59e58bf3c76815d22f3b796faee3827
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:55:39 2011 +0100

    libafs: Remove support for length optimisation
    
    At one point afs_StoreAllSegments had an optimisation to speed up
    stores. However, that optimistation used the chunkLength without
    taking appropriate locks, and was disabled. The variable assignments
    which still exist from this code cause errors with gcc 4.6.0, so just
    remove them.
    
    Change-Id: I86547d94280d7f07214fbf6ef5b3db61c9781e59
    Reviewed-on: http://gerrit.openafs.org/4991
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6a03341df67e8330f6f801deb3a70e529cedb2a6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:54:52 2011 +0100

    libafs: Fix warnings in PPrefetchFromTape
    
    The PrefetchFromTape pioctl had a number of set-but-unused variable
    warnings. Tidy up the code to remove these warnings.
    
    Change-Id: I358f7e31ab8e9f03447675be40dc8571650dbe72
    Reviewed-on: http://gerrit.openafs.org/4990
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4e9a49c58aa1a6c910b01fe995739d0852c75dd4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:53:08 2011 +0100

    libafs: Fix statistics for PrefetchFromTape pioctl
    
    The PrefetchFromTape pioctl was overloading SetAcl's statistics. Give
    it a slot of its own.
    
    Change-Id: I5698f8861af1b5e9771d138ca93a28f676df349b
    Reviewed-on: http://gerrit.openafs.org/4989
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit beaf9a4e3e39af87cda4f312917f09974b51a5ef
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:48:07 2011 +0100

    libafs: Remove unused DNLC LRU code
    
    The LRU code in osi_dnlc_lookup has never been enabled in OpenAFS,
    and causes compilation errors with gcc 4.6.0 - just remove the unused
    code and its associated variables.
    
    Change-Id: Ifc09bbb857406b9bfcbf436c35e36289567f65cf
    Reviewed-on: http://gerrit.openafs.org/4988
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 37f41897fb9d28e32c8def34790d653ef585400f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 13:45:33 2011 +0100

    libafs: Remove unused NAT markeddown code
    
    Remove unused code which used to retry once when a server was
    marked down due to a bad NAT. This code has never been enabled
    in OpenAFS, and causes compile errors with gcc 4.6.0
    
    Change-Id: Idc978a68e81ccb761117c97200607e30c98627dc
    Reviewed-on: http://gerrit.openafs.org/4987
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8adf4cd0b0ae319b9610cd5caad050f973200ca7
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Mon Jul 11 06:31:41 2011 -0400

    util: introduce a common interface for setting thread names
    
    A previous change added support for setting thread names/titles to
    viced; this change moves the #ifdef spaghetti to src/util in
    preparation for calling it from other places where it would be
    useful.  Two functions are defined, one for setting an arbitrary
    thread's name (as might be done by the spawning thread) and one
    for setting the current thread's name; the latter is also defined as
    a macro for non-pthreads compilations so that it can be called
    unconditionally (the interface does not reference any
    pthread-specific data types).  Note that some platforms, Mac OS X
    in particular, do not allow setting the name of a different thread.
    
    The two functions are defined as no-ops for Windows as our pthreads
    emulation layer for Windows does not provide the needed mechanism.
    
    Make viced use the new interface.
    
    Change-Id: I58c65a28772d8d188c03d6ff3a6f052889362fb7
    Reviewed-on: http://gerrit.openafs.org/4966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 470bab9d564a7be8cdaf808c3d8dda3457821b2f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 14:46:00 2011 +0100

    Add PERLUAFS to libuafs's git ignore
    
    Change-Id: I0067ba4c9b4f2b57ded862bc5cfe33a2c419d108
    Reviewed-on: http://gerrit.openafs.org/5004
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f775c0fb6f9191dcf5d226bfddbf82f52cd1116c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 13 11:53:57 2011 +0100

    Add make dist and make srpm targets
    
    Add targets to generate distribution tarballs, and srpms, from a tree.
    These will generate packages for whatever the current HEAD of the tree
    is - if the HEAD is a release tag, then the packages will be named for
    that release, if the HEAD is between releases, then git describe will
    be used to create an appropriate version identifier.
    
    The tarballs are generated from the current git repository contents,
    anything not checked in will not be included.
    
    Change-Id: Ic5cde2382f973a004406e0ef0f09708d0ba0ad5f
    Reviewed-on: http://gerrit.openafs.org/4984
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6a27e228bac196abada96f34ca9cd57f32e31f5c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 12 17:58:16 2011 +0100

    rpms: Use git version information
    
    Use the git version information when building RPMS, rather than hard
    coding it into configure.ac.
    
    Change-Id: I477629b4102f48a9669ff67aae429c08862a5afc
    Reviewed-on: http://gerrit.openafs.org/4983
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4470d849ec731c97dd2fb02dc6cbfe777949b510
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 12 13:46:53 2011 -0400

    macos: note additional vfs features
    
    currently we have inode numbers which do not change. note it.
    additionally, we support large files. note it.
    
    Change-Id: I77090d3ccc3ba9952e14f2be13946ef2e91a6af7
    Reviewed-on: http://gerrit.openafs.org/4973
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8bface302c14698a14b7b988e1a7714e84415c04
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Thu Jul 7 08:55:51 2011 -0400

    Red Hat: update build script for newer Fedora versions
    
    Remove old Fedora versions and add the currently-supported ones.
    
    Change-Id: Ib514328cf944ea601028fb99273046cb2f5ea828
    Reviewed-on: http://gerrit.openafs.org/4925
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2d794a5e5d8154b096596f45bed93cc41b36005a
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Fri Jul 8 11:47:39 2011 -0600

    Remove pre-existing assert macro in hcrypto header.
    
    The config.h header for hcrypto defines an assert macro for
    use by RX. OpenBSD already has an assert macro definition so
    this new one causes screaming by the compiler about
    re-definition. This patch adds the directives to remove any
    pre-existing definition of assert, if one exists, prior to
    defining the new one.
    
    Change-Id: I01d5a1f26617fecfd0ffcc3930a7c7881beb8183
    Reviewed-on: http://gerrit.openafs.org/4958
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 02aa30893f79b0a3d3ed75da987e20d48071c5df
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jul 11 15:45:11 2011 -0400

    salvager: do not redefine SalvageVolumeGroup
    
    Do not use the c preprocessor to redefine the SalvageVolumeGroup()
    function name.
    
    Change-Id: I3d48ee28dc03be702d0427d74725ff1e99ec6411
    Reviewed-on: http://gerrit.openafs.org/4965
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5ec998a016ffcbb1e88bd4eb3b12b3735a0c0cca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 12 13:37:56 2011 -0400

    macos: fix shlib link list
    
    link shared libs from the right place, lib not etc
    
    Change-Id: I3d58d1f65b479b7c23c1bb0978eacea99b114541
    Reviewed-on: http://gerrit.openafs.org/4971
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 84a3c4714fce3c1722802963e1fcc4d7dad8cc55
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 12 01:45:10 2011 +0100

    rpms: Fix handling of x86 architectures
    
    Once upon a time, our specfile would assume that if you were
    building for i386 you were building userspace, and that i586 or i686
    implied doing a kernel only build. This is no longer the case, and
    now everything on modern Fedora is built for i686, so we should adapt
    the spec file for this.
    
    Change-Id: Ia56b9b15d0b28672a8411417d38937ed45ee93a1
    Reviewed-on: http://gerrit.openafs.org/4970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 15c073887b905adaef301863ed87c49f9d77b394
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 11 20:21:17 2011 +0100

    rpms: Fix our %version handling
    
    When we're doing version requirements in -devel package Requires:
    lines, we should be using %{version}-%{release}, not just %{version}
    
    FIXES 130137
    
    Change-Id: I2d10c6fa362d3cbfa786c270996fa8ae75b9db20
    Reviewed-on: http://gerrit.openafs.org/4969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 82e772bed034ea278e7a7a1b4422d75cc14576dd
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jul 12 08:15:31 2011 -0400

    salvager: check namei linktable header magic
    
    Recreate the namei linktable file if the header magic
    is bad.
    
    Change-Id: I1e8c2d101cf1dd1d375a965684d95f6708e8c601
    Reviewed-on: http://gerrit.openafs.org/4968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 27af8b4b537236d8c678465d034721dd220641c8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 11 23:49:58 2011 +0100

    Windows: always open dscp in smb_ReceiveNTTranCreate
    
    There were two code paths in smb_ReceiveNTTranCreate that included
    asserts in case the directory cm_scache_t object had not been
    evaluated.  RT129299 contains a report that at least one of
    them had been tripped in production.  There is no reason to avoid
    evaluating the directory scp.  It must exist in the cache and
    obtaining a reference in all cases simplifies the logic of this
    overly complex function.
    
    FIXES 129299
    
    Change-Id: I7b32c81f11c3fef53f8a21a44f3594d5cd9e1552
    Reviewed-on: http://gerrit.openafs.org/4967
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ee05a1b086cf0613b340da9d977658e309981ea3
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 8 00:09:43 2011 -0400

    viced: If platform supports setting a thread title, do so
    
    Some pthread libraries support setting a name or title for individual
    threads (analogous to setproctitle() for processes).  This can be useful
    for debugging and is sometimes published for use by utilities like ps
    (again like setproctitle() for processes).  The two most common variants
    of this have the same signature with slightly different function names.
    If either one is present, use it in viced (which already assigns a thread
    name when compiled for LWP but ignores it in pthreads compilations).
    
    Change-Id: I5486aa6a21dbc3c8885b94ad52c2b1a66baae81f
    Reviewed-on: http://gerrit.openafs.org/4950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 52fee7140325d905f01798d7c5724744b606ac06
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 11 00:19:17 2011 +0100

    Windows: Move file server lock releases to daemon
    
    Create a new lock daemon thread which performs regular
    cm_LockCheck() calls.  If a lock is deleted check the cm_scache_t
    to see if the matching file server lock should be dropped.   If yes,
    drop it.
    
    This effectively caches file server locks for two seconds after
    they are released to provide a chance for subsequent local lock
    requests on the same file to avoid a file server RPC.  It also
    ensures that windows processes do not thrash the file server and
    force callback breaks.
    
    Change-Id: I1c452e231ff282d9b45026aed1b02ab0c5932a77
    Reviewed-on: http://gerrit.openafs.org/4964
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1accef4e77c8cad518d728d15fbd194bebd49f33
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Thu Jul 7 10:39:10 2011 -0400

    Red Hat: use repoquery to find kernels in build script
    
    Remove the custom yum Python code in favor of repoquery.
    
    Change-Id: Ifb185297666e5365974c342814ed3c2d2a54092e
    Reviewed-on: http://gerrit.openafs.org/4926
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3559e5c8edd90ffb17e8f3b722ff014654bae336
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Fri Jul 8 11:13:59 2011 -0600

    OpenBSD: Add <sys/queue.h> header for <sys/lockf.h>
    
    On OpenBSD, the <sys/lockf.h> header requires the TAILQ_* macros
    which are defined in <sys/queue.h>. The latter is not automatically
    included by <sys/lockf.h> . This patch makes sure that it is
    available by putting it into the OpenBSD-specific param.h files
    (so as not to impact any other OS).
    
    Change-Id: I8281b085eed2a6dec1f096ad9a6e96078c1e4af0
    Reviewed-on: http://gerrit.openafs.org/4956
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53434c828d0fed96a90e8f984460c323282c4d7b
Author: Garrett Wollman <wollman@csail.mit.edu>
Date:   Fri Jul 8 22:40:27 2011 -0400

    viced: indent nested preprocessor directives
    
    Make viced.c look more like other source files by indenting nested
    preprocessor directives.  In a few case it made more sense to
    eliminate the nesting.  This should otherwise be a whitespace-only
    chnage.
    
    Change-Id: I895ea2f754f90a15daa73cea24d3da9576fff9c9
    Reviewed-on: http://gerrit.openafs.org/4959
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 99b43273c0203881ea3d2d50f0abf000cdc0b03e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jul 10 03:43:45 2011 +0100

    rx: prevent connection channel assignment race
    
    When rx was converted to use pthreads, the code that allocates
    a call to a connection channel in rxi_ReceivePacket() was not
    made thread safe.  The code prior to this patchset permitted a race
    in the server connection case.  The rx_connection channel assignment
    in rxi_ReceivePacket() and the call destruction in rxi_FreeCall()
    and rxi_DestroyConnectionNoLock() did not consistently protect the
    rx_connection channel array using the conn_call_lock.
    
    This race could result in rxi_ReceivePacket() operating on a
    rx_call which was disconnected from the previously assigned
    rx_connection.
    
    In addition, the code in rxi_ReceivePacket() that was intended
    to protect the allocation of a call using rxi_NewCall() to the
    connection channel array was racy with itself.
    
    This patchset consistently applies the conn_call_lock to protect
    the allocation / deallocation of calls to the connection channel
    array and in the process simplifies the logic in rxi_ReceivePacket()
    as it is no longer necessary to protect against a null call pointer
    since the race can no longer be lost.
    
    Change-Id: Id61b55b4d1d57a2b9b35ea942545ef4bdc8d33f3
    Reviewed-on: http://gerrit.openafs.org/4963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 88b4e2e52799cfa5999cbc22873407ec8b77766a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 9 15:29:05 2011 +0100

    windows: include cmp_Cmd_Ref_3_en_US component
    
    when building installers actually include the html 3 man pages
    
    Change-Id: I03e47d24fa79c888dc49a9dba7e0388dafe6ce59
    Reviewed-on: http://gerrit.openafs.org/4961
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da6c97678f530ca76334613e229337a75f94e297
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 8 15:27:22 2011 -0400

    Windows: out of order lock smb v3 locking
    
    Do not obtain the smb_rctLock after holding the cm_scache_t->rw
    lock.
    
    At most one hold is required in case of lock failure.  Obtain
    it as the start of processing and drop it at the end if not required.
    
    Change-Id: I370321b087df480336c833d68e348d7f62d227b3
    Reviewed-on: http://gerrit.openafs.org/4955
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3505c444f681c8bfed3638b7393f3f40449492b5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 14 16:32:54 2009 -0500

    Add AFS::ukernel libuafs perl bindings
    
    Add the SWIG-generated AFS::ukernel perl module, which provides perl
    bindings to libuafs calls.
    
    Change-Id: I5ce480944a8c97cbca72c80e79fc40c0edb0962f
    Reviewed-on: http://gerrit.openafs.org/2048
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bbd505a8e191f69179f8dc245e0d7f96310db275
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 21 17:38:24 2011 -0600

    Add afsload
    
    Add afsload, a set of scripts used to synchronize the activity of
    numerous libuafs cache managers for testing/simulation purposes.
    
    Change-Id: I6f797d5968ea4ba3c29c1b13251f743c7d02d60d
    Reviewed-on: http://gerrit.openafs.org/4906
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 21edc432dcbb8b14c0a40feb2ea5de1bc0ae81f6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 4 16:23:30 2011 -0600

    doc: Add support for section 3 man pages
    
    Generate and install man pages (and their HTML versions) for library
    reference documentation in section 3.
    
    Change-Id: I500818097c6880e0412794661393351ab14461dc
    Reviewed-on: http://gerrit.openafs.org/3898
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6548cedbee4ea3e0f1769075717a3c05a5a0127f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 22 15:45:09 2009 -0500

    Add documentation for AFS::ukernel
    
    Add some documentation explaining some of the minor quirks in
    AFS::ukernel; specifically how some functions look a bit different
    than in plain libuafs.
    
    Change-Id: Ib8b18720c3fa6087de98d58ba8381f1ae4fb2f10
    Reviewed-on: http://gerrit.openafs.org/3902
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 21854e03eb6fe70a70ea5fecde5c4ef8074e28c9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 6 18:37:02 2011 -0400

    Windows: Improve logging for StoreMini and cm_BufWrite
    
    Add trace logging to cm_StoreMini which never had it before.
    
    Improve the logging of cm_BufWrite by adding the trucPos value
    which is the new length of the file that is being reported to
    the file server.
    
    Remove cm_buf_t data references when cm_BufWrite is performing
    operations using rx_Writev and iovec structures.
    
    Change-Id: I28798eb2232e739f665eb51499305a7a1898f824
    Reviewed-on: http://gerrit.openafs.org/4924
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ac219f537f75ac5835f750d4c9e5f4dc684c2de
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 6 18:34:05 2011 -0400

    Windows: Refactor cm_Unlock*() to avoid code duplication
    
    cm_Unlock() and cm_UnlockByKey() duplicate a significant amount
    of code.  Refactor it into a new static function, cm_IntUnlock()
    which handles the process of downgrading or releasing a file
    server lock depending upon the lock state of the cm_scache_t
    object.
    
    Change-Id: Ic5db7b3928fc0477f155183326321717ea04ace0
    Reviewed-on: http://gerrit.openafs.org/4923
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1a56229910a67cc782959beb45f56d244d6b3c4f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jul 6 18:19:31 2011 -0400

    Windows: Do not probe new servers from cm_UpdateVolumeLocation
    
    cm_NewServer() can result in a call to cm_UpdateVolumeLocation()
    if a server probe is performed.   In order to avoid recursive
    calls to cm_UpdateVolumeLocation() do not probe new servers from
    within cm_UpdateVolumeLocation().
    
    Change-Id: Icdb8efe030ae3e1f714ca72ad741bd38c692697f
    Reviewed-on: http://gerrit.openafs.org/4922
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e1e008338639d6cc0d836ff8079e6fb42021ab9e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 6 15:22:38 2011 -0500

    afs: Use 64-bit inode numbers
    
    When we have a 64-bit ino_t, use the full 64 bits, instead of always
    limiting ourselves to 32 bits.
    
    Change-Id: I8f9f552b230e1723c8b77bfe92213ca43816240c
    Reviewed-on: http://gerrit.openafs.org/4921
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2dc7ee2757f6d2ac7c2ff21ec4a9936719e884b5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 6 14:21:53 2011 -0500

    afs: Consolidate afs_calc_inum
    
    Instead of having two separate afs_calc_inum functions, just have one
    afs_calc_inum, and split off the md5 inode code into its own function
    under a LINUX20 ifdef.
    
    Change-Id: I400d2e70403905da40055238ffc2bb785659e9e0
    Reviewed-on: http://gerrit.openafs.org/4920
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3a33ce4a336223ac8aebe2fc24fd69459ab9e9db
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 6 16:23:23 2011 -0500

    afs: Use afs_calc_inum everywhere
    
    The algorithm for calculating inode numbers was copied in several
    places in libafs. Make them all use afs_calc_inum instead.
    
    Change-Id: Ie835a0b92bf940b78090fd7ca4e36aace1df9767
    Reviewed-on: http://gerrit.openafs.org/4919
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 42943aead4db2bdf9b8ec01c3917eb1c9ac9eb76
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 22 14:39:39 2011 -0500

    afs: Use cell for md5 inode numbers
    
    When calculating the inode number for a file with md5 inodes, include
    the cell number in the calculation, in order to reduce collisions
    between cells.
    
    Change-Id: I4b939042dd993419f785a78e87e68cf346b56e26
    Reviewed-on: http://gerrit.openafs.org/4902
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0a51946f7c5ca499e305f10c4c1c6cd556dbd1a7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 5 17:13:57 2011 -0500

    uss: Suppress more warnings from lex.yy.c
    
    Specify -Wold-style-definition when compiling lex.yy.c. This allows us
    to compile when --enable-checking is specified and our lex generates
    code with old-style function definitions.
    
    Change-Id: I09c87fd6274b5850952a8aaf63f0e3358100d567
    Reviewed-on: http://gerrit.openafs.org/4905
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 39083fe1edab784fcd75eacbdaaf7f6affa14c9f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 22 13:44:38 2011 -0500

    afs: Ensure afs_calc_inum yields nonzero ino
    
    afs_calc_inum can currently yield an inode of 0 if MD5-based inode
    numbers are turned on. Some userspace applications (and for some
    platforms, maybe even the kernel) make certain assumptions about the
    inode number for a file; in particular for example, 'ls' will not
    display a file with inode 0 in a normal directory listing.
    
    So, read the md5 digest until we get a non-zero result. Fall back to
    the non-md5 calculation if we still somehow end up with a 0.
    
    While this case may at first glance seem to be extremely rare, in
    practice it can occur, as the current calculation for volume
    538313506, vnode 26178 does actually yield a 0.
    
    Change-Id: Iee1ef4cc2ad66269f2c677e29d586ef0964d7c70
    Reviewed-on: http://gerrit.openafs.org/4901
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 34bdd979fc487843c26f15655b94eac7c8f98fee
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Jun 14 15:24:42 2011 -0400

    Treat Linux 3 as Linux 2.6
    
    Linux 3.0 is just a rebranded Linux 2.6.40, so we can use the same
    sysname and the same code.
    
    Change-Id: I154334dc5b73980a0d9b8abd9fd6645994f63829
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/4843
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cdd9f78f058f6d6c67d52d8b28a66f24065702d9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 6 12:33:53 2011 -0500

    Add a few missing .gitignore entries
    
    Change-Id: Ibe1498c504defc0e1779b8764c091a98576a588a
    Reviewed-on: http://gerrit.openafs.org/4904
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 78e39417af6d2b87f0cbda0b5d3bb3e4859dc0ba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 1 16:58:06 2011 -0500

    vol: Don't always FDH_REALLYCLOSE on linktable ops
    
    If we dec a linktable entry or get a free tag from the link table,
    there is no reason to FDH_REALLYCLOSE the linktable fd handle.
    FDH_REALLYCLOSE is the same as FDH_CLOSE, except that it tells the
    ihandle package that the file handle will not be used again soon. If
    we dec a linktable entry or get a free tag, there is no reason to
    think that, so just FDH_CLOSE the handle instead.
    
    Change-Id: I5f48a78528a75b984201f9ee0563b142ef59baf9
    Reviewed-on: http://gerrit.openafs.org/4903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ecac71e50e75ce5a45e297d57c480e850975af7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 1 14:25:05 2011 -0500

    DAFS: Do not clear salv state on fssync salvage
    
    When a volume is put into an error state via the FSYNC_VOL_FORCE_ERROR
    command, we clear the salvage state informaton on it, since we're
    forcing it offline and thus inaccessible. However, if we are forcing
    it to an error state because the volume needs salvaging, we just
    salvage it. In this case, do not clear the salvage state, since we
    need to know if we've already requested or scheduled a salvage so we
    can correctly keep track of the number of salvages performed.
    
    Change-Id: Ic4efd7a78bfb1b99a5308f0c67e81f4779dfe545
    Reviewed-on: http://gerrit.openafs.org/4900
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9929d1c6fcd63a2a1d250cc36f4858b0fbba02af
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Wed Jun 8 10:44:21 2011 -0400

    doc: epub and mobi support
    
    .epub is generated using dbtoepub which is still considered alpha
    software apparently and installed in a non-standard place.  for now,
    use the docbook stylesheet location to find it.  .mobi is generated
    using kindlegen from the .epub in order to have a real toc.
    
    there is some preprocessing with a custom stylesheet to make
    things "look right".  see mobi-fixup.xsl.in
    
    Change-Id: Ice92e701e2f921e70c0f98683b5e9ab44a347e3b
    Reviewed-on: http://gerrit.openafs.org/4887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 31a001f60e5fe729b315f679d1d43b367bd74ea5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 29 13:51:22 2011 -0500

    SOLARIS: Granular multiPage detection
    
    Currently, a struct vcache has a multiPage counter, indicating how
    many afs_getpage requests are in-flight for that vcache that involve
    retrieving multiple pages. Any dcache associated with such vcaches are
    then avoided when choosing dcache entries to evict from the cache,
    since we may deadlock when trying to evict a dcache entry from one of
    the earlier afs_GetOnePage calls in a particular afs_getpage request.
    
    This behavior can cause the client to become unusable if the cache
    becomes full, and the only items in the cache are dcache entries in a
    file that has an in-flight multi-page afs_getpage request. Since, in
    that case, we cannot kick out any entries from the cache, and so we
    wait forever to wait for the cache utilization to go down.
    
    To prevent this from occurring, record exactly which ranges in the
    file have in-flight multi-page afs_getpage requests, and just avoid
    dcache entries in those ranges. This way afs_GetDownD can evict dcache
    entries in the same file, but still avoid entries that would cause a
    deadlock.
    
    Also add some comments explaining this situation a bit more.
    
    Change-Id: Idb305c8b7511065301739542772d16d4fe8cd574
    Reviewed-on: http://gerrit.openafs.org/4896
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8017773587bf28a58e480f634fdccc287c443d3b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 24 16:23:13 2011 -0500

    Remove nonsensical bozon-lock defines
    
    Currently there are two preprocessor defines related to bozon locks:
    AFS_BOZONLOCK_ENV, and AFS_NOBOZO_LOCK. The former creates the pvnLock
    member of a struct vcache, and controls calls to e.g. afs_BozonLock in
    cross-platform code. The latter, if defined, turns calls to e.g.
    afs_BozonLock into no-ops.
    
    It doesn't make any sense to have both of these, since if
    AFS_BOZONLOCK_ENV and AFS_NOBOZO_LOCK are defined, the pvnLock member
    exists but is never used, since afs_BozonLock &co are no-ops. On
    Solaris, the only platform where AFS_NOBOZO_LOCK is currently defined
    (DUX used to define it before DUX was dropped), this is the case.
    
    So to make things a bit more clear, get rid of the AFS_NOBOZO_LOCK
    define, and just use AFS_BOZONLOCK_ENV to dictate whether we do
    anything with bozon locks (ppc_darwin_80 appears to be the only
    platform at this time).
    
    Remove AFS_BOZONLOCK_ENV from Solaris param files, since it doesn't
    use bozon locks. Remove all references to pvnLock in Solaris-specific
    code.
    
    Change-Id: Id72c14ec5485d35b853d38e2ea1a944a385f2b5b
    Reviewed-on: http://gerrit.openafs.org/4889
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4c2810f41ccc0ffd13506ff82811e4484090e5a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 24 15:25:46 2011 -0500

    Remove support for Solaris pre-8
    
    Remove support for all Solaris and SunOS platforms prior to Solaris 8,
    since Solaris 7 reached end-of-life in August of 2008. Remove all
    non-documentation references to sunx86_57 and earlier, sun4x_57 and
    earlier, and AFS_SUN57_ENV and earlier.
    
    References to AFS_SUN58_ENV have been changed to AFS_SUN5_ENV where
    appropriate, and AFS_SUN5_ENV now implies Solaris 8.
    AFS_SUN57_64BIT_ENV has been renamed to AFS_SUN5_64BIT_ENV.
    
    Change-Id: Ia64ce7da7bfc685fa28a5119c51ec740625456e3
    Reviewed-on: http://gerrit.openafs.org/4888
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a4e3c3be697bb99ee4846c99550cd2b52929cdca
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Tue Jun 28 22:58:29 2011 -0400

    Change wiki ref to wiki.openafs.org from stanford.edu
    
    Change wiki ref to wiki.openafs.org from stanford.edu
    
    Change-Id: I2bb70d79da529aee7a810264542aa3b381dcb972
    Reviewed-on: http://gerrit.openafs.org/4897
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f0774acd73b4698be72a5a6c46534fec7dab621c
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Thu Jun 16 19:58:49 2011 -0400

    Introduce TAP tests of man pages for command_subcommand
    
    Introduces the first batch of man page testing as part of
    the TAP tests.  We would like to fail, for example, when
    someone has added a new command to vos but not AHEM documented
    it.
    
    For now, the tests consist of checking to ensure that for
    every subcommand listed in the output of "command help"
    (e.g. vos help), fail the test if there is not a man page
    for those (e.g. vos_delentry.1 etc).
    
    Copy any of the -man-t tests and edit to make a new one
    
    All tests make use of a simple new Perl library stored
    in tests-lib/perl5 (a new area, not just named 'lib'
    because I didn't want it to be confused with a s test
    for a 'lib' in the src).
    
    Change-Id: I1e07adafe718c4549f1855c5e5b0d10dd9ab5f00
    Reviewed-on: http://gerrit.openafs.org/4846
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 73aadede037ade30dd0bf5307b8ec0c974b570ac
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Fri Jun 17 17:24:54 2011 -0400

    Styling tweak for generated HTML man pages
    
    Prefer "Georgia" as a typeface over the less readable
    Times New Roman, but with Times New Roman then "serif"
    as fallbacks.  Georgia is available everywhere.
    
    Provide 10px top/bottom and 30px left/right margin on
    the main body for readability.  Margins are good.
    
    For review:
    
    Old:
    http://docs.openafs.org/Reference/8/kas_apropos.html
    New:
    http://kickflop.net/openafs-man-20110617/kas_apropos.html
    
    Change-Id: I687b2007ef56019c5b683a43ac3811426ec825b0
    Reviewed-on: http://gerrit.openafs.org/4850
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 70c5cb7b5dc4068928a84fd9a185e26a3655ee67
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 28 09:35:02 2011 -0400

    rx: race in rx_multi processing
    
    multi_Init() registers an arrival procedure which is called when
    the first response packet for the call arrives.  If the call times
    out the multi_Body loop will call rx_EndCall() and then set
    multi_h->calls[multi_i] to NULL.  If the first data packet of the
    call arrives before rx_EndCall() is executed, then the arrival
    procedure, multi_Ready(), will be executed adding the call to the
    firstNotReady list.  When the multi_Body loop attempts to process
    the call from the firstNotReady list it attempts to dereference
    the NULL multi_call.  This race was introduced by
    be4abb4ec83a47477b254f2b3375742c4efbb063.
    
    multi_h->calls[multi_i] is set to NULL as an indicator to
    multi_Finalize() that rx_EndCall() has already been processed
    for the call.  When rx_EndCall() is executed the arrival
    procedure is cleared.
    
    If rx_EndCall() has already been processed, the fact that
    the arrival procedure has been executed must be ignored.  Add
    an additional check in multi_Body for a non-NULL call pointer
    to skip the startProc and rx_FlushWrite processing on the
    no longer existent call.
    
    Note that it is not safe to hold onto the call reference after
    rx_EndCall() has been processed since the call slot may be
    reused for a new RPC before the multi processing on all calls
    is complete.
    
    Change-Id: Ib4694a7e1d133f621d15e79534a42f780b141e34
    Reviewed-on: http://gerrit.openafs.org/4890
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 131cbaa0cf74a7b3ca24ec971a9495c8dbd73e6a
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Wed Jun 8 20:56:46 2011 -0400

    Change -n to -dryrun for backup subcommands
    
    Change -n to -dryrun for "don't do it, show it though" operation
    to be in line with agreement on -dryrun in place of -noexecute
    or -n.  Updated man page POD sources to reflect the changes
    and updated README to remove these specific todo line items.
    
    Change-Id: I5c1361dcc866ea3d1efbb0c0ddcd4a7fe513c816
    Reviewed-on: http://gerrit.openafs.org/4827
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c643f455cbe8e99ebb062427abcfec8e75a5e1a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 30 00:15:43 2011 -0400

    vos: refactor ListAddrs
    
    refactor ListAddrs to be more readable.   Clarify that -uuid and
    -host cannot be issued at the same time.  Rename 'nentries' to
    'max_index' so it is clear that ubik_VL_GetAddrs() is issued
    to set an upper-bound for the number of subsequent ubik_VL_GetAddrsU()
    calls that are issued when neither -host nor -uuid are specified.
    
    Change-Id: Icbd511722728396fda837abba39a3e6809f4d26c
    Reviewed-on: http://gerrit.openafs.org/4754
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 51fa590e704c77c0e9ba873ecb854448885030a5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 27 09:31:54 2011 -0400

    Windows: MergeStatus before SyncOpDone
    
    cm_SyncOp/cm_SyncOpDone is used to synchronize the RPC processing
    to ensure that calls which are in conflict cannot occur at the
    same time but also to ensure that the ordering of operations
    is consistent.  cm_MergeStatus() was in many cases executed after
    cm_SyncOpDone() removed the synchronization barrier which in turn
    permitted status information to be applied out of order.  Side
    effects could have included data loss due to client side file
    truncation.  More commonly two StoreData RPCs would have their
    status information applied out of order forcing the cache manager
    to invalidate all of the cached data for the file.
    
    Change-Id: I8073da701cf11cd0df2b901e81180de7c193ae23
    Reviewed-on: http://gerrit.openafs.org/4891
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9f77a2d6b3d571a928261563763913c8c6ee2938
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 23 17:51:22 2011 -0400

    Windows: TRANS2_FIND_FIRST2 for _._AFS_IOCTL_._
    
    smb_T2SearchDirSingle() must not fail directory search requests
    for the _._AFS_IOCTL_._ file.  Although this file does not actually
    exist, it is successfully processed by CreateFile operations.
    Therefore, an explicit search for it should return a valid answer.
    
    Change-Id: I9df3443f0bdf0dd05caac74f4de3a0cc64d26800
    Reviewed-on: http://gerrit.openafs.org/4884
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7532b05221caf2c382d9e8c9ca5af4a284566920
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 23 23:49:32 2011 -0400

    Windows: Fix SMB_COM_NEGOTIATE for MS11-043
    
    MS11-043 adds response validation for SMB_COM_NEGOTIATE messages
    received by the SMB Redirector.  OpenAFS failed to properly specify
    a Challenge and DomainName in the response when the security mode
    is SMB_AUTH_NONE (or share with password).  This patchset corrects
    smb_ReceiveNegotiate() so that it adheres to the protocol specification.
    
    FIXES 130033
    
    Change-Id: I3dc6e571326c7259a39d30bd80b5986ff35c743c
    Reviewed-on: http://gerrit.openafs.org/4886
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 358099b21c5c888c02bf3754702ae623378c507d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 30 10:48:58 2010 -0400

    Revert "Rx: When call receive is done, send ack all packet"
    
    This reverts commit 3cd3715e608b801b4848399e42cb47464e6e3cc3,
    which replaces an ack with an ackall; ackall processing does
    not actually mark all packets acked when it is received, so
    it is insufficient.
    
    Change-Id: I7ee90e1190688570cf3b268229972064480283cc
    Reviewed-on: http://gerrit.openafs.org/4837
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 55050f566b1fbf6a2ce3c60ddbb44d0f52d4865b
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Wed Jun 8 09:42:47 2011 -0400

    doc: fix dependencies
    
    index.html might not be built if you are building anything other than
    the html/chunk.xsl but in general this is better than before.
    
    Change-Id: I2e1b98c8a3fce65cb702274d5e276989031e338b
    Reviewed-on: http://gerrit.openafs.org/4822
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 137dd2349400a2e372f1f03e0bce327fffcb5e9e
Author: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Wed Jun 8 09:40:17 2011 -0400

    doc: prefer fop to generate pdf from docbook
    
    It would seem xsltproc -> fop -> pdf is the "modern" way to generate
    pdf from docbook now.  The hard part is finding the stylesheets.
    This should work for fedora, sles and debian.  Additionally, it brings
    some consistency--xsltproc for all the conversions.  You can still
    override via configure options if you prefer something else.
    
    Change-Id: Id779e9473a6759daddc9a61be714109b27da980e
    Reviewed-on: http://gerrit.openafs.org/4821
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6770c6c411f2766471b4dc07bd7c66794f95ba63
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jun 9 21:14:05 2011 -0400

    doc: fix some broken link specifications
    
    "local" links to section heads inside the same pod page should be written
    L</OPTIONS> instead of L<OPTIONS>.  the other broken links are assorted
    typos and capitalization changes.
    
    Change-Id: I18b57a81d984501309e96dcd4c04582e744a6db2
    Reviewed-on: http://gerrit.openafs.org/4831
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Ken Dreyer <kdreyer@usgs.gov>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ac8468ad94f0bcc51bda41be98575ae62c1cd12
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 11 23:27:10 2011 -0700

    roken: add search.h to .gitignore
    
    Change-Id: Iab524de2757af982b00ff09048b6cb4ee34d797e
    Reviewed-on: http://gerrit.openafs.org/4879
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f5349051abebd15fc2f2d77ff5b6dc81e09bdf47
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 16:25:14 2011 -0500

    DAFS: Do not attach a specialStatus'd vol
    
    If we encounter a preattached volume during GetVolume, we currently
    ignore vp->specialStatus before trying to attach. However, we will
    generally always fail to attach due to a conflicting vol op, but even
    if we don't, GetVolume always returns an error later on if
    vp->specialStatus is set. So, same some processing and attempted
    attachments by bailing out sooner if vp->specialStatus is set.
    
    Change-Id: Id5df08fe31073485e4d733c42310b42090ee8e7b
    Reviewed-on: http://gerrit.openafs.org/4874
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 926ce3d35018050bdbe8e00011884954d6b0fd80
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 18:08:21 2011 -0500

    salvager: Clear summary in RecordHeader
    
    Not every field in the summary header in RecordHeader is set, leaving
    some used uninitialized when we copy to the given volumeSummaryp (like
    'deleted'). Zero out the header before we do anything.
    
    Change-Id: I94f6e5c8b8c60675de25eb6f8290de9545ff4dd0
    Reviewed-on: http://gerrit.openafs.org/4876
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f2d067b4e48500004236b181dd5a25454f352daf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 17:51:32 2011 -0500

    Build a separate copy of vlib for dasalvager
    
    Currently dasalvager links to vlib.a. But vlib.a is built without any
    DAFS defines, and so the size of a struct DiskPartition64 is different
    (since dasalvager is built with AFS_DEMAND_ATTACH_UTIL). Build our own
    copies of the volume package files instead, with
    AFS_DEMAND_ATTACH_UTIL defined.
    
    Change-Id: I7b9f965fc18b6e6b71275912684ad041aaef19f4
    Reviewed-on: http://gerrit.openafs.org/4875
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3f47779f51dad3af7b1db43bb3fd71f1dd1b76d8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 18:34:46 2011 -0500

    dir: Remove extraneous printf from Create
    
    Change-Id: Id226d5457119a9f898aa35bc7b4d4db830a2f7fc
    Reviewed-on: http://gerrit.openafs.org/4878
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9f8757650c8985785f0934bead2314a2acff21e1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 18:33:16 2011 -0500

    dir: Fix DRead
    
    DRead was missing a return statement in one of the cases where we
    found the buffer we were looking for, so we locked the buffer but kept
    looking. Return it instead.
    
    Change-Id: If72a0ba3ce60a847f2796b51a82f0f473bbc608a
    Reviewed-on: http://gerrit.openafs.org/4877
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 25688bc2e7e8da83b4bf22d7cdc3e0214eadc455
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 21 14:58:42 2011 -0500

    vol: Do not overwrite specialStatus in attach2
    
    attach2 wants to set specialStatus to VBUSY in certain conditions
    (such as, it discovers a conflicting vol op where VVolOpSetVBusy_r is
    true). However, specialStatus may already be set to something else,
    like VMOVED if the volume is being moved off of the server. This can
    happen if the volserver has checked out and FSYNC_VOL_MOVE'd a
    preattached volume but hasn't deleted or checked the volume back in
    yet.
    
    So, if specialStatus is already set, don't touch it, so we don't start
    reporting VBUSY errors to clients when we should be reporting VMOVED,
    or some other error code previously set.
    
    Change-Id: Icb2895036620f186230e1558b8bc04d18cc45c86
    Reviewed-on: http://gerrit.openafs.org/4873
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6b833f575743d4a826750bb6913cd53232a8867f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 15:50:08 2011 +0100

    rx: Exit fast restart on non-duplicate ACK
    
    The current code only exits fast restart when we receive an ACK
    packet that contains no missing chunks at all. On a network that is
    dropping a reasonable chunk of its packets, this means that we spend
    most of the call in fast recovery. (I originally found this by running
    with the intentionally drop packets feature set to 10%)
    
    TCP's fast retransmit behaviour is that we stay in fast recovery until
    we receive our first non-duplicate acknowledgement. In TCP that means an
    acknowledgement that moves the window. In RX, it is an acknowledgment
    that ACKs a new packet.
    
    Change-Id: If8e461dd91315be845397dd1bf42771c9223d156
    Reviewed-on: http://gerrit.openafs.org/4869
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 91b351e88bdb56bfdfc2f5f16f64bb7522796581
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 13:17:07 2011 +0100

    rx: Don't limit the # of packets sent in recovery
    
    The RX transmit engine limits the number of packets sent whilst in
    loss recovery to one per invocation of the transmit engine. As the
    engine cannot be called by the application thread whilst in recovery,
    this means that we end up being limited to one packet per ACK received,
    which means that despite a growing congestion window we'll only send
    one packet per RTT (in effect, a congenstion window of 1).
    
    This will remain the case until we exit recovery, and all of a sudden
    can send a large number of packets. If this is larger than the current
    capacity of the network, we'll probably end straight back in recovery
    again.
    
    Let the congestion window do its job, by removing this arbitrary limit.
    
    Change-Id: I9f21138662b0918d6d2b885f0fb5ada7fa4c79ec
    Reviewed-on: http://gerrit.openafs.org/4868
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0b9c9e9973e8d32cdfe1fc884fb2c310cedc0404
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 13:01:35 2011 +0100

    rx: Don't wait for TQ busy when entering recovery
    
    Two different threads can cause a call to enter recovery. The event
    thread will move a call into recovery as a result of a timeout, or
    the listener thread will move it there following a fast retransmit.
    
    In both of these cases, recovery looks different. In the case of
    a timeout, we enter slow start, starting as if we were begininning
    transmission for the first time. Following fast retransmit, we enter
    fast recovery, with different starting parameters than those coming
    from slow start.
    
    As a reslt, the current behaviour, where either call sitting in
    FAST_RECOVERY_WAIT causes the other to simply return is inappropriate.
    
    Further investigation indiciates that FAST_RECOVER_WAIT is actually
    uncessary. There is no harm caused to a thread which is currently
    blocked on the network in the middle of a transmit, in adjusting the
    window size underneath it. As both of these states collapse the window,
    that thread will simply cease sending earlier.
    
    So, simplify the code, and remove the potential race between event and
    listener by removing the FAST_RECOVER_WAIT state.
    
    Change-Id: Ic2e7606136ca04c869685345b63101c346ce702b
    Reviewed-on: http://gerrit.openafs.org/4867
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e8c4fc4f37912a5d30694caef45d27374e9201e7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 12:43:44 2011 +0100

    rx: Enter loss recovery when we retransmit
    
    Since I mistakenly wrote commit 36e2d13b, RX hasn't entered congestion
    avoidance when a loss event occurs. This is bad, because on todays
    networks the majority of packet losses are due to some form of
    congestion.
    
    Now that the timeout code has been restructured, the chances of entering
    the retransmit routine in error are much much smaller, so this code
    needs to be restored.
    
    This change reverts 36e2d13b55085c996d38b30d003296c602ef8ee3. However,
    the original RX code has the problem that it assumes that all forms of
    fast recovery are the same - in particular, that the call settings that
    result from entering fast recovery due to a fast retransmit are
    identical to those resulting from a timeout. This is not the case, and
    this will be fixed in a later change.
    
    Change-Id: Iedb34437db9fcfbc90307b01e566a8d089eef4bb
    Reviewed-on: http://gerrit.openafs.org/4866
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 0118fb5387e656e515d78d48497a48f1e04a1152
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 11:58:57 2011 +0100

    rx: Add Karn-style backoffs to RX retransmits
    
    When we retransmit a packet, we may be doing so because the RTT of the
    connection has grown dramatically larger than earlier within the call.
    However, RX doesn't permit all ACKs to retransmitted packets to be
    counted within the RTT calculation.
    
    So, adopt the same approach as Karn developed for TCP, and as described
    in detail in RFC2988. When a retransmit event occurs, backoff the
    connection RTT by doubling its value, and hold at this doubled value
    until either another retransmit occurs (in which case we back off again,
    up to a predetermined ceiling), or we receive an ACK packet which we
    can use within the RTT calculation, in which case we drop back down to
    the newly measured value.
    
    This change replaces the per-packet backoff strategy originally
    implemented in RX (which, whilst allowing resent packets more chance of
    arriving, doesn't help with computing a correct RTT).
    
    Change-Id: I715dc673a0b379733e3be26fa594ea13f492a58f
    Reviewed-on: http://gerrit.openafs.org/4865
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 784babbea1247660f39463403233589a74c6e73b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 11:48:45 2011 +0100

    rx: Make clock_Add correctly add to itself
    
    With the existing clock_Add code, the following:
        struct clock a = {2, 800000};
        clock_Add(&a, &a);
    gives a clock value of {6, 600000}, rather than the expected {5, 60000}.
    
    This is because the ordering of instructions leads it to double count
    the carry on the seconds field. Reorder the instructions so that the
    carry is correctly applied.
    
    Change-Id: Ia71b387ce521a11e4caf9ec200907efe1d2be8ff
    Reviewed-on: http://gerrit.openafs.org/4864
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 280c80152522f32cf34deae96696b1db8aaaa9bb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 11:35:30 2011 +0100

    rx: Remove resending logic into its own function
    
    Create a new function, rxi_Resend, which is the entry point to running
    the transmit queue as a result of a resend event. This concentrates all
    of the resend logic into one place, removes the need for
    rxi_StartUnlocked, and means that rxi_Start's arguments don't need to
    match those of an event handler.
    
    Change-Id: I550ebbbae63b7d659bb980eea709a14882038914
    Reviewed-on: http://gerrit.openafs.org/4863
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a80a88e8ba7ac5e2afc5188add482f4e5323128e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 18 10:46:53 2011 +0100

    rx: Change the way that the RTT timer is applied
    
    RX maintains a retryTime for every packet that it has transmitted,
    which is held as the time that that packet was sent, plus the smoothed
    RTT of the connection. If a packet is in the queue with a retryTime
    older than the current time, then it is resent at the first opportunity.
    In some circumstances, this first opportunity will be as a result of
    the resend event timer expiring, in others it will happen as part of
    a normal queue run.
    
    There are a number of problems with this approach on congested networks.
    
    Firstly, on a network with a large window size, which is in "normal"
    flow, it means that we will never actually perform fast retransmit as
    the timeout for this packet will have expired before we have received
    any further ACKs. This is because, on a network with a relatively stable
    RTT the ACK for packet n+1, n+2, or n+3 cannot arrive before the
    expected time of arrival of the ACK for packet n. As we retry
    immediately this expected time of arrival has passed, we never have the
    opportunity of using these later ACKs to learn that packet n is lost.
    
    Secondly, the fact that we may resend packets from a "normal" queue run,
    rather than as a result of a resend event, means that there is no clear
    entry point for resends. As resends should be assumed to be a result of
    network congestion, and result in both the call throttling back, and the
    RTT being increased, this lack of a clean entry point makes things
    tricky.
    
    As a solution, this patch changes the way in which retransmit times are
    applied to use the algorithm described in RFC2988.
    
    *) Whenever we send a new packet, we start a timer for the current call
       rto value if one isn't already running.
    *) Whenever we receive an ACK that acknowledges new data, and we have
       packets that are sent but not yet acknowledged, we restart the
       retransmit timer using the current rto value.
    
    This alogrithm solves the first problem, as it means that if the
    connection is still flowing, we will continue to receive ACKs, and we
    can enter fast retransmit.
    
    In implementation terms, we longer track a retryTime per packet, and
    instead simply record if a packet has been sent or not. Packets which
    have been sent may only be resent as a result of a resend timer
    expiring, or of entering fast retransmit, so solving the second issue.
    
    Change-Id: Ic1e2b32876197f8a1fb620b7d70c0c3ec3f6bb88
    Reviewed-on: http://gerrit.openafs.org/4862
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 39484c6e57cf993a713b4a989d1c0c227e6f496c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 22:06:54 2011 +0100

    rx: Compute smoothed RTT per call, not per peer.
    
    RX uses the TCP RTT smoothing algorithm as described in RFC2988.
    However, the TCP algorithm is designed to accept samples from a
    single connection, accepting a new sample once per RTT.
    RFC2988 suggests that "when multiple samples are taken
    per RTT the [ alogrithm ] may keep an inadequate RTT history."
    
    In RX's implementation, we use a single instance of this alogrithm
    per peer, and input all of the samples from all of the active calls
    and connections into this same instance. This leads to us taking
    a significantly (potentially many magnitudes) larger number of samples
    per RTT, and rapidly losing the RTT history. With RX's implementation,
    short lived network events may easily bias the RTT, and cause large
    numbers of packets to time out.
    
    This change fixes this by moving the RTT calculation onto a per call
    basis. We still update the peer with our caclulated value, so that new
    calls may be created with an RTT corresponding to the current value for
    the connection, rather than having to start high and converge downwards.
    
    Change-Id: I2ed6bce63adf160c03518686ec25cbecc5084f5f
    Reviewed-on: http://gerrit.openafs.org/4861
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53fec2db10ee6a52f3374b62b2d0d7fd791d9996
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jun 21 09:34:50 2011 +0100

    rx: Make testclient build on Unix
    
    The "testclient" utility is built as part of the build on Windows.
    Fix it so that it actually builds on Unix, so we can test changes to
    testclient there.
    
    Change-Id: I751e905f6d9676598e3b7be9ccaf321250804f11
    Reviewed-on: http://gerrit.openafs.org/4872
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5614305853f0f87a2418a6fb7ca472a8ef966084
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 14 08:55:50 2011 +0100

    rx: Reverse the consumption order of idle queue
    
    Currently, the rx server thread idle queue is used in an LRU manner.
    This means that we round robin requests between all of the threads
    configured on a given system, which means that we end up thrashing
    CPU caches on machines whose workload doesn't require that all of
    the configured threads be used.
    
    Change this so that we always use the most recently idle thread. This
    isn't as "fair" to all of our waiting threads, but should mean that we
    scale better on SMP machines, as a thread that is recently idle is
    likely to have been recently scheduled.
    
    Performance numbers to follow ...
    
    Change-Id: I6072183b5ca72754755c3ac854e30a064c4187e5
    Reviewed-on: http://gerrit.openafs.org/4871
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d7d727b87b44d77ca7b108e6d21d9209b5d84c90
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 20 12:31:51 2011 -0400

    macos: package shared libraries
    
    include our shared libraries in the package when we have them
    
    Change-Id: I18a38c69410a7fded361b05479c93698e3d618e2
    Reviewed-on: http://gerrit.openafs.org/4870
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b65944973a24e9365dc1ff118ded4c3a1e25f782
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 20:35:59 2011 +0100

    rx: Remove incorrect backoff code
    
    The ACK packet handling routine contains code which causes the
    RTT to backoff if the selective ACK response indicates that there is
    a missing packet. The comment justifies this code as being in line
    with Phil Karn's work on TCP.
    
    However, the TCP behaviour is that we backoff when we enter resend. Both
    TCP and RX have difficulty computing RTTs for resent packets due to the
    ambiguous ACK problem. Whilst RX is slightly better than TCP in this
    regard, we can't always tell whether an ACK refers to the original, or
    resent packet, so resent packets are unable to contribute to the RTT.
    This means that if the RTT ends up too low for the connection, and we
    start resending every packet, the RTT will never grow to account for
    this, as we never feed it any packet samples.
    
    Karn's solution to this was to backoff (double) the RTT value when we
    resend a packet, and then to not drop it back down until we receive an
    ACK that we can count. This means that we will always get a new sample
    for the connection, and the RTT will grow again.
    
    The original author confirms that the current behaviour in RX is
    incorrect, so simply remove it with this patchset.
    
    Change-Id: I0f4af56601c43b72394d7903cacc3fc19bc9d046
    Reviewed-on: http://gerrit.openafs.org/4860
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 699330682f3cb001bf1bfbeaffd806600ccf69e8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 19:38:29 2011 +0100

    rx: Account for delayed ACKS when computing RTO
    
    RX currently only soft ACKs every second packet, therefore a soft ACK
    may be delayed by a period of time (currently 100ms, although RX did
    expose this as a public variable in earlier versions).
    
    RTT values are computed using only non-delayed ACKs, so the timeout
    is a smoothed average of the exact time taken to send and directly
    ACK a packet. Therefore, if the peer ends up using a delayed ACK for
    the packet, using just the RTT will cause that packet to be timed out.
    
    A while ago, this was dealt with by padding the calculated RTT with an
    additional 350ms. This was then removed, and changed to a 350ms minimum
    value. When this caused large numbers of spurious resends, the padding
    was restored, but with a 20ms default value. As noted above, 20ms is
    too low, as we may wait for up to 100ms before sending an ACK.
    
    This patch changes minPeerTimeout so that it does what it says on
    the tin - sets a minimum value below which the peer timout may not
    fall. It then adds to either this value, or the calculated one, 200ms
    of padding. This makes our padding identical to TCPs, and allows some
    future leway as to the softAckDelay value.
    
    Change-Id: I48ab28e03bb7c0a49fe21c21f83adbb02b7665f2
    Reviewed-on: http://gerrit.openafs.org/4859
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c0cfbc40c8ef3de65f144560918cbd2a5bf187ec
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jun 17 19:12:09 2011 +0100

    rx: Make rx_softAckDelay & rx_lastAckDelay private
    
    The values of these two parameters directly affect the modifiers
    that are needed in the peer's RTT calculations, and so can not
    arbitrarily be changed by applications.
    
    lastAckDelay has been 400ms since the first OpenAFS release, and
    that value is used as a modifier when computing the timeout of the
    last packet. It is likely that any change which made this value
    longer than 400ms would have detrimental effects on deployed clients
    
    softAckDelay has been 100ms for a similar time period. We have
    chopped and changed the value of minPeerTimeout, so it is unclear
    what the maximal value for this parameter is. For much of OpenAFS's
    life, minPeerTimeout was a 350ms padding value, which suggests that
    copying TCP, and setting the maximal value at 200ms would be a safe
    option. For now, however, leave it at 100ms to avoid unexpected
    side effects.
    
    hardAckDelay is not addressed by this patch set, as all ACK packets
    sent from the application thread are marked as delayed, and so
    currently have no part in computing RTT times. It is likely, however,
    that any changes to the hard ACK timeout should be very carefully
    considered.
    
    Change-Id: Ibdeae4577b09d120f22bb922697f92d63aaf0dff
    Reviewed-on: http://gerrit.openafs.org/4858
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 800a5642a0b9ff514519b4af30b4d0dadd471480
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Fri Jun 17 20:35:17 2011 -0400

    Documented vos restore -creation and -lastupdate
    
    Culled info from commit 21592fe6 by Kris Hees.  These allow
    one to specify how to set the creation date and last update
    date at volume restore.
    
    Change-Id: I6cfebb41c18e1acca5bbb70e3ee179c8ee976be3
    Reviewed-on: http://gerrit.openafs.org/4852
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0a318b5bb9d0f5940eeffa092f6adae025d560de
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Wed Jun 15 14:21:27 2011 -0400

    Enable -afsdb in the Red Hat packages.
    
    Change-Id: Ib701b248155a9a59da132ecb22116cc594089250
    Reviewed-on: http://gerrit.openafs.org/4844
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 03a54723eaf23b2aad0d026ba5f1a8e7343b3763
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jun 17 02:22:34 2011 -0400

    FBSD: do not FlushAllVCaches
    
    In normal operation, any AFS vcache with associated data will have
    an associated vnode, which will be on the list of vnodes associated
    with the /afs mountpoint.  We already call FreeBSD's vflush() in
    our afs_unmount, which walks the list of vnodes associated with the
    mountpoint and calls vgonel() on them, which calls VOP_CLOSE and
    VOP_RECLAIM on the vnode.  Our implementation of VOP_RECLAIM already
    calls FlushVCache, so in normal operation, FlushAllVCaches() will
    be a no-op.
    However, in the presence of bugs, it is actively harmful, causing
    panics.  For example, if a vnode has been reclaimed but FlushVCache
    failed (which we cannot report back since the VFS will panic in this
    case), and we attempt to flush it again, the associated vnode has
    already been cleaned up and we will panic.  Likewise if our list of
    vcaches becomes corrupt and has a vcache with bad or missing vnode
    for some other reason, we will panic.
    
    Since there is no gain in normal operation and abnormal operation
    is more likely to panic than save data, skip the extra flush.
    
    Change-Id: Id227ca74f4036c1c1f40a41a922e73198f16f958
    Reviewed-on: http://gerrit.openafs.org/4847
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 327f516477b3dbf6ed6302c706bbb2bf41ae7907
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jun 17 02:44:46 2011 -0400

    FBSD: do not install kdump
    
    Since it's just an empty file, installing it is rather silly.
    
    Change-Id: I93279c5d7b0e5262bfdb68cdbd92c49e1984fa97
    Reviewed-on: http://gerrit.openafs.org/4849
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d354050ab1d9e4fda9265cd119e9787f39bb6fba
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jun 10 21:49:58 2011 -0400

    Linux: remove typedef from configure test comment
    
    Remove the "typedef" from the structure element configure test
    comment.  The typedef version of the macro is used by the more
    general element test, so the comment should be more general.
    This affects comments in src/config/afsconfig.h
    
    Change-Id: If5b748e1a63de83e15906fc16e7c94b357c4363c
    Reviewed-on: http://gerrit.openafs.org/4836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 36f6eed2b458995ab973102acf74375bf0a66931
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jun 7 12:37:40 2011 -0400

    volinfo: fix false good magic line
    
    Fix false report of good magic/version numbers in volume
    header file.
    
    Change-Id: I26869b6e6ada331373d626e501f6520755d5c070
    Reviewed-on: http://gerrit.openafs.org/4817
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6cf9254ec29ef10dfd4515f192f53f6c935b2375
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 10 18:40:33 2011 -0400

    generated: take into account the things needed in master
    
    we need roken and hcrypto to build the bits we need to build the
    compiler tools on master. do so.
    
    Change-Id: I3e974a5d94bdfdf3e89f3d18aed55ed586b0034d
    Reviewed-on: http://gerrit.openafs.org/4835
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a00b11221b559aee9a3412b78757173abeabaf77
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 10 18:33:30 2011 -0400

    rxkad ticket5 function rewriting
    
    avoid conflicting with heimdal in environments where we might
    need bits of their asn1 library also
    
    Change-Id: Ib76c158297a331fcaf650c435c5696e5b5aaab8c
    Reviewed-on: http://gerrit.openafs.org/4834
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a6ef51ff50245d30624545cca05348aaa88865d0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 10 03:02:38 2011 -0400

    more death to des
    
    des is in the generated targets. kill it.
    
    Change-Id: Ifb4ad48b0f57e95842411046cb79b589669265b7
    Reviewed-on: http://gerrit.openafs.org/4833
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a3f27333c5521fdc52314bf510943c602b3cd1a0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 10 02:11:26 2011 -0400

    darwin armv6 and armv7 support
    
    simply compile lwp process assembler for both arm arches.
    
    Change-Id: Ie09ec1e3684656a492373f86e4c8be71e6abfabd
    Reviewed-on: http://gerrit.openafs.org/4832
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3f7d8ec219e1aa04b6c0417ecf5e730d40b4f149
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Mon Jun 6 16:29:28 2011 -0400

    Linux: rpm: Update openafs.spec.in to include changes to installed files
    
    * Remove several files from the packaging manifest that are no longer
    generated or included in the distribution, such as the DES header
    files.
    * Exclude the aklog_dynamic_auth man page, since it is AIX-only
    * Add new files that have appeared in the distribution, such as the
    'afsio' binary.
    * Add librokenafs.so.1 and libafshcrypto.so.1 to the base package,
    because many of the binaries in the base package are linked against
    librokenafs and the 'butc' binary is linked against libafshcrypto.
    * Move the librokenafs.{so,a} and libafshcrypto.{so,a} to the -devel
    package instead of the authlibs-devel package, now that the .so.1
    library is part of the base package.
    * Set the executable bits on the libraries installed in libdir.  This
    change is important because it causes 'rpmbuild' to generate Provide
    tag metadata for the libraries in the package, which is necessary now
    that some binaries in other packages have generated Requires tags for
    libraries packaged in the base package.  'rpmbuild' will not generate
    the Provides tag if the libraries lack executable permission.
    
    Change-Id: I8f66cf882008b5576528ccc0f4a9694015db85bb
    Reviewed-on: http://gerrit.openafs.org/4814
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b1f0bb472e237f5a6f88449db44f030c08a5a324
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 8 13:19:59 2011 -0500

    afsd: Fail gracefully on mtab open failure
    
    On Linux and IRIX, fail gracefully when we fail to open /etc/mtab,
    instead of segfaulting. Move strdup'ing cacheMountDir until after
    opening /etc/mtab, to simplify the error handling.
    
    Change-Id: I58d64548303f25a51753d093a733608fea1282e1
    Reviewed-on: http://gerrit.openafs.org/4825
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fc087f187759398a2646480eca25c1195ed23d22
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 8 23:06:58 2011 -0500

    volinfo: PrintFileNames is namei-only
    
    PrintFileNames only exists on namei, so make sure it's inside a namei
    ifdef.
    
    Change-Id: I65867b54e3747b6f3a26cdfd70ab84ed7fe4e44d
    Reviewed-on: http://gerrit.openafs.org/4830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f091ace32e3045da396d577055dafd67888ff7ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 8 22:50:27 2011 -0500

    libafs: memset dirHeader->hashTable
    
    Clear dirHeader->hashTable via memset instead of via a loop. This is
    more efficient, and avoids the loop getting optimized into an unusable
    _memset call on recent versions of Solaris Studio when building for
    the kernel.
    
    Thanks to Jeff Blaine for reporting the issue with Solaris Studio.
    
    Change-Id: Ibaa5140d510c2df7e1129352a6677594785b42b4
    Reviewed-on: http://gerrit.openafs.org/4829
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1c917cee2b948595c98b8b0645289ccc79d8ffd9
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Wed Jun 8 20:31:49 2011 -0500

    Remove NetBSD-specific debugging statement
    
    Change-Id: I458a6b50fee4ed41dd512e23de6b4e516e0ddc93
    Reviewed-on: http://gerrit.openafs.org/4828
    Reviewed-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Tested-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f88c2db3ac273171f8cfe4df60456764d98bfd29
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Wed Jun 8 14:56:58 2011 -0400

    Removed detail of prev. completed work found listed todo list
    
    A todo item was in the "Known Problems" list, but the work was
    already completed.  Cleared this item from the list (klog man
    page info about krb5, klog.krb5, fakeka)
    
    Change-Id: I9dbff50afd7bbaa6f5d20f7d4acfc796731b9c2d
    Reviewed-on: http://gerrit.openafs.org/4826
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 418a70feedb5574d28c3fbe513333b0fb102a3ca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 8 02:22:41 2011 -0400

    Windows: shell extension is multithreaded
    
    Since the shell extension is multithreaded and it is possible
    for more than one thread to be executing in the gui2fs.cpp module
    at a time, it is not safe to use a single static 'space' buffer
    by more than one thread at a time.   Move the buffer into the
    stack of each function that uses it so that we have thread safety.
    
    Change-Id: Idbec3e0027fc7e3c43b503c55c1b479bcb5984bc
    Reviewed-on: http://gerrit.openafs.org/4819
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9cde8b8854f255a2cc264e0391dbb855fcfab23b
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Jun 7 14:26:11 2011 -0400

    doc: fixes for the xsltproc -> fop -> pdf toolchain
    
    "Empty" <anchor> entities seem to trigger a bug in fop.  These are
    easily converted to reference on the containing block.  Additionally,
    <indexterm>'s seem to need to be inside a non-structural entity (like
    a <para>) in order to determine their page number/location correctly.
    
    Change-Id: I2ab577f6ba8989685257fb9429e00a71dd51075c
    Reviewed-on: http://gerrit.openafs.org/4812
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 445a8b5461c66160552136214a1d8d97de15967e
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Jun 7 11:30:18 2011 -0400

    Also install afszcm.cat for i386_fbsd
    
    The change gerrit/4760 enabled the use of gencat to actually build
    this file, but failed to also change installation logic, so it was
    sitting unused in the build tree.  Fix this, and install the file.
    This allows us to remove a shell case statement which had formerly
    been needed to enforce this restriction.
    
    Change-Id: I7f9e94b09c504193084e1e04ae137df08b27b447
    Reviewed-on: http://gerrit.openafs.org/4815
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6a22a2f4b7aa0d960cea17b419003986f6184d58
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Nov 5 00:23:23 2010 +0000

    rx: Don't maintain maxSerial
    
    There were no users within the code of the rx connection maxSerial
    element, and maintaining it required locking on a critical path. So,
    get rid of it.
    
    Change-Id: Ied5653b6f01b78525091d8bf09bdc454002eedc0
    Reviewed-on: http://gerrit.openafs.org/4797
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fe7d38f3205bd879e961f5849ed64df5b495388a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jun 5 11:04:12 2011 +0100

    rx: Reorganise transmit queue walk
    
    The transmit queue is stored in the order that we transmitted the
    packets (by sequence number). This means that we can do all of the
    ACK processing by just doing a single walk of this queue, rather
    than having to walk the queue multiple times, once for each type of
    ACK.
    
    This clarifies the queue processing, and should reduce the amount of
    time that we spending iterating large transmit queues.
    
    Change-Id: I59578956e81197bbea7ce496e2f520a2995a3e95
    Reviewed-on: http://gerrit.openafs.org/4796
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cd326b2f54c3397468807c32ce0834f73c9d5d1b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 5 18:41:24 2011 -0400

    rx: Add RX_CALL_ACKALL_SENT flag and rxi_SendAck processing
    
    3cd3715e608b801b4848399e42cb47464e6e3cc3 modified rxi_ReceiveDataPacket
    to send an ACKALL whenever RX_CALL_RECEIVE_DONE is set on the call.
    This produced the potential for a race with ACKs that set the
    firstPacket value to 'rnext' when the receive queue for the call
    has yet to be emptied.  From the perspective of receiver the ACK
    was already processed and does not require a response since the
    previously received ACKALL acknowledged the delivery of all data
    packets to the application.  When sending ACKs after ACKALL it is
    therefore required that firstPacket be set to the sequence number
    after the last unprocessed packet in the receive queue.
    
    Thanks to Simon Wilkinson for his extensive assistance in identifying
    the problem and the development of this patchset.
    
    Change-Id: I3bdf0c8f297b1d91b1a2bf3284adfeb9301874eb
    Reviewed-on: http://gerrit.openafs.org/4798
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e448824f9dac207f0198d2284988fcf97243d30e
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Thu May 26 14:22:52 2011 -0400

    Added fstrace subcommand help to binary
    
    Added subcommand help to fstrace binary.
    
    Change-Id: I00ef50a27ec9bf799c84b1c8d949a75e6be36eb3
    Reviewed-on: http://gerrit.openafs.org/4727
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ff30293624a7e31d585b9e8f2e1a439cf87b6524
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 5 16:02:46 2011 -0400

    rx: do not rxi_AckAll for one data packet call
    
    rxi_ReceiveDataPacket() calls rxi_AckAll() when the call reaches
    the RX_CALL_RECEIVE_DONE state to permit the caller to empty the
    transmit queue.  That reduces the memory consumption of the caller
    and avoids unnecessary retransmits which the call is in process.
    
    If the call data consists of a single packet it is possible that
    Ping ACK packets sent as part of connection establishment could
    race with the ACKALL and be delivered out of order.  If the Ping
    ACK is delivered second, it will be ignored by the peer forcing
    a two second delay in connection establishment.  To avoid the race
    do not send an ACKALL for a single packet call.
    
    Change-Id: I69d967b3b2e9ee77636ca12bc7ade4896bb8a071
    Reviewed-on: http://gerrit.openafs.org/4799
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 7dc0a32c3d6d09abeecdf25285ef2c205357511d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 20:07:01 2011 +0100

    ubik: Use supplied config directory in ugen
    
    ugen_ClientInit permits the configuration directory to use to be
    passed on the command line. However, it was then promptly overwritting
    the supplied directory with the standard client (or server) directories,
    depending on whether localauth was in use or not.
    
    As a start to fixing this anti-social behaviour, modify ugen so that if
    we're not doing localauth, and if the caller has passed us a config
    directory, use that instead of the system default one. This allows us to
    start creating test harnesses for our command line tools.
    
    Change-Id: I6916389ce56df4cee62845a03282c5c10d3095eb
    Reviewed-on: http://gerrit.openafs.org/4809
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 91de2dd08727f4cd1da124c4966d7a41a7ab99cf
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 31 09:27:57 2011 +0100

    tests: Use a real IP address for the test cell
    
    When creating the test CellServDB, use the IP address of the machine
    that we are running on, rather than 127.0.0.1. This makes it possible
    to actually start up ubik servers using this CellServDB.
    
    Change-Id: Iec0be80921dd1f01825177562f8a3dcc59400b9a
    Reviewed-on: http://gerrit.openafs.org/4808
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 954aa2338ce3fbaee81defe45a4d99da69d0baf7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 18:18:33 2011 +0100

    tests: Move code to add new DES keys to common
    
    Make the code which adds a new (static) DES key to a cell's
    configuration generally available, as this will also be useful in
    constructing other tests
    
    Change-Id: I5d284016628e9d25a198607ffd6f8f1a63ddf652
    Reviewed-on: http://gerrit.openafs.org/4807
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 799b3373ecfeebf790d71c6e5bf60b0845519b2d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 17:47:35 2011 +0100

    tests: Move common code to its own directory
    
    Move code for faking up an OpenAFS configuration directory into its
    own "common" directory, as it's going to be of use to more tests than
    just those in auth.
    
    Change-Id: I9c80dd66763e222deca98bc7744ff317111c6ed8
    Reviewed-on: http://gerrit.openafs.org/4806
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a9c8d2b895dc25a9e3e4515add5255840431a533
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 20:14:45 2011 +0100

    vos: Add the -config option
    
    Add the -config option to all vos commands, so that the user can set
    the location of the configuration directory to use. This is primarily
    provided for testing purposes, and will shortly be used to hook vos
    up into the TAP-style test suite.
    
    Change-Id: I610a3161c7d5d52ce43e77a400bc752d43f76134
    Reviewed-on: http://gerrit.openafs.org/4811
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 78c0e3b0efffe19c33bd0467872d65af43e5a47e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 20:02:31 2011 +0100

    cmd: Add support for disabling specific abbrevs
    
    Sometimes, when adding a new command parameter, it's necessary to
    prevent it from colliding with an existing abbreviation. This patch
    adds a new command flag CMD_NOABBRV which can be set on a parameter
    to indicate that it should not be considered when checking for
    ambiguous abbreviations.
    
    For example, if a command has the existing '-cell' option which is
    popularly abbreviated to '-c', adding a '-config' option would
    cause the existing abbreviation to stop working. However, if '-config'
    is added with the NOABBRV flag set, '-c' will continue to work.
    
    Change-Id: I3b6d718f9dd81c44fb1d10c904db6a4a0fd763b8
    Reviewed-on: http://gerrit.openafs.org/4810
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c47f81d7076d5ecb52cb68a0535a78561c224c51
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 4 13:28:26 2011 -0400

    Windows: refactor fs acl funcs into fs_acl.c
    
    The ACL structure definitions and manipulation functions
    were defined both in WINNT/afsd/fs.c and WINNT/client_exp/gui2fs.cpp.
    Extract them to WINNT/afsd/fs_acl.c and refactor them so that a
    single copy can be maintained for both modules.
    
    The most significant change is to CleanAcl() which now accepts
    a cellname instead of a file path.  By accepting a cellname the
    ACL functionality is completely isolated from the path processing
    and pioctl operations.
    
    At the present time, fs.exe calls CleanAcl() with a cell name
    and afs_shl_ext.dll does not.  All callers in fs.c have been updated
    to use the new behavior.
    
    gui2fs.cpp also comments functions that exist in the file but
    have no caller.  These can be removed at a later date if they
    are not required.
    
    Change-Id: Ibc5f411c6410769bdfeaf9e37b6d39a64958baff
    Reviewed-on: http://gerrit.openafs.org/4783
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 150e951dccdcc8a96866167f24233a8de8d45265
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 3 23:39:59 2011 -0400

    Windows: Add GetFileInformationByHandleEx to fs_InAFS
    
    If available on the operating system, use
    GetFileInformationByHandleEx to translate the path into
    the file system normalized form.  This permits paths that
    cross NTFS reparse points to be successfully evaluated as
    being in afs.   For example:
    
      c:\afs -> \\afs\all
    
    GetFileInformationByHandleEx is integrated into Vista and
    Server 2008 and above.
    
    Change-Id: I57443b01c753f12665aaac5718f639e389e2e822
    Reviewed-on: http://gerrit.openafs.org/4778
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 03810223b1b3267fb61df4806fb310a7592dff0a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 3 14:19:27 2011 -0400

    Windows: refactor fs, symlink and fs_utils
    
    over the years a large number of duplicated functionality
    has been added to symlink.c and fs.c.  Refactor both so all
    common functionality is implemented within fs_utils.c.
    
    Ensure that all functionality migrated to fs_utils.c and
    symlink.c uses the SafeString library functions.
    
    Update the build rules for afs_shl_ext.dll, afscreds.exe
    and afsconfig.exe to support the changes to fs_utils.c.
    
    Remove non-windows components from symlink.c.
    
    Change-Id: Ia7709235600f48c09282246e23b1f13d26f54e28
    Reviewed-on: http://gerrit.openafs.org/4777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8f186c0f7a48059ca561422d58073e22934ea2dc
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Sun Jun 5 16:38:53 2011 -0400

    Remove completed tasks from todo list, add info about git/gerrit preference
    
    Removed completed tasks (fstrace subcommand help in-binary and issue with
    -noexecute vs. -dryrun in vos delentry) from todo list.  Added info about
    git/gerrit preference for documentation help, but patches still allowed
    to the openafs-doc list.
    
    Change-Id: Ie49ee9a3072372163edf51f7abb246abef894f92
    Reviewed-on: http://gerrit.openafs.org/4803
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1426bccc058c32c5367dfdf23bbe7a434800e58f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 17:39:56 2011 +0100

    src/tests: Fix a couple of build issues
    
    Fix a couple of build problems with the old src/tests directory.
    Firstly, now that we're using asnprintf in libauth, we need to include
    libroken as a dependency here too.
    Secondly, the build rule for dumptool is wrong. Fix it.
    
    Change-Id: I2d9e2db169c617a323c71ac837045d2f36331321
    Reviewed-on: http://gerrit.openafs.org/4805
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 51f079e178b22595a990ed64cbe9a5b00e212421
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 27 11:51:20 2010 +0100

    rx: Make private things private
    
    Make rxi_* functions that are only used within the file that they're
    defined in actually be private, rather than sharing them with the world.
    
    Change-Id: I67b9a36e8ce3fa0d3258842a8d7a5fed31c787ce
    Reviewed-on: http://gerrit.openafs.org/4804
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 80b3648e6d8fd96bdb57d47e56b28b30e42eb303
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 14 08:37:31 2011 +0100

    rxperf: -S takes an argument
    
    The -S option to rxperf (which permits the maximum number of server
    threads to be set) takes a parameter. Update the getopt string so
    that we can give it one.
    
    Change-Id: I7effc276743d7007f8a376534b4de1650f731b64
    Reviewed-on: http://gerrit.openafs.org/4801
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cc119d63636236490789332200bf31af4c091e0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 14 08:36:49 2011 +0100

    rxperf: Build again
    
    Bring the rxperf up to date with the current library requirements of
    the rest of the tree.
    
    Change-Id: If35ba0668163d5176cf9a3df1635b4cffbc10ff2
    Reviewed-on: http://gerrit.openafs.org/4800
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit af64a0e47194982b0ea203a072bfc1861f37d43b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jun 5 21:29:08 2011 +0100

    volinfo: Use new form of cmd_AddParamWithOffset
    
    cmd_AddParmWithOffset was recently modified to change the order of
    its arguments to something clearer. Modify vol-info to use this new
    argument order
    
    Change-Id: Id94badfffb4c41cc13abd727e5674c18c58311fb
    Reviewed-on: http://gerrit.openafs.org/4802
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5fbea6da218092ef1942b5ffc8257d7b80311543
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 19:14:01 2011 +0100

    viced: Rationalise FS_STATS_DETAILED logging
    
    Every RPC handler in the fileserver contained a copy of an identical
    code block to handle starting, stopping, and recording detailed logging
    statistics. Replace all of this with a structure and 4 helper functions,
    which will make maintenance much easier.
    
    Change-Id: Ie2b0fa13fcc3e261ba435f1560e7ab5adf477afb
    Reviewed-on: http://gerrit.openafs.org/4765
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 69a3ffa32337471dbc9d89477de4c27a643394a1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 30 20:24:49 2010 +0100

    usd: Move to using real 64bit quantities
    
    Move the usd library over to using afs_int64, rather than afs_hyper_t
    now that everything in userspace is assumed to be 64bit capable.
    
    Change-Id: I9ffc0996e1696d016dae96c0a2245cf5121c49a1
    Reviewed-on: http://gerrit.openafs.org/4768
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit faaf36c32b8e24bf27c41c3ab8b774b3d5843ebc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 24 15:52:08 2011 -0400

    viced: Remove old /vice/file/parms config file
    
    This commit removes support for overriding command line options with
    the contents of /vice/file/parms. This option has never been documented,
    and only supports setting at most 15 command options. Replace the old
    function with one which checks for the existence of this file, and
    outputs a warning if it is found.
    
    Change-Id: I933475c0eb31e78dbc8a9d31b2486aa14f57bfb0
    Reviewed-on: http://gerrit.openafs.org/4716
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f64e1905798a70bdd44b4ce21d800a2bc542cee9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 30 20:03:24 2010 +0100

    usd: Make test program build again
    
    Make the USD test program build again. Note that this isn't much use
    unless you have a tape device connected to your machine.
    
    Change-Id: I01bae4035ef3db966d9f79fb5796e3608efa2cfd
    Reviewed-on: http://gerrit.openafs.org/4767
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 07f461e8e35147af605ebc86c139b31d2db0bb28
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Fri May 27 15:49:52 2011 -0400

    kvno invocation correction, language cleanup, afs/cell principal preferred
    
    Properly show kvno command syntax, add information about preferring
    'afs/cell' for the principal over 'afs', and changed "noted this down"
    to "made note of"
    
    Change-Id: I56fca2e34ce18634a155c8eb3b21760f2ee990c6
    Reviewed-on: http://gerrit.openafs.org/4740
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 23e433f10414d771937cbea5510b6006b6a7b063
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 31 08:31:55 2011 +0100

    vos: print_addrs never receives multi-homed addrs
    
    The magic address that tells the vlserver that a host is multi-homed,
    and to look up the multi-homed address structure is an internal
    implementation feature, which shouldn't be exposed to clients.
    
    print_addrs is only ever called with the results of VL_GetAddrsU, which
    has already converted any multi-homed pointers, so it doesn't need the
    logic to handle them itself.
    
    Change-Id: If8b6fd6fc433f413c3f3037160979e10c9a45a39
    Reviewed-on: http://gerrit.openafs.org/4757
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cc2bc3e17ff5f7a10c515e309f8fec47a6fa14b6
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Jun 2 19:00:47 2011 -0400

    doc: let configure find the XML tools if possible
    
    configure should attempt to find the XML tools we need to process
    the documentation.  if it can't, it should provide a safe default.
    still allow the user to override via command line.
    
    Change-Id: Ifaf3a5b090e93858c3d3c88363760c508030db90
    Change-Id: Ib9558c37b04a4533e91b172a2a62039e4ed06d6f
    Reviewed-on: http://gerrit.openafs.org/4766
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c0a55111d726b26d07661957a65e4d59f155d5e6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 23 21:18:36 2010 -0400

    xstat: cope with different size timeval structures
    
    In xstat_fs_test and afsmonitor, try to display the xstat data
    from the fileserver even if the fileserver has differently sized
    timeval structures, or different word ordering, as the xstat
    client program.
    
    Change-Id: I16f32b25f0017cdcf5e41e583eeb129469c3aeb0
    Reviewed-on: http://gerrit.openafs.org/2986
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8c2e83bab199f5d8820e27c77c7a97cee9cdd965
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 08:18:56 2011 +0100

    Linux CM: Update wait code
    
    Update the wait code to use the more modern wait_event_freezable()
    macros. If those macros are not available, fall back to the older
    wait_event_interruptible macro, and build our own
    wait_event_freezable on top of this.
    
    These changes should simplify our interactions with the wait queue
    and refrigerator bits of the kernel, as we're now using more standard
    interfaces to them.
    
    Change-Id: I5218c8a1b5b33f10355ef298008c53e416b267f9
    Reviewed-on: http://gerrit.openafs.org/4753
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7a70c2907b0435653098a611a140fea1ac0b2fac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 23:43:51 2011 +0100

    Linux CM: Use kernel allocator directly
    
    In another few locations within the Linux portion of the cache
    manager, directly use the kernel allocator. We can do so here
    because we can guarantee that the amount of memory being allocated
    is less than the page size, and there is a kfree() in all of the
    exit paths, so we don't need the magic freeing behaviour, either.
    
    Change-Id: I9c9f3a0b8243b66cb081cd2b35f0d27aaa378934
    Reviewed-on: http://gerrit.openafs.org/4752
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 45071f4bc0a8631eb6bd09c73a24de33714fa151
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 23:40:55 2011 +0100

    Linux CM: Use kernel allocator directly for events
    
    When allocating memory for our events system, use the kernel
    allocator directly, rather than going via our shim. This is much
    more efficient, but has the drawback that we are now responsible
    for freeing our own memory, rather than it all being magically
    given back upon shutdown.
    
    Change-Id: I9cb31e4c6b5b4ff2497b627e7ab87716e6da6fa9
    Reviewed-on: http://gerrit.openafs.org/4751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 11407737f7b8335c52a000ea15cd3b3b4821f9bd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 21:41:15 2011 +0100

    Linux CM: Files don't need a page
    
    We were using osi_AllocLargeSpace to allocate our files. This gives
    a page to every struct osi_file we create, which seems a little bit
    excessive. Just use kmalloc directly instead, and let the kernel's
    allocator deal with the slabbing.
    
    Change-Id: I40d32ad0d7090e2b3b60be983d4f441968dc69dc
    Reviewed-on: http://gerrit.openafs.org/4750
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a41dee091610d3acff04e73e21eb1ecbae0980b5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 20:52:50 2011 +0100

    libafs: Tidy up iovec allocation and trimming
    
    Tidy up the way that we perform iovec allocation and trimming by
    making the rest of the world look a little bit more like Darwin.
    
    This relies upon a struct uio, followed by 16 iovecs, being able
    to fit into a SmallSpace sized block. On the majority of 32 bit
    systems, such a block is 256 bytes long (on AIX and HPUX it is
    152 bytes). With a 32bit size_t, an iovec is 8 bytes, so 16 of
    them is 128 bytes, and a struct uio is 24 bytes, giving a grand
    total of 152.
    
    Change-Id: I5243f034bcb4e1f5fa319c4f522229bd96eaae3d
    Reviewed-on: http://gerrit.openafs.org/4749
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ca465e432d67b067fc3854781b8702aaff577cc7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 17 21:30:39 2011 +0100

    Tidy up uio_t meaning
    
    On IRIX, uio_t is typedef'd to "struct uio".
    On Darwin, uio_t is typedef'd to "struct uio *".
    
    Reduce the confusion by just not using "uio_t" in places where it
    isn't being defined for us, and avoiding it completely in cross-platform
    code.
    
    Change-Id: I0cee370e25d10b1ca4627832097a9a9f1e83b4c2
    Reviewed-on: http://gerrit.openafs.org/4748
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b3232b2cb44a3df02a37efd852ecfef2f3a9e5cc
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Wed Jun 1 11:05:11 2011 -0400

    linux: rpm: Fix SELinux attributes on /afs when installing openafs-client package
    
    Since the directory /afs isn't included in the package manifest, but
    rather created in a script in the openafs-client package, it never
    gets the appropriate SELinux attributes that are required to mount a
    volume (mnt_t).
    
    This change fixes the problem by running '/sbin/restorecon' (if it is
    an executable that exists) on the /afs directory after the
    openafs-client package is installed, right after the directory is
    created.
    
    Change-Id: I3905cf8da8f7414e410acfa8df51b35abe057cd7
    Reviewed-on: http://gerrit.openafs.org/4763
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1a4262253e78aa7a4e8c58006abd3301f71bab89
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 27 18:17:44 2011 -0400

    volinfo: accept -sizeonly for -sizeOnly
    
    For consistency, allow -sizeonly (all lowercase letters) to
    request the size summary. The old option name, -sizeOnly is
    available as an alias.
    
    Define the command line option parameter positions and use
    those to set and look up the options.
    
    Change-Id: Ie6a780e02bfa35cd5399364bab614b260c391abc
    Reviewed-on: http://gerrit.openafs.org/4741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8fc3d6dfe196771a38f2bfe7275e90a73f742931
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 27 12:22:34 2011 -0400

    volinfo: accept vice partition id for -part option
    
    Accept a partition id for the -part option. For example, -part a
    is the same as -part /vicepa.
    
    Change-Id: I59d9cb71a49bbfc631c7975a859ebc3e5eccdf1a
    Reviewed-on: http://gerrit.openafs.org/4739
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6b0ad5786d09446d6ecf723c892c11d6cce4493c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 27 11:29:33 2011 -0400

    volinfo: comments
    
    Add doxygen style comment headers.
    
    Change-Id: Id8e18a102e8aa5fbb0a0e0f3c58983d93bf2bb50
    Reviewed-on: http://gerrit.openafs.org/4738
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8eddff4b785a196b2aae8be2d3a0e75fa3b6c0cf
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 27 10:27:03 2011 -0400

    volinfo: fix file size data type
    
    Use afs_sfsize_t for file size instead of int.
    
    Change-Id: If68fca11183cd7b3ecd3750609f1b989af7445f5
    Reviewed-on: http://gerrit.openafs.org/4737
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 59a1c40efbd3326a210776a0253f4f6c656a65ee
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu May 26 21:58:11 2011 -0400

    volinfo: avoid exit on errors
    
    Instead of exiting on errors, try to carry on.
    
    Change-Id: Ia8da9403c57c19ac25a3ef4dac36c3e71bd1be25
    Reviewed-on: http://gerrit.openafs.org/4736
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 277a8ad658572b60e7e460c945adee78cc04038d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 24 10:28:37 2011 -0400

    volinfo: refactor mode variables
    
    Untangle the various global mode variables, which became muddled when dsizeOnly
    and saveinodes were introduced. DumpInfo now indicates the default mode and
    DumpVnodes means print the vnode entries, not scan but sometimes print.  Remove
    unused globals.
    
    Change-Id: I9d331a19afede864ad1d23477f5e3948e59558ec
    Reviewed-on: http://gerrit.openafs.org/4735
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 56714e9a4d01d1718bbca9f3930c2993e4b7d094
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun May 22 22:53:46 2011 -0400

    volinfo: refactor volume and vnode handling code
    
    Refactor volume and vnode handling code for better
    maintainability.  Move the code invoked by -saveinodes to a new
    function. Remove an unneeded else clause in HandleVolumes.
    
    Change-Id: I02d9392ce065f78e5e84b902668b5d84242d7f5a
    Reviewed-on: http://gerrit.openafs.org/4734
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4e97b2e5f820e07ffbaf8407cca18c536d9d0f67
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed May 25 21:54:06 2011 -0400

    volinfo: refactor size counters
    
    Put the volume, partition, and server size counters into structures.
    
    Change-Id: I3bb7a25b39e191b7717dc725604fe5fe1be8045c
    Reviewed-on: http://gerrit.openafs.org/4733
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 70145b4f4affc6aabf83fc1cc34cb4de0702c83f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed May 25 18:19:22 2011 -0400

    volinfo: refactor -sizeOnly printing
    
    Refactor the -sizeOnly output processing to reduce code
    duplication and coupling with -saveinodes.
    
    Change-Id: I4d1c53678732afebba83813be676a292e2d8e62c
    Reviewed-on: http://gerrit.openafs.org/4732
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 55a41d00057106913ce2aba50772a56bc994a9a4
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue May 31 15:25:35 2011 -0400

    Enable gencat for i386_fbsd_*
    
    The machines certainly have a /usr/bin/gencat, and I see nothing
    in history to indicate a reason for this prevention.
    Allow the 32-bit machines to build afszcm.cat and make packaging
    more uniform between architectures.
    
    Change-Id: If1017d28cc804d58cfb29019158ad5b3d70da9ac
    Reviewed-on: http://gerrit.openafs.org/4760
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bcdcf5cf38951c09b39a6ef7561981f09792d03f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 23 06:24:09 2011 +0100

    vlserver: Add flags to extent address entries
    
    Add a "flags" field to the extent address entry so that we can store
    per server bit flag information. Rename the header flags feel (and
    corresponding macro) so that it's explicitly a header flag. Take
    this opportunity to also fix this comment to clarify that the header
    flags are not a copy of anything from the vlentry, but that they
    must be at the same structure offset as the vlentry flags field (so
    that something accessing an extent block as if it was a vlentry can
    see what it is from the flags)
    
    Change-Id: If8a4816418d9400fb971679c08b4777e7d83c983
    Reviewed-on: http://gerrit.openafs.org/4776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a082c4eeaeacb537f3c94d2e37a98a2a0438f2a7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 23 06:20:35 2011 +0100

    vlserver: Make space in extent block explicit
    
    The address entry side of the union within the extent addr block
    actually has a significant amount of free space. It looks as though
    the original author assumed that a UUID required 16 32-bit words,
    rather than 16 octets, and sized the structure to match.
    
    Make the free space within the structure explicit, so that it can
    be used for future expansion
    
    Verified with
      gdb vlserver
        (gdb) print sizeof(struct extentaddr)
        $1 = 128
    
    Change-Id: If67f669fb298763f054ce82447a4513c59ef7526
    Reviewed-on: http://gerrit.openafs.org/4775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a9bd64f9941b07db240b9a6c0a04df06c082fa43
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 19:15:44 2011 +0100

    vlserver: Rationalise multi homed host processing
    
    The same code for getting extent structures for multi homed hosts
    was scattered throughout vlprocs.c, sometimes with error handling,
    and sometimes without. Rationalise all of this into a pair of
    static inline functions, which do all of the hard work.
    
    Change-Id: Ib0f55e5b5f455b07753409ebff2a5cd0ca188cda
    Reviewed-on: http://gerrit.openafs.org/4774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 90507fcb104313154679f89ac22c1947c713a65d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 18:56:27 2011 +0100

    vlserver: Use correct memsets in vlentry convertor
    
    The various vlentry_to_<blah> conversion functions have obviously
    been copy and pasted from each other. However, the size of the
    structure which is being zeroed has not been updated when we are
    zeroing different structures. Fix this, so that we always clear all
    of the structure that we are filling.
    
    Change-Id: Ic822e1d2b17494574074c332c7680e94d4701c66
    Reviewed-on: http://gerrit.openafs.org/4773
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 41dc2509ba87c1778f02b4e0a1d24953e7956226
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 18:53:27 2011 +0100

    vlserver: Clean up abort logic
    
    Clean up the failure logic in the server RPC handlers so that there
    is always a single exit point upon aborts. This should make it much
    easier to fix the various problems with cleaning up memory when
    RPCs fail.
    
    Change-Id: Ia5f8e97c37bf4aca1c8f2597a21eb54d1ba094fb
    Reviewed-on: http://gerrit.openafs.org/4772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a180b0c5d8991a14f1fbd78d81dcb4754a24f4d3
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.
    
    Change-Id: Ia592abdc1c58b5cf5776bb24e67aee708275a9b0
    Reviewed-on: http://gerrit.openafs.org/4771
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e7f457469f7934be4986703081e107d26525204a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 17:57:30 2011 +0100

    vlserver: Rename errorcode to code
    
    The convention in the OpenAFS code is to use 'code' or 'ret' for
    return values from functions. Rename 'errorcode' in vlprocs.c to
    be in keeping with this convention.
    
    Change-Id: Idffd6eccdd820cb602e5c7cd66ebaa4fbd37c6b5
    Reviewed-on: http://gerrit.openafs.org/4770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a14e791541bf19c6c377e68bc2f978fba34f94b1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu May 19 15:06:15 2011 +0100

    vlserver: Tidy up request counting
    
    Tidy up the counting of requests and aborts in the vlserver. Don't
    hide a variable allocation within a macro, convert macros to inline
    functions, and make it possible to not count particular operations
    by passing in an opcode of 0.
    
    Change-Id: Ifd26027ebb97a6039b6f7f7289ffbe166627390b
    Reviewed-on: http://gerrit.openafs.org/4769
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4c9134a995f543911c1a62e6c89645bafee025a5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 14 21:43:11 2010 +0000

    Build system: Move install definitions to include
    
    Move the definitions of the INSTALL_* variables out to
    Makefile.config rather than replicating them in each file.
    
    Change-Id: I5f74dcbf544a93716994418bee3be2c51a2a82d0
    Reviewed-on: http://gerrit.openafs.org/4781
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1841860f62a4a505f991b01713bd4eaa824aa4bb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 4 18:04:48 2011 +0100

    aklog: Remove Windows specific code from header
    
    When commit 3f54c934b9c933d5f34644a096c821375db17d97 removed all of
    the Windows code from aklog, it missed the stuff in aklog.h. Get
    rid of this too, for clarity.
    
    Change-Id: I6d408ffc313d18fd512fa03494a15ec628f1e292
    Reviewed-on: http://gerrit.openafs.org/4782
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cc72cb1e811f8cffca93c8b15009534cada776ba
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jun 4 16:41:41 2011 +0100

    ubik: Initialise global version lock before use
    
    Commit e4ac552ab79be21d90397079eaf6be7050497752 introduced a global
    version lock to ubik, but doesn't initialise this lock before make use
    of it. On platforms which require that pthread mutexes are initialsed,
    this causes an assertion failure.
    
    Initialise this lock at the same time as we MUTEX_INIT all of our other
    locks.
    
    Change-Id: Ib5ef75d443101a823738fba55c0760cb1848dbcf
    Reviewed-on: http://gerrit.openafs.org/4780
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 64b255327dc6c2456ba4d4e28651b07819710a60
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon May 30 14:23:49 2011 -0400

    cmd: Reorder cmd_AddParmAtOffset arguments
    
    Reorder the arguments of this recently introduced function to
    make client code more readable.
    
    Change-Id: I37f662f849bd96176230f75783e2a1c62d94b8c9
    Reviewed-on: http://gerrit.openafs.org/4755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 13aeb1dcaee5ad4e95477464860963788c5d1469
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 13 14:53:50 2010 -0500

    xstat: print collection values in debug mode
    
    Print the values of the integers returned in the collection data
    when the -debug option is given to xstat_fs_test and xstat_cm_test
    test programs. This allows us to at least see what the unformatted
    values are when there is a mismatch in timeval sizes between the
    host and client (aka the 32/64 bit xstat bug). This change could
    break scripts which call the xstat test programs with the debug
    option. New debug output are prepended with 'debug:' to be
    easily ignored.
    
    Change-Id: I12d8d27306c50fb9f35ade2a080b3bc20542b63f
    Reviewed-on: http://gerrit.openafs.org/2878
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7d76a5b4f9eb4c0ed9e09bbc3c54a4f1f8da1bdc
Author: Rainer Strunz <Rainer.Strunz@lrz.de>
Date:   Mon Apr 18 00:09:33 2011 +0100

    fs: add support for relative ACL changes
    
    This change permits "fs setacl" to change ACLs in a relative
    manner, rather than just setting rights absolutely as it is
    done now.
    
    If a single plus (+) or minus (-) character is appended to
    the rights' letters argument, the new rights are computed
    relatively to the existing ones.
    
    A few examples should make clear that behaviour:
    
    old rights: rights set: new rights:
    -----------------------------------------------
    rl a+ rla
    rlid idwa- rl
    rla write- a
    rl write- [none] (ie. entry deleted)
    [any] read= rl
    
    As shown in the last example, a '=' character got implemented
    also (and for free) as an alternative writing of the current
    and default behaviour of just setting an ACL.
    
    FIXES 123962
    
    Change-Id: If15a4ab3c69ec44a42c8746a0b93f5e8b785d61e
    Reviewed-on: http://gerrit.openafs.org/4496
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5ad1e6cb904b953fbb04603f3ce1466dcc38cd48
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri May 6 10:40:38 2011 +0100

    dir: Prototype and function name cleanup
    
    Tidy up typing in the dir package, so that we have a specific type
    for a directory file handle.
    
    Also rename all of the functions to afs_dir_* globablly, rather than
    just renaming for kernel code.
    
    Change-Id: I6750a8eb9f0606d5debf9d677a92b9c8a63dbcf3
    Reviewed-on: http://gerrit.openafs.org/4745
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0284e65f97861e888d95576f22a93cd681813c39
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 27 14:24:56 2011 -0400

    dir: Explicitly state buffer locations for data
    
    DNew and DRead always returned directory page aligned pointers,
    however the directory code further manipulates those pointers,
    requiring the DRelease be able to fill a page when passed a pointer
    to any address within that page. This is relatively straightforward
    in the userspace implementation, but much more complex in the kernel,
    where all of the directory pages are not necessarily contiguous.
    
    Resolve this issue by making DNew, DRead and DRelease all return a
    new structure, struct DirBuffer. This structure contains both a
    pointer to the data, and an implementation specific private
    pointer to data describing the page containing the address. The
    directory code is free to play with the data pointer as it wishes,
    as long as the private pointer to the page is passed through intact.
    
    DRelease (and DVOffset) can then simply use the private pointer for
    their operations, without having to walk page lists.
    
    This new behaviour also requires changes to the directory functions
    GetBlob, FindItem and FindFid which all return pointers to directory
    data.
    
    Change-Id: I8b8b003b789976b593a7c752969f47d55f4ee707
    Reviewed-on: http://gerrit.openafs.org/4744
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b3ea4fa4ff6408cd98d610022270a5099e08c128
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon May 30 20:11:49 2011 +0100

    doc: bos != vos
    
    As it says on the tin
    
    Change-Id: I2c03f51303d01ccc772c1fc0b2ed1dd0b176892d
    Reviewed-on: http://gerrit.openafs.org/4764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b6add117ad210665a811213fe17a30fabbda3a3c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue May 31 08:28:51 2011 +0100

    vos: Don't leak/overflow bulkaddrs
    
    The vos listaddrs command repeatedly reuses a bulkaddrs array. It
    zeros it once (without freeing the allocated memory), and then
    repeatedly uses it without zeroing in a loop. This means that the XDR
    library assumes that a sufficiently large block is already allocated,
    doesn't reallocate for the incoming data, or check limits.
    
    This means that if the first call to VL_GetAddrsU returns a set of
    addresses smaller than subsequent calls, we'll write past the end
    of the array, causing memory corruption.
    
    Fix this by freeing the arrays correctly with each pass of the call.
    
    Change-Id: I540d369c1529ec3574548f42cbd48b6c2b38cebd
    Reviewed-on: http://gerrit.openafs.org/4756
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6af6a6a7cb497d4e255bed7ccf07a5db06d16b91
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Jun 1 11:48:46 2011 +0200

    libafscp: fix install/dest in sep. Objectdir
    
    When compiling libafscp in separate objdir,
    make dest and make install fail, because of wrong
    pathes. Fix it.
    
    Change-Id: Id2b672bce308609d99b343322babe890ec8d6a38
    Reviewed-on: http://gerrit.openafs.org/4761
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 750b8659281988a138db6f26f53d747175895186
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Mon May 16 14:30:24 2011 +0000

    Port cache manager to NetBSD-5 and NetBSD-current
    
    Change-Id: I3d1aa0b22bb8533718f48bd4424743299d5de019
    Reviewed-on: http://gerrit.openafs.org/4661
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ec26dae2bf32e4187e6eb5ffa0e68da143ed3713
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 26 02:04:08 2011 -0400

    macos: bulkstat sysctl
    
    make bulkstat enable/disableable via sysctl
    
    Change-Id: Ib1657964d62e402e96762394b7b61ed5e58a5fc9
    Reviewed-on: http://gerrit.openafs.org/4723
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6260c4ae51e7a2807596ddf1bd49620f98eed94c
Author: Adam Megacz <adam@megacz.com>
Date:   Fri Mar 23 12:14:41 2007 -0700

    make bozo honor -rxbind correctly
    
    Bozo needs to call rxInitHost() rather than rxInit() when -rxbind is
    present. This patch causes it to read NetInfo/NetRestrict earlier in
    the startup process so it can make that decision.
    
    FIXES 57286
    
    Change-Id: I17058f4e8e5c23fdfcfe56178d5edc5dcceafb7a
    Reviewed-on: http://gerrit.openafs.org/4729
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7270cf5607e24f8614d75cd40bc46574d330ffab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 26 01:39:18 2011 -0400

    macos: bulkstat caller reference handling
    
    if bulkstat is called and fakes up vnodes for non-dir cases, it can
    guess wrong, and we end up needing to fix up the type by swapping
    in a new vnode under the vcache. however, references are tracked on
    the vnode, and more importantly, callers can know about the vnode;
    unlinking a vcache from a vnode leaves null pointers to blow up on.
    
    thing is, we shouldn't end up with a un-fixed-up vcache in use:
    any caller of ProcessFS will notice if the vnode is the wrong type,
    and fix it. so in order to reach CStatd, we have to fix it.
    the only places where we can get a vcache in use not CStatd are:
    FindVCache, LookupVCache, GetVCache where InReadDir. The last happens
    only on Linux. LookupVCache doesn't happen anywhere that matters
    (CForeign, or we immediately dispose...). FindVCache is only called
    somewhere which won't lead to us fixing up during create, but that
    vnode isn't returned to callers; we finalize in the result of create
    and return the vnode that's linked to the vcache, which will be correct.
    
    so, the only other place we can have a reference which won't immediately
    get fixed up is in lookup, across the bulkstat call. if that's true,
    and we return from bulkstat a non-CStatd vcache, lookup will fill in the
    entry manually. so, if there are references remaining after we do a fixup,
    unmark CStatd so the caller (presumably lookup, given the above) will give
    back the vcache and retry, getting a corrected vnode as a result, with
    the reference on the vnode we want it on.
    
    Change-Id: I3b225c8d48067624f3cbac7b1f897e52193a8d55
    Reviewed-on: http://gerrit.openafs.org/4722
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7133266bafbf238ef921690c40846f3ea2d2fc8b
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Thu May 26 07:46:32 2011 +0200

    linux: add read_descriptor_t configure test and ifdef
    
    With linux 2.6.8 the struct read_descriptor_t changed.
    Add a configure-test and respective ifdef to deal with that.
    
    Change-Id: Iff1a6252707cd2119bdc0382c641934119ea0422
    Reviewed-on: http://gerrit.openafs.org/4719
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit baf7656f666e0d47047c545561345e7803b8a141
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed May 25 22:16:59 2011 +0200

    autoconf: add test for typedef'd structs
    
    AC_CHECK_LINUX_STRUCT does not work for structs which are typedef'd.
    The gcc will complain with "error: storage size of ‘_test’ isn’t known"
    and fail the test.
    Thus the new test-macro AC_CHECK_LINUX_TYPED_STRUCT.
    
    Change-Id: Ib3e933c4e09a3e950ca8d8e7a66909d86f10cfdf
    Reviewed-on: http://gerrit.openafs.org/4718
    Reviewed-by: Christof Hanke <christof.hanke@rzg.mpg.de>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9703b023cc0f5088eab5135acf7417e90ebbb2cd
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu May 26 01:11:14 2011 -0400

    FBSD: VIMAGE support
    
    Starting in FreeBSD 8.0, there is support for multiple virtual
    network stacks (generally to be exposed to separate jail(8) environments).
    It is enabled as a kernel configuration option, so our builds against
    GENERIC have not failed, but we fail to build when options VIMAGE
    is present.  Fix our variable references accordingly.
    
    Change-Id: I679361b8ea62b0eae90c0aa61287dfc2dd189481
    Submitted-by: Hiroki Sato of freebsd.org
    Reviewed-on: http://gerrit.openafs.org/4721
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cc0ba3c430ce57fb7155a22a8ed9fa6c9fa57eec
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 23 17:04:20 2011 -0500

    tests: Make -flag the first parm in command-t
    
    Move the -flag parameter to be the first parameter, to test more of
    the positional argument handling.
    
    Change-Id: I637c58e8c76bfc23919f29a1c598084275426773
    Reviewed-on: http://gerrit.openafs.org/4710
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9cbd9d71b33e42600d1714ebfcaaa86ba700556e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 23 16:51:59 2011 -0500

    tests: Use symbolic constants in command-t
    
    Change-Id: I1d7e47edc97dcdb855ad5ca732a2f015741c9d18
    Reviewed-on: http://gerrit.openafs.org/4709
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 83322372fb3d62225f0ac733f63d5dd21e8685c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 23 15:42:10 2011 -0500

    tests: Correctly pass string args in superuser-t
    
    We need to give a NULL pointer for string OUT arguments, so XDR knows
    to allocate a new string. Also free the string each time so it gets
    set back to NULL.
    
    Change-Id: I1eb0c63dc4019b855a2cbecd9e35393f2fbb0fd7
    Reviewed-on: http://gerrit.openafs.org/4708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6e2ecfbeebc255c490b9f7da129405ac3f78dacc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 25 09:35:56 2011 -0400

    cmd: Add cmd_OptionAsUint
    
    Add an accessor function which can return a unsigned int for an
    option value.
    
    Change-Id: I33bc9a2618191ca60b95086624100b54efb05ab2
    Reviewed-on: http://gerrit.openafs.org/4652
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 70624fd2ab0e580b7a34e0e9f3a83fc0d59b53c4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 23 17:11:28 2011 -0500

    cmd: Fix parsing positional args
    
    If the first parameter of a libcmd syntax is a flag, cmd_Parse was
    skipping over positional arguments, since j will be 0 at this point
    (the j variable is only used if we're processing an explicit switch).
    Effectively revert this area to what it was before
    a2f1ca5fd52ac2fb7e68b101bbe3da9878c10474 so such positional parameters
    work again.
    
    Also move the j variable to inside the only block in which it is used,
    to try and avoid such mistakes in the future.
    
    Change-Id: Ifa52cecf50a3f561c70de351a9ebd026e90eeeab
    Reviewed-on: http://gerrit.openafs.org/4711
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba76149a57f0cfd92672580b7047a557f159ee52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 23 13:26:20 2011 -0400

    Windows: ChangeLog for 1.5.9906 (1.6.0pre6)
    
    Change-Id: Ie799849d3e538b98afc49e6003b6b0f595308da5
    Reviewed-on: http://gerrit.openafs.org/4706
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b3004fbd5007d400a4cd3fb2a5b1c52d98618aab
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Tue May 17 09:40:15 2011 -0600

    Replace uintptr_t type cast with uintptrsz in afs_vcache.c
    
    A recent change (commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0)
    to afs_vcache.c contains a call to afs_warn() whose second parameter
    contains a "(uintptr_t)" type cast as part of a double type cast.
    This presents an issue on some systems, such as OpenBSD, where this
    object type is defined in a header that is not presently included.
    This change modifies that type cast to instead use the AFS-internal
    "(uintptrsz)" type which should provide the same effect.
    
    Note that an earlier version of this patch ateempted to remove the
    "offending" type cast as redundant but it was pointed out that some
    systems require this kind of cascading type cast when casting pointers
    to integers to deal with possible size issues.
    
    Change-Id: Iea81b2be1050a1c929978a99c518d86c6d1f2118
    Reviewed-on: http://gerrit.openafs.org/4671
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98a4a5498f39e242b4cd933694a4626e208f43c6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 24 15:28:02 2011 -0400

    cmd: Include aliases in help output
    
    Include any command aliases in the output from the -help option
    
    Change-Id: Ifb2ac96d9ba6fc64bffff69bac9480a6b7e8568e
    Reviewed-on: http://gerrit.openafs.org/4651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4999ed13d2355743e07587c8d7c4d23cbc073c5f
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat May 21 20:56:23 2011 -0400

    volinfo: print namei filenames of index files
    
    On namei fileservers, also print the namei filenames of the volume special
    files when the -header flag is given.
    
    Change-Id: I90112f13d0f39348ee3862fdbdb55074e8877108
    Reviewed-on: http://gerrit.openafs.org/4696
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae27283550dab33704f30e18975722e0ed2c5424
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat May 21 12:06:43 2011 -0400

    volinfo: remove code duplication in HandleVolumes
    
    Reduce duplicate code for processing volume header files when printing header
    details (-header) and calculating the volume size (-sizeOnly).
    
    Change-Id: I1f1d3b3d065901379c289065dfa1999e249662a4
    Reviewed-on: http://gerrit.openafs.org/4695
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c833ff6c5b7f9c27cf26eae4833b033bd7382c56
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat May 21 12:38:03 2011 -0400

    volinfo: fix volume aux totals output
    
    Do not print the volumes aux totals prematurely when running
    volinfo with the -headers flag on an namei fileserver. Instead
    print the aux totals only once after the link table size is found.
    
    Change-Id: I4538e2fc8978530fd2e8593e0b343a2497c7a764
    Reviewed-on: http://gerrit.openafs.org/4694
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7fe087745923bdea4571870799e484da67221d2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat May 21 07:28:41 2011 -0400

    volinfo: print errors to stderr
    
    Print volinfo errors messages to stderr instead of a mix of stdout
    and stderr. Print a consistent program name.
    
    Change-Id: Ifadae52d56a75ff7d73d639ff1dd893b1a926a28
    Reviewed-on: http://gerrit.openafs.org/4693
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ababc1ba4412ae94b29f8ba0832eac087a024af2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 20 14:44:39 2011 -0400

    volinfo: fix size totals when saving inodes
    
    Fix the volume size calculation when volinfo is invoked with
    both -sizeOnly and -saveinodes at the same time.
    
    Change-Id: Ifafe6a128918500ac6fd5f9a1e39de2d4aff785d
    Reviewed-on: http://gerrit.openafs.org/4691
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e3fb2740ba20e78fdc93308b6a2843454a6d269c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri May 20 13:53:48 2011 -0400

    doc: document volinfo -filenames option
    
    Add the namei -filenames option to the volinfo man page.
    
    Note this option as implemented implies the -vnode flag, but for
    consistency with the other fields that modify the default mode
    output, it is documented to be accompany the -vnode flag.
    
    Change-Id: I7cc5cdf5e74e65ca25ecc086e550a468b803b971
    Reviewed-on: http://gerrit.openafs.org/4690
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 97070b425d4c6e4fa4944160c0e7a6965ebb8e75
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Wed May 18 23:49:52 2011 -0400

    Added -dryrun
    
    Added missing information about -dryrun option
    
    Change-Id: I17f9e8c54c1d12c84476c9d19da48b0a5219e623
    Reviewed-on: http://gerrit.openafs.org/4680
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 33cb8a53fdc8907dafed2e77cc1da539d17397c5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed May 18 13:42:27 2011 -0400

    volinfo: fix -filenames option check
    
    Fix the logic for checking the presense of the volinfo -filenames
    option.  The original patch inadvertently added the -filenames
    check as an if-else cause to the -orphaned flag check, which
    prevents filenames from being printed when listing orphaned
    vnodes.
    
    Change-Id: I070d796e7ea9c0f5df9cf92a17eaa4004444d423
    Reviewed-on: http://gerrit.openafs.org/4689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 04087af8494b90f664ac5f274d5db4c12063f238
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 20 14:13:01 2011 -0400

    macos: bulkstat redux
    
    simplify the logic which can require sleeps in various vcache
    resolution paths. instead of the two-pass system we had before,
    just guess using the even/odd hack what type a vnode will be.
    if a vnode turns out to be a link and thus we are wrong, we
    do a fixup later. other callers who "race" with bulkstat
    (which is a supported feature, otherwise you'd have to block
    callbacks) will also call through a fixup to get the correct
    backing vnode type. this is necessary as the KPI doesn't
    let us change the type of a vnode after it's been created.
    
    side effect: eliminate many of the ugly cases where we had been
    sleeping waiting for a vnode to be finalized even before bulkstat.
    
    Change-Id: Ib888fa5577d48354725ea72305765e4341bc2366
    Reviewed-on: http://gerrit.openafs.org/4677
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0cf06f620213fa62abc16bf717779a1333ce12a0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 20 14:10:49 2011 -0400

    dynroot: mark vnode types on dynroot vnodes
    
    when we create a vnode using a dynroot fid, we weren't bothering
    to update the type from the default (typically VREG); most
    dynroot vnodes are actually VDIR...
    
    Change-Id: I1c54e8c2a3c7ffd234f3247d38730062484fec87
    Reviewed-on: http://gerrit.openafs.org/4686
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ca425b7d49a2bf4c079aa38c0abf68596eca0b30
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 19 17:02:35 2011 -0500

    SOLARIS: Reset syscalls on mod_install failure
    
    If our call to mod_install fails for any reason (for example, if the
    afs entry is missing from /etc/name_to_sysnum), we may still have set
    the sysent structures for setgroups and ioctl to point at libafs code.
    So calls to those syscalls will cause a panic, since the code they
    point to is no longer loaded.
    
    To avoid this, just reset the sysent entries back to what they were if
    we fail to load, just like we do when unloading the module.
    
    Change-Id: Ia0d6691780c749a0f550e640783c093ae45604ac
    Reviewed-on: http://gerrit.openafs.org/4685
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 89b22dfe8659cd2e576cc2cd2b455598db59aacc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 5 15:10:54 2011 -0500

    libafs: Implement unixuser RW locks
    
    Currently code dealing with changing unixuser structs does not obtain
    any locks protecting the contents of the unixuser struct, though some
    functions like afs_GetUser have a parameter indicating what type of
    lock should be obtained. This can result in the token data for a user
    being changed at the same time another thread tries to use the token
    data.
    
    To ensure mutual exclusion of such operations, add a lock field to the
    unixuser struct, and actually lock it according to the intentions of
    the relevant code.
    
    Change-Id: Idd66d72f716b7e7dc08faa31ae43e9a23639bae3
    Reviewed-on: http://gerrit.openafs.org/4636
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a82c0cc4167b729108813965bd39bf86ea15e6b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 16 13:45:49 2011 -0500

    libafs: Always use anonymous VL connections
    
    afs_NewVolumeByName was using the areq given by the caller for
    afs_SetupVolume, which may represent authenticated credentials. Give
    afs_SetupVolume &treq instead, which will be anonymous, so we don't
    have to deal with rxkad for VL lookups.
    
    Change-Id: Ie990028133173c312d2e5d9de4baa82b99cfdf7d
    Reviewed-on: http://gerrit.openafs.org/4666
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f1928b9d26cfc415911a2e4346fbfefb909745ac
Author: Jeff Blaine <jblaine@kickflop.net>
Date:   Wed May 18 21:46:52 2011 -0400

    Hide -noexecute in favor of -dryrun
    
    Makes all previous -noexecute arguments hidden (still callable)
    and replaces them with -dryrun whose help text has been made
    common where appropriate instead of the 3 previous ways the
    argument was explained.
    
    Change-Id: I0ef3daa88dc771d972131358dc6e8a23ecd5a33b
    Reviewed-on: http://gerrit.openafs.org/4678
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3ce2742c96027259de7811016be4d7548172fa76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 18 13:51:53 2011 -0400

    auth: failback to afs3-vlserver for afs3-prserver
    
    If the DNS SRV lookup is for afs3-prserver or afs3-kaserver,
    fallback to a lookup for afs3-vlserver since those services
    are traditionally hosted on the same machine as the vlserver.
    
    FIXES 129887
    
    Change-Id: Iec553415cd4f491ea5c32923c4023619bf6320e8
    Reviewed-on: http://gerrit.openafs.org/4676
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 96cd4a1862261257ed662c70f5b476bbe5591899
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 15 21:56:17 2011 -0400

    Windows: lock protected fields must be 32-bit
    
    It is not safe to protect two 16-bit fields in a structure
    with different locks.  Switch to using 32-bit fields.
    
    Increment the cm-memmap version number since the data structure
    sizes changed and the cache file must be invalidated.
    
    Change-Id: I867b4b85b4fd9fe0083ad9d0559311f1c287513f
    Reviewed-on: http://gerrit.openafs.org/4660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 586139140f5b28a99ae80faea099166f7dfe45b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 15 21:53:56 2011 -0400

    Windows: add lock assertions to cm_buf.c
    
    add lock assertions to cm_buf.c in hopes of detecting why
    periodic buf_scacheHashTable corruption is being detected.
    
    Change-Id: I247ad7090a9484ae76b2e56f6f53ef8ee5af1abc
    Reviewed-on: http://gerrit.openafs.org/4659
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 76554bfc21af5df44af6c821fbed166eb66f9e53
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 15 21:51:14 2011 -0400

    Windows: test return from krb5_cc_start_seq_get
    
    If krb5_cc_start_get fails when using Heimdal, the cursor
    is invalid and it is not safe to pass it into subsequent
    functions.
    
    Change-Id: I65193fb63c33ddcbf741c21b40128785404ea920
    Reviewed-on: http://gerrit.openafs.org/4658
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 884d0b058cea4ad6c9338fc7842ea0c619cb263d
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Mon May 16 19:53:43 2011 -0400

    doc: -afsdb uses SRV records
    
    afsd's -afsdb option now uses DNS SRV records (RFC 5864). Update the manpages
    to reflect this.
    
    Change-Id: I944df36717b53d8545765bde68c309e0229cfc79
    Reviewed-on: http://gerrit.openafs.org/4670
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ef0ac2fbb026385f2306189230c2cff8706dff06
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 16 15:16:30 2011 -0500

    viced: Don't VTakeOffline_r without glock
    
    We don't have the volume glock, so don't call _r functions.
    
    Change-Id: I7779412fdf1333941d320234e64000dfbfed0f4f
    Reviewed-on: http://gerrit.openafs.org/4669
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 6df5547a7b93af74bc49ec8d4678aafd646dda1b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 16 15:02:14 2011 -0500

    viced: Check vnode length on Rename and Link
    
    Commit 2578555d7e08131bf2fe4cdd0aa4b32567a76eb2 added vnode length
    checks when we create or remove vnodes, but not during Rename and Link
    operations (when vnodes are neither created nor destroyed). Add the
    check in Rename and Link.
    
    Change-Id: I8008380a2b9e286d2dcdabaed5ceba97909dbb37
    Reviewed-on: http://gerrit.openafs.org/4668
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 24ddd06a0dc19ad7c0b2a2847d41a5ea69665b15
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 15 14:18:57 2011 -0500

    doc: Add aklog_dynamic_auth manpage
    
    Add a manpage for the aklog_dynamic_auth LAM module.
    
    Change-Id: Ibb8583401d565ca0caea7688ac797aa85a0d6869
    Reviewed-on: http://gerrit.openafs.org/4485
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit aafdc08cfc49da4c23ecd91f9e690fd70e95df55
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.
    
    Change-Id: I0f8e801c2225560192de9c09bfa06d0387e29af3
    Reviewed-on: http://gerrit.openafs.org/4646
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0376255747ac17ed41afbc219f5a5978e58d8e9c
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.
    
    Change-Id: I3416dd1b5c94f0e836c2461771389045994e7152
    Reviewed-on: http://gerrit.openafs.org/4645
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 38efda16a2c5c9e74b5a23b5bdd2818a3353eec2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 6 13:12:17 2011 -0500

    dasalvager: unlink fsstate.dat when standalone
    
    If the DAFS salvager is running in a standalone mode, unlink the
    fileserver's fsstate.dat file if any volumes change. Otherwise, volume
    data could have changed and the fileserver will retain callback
    promises for the data in those volumes until it tries to attach the
    volume. This way, callbacks are broken via callback state
    reinitialization.
    
    A better solution is to record which volumes have changed, and the
    fileserver can break callbacks for them on startup. But this at least
    eliminates a regression from non-DAFS behavior.
    
    Change-Id: Ie443e7d43705c3015d21bd3cad1b1e05c88562be
    Reviewed-on: http://gerrit.openafs.org/4638
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cf9ef0bed92f63406123ff6bc706cf1ce4758b20
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 24 15:29:37 2011 -0400

    cmd tests: Initialise string retval
    
    The cmd_OptionAsString function attempts to free the previous value
    of the string passed to it. Make sure that we initialise the return
    value to NULL before passing it in in the test suite.
    
    Change-Id: I8500d5e6812f4d1655fc50618db472c745604e41
    Reviewed-on: http://gerrit.openafs.org/4653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 80fe111f0044aa7a67215ad92210dc72cb7eb2c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue May 10 14:16:06 2011 -0500

    libafs: Flush vcaches in afs_shutdown
    
    Currently, a few platforms (linux, linux24, solaris, irix) flush all
    vcaches during shutdown. However, they do this before calling
    afs_shutdown(), resulting in afs_FlushVCache queueing VCBs and
    possibly trying to give the callbacks back to the server.
    
    Instead of this, perform the flushes in afs_shutdown itself, so we do
    this after we try to give up all callbacks to all servers, and we do
    this while afs_shuttingdown is set, so we don't try to queue VCBs.
    This also consolidates some of the duplicated code to flush all
    vcaches, and now does this for all platforms.
    
    Change-Id: I69c9e0862972f18ecc29ff709943d9a77f2db0a9
    Reviewed-on: http://gerrit.openafs.org/4641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 330cc7c83bf8470e1e63f6e6d514f1e82008f167
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue May 10 13:45:26 2011 -0500

    libafs: GiveUpAllCallBacks at shutdown again
    
    Commit cee2c677d7de66a510d05978e3b41dcd5d8aca78 caused the cache
    manager to give up all callbacks at shutdown. But
    76158df491f47de56d1febe1d1d2d17d316c9a74 removed the call to
    afs_FlushVCBs in afs_shutdown. Put it back.
    
    Change-Id: I74b815af485482ab83b9115772e4f4221a731f3e
    Reviewed-on: http://gerrit.openafs.org/4640
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae638fa383b8270fe2461a2ad91b9101c74f3593
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue May 10 12:54:53 2011 -0500

    libafs: Do not write-lock afs_xserver on ICBS
    
    Our RXAFSCB_InitCallBackState* handler currently write-locks
    afs_xserver when it clears the SCAPS_KNOWN flag for the relevant
    server. However, the afs_xserver lock is for protecting the global
    list and hash table of server structures, and is not necessary to
    acquire in order to modify the flags of an individual server struct.
    For instance, CkSrv_GetCaps does not acquire any locks to modify the
    server flags.
    
    Taking this lock conflicts with a read lock on afs_xserver acquired by
    afs_FlushVCBs when it traverses the list of server structures.
    afs_FlushVCBs may contact a server that then calls InitCallBackState
    on us, causing a deadlock if ICBS waits for the afs_xserver lock.
    
    So, avoid locking afs_xserver in this case, to avoid that deadlock.
    
    Change-Id: Id4dea74ce85726a3da07f738e301600f46059297
    Reviewed-on: http://gerrit.openafs.org/4639
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 881aaf80cd2590925fad3eb4746ccd914e7ffd0d
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun May 15 00:32:40 2011 -0700

    Fix misspelling of writable as writeable
    
    Caught by Lintian in the strings in the butc binary, so I did a global
    search for any other occurrences.
    
    Change-Id: I5d5b433e716a62dc43d1c5376841e41d49e29ba5
    Reviewed-on: http://gerrit.openafs.org/4657
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8ee33373c1ef24572476d8189a3f6f7505bfc83a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat May 14 20:57:12 2011 -0400

    Linux: fix reading files larger than the chunk size
    
    Commit 2571b6285d5da8ef62ab38c3a938258ddd7bac4e fixed an issue with
    the use of tmpfs as a disk cache and ftruncate() on files in AFS.
    But it introduced a problem reading larger files as reported in
    RT ticket 129880.
    
    What should be compared against the current cache file size is the
    offset into the current chunk, not the overall offset for the whole
    file.
    
    FIXES: 129880
    
    Change-Id: I93008c8d0b1d70785b0b8a2e4289a04ac06cbbef
    Reviewed-on: http://gerrit.openafs.org/4656
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0b983054f88d69ca4c0cda07e94103f216bd881d
Author: Andy Cobaugh <phalenor@gmail.com>
Date:   Wed May 11 17:02:40 2011 -0400

    rpm: Really undefine %dist
    
    rpmbuild --eval '%undefine dist' wasn't sticking on redhat 5.x. I think
    the correct way to undefine this is to --define 'dist %undefined'
    
    Some redhat 5.x installs have %dist defined depending on what else has been
    installed.
    
    Change-Id: I9ad6854a337c2085bb2db5e5f98e7d2f9889c4e4
    Reviewed-on: http://gerrit.openafs.org/4643
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 050945e949135c1b98ed353fc05fcf9b8c1587bd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat May 14 13:19:52 2011 -0400

    Linux: fix permission op test for certain compilers
    
    Some compilers complain that _inode is used uninitialised here.
    Since this test requires -Werror, it causes the test to fail
    and our permission op to be used in RCU mode, leading to lockups.
    
    Initialise it to make the compilers happy.
    
    Fixes a lockup seen on kernels 2.6.38+ on Gentoo and Debian.
    
    Change-Id: Id6325e3a5a918906d547d241a39de777fb394fdc
    Reviewed-on: http://gerrit.openafs.org/4654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e4dc78845cec721013be4170231936ef371afe2f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 12 10:59:53 2011 -0400

    afscp: tellmeaboutyourself stub wants host byte order
    
    we get network byte order addresses from rx_getAllAddr; swap back
    to host order.
    
    Change-Id: Id0c5e70399422593c574958f905984c9edf8e6d4
    Reviewed-on: http://gerrit.openafs.org/4644
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4b1e329e30421b47426137d8007afdf7e2e43918
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 9 10:46:46 2011 -0400

    Windows: always try afs/cell@USER-REALM first
    
    In the KFW_AFS library, always try afs/cell@USER-REALM
    first, even when KFW_AFS_klog() is called with an explicit
    realm mapping for the cell.  An afs service principal from
    the user's realm is always preferred.  No cross realm and
    if the realm is AD, the ability to avoid the inclusion of
    a PAC.
    
    Change-Id: Ia29085e03d7c8a7c05e0c8d7991bc48b780b84fa
    Reviewed-on: http://gerrit.openafs.org/4633
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f0fe7537e7ea1dadfed7b96c90361497e624cd8c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 9 10:45:33 2011 -0400

    Windows: support dotted names in aklog
    
    Do not reject dotted principal names if the registry
    configuration states that they should be accepted.
    
    Change-Id: I675bec085f61ae2f5dc1cfd93a811655f87e0577
    Reviewed-on: http://gerrit.openafs.org/4632
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 010fc998a51a0aae2499b128ee8c671885a84e13
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 5 17:13:21 2011 -0500

    libafs: Put back GetCapabilities user reference
    
    afs_GetCapabilities gets a user reference for the conn for the
    GetCapabilities call. Put the ref back so we don't leak refs.
    
    Change-Id: I46304ea13c3d78216641f468718b23b665d046ff
    Reviewed-on: http://gerrit.openafs.org/4626
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 03f0c656c1734b9be4debdf19b8f10771ff4420a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 5 11:18:08 2011 -0500

    libafs: Get rx conn ref with afs conn ref
    
    When we get a reference to an afs_conn with afs_Conn and its variants,
    we assume we can use the tc->id rx connection without holding any
    locks. However, if tc->forceConnectFS gets set, the tc->id connection
    can be destroyed and recreated out from under us. So, to avoid using a
    possibly freed rx connection, grab a reference to the rx connection at
    the same time as we grab a reference to the afs conn. And also put
    back the same reference with afs_PutConn.
    
    Change-Id: I442886ee89c6f3fa609e47261317e647e124eecc
    Reviewed-on: http://gerrit.openafs.org/4625
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cf1d9771f4782781fd35ed68dd9736242c27fc8e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri May 6 09:49:52 2011 -0400

    Windows: replace CYGWIN envvar with CYGWINDIR
    
    The environment variable CYGWIN (starting with cygwin 1.7.1) is
    now used by CYGWIN to set configuration parameters for the cygwin
    runtime library.  OpenAFS used it to indicate the location of the
    Cygwin install directory.  Since there is a conflict, rename CYGWIN
    to CYGWINDIR.
    
    Change-Id: I98f6a7095ede4c6a91dd71d48312b0d1a55b8091
    Reviewed-on: http://gerrit.openafs.org/4629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6c825ddd806b5ace6323b36988ab085eb8944ce0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 5 20:36:38 2011 -0400

    Windows: change log for 1.5.9905
    
    Change-Id: If230ae5f0dcb811954130e118fc0ae81dc396111
    Reviewed-on: http://gerrit.openafs.org/4627
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1f48bc7a30d5df88a1e5f539ee22df3952533a88
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 5 11:37:12 2011 -0500

    libafs: Correct afs_LoopServers flags
    
    AFS_LS_DOWN was actually checking up servers, and AFS_LS_UP was
    checking down servers. Fix the handling of the 'adown' flag so we do
    the right thing. Also make afs_FlushVCBs use the symbolic name for
    adown.
    
    Change-Id: I601faf1bb712a2f76f0bb2447530af38111a71fd
    Reviewed-on: http://gerrit.openafs.org/4624
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a8e7cf15d1d0e772041adda1973bb141b95572f7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 4 19:53:22 2011 -0400

    vol: switch to rk_closesocket
    
    Use roken's rk_closesocket instead of #ifdef AFS_NT40_ENV
    conditional tests.
    
    Change-Id: I3602705cea61f07b0e05c633ab57125e43cde506
    Reviewed-on: http://gerrit.openafs.org/4623
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cb6cd6484edc0e026fe15e11fe86b9dcf106568d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 4 14:41:03 2011 -0400

    afscp: use closesocket when closing sockets
    
    close() is not portable to platforms where a socket is
    not a file descriptor.
    
    Change-Id: I7077643f45b969f8aa274f4fbb0dfbf375d6542f
    Reviewed-on: http://gerrit.openafs.org/4620
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a9c4772b7175a0bc85844c9b8bb8bdcd26bbce8c
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 2 14:54:35 2011 -0700

    Further fix gssapi.m4 for Heimdal without libroken
    
    The gssapi.m4 fix for Heimdal without libroken was incomplete.  It now
    doesn't attempt to link with libroken when probing for GSS-API
    symbols.  Thanks, Antoine Verheijen.
    
    Change-Id: Ie994c321f68d7ffba96d2cf31dcf287be8546121
    Reviewed-on: http://gerrit.openafs.org/4607
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 48633351c597278d4c8efd5a80163f0637c85aaf
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Mon May 2 21:06:34 2011 +0000

    NetBSD: DEBUG can not typically be defined
    
    Like IRIX 6.5, some NetBSD kernel structures change size in the presence
    of the DEBUG preprocessor symbol.
    
    Change-Id: I3c5acba7afd22be9b179f628dfa0c1c402c08e2a
    Reviewed-on: http://gerrit.openafs.org/4605
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 350786b3e092150a91bb4542263f648d683e3b7c
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Mon May 2 20:03:50 2011 +0000

    NetBSD: translate timeval structure format in clock_GetTime()
    
    Change-Id: I4fb81a5b809437786064402b3ced0b1659d4476b
    Reviewed-on: http://gerrit.openafs.org/4604
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 047cc473037efa62fa7698878e055ca4665e85ef
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 27 16:24:46 2011 -0500

    viced: Improve deleted client log messages
    
    Change the information logged related to deleted clients to be a
    little more useful. In particular this includes adding the client and
    host refcounts, to help see if the cause is a reference count leak.
    
    Change-Id: Iba156fb32a4838cdbd567ca4e55072337c63ba67
    Reviewed-on: http://gerrit.openafs.org/4583
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b2c6a850738437256626e0dfe743a09224879ad4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 27 15:36:44 2011 -0500

    viced: Do not try to reuse deleted client
    
    When h_FindClient_r encounters a deleted client structure, it does not
    try to find a different client structure to use. Force it to use a new
    client structure by setting client to NULL when it detects a deleted
    client.
    
    This arguably reverts part of
    4e55e30f5b2c149b350b6d6875793adf722fdc21, but the code paths in
    h_FindClient_r are very different now, so that commit is probably not
    too relevant.
    
    Change-Id: I8e5004c8a9a3d99919da8df4436e5aa97e338825
    Reviewed-on: http://gerrit.openafs.org/4582
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 230869eba8d651a54a6b58a6a69e05ef058bfe33
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Mon May 2 18:32:29 2011 +0000

    Remove unused variable
    
    Change-Id: Ib91cf666f3b66b9d8aae7bfcab290e6fede61280
    Reviewed-on: http://gerrit.openafs.org/4599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 66db3f38da5527d67631d85fd3ff5a9c77cc1f11
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 1 00:11:13 2011 -0400

    Windows: Fix caching of non-existing vols
    
    In cm_UpdateVolumeLocation() the conditional that would
    trigger the immediate return of CM_ERROR_NOSUCHVOLUME
    was backwards which prevented the caching from working.
    
    cm_CheckOfflineVolumes() is called by the daemon thread
    to reset the status of offline volumes.  Non-existing
    volumes are by definition offline and cannot be brought
    online.  Therefore, the cm_CheckOfflineVolumes() function
    should skip volumes with the CM_VOLUMEFLAG_NOEXIST flag
    set.
    
    Change-Id: If4093132322e7dd02d71c0f18d6492abbea53e01
    Reviewed-on: http://gerrit.openafs.org/4597
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1096c2db638052c5ddcc6f6a01a1513d947a7268
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 28 16:13:20 2011 -0500

    Add missing LIB_roken references
    
    With the usage of asprintf in libcmd, some more binaries require
    libroken to link. Add LIB_roken to their link lines. In src/venus for
    the fstrace rule, this causes the HP-UX case to be identical to the
    default case, so just remove the HP-UX special case.
    
    Change-Id: Ib4677b17a194cf79742bd5767d3f5cf2442973d3
    Reviewed-on: http://gerrit.openafs.org/4590
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fd545c51fe34b1452f09d4fbf6458f5b1557e895
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 29 03:59:19 2011 -0400

    avoid downward vcache pressure when entries are free
    
    we try to keep VCACHE_FREE entries free. if there's already that many free,
    do nothing.
    
    Change-Id: I7e92430329a17250f94d0435de7641fa331dd461
    Reviewed-on: http://gerrit.openafs.org/4595
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 76158df491f47de56d1febe1d1d2d17d316c9a74
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 15 12:04:32 2011 -0600

    libafs: Drop xvcache for AllocCBR
    
    Normally when we AllocCBR, we are holding xvcache write-locked, since
    it is called from FlushVCache. Before
    a309e274632993c5aeec04c6e090f5ac95837a40, when AllocCBR needs to flush
    CBRs due to a lack of space, we hit the net, giving up callbacks on
    fileservers.
    
    This can cause a problem if one of those fileservers needs to contact
    us in order to complete that request, since the callback service
    thread may be waiting for xvcache, causing a deadlock (that is
    eventually broken by network timeouts).
    
    To avoid this, drop xvcache if AllocCBR looks like it does not have
    sufficient space. Fix all callers of afs_FlushVCache to handle the
    case where we sleep, since with this change, afs_FlushVCache can sleep
    on all platforms.
    
    This partially reverts a309e274632993c5aeec04c6e090f5ac95837a40, as it
    contains an alternative method of avoiding the xvcache lock in this
    situation. This commit restores much of the code path to be much more
    similar to how it used to be, except that it allows for dropping
    xvcache for AllocCBR. This should make any change to our prior
    behavior smaller/simpler, and thus safer and more consistent with
    existing clients. This reintroduces the hard limit to how much space
    we allocate for CBRs, although the part of
    a309e274632993c5aeec04c6e090f5ac95837a40 that raised this limit is
    retained.
    
    Change-Id: Id4aaa941b3908f59390873e83e23429041c0828f
    Reviewed-on: http://gerrit.openafs.org/3958
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2a2206bfe16815a6625fee4d37520e9676d88ab4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 28 11:48:18 2011 -0500

    libafs: Use vcount, not maxvcount to trim vcaches
    
    Every five minutes we afs_ShakeLooseVCaches to try and return the
    number of vcaches in use down to the originally configured -stat level
    (when we are using dynamic vcaches). We should calculate how many
    vcaches to flush based on the number of currently active vcaches
    (afs_vcount), not the peak number (afs_maxvcount). Otherwise, once we
    exceed the configured -stat level, we will always keep trying to flush
    numerous vcaches, even if we barely have any vcaches in use.
    
    Change-Id: I875fc1d33c817dde2230946b852bb74f8ffd84c2
    Reviewed-on: http://gerrit.openafs.org/4584
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 92825d6d65dad47c86bee7b3e57618e983e6cf47
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 28 13:00:43 2011 -0700

    Resync test harness with C TAP Harness 1.7
    
    Includes the following upstream changes:
    
    Add a more complete usage message to runtests and add support for a -h
    command-line flag to display the usage message.
    
    is_double() now takes a third argument, an epsilon.  Two numbers are
    considered equal if their absolute difference is less than epsilon.
    is_double() also now treats wanted and seen values of NaN (not a
    number) as equal.  Thanks to PICCA Frédéric-Emmanuel for the proposed
    changes.
    
    The ok_program function in the shell libtap.sh library no longer
    strips text after a colon and a space from the program output if the
    expected status is non-zero.  Instead, if program output may contain
    system-specific error messages after a colon and a space, put the new
    function strip_colon_error before the program to do this stripping.
    Thanks to Carsten Hey for the idea.
    
    strip_colon_error is now smarter about preserving an initial word
    ending in a colon (which is generally the program name) while still
    stripping error messages later in the line.
    
    The test_file_path function in the shell libtap.sh library now always
    returns the empty string, rather than possible absolute paths starting
    at /, if $BUILD and $SOURCE are not set.
    
    Flush standard error in the C TAP library before printing results for
    more deterministic output.  Thanks to Carsten Hey for the idea.
    
    All of C TAP Harness now compiles with gcc -ansi -pedantic and should
    be fully C89-compatible.  Note that either C99 or SUSv3 is required to
    build C TAP Harness.  (This should not be a problem on any modern
    platform.)  Based on work by Carsten Hey.
    
    Simplify and improve output formatting in the summary of failing tests
    in some edge cases.
    
    Add explicit license statements to the files meant to be copied into
    other packages rather than referring to LICENSE.
    
    Add a test_file_path() function to the basic C and shell TAP
    libraries, which searches the build and source directories for a
    particular file and returns the full path.  This is a utility function
    that can be used to find test data files.
    
    Change-Id: I3ef84218f0e3a8b75f550c8b629b058330659b31
    Reviewed-on: http://gerrit.openafs.org/4589
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e88e369c92e8a0c4bedd136edadb21d99988d587
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 28 16:10:23 2011 -0700

    Fix various build problems with the test suite
    
    The cmd/command-t test requires libroken and was misspelled in the
    TESTS file.  Multiple tests require LD_LIBRARY_PATH to be set to find
    libafsroken if it hasn't been installed, so set it when running
    runtests via make check.  (Note that this means runtests -o will not
    work properly unless the user also sets LD_LIBRARY_PATH.)
    
    Change-Id: Ib64f0505b3b75db33adb6c7b6452dcaac0b05dbc
    Reviewed-on: http://gerrit.openafs.org/4594
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit dc3da0677264781bc99d079abfe35cd628113928
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 28 12:56:11 2011 -0700

    Resync Autoconf macros from rra-c-util 3.3
    
    This includes the following fixes:
    
    * Include krb5.h before probing for the IBM-specific header file for
      obtaining error strings to avoid Autoconf warnings on AIX.
    
    * Use [] to mark empty arguments to Autoconf macros.
    
    * Add an explicit license statement to these Autoconf macros, matching
      the normal Autoconf macro license.
    
    * Ensure rra_use_kerberos is always set so that other parts of configure
      can rely on it.
    
    Change-Id: I521d38ad6834808cf09c798aeba0efc0dd741fd6
    Reviewed-on: http://gerrit.openafs.org/4588
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4d6d5dfb60feb3fdbf4ac7b035730859eb7fb89e
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 28 12:50:35 2011 -0700

    Resync src/cf/gssapi.m4 with rra-c-util 3.3 (fixes OpenBSD)
    
    Resynchronize src/cf/gssapi.m4 with rra-c-util 3.3.  This includes
    the following fixes:
    
    * Handle the Heimdal GSS-API library on OpenBSD, which does not have
      a separate libroken.  Thanks to Antoine Verheijen for the analysis.
    
    * Search /usr/kerberos/bin for krb5-config even if that isn't on the
      user's PATH to find krb5-config on some Red Hat versions.
    
    * Use [] to mark empty arguments to Autoconf macros.
    
    * Add an explicit license (matching the normal Autoconf macro license).
    
    Change-Id: I6934ebcb3bfb0d763713aef159484b08849d4985
    Reviewed-on: http://gerrit.openafs.org/4587
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c7212aaaf155f60e28bf592a13e5a50c960e5017
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 28 13:55:09 2011 -0500

    doc: Fix 'vos endtrans' copyright
    
    SNA owns this, not me.
    
    Change-Id: I0ca601504467b825fffeca5a0529a2a529e37383
    Reviewed-on: http://gerrit.openafs.org/4586
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit af175ce2c7a4785ef1992d096adfdb27daa86ee4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 27 14:23:43 2011 -0500

    viced: Avoid ref leak on origin callback break
    
    When breaking a callback, sometimes we send a callback to the host
    that performed the callback-inducing operation. When we do this,
    currently BreakCallBack gives the origin host structure to
    MultiBreakCallBack_r, which avoids releasing that host after the
    callback is broken.
    
    However, BreakCallBack obtains a reference to every host to which it
    delivers a callback, even if it is the origin host, so a reference is
    leaked. Fix this by not ever passing a host to MultiBreakCallBack_r,
    and just have MultiBreakCallBack_r release a reference for every host
    to which it delivers a callback break.
    
    FIXES 129376
    
    Change-Id: I88503f29f80d4233c062ff448fc4d912e401e8e4
    Reviewed-on: http://gerrit.openafs.org/4581
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9a4e3ade396583d412a85c4e03238d18d5c533ee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 27 13:51:23 2011 -0500

    viced: Transfer host ref in h_FindClient_r
    
    In h_FindClient_r, we can change which client structure we're dealing
    with if we find a different client struct in the Rx conn-specific
    data. We adjust the refcounts for the client structures themselves,
    but not the associated hosts. While the host structures should be the
    same most of the time, we are not guaranteed that, so adjust their
    refcounts as well.
    
    Change-Id: I01f447da3dd2dd4306525b99049c4cd7e27f5181
    Reviewed-on: http://gerrit.openafs.org/4580
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7d72a8c5c4b9df417c9337c01e8a7f26d8f6280b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 25 22:23:40 2011 -0400

    IRIX: set vfs pointer when creating new vcaches
    
    add missing call to set our vfsp on irix.
    
    Change-Id: Id3b1c3d088e59ed535c20ef7516ce93004e78bff
    Reviewed-on: http://gerrit.openafs.org/4561
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a2f1ca5fd52ac2fb7e68b101bbe3da9878c10474
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 20 22:26:14 2011 +0100

    cmd: Support splitting switches and values with '='
    
    Some of our code uses arguments of the form -name=value. Add support
    to libcmd for dealing with this type of argument, where name is
    declared as CMD_SINGLE (or CMD_SINGLE_OR_FLAG)
    
    Change-Id: Ifb7486abc4f6bf26594936ef11749c4fe29a2e9b
    Reviewed-on: http://gerrit.openafs.org/4547
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 931a5696cbbf58504e8daf92f7c072b81ee93e7c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 19:59:13 2011 +0100

    cmd: Tidy up -help output
    
    Tidy up the output that comes from cmd's -help option by wrapping
    at 78 characters, and picking the breaks sensibly. This changes:
    
    Usage: ./vos move -id <volume name or ID> -fromserver <machine name on source> -
    frompartition <partition name on source> -toserver <machine name on destination>
     -topartition <partition name on destination> [-live] [-cell <cell name>] [-noau
    th] [-localauth] [-verbose] [-encrypt] [-noresolve] [-help]
    
    to...
    
    Usage: ./vos move -id <volume name or ID>
             -fromserver <machine name on source>
             -frompartition <partition name on source>
             -toserver <machine name on destination>
             -topartition <partition name on destination> [-live]
             [-cell <cell name>] [-noauth] [-localauth] [-verbose]
             [-encrypt] [-noresolve] [-help]
    
    Change-Id: I494c287a9370d052763b464df33e69a936edef71
    Reviewed-on: http://gerrit.openafs.org/4546
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d0d8b391b0c634f44cb019fd73fddf6ee523cfaa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 19:37:37 2011 +0100

    cmd: Add support for params with optional values
    
    Add the CMD_SINGLE_OR_FLAG option which permits a parameter to
    either have a single value, or no value at all. If it has no value,
    then it behaves in the same way as the current 'flag' implementation.
    
    Change-Id: I49cf313f1d3b9c369f87b1ff66bfcc038b8aa08a
    Reviewed-on: http://gerrit.openafs.org/4545
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f8570d2b64e72d20c31c29878de0e737cf59dec3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 12:20:14 2011 +0100

    cmd: Add parameter aliasing
    
    Add support for adding aliases for parameters, in the same way as we
    can for syntaxes. This allows multiple different names for a single
    option, as well as providing a way around problems with abbreviations.
    
    Aliases may not be abbreviated.
    
    Change-Id: I5c440cf006cd5fd0065ecf1e54213745428063f7
    Reviewed-on: http://gerrit.openafs.org/4544
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit da68fb9d1ce7adb3a800c402462b0872c769a609
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 11:41:54 2011 +0100

    cmd: Add accessor functions for options
    
    Add a load of accessor functions to help with pulling values out
    from the the cmd_syndesc structure. The idea here is to make it
    simpler to manipulate command line values, as well as starting to
    hide the structure of the cmd_syndesc structure from callers, with
    a view to eventually making it private to the cmd library.
    
    Change-Id: I38757d776364ceacd43e98fda16e995da35da65c
    Reviewed-on: http://gerrit.openafs.org/4543
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit fae24dabd0f4ae2d072e6a569f7f1f83a8df1d4e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 09:01:25 2011 +0100

    cmd: Add option to add a param at a specific pos
    
    Rather than having to use cmd_Seek, followed by cmd_AddParam,
    followed by another cmd_Seek, add a function which permits parameters
    to be added at specific reference points. This allows programs to
    declare a list (either as an enum or specific #defines) of parameter
    code points, rather than using raw numbers.
    
    Change-Id: I25c0d501e678aa2818d296c776d8c5d03b8cdabe
    Reviewed-on: http://gerrit.openafs.org/4542
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4aff5a87c2ff2dcff20eaed9bc58c9c8b5edad70
Author: Thomas L. Kula <kula@tproa.net>
Date:   Sat Feb 5 20:11:56 2011 -0500

    Add -usetokens option to libadmin test 'afscp'
    
    This adds a -usetokens option to poorly named libadmin test 'afscp' program.
    If called with this flag, 'afscp' will assume you have already acquired
    tokens, and will fetch and use them. If ran with the -authcell option,
    it will look for tokens for that cell, otherwise it will look for tokens
    in the local cell. Since the function used to fetch local tokens is
    incompatable with the kas functions, all of the kas commands have been
    modified to complain and exit if any of them all called with -usetokens.
    
    Fixed whitespace, again.
    
    Change-Id: I4f9bcbae42f6eb179168bb5d152ed36df3db8dd5
    Reviewed-on: http://gerrit.openafs.org/3899
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Steve Simmons <scs@umich.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 79d5b5cce65b10134004c4cb2b7b34ac509cba6a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 25 14:18:39 2011 -0400

    Linux: Don't read pages beyond the cache eof
    
    If we attempt to read past the end of the current cache file (for
    example, when we're extending the file with ftruncate), don't force
    the backend filesystem to populate that page with non-existent data.
    
    This will hopefully fix a bus error when using tmpfs as a backing
    cache.
    
    FIXES 128452
    
    Change-Id: I087aa1587885e97493130e5d05db6a1ed961181a
    Reviewed-on: http://gerrit.openafs.org/4562
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64c92b24447aa1a86a4557d6bab3a72b38640fce
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 26 14:44:46 2011 -0500

    Build libafscp when we lack kerberos
    
    Currently, venus fails to build without kerberos, since the
    dependencies for afsio always include afscp.h, which does not exist
    when we do not build libafscp. To fix this the easy way, and since
    libafscp is still very useful without kerberos, allow libafscp to
    build without kerberos support (which limits it to anonymous
    connections only).
    
    Change-Id: Ief620ca99223f195795dcbe746b47fcbfa2e7450
    Reviewed-on: http://gerrit.openafs.org/4577
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f314dae7fdd06d80bd8d0f333fd8ace36708d28a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 26 15:48:32 2011 -0400

    Irix: Add a simple osi_ReadRandom implementation
    
    Add an implementation of osi_ReadRandom for Irix, which just panics
    (Irix has no source of cryptographically safe entropy in the kernel).
    Whilst hcrypto requires an implementation of osi_ReadRandom, nothing
    in the current kernel module will cause it to be called, so this
    panic should never be reached.
    
    Change-Id: I7aa52f445182f8e660586241304a7379770afcaa
    Reviewed-on: http://gerrit.openafs.org/4575
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9d547f2485791b10dbf3676e997353ca9abefde1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 16 16:38:45 2011 -0400

    src/afs: Set but unused variables warning fixes
    
    Fix a few simple cases of set but unused variables under src/afs.
    
    Change-Id: I78964b7128590d5db1f2c01dd7157c23966c26a0
    Reviewed-on: http://gerrit.openafs.org/4491
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9b405a7b082a8498fb6e918df73482ad05e251ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 26 14:32:25 2011 -0500

    Fix --without-krb5
    
    Currently, specifying --without-krb5 causes the AM_CONDITIONAL
    KRB5_USES_COM_ERR to not be defined, which makes configure refuse to
    run successfully. Fix this by forcing KRB5_USES_COM_ERR to always be
    false if we are running explicitly without krb5.
    
    Change-Id: I96274847a3dbbb8436ef04f24476606cb15c6618
    Reviewed-on: http://gerrit.openafs.org/4576
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5562fbd3046ec6736d3d5b4ebbaaf4fd175aa4d4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 14:59:55 2011 +0000

    Rewrite asetkey to support extended key types
    
    Rewrite the asetkey binary so that it can support managing extended
    key files.
    
    Change-Id: Iad53e8cd4c193d8410d5f85d46d72629399b3189
    Reviewed-on: http://gerrit.openafs.org/4574
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 675bd1007de6594321c03d6f92261f909120643f
Author: Chaz Chandler <clc31@inbox.com>
Date:   Tue Apr 26 16:49:39 2011 -0400

    afsio: remove unnecessary reference to malloc.h
    
    Fixes breakage on freebsd for missing malloc.h, reported by GAWollman,
    and, since roken.h already includes stdlib.h to pull in malloc, is no
    longer necessary
    
    Change-Id: Ie7785198124fe0dee394d7c15f032f0dadb6db8c
    Change-Id: I1d5947155ba33de61d8fd23197e11c51e4791935
    Reviewed-on: http://gerrit.openafs.org/4578
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e9ac2cdf0125b802f4de4fffa1863a5b557dc807
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 22 22:23:21 2011 -0400

    ubik: add uvote_HaveSyncAndVersion
    
    Add a new function uvote_HaveSyncAndVersion() that combines the
    logic from uvote_GetSyncSite and uvote_eq_dbVersion, without
    releasing the vote lock in between.  Make use of it in
    urecovery_AllBetter.
    
    Change-Id: Ia44337da0f4335bd312cd686904f633ac19f1b63
    Reviewed-on: http://gerrit.openafs.org/4526
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9020e6e2f0357b1082705dcaa6626573433969ec
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 22 21:24:34 2011 -0400

    ubik: Defer updateUbikNetworkAddress until after RX startup
    
    The beacon package initialization has been moved to precede starting
    RX services, but the broadcast of addresses to other servers should
    be deferred until after RX is started.
    
    Make updateUbikNetworkAddress an exported function and call it
    from the general initilization sequence.
    
    Change-Id: I903398ed275f460cc8373340eed9dac6a560e1da
    Reviewed-on: http://gerrit.openafs.org/4525
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 89cdb34920e2e01adf045611ffd4d94abdbef87a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 14:37:23 2011 -0500

    ubik: locking in recovery.c
    
    Locking changes in recovery.c:
    - In urecovery_Initialize, hold the DB lock over ReplayLog
    and InitializeDB
    - Hold the DB lock over larger portions of urecovery_interact.
    Some values which should be protected were examined and modified
    without holding any locks.
    - In the early part of urecovery_interact, only take the DB lock
    when it's really needed, now that some values are protected by other
    locks.
    - DoProbe is now called without the DB lock, so it doesn't need to
    drop and re-aquire it.
    
    Change-Id: I1899b672687f0ab0eb59c74ff802750cdc377ae6
    Reviewed-on: http://gerrit.openafs.org/4524
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 44801d157e6fd0933f37f0fc6451e37bdca285f3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 16 14:19:57 2011 -0400

    ubik: always hold DB lock for urecovery_ResetState()
    
    ubik_ResetState requires callers to hold the DB lock, since it modifies
    urecovery_state.  All callers of ubeacon_AmSyncSite outside of the beacon
    package hold the DB lock, but calls from the beacon thread do not, and
    can't block on getting the DB lock if we're sync site.
    
    Add a beacon internal version of ubeacon_AmSyncSite that skips the
    call to ResetState, and have the callers take the DB lock and call
    ResetState themselves if needed.  They can take the lock in this case
    because we know we're not the sync site.  Refactor the exported
    ubeacon_AmSyncSite in terms of this new function.
    
    Change-Id: I88b231010dd52adf6e43a17802e83d12568afc6b
    Reviewed-on: http://gerrit.openafs.org/4490
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b2e6b426e6351da8b13e1d8b55be220fc98df5e5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 16 12:56:05 2011 -0400

    ubik: set UBIK_RECLABELDB before propagating version
    
    Quoting Jeffrey Hutzelman:
    
    In udisk_commit(), when committing the first write transaction
    after becoming sync site, the database is relabelled.  In this
    case, the UBIK_RECLABELDB recovery state bit should be set before
    propagating the label change to other servers, rather than after.
    
    This is because ContactQuorum_DISK_Setversion() will
    release the database lock, at which point the recovery state may
    be cleared by urecovery_ResetState() running in another thread.
    It is important that a relabelling which occurs before recovery
    state is cleared not result in the UBIK_RECLABELDB recovery state
    bit being set after; otherwise, the server may fail to correctly
    relabel the database the next time it becomes sync site.
    
    Change-Id: I9753a24c84cf45cdbb11a1d8b7ab262fbe487204
    Reviewed-on: http://gerrit.openafs.org/4489
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a6091cacd89d430d01145efbcef528d550395f1c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 16 11:52:57 2011 -0400

    ubik: remote: fix DB lock usage
    
    Many of the RPC functions in the remote package have a similar
    prologue that makes use of ubik_currentTrans before taking the
    DB lock.  Take the lock earlier, and rely on the ubik_dbase global
    instead of the dbase pointer in ubik_currentTrans.
    
    In GetVersion, take the lock earlier to cover the call to
    ubeacon_AmSyncSite.
    
    Change-Id: Ib8480163f2cab2a6ff6a6462cb67fce02f3e8094
    Reviewed-on: http://gerrit.openafs.org/4488
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a33f77b6e11214326f5e752de171602c0e9efe86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 26 10:46:41 2011 -0400

    macos: further next version support
    
    try to optimize out things which will be missing
    
    Change-Id: Ibee45ae75fa0a5cbdad9eb7a83b12cfaba85b201
    Reviewed-on: http://gerrit.openafs.org/4569
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 352c3e366c2e0a8de4550547192276e62afd2cc1
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Dec 18 23:52:43 2010 -0500

    Rename libcom_err to libafscom_err
    
    We no longer provide a compatible libcom_err, and in fact
    we renamed the symbols in our libcom_err several years ago
    to reflect this fact.
    When we build on a system where KRB5_LIBS includes
    -lkrb5 -lcom_err , the new Unix build system will pick up
    our libcom_err (as $(AFS_LDFLAGS) is the first argument in
    AFS_LDRULE and pulls in a linker search path for our libcom_err)
    which does not provide all the needed symbols for libkrb5.
    
    Fully rename our libcom_err away to avoid these conflicts.
    
    FIXES 128640
    
    Change-Id: Ifdd677609f432d42252b1716fc5e8755f3a44640
    Reviewed-on: http://gerrit.openafs.org/3547
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a8c46e5010c0b4e41ad66458b8723e32f99b427d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 22 15:23:27 2011 -0400

    Linux: cleanup aio support
    
    Code that called directly into the aio operations (ex: readv/writev)
    would bypass the AFS specific operations found in afs_linux_read
    and afs_linux_write.
    
    Rework the handlers:
    - For newer kernels with aio, let the kernel use its default read
    and write operations, and define the aio_read and aio_write operations,
    with the AFS specific bits, calling into generic_file_aio_read/write.
    The kernels default read/write operations are just wrappers around the
    aio versions.
    - For older kernels, leave things as is, pointing read and write to
    afs_linux_read/write
    
    Change-Id: I2a12c6716dc1974683c2582eb9ada5f841067dd9
    Reviewed-on: http://gerrit.openafs.org/4563
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e1414be76bed00d12030e2704dc6e7bcca04b6d1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 19 11:47:08 2011 +0100

    cmd: Split up dispatch function
    
    Split up the command line parsing behaviour out of the cmd_Dispatch
    function, and into a function of its own - cmd_Parse. This lets servers
    which only have a single "syntax" installed just parse, without needing
    to go through a dispatch function, and all of the control flow
    complexity that requires.
    
    Change-Id: Ic4325bf933ee5b28cb80db36ef9b2b5fb6763f41
    Reviewed-on: http://gerrit.openafs.org/4541
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 898d84cefe4b0bf54cc77ccca998e596710a1ee6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 18 08:31:42 2011 +0100

    cmd: Add an option to disable abbreviations
    
    Add an option to completely disable the matching of abbreviations
    when parsing command line options.
    
    Change-Id: Ic3babf584c21f389503c9c69670d400d54a6f4a6
    Reviewed-on: http://gerrit.openafs.org/4540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 616a835ad21c54a469663b1cc8d2543849d0c646
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 18 08:25:55 2011 +0100

    cmd: Add function to disable positional commands
    
    Add a new cmd_DisablePositionalCommands function which can be used
    to completely disable positional commands, for functions which have
    no desire to make use of them.
    
    Change-Id: I5646e9976e544f06902ea6f85043a6330b1ac2fe
    Reviewed-on: http://gerrit.openafs.org/4539
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 376e24b2ee910af99f65aba472e9553dc509aa5d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 23 11:42:54 2011 -0400

    cmd: Add some tests to the test suite
    
    Add some tests for the command library to the integrated test
    suite in tests. These are far from complete, and are mainly there
    to ensure that we don't break any of this functionality when modifying
    the library.
    
    Change-Id: Ib6fbdca114c005c32c5ba8c41f9e350ca67e1fb8
    Reviewed-on: http://gerrit.openafs.org/4538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0631fb7567da72e2a9df393beff22fbb98b67011
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 23 10:44:53 2011 -0400

    cmd: Make the original test suite build
    
    Make the original, command line driven, test suite build again
    
    Change-Id: I57f0ebb5b1d13acf0809c7fa005e3556e3edb798
    Reviewed-on: http://gerrit.openafs.org/4537
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5cd4282758317b24d2f63408ab4c62551bbebc03
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 25 13:58:34 2011 -0500

    pam: Fix password torching const-ness
    
    In some code branches, the PAM code "torches" a password by zeroing
    it. However, it does this through a const pointer which we otherwise
    know is not actually const. Make sure we get better type checking by
    doing this through a non-const pointer.
    
    Change-Id: Ibdb4c7b98baf964a8efdf0e8a9882f8ab29e22af
    Reviewed-on: http://gerrit.openafs.org/4554
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 94a9b2afd82b6729ddceb7ef736ddeb039e0ae1b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 25 13:53:52 2011 -0500

    pam: Password is const in setcred
    
    afs_setcred.c gets the "password" pointer from pam_get_data, which
    always gives a const pointer (unlike pam_get_item used in afs_auth.c
    &c, which sometimes gives a const or not-const pointer, depending on
    the PAM implementation).
    
    So, declare password const, to get better type checking.
    
    Change-Id: Ic34ffa54bf0bcc19c8ed3cddc9ee1384ee2dd8f0
    Reviewed-on: http://gerrit.openafs.org/4553
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8836c7ca6ab7ac4915a0282ad840bb45b8785906
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 21:41:17 2011 -0400

    Windows: afskfw return error if krb5 not loaded
    
    If the Kerberos v5 library cannot be loaded (pkrb5_init_context
    equal to NULL) return a reasonable error code instead of
    returning success and doing nothing.
    
    Change-Id: I8f77b51089d8c2a147fc9edc575dc92cd254a876
    Reviewed-on: http://gerrit.openafs.org/4560
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 55768cb94c3c33517a43885ffe17d6f551b93c1c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 21:40:28 2011 -0400

    Windows: build afskfw.c without leashw32.dll
    
    remove our dependency on mit kfw leashw32.dll
    
    Change-Id: Ifd66d77d527de27258b041e128165f234fd79ee6
    Reviewed-on: http://gerrit.openafs.org/4559
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c22155f68cbcc206085c9b76a5b769a8399841f4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 21:29:46 2011 -0400

    Windows: avoid preprocessor symbols redefinitions
    
    In afskfw.h avoid preprocessor symbol redefinitions when
    RD_AP_TIME or INTK_BADPW are already defined.
    
    Change-Id: Iccc02abf1cfd7a7941494085c1c935e89f415801
    Reviewed-on: http://gerrit.openafs.org/4558
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit de1d75da0de52b15228c215b2fbb832bb081e7da
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 21:24:32 2011 -0400

    Windows: NPLogonNotify provide password in all cases
    
    When calling KFW_AFS_get_cred() from NPLogonNotify()
    always provide the user password.  Do not count on a
    credential cache existing from a previous call.
    
    Change-Id: Ie94229a5b708ced2c3965f7bb333a67ee4d629d5
    Reviewed-on: http://gerrit.openafs.org/4557
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit df85c8095b6333214eed42205c8be4261a28dae4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 21:23:34 2011 -0400

    windows: improved logging from NPLogonNotify
    
    Improve the detail and formatting of the windows event log
    entries.
    
    Change-Id: I088f6d35afb91e146e8e6030f29dec39301b020b
    Reviewed-on: http://gerrit.openafs.org/4556
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 63fd8a3e5bcb66d7bbd7f795a8042f4a3eac87a0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 18 08:19:09 2011 +0100

    cmd: Cleanup
    
    Some assorted cleanup on cmd.c - don't cast NULL or malloc, and
    wrap some comment lines better.
    
    Change-Id: I43a757ec5a9c9b29a99b5a6490cf5e2f44489c90
    Reviewed-on: http://gerrit.openafs.org/4536
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3ea39166d64d2e66cddef015734c2f91548423af
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 16 11:22:54 2011 -0400

    pam: Clear up PAM_CONST related warnings on Linux
    
    Commit 78d1f8d8 expanded the use of PAM_CONST and introduced many
    new warnings on Linux where pam expects "const" arguments.
    
    This clears up the warnings by doing the following:
    - Cast "user" to char * when kalling ka* functions
    - Change the signature of pam_afs_prompt and pam_afs_printf to use
    PAM_CONST
    - Use a separate non-const password pointer for pam_afs_prompt
    
    Change-Id: I460e1d1ca763f0aea5edcdaa208b9d4b8299ded0
    Reviewed-on: http://gerrit.openafs.org/4487
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3cb97cdaa867b0d9fef84c683251a0a8f59a1519
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 21 16:07:05 2011 +0100

    Linux: Restrict # of cbrs we allocate at once
    
    With commit a309e274632993c5aeec04c6e090f5ac95837a40, we changed the
    number of CBRs that we allocate in a chunk from 300 to 1024. However,
    this change takes the amount of memory requried to allocate a chunk
    of CBRs above PAGE_SIZE on Linux. This changes the allocator that we
    use from kmalloc to vmalloc. Whilst we can, and do, prevent kmalloc
    from flushing filesystem pages when we invoke it, we don't have a
    similar level of control over vmalloc.
    
    In one reported case, clients deadlock whilst attempting to allocate
    this memory, in a call stack that looks something like:
    
      afs_Daemon -> afs_ShakeLooseVCaches -> osi_TryEvictVCache
          -> afs_FlushVCache -> afs_QueueVCB -> afs_AllocCBR
          -> osi_linux_alloc -> ... -> __vmalloc_node -> ...
          -> try_to_free_pages
    
    This is probably because we end up deadlocking in the writeback
    invoked by try_to_free_pages, likely due to locks which are held
    by ShakeLooseVCaches.
    
    As a quick fix for the problem, make sure that the memory we
    allocate always fits within a page, so we always use kmalloc for
    it.
    
    FIXES 129751
    
    Change-Id: I8b5be06ed62764b67f99792df66e9cb0f8941fd6
    Reviewed-on: http://gerrit.openafs.org/4510
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 211e906c86be9ad9cba324e776d56093579b6653
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 23 16:52:30 2011 -0500

    viced: Release all hosts in h_Enumerate*
    
    h_Enumerate and h_Enumerate_r were not releasing all of the holds they
    obtained when the callback function caused the enumeration to bail
    early. Correct them so all host holds are released.
    
    Change-Id: I6f405fad3d2767c9e0b3567c40cbbd1de8ac26aa
    Reviewed-on: http://gerrit.openafs.org/4530
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b07814e037d19dc9868dd202e82d69b96fbdcae
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 23 16:44:41 2011 -0500

    viced: Print a warning when using a deleted client
    
    We should never get a deleted client back from GetClient. Log a
    message if we do, to explain why access may suddenly appear to fail,
    and assist in determining why.
    
    Note that we still try to service the request, since the accessing
    user may still have enough access to do whatever was requested.
    
    Change-Id: Ie1d0c2d8a33a68a760704bfff9f268c6c507118f
    Reviewed-on: http://gerrit.openafs.org/4529
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 484b5b4cf4f88a9ddd04cdbe870d9c2959ef266c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 23 16:32:10 2011 -0500

    viced: Force valid host enumeration flags
    
    Make sure that the callback functions for h_Enumerate and
    h_Enumerate_r give us back valid flags values by aborting if they
    return an invalid value.
    
    Change-Id: Id34b461d5452ac318a1714b6c3ffdaf41015995c
    Reviewed-on: http://gerrit.openafs.org/4528
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5b9d427141f0a6fd0e83de9564e70ef2cfebf656
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Apr 23 16:25:00 2011 -0500

    viced: Fix host enumeration flags
    
    Do not give uninitialized flags values to h_Enumerate callback
    functions. In fact, do not give a flags value to h_Enumerate or
    h_Enumerate_r callback functions at all, since they are not actually
    used.
    
    Fix host enumeration callback functions to just return 0 or the
    relevant flags, instead of basing the return value off of the given
    flags value. Update MultiBreakVolumeCallBack_r to use the correct
    return values, since it currently tries to use the old meanings of the
    host enumeration return values.
    
    FIXES 129376
    
    Change-Id: Ibb01ce62411602a9f83f437125fb87a7a84160b4
    Reviewed-on: http://gerrit.openafs.org/4527
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ebf5329e8ca1b3c0b581f436b28f6affe2c7c454
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 25 07:58:49 2011 -0400

    Windows: remove trailing whitespace
    
    remove trailing whitespace from
    
      NTMakefile
      *.h
      *.c
      *.cpp
      *.idl
      *.def
      *.txt
      *.htm
    
    Change-Id: I948a7511a20d0ad522b647b788536f9b6f5dda16
    Reviewed-on: http://gerrit.openafs.org/4548
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d7b1e6a1adff564db219e69b3a8eeb485c7dbb56
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 23 11:28:49 2011 -0400

    autoconf: Add required headers to net/if.h test
    
    On Darwin, net/if.h is only usable if sys/socket.h is included first.
    Do so, to stop autoconf from warning about this test.
    
    Change-Id: I9e7a2642cce86c5ad6ebb3ae3cb60401dd9c26cf
    Reviewed-on: http://gerrit.openafs.org/4535
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ce256d586468911d5501f667c53247a837378c06
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 25 13:56:38 2011 +0100

    Windows: Remove duplicate file
    
    The 'Streamfiles.txt' file had been committed with both that name,
    and an all lower case name. This makes git very sad on systems with
    case insensitive filenames.
    
    Change-Id: I0284415649d7568f9834ccd4d2c6a1627d309fed
    Reviewed-on: http://gerrit.openafs.org/4550
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da3ee813960d90ea83851c47fbd59eb3012c7904
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 21 10:20:55 2011 -0500

    Fix build of user-space on nbsd50 and greater
    
    Change-Id: I7b2fef051da7c5ff820e9ecb1fe77b8d8d9e011a
    Reviewed-on: http://gerrit.openafs.org/4509
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9fd238ea056b6883dd1caf6e8e724ad3ddabeb3a
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Thu Apr 21 08:24:15 2011 +0000

    Add nbsd60 param files and autoconf logic
    
    Change-Id: I7fa40455315325f75d0fb754fc23620f12fd634a
    Reviewed-on: http://gerrit.openafs.org/4512
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bdb08420baa47626ac280810aa00cdd8d472d401
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 21 16:19:58 2011 -0500

    Revert "aklog: Return token when performing 524 conversion"
    
    This reverts commit 65186d8390a06fb0b7331b2472db07b6fb306446, which
    was mistakenly merged to the wrong branch.
    
    Change-Id: I3b2bf874cca15b4248978575213eae21ece2207f
    Reviewed-on: http://gerrit.openafs.org/4519
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1b37cc8942e9b7c5072b2d4b2a1d4c9ff172e368
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 21 17:10:13 2011 -0500

    libafs: Initialize _settok_tokenCell primary flag
    
    Always set the *primary flag to something in _settok_tokenCell.
    Otherwise, the lag may be unset, as it is not required to be
    initialized by all callers.
    
    Change-Id: I78c775f8cd70f74f6a344094a6a677cbc74f3281
    Reviewed-on: http://gerrit.openafs.org/4521
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ce77b0e572de783f4455786ad2689f0f6ba90364
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 19 13:17:56 2011 -0400

    Windows: change thyper to offset and fix error
    
    In cm_ReadMountPoint and cm_HandleLink the variable 'thyper'
    represets the 'offset' at which cm_GetData should fetch data.
    Rename 'thyper' to 'offset' and fix a coding error caused by
    misinterpreting the variable purpose.
    
    Change-Id: If60669d850f4bfba2aae6e4aaf642f7ec6f920b2
    Reviewed-on: http://gerrit.openafs.org/4501
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b178496063be6d95f301ae13c3e655c8fe94febc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 21 18:18:54 2011 +0100

    Darwin CM: afs_IsDynrootFid takes a fid ...
    
    ... not a vcache.
    
    Change-Id: Iff1f33f32ec0d208ff80a4c7bcc1ce1b3dccd9a3
    Reviewed-on: http://gerrit.openafs.org/4511
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 65186d8390a06fb0b7331b2472db07b6fb306446
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 21 14:24:45 2011 -0500

    aklog: Return token when performing 524 conversion
    
    We weren't actually returning a token and username from
    rxkad_get_converted_token. Do so.
    
    This is a 1.6-specific change. This issue was fixed on master when
    aklog was changed to use the new SetTokenEx family of pioctls in
    commit 53837416cbed3ba4d11f63015e1f13800519f2ed.
    
    Change-Id: I4c85c03be00c45fdae5657554dcd85b3a6301b23
    Reviewed-on: http://gerrit.openafs.org/4513
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7ff99d1eee2974bfece09f137e3aa842bed7add0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 21 10:26:42 2011 -0400

    afsio: fix objdir build
    
    use the relative path for afsio.c
    use objdir path for generated files
    
    Change-Id: I3b16108eacd949bcb1ddc2224961e87bce9999bb
    Reviewed-on: http://gerrit.openafs.org/4508
    Reviewed-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Tested-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fe8897015c11d8d6b9b3e7e3a3646688ccb45683
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 19 22:42:12 2011 -0400

    Unused variable warning fixes
    
    Fix several simple cases of unused variables.
    
    Change-Id: I6e61ea625c6bcef7b0bc70c61909f22d1f8dd9a7
    Reviewed-on: http://gerrit.openafs.org/4504
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8588f4a9ccca164b566a4f855345f3d529f4125f
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Wed Apr 20 10:00:34 2011 +0000

    Allocate system type ID numbers for i386_nbsd60 and amd64_nbsd60
    
    Change-Id: I1860fbacb0d41a3d13b73b4248b920e17b731184
    Reviewed-on: http://gerrit.openafs.org/4506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 507c481a0a3bcb3ab1341f0c2b1ef00797160708
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Wed Apr 20 09:53:52 2011 +0000

    Make whitespace consistent in NetBSD system type ID number section
    
    Change-Id: If3835225bb85fd7469cd817dc48bc52f841081b7
    Reviewed-on: http://gerrit.openafs.org/4505
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c721bff5035b6e2d87e10be0f4711133b33dc5dc
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.
    
    Change-Id: I267f25504137d58dd1a335eccb7c9b138a7c66ab
    Reviewed-on: http://gerrit.openafs.org/4497
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a1eed135d29f1030cdd409e9d9c824e6cd2a5f83
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 16 14:50:11 2011 +0100

    FreeBSD: Don't ignore Makefile
    
    The file src/packaging/FreeBSD/Makefile is part of the repository,
    and so shouldn't be excluded by .gitignore (the exclusion is inherited
    from the top level). So, restore it with .gitignore in this directory.
    
    Change-Id: I841e67aba707fd7193ba0d15a11f969ffd55829c
    Reviewed-on: http://gerrit.openafs.org/4495
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f4ae9ef6531cb629e0bac2233d97cf8a0f3a698b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 13:45:57 2011 -0400

    libafscp: add lock support
    
    add support for locking as well as for tracking callbacks so a
    lock break can be detected
    
    Change-Id: Iff36c6528fc55cf250bc27d49af80123d7ecece3
    Reviewed-on: http://gerrit.openafs.org/4476
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 04950bec1b1d6c1eeb782fff82d7568af44e7443
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 19 00:12:49 2011 -0400

    Windows: avoid race when writing mountPointString
    
    cm_GetData() drops the cm_scache_t rw lock which permits other
    threads to access the data while it is in an inconsistent state.
    Avoid the race by using a stack allocated temporary buffer to
    receive the data from cm_GetData().  Only copy the data into
    the mountPointStringp buffer under the rwlock.
    
    Change-Id: Ica853976b1094be1087e49c22d878f8ae7fca03a
    Reviewed-on: http://gerrit.openafs.org/4498
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1105d63ddf5a32b9381ff47e8101c3f141366fa6
Author: Stephan Wiesand <Stephan.Wiesand@desy.de>
Date:   Sun Apr 17 23:37:36 2011 +0100

    make afsdump_scan get ACLs right
    
    This makes afsdump_scan get the ACLs right on little endian systems.
    It also corrects and slightly beautifies some output (indentation,
    cut&paste error for negative ACL label).
    
    Change-Id: I5a120630158e56fe8b55500ff9db70dded5fe0d9
    Reviewed-on: http://gerrit.openafs.org/4494
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9f2fc1c70727d673a50703c272b304a663d171b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 16 17:44:28 2011 -0400

    roken header dependencies mean we need roken
    
    and probably more than just these but let's start here.
    
    Change-Id: Id0f174a84ecb8ffd1fbdcade6f139fc78c4b99e2
    Reviewed-on: http://gerrit.openafs.org/4492
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa6339d7ffc884b5251b3afe947bc39be350c118
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 14 14:36:36 2011 -0500

    auth: Set correct flags in token_extractRxkad
    
    The flags that token_extractRxkad returns are flags that are passed to
    ktc_SetToken, not the flags that are passed directly to the PSetTokens
    pioctl. So, we should be setting AFS_SETTOK_SETPAG, which is
    interpreted by ktc_SetToken.
    
    Change-Id: Id63ba4d5874e43c8d1f02817bf33975516a974be
    Reviewed-on: http://gerrit.openafs.org/4480
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 03edae9cc562524c04e06734d12d87b9a7a4622c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 13:36:04 2011 -0400

    libafscp: fix kerberos bits
    
    get the correct afs principal. this entire blob will go away
    and be replaced by rxgk token getting, but deal for now.
    
    Change-Id: I8e63a5de74efa6c2eeec4c67b4d14d1f69396e41
    Reviewed-on: http://gerrit.openafs.org/4475
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9bf314d90a1b639e46212ba077d95b2a45d79bca
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 13 15:21:46 2011 +0100

    libafs: Remove afs_write duplication
    
    The afs_write() code for memory and disk cache suffered from exactly
    the same duplication problems as the afs_read() code.
    
    Apply a similar fix - unify afs_UFSWrite and afs_MemWrite into a single
    afs_write function, place the UFS specific code into afs_UFSWriteUIO,
    and make use of the existing afs_MemWriteUIO for the memcache case.
    
    Change-Id: I074e1f56597e5cf04d13a45bcda5ad5fedb6377f
    Reviewed-on: http://gerrit.openafs.org/4465
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 25a46780fc0e9f64010cc06826e5753567c16647
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 13:34:14 2011 -0400

    libafscp fixes
    
    fix callback package in libafscp to track addresses correctly (use
    correct byte order)
    
    Change-Id: I58207492389869591e38e582f332c910cd53f169
    Reviewed-on: http://gerrit.openafs.org/4474
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 94d44d59e3d18f1d450e495a55fdd927e7584948
Author: Chaz Chandler <clc31@inbox.com>
Date:   Tue Jul 20 10:25:20 2010 -0400

    afsio: rewrite using libafscp
    
    afsio is a utility for file transfer to and from AFS file space
    without the help of the AFS client/cache manager.  Using libafscp,
    this (partially rewritten) version of afsio is able to accomplish
    (1) authenticated access to an AFS path or FID (an existing
    KerberosV ticket is required), (2) fall back on unauthenticated
    ("anonymous") access if authentication (token acquisition) fails,
    and (3) work independtly of the AFS cache manager (afsd need not
    be running, though CellServDB and ThisCell are currently required).
    
    issues:
    1) libvldbint and libafsint are not compiled pthreaded. we link in
    what we need. this should be changed when we are all-pthreaded.
    2) venus is not a pthreaded-directory otherwise. same deal:
    in an all-pthreaded universe, undo the bodge that we do here.
    3) venus is not an all-krb5 directory either. slight ick.
    
    Change-Id: I946e6eef58ac77c6fb97be256c4c564188201262
    Reviewed-on: http://gerrit.openafs.org/4381
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 44f13d8feb527fb982064469e513c5a0c9355d03
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 14 14:11:22 2011 -0500

    RX: Remove allocation counters
    
    Remove the osi_alloccnt and osi_allocsize counters, and the associated
    osi_alloc_mutex. These counters are pretty useless since nothing looks
    at them, and their use of a mutex requires Rx to be initialized before
    XDR can be used. Removing them lifts this restriction.
    
    Change-Id: I22fa1335b6d34675d37cca41a2c393b9c20d3d24
    Reviewed-on: http://gerrit.openafs.org/4478
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 21578144e08d46eeec9a2944e92e8d0d7a6dba57
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 12:39:19 2011 -0500

    Suppress cmp component version error messages
    
    When we use cmp to determine whether to replace
    AFS_component_version_number.c, suppress stderr in addition to stdout,
    to slightly reduce output during the build.
    
    Change-Id: I4f687ce5ffff316d8f9806181bccf1c28d218932
    Reviewed-on: http://gerrit.openafs.org/4471
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 27d08416afa2bbd9967d0f0648fa1e98ddbeda11
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 15 11:18:37 2011 -0500

    AIX51: Fix PAGs
    
    On AIX 5.1 and later, we set a process' PAG by using the AIX PAG
    mechanism (and not by group ids), but we were determining what PAG a
    process was in by the group list. Instead use the PAG identifier.
    
    This effectively reverts 277c37f48c8126ba9cb986ffc7361fcb98e2bbf2, but
    it puts the kcred_getpag call in a different place that makes more
    sense in the current PAG code organization.
    
    Change-Id: If9fe621060a06664718a00acff91dea66760d5c2
    Reviewed-on: http://gerrit.openafs.org/4479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6c0d77b90525116ea5f6c4f71d663290eb63490b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 15 12:38:37 2011 -0500

    tsm41: Reformat function definitions
    
    Make function definitions consistent with the formatting in the rest
    of the tree.
    
    Change-Id: Ifbccc02739f6fbc111e061397538a903b6f2289a
    Reviewed-on: http://gerrit.openafs.org/4477
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 78d1f8d88334f711eaaf6555d3a962a504d3e80e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 10:52:50 2011 -0500

    pam: Use PAM_CONST more often
    
    Some callers of pam_get_item et al were just casting their argument to
    a const void **. Some PAM implementations (Linux) want a const void**,
    but others (Solaris) do not. Use the PAM_CONST symbol already defined
    by autoconf to declare or cast the relevant variable const or not as
    appropriate.
    
    Change-Id: I81c7863797396eb146b78ffbb2586e4f3a1e854e
    Reviewed-on: http://gerrit.openafs.org/4470
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fbb4c6115b9af9c52ee06fa9c979a3f4195ad342
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 11:10:52 2011 -0500

    pam: Check for null upwd from getpwnam_r
    
    The POSIX getpwnam_r can yield a NULL struct passwd pointer even when
    the returned error code is 0 (in particular, when the requested entry
    is not found). Just add a check for a null upwd to make sure we don't
    dereference a NULL pointer.
    
    Change-Id: I00e8d6c53e8228f468c984010695b798f5dcf999
    Reviewed-on: http://gerrit.openafs.org/4469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a7d4fbd36a120b16caaddcd9d1c7f550cb14aae5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 11:08:09 2011 -0500

    pam: Use POSIX getpwnam_r on Solaris
    
    _POSIX_PTHREAD_SEMANTICS is now always defined for Solaris, which
    means we get a POSIX-conforming getpwnam_r, which takes 5 arguments.
    So, add Solaris to the list of platforms that use a POSIX getpwnam_r.
    
    Change-Id: I1ad12420f56cf39816d94a8e9c9740436100134b
    Reviewed-on: http://gerrit.openafs.org/4468
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f26f7ed22629556d4f0035fbe4d25d9804305da1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 12:15:12 2011 -0500

    vfsck: Fix roken fallout
    
    Including roken.h in vfsck sources pulls in some more modern headers
    that vfsck code isn't used to. Accommodate:
    
     - Prevent roken.h from pulling in dirent.h so we don't conflict with
       the old-style directory defines for HP-UX. Also move the inclusion
       of the old-style directory defines to before roken.h, so we have
       the directory types defined in roken.h.
    
     - Remove some prototypes so the don't conflict with the prototypes in
       system headers.
    
     - Remove a couple of bizarre vprintf invocations, as they conflict
       with the actual vprintf definitions.
    
    Change-Id: Ifd7cd2544e75ed49b93ab491c4acadcb18528315
    Reviewed-on: http://gerrit.openafs.org/4472
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f4776f0a4d51472ee6f2406174b074c03213f7da
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 08:02:22 2011 -0400

    kernel upcall rx env should shut down event daemon
    
    also shut down event daemon in upcall environment
    
    Change-Id: Ifd40754fc34bc8ea6f844867d1775a8b8b7a5044
    Reviewed-on: http://gerrit.openafs.org/4473
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80df5096e7179ab9c7562614180e2e90c083ff7c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 10:34:37 2011 -0500

    Fix some configure header prereqs
    
    On at least Solaris, the configure tests for netinet/if_ether.h and
    security/pam_modules.h issued warnings because they existed but were
    not compilable. Perform the tests with the prerequisite headers of
    net/if.h and security/pam_appl.h, respectively, so autoconf will stop
    yelling at us.
    
    Change-Id: I05d637784954c10af468b6065acd78139fc45245
    Reviewed-on: http://gerrit.openafs.org/4467
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8180f9abbfc79731e1557dbd78b26ecba81611d7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 13 10:11:59 2011 -0500

    RX: Include sys/file.h for rx_lwp.c
    
    rx_lwp.c uses FNDELAY, which requires sys/file.h on at least Solaris.
    So, include it.
    
    Change-Id: Ida652a3c9bfccb120a67f0c5d4f71537a11fa00f
    Reviewed-on: http://gerrit.openafs.org/4466
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 340a2c639a04fdd25af180309910dfb5a9b43b04
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 12 11:48:27 2011 -0400

    asetkey: permit des-cbc-md5 and des-cbc-md4 keys
    
    A DES key is a DES key.  Permit importing CRC, MD5 and MD4
    when using non-MIT keytab support.
    
    Add a special error message that specifies what principal
    name, kvno, and enctype were being searched for when the
    error is KRB5_KT_NOTFOUND.
    
    Change-Id: I7d3b5fbc41db5e5e91278854ce52842720e6b5d3
    Reviewed-on: http://gerrit.openafs.org/4458
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e56b1f79b925be3faf016505e14e7f37eb4c5b98
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 12 19:49:38 2011 +0100

    libafs: Remove unecessary parameters to afs_read
    
    We were providing additional buffer and length parameters to
    afs_read which are now unused, as the necessary information is
    contained within the iovec. Just remove these parameters to tidy the
    code up a bit.
    
    Change-Id: I2ca80b20e253e0d54be759e6d504961958b40e6e
    Reviewed-on: http://gerrit.openafs.org/4464
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fd620283a926386d4a90e602a1a47ee622b6a483
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 12 19:41:30 2011 +0100

    libafs: Remove afs_read duplication
    
    The disk cache and memcache afs_read functions are effectively
    duplicates of each other. Abstract out the common code into a generic
    afs_read() function, and put the cache type specific code into
    UFSReadUIO (there is already a MemReadUIO which contains the code
    necessary for the memcache).
    
    Change-Id: Ic66242fa4695a146ac874a82bd48a7c1f1f412a6
    Reviewed-on: http://gerrit.openafs.org/4463
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 763ec5250deef6f0f8ae1c85b52bac3ffc1a6176
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 12 19:28:15 2011 +0100

    fs: Abstract out code to get the last component
    
    fs.c contained two identical copies of code to parse a path, resolve
    any symbolic links in that path, and return the directory and basename.
    
    Abstract this code out into a single function, rather than maintaining
    two separate copies of it.
    
    Change-Id: Id9fc835506f90bae2fc1f0db18c640bf28f0d39d
    Reviewed-on: http://gerrit.openafs.org/4462
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b5bd42efb6d869f6abf3d041b861e77751898f67
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 12 19:48:02 2011 +0100

    libuafs: Add afsd symlink to the clean rules
    
    The libuafs Makefile creates a link to afsd in the libuafs build
    directory. So, have the clean rule tidy it up after us.
    
    Change-Id: I24a3be34bc04dfa7c9db9be2ace4ab32f3f5d5f7
    Reviewed-on: http://gerrit.openafs.org/4461
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b59da7674e2f931b85d111e6a92e12731888883e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 8 16:18:13 2011 +0100

    viced: Remove logging duplication
    
    In lots of places in the fileserver we were doing
        ViceLog(0, (x))
        osi_Panic(x)
    
    Remove this duplication by creating a new macro, ViceLogThenPanic,
    which does both of these in one fell swoop.
    
    Change-Id: Icea349d60298eba1cca4a45db790f21ba3e7b3c7
    Reviewed-on: http://gerrit.openafs.org/4455
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d5ded9afa1764016977a17ef9346dc979bf70ca0
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Mon Apr 11 17:24:41 2011 -0400

    fix manpage for udebug -servers
    
    The proper option to udebug is "-server", not "-servers". Fix the manpage to line up with the binary.
    
    Change-Id: I3ec83c028dcefb827bd05666401e4a667e29fb6a
    Reviewed-on: http://gerrit.openafs.org/4457
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 81e77fa923cabb18c0b29b84a958eb6635524119
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 11 10:29:28 2011 -0400

    roken: export tsearch, tdelete, tfind on windows
    
    Change-Id: Ic862b65a8c1b37bc3ca3da8db77ba76fe8879296
    Reviewed-on: http://gerrit.openafs.org/4456
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d5349810730ff16c68280745398c136ddbdb2b8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 4 13:43:44 2011 -0400

    afscp: build for windows
    
    attempt windows support for afscp
    
    Change-Id: I61cb1349466f24558b320bc40e3fae42ce654810
    Reviewed-on: http://gerrit.openafs.org/4424
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit de0c72bf7c7d284f4d15d99c79b39e0c97f1a122
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 8 13:00:15 2011 -0500

    DAFS: Request salvage on detach for volser
    
    When the volserver notices that a volume needs salvaging, mark
    V_needsSalvaged. So when we VDetachVolume the volume, we can then just
    request the salvage in the volume package.
    
    Fix the VolClone salvaging code to do this as well, instead of using
    the vol-private VRequestSalvage_r interface.
    
    Change-Id: I9d48e4ea18fe4e3e2e1dc38593db4beb5ad79a84
    Reviewed-on: http://gerrit.openafs.org/4452
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 399655e3df3bf30d7878dec70402fc0021cae752
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 7 12:36:19 2011 -0500

    volser: Avoid assert on ViceCreateRoot failure
    
    If IH_CREATE fails in ViceCreateRoot, it may just be due to an on-disk
    inconsistency. So, don't assert, but just return an error and detach
    the volume.
    
    Change-Id: I8acacff8c858b0d27234265fee5d7b49ebab5101
    Reviewed-on: http://gerrit.openafs.org/4444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 316b0421a27a4a76298f60ecd62b1236c971e512
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 7 13:51:14 2011 -0500

    DAFS: Do not give back vol to viced after salvage
    
    If we VRequestSalvage_r a volume successfully, and we are not the
    fileserver, we will tell the fileserver to salvage a volume. So, we do
    not need to give back the volume afterwards, since telling the
    fileserver that a volume needs a salvage effectively gives it back (so
    the salvager can take it).
    
    So, clear needsPutBack so we don't try to also give back the volume,
    and avoid the fileserver yelling at us for trying to give back a
    volume that is checked out by someone else (or is not checked out at
    all).
    
    Change-Id: I168bcf7fe6dbc186064cdf38de1ddb287a26eff3
    Reviewed-on: http://gerrit.openafs.org/4445
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 81c2416d8e09987ccee9fa5194ab1801c44380df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 8 11:12:34 2011 -0400

    add tsearch to Windows
    
    roken now has tsearch for windows. add it.
    
    Change-Id: I73f609d6285f52bb2b52f580b95ca4510204efa1
    Reviewed-on: http://gerrit.openafs.org/4451
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 83bce754727c9f2b4206d4a7744854616433006b
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sun Apr 10 22:13:08 2011 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    988355d9d0d1953e8c17c4b5c935938573efe4ba (switch-from-svn-to-git-2070-g988355d)
    
    Upstream changes are:
    
    Derrick Brashear (1):
          roken: Make tsearch build on windows
    
    Change-Id: Ic0292c8cc7283c07ae56040c8e80b9b2cc99801f
    Reviewed-on: http://gerrit.openafs.org/4454
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b3b0c67808b76c0d7d1225956c5de21414490183
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 2 13:23:34 2010 -0500

    XDR: decouple from system XDR implementation
    
    Since commit 7293ddf325b149cae60d3abe7199d08f196bd2b9 we have stopped
    trying to use the system-provided XDR implementation, but the xdr_ops
    structure was still structured to accomodate for the old limitations
    of the system XDR. Change xdr_ops so it is just always one consistent
    structure.
    
    This removes:
    
     - The AFS_XDR_64BITOPS define and all related code, since we never
       call the 64-bit versions of getint and putint ourselves
    
     - The rearrangement of getint32/putint32 depending if we are in
       Solaris kernel-land or not
    
     - The .x_control field
    
    Change-Id: I59b7579da1ea728eaba6b426011adbe4f7a331b6
    Reviewed-on: http://gerrit.openafs.org/2503
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit da3921e7c78ec2f9a7861cfb5d06df96bb1e477f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 23 16:31:42 2011 +0000

    ptserver: Add cmdline options for config and log
    
    Make it possible to set the location of the ptserver's configuration
    directory, and the file that it logs to, from the command line. This
    makes it possible to bring up a ptserver without requiring an
    installation on the system for testing purposes.
    
    Change-Id: I914eb842256eb74506490fcf5532b4138e6f3875
    Reviewed-on: http://gerrit.openafs.org/4447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 20f2f23be6cd5834997cb22ae2bbf4bec308c60c
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sat Apr 9 09:46:26 2011 -0400

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    2a32bf67f0a7c77b6adf6e7c23ec8abe7937a9ea (switch-from-svn-to-git-2067-g2a32bf6)
    
    Upstream changes are:
    
    Derrick Brashear (1):
          Add tsearch and friends, and a test program
    
    New files are:
            roken/search.hin
            roken/tsearch.c
    
    Change-Id: Ie7ddb2da595797ca354e36776ce813a03b3d462c
    Reviewed-on: http://gerrit.openafs.org/4453
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7a9aeaee11e76656c2d5aa7d5f0254cea55491c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 8 10:59:35 2011 -0400

    Import tsearch.c from roken
    
    Add tsearch.c (and search.hin) to the files we import from heimdal
    
    Change-Id: I6a7062b35177c6ecd4f78ae15d56d73600866d50
    Reviewed-on: http://gerrit.openafs.org/4449
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 470e3f06d444413807208ba86bc5c83dbc744db9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 7 18:07:32 2011 +0100

    tests: Remove spurious rxgk reference
    
    A reference to the rxgk library crept into auth Makefile ahead of
    time. Remove it so that tests can continue to work in trees without
    rxgk.
    
    Change-Id: Ic1392aebf657d458a55f2dcf685d0616f0573622
    Reviewed-on: http://gerrit.openafs.org/4446
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 325443e6178f9dcdba7326bdb675447ac72bd540
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 6 16:56:22 2011 -0500

    afsd: Trim trailing slashes on Linux mntent
    
    When we write a mount entry on Linux when mounting /afs, trim trailing
    slashes on the mount path. Otherwise, the umount utility can get
    slightly confused, and leave the /afs mount entry in /etc/mtab after
    it's been unmounted.
    
    For full correctness we should probably completely canonicalize the
    path like the mount utility does, but it's unlikely that anyone will
    provide significantly weird paths for cacheMountDir, so don't bother.
    
    Change-Id: Ie8330f08918d52eee319dff5f6ad275c30164c67
    Reviewed-on: http://gerrit.openafs.org/4442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f1e04bedb26f84f061518a68a2dd75761b85c195
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 16:31:56 2011 +0100

    Windows: Use roken gettimeofday implementation
    
    Use the gettimeofday implementation from roken, rather than brewing
    our own on Windows.
    
    Change-Id: I02fc1a7f0f6aded2e16e2ed53e04054546fc0535
    Reviewed-on: http://gerrit.openafs.org/4433
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 21ed5186ae04a5a3026bfe115404bfa24ec27bdb
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Apr 7 19:39:30 2011 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    a597ccdde692709ab387cde21518f09eb501c5a1 (switch-from-svn-to-git-2063-ga597ccd)
    
    Upstream changes are:
    
    Simon Wilkinson (1):
          roken: Rename gettimeofday replacement
    
    Change-Id: I1e1ec03d9ab1953c50a5ef47a6f3feb0db150f49
    Reviewed-on: http://gerrit.openafs.org/4443
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 222f8a5ea2cbf73db03ceacf68fa06c57769a0d2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 12:28:10 2011 +0000

    vlserver: Add options for config, log and db
    
    Make it possible to set the location of the vlserver's configuration
    directory, database file, and the file that it logs to, from the
    command line. This makes it possible to bring up a vlserver without
    requiring an installation on the system for testing purposes.
    
    Change-Id: I0a3fcc4fd10274588c1530f8b4f3e9782084c58c
    Reviewed-on: http://gerrit.openafs.org/4440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f2ec10782384469f276195457b13c139e4fd2cee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 31 12:51:44 2011 -0500

    salvager: Do not AskDelete on GetInodeSummary fail
    
    GetInodeSummary can fail due to a number of different reasons, not
    just because the VG doesn't exist. If, for example, we just fail to
    write the temporary inode file, we will return with an error, but we
    should not AskDelete the volume in that instance.
    
    GetInodeSummary already has code to delete the volumes in question
    when no inodes are found, so remove the extra AskDelete after
    GetInodeSummary returns.
    
    Change-Id: I5df7a3ffed962b62409adbedfa1c1a0445dad2f8
    Reviewed-on: http://gerrit.openafs.org/4438
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8084fc28a3069949bdc788f048fa8a96c012b96d
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.
    
    Change-Id: I4aed126ec09c4b93cfd8572abeba3d22bff0e6a5
    Reviewed-on: http://gerrit.openafs.org/4439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0b510fe30afb34202342364e96bd9030052e1567
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 5 21:30:20 2011 -0400

    ubik: don't rely on timeout value after select()
    
    The value of timeout after a select() call should be considered
    undefined; relying on its value is not portable.
    Since IOMGR_Select doesn't modify the timeout it is given, the
    intention of the code seems to be to wait for gradually increasing
    timeout values, starting at 50ms.  At least under Linux, the
    timeout gets set to 0 by select() if it waited for the full specified
    time, resulting in a much shorter maximum possible wait period.
    
    Initialize the timeout value for each loop according to the existing
    logic, to get consistent behaviour between the lwp and pthreaded code.
    
    Change-Id: I8d3e90fe4e94a378401dd0a6fb7d77266ec09e5a
    Reviewed-on: http://gerrit.openafs.org/4441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 843d705ca6f0250c3760ec2aa1f3403d19de3df1
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Dec 6 15:39:25 2010 +0100

    Atomically collect callbacks to be broken
    
    Collect callbacks to be broken in one go, otherwise a file server may
    lock out a client while new callbacks tickle in.
    
    With revised multi_Rx, responses get handled early, taking away an argument for
    issuing callbacks in small chunks -> crank up chunk size.
    
    Change-Id: I6822256715d1388aa1a44049315813ea08009105
    Reviewed-on: http://gerrit.openafs.org/3909
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2386f5741d284a449f0260b91cde65209dc3c2bd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 5 14:51:26 2011 -0500

    Correct strftime callers
    
    Some strftime callers were not using the resultant string
    appropriately. Correct them to have the same behavior as when we were
    using afs_ctime (which included a trailing newline).
    
    Change-Id: I1d23a6a06460cae3d2a253c9f084c22324fc7542
    Reviewed-on: http://gerrit.openafs.org/4437
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 23984368f50ad443be3c3082b58d6b892ae55a90
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Mar 19 09:21:56 2011 -0400

    ubik: take DB lock in ubik_GetVersion
    
    The lock is needed to copy the database version.
    Note that this function is currently unused in OpenAFS.
    
    Change-Id: I7938db18a6739d2a15ab27331dbf5945839127fc
    Reviewed-on: http://gerrit.openafs.org/4264
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5ac037294ec04f7c74aca37f9f37a445428a14a8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 13:28:05 2011 -0500

    ubik: DB lock usage in ubik_Flush and ubik_Write
    
    ubik_Flush and ubik_Write need to hold the DB lock to use iovec_info
    or iovec_data
    
    Change-Id: Iadc1ff0badc744aa5fdee433bb4b591217e4b453
    Reviewed-on: http://gerrit.openafs.org/4263
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5548f6540557795ded65a52c7066839c5eef468f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 12:09:30 2011 -0500

    ubik: SVOTE_Beacon should hold the DB lock for CheckTid
    
    Change-Id: Iab51bf4aea704870813a4f4c082110ed7cd1eb04
    Reviewed-on: http://gerrit.openafs.org/4262
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1e2a0e46ea2db58c0ab4d817412303ab90be1be2
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Mar 7 13:55:19 2011 -0500

    ubik: Document lock ordering
    
    Document the required lock ordering for the new locks.
    The text is adapated from Jeffrey Hutzelman's notes.
    
    Change-Id: I72d0578f456eab133f36e00a3e99051b9a733020
    Reviewed-on: http://gerrit.openafs.org/4174
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e4ac552ab79be21d90397079eaf6be7050497752
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Feb 3 20:51:06 2011 -0500

    ubik: Introduce version lock
    
    The "version" lock is a new lock that protects the database version
    information.  The goal is to allow the beacon thread to use the
    protected values without blocking for an extended period of time,
    which could occur if it was using the database lock.
    
    Reading requires holding either lock, while writing requires holding
    both locks.
    
    The following values are protected:
            ubik_epochTime
            db->version
            db->flags
            db->tidCounter
            db->writeTidCounter
    
    Based on analysis and design work from Jeffrey Hutzelman.
    
    Change-Id: Ib6e67360807eed8c36e35ec27d1eb938ac899e22
    Reviewed-on: http://gerrit.openafs.org/4158
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5ceea5bbc6a3a69012d625d53149909490311e6c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jan 23 13:09:48 2011 -0500

    ubik: Introduce new address lock
    
    Introduce a new lock to protect:
            ubik_server->addr[]
            ubik_server->disk_rxcid
            ubik_server->vote_rxcid
            ubikSecClass
            ubikSecIndex
    
    Globals are put into a new addr_data structure along with the lock.
    
    Based on analysis and design work from Jeffrey Hutzelman.
    
    Change-Id: I33ef58a36e87a3925b310052f83bb3c6dd60d785
    Reviewed-on: http://gerrit.openafs.org/4157
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2385d26293b9f5b3bd62b7afd5a4e9da17efe7cc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 22 22:17:14 2011 -0500

    ubik: Introduce new vote lock
    
    Introduce a new lock to protect ubik data related to voting.
    Specifically, it protects the following globals:
            ubik_lastYesTime
            lastYesHost
            lastYesClaim
            lastYesState
            lowestHost
            lowestTime
            syncHost
            syncTime
            ubik_dbVersion
            ubik_dbTid
    
    Variables are grouped along with the lock in a new structure.
    
    Also introduce a few helper functions to safely deal with ubik_dbVersion:
    uvote_eq_dbVersion: Return true if the passed version is equal to the
    current ubik_dbVersion
    uvote_set_dbVersion: Set ubik_dbVersion to a specified value
    
    Change-Id: I9bb248d0dfedc363181661ea723cac0af4928644
    Reviewed-on: http://gerrit.openafs.org/4156
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7c4fc5278e037104450d22a199a46f938aa929aa
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 22 13:51:07 2011 -0500

    ubik: Introduce new beacon lock
    
    A new lock is introduced to protect beacon related data when
    compiled with pthreads.  A global structure is added containing
    the lock itself and the global variables that it protects.
    
    The lock also protects some values in the ubik_server structures:
            lastVoteTime
            lastBeaconSent
            lastVote
            up
            beaconSinceDown
    
    Based on some analysis and design work by Jeffrey Hutzelman
    
    Change-Id: I13f72d32dce71d0686406efcd07b7ea7528722f1
    Reviewed-on: http://gerrit.openafs.org/4155
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 73a79dba2cb51e27224a00a936782f1dd44f7bd3
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sun Apr 3 16:26:39 2011 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583)
    
    New files are:
            roken/gettimeofday.c
    
    Change-Id: Iac2227dcd58338e5a988ce614c136fb57da639dd
    Reviewed-on: http://gerrit.openafs.org/4432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 184ab5d31dc33a3d41c5348e4e23d1e2c794df56
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 16:25:48 2011 +0100

    Roken: Import gettimeofday
    
    Import the roken gettimeofday implementation, so we can use it on
    Windows.
    
    Change-Id: I198233c4e96708b56b6e7be3bbfc98bb14d37f84
    Reviewed-on: http://gerrit.openafs.org/4431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d20c76586a7621bff504abb3046d48acf774efff
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 16:09:44 2011 +0100

    Tidy up gettimeofday usage
    
    The roken gettimeofday implementation doesn't return timezone
    information. Audit the whole code to make sure that we don't rely on
    this, and tidy up those places where we were passing an unused
    timezone structure to the gettimeofday call.
    
    Change-Id: Ia83f86483a9c7262fc0904236c0d039a912e3731
    Reviewed-on: http://gerrit.openafs.org/4430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6f32cacd0157df3ca78b607505d93286dcc3a9b4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 13:43:15 2011 +0100

    Remove NINTERFACE define
    
    Whatever behaviour was controlled by the -DNINTERFACE define is long
    gone from our code base (git log -SNINTERFACE can't find any references,
    which suggests that its removal predates OpenAFS).
    
    Simplify our Makefiles by removing the definition
    
    Change-Id: Ic84261eb40aa7de9b7c0ec7b8372517b09e242d2
    Reviewed-on: http://gerrit.openafs.org/4427
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e723e6d9a422f5130c9d185918a088612027e62
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 13:33:36 2011 +0100

    Replace afs_ctime with strftime and friends
    
    Replace our local afs_ctime() hack with strftime and localtime_r,
    which roken can provide for us if necessary. This avoids the
    compatibility problems inherent with ctime_r, and removes another bit
    of platform compatibility goo from libutil.
    
    Change-Id: I18ed36cc4dce9aa354ad1398710ab7db83c814a2
    Reviewed-on: http://gerrit.openafs.org/4426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e0bdc5d6523c2a26a9eb689bdbb1d7a2b591a821
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 16:23:13 2011 +0100

    configure: Check for localtime_r properly
    
    Fix our check for localtime_r so that it actually picks up if it's
    missing on Unix platforms, and gets libroken to build it.
    
    Change-Id: Ibf6e3a0272b08aa55e0ee9493f68b3c53a5b6938
    Reviewed-on: http://gerrit.openafs.org/4425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 25ea3544d145ca375c86912458824f6f00384713
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 16:36:30 2011 +0100

    util: Remove the unused magic.h header
    
    util/magic.h is unused, so get rid of it
    
    Change-Id: Ic01a7ad73203d25b25f7b7c4af0668ab6131f6c3
    Reviewed-on: http://gerrit.openafs.org/4423
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit cdc612596dc57f0bf05532322f56d9ed85f89870
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 15:06:10 2011 +0100

    xstat: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I750ac319feb38e416abb0b8e3575613309c6ab8e
    Reviewed-on: http://gerrit.openafs.org/4422
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0f5ecc85e58f2991ad52a7ba357949c9306f72a9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 15:04:24 2011 +0100

    vol: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: Ie83e6ed3e6e5eaca063b9c6af836bcdc7decdf84
    Reviewed-on: http://gerrit.openafs.org/4421
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3fef4d00c8b0c3d48acc5aec2c2960768cf144cb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 15:00:27 2011 +0100

    vol: Don't use MAX_INT when UINT_MAX will do
    
    limits.h provides us with UINT_MAX, so use this for the maxmimum
    size of an unsigned integer, rather than trying to grow our own.
    
    Change-Id: Ia23c45a9e295589929374a8324ea2b3d268ae6c0
    Reviewed-on: http://gerrit.openafs.org/4420
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bda87d7943d97a02fcc70e48caad65c09e2421b0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 14:17:41 2011 +0100

    viced: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Also add a selection of headers to the list that autoconf checks for
    
    Change-Id: Ic76bb02ff5353ceba380b78abc294251ecc66267
    Reviewed-on: http://gerrit.openafs.org/4418
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 353857e7685c9acfcf7474fabe57c928c70c778f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Apr 4 11:02:17 2011 +0100

    Irix: Supress some more warnings in kernel builds
    
    Suppress the following warnings in kernel builds:
     *) The function "blah" was declared but never referenced (1174)
     *) The indicated trailing comma is non-standard (1201)
     *) The parameter "blah" was never referenced (3201)
     *) implicit conversion of a 64-bit integral type to a smaller
        integral type (3968)
    
    Change-Id: If6cf21f287b5aefa06daaa2807e05a84e391fa95
    Reviewed-on: http://gerrit.openafs.org/4419
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 80ed51a053dd878a05606cc17f91fb15e44d809f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 14:04:27 2011 +0100

    vfsck: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I7896d654d3b1e50352e92f1fbfb3211f79791116
    Reviewed-on: http://gerrit.openafs.org/4417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3c63b6e7845b261985b3fb37457ec65065254a1b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 2 13:54:06 2011 +0100

    tsalvaged: Tidy up build rules
    
    COMMON_CFLAGS already includes XCFLAGS and ARCHFLAGS, so don't include
    them again in the salvager cflags rule
    
    Change-Id: Ib65e9235fa5d23473417f0d197a3610c9b17d1f0
    Reviewed-on: http://gerrit.openafs.org/4416
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f5dc5551aaca99916b06bcca81c141eb36fb6e73
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 28 00:24:17 2011 +0100

    venus: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I431cff2dbfa5ca57a9884d7d8eb1695d3f79affd
    Reviewed-on: http://gerrit.openafs.org/4415
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6465e4243c6398f60dff3037e27119bb067c5038
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 23:03:00 2011 +0100

    uss: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I1d729adfd0a4cbe73b68e553ec122073a737c8a5
    Reviewed-on: http://gerrit.openafs.org/4414
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e21a4713a9fc2571032386e46560ec6cbee263e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:59:26 2011 +0100

    usd: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I593ca273e11e4dd7bb0887e708189cc7a1181879
    Reviewed-on: http://gerrit.openafs.org/4413
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 800481a382ca77e1b75acee78edc744f5dfe2eed
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:57:46 2011 +0100

    update: Tidy up header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: If090da744a6b096bbfc79292402439a6994062ff
    Reviewed-on: http://gerrit.openafs.org/4412
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2fcdc9298d11a2f038f6425e6c5c24bd23da6b8c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:55:05 2011 +0100

    ubik: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: Iddd472b25de2d833b3235eceab593afdd1527e03
    Reviewed-on: http://gerrit.openafs.org/4411
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8abfa09ee3c4d4e6da26cedf116650bbb774842b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:50:23 2011 +0100

    pthreaded servers: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I6e431eb16d35fd9bd4aa07e7a9b3e47ca7281fab
    Reviewed-on: http://gerrit.openafs.org/4410
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a1b12b3eab5cb92c797ee5d7d7227c013c01420c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:46:46 2011 +0100

    sys: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I66d38e30b43ae636a78a2225271b66756586f5a2
    Reviewed-on: http://gerrit.openafs.org/4409
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 601fcf1d7f7c88cfc0ffd877c5458340b3e59098
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 1 13:43:13 2011 -0500

    afs: Retry unlock after afs_StoreAllSegments
    
    HandleFlock calls afs_StoreAllSegments when unlocking an exclusive
    flock lock. This can drop the write lock on avc, so we must
    effectively retry the entire lock operation again, since the world may
    have changed while we were waiting to reacquire the lock on avc. So,
    retry once all of the lock checks up to that point, to ensure that a
    lock on the file actually still exists.
    
    FIXES 125446
    
    Change-Id: If249b0e761b595062068d7a506be85a3307870e8
    Reviewed-on: http://gerrit.openafs.org/4393
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ca6bdd1cf0fe3b265bcffd846afef19a0d7853f2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:37:47 2011 +0100

    scout: Tidy header includes
    
    Remove headers which are provided by libroken
    
    Change-Id: I4d9391016e4477242385687eec4f1825426fd00d
    Reviewed-on: http://gerrit.openafs.org/4408
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 4659c5c9924171525454cd2a2280ed9370476998
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:34:01 2011 +0100

    rxkad: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I7e07f98802ad059052d528a57278c971e857e074
    Reviewed-on: http://gerrit.openafs.org/4407
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 24f229af511a45b88f98e272b00ca08a467a6f69
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:23:20 2011 +0100

    rxgen: Tidy up header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: Idd399da7de85541fb84da55246168788a2ef88da
    Reviewed-on: http://gerrit.openafs.org/4405
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4281e46464af4bc0033a93b9618726385f12fa0f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:20:08 2011 +0100

    rxdebug: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I47f804e455d0251dc30c5d5be2433f3ee7611fae
    Reviewed-on: http://gerrit.openafs.org/4404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a329e9a9d859fb99d6ed2d0143b5b55ef6b66106
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 22:18:23 2011 +0100

    rx: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I7bb08d7ec7a75b485f7f619fd4d8179d4c7349f0
    Reviewed-on: http://gerrit.openafs.org/4403
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 24173064d99d0c6ff37cab7b045d80c80d901144
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 19:46:42 2011 +0000

    procmgmt: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I82fb06f8d531476cc89e53ec189be15cb7ebf5d7
    Reviewed-on: http://gerrit.openafs.org/4402
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b3f8fd344cca4e9150b5571f57a64deeeace1c64
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 19:42:50 2011 +0000

    pam: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I9a8c2d588eb00d1315c660faa485037cef2f8e6d
    Reviewed-on: http://gerrit.openafs.org/4401
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cb87e0834cd6244ff886bd9f4ffb26e8a1a0f097
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 3 10:23:56 2011 +0100

    roken: Add env functions to configure checks
    
    Add the putenv, setenv and unsetenv functions to the list of
    functions that configure checks for. This avoids the roken header
    redefining them to rk_*, which we're then not providing an
    implementation of.
    
    Change-Id: I63bd88326e933f0afed399233c38489cd2aea46b
    Reviewed-on: http://gerrit.openafs.org/4406
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 64a305971f984184e17d45592da72b607f0ab724
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 2 11:04:25 2011 -0400

    Update README.WARNINGS, adjust warning inhibition flags
    
    Remove warning inhibition for fsprobe and uss_kauth, and
    adjust README.WARNINGS to the current status.
    
    Change-Id: Icc1f16a6ec70799c05abfcde557c66fae7c4311d
    Reviewed-on: http://gerrit.openafs.org/4400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b3094a39b74c0c593f6dcac945ad5e4bbf155c2d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 2 09:43:26 2011 -0400

    Convert ubik_Call(x) calls to ubik_x()
    
    Convert remaining ubik_Call(function, ..) users to ubik_function(..).
    
    Change-Id: I841d2f32d8fd6a5256e0a922827aad22d242d832
    Reviewed-on: http://gerrit.openafs.org/4399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a0389f5592c25afb19befb5bf62833a0b0bc59cc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 2 09:03:55 2011 -0400

    fsprobe: Fix usage message
    
    Fix the usage message to display the correct command name.
    
    Change-Id: I886ebd45554d7e7eb6254fa59fa010fd78e5952a
    Reviewed-on: http://gerrit.openafs.org/4398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ef105dcc4932da804750dea0c922d5814fc5bf15
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 2 08:40:15 2011 -0400

    fsprobe: call RXAFS_GetTime directly
    
    Call RXAFS_GetTime directly instead of using ubik_Call which is
    not prototyped and has logic that we don't need/want here since
    we're targeting a specific server.
    
    Change-Id: Ia71d1cb164d3fe71f01c88fc720837c69566baf5
    Reviewed-on: http://gerrit.openafs.org/4397
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 12ea4a6f7a38b152cd4b52d9569a7edc8eec887c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 19:36:35 2011 +0000

    libwp: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I4952f8d115d38a3bd1dfe86478cd4a30f533e86f
    Reviewed-on: http://gerrit.openafs.org/4386
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f5f0ce525a63264098cd0625769d642fe6f106ba
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Apr 1 16:37:32 2011 +0100

    Linux: Fix USE_UCONTEXT detection
    
    On Linux, afs/param.h determines whether to use the ucontext()
    function based on the glibc version. However, the glibc version
    macros aren't available until a C library header has been included.
    
    There have been a couple of attempts to fix this. The first included
    afs_sysnames.h before the C library check, but this wasn't sufficient
    to pull in a header for all builds. The second included stdio.h before
    including afs/param.h in process.c.
    
    Whilst the second approach works, it has the drawback that it breaks
    our convention that afsconfig.h and afs/param.h must always be the first
    includes in a file. More seriously, it means that the behaviour of
    afs/param.h is different depending on where it appears in the include
    order - which is especially dangerous for 3rd party user.
    
    So, this patch tries to resolve all of this by explicitly including
    features.h before doing the glibc version checks. The only danger I
    can see here is that Linux platforms without glibc may lack a
    features.h, but I suspect we have trouble building on such platforms
    in any case.
    
    Change-Id: Ief96d32b10372225335e2d2fbb7205da4bf5fc0a
    Reviewed-on: http://gerrit.openafs.org/4389
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba9ae1ed7c269d7c080b5ce99b3b4bb2fe0a2a6f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Apr 1 16:43:24 2011 -0500

    afs: Avoid memory leak on recursive write flock
    
    When a process requests an exclusive lock on a file on which it
    already holds an exclusive lock, we basically form a no-op. However,
    HandleFlock was allocating a new SimpleLocks and attaching it to
    avc->slocks, without freeing the old SimpleLocks structure.
    
    Since we don't need to do anything if we already hold an exclusive
    lock, just break out of the loop right away when we detect that
    scenario. Thus we avoid adding a new structure to avc->slocks, and we
    avoid a memory leak.
    
    Change-Id: I27c3df1d7807a0b74cba11d6e4a563df8232932a
    Reviewed-on: http://gerrit.openafs.org/4395
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e0e648919157bb30507401c020ea67b040da6224
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 1 18:53:31 2011 -0400

    crypto: return a value from krb5_abortx
    
    The krb5_abortx stub is declared as returning a krb5_error_code,
    so make it return something to avoid a warning.
    
    Change-Id: Ib5b915c1c4e034b5c8393206c80596e5d6d5fc8b
    Reviewed-on: http://gerrit.openafs.org/4396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 841c8022e3978fffe1357f339d948e93c9db9d52
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 1 12:17:13 2011 -0400

    macos: no more startupitems
    
    if we're upgrading, a "cruft" startupitems script should just
    be nuked.
    
    FIXES 129601
    
    Change-Id: Ic9295b19c893f154fd98a6ad1e5822c8b2ef44df
    Reviewed-on: http://gerrit.openafs.org/4387
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53377153eca062ae6252dc8c71e7f6cb16214076
Author: Chaz Chandler <clc31@inbox.com>
Date:   Sat Jul 3 15:02:30 2010 -0400

    libafscp: code cleanup
    
    This patch is intended to bring libafscp into accordance with the
    current OpenAFS coding standards while also fixing a few small
    issues.  Apologies in advance for the numerous whitespace changes.
    
    Change-Id: I606ed5024395319e12e8759f31494ebd27ff6112
    Reviewed-on: http://gerrit.openafs.org/4380
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2e91cc3fe61956e7661eae9da82ddf746e63824
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Mar 30 18:32:04 2011 -0400

    Linux: Fix fallout from path_lookup commit
    
    Fix a few issues with the recent commit to deal withg the removal
    of path_lookup, spotted on RHEL 5:
    - the configure tests needs fs.h to be included before namei.h, to
    get the definition of struct inode
    - we need to avoid the use of struct path unless its needed; on
    older kernels the structure doesn't exist
    
    Change-Id: I6251a96a371a50548dcafc70d94e91b52fc2922a
    Reviewed-on: http://gerrit.openafs.org/4382
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4af8c88ff2a312e429ae5cb1ac4010ac517bfdd5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 19:25:31 2011 +0000

    log: Tidy header includes
    
    Remove headers which are provided by libroken, and reorder header
    includes so that they're a bit a more legible.
    
    Change-Id: I41258d5b906350bcdf4854b244799fc8907b2bfc
    Reviewed-on: http://gerrit.openafs.org/4385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 75c14f9d695a484118971ce66455d9eacb3f6fe1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 10:12:08 2011 +0000

    libadmin: Tidy header includes
    
    Remove headers which are provided by libroken, and reorded header
    includes so that they're a bit a more legible.
    
    Add math.h to the list of headers that configure will check for
    
    Change-Id: I530afa77866a0aa3a33f8684ce9cf630aa347812
    Reviewed-on: http://gerrit.openafs.org/4384
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 560b0b8c0b1e1777c3345af425d4a32354697c29
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 22:32:39 2011 +0000

    libacl: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I67bb92abc985d1510d8b8a108f9b9e3a62525fd5
    Reviewed-on: http://gerrit.openafs.org/4332
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a4e2c1cc7e6d98a4b826e2826bc26b771138ab1a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 22:17:55 2011 +0000

    kopenafs: Tidy up headers
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: Ie4f0f87074b9f9c5a028098ea39e548d9932e54a
    Reviewed-on: http://gerrit.openafs.org/4331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6bdba897f49b8358d3592588a78d9b59757a9c13
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 30 09:46:43 2011 -0400

    xdr symbol fallout
    
    changes to xdr make xdr_vector and xdr_reference missing from libuafs.
    fix it.
    
    Change-Id: I2c48716dc16c86ce91cfdd9deb61cc778f94275a
    Reviewed-on: http://gerrit.openafs.org/4379
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0b69fd6d5631482a786c2223a7dec0b2c9a07f92
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 29 22:26:50 2011 -0400

    Unbreak make dest for FBSD
    
    It turns out that we do need an afs.rc.fbsd that is set up for
    transarc paths in this directory.  To get it to work properly
    will require the user to symlink to it from a dir that gets
    checked by rcorder, but them's the breaks.
    
    Change-Id: I1786e4862768127f29a6d309097536829da3e029
    Reviewed-on: http://gerrit.openafs.org/4378
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a4b8823950d0d7f3806fe9e7aed22502b72a79e4
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Mar 28 10:05:40 2011 -0600

    OpenBSD: Complete implementation of afs_osi_TimedSleep
    
    The OpenBSD version of afs_osi_TimedSleep() is missing the required
    afs_event structure and afs_getevent routine. This update adds them
    (by borrowing a copy of the code from the FreeBSD implementation).
    
    Change-Id: Ie470e83a56caecb9494bb86dc3ff0a18420bb56e
    Reviewed-on: http://gerrit.openafs.org/4373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 920a00e075b679f59e31b9fcbe7f5db15e345a95
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 29 12:28:46 2011 -0500

    vol: Add timeouts to SYNC server select() calls
    
    Normally *SYNC server processes wait indefinitely for activity to
    occur on one of the SYNC sockets. On some Linux kernels, there exists
    a race condition where data can come in on a socket, but the select()
    call continues to wait. To ensure that we do not hang forever in such
    a scenario, add a timeout to the select() call, which will ensure we
    notice the new data within 10 seconds. Raise the timeout on non-Linux
    to reduce impact elsewhere.
    
    The Linux kernel bug is tracked in
    <https://bugzilla.redhat.com/show_bug.cgi?id=494404>, though that bug
    report may not represent all affected kernels.
    
    Change-Id: I3250eb53d59610ccbcffe9e8e283984d5ae0e2b4
    Reviewed-on: http://gerrit.openafs.org/4377
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e2cd861cdf30735897cf32617b7641cbd2be1229
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 29 13:04:48 2011 -0500

    Always set LIB_roken when we find libroken
    
    If we found an external libroken when configuring, we were not setting
    LIB_roken if --with-roken=DIR was not specified. Set LIB_roken when we
    find a libroken without --with-roken=DIR.
    
    Change-Id: I927647a14f4c5cd8925f0e719b0a9b4164584571
    Reviewed-on: http://gerrit.openafs.org/4376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e4095aab4ce53cd41e726f34e8810ea421dd7f41
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Mar 28 12:56:10 2011 -0700

    NEWS updates for 1.6.0pre4
    
    Add additional 1.6.0 NEWS entries based on the release notes for
    1.6.0pre4.
    
    Change-Id: Ibd681058f9534c9c270e6e0f127d3beb463c6a95
    Reviewed-on: http://gerrit.openafs.org/4374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8336d31ac5092a16cfb206707e69c19f07f99241
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 16 10:32:48 2011 -0400

    rx: always use/protect the xdr routines in the kernel
    
    This clears up some warnings about duplicate symbols with Solaris 11
    since the Solaris kernel already has these routines.  Since we never
    use stock kernel version of the xdr routines perhaps we should always
    use/protect our version of the symbols.
    
    Change-Id: I4b5b4a691fb838093aff728469d17c28dccbaaea
    Reviewed-on: http://gerrit.openafs.org/4252
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c40be933628653f10ecd1ddbb51bf1b786c3b1f3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 21:58:29 2011 +0000

    kauth: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    This adds arpa/inet.h to the list of headers that configure checks for
    
    Change-Id: I1792ede4be761238bb05567c1d763ed63f50051e
    Reviewed-on: http://gerrit.openafs.org/4330
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8608ca6771c9d254488f2929a4713b0f3f2f6c18
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 21:08:35 2011 +0000

    gtx: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I444a8a325cca8da76f410185949103ccd873c743
    Reviewed-on: http://gerrit.openafs.org/4329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ffd91d91f431a248c550a6f307af1a9dce285009
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 21:03:00 2011 +0000

    fsprobe: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I0eee5dd0656e32617855ccf4a30d4c4be47b7da2
    Reviewed-on: http://gerrit.openafs.org/4328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e6aff0bcb69b13ae5ca1d983f9b54c3245b0cc2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:58:46 2011 +0000

    finale: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Also, tidy up translate_et_nt.c by removing the AIX specific code which
    will never be built, as this file is only compiled on Windows!
    
    Change-Id: Iec7a811f02eaf1a2ad573bbadc30d782426231d0
    Reviewed-on: http://gerrit.openafs.org/4327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5a9410189792235c1a8b7002c8988e4b20063c87
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:56:11 2011 +0000

    dir: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I355cf33fdf72fed640c17ff5c2dfca1dd6f93d6f
    Reviewed-on: http://gerrit.openafs.org/4326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d1c83df1cce4084fad72a4fedfa5ad77d28ec05a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:50:21 2011 +0000

    com_err: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I167b0fa7f48d7dd71efb43a4f137655b38137314
    Reviewed-on: http://gerrit.openafs.org/4325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f3d0d999f1c6ab25271418c302a79e3e5661f10
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 28 08:29:25 2011 -0400

    vol: remove flock emulation now provided by roken
    
    flock emulation is provided by rk_flock from roken.   No need
    to provide a local emulation function in namei_ops.c.
    
    This change removes a macro redefinition warning.
    
    Change-Id: Id8b7cf030d8653ceb979db60c20ed28c03bd9737
    Reviewed-on: http://gerrit.openafs.org/4365
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 69b37fb3a7d231bb7ba1f8660f9c294fb1050049
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 28 14:52:33 2011 +0100

    AIX: Add flock to roken
    
    Add the rk_flock() emulation function to roken, primarily for use
    on the AIX build, but it will also be used for WIN32
    
    Change-Id: Ia8f11e19bbe9fdf721a7b72660d860624139d9b1
    Reviewed-on: http://gerrit.openafs.org/4368
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 58017bf4720abd2acf84a64dcee21e70e8d6ed17
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:46:54 2011 +0000

    cmd: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I424a0df98ff9334d9e46a9af2ba9d7f1861f501e
    Reviewed-on: http://gerrit.openafs.org/4324
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ccfb125e8b944e516e5414935f800f9e65cef585
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:42:37 2011 +0000

    bu*: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: If20a2ef67d4cbc70156c1707264a5b7360cfa11a
    Reviewed-on: http://gerrit.openafs.org/4323
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cce1bd6059fd9dc5e909a56e879331d6f46bdf99
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 20:07:37 2011 +0000

    bozo: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: Ie4f1b955c111f30b98aa8793b3e3d15dd0bb9275
    Reviewed-on: http://gerrit.openafs.org/4322
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6830269772271d7d25d5de98671e01a9da4863cd
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Mar 28 14:44:20 2011 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583)
    
    New files are:
            roken/flock.c
    
    Change-Id: I7b9470cfdf99e41ea460772025767c47f6ad26f0
    Reviewed-on: http://gerrit.openafs.org/4367
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b440e1a5513efca246368ffe4656e61b58b35a40
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 28 14:43:28 2011 +0100

    Import flock.c from roken
    
    Add flock.c to our list of roken imports, so that we can use it on
    AIX
    
    Change-Id: I1f7b953c8853f4b021a486bb93ddc392c2c08e07
    Reviewed-on: http://gerrit.openafs.org/4366
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d162266c4958b22cc45d65e3f204a96c218e5f6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Mar 27 10:59:55 2011 -0400

    Linux: 2.6.39: replace path_lookup with kern_path
    
    path_lookup is no longer available, use kern_path instead.
    
    Change-Id: I42ae43114fe257fc65452f1b0a35d43595b0044b
    Reviewed-on: http://gerrit.openafs.org/4360
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 20da07abdf414ec86b2d6ead4cc2d9f59a1ee526
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 22 12:47:16 2011 -0400

    ihandle release locking simplification
    
    several callers drop locks so ih_release can be called unlocked,
    then relock. simply allow a locked call (via _ih_release_r).
    
    side effect: we had races before on refcnt check versus cleanup style.
    this addresses it, but only removes lock contention.
    
    Change-Id: Id2d132baa170894ba3ab0e1e8d0bcf9cf6c0c712
    Reviewed-on: http://gerrit.openafs.org/4271
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae038f92501ef7c279849fd2749cf835f68930a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 19:56:35 2011 +0000

    auth: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I2afd32d86b40b84c14f8a6021a583b6a4888780c
    Reviewed-on: http://gerrit.openafs.org/4321
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e922ac70925248af004972191cbd1db105b35d48
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 28 10:24:14 2011 +0100

    autoconf: Add tests for resolver headers
    
    Add tests for arpa/nameserv.h and resolv.h, so that roken will look
    after including these files for us.
    
    Change-Id: Ifa6b7d877d67c967811017a25c98fab6bd571d4c
    Reviewed-on: http://gerrit.openafs.org/4364
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 235aaced95300695ebe195c5af1d12cd2c54ab6d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 28 10:23:22 2011 +0100

    fssync: Rename state
    
    The structure 'state' in fssync-debug conflicts with a structure
    of the same name in AIX's resolv.h header. Renaming the structure here
    to fssync_state to avoid the conflict.
    
    Change-Id: I15df31a48369f76ef927a5153d3415e821bc0c51
    Reviewed-on: http://gerrit.openafs.org/4363
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1aab133e495a27fa4783379478c563d0ec066a9c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 19:27:21 2011 +0000

    audit: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I5543c5c9c22828ee19460c2ab24065f508a6353f
    Reviewed-on: http://gerrit.openafs.org/4320
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c153ec0c9e1794b8ee545e99d8c00ab1eab04efa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 19:23:34 2011 +0000

    vol: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: Ifd88310dc26ebfd995b4a25b2984ddb01606264f
    Reviewed-on: http://gerrit.openafs.org/4319
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8b88debf018a83ea0ec561a56db5c12be96eceda
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 19:11:15 2011 +0000

    volser: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Also, add sys/uio.h to the list of libraries that we check for.
    
    Change-Id: I03d9c143db42a1ec415ab5624e2cbede0d34e310
    Reviewed-on: http://gerrit.openafs.org/4318
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f6d148f6e7b399221de28808d9a4167dfb77e37c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 00:37:52 2011 +0000

    volser: More renaming of putshort and putint32
    
    Commit 2d6bc153689f14f8690878b15d9fb711a56b0546 renamed the putshort
    and putint32 macros in dumpstuff.c to avoid conflicts with macros
    that are defined in resolv.h. However, an almost identical copy of
    that code also exists in vol-dump.c
    
    Rename putshort and putint32 there too.
    
    Change-Id: I9b98f99fb5c2b24b57e2bc480c891aa86b6df344
    Reviewed-on: http://gerrit.openafs.org/4317
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8c1f7259314b1d81ce7be2fe7abe3f28672b2ce0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 15:36:49 2011 +0000

    afs_snprintf is dead, long live rk_snprintf
    
    We were shipping our own implementation of snprintf and friends, as
    afs_snprintf. Now that we're using roken everywhere, we can make use
    of roken's rk_snprintf, and no longer need to ship our own.
    
    As Window's snprintf isn't C99 compliant, roken always uses its own
    on this platform. The effect of this is that we can no longer use
    AFS_UINT64_FMT and AFS_INT64_FMT for snprintf calls (and the Log
    functions that call them). Instead, we need to always use the
    Unix format specifiers when calling these functions.
    
    Make thse changes across the whole tree.
    
    Change-Id: I3fffef97566f239ad639f15c4decd136d5bbd765
    Reviewed-on: http://gerrit.openafs.org/4316
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a58639ee7b4c80de9f7c177549639cbf18b71e14
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 27 21:06:27 2011 +0100

    Windows: Don't use %I for IP addresses
    
    %I isn't supported by the roken printf functions. In preparation
    for switching over to them, replace our use of asprintf to convert
    IP addresses to strings with the afs_inet_ntoa_r function.
    
    Change-Id: Id38dc56405071d62fb2b12e4f69905aa7a2026b0
    Reviewed-on: http://gerrit.openafs.org/4362
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9376293634393597ac7db88593100937621f6c3f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Mar 27 11:20:17 2011 -0400

    Linux: 2.6.39: deal with BKL removal
    
    For 2.6 kernels the OpenAFS code is already BKL free, but the
    corresponding header file smp_lock.h is still included in various
    places.  This header no longer exists, so remove all occurrences
    outside of LINUX24.
    
    Change-Id: Ib659fa787eab4b39efce5b0a62f5723950e79703
    Reviewed-on: http://gerrit.openafs.org/4361
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d3d3d2c51ab12a1be5f19745dc0ebb7d306fcc3b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 10:57:47 2011 +0000

    vlserver: Rationalise usage message
    
    Rather than having 2 copies of the usage message, just have one
    with #ifdef switches to disable options that are not available in
    that build.
    
    Change-Id: I5b2135fba3d42fdbb879d5e8cb61933f4929d598
    Reviewed-on: http://gerrit.openafs.org/4305
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b1b8d7a4baa558565d4e441e57d4a9941da9ed3a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 10:28:59 2011 +0000

    ptserver: Rationalise usage message
    
    Rather than having 4 copies of the usage message, just have one
    with #ifdef switches to disable options that are not available in
    that build.
    
    Change-Id: If888a64307b78189fcf617bbe0dc4ca9e55e8d2b
    Reviewed-on: http://gerrit.openafs.org/4304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 96916c8fcfa6832bd485a9e0b9d61fa6b23a30d9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 17:14:26 2011 +0000

    HP/UX: Make more use of roken
    
    Make more use of roken on HP/UX by letting it provide definitions
    for random and srandom, and using its implementation of
    getdtablesize
    
    Change-Id: I1212c77ea9cc6ef436cfc5c16e893aefbc33d31b
    Reviewed-on: http://gerrit.openafs.org/4341
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c019e03e70e95258da1af40d96d9798db1b8b2d2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 17:34:51 2011 +0000

    crypto: Fixes for recent Heimdal changes
    
    The last Heimdal import changed the name of a number of structures
    so that they are private to the krb5 code. Mirror this by changing our
    prototypes to match the new names.
    
    This solves the key_type problem that we previously fixed by #defining
    key_type to hc_key_type, so remove that define.
    
    Change-Id: I9b3f1712b0bf6641a780cc4002e73f8a511ff080
    Reviewed-on: http://gerrit.openafs.org/4340
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2343c67c7c2a312f9d8c0d2c5dd89077ac8e4b21
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Fri Mar 25 17:18:37 2011 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    987658325eb7bd6b10882cc4cdd224499e7f7a03 (switch-from-svn-to-git-2052-g9876583)
    
    New files are:
            roken/getdtablesize.c
    
    Upstream changes are:
    
    Love Hornquist Astrand (2):
          prefix symbols that are _krb5_ structures
          prefix internal structures with _krb5_
    
    Change-Id: I36aae13d877b6b40b8d2db47217884dc24f3f9c8
    Reviewed-on: http://gerrit.openafs.org/4339
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit db3288b0e745884b96697df4e17c96fde4bfa304
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 25 17:17:47 2011 +0000

    Add getdtablesize to the roken import
    
    Change-Id: I089e3976e90429e39102eeb82a74ece97e87bd25
    Reviewed-on: http://gerrit.openafs.org/4338
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2d754dfd37a93f8ef21857b0eac52640259a5bff
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 15:58:19 2011 +0000

    aklog: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Also add pwd.h to the list of headers that we check for in configure,
    and that roken will include if they are available
    
    Change-Id: I61ab95eeca11127a33bb668dddfc24ec6ce7f8f1
    Reviewed-on: http://gerrit.openafs.org/4303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 54b9813fe95f51f23c8c710ec28081fcdb4bdcc2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 15:50:47 2011 +0000

    NO_DES_H_INCLUDE is no longer necessary
    
    Now that we're using hcrypto for DES, rather than rolling our own,
    we don't need to specific NO_DES_H_INCLUDE, so get rid of it.
    
    Change-Id: Id370ddacb0a57264cc8f5cdda3c59fbb627708af
    Reviewed-on: http://gerrit.openafs.org/4302
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4dd09ac28eb9dc40c904c00142ed8a960990b248
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 10:01:00 2011 +0000

    ptserver: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Also reorder our headers so that they go
    
     #include <afsconfig.h>
     #include <afs/param.h>
     #include <afs/stds.h> (if required)
    
     #include <roken.h>
    
     [ ... out of directory headers ... ]
    
     [ ... local headers ... ]
    
    Change-Id: I9214f6bf65085947cfc588b47484e1b022ffc5b1
    Reviewed-on: http://gerrit.openafs.org/4299
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7b4da89c8ed266959ec8d3ae4f6627b096206dee
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Dec 17 01:16:30 2010 -0500

    new files for FreeBSD packaging at 1.6.0pre3
    
    Packaging for use with FreeBSD's Ports Collection.
    The directory layout is flattened, and a couple of files that do not
    make sense here are not included.
    The afsd rc script lives in packaging/ as it is not runnable in
    its committed form, it requires variable substitution that occurs
    at install-time from the Ports Collection.
    
    Change-Id: I72d6c2ee7106611b0ec9bfe3e47a471ed66b7255
    Reviewed-on: http://gerrit.openafs.org/4351
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dce071acef1119aceca7eb80a66c035fb03e9259
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Nov 21 23:32:37 2010 -0500

    Remove outdated rc file for afsd on FBSD
    
    The semantics of rc scripts have changed drastically since this
    was written.  It will need to be rewritten from scratch; the
    new version will live in src/packaging/FreeBSD as afsd.in, as it
    is included with the port packaging in that form.
    
    Change-Id: I397f8d5a9dc0430f1a9e8f2f0f378585cee4bd3b
    Reviewed-on: http://gerrit.openafs.org/4350
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f901c0f5258c14f5d04d9b64ca5b472c468f60bd
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Nov 6 00:30:12 2010 -0400

    Remove stale FreeBSD packaging
    
    We no longer use the Transaarc paths, and the rc environment
    and packaging methods are quite different now.
    
    Change-Id: I6915f41455dcf0518472b0a81fe7e5c559d4a994
    Reviewed-on: http://gerrit.openafs.org/4349
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9df32e55d4e5000b7f6c3c4d18f3498dd3d989c0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 26 16:50:52 2011 -0400

    Windows: export roken symbols
    
    rk_vsnprintf
    rk_vasnprintf
    
    Change-Id: I39344d10a599e7bdc761ae03853b679ab6edcb4f
    Reviewed-on: http://gerrit.openafs.org/4348
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 620ec4382fbf79908c62e4ce1e451b8743e457ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 26 13:05:26 2011 -0400

    Windows: change log for 1.5.9904 (1.6.0pre4)
    
    Change-Id: I0c302ef20bf245f927f3167d3c662334e71d81df
    Reviewed-on: http://gerrit.openafs.org/4347
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 55781a831954cb1e7253a12e0f9b581b586c3603
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 25 15:54:01 2011 -0500

    viced: REALLYCLOSE origfdP after CoW
    
    In StoreData_RXStyle, we save a pointer to the original FdHandle_t if
    we need to CopyOnWrite the target vnode, for the purposes of possibly
    copying additional data later on.
    
    After the CopyOnWrite call, this points to an inode that is not in the
    current volume, and is thus less likely to be accessed. In CopyOnWrite
    itself, the original file handle is FDH_REALLYCLOSE'd because of this,
    so the handle does not remain in the cache. Do the same in
    StoreData_RXStyle, so origfdP is always FDH_REALLYCLOSE'd after we
    have called CopyOnWrite.
    
    Change-Id: Ibe33d26120eb354318147f3a31fe32d38c6a70c6
    Reviewed-on: http://gerrit.openafs.org/4344
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa86aee76a3bf73d20771c24a3448b04cb6db932
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 25 15:44:57 2011 -0500

    Revert "ihandle: Ensure FDH_REALLYCLOSE really closes"
    
    This reverts commit a50f4c8d802c7b1c258a9cbe388dfab50425596b.
    
    The only difference between FDH_CLOSE and FDH_REALLYCLOSE has to do
    with ihandle cache behavior. FDH_REALLYCLOSE just indicates that the
    reference we are closing is not likely to be used by other code, and
    should be kicked out of the cache immediately (thus closing the file
    descriptor). So, if there is another reference to that FdHandle_t, and
    it issues an FDH_CLOSE, it thinks that the reference is likely to be
    used again soon, and so the handle should not be kicked out of the
    cache. Thus, the behavior before a50f4c8d was already correct.
    
    Change-Id: I5a5c0c18b459f50e16c1d901ecc5f4eb18e8ef62
    Reviewed-on: http://gerrit.openafs.org/4343
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1d51d2a6030fb8aabdae1fedb6846dc7ef9fbca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 8 11:04:07 2011 -0500

    vol: avoid MAXINT redefinition warning in vnode.c
    
    Change-Id: Ifeed132ac477a83f21af5b52cba7b658fb083221
    Reviewed-on: http://gerrit.openafs.org/4179
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e261238470ed28ee7c1068d914de171b34033e09
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 8 16:59:32 2011 -0600

    SOLARIS: Perform daemon syscalls as kernel threads
    
    Add AFS_SUN5_ENV to the list of platforms where AFS_DAEMONOP_ENV is
    defined. Implement the necessary functionality so we spawn kernel
    threads when a daemon syscall is called. Remove the rxk_Listener
    wrapper, since it will be called in a separate thread via the
    afs_DaemonOp interface.
    
    Change-Id: I3c2570696a83f1837d08522fdd9dfc30dfefda4b
    Reviewed-on: http://gerrit.openafs.org/4189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6143bb27d20380e689346b4e66c077e5d4cd6061
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 8 15:37:17 2011 -0600

    libafs: Consolidate afs_DaemonOp code
    
    Create the AFS_DAEMONOP_ENV define to simplify the logic of when we
    perform afs_DaemonOp-y code paths. Also create the daemonOp_common
    function, to perform common pre-fork operations that are common
    between platforms.
    
    Change-Id: Id93e1ffd7b8f4c0029cf4632239a519a619e9f9f
    Reviewed-on: http://gerrit.openafs.org/4188
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 99ed22fb02a3b44c03327a1fdd5ef56e211724b6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 25 16:37:30 2011 -0500

    SOLARIS: Correct ioctl syscall error handling
    
    Do not use the return code from ioctl for errno. Ioctl itself will set
    the errno and return value correctly, so don't mess with them.
    
    Change-Id: I26c3afb5c77a3fce57e0d53d8671541805b32e08
    Reviewed-on: http://gerrit.openafs.org/4345
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 05241a59a1ce88d2f25d75127124971c55e1f677
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 8 14:59:44 2011 -0600

    libafs: Indent afs_call.c ifdef maze
    
    Change-Id: I46198de875c16e221d4b75bb45afc9e2fd09dde1
    Reviewed-on: http://gerrit.openafs.org/4187
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d971d235e986c4e9ca959cf458e1e2322d79ac63
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 25 14:11:16 2011 -0500

    ihandle: One more indentation fix
    
    Change-Id: Icfed36ba0087d82706aea88e083576480244a9ad
    Reviewed-on: http://gerrit.openafs.org/4342
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c5be1f72875bcb083a9ddef4621efecf62aa880e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 24 17:57:32 2011 -0500

    salvager: Stop asking for DAFSness on SYNC_FAILED
    
    Break out of the loop so we stop asking the same thing repeatedly.
    
    Change-Id: Ifcb2cd62589867927ab9f8be03bab7b981e5f761
    Reviewed-on: http://gerrit.openafs.org/4315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ad0afb57b9172bb7cfa0853b5f34259c0958d248
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 17:38:35 2011 -0500

    DAFS: Allow the volumeSalvager to checkout volumes
    
    Change-Id: Ia255c866bbd4f6cb883383650373223f09875374
    Reviewed-on: http://gerrit.openafs.org/4298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1043c7ce7d68409c1debfada0a92c96a94a8980b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 25 08:58:20 2011 -0400

    Windows: trailing dot not part of volume name
    
    When dynamically adding new cell mount points to the Freelance
    directory do not include a trailing dot when specifying the root.cell
    volume name.
    
    Change-Id: Idfae9e3f44380cbce49d77fff22bee15dc4856ce
    Reviewed-on: http://gerrit.openafs.org/4333
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 04bcfa2821c9deba151f562bb78452276d8d7443
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 24 16:11:17 2011 -0400

    add AFS_DEMAND_ATTACH_UTIL
    
    use this for non-pthreads "support code" e.g. salvager.
    
    Change-Id: I17825fa90de33a7a4d17f364713fd4602dae497b
    Reviewed-on: http://gerrit.openafs.org/4312
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9b245d856b165f195b0da93df77e4a28a1698b46
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 15:26:38 2011 +0000

    util: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times.
    
    Change-Id: I5e5e67b695f07bf121b0543c7f936278009eff15
    Reviewed-on: http://gerrit.openafs.org/4301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6960a3038a7b5d8dfc5e43fef43c62e0d6ce634c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 24 10:54:44 2011 +0000

    vlserver: Tidy header includes
    
    Since we adopted libroken, we get a lot of header includes automatically
    from roken.h. Use these, instead of including lots of things multiple
    times
    
    Change-Id: I8b304bcd0e376601fbe622f7453d0295b188b697
    Reviewed-on: http://gerrit.openafs.org/4300
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8234cc254406173a7ada9fb1b4a63ca8aa626bca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 24 10:22:52 2011 -0500

    DAFS: Correct FSYNC_VOL_QUERY_VOP checks
    
    Check that the given partition matches the vp partition, and ensure
    the vp is not in an exclusive state when we check the state.
    Otherwise, we may return pending vol ops for a volume on a different
    partition, or we may incorrectly return that there is no pending vol
    op when in fact the volume does not exist at all.
    
    Change-Id: I3e28c0b7b372360d181a3310eb1fb7fce223ae59
    Reviewed-on: http://gerrit.openafs.org/4308
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7b00c17b49fe6a54f99f3c23bfc307a4b10d88e2
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Mar 24 12:56:56 2011 -0700

    Correctly document the AFS client setuid defaults
    
    AFS no longer honors setuid status by default.  Update the admin
    guide documentation appropriately and add a warning recommending
    against enabling setuid status given the limitations of the current
    AFS protocol.
    
    Reformat this section of the admin guide to make it easier to
    maintain.
    
    Change-Id: I6ea5859037d7d194df801f1a76583257cfc8bbe8
    Reviewed-on: http://gerrit.openafs.org/4311
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 11ad1e467f9708f12fe09228cbb827b8f4e1225b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 16 02:17:38 2011 -0400

    Windows: avoid recursive cm_CheckOfflineVolume
    
    Add a new cm_req_t flag CM_REQ_OFFLINE_VOL_CHK which is used
    to prevent cm_Analyze() from performing recursive
    cm_CheckOfflineVolume operations that will exhaust the stack.
    
    Change-Id: Ia4ee14307bf812cc2208482a19c1a914aca3e447
    Reviewed-on: http://gerrit.openafs.org/4240
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 637f5b642aaee3a6f4642fd0ba15e2a9eec6c496
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 17:25:03 2011 -0500

    salvager: Give back volumes when exiting early
    
    Sometimes the salvager exits a bit earlier than normal. For instance,
    when no applicable inodes are found for a volume group, or if the
    -inodes command line option was given. In these cases, we have already
    checked out singleVolumeNumber from the fileserver (if we're salvaging
    a single VG), so we need to give it back. So, give it back in those
    instances.
    
    Change-Id: I3ab732d3b640b76d3bdec7ac9d01e57dc5a54ade
    Reviewed-on: http://gerrit.openafs.org/4297
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dba991728ba5a90af316928348053189dac80398
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 16:46:47 2011 -0500

    DAFS: Do not record vol ops for DELETED vols
    
    When a volume is VOL_STATE_DELETED, it effectively does not exist, so
    there is little point in recording a vp->pending_vol_op structure for
    it. Just let callers checkout the volume as they would a nonexistent
    volume: without recording anything about the operation.
    
    This just reduces some edge cases and confusing debugging info, so we
    don't have to worry about cleaning up pending_vol_op structures for
    nonexistent volumes.
    
    Change-Id: I56b92c3f2548ea48f9c61100be07edf9f7277fee
    Reviewed-on: http://gerrit.openafs.org/4296
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f2c1f2ee48663d00701e7cee52b99151e36b9534
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 16:12:20 2011 -0500

    salvager: Do not AskOnline nonexistent volumes
    
    If singleVolumeNumber is not in our volume summary list, then the
    singleVolumeNumber volume does not exist. So, don't try to bring it
    back online. Still do try to make sure we don't have the volume
    checked out, though, so issue an AskDelete, so ensure that it's not
    checked out and that the fileserver does not think it exists.
    
    Change AskDelete so we don't care if we tried to delete a volume that
    the fileserver thinks already doesn't exist. Change the FSYNC_VOL_DONE
    handler so it does not complain about already-deleted volumes.
    
    Change-Id: I33dd876c0db91a3c8a5210fca329d63bf4b3d212
    Reviewed-on: http://gerrit.openafs.org/4295
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 22149d82d465f5defbe329b3f9b3c5040a6293e9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 15:19:03 2011 -0500

    namei: Log ListViceInodes write failures
    
    If we fail to write to the inodeFile given by ListViceInodes, we
    should log the failure. Otherwise, no indication is given as to what
    failed, when a salvage gathers the inode list.
    
    Change-Id: Ia54105e1043969781711b9168c6787d07d1d319f
    Reviewed-on: http://gerrit.openafs.org/4294
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d6557a9cf7b76af62cba986428cf0362d42eae9a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 14:30:18 2011 -0500

    salvager: Fix conversion from stdio calls
    
    Commit 5247fa38a4faebfdffba178ca01e5b419f034d5d converted some I/O
    calls in the salvager from stdio to OS_OPEN/OS_WRITE/etc. Fix some of
    the conversions, including:
    
     - We need to pass O_CREAT to OS_OPEN calls, since we are creating
       these files
    
     - OS_WRITE returns the number of bytes written on success, not the
       number of "elements" like in stdio
    
    Change-Id: I789b7549c1eabeb821591bf9f42d810252fb11e1
    Reviewed-on: http://gerrit.openafs.org/4293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a50f4c8d802c7b1c258a9cbe388dfab50425596b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 22 16:36:47 2011 -0500

    ihandle: Ensure FDH_REALLYCLOSE really closes
    
    If FDH_REALLYCLOSE is given an FdHandle_t that has more than one user,
    currently it does effectively nothing. Ensure that the file descriptor
    actually gets closed on a subsequent FDH_CLOSE, but setting the new
    fd_needs_rclose field.
    
    Change-Id: I04794662ca64e6be718da82e10994a4a7bc0b39a
    Reviewed-on: http://gerrit.openafs.org/4274
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f41ee7d17267381c4e67eec2f35f298cc272397e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 23 14:16:10 2011 -0400

    macos next support
    
    first brush at supporting next macos. totally not lion about it.
    
    Change-Id: I4d2e05f68266ea82de710717c5340f16425f897e
    Reviewed-on: http://gerrit.openafs.org/4290
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cfab7a166a78905276dc4f0b310eb894893107ee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 23 14:11:24 2011 -0400

    osconf: reduplicate systype stuff
    
    in some cases there is more to do, and in some cases we probably
    already didn't build anymore, but, let's simplify.
    
    Change-Id: I779c3ba8f3f02e6202700d96ee92cd473de66af2
    Reviewed-on: http://gerrit.openafs.org/4288
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d4ebebd0c3f89b65e93f0da6d53665271e6d2a61
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 23 11:07:03 2011 -0500

    DAFS: Do not VDeregisterVolOp_r while exclusive
    
    We should wait for a volume to transition out of an exclusive state
    before calling VDeregisterVolOp_r on a volume, since some code may be
    examining the vol op outside of VOL_LOCK in an exclusive state. We
    should be doing this anyway before performing volume state checks,
    since we may be trying to e.g. attach the volume at the same time.
    
    Change-Id: I3a5b78b7c0033887a973ce941ced592df8c4bf3d
    Reviewed-on: http://gerrit.openafs.org/4287
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b0921071dd1b4d460d406985bba9619561444055
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 23 15:35:35 2011 +0000

    rpm: Build srpms without %dist in their name
    
    On RHEL6, %dist is set for all RPMS and SRPMS built on the system. This
    leads to makesrpm.pl building SRPMS with .el6 in their release. As we
    endeavour to use the same SRPM on all of our Fedora platforms, this is
    less than ideal, so change makesrpm.pl to squash the setting of %dist
    before building the RPM.
    
    Change-Id: I5b5b9db7654ce21a269233e8950d4f4d1df81ad7
    Reviewed-on: http://gerrit.openafs.org/4285
    Reviewed-by: Alexander Ivan Redinger <aredinger@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9ac85bb2fd91baa4c3077d091f395f57e933018a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 22 16:18:17 2011 -0500

    Fix ihandle.c indents
    
    ihandle.c had some blocks that were not indented. Indent them.
    
    Change-Id: I05442c6fabc19fab314f515fa950159de05b8c48
    Reviewed-on: http://gerrit.openafs.org/4273
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ef9fc4fadaded1c0ea067b2fd1d423df826606ae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 17 04:37:27 2009 +0000

    vclosevnodefiles-ihandle-leak-20090216
    
    LICENSE IPL10
    FIXES 124359
    
    don't leak ihandles on close. this isn't a complete fix for the issue
    (cherry picked from commit b9816e12f7ed8213c9c4eaea09e992e69ce4ee05)
    
    This reverts the part of 12e85227c5dbfdb1258718ee3360bffacc4f96ac that
    reverted b9816e12f7ed8213c9c4eaea09e992e69ce4ee05.
    
    Change-Id: If4ac661a3a0f8abf7f6a79fa9d72d715861bcf51
    Reviewed-on: http://gerrit.openafs.org/4272
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 81e7a5adf93a6b5eec104ca4bde429cf6cb0548a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 21:26:59 2010 -0500

    DAFS: fix forceDAFS support in salvager
    
    we need to get the shared partition lock for the per-volume
    forceDAFS case
    
    Change-Id: I7be91420bb0df5963e789c932e5c469fe02ec108
    Reviewed-on: http://gerrit.openafs.org/3487
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b9ecf28c6c7c232823ac9b44cd00db9afab81c91
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 21:23:53 2010 -0500

    DAFS: allow salvager to detect whether FSYNC server is DAFS
    
    in order to enable the right commands and print the right errors,
    query for DAFS-only FSYNC op.
    doesn't use bozo InstanceInfo as it's possible you can run fileserver
    outside of bos.
    
    Change-Id: Ib94f7b3a2960cd493f110af4d5dee7e97a6493c9
    Reviewed-on: http://gerrit.openafs.org/3486
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d4e8b729d8f216e9f033e95194740ff4cb566688
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Mar 22 02:04:46 2011 -0700

    Update NEWS for 1.6.0pre3 release
    
    Add additional NEWS entries from the 1.6.0pre3 release notes.
    
    Change-Id: I46b306a7fc85f95be87c2b9eeaefae6b9816be8f
    Reviewed-on: http://gerrit.openafs.org/4270
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2578555d7e08131bf2fe4cdd0aa4b32567a76eb2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 15 14:24:01 2011 -0500

    viced: Check vnode length on dir ops
    
    The commit aadf69eabb1962496fa93745ab560a5b48cacd61 added checks on
    vnode length whenever we read or write from a vnode. Add the same
    check on directory vnodes when we modify the directory (whenever
    entries are added or deleted).
    
    Change-Id: I8aa438941f840019bc541d5a978610c4f78330c8
    Reviewed-on: http://gerrit.openafs.org/4233
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0f1c921fa1738c383fd576e287f356dd13f92a58
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 10 18:37:44 2011 -0600

    vol: Correct VolumeNumber for large volume IDs
    
    VolumeNumber was using atoi to convert a volume header name to a
    volume ID. This can return just -1 for volume IDs larger than 2^31-1,
    though, so use strtoul instead.
    
    Change-Id: Ibae2d29f196646154fcc4f6ff174246e37b3d735
    Reviewed-on: http://gerrit.openafs.org/4199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 85edec7105dd653ed1d8046b69b8262281e97bba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 10 17:59:39 2011 -0600

    vol: Handle large volume IDs in VLockFile
    
    VLockVolumeByIdNB currently cannot handle volume IDs larger than
    2^31-1. Fix this by using struct flock64, F_SETLKW64, and F_SETLK64 in
    the VLockFile functions where possible.
    
    Thanks to Simon Wilkinson for pointing out F_SETLK64.
    
    Change-Id: I422c685aec035716e2f42d13bd97541425ead6a2
    Reviewed-on: http://gerrit.openafs.org/4198
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b146d627181f7b631da7655f338748a8f1d25272
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 10 16:41:02 2011 -0600

    vol: Make VLockFile arguments consistent
    
    The Windows implementation of the VLockFile functions had the handle
    incorrectly declared in a few places (they accepted a struct VLockFile
    instead of an FD_t). Correct them, and make all VLockFile
    implementation functions declare 'FD_t's instead of 'HANDLE's or
    'int's.
    
    Change-Id: I2bc414712599cb8f2a2f0a5034b583a15b2c3ad8
    Reviewed-on: http://gerrit.openafs.org/4197
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a6f18413edceed1b0d532005eb62cb1886e7a6f3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 17 16:32:00 2011 -0500

    libafs: Do not osi_FlushPages for dirs
    
    Directory contents are never mapped or stored in pages, so dealing
    with page invalidation on directories is just overhead. So make
    osi_FlushPages a no-op when we're given a directory, which can avoid a
    lot of locks and other processing (particularly when we are called in
    afs_getattr in BOZONLOCK_ENV).
    
    Change-Id: I56fbd08c74d01a5fcb45a57e08bb31afcec9331d
    Reviewed-on: http://gerrit.openafs.org/4259
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a18175f479437f3a4fe68460538927630070cd13
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 16 11:48:08 2011 -0500

    DAFS: DFlushVolume outside of vol glock
    
    DFlushVolume may traverse a long list of directory objects, and can
    even hit the disk, so we should drop the glock for it. This should be
    safe in DAFS, since we already transition the volume to an exclusive
    state before doing this, and DFlushVolume only deals with structures
    internal to the directory package and maintains its own locking.
    
    Change-Id: I6493042c8f36614b55d4dc40d97639e56b34fabd
    Reviewed-on: http://gerrit.openafs.org/4242
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8c418408016ff8d6be9f85c4666a49954f61dbd0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 20 21:13:09 2011 +0000

    util: Fix exec_alt
    
    exec_alt was failing its tests on Mac OS X (but passing them on Linux).
    
    It turns out that this is because it was failing to NULL terminate the
    string that it creates in construct_alt(), which copies in the
    characters from argv0, prefix and suffix, but never copies in a trailing
    NULL.
    
    Amend the code so that the trailing NULL from suffix is used to
    terminate the string.
    
    Change-Id: I286604fb09193367c4e7b2d80051832080362f79
    Reviewed-on: http://gerrit.openafs.org/4267
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1c1051ae19810acc6256abe25952375699e4237a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Mar 20 19:23:29 2011 -0400

    lwp: override dbg and optmz settings
    
    we were wiping out fun things like archflags. shouldn't be needed.
    let's just do this instead.
    
    Change-Id: I80b3453bb237b4995d642b947d03c17d82cda5e7
    Reviewed-on: http://gerrit.openafs.org/4266
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 693a749595ec949e0e9620c66fa65bcf8f567927
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Mar 20 19:15:30 2011 -0400

    osx: restore atomic stats to knet
    
    pulled wrong version of change into master. put back atomic
    versions of stats.
    
    Change-Id: I3b8413e2606a8bc4bf55aa674860685b2ca2ced6
    Reviewed-on: http://gerrit.openafs.org/4265
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ce5e263b488f8cb85662031ee08eea448dab2d27
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 16 14:44:56 2011 -0500

    salvager: Fix volume parsing on 64-bit
    
    When an unsigned long is wider than an afs_uint32, comparing the
    afs_uint32 vid to ULONG_MAX is always going to be false (which the
    compiler can warn us about). Fix this by storing to an unsigned long,
    and converting to a volume id after ensuring that the result is not
    too large.
    
    Change-Id: Ifbd724dabd988bc4b1ba6ee8f3dc7fa1a0afb226
    Reviewed-on: http://gerrit.openafs.org/4244
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d73d9a1011cc3e1e5acfbc970434373f732c066e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 19 23:11:11 2011 -0500

    MacOS: allow cdead vcaches to be found in FindVCache if requested
    
    if we are trying to find a dead vcache, let it be found, don't immediately
    attempt to recycle
    
    FIXES 128511
    
    Change-Id: I7f86f7d4a88e1b89887b64617246e750654b0334
    Reviewed-on: http://gerrit.openafs.org/3691
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1da95520fa85c6589fdb32ce1ee9035d92b34f4f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 21:23:17 2011 +0000

    util: Remove unnecessary uuid_mem* macros
    
    Once upon a time, in a galaxy far far away, uuid used bcmp and bcpy
    operations in kernel space. However, we changed that back in 2001, and
    since then the uuid_memcpy and uuid_memcmp macros have been redundant.
    Tidy up the code a little by removing them.
    
    Change-Id: I3abcff79b36a330f1619c3d7e0a791eac1cf69a1
    Reviewed-on: http://gerrit.openafs.org/4253
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0a98548832472152304410e41306adcc5b91f6a2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 18:11:21 2011 +0000

    dir: Make test utility build again
    
    Make the 'dtest' test utility, which can be used to test the functioning
    of the dir package, as well as to manipulate the directories that it
    creates, build again.
    
    Change-Id: I3b87c691cc9cb7ffce9297243d4a709d2e94fd40
    Reviewed-on: http://gerrit.openafs.org/4251
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b88cf2f1aa6934a0bdc5b4090fef941f51e8a366
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 17:42:59 2011 +0000

    util: Remove remote.h
    
    remote.h is no longer used anywhere within the tree, and defines an
    interface that has never been provided by OpenAFS. Remove it.
    
    Change-Id: Id1007364f073c3bc2751491df371f51a37059381
    Reviewed-on: http://gerrit.openafs.org/4249
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit af854b4e2f19e5f1a83b686e99ca3dd6122af942
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 17 19:28:23 2011 +0000

    rpms: Make makesrpm.pl cater for new rpm names
    
    Starting from 1.6.0, our specfile no longer adds a stray '1.' to the
    start of the release field. makesrpm.pl was failing to deal with
    these new-style names and therefore not actually making an rpm.
    
    Fix this by conditionalising on the OpenAFS version when selecting
    which rpm to copy.
    
    Change-Id: I36b32ccc20baa167f46e5095eacb38a8e7d65e27
    Cc: Alexander Redinger <aredinger@sinenomine.net>
    Reviewed-on: http://gerrit.openafs.org/4258
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c10f5296d26eac9ac00018199ef579e8f6095c07
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 16 01:06:43 2011 -0400

    macos: kernel socket upcall
    
    support kernel socket upcall instead of listener env
    
    Change-Id: I1b66ce0877053700cd894f47017596fbe07e7384
    Reviewed-on: http://gerrit.openafs.org/4239
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6ca42fe191862ffae740e157a190a1bd894b848d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 17:16:31 2011 +0000

    util: Remove packages.h
    
    packages.h is unused within our tree, and contains nothing of any
    use to out of tree callers (it attempts to define bases for error
    codes, which has been superceded by our use of comerr)
    
    So, remove it.
    
    Change-Id: I22f2d3fba6ff960f00757c69f6beb5e7f25f9bba
    Reviewed-on: http://gerrit.openafs.org/4248
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 71380ee4f3522ba64ed60724a928f8efc16ca132
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 17 19:14:39 2011 +0000

    rpms: Use new CellServDB
    
    Update the CellservDB referenced by the spec file to the latest one
    from grand.central.org
    
    Change-Id: I315419b45c124908a262420cd9bd3876fe0ba308
    Reviewed-on: http://gerrit.openafs.org/4257
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 79ec0068740b3dc83bd92ac5fc25749d292f1f70
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 15:37:47 2011 +0000

    util: Remove itc.h
    
    The itc.h header is never installed, or used in the OpenAFS tree.
    Remove it.
    
    Change-Id: Ia01f0f5353bc019c3fd0c311b2c7cfc157dca2dd
    Reviewed-on: http://gerrit.openafs.org/4247
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5df51a82947f0ff60d57f551c5faa136ad7f6e0f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 17 10:43:23 2011 -0500

    viced: Actually print client CPS
    
    Client CPS was not getting output on SIGXCPU like the rest of the
    client information, since the conditional in the CPS loop was never
    true. Fix this so we traverse the CPS entries correctly.
    
    Change-Id: Ic3434000fbf90e96665779f21811bffcc3a19b45
    Reviewed-on: http://gerrit.openafs.org/4256
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b9bf4e02bbe8b6e552bc485701e56702856ffad9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 15:34:54 2011 +0000

    util: Remove isathing
    
    isathing.c only provided one function - util_isint, whose behaviour
    can be far better provided by careful application of strtol.
    Simplify our world a little by removing the file.
    
    Change-Id: I6a8460daaec092d4916d4a46e04df01d0dfc7ccc
    Reviewed-on: http://gerrit.openafs.org/4246
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d9f11cd85bd533df21be792b11fc21385c210b6b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 16 15:31:40 2011 +0000

    kauth: Use strtol for integer argument handling
    
    Use strtol, rather than a combination of util_isint and atoi to
    handle integer arguments. This is much cleaner, far more portable,
    and removes a dependency on an internal library function that this
    file is the only user of.
    
    Change-Id: I3140a396ae3ec32e4498f62769f27c76f03001d9
    Reviewed-on: http://gerrit.openafs.org/4245
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4744cc699be19fffb49f39f469e91ef6aac6585
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 17 01:25:35 2011 -0400

    osx: decode-panic should work in add-kext only land
    
    in 64 bit 10.6, you need add-kext (not add-symbol-file)
    to decode a panic. deal accordingly
    
    Change-Id: I40f3c40150b98be2d80881ee56f8f8e33c92bc0f
    Reviewed-on: http://gerrit.openafs.org/4255
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0016e013aa012e179e7ac4c59b19a0ee1cbd0840
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 17 00:11:43 2011 -0400

    osx: prefs pane should properly detect version
    
    we use "new" afs conf after 1.4.6 or 1.5.36. detect correctly
    
    Change-Id: I7ae0005f7f1ca3a3164d12fab38e6d4da5c85168
    Reviewed-on: http://gerrit.openafs.org/4254
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ffdc040d560a461abd59602ad62ba2fbf150227f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 15 21:48:43 2011 +0000

    Throw the compiler a bone ...
    
    ... failing that, a semi colon.
    
    Change-Id: I39cf03f16f5faaf32e8335ea6453e76b0d1c67ef
    Reviewed-on: http://gerrit.openafs.org/4234
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a72ebfe324874dd405d18561baf5eaacb007950
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 14 23:36:45 2011 -0400

    macos: dont want bind 8 compat on leopard
    
    we removed it for i386, kill it for ppc also.
    
    Change-Id: I1c91a138ecbec9c25a9734f5a5bcdc1d08469404
    Reviewed-on: http://gerrit.openafs.org/4229
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4e2074b7bff9371809d13c56fd6725fc4df99180
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 14 22:55:26 2011 -0400

    Windows: 1.6pre3 changes
    
    Change-Id: I87b1e29f26e1785fe7ab09c3641d7ad4281f9be8
    Reviewed-on: http://gerrit.openafs.org/4227
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d92852ba99bc7591515992dfea3436d93c23b85
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 15 00:45:45 2011 +0000

    Linux: Fix return codes from setpag
    
    Linux is a real stickler when it comes to error codes. Functions
    which return positive error codes into the kernel tend to have
    unfortunate effects. Because all AFS errors tend to be positive,
    most of our kernel entry points negate errors before passing them
    back to their caller.
    
    This causes problems when internal functions themselves return
    negative error codes. This was the case with the keyring functions,
    which ended up returning a negative code to setpag(), this handed
    that code ultimately up to the ioctl handler, which negated it (so
    turning it positive) before throwing it up to the kernel.
    
    The kernel sees this positive value as being a successful return,
    and so passes it direct to userland, rather than assigning it to
    errno. This led to the setpag() userspace function never being
    aware of keyring errors that had occurred in the kernel.
    
    Fix all this by making sure that all errors from the keyring code
    are made positive before being passed upwards in the kernel module.
    
    Change-Id: I31eeaf9a4819dc47052ea0ff3070bdaaf22f1f66
    Reviewed-on: http://gerrit.openafs.org/4223
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff2933a122ddf9421ebcacdc7e4ec5f44333f894
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 15 00:06:19 2011 +0000

    Revert "Linux: normalize error return for emulated syscalls"
    
    This reverts commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb.
    
    Sadly, this change fixed setpag(), but broke all of the pioctls. The
    problem is actually a little more nuanced than we at first thought.
    What's happening is yet another case of Linux's special handling of
    negative return values. When an ioctl handler returns a negative
    return code to the kernel, it does errno = -code, and sets the
    return code to -1. If you pass it a postive return code, however,
    it just returns that straight to the application.
    
    The pioctl code gets this right. However, the setpag code doesn't,
    and so tries to return postive values, which is why ioctl appears
    to be returning the error code in the return value, not in the
    errno.
    
    Change-Id: I192ff45ad15b72a493a3c9c98546b026761dd95f
    Reviewed-on: http://gerrit.openafs.org/4222
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c78694fdb76e9606a06cf834b80cbba827b8ff2b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 13 17:13:49 2011 +0000

    auth: Use the UserListFileName function more
    
    The function UserListFileName exists to abstract the process of
    producing a full pathname for the userlist. Modify the rest of
    userok.c so that it uses it.
    
    Change-Id: Iac90e159dd8dc8344943e424615bf2aba1b31db3
    Reviewed-on: http://gerrit.openafs.org/4215
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a1a3ac4024b53ae513b782db0dc968a34707874b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 13 16:54:34 2011 +0000

    auth: Refactor CellServDB path creation
    
    Move all of the duplicated code that does CellServDB path creation
    into a common function. Use asprintf(), rather than strcompose in
    this function so we're using fewer fixed length buffers.
    
    Change-Id: I47ce92b97674bb09b5804ff5631fa47a21800902
    Reviewed-on: http://gerrit.openafs.org/4214
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 13e622c939928fcd35433aa4843c09ab44a7ae79
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 13 21:47:43 2011 +0000

    roken: Export rk_asprintf on Windows
    
    Add rk_asprintf to the Windows roken export lists
    
    Change-Id: Ie12c245aa2bf45fcbcfa5474e1dfaf3c32036bb4
    Reviewed-on: http://gerrit.openafs.org/4216
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba67ef96bb5216ecb03d656af22b3b7f7542efef
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 14 10:15:35 2011 -0400

    readme typos
    
    Fix two typos in README.
    
    Change-Id: Icd03d015d5d08a26640e12eceb8185fa36087753
    Reviewed-on: http://gerrit.openafs.org/4218
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1eb570996485023ce902393a251c5f4e92229d10
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Mar 5 23:09:18 2011 +0000

    auth: Rework afsconf_UpToDate to use CellServDB
    
    Rework the afsconf_UpToDate check so that it uses the modifcation of
    the CellServDB, and not the KeyFile to determine whether the
    configuration information has been changed under us or not. afsconf
    defines the CellServDB as being the single sentinel for a config
    directory being changed, and our tools are careful to always touch
    the CellServDB when updating anything else there.
    
    Also, rework the _afsconf_Check() code so that it uses afsconf_UpToDate,
    rather than including this logic twice.
    
    Change-Id: I8ef5f67afbb5982bb25e12407ea5dc5dc1512840
    Reviewed-on: http://gerrit.openafs.org/4203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 926755bf222cfaf39a4e4437c468a7a9030fe7a1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 13 15:47:36 2011 +0000

    tests: Fix KeyFile test so it works from harness
    
    The auth/keys test tries to find a file that's distributed as part
    of the test suite. However, it currently only looks in the CWD to
    find it. Modify the test so that if it's run from the test harness,
    it will use the harnesses SOURCE environment variable to locate the
    KeyFile
    
    Change-Id: I93e16a01eae79b38ab01c81a57d2a47c28479b27
    Reviewed-on: http://gerrit.openafs.org/4213
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bc16fe0a43deb9309521af42c5db89ebbd87192e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 13 15:45:37 2011 +0000

    tests: Fix the authcon test to avoid pthread errors
    
    Fix the authcon test so that it avoids pthread errors by
    initialising rx before calling into any of the rxkad routines.
    
    Change-Id: I175203fd91660e27a8b468e6f1c6189f32b22259
    Reviewed-on: http://gerrit.openafs.org/4212
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4953ce8070497bc494e624d72271bcbc5dc1dbe7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Mar 13 14:45:04 2011 +0000

    pt_util: Initialise empty database correctly
    
    Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's
    initialisation of empty databases. This is because Initdb was changed
    to call Initdb_check through the ubik_CheckCache wrapper. However, that
    wrapper was defined as a no-op in pt_util's ubik-shim.
    
    Modify pt_util's ubik_CheckCache so that it always calls into the
    wrapper routine - this mimics the old behaviour.
    
    Add a trival test for pt_util - check that we can build the database,
    using the example from the manpage, and then that the built database
    matches what we expect.
    
    Change-Id: I41aa9f6a531662230ed625cc3b1307016ef4107f
    Reviewed-on: http://gerrit.openafs.org/4211
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 83f0baef29fd4962f5cb8ac93fb332af87433a4a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Mar 13 12:56:57 2011 +0000

    DOC: pt_util now outputs ntohl'd epoch and version
    
    Commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8 fixed pt_util so
    that the epoch and version is correctly byte-swapped on little
    endian systems.
    
    Remove the warning about this from the manpage as it is no longer
    relevant.
    
    Change-Id: Ic54223b0a8812825a1b7a8d2b8ee1b0c51ecea05
    Reviewed-on: http://gerrit.openafs.org/4210
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f6f8158ada81a50961699de68f6f2348fcc4a955
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Mar 7 17:23:51 2011 +0000

    crypto: Add krb5_crypto_fx_cf2 to our prototypes
    
    Admit to having the krb5_crypto_fx_cf2 function in the kernel RFC3961
    implementation - we're going to use it for for key combining
    
    Change-Id: Ibb11a4d7467bc18eb222d5f8902dc4181b30e92c
    Reviewed-on: http://gerrit.openafs.org/4204
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 47b23080a203abd0d9400c29407a9a3ce9845c54
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 4 22:57:15 2011 +0000

    ubik: Allow servers to have more than 3 seclayers
    
    ubik has traditionally used the afsconf_ServerAuth function to
    fill in a single field in a pre-allocated list of security classes.
    This meant that we could never have a class with an index higher
    than 2 (rxkad). Setting the function to call, and the rock to that
    function was also accomplished by playing with global variables.
    
    Rework this so that a new function is used to set the security
    classes, which can allocate an arbitrary sized array of classes.
    Move the setting of this function, and of the authentication check
    function into ubik_SetServerSecurityProcs()
    
    Change-Id: I7cde73b05db4d51403469e2bead1d99d5ae88043
    Reviewed-on: http://gerrit.openafs.org/4202
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7a0bbff4a61b1709cccc643ec8aa4440d2b4a936
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 4 22:37:10 2011 +0000

    afsconf: Rework security flags
    
    BuildServerSecurityObjects takes a set of flags, which makes it
    hard to use it as a callback function. Rework this so that the
    security flags are part of the afsconf directory structure, and
    so BuildServerSecurityObjects only takes a rock, and its return
    parameters.
    
    Update all of the callers for this new function, and add tests
    for it to the test suite.
    
    Change-Id: I48219ed199d128c6aec3765ca425bda9e464b937
    Reviewed-on: http://gerrit.openafs.org/4201
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 419fbfb4536242bbb6321d6e1c468ca939bf7009
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 4 12:12:24 2011 +0000

    ubik: Remove dependency on auth
    
    When commit 8a09c220f4c5f881ea45be585b07b793038924d5 added support
    for token error recovery to ubik, it introduced a dependency on
    afsconf. This breaks the abstraction layer that had been in place, by
    requiring that the SecurityRock be an afsconf_dir (if you use a
    different rock, ubik will segfault)
    
    This change reinstates the abstraction layer, by requiring Ubik
    users who want token error checking to specify a procedure that can
    be used to check whether tokens are up to date. Instead of yet
    another global variable, we replace the existing CRXSecurity*
    variables with a single function that can be used to set security proc,
    token checking proc, and rock.
    
    Change-Id: I9036cf712f02610ed2e906602d3416436f69e98b
    Reviewed-on: http://gerrit.openafs.org/4200
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7e68671f6acf66b568672d94b37ef456b1de8813
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Mar 11 13:33:50 2011 -0500

    solaris: fix typo in the solaris 11 startup script
    
    /etc/devlink.tab not /dev/devlink.tab
    
    Change-Id: Ib562156861c2eab86504d6a37e18bc9af92a007c
    Reviewed-on: http://gerrit.openafs.org/4206
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0884e9d0fddf2be81abf6468209048331efa8a1e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 10 14:55:50 2011 -0600

    salvager: Do not abort on large volume IDs
    
    The salvager was parsing volume IDs just using atoi() and checking if
    the result was negative. Since the result is a signed int, this fails
    on any volume ID larger than 2^31-1. Change the parser to use strtoul
    instead of atoi, and change the check.
    
    While we're here, make a similar change to the DAFS salvageserver,
    too.
    
    Change-Id: Icc3377ee507150ff0c53b5bbff6172cb72bca703
    Reviewed-on: http://gerrit.openafs.org/4196
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 433efb44edd2b9b6057ec2702671fb0848019016
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 6 17:22:14 2011 +0000

    Don't use KERN_OPTMZ or KERN_DBG on Linux 2.6
    
    With 2.6 Linux kernels, we just use the standard Kernel build system.
    As this system pays no attention to our settings of KERN_OPTMZ or
    KERN_DBG, don't bother setting values for these for 2.6 kernels.
    
    Change-Id: Ibb2302d63ecf3e32a24321028df6a9aad45769fc
    Reviewed-on: http://gerrit.openafs.org/4173
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a23b83391e90db41bf71dd81b9062e80fd22bec1
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 6 17:15:05 2011 +0000

    Remove -D_LARGEFILE64_SOURCE on Linux
    
    Since 129b6954a6f491c6f3c3e417055bdc68d4726408, we've defined
    GNU_SOURCE on all Linux builds. This definition automatically sets
    _LARGEFILE64_SOURCE for us, so we don't need to explicitly set it
    in the platform specific configuration.
    
    Change-Id: I3d60a1eacbb045cdac283d9fe38261154740ef1b
    Reviewed-on: http://gerrit.openafs.org/4172
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 10da36ff0d903afbceef633ae5ce46b6c12ca006
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 10 00:20:26 2011 +0000

    Remove redundant entries from MT_CFLAGS
    
    Don't include XCFLAGS in MT_CFLAGS, as this is now done elsewhere in
    the build process. Don't multiply specify -DAFS_PTHREAD_ENV, as all
    pthreaded build rules must defined this, and just doing so in one
    place is much cleaner.
    
    Change-Id: I2cc1f88119e9ad32151cb7575222c2d2c008005f
    Reviewed-on: http://gerrit.openafs.org/4190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 57bc6aee44da919a080f8f6ca1e5561f24df9f92
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 10 10:41:57 2011 +0000

    hcrypto: don't redefine key_type
    
    Linux's keyring code uses "struct key_type", which is also used
    internally by the hcrypto code. As, on some Linux variants,
    afs/sysincludes.h ends up including the keyring definitions, we
    need to rename our internal key_type definition to something
    that doesn't clash.
    
    Change-Id: Ibfb968db0db3e80d877881fc6da4b34428ee382f
    Reviewed-on: http://gerrit.openafs.org/4192
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 037acc5ac01884a8ad7439f228284e07d1972d63
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Mar 10 09:43:35 2011 +0000

    Revert "hcrypto: avoid key_type redefinition"
    
    This reverts commit 81487fcf3ae93d2efea6f0935a0493680b5d3d11.
    
    This change didn't receive sufficient review before it was pushed.
    It breaks builds on IRIX, and produces kernel modules that don't
    load on a number of other Linux-based systems.
    
    A correct fix for the underlying problem (that both Linux and
    hcrypto want to use the "struct key_type" identifier) will follow
    this patch.
    
    Change-Id: Ib215f9d8adde75180a86f985052c77600a294895
    Reviewed-on: http://gerrit.openafs.org/4191
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3105c7ff0b4ae9c372dc4c1424f63b7f259dcda1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 17 00:04:06 2011 -0500

    linux: defer vcache evictions when sleep would be needed
    
    because we're only willing to loop 100 times worth of "sleeps",
    on a machine with heavy vcache demands we can end up just growing
    the list huge. in the first pass, just clean up as many entries which
    do not require sleeping as needed. if we need more entries, make
    a second pass.
    
    Change-Id: Ie5af42e7c0287d7a093f9a5884c10813dbb8cb11
    Reviewed-on: http://gerrit.openafs.org/3971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 75c2f96364d598ec0c134cb6b366ce067b8b7f49
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 9 07:51:02 2011 -0500

    Windows: handle rx busy call channel
    
    Register an error code for rx busy call channel detection.
    Force a retry whenever CM_RX_BUSY_CALL_CHANNEL is received
    by cm_Analyze().  Log the event to both the internal trace
    log and the Windows Event Log along with the server address.
    
    Change-Id: I196fb99d38bb89f57f296fd1b60d2a7f17fec80c
    Reviewed-on: http://gerrit.openafs.org/4183
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit eddcee3ad518dff9fbfda790640c5bfd2e97ef5a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Mar 7 11:08:26 2011 -0600

    RX: Avoid timing out non-kernel busy channels
    
    When we encounter a "busy" call channel (indicated by receiving
    RX_PACKET_TYPE_BUSY packets), we can error out a call with
    RX_CALL_TIMEOUT to try and get the application code to retry the call.
    However, many RX applications are not aware of this, and will just
    fail with an error upon receiving a single busy packet.
    
    So instead, make this behavior optional, and only do it if the
    application tells us what specific error it expects to receive when a
    busy call channel is detected. Enable this behavior for the Unix cache
    manager, as it can cope with receiving an RX_CALL_TIMEOUT error in
    this scenario.
    
    Change-Id: I2fe03c0ff81576da3b2ce2b4d27a16d5631c073e
    Reviewed-on: http://gerrit.openafs.org/4159
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b13a5a527d87c7b9a73fd92eb7633e1796e3337f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 15 21:23:06 2011 -0600

    aklog: Do not include XCFLAGS twice
    
    In aklog, we set MODULE_CFLAGS to XCFLAGS and some other things.
    However, when using AFS_LDRULE or AFS_CCRULE, CFLAGS will contain
    MT_CFLAGS, which contains XCFLAGS. The end result is that the contents
    of XCFLAGS appear twice in the compilation invocation, breaking some
    platforms like HP-UX where the order of XCFLAGS relative to other
    things is a bit fragile.
    
    Fix this by removing XCFLAGS from the MODULE_CFLAGS definition.
    
    Change-Id: I5eef9764d758885a995269edc5bef91ff06db8b5
    Reviewed-on: http://gerrit.openafs.org/3960
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5247fa38a4faebfdffba178ca01e5b419f034d5d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 14:34:05 2011 -0500

    vol: FILE* to FD_t except logging and special ops
    
    Replace all use of FILE* with FD_t.  Switch from afs_open to OS_OPEN.
    In the process:
    
     afs_flush and afs_fsync -> OS_SYNC
     afs_stat which is used to obtain the file size -> OS_SIZE
     afs_close or close -> OS_CLOSE
    
    Etc.   While cleaning up, use afs_stat_st macro when declaring
    a struct stat because the structure and function are not guaranteed
    to be the same name on all platforms.
    
    These changes permit Windows to build the vol package without
    the use of the C runtime library.
    
    Change-Id: I9e0a7fdbeffa76c3c87aefce87ca1af495657a2f
    Reviewed-on: http://gerrit.openafs.org/4149
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b082c05ba769ef8eee840985ebac290022cc0ba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 14:25:34 2011 -0500

    vol: consolide afs_xxxx macros in ihandle.h
    
    Various definitions of afs_open, afs_stat, etc. were
    scattered across the .c sources within the vol package.
    Consolidate them all in ihandle.h which is included in
    all of the files and contains the OS_xxxx macros which
    will substitute for many afs_xxxx calls in future patchsets.
    
    Change-Id: I72363332fd5f1d330e225df51c68d4c113b59f3b
    Reviewed-on: http://gerrit.openafs.org/4147
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 67f01c2553067a4b7592a34917ce5a5148b67142
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 11 11:53:26 2011 +0000

    Clarify the role of XCFLAGS and simplify MT_CFLAGS
    
    Tidy up the build system by making it clear that XCFLAGS is included
    for every build type. Also clean up MT_CFLAGS so that it doesn't
    statically include XCFLAGS, and remove the common AFS_PTHREAD_ENV
    define that's needed by every architecture.
    
    This fixes the problem that we had where directories built with the
    pthread or shared build rules weren't being compiled with checking
    enabled, as well as hopefully making the tangle of defines easier to
    understand.
    
    Change-Id: Ied6dd316147ee88dc7814f8937a204ef32c6c5e0
    Reviewed-on: http://gerrit.openafs.org/4171
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ffad1001532f7681e5d77c5d6030625f15f281a7
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Mar 7 15:31:53 2011 -0500

    libadmin: minor warning fix
    
    have_quota is set but never used.  Remove it.
    
    Change-Id: I2428ec274a3e3ad792608ae3a6d0b1af7985c6e8
    Reviewed-on: http://gerrit.openafs.org/4177
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 81487fcf3ae93d2efea6f0935a0493680b5d3d11
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 7 21:32:53 2011 -0500

    hcrypto: avoid key_type redefinition
    
    struct key_type is redefined in crypto.h; originally defined in
    ./linux/security.h from ../afs/sysincludes.h from hcrypto/kernel/config.h
    
    Change-Id: Ib2a4244516c6c0947cb0959bdf9b06fb5a023a28
    Reviewed-on: http://gerrit.openafs.org/4178
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d69da816c6e961ef5e22df289ad5667cd8568b4c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 14:29:38 2011 -0500

    vol: remove warning on use of DFlushVolume
    
    Include the afs/dir.h header on Windows to avoid
    warnings caused by the missing prototype.
    
    Change-Id: I841a330bb13c84076b1453befb1d8469ee64b82a
    Reviewed-on: http://gerrit.openafs.org/4148
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2a17517ee79dbea176464bf6e0ee0617df1aae6b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 6 18:18:07 2011 +0000

    crypto: Avoid variadic macros
    
    The IRIX compiler doesn't seem to like variadic macros, so avoid
    using them within the RFC3961 kernel crypto implementation
    
    Change-Id: I4bfddb01eb86a96e981c148e26281cc73130f924
    Reviewed-on: http://gerrit.openafs.org/4154
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ad63745f357e377c613881fa3470b85d4d36fe36
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 12:48:02 2011 -0500

    ubik: cleanup DB lock usage in SDISK_SendFile
    
    Some failure paths can return from SDISK_SendFile with the
    database lock still held.  Other failure paths will cause
    setlabel to be called without holding the lock.
    
    Rework the failure paths so we always release the DB lock before
    returning, and always hold it when calling setlabel.
    
    Change-Id: I4cf98ecc9874110273e2cb4f94c37bdb9b43f0a2
    Reviewed-on: http://gerrit.openafs.org/4151
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ff74829f13c127abd5cd8e70f18bcfd33f240ff
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Mar 5 11:40:41 2011 -0500

    ubik: refactor pthread creation code
    
    Refactor thread creation into a new ubik_thread_create function.
    Eliminates some code duplication.
    
    No functional changes.
    
    Change-Id: I7e8c84e138db5503eab109336734c348da98fc04
    Reviewed-on: http://gerrit.openafs.org/4146
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cb0264c80f58b7f788ff30c1aeb41c33e8104f6b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Mar 5 11:19:10 2011 -0500

    ubik: remove unused code
    
    Remove some unused code and associated comment.  rx_Init does
    belong earlier in the sequence.
    
    Change-Id: I9db399b8ae3343e0c2c14f64150d55a2411899c3
    Reviewed-on: http://gerrit.openafs.org/4145
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7caf4143e2e2b05c074399dff5ea28ffb16fb29d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 19 21:57:58 2011 -0500

    ubik: Rearrange some initialization code
    
    Some basic initialization should precede creating the RX
    services.
    
    Change-Id: Ic88d639be12ee8edd2ec7b61c2a5df435b59f663
    Reviewed-on: http://gerrit.openafs.org/4144
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fc26ba30c3011f462f623b594489049c1846d279
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 11:14:50 2011 -0500

    ubik: make uphys_close static
    
    This function is not used outside of phys.c, so make it private.
    
    Change-Id: Ie84864cd8a2c0f423af604e45cd406acecf05957
    Reviewed-on: http://gerrit.openafs.org/4143
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 338dcf5a55f7af8b8eaa3339ba36347fd2cd241f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Mar 5 10:27:36 2011 -0500

    ubik: remove successive Quorum_EndIO, Quorum_StartIO calls
    
    Refactoring brought these 2 calls together.
    They can be optimized away.
    
    Change-Id: I22b71bd8e63cdd956a0e5420ae5247eec7f3a6a2
    Reviewed-on: http://gerrit.openafs.org/4142
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit bbf406da30428a22b4a6d28a7d36dbb786013cfa
Author: Ryan C. Underwood <nemesis@icequake.net>
Date:   Sun Mar 6 10:40:53 2011 +0000

    Fix positional I/O support for largefiles
    
    Commit 335ccb40 introduced positional I/O support for the fileserver,
    but didn't handle the largefile versions of preadv and pwritev. As a
    result, the fileserver cannot handle files of more than 2Gb in size.
    
    Fix this by using preadv64 and pwritev64 where O_LARGEFILE is defined,
    in the same way as for all other I/O primitives.
    
    Change-Id: Ia9f6411d0c8115176e1ec42dd9f72c96ba939bab
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-on: http://gerrit.openafs.org/4152
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98a0c2f47b8641e3e31ed7d2f7d84c2eb484ef51
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Mar 6 16:06:36 2011 +0000

    Disable vectored positional IO if no 64bit support
    
    In order to support vectored positional I/O, and large files, we
    need there to be an implementation of preadv64 and pwritev64. If
    this isn't present, then just disable HAVE_PIOV.
    
    Change-Id: I78b1e09f8a836534f49594300b4f58d661eebd46
    Reviewed-on: http://gerrit.openafs.org/4153
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 225e5b77ff65e96b4be1a6be97afd65a2abefc12
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 09:58:17 2011 -0500

    volser: warning removal
    
    remove assigning size_t to int warnings when size_t is larger
    by declaring appropriate variables as size_t.
    
    remove signed vs unsigned warnings
    
    Change-Id: I998d7b0aa75bc03a6fa872a3628c43ebe08b4f99
    Reviewed-on: http://gerrit.openafs.org/4137
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d6a627d1e5e90c54c14bb0e915a32483645fa9d4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 19 21:52:04 2011 -0500

    ubik: add lock initialization function
    
    Add a new lock initialization function and call it from the
    initialization sequence.  Users of the locks can assume that
    they are already initialized.
    
    Change-Id: I8e86f460cb705c8de12bac9367358c93f1423591
    Reviewed-on: http://gerrit.openafs.org/4141
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba80a8a88b0f934b67171faefb75d0757b1a7421
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 19 21:39:44 2011 -0500

    ubik: rename DInit, call from initialization sequence
    
    Rename DInit to udisk_Init, and call it from the general
    initialization sequence.  udisk_begin can now assume that this
    has been done.
    
    Change-Id: I88f38b7a846b635e0c42f42cdf8c9005bb4bf62d
    Reviewed-on: http://gerrit.openafs.org/4140
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a0d56ceb94a0362d79f2db6d6258bd6d27c582cb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 18:34:57 2011 -0500

    ubik: build all files for pthread version
    
    Build all files for pthreads from the ubik directory.
    No longer require src/tubik/NTMakefile.
    Add missing library to tbutc linkage requirements.
    
    Change-Id: If517ce528e5dde9b600824897e1304949b2c2719
    Reviewed-on: http://gerrit.openafs.org/4150
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 03651201ef2b2e3745ff3cf36af41f3ea27154b1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 10:06:50 2011 -0500

    volser: restore diskPartition[64] lock_fd comment
    
    The diskPartition[64] wire structures contain an int to represent
    the file descriptor.  This field is too small to represent the
    Windows file descriptor which is a 64-bit HANDLE.  A comment had
    been added by Rod Widdowson.  Restore it.
    
    Change-Id: Icf513060802e7f057f6ca735afb26d22edbf6446
    Reviewed-on: http://gerrit.openafs.org/4138
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 06c3c3712c2525f26d1480ef09800b9270a3d01f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 09:38:08 2011 -0500

    volser: cleanup volser_internal.h
    
    remove yesprompt() prototype for function that no longer exists
    
    make dump_sig_handler(), sortVolumes(), VolumeExists(),
    CheckVldbRWBK(), CheckVldbRO(), and CheckVldb() static within
    vsprocs.c
    
    Change-Id: I2130ac0d2f0dbfe6bf3315450ba342b6e9d51b6b
    Reviewed-on: http://gerrit.openafs.org/4136
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5b614c6cb0ccae122cc82edabdde9b3eb1bddf19
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 19 21:25:21 2011 -0500

    ubik: remove unused UBIK_PAUSE code
    
    This code has never been enabled, and is apparently not needed,
    so remove it to simplify maintenance and future changes.
    
    Change-Id: I7ff589e6bf1934aa0ae378ce550c8b69c508d171
    Reviewed-on: http://gerrit.openafs.org/4139
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4bd0f17e6d598d4d98ed80d5d1f95bc4b2a7e622
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 09:21:15 2011 -0500

    volser: make private lockproc routines private
    
    FindIndex and SetAValue are only used within lockprocs.c.
    Make them static and remove them from lockprocs_prototypes.h
    
    Change-Id: I09774fdc2368941191e17d9ce1fc13a4ff5bec42
    Reviewed-on: http://gerrit.openafs.org/4135
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4b4534819209468a007a991e8f73e1c0a4ac0089
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 4 10:29:45 2011 +0000

    Unix CM: Remove redefinition of "inline"
    
    discon.h contained a redefintion of "inline" for non-gcc compilers
    that's a left over from when it used "static inline", rather than
    "static_inline".
    
    Remove the redefinition, as it's now both uneccessary, and confusing.
    
    Change-Id: I2d173385f4c3fe4b707cf86c76984b283714ced7
    Reviewed-on: http://gerrit.openafs.org/4129
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9e539fbea456cdb416a487364d67ab54da1249a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 5 00:40:13 2011 -0500

    Revert "Convert from using nvldbentry to uvldbentry"
    
    This reverts commit 4f1efdc8b73ed734197925766530d033c6f9794a.
    
    The conversion to uvldbentry produced too many negative side
    effects.  Revisit support for multi-homed servers when vos
    is executed from a machine that can only see a random subset
    of the addresses assigned to the server in the future.
    
    Change-Id: Idec5f1a3126266609edb3f657c34c160086ecbe7
    Reviewed-on: http://gerrit.openafs.org/4131
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ca0ae15d621dbd90339408a26715a107d1f69f23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 4 23:40:31 2011 -0500

    Revert "modify FindIndex to compare uuids"
    
    This reverts commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702.
    
    This is being pulled as the entire nvldbentry to uvldbentry
    conversion is being reverted.
    
    Change-Id: Ib226c593b4c1db345758cd8b345a319e6107d3ee
    Reviewed-on: http://gerrit.openafs.org/4130
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64d52938ee26e160a6e2cd64253df096eb5d0c1e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 4 11:35:06 2011 -0600

    viced: Set HWHO_INPROGRESS in CheckHost_r
    
    When we are probing a host in CheckHost_r, set the HWHO_INPROGRESS
    flag on the host, so other threads know that the host is locked while
    we are waiting for a probe response, and the h_threadquota mechanism
    can work correctly.
    
    Change-Id: I37e3b37ea98d8d42578bf85a3b5aaaff4c4a7331
    Reviewed-on: http://gerrit.openafs.org/4126
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0d1335ad7104a6fa67525b84d70a33e7bb1b6c6a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 4 11:04:40 2011 -0500

    Windows: mp target trailing dot not part vol name
    
    Instead of passing "root.cell." into cm_FreelanceAddMount
    pass in "root.cell" and add the trailing dot within the function.
    
    Change-Id: I5d27c6c34a3197a451491a0bbdf6c854394ce572
    Reviewed-on: http://gerrit.openafs.org/4124
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit dec0ba1cfaf7dd6a4ed23a2f656bd6272600d51c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 2 14:06:48 2011 -0500

    Windows: avoid use of cm_buf for MPs and Symlinks
    
    In the Windows cache manager, the symlink and mount point
    target strings are stored in the cm_scache_t mountPointString
    and are not accessed out of the cm_buf_t for offset zero
    except when populating the mountPointString.  As a result,
    every mountpoint and symlink object that is read into the cache
    wastes a cm_buf_t which could otherwise be used to store
    additional file or directory data.
    
    Add cm_GetData() function which is similar to cm_GetBuffer()
    except that it reads data from the file server into an arbitray
    memory location instead of a cm_buf_t object.  Use cm_GetData()
    to read directly into the cm_scache_t object.
    
    In addition, further optimize the communication with the
    file server by using cm_GetData() to perform a RXAFS_FetchData
    RPC to obtain both the target string and the status information
    instead of RXAFS_FetchStatus which only returns the status
    information in cases where there are no outstanding callback
    registrations on the object.  RXAFS_FetchStatus is still used
    when a callback is active in order to obtain access permissions
    for new users.
    
    Change-Id: I4d797479624f2e29121b16d3aa381296a57aeaa6
    Reviewed-on: http://gerrit.openafs.org/4111
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 974e95302a312c03cd735c0fdaa67fb02d254e26
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 25 16:58:30 2011 -0600

    vol: Check for blank vnode in VAllocVnode_r
    
    When we alloc a vnode in VAllocVnode_r, we look up that vnode in the
    vnode cache, to see if a vnode struct already exists for it. If it
    doesn't, we check the vnode index to ensure that the vnode actually is
    not in use (among other things). However, we do not perform the same
    check for a vnode already in the cache. Add this check, to make sure
    that we don't allocate an already-used vnode number, even if the
    bitmap is screwed up.
    
    Change-Id: I63b3aa752d359a2ff8282b193e658d74d6b9719c
    Reviewed-on: http://gerrit.openafs.org/4060
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b41575d176c2d485d55aed8780bfab9db4b7587d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 25 16:01:32 2011 -0600

    DAFS: VnLock after VnWaitQuiescent in VAllocVnode
    
    In VAllocVnode, we write-lock the newly-allocated vnode. In DAFS,
    however, we need to VnWaitQuiescent_r before VnLock'ing, since VnLock
    in DAFS just sets the writer tid/pid. So, in VAllocVnode, move the
    VnLock call to after we wait for quiescence, so we don't stomp over
    the vnode when someone else has it write-locked.
    
    Change-Id: Ib234634dba9d09eea877bc91660ea3a8a4e2b746
    Reviewed-on: http://gerrit.openafs.org/4059
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 08ffe3e81d875b58ae5fe4c5733845d5132913a0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 25 14:43:09 2011 -0600

    DAFS: Wait for exclusive ops in VFreeBitMapEntry_r
    
    VAllocBitmapEntry_r puts the volume in an exclusive state and drops
    VOL_LOCK when traversing the volume bitmap and updating the bitmap.
    So, VFreeBitMapEntry_r must ensure the volume is not in an exclusive
    state, to make sure that VAllocBitmapEntry_r is not updating the
    bitmap at the same time. Do so, by waiting for the volume to come out
    of exclusive state at the beginning of VFreeBitMapEntry_r.
    
    Change-Id: I5fdd344e4d9d12451fd65a767fa5672c8be70a39
    Reviewed-on: http://gerrit.openafs.org/4058
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a862d2df93fd4e8c8c7a0b8eebe9e59b75f54072
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 14:11:43 2011 -0600

    vol-salvage: VOL_DONE deleted volumes
    
    When the salvager deletes a volume (because it is an invalid RO clone,
    or because there is no data associated with the volume), we should
    inform the fileserver that the volume is gone. Otherwise, the volume
    in the fileserver can get put into an error state (in DAFS) when it
    tries to attach the volume, preventing anything from creating or using
    that volume.
    
    Change-Id: Iae7763b752a2bab7a529dd327d034fdb9e18664a
    Reviewed-on: http://gerrit.openafs.org/4118
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 40049c56791f3488640ae65c5dc5c4d6503375bd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 15:39:51 2011 -0600

    DAFS: Clear salvage stats on VOL_DONE
    
    When we VOL_DONE a volume, the volume has been deleted, so the salvage
    stats/information are no longer relevant. Clear them out, so we don't
    think the volume is still salvaging.
    
    Change-Id: I5dbde1609ba7659203fb1904571871d6ffc66539
    Reviewed-on: http://gerrit.openafs.org/4120
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ddf5ae4f746f2b5e522e10cfcacb6225499e7956
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 15:02:40 2011 -0600

    DAFS: Allow LEAVE_OFF for DELETED volumes
    
    When a volume is VOL_STATE_DELETED, it effectively does not exist to
    other programs over FSSYNC. So, do not prevent someone from issuing a
    FSYNC_VOL_LEAVE_OFF for a VOL_STATE_DELETED volume.
    
    Change-Id: Ifb8f5437c7f6888bc06968297d841072d1f3316a
    Reviewed-on: http://gerrit.openafs.org/4119
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bb25fc6418bac937b31476754a09199636c24211
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 14:10:33 2011 -0600

    vol-salvage: calloc volume summary structs
    
    Calloc volume summary structs instead of malloc'ing them, in
    vol-salvage.c. This way, new fields added to struct VolumeSummary will
    be known to be zeroed by default, without needing to update all of the
    allocating callers.
    
    Change-Id: I8c647cd9dec7aaf14183452126049323859ac7a3
    Reviewed-on: http://gerrit.openafs.org/4117
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit aadf69eabb1962496fa93745ab560a5b48cacd61
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 3 16:02:47 2011 -0600

    viced: Check vnode length on read and write
    
    When reading or writing a file vnode, check that the length of the
    vnode in the vnode index matches the size of the on-disk file
    containing the data for the file. If it does not match, take the
    volume offline (and for DAFS, demand-salvage it).
    
    Change-Id: I20e02cd84c8425cf0835c104a8e695a0cb6665d9
    Reviewed-on: http://gerrit.openafs.org/4121
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2c979a9de26b1bb28ecde208edeb1e673a03b6b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Mar 3 20:22:54 2011 -0500

    rpm: fix ChangeLog filename in doc rpm
    
    Fix an rpmbuild error introduced in commit 8d157961.
    
    Change-Id: I3b74d2602b74d62f64c0cbd01cde5f63e73259f6
    Reviewed-on: http://gerrit.openafs.org/4122
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 22365ab37ac823b6734f4fc0ad79f10b6ee14390
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 14:13:25 2011 -0600

    vol-salvage: Fix AskOnline error message
    
    Change-Id: I7d43588b548c81fdeb7b8b8630ddd9a81f8c49dd
    Reviewed-on: http://gerrit.openafs.org/4116
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7f31a11d110085ae528d4555d34744c0832008b0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 2 13:12:25 2011 -0600

    Give a default reason in *sync-debug
    
    If no -reason is given for fssync-debug calls, we currently just
    transmit garbage to the fileserver or salvageserver. Instead, give a
    default (the *_WHATEVER constant), so we do something consistent.
    
    Change-Id: I8fb134c8b16a1fca1b1ed804241d0b232e7e2a7c
    Reviewed-on: http://gerrit.openafs.org/4115
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cfcb911e9b6170d4a3a784b06eda3955ae5d5320
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 18:03:03 2011 +0000

    Tidy up assorted clean targets
    
    Improve assorted clean targets so that they properly clean up all of
    the default build products.
    
    Add rxosd to the list of directories to clean
    
    Change-Id: Id4987ec00654d7b3bd3b42eddefbcc50b5bdb03e
    Reviewed-on: http://gerrit.openafs.org/4114
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 169bc2d5be039b75347a455c9fa5922d1a3380fb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 16:37:32 2011 +0000

    tests: Remove errant rxgk build rule
    
    A reference to tests/rxgk slipped in to an earlier commit. Remove it
    as OpenAFS doesn't have rxgk in its tree yet
    
    Change-Id: I4cc9c2fefa904a70efbce03e2ce4411b4554d90a
    Reviewed-on: http://gerrit.openafs.org/4104
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0d69ccb643104d06a3036da4b70bd878062f743
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 14:23:47 2011 +0000

    auth: Add GetAllKeys function
    
    Add support for a GetAllKeys function that can be used to list all
    of the keys in a configuration directory.
    
    Change-Id: I0711fde6afc2941a5f03f2e26ea89ae73750c1a9
    Reviewed-on: http://gerrit.openafs.org/4103
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d2688a0cf10ddd6767d68179707cb2e21168b118
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 14:35:35 2011 +0000

    kernel crypto: Tidy up includes
    
    Don't include the whole of afsincludes.h when building our kernel
    crypto interface, as it can lead to symbol collisions on Fedora 10 and
    later.
    
    Instead, just include rx/rx.h, which is sadly required to get an
    osi_Assert prototype, and explicitly prototype our osi_readRandom()
    function
    
    Change-Id: I55d03d76ac0cc8f490aa30f6986115cefae8f427
    Reviewed-on: http://gerrit.openafs.org/4101
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 89ae0b12f20eea8a8b0a3fe493dc52d2def436ce
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 1 16:43:10 2011 -0500

    tweak uvldb-making function
    
    in order to properly simulate a uvldb, swap in the right fields,
    and mark it correctly.
    
    Change-Id: I143784c0ca137e36ce6f7eddb54db3d9ac85bd37
    Reviewed-on: http://gerrit.openafs.org/4107
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7d516192bed12aa3137bcb86cbe0d8ecd492415c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 2 08:12:38 2011 -0500

    rx: cancel growmtu event on resetcall
    
    attempt at fixing issue reported by Ryan Underwood.
    
    Change-Id: I0d90fc4c517a3892564abd98d94a948741e1a394
    Reviewed-on: http://gerrit.openafs.org/4108
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 14d30b74ee2aee3a203e5aee3f42bc6db096ef33
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 14:01:46 2011 +0000

    ptuser/hpr: Don't check for a KeyFile
    
    ptuser and viced's hpr were checking for a KeyFile before calling
    ClientAuthSecure. If a KeyFile doesn't exist, then they would display
    a warning message, and use an rxnull connection.
    
    However, ClientAuthSecure will return a rxnull connection if it can't
    find a KeyFile. So, simplify all of this to just use ClientAuthSecure,
    which knows better than we do what keys are usable and which aren't.
    
    Change-Id: I14b6170ec49e0ca85bc371d3bdfa04aecf39f150
    Reviewed-on: http://gerrit.openafs.org/4100
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c87f13ff687ffa606f4e729af6a03d6f247d42d7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 13:59:19 2011 +0000

    ptserver: Always set up Ubik security
    
    ptserver was checking for the existence of a suitable KeyFile before
    setting up Ubik's security classes. This is uneccessary, because the
    behaviour of the afsconf_* functions when a KeyFile doesn't exist
    is the same as Ubik's default mechanisms.
    
    So, simplify (and future proof) the code by removing the KeyFile check.
    
    Change-Id: I03df04e99ca4c043c15fc5f5701f8438912a7633
    Reviewed-on: http://gerrit.openafs.org/4099
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d6b4a69444a28617a09c76ff4b2a82168b08fa5e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 00:13:00 2011 +0000

    auth: Add Ktoken.xdr.c to the clean rule
    
    Ktoken.xdr.c was being built, but not cleaned. Fix this by adding it
    to the clean rule.
    
    Change-Id: I8a8a1de86fa28cc4280a08cb24770949b236ffdf
    Reviewed-on: http://gerrit.openafs.org/4098
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 08b7ca67a781ec93ae71677dd165133d9679a9bc
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Jul 2 14:08:23 2010 -0400

    libafscp: a library for "clientless" operations
    
    libafscp provides the ability to accomplish many of the functions of an AFS
    client without a running afsd cache manager.  It is being introduced into
    the OpenAFS source tree in order to improve the capabilities of several
    utilities but may have additional benefits for testing clients and servers
    and for use on platforms which do not have afsd support.
    
    Change-Id: I24ee9416662c15b2d267317cea6fe0b7439ee022
    Change-Id: I61037736e6edd01106b5b5ed982b211c16e1e7d9
    Reviewed-on: http://gerrit.openafs.org/2371
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2d6bc153689f14f8690878b15d9fb711a56b0546
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 00:11:01 2011 +0000

    volser: Rename putshort and putint32
    
    dumpstuff.c defines macros for putshort and putint32. However, the
    name 'putshort' conflicts with a macro defined on Linux in resolv.h
    (which is included by roken.h)
    
    Just rename putshort to afs_putshort and putint32 to afs_putint32 to
    solve this problem
    
    Change-Id: Ib58cb7d8e606199c3f6a88be68e81f36c17d2df4
    Reviewed-on: http://gerrit.openafs.org/4097
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7cd992d7037154b0edb09c9e1a1318b42d085485
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Mar 1 00:08:12 2011 +0000

    roken: Fix out-of-tree libroken builds
    
    The libroken configuration script is supposed to support using a
    libroken which is installed out of the OpenAFS tree, but which isn't
    in the standard search paths, by using --with-roken=/path/to/base
    
    This didn't previously work. Fix this so that it works correctly,
    and also fix a few problems with libafshcrypto, which assumed that
    LDFLAGS_roken would always be -L$(TOP_LIBDIR)
    
    Change-Id: I1219692f601a621e6c08ae26516136ed0cc03845
    Reviewed-on: http://gerrit.openafs.org/4096
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c525b92d3d85fbfdaca82b9e807487df66a819eb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 27 11:43:11 2011 +0000

    Fix grammar in configure check description
    
    "checking for kernel module build works"
        -> "checking if kernel module build works"
    
    Change-Id: Ie87a31d7ccf984744d0cd65b63160852c7a8d1bd
    Reviewed-on: http://gerrit.openafs.org/4094
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2681c49ada5679922f949e9c7d0010f2ee705dab
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 28 14:03:46 2011 -0600

    Revert "LWP: remove ucontext header from preempt module"
    
    This reverts commit fbac809a46376fcf60d3dcedc0be962c43d9c74e.
    
    The ucontext header is only included in lwp.h for platforms that use
    ucontext as a means for context-switching in LWP. The preempt module
    needs the ucontext header for signal handling on some platforms (at
    least Solaris). So, ucontext.h may not be included by lwp.h on these
    platforms, if that platform does not use ucontext for LWP
    context-switching. So we need to explicitly include ucontext.h in
    preempt.c.
    
    Change-Id: Ie08f20c7375d6ff1b185f64da70c983dbe19ac47
    Reviewed-on: http://gerrit.openafs.org/4095
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fbcc8ac2646cf0b4b3de15967e064abfccbd7710
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 28 14:17:28 2011 +0000

    Revert "Make osi_fetchstore.c protocol independent"
    
    This reverts commit 951612f4508b0c2ace4676f263df8dd4b566dd44.
    
    In testing, this change causes RXAFS_EndStoreData to intermittently
    fail with an RX_CC_UNMARSHALL error code. The error is returned
    when the first 32bit word is read from the RX stream from the server.
    Before this happens, the call is not in an error state.
    
    As this problem makes the cache manager unusable for other
    development, back the changeset out for now.
    
    Change-Id: If8268faa7bee2651273d7fbb0e235ddb02d6284b
    Reviewed-on: http://gerrit.openafs.org/4093
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4397159a1c84c890a4f2a84fa2282f0ab9b74154
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 26 21:55:19 2011 -0500

    arm darwin update
    
    some stuff that got lost from the last batch
    
    Change-Id: Id892a8fce7c90a07c359d77282c557a0a9b41cd2
    Reviewed-on: http://gerrit.openafs.org/4064
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fbac809a46376fcf60d3dcedc0be962c43d9c74e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 26 21:51:50 2011 -0500

    LWP: remove ucontext header from preempt module
    
    it's already included by header. don't include it again.
    
    Change-Id: I97c85dd10db94e0a50133b922adb6d0b0b193cf7
    Reviewed-on: http://gerrit.openafs.org/4076
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 86f7ac2f57591cf72ae22f8d1267efcc8e0b6641
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 26 21:44:37 2011 -0500

    avoid unneeded rebuilds due to component version
    
    if the component version file does not change, don't touch it
    and force a rebuild
    
    Change-Id: I8f864b0bdc56d04451e961fdeeb90c3bc6731d2b
    Reviewed-on: http://gerrit.openafs.org/4075
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e16d015a3eec3cf2fb79b27b39bd567bb4f07581
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 26 21:42:40 2011 -0500

    generated mode: fix result
    
    don't leave build results which will interfere with the next phase around
    
    Change-Id: If7e5f4773b7c79f7deceb88d7393cbb65a220bd5
    Reviewed-on: http://gerrit.openafs.org/4074
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 94d8451a8ca43cc5119522cdcc804db4b0f963d9
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Feb 26 17:18:25 2011 -0500

    DOC: Add a missing quote in the QuickStart Guide
    
    Change-Id: I89fede614b6b1fcc28f282e2d610aa47c916f757
    Reviewed-on: http://gerrit.openafs.org/4072
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 358f2a23079f940e9adb741d2526895d620d1ced
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 11:57:53 2011 -0600

    LINUX: Include key-related headers in osi_compat.h
    
    Include keyring-related headers in osi_compat.h, so we get the proper
    types defined for keyring-related functions. Also only define
    keyring-related functions if we have keyring support.
    
    Change-Id: Ie7d748f1426ce883c61ae8f30dbce1f0a1bf6bab
    Reviewed-on: http://gerrit.openafs.org/3895
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c576ca12b6618d2a121b29562aa70532b4cf65a9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Feb 22 18:18:17 2011 -0500

    Linux: Reduce key_alloc flags confusion
    
    KEY_ALLOC_IN_QUOTA should be 0, not 1.  Fortunately this was
    overridden by the earlier correct definition in osi_compat.h.
    
    Change-Id: I91a3b16dca0af182ddc3441437be781e689645a7
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/4033
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9eafe7e6a8e18f63cc59b3395ae8f0d55a6c95f8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 25 01:30:02 2011 +0000

    auth: Rework PickClientSecObj
    
    When called in localauth mode, this function was using
    afsconf_GetLatestKey to check that the machine has a key file. However,
    the ClientAuth and ClientAuthSecure functions then go on to do exactly
    the same thing.
    
    Instead, pick up on ClientAuth returning a rxnull security layer, and
    trigger the NOTFOUND error based on that, rather than on the absence of
    an old-style key file.
    
    Change-Id: Ifb2d3a98bca5d1d67e303dcfeab1bb6f1efdc570
    Reviewed-on: http://gerrit.openafs.org/4053
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 77c9405023f549bc8fb0c243e0b39153ac41753e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 25 01:28:30 2011 +0000

    auth: Fix use of expires in PickClientSecObj
    
    The expires pointer was being zeroed in PickClientSecObject, rather
    than zeroing the value pointed to. This meant that we would never
    return any expiry time for the selected token.
    
    Change-Id: I9d8e29cdd0c14a1e839a6719390e7f690493f56c
    Reviewed-on: http://gerrit.openafs.org/4052
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fcbb656cf7b29b2f03592f3b56556e18b173092a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 25 01:23:38 2011 +0000

    auth: Correctly write empty keyfiles
    
    The new key handling code was creating empty keyfiles that were 0
    bytes in length. The correct format for an empty keyfile is a file
    containing a single 0 word (the number of keys in the file). Update
    the code to write this form of empty KeyFile.
    
    Change-Id: I93bf23f6044a70a74f52b94c4656cbd4bc4fc35b
    Reviewed-on: http://gerrit.openafs.org/4051
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 80f6e4fa8bbc468fe75692a4730cf822a4e0d686
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 25 01:21:38 2011 +0000

    auth: GetLatestKey should allow NULL return values
    
    Existing callers in the code use
    afsconf_GetLatestKey(dir, NULL, NULL) to check for the existence of
    a key file. We need to permit NULL values for the return pointers
    to this function.
    
    Also update the tests to check for this behaviour.
    
    Change-Id: I94e74138ddeed8d167c1e6f12e297411c638e1b9
    Reviewed-on: http://gerrit.openafs.org/4050
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1bc528d008fe11c43da6f6eef4210561bab33cbc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 24 13:52:40 2011 +0000

    tests/auth: Refactor common code
    
    Pull the common code for creating a configuration directory out of
    the keys and superuser tests into a single file. This both cleans up
    the existing tests, and makes it easier to add new ones.
    
    Change-Id: I08058117e08da3a3baf750b3b14ef6780f942206
    Reviewed-on: http://gerrit.openafs.org/4049
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 30adc223b11cb76b5085715d944c3bb2d766f6d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 25 15:32:37 2011 +0000

    man-pages: add generated vos*.pod to clean rule
    
    9ec343cf4292e178fa1e4a9757232dc983ea9ba3 failed to add the
    newly generated vos_addsite.pod, vos_copy.pod, and vos_zap.pod
    to the clean rule.
    
    Change-Id: Ia18559076e979dfd16ecac6d4cc89d92d83d930f
    Reviewed-on: http://gerrit.openafs.org/4061
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 559152ac107f91c8c2f11a909ef638551227b04a
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Feb 22 19:18:30 2011 -0500

    Linux: install_session_keyring: key_alloc flags are unsigned long
    
    Change-Id: I3bdecd77e06928fd22cf0cf6bd92af2dccf62896
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/4034
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c3499218ad604b1985239334d77dd0a94c7128bb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 14 00:20:40 2011 -0500

    MacOS: aklog auth plugin
    
    the AuthorizationPlugin subsystem replaced the old loginplugin
    method. As it is now usable for us, provide a plugin which can take
    advantage of it.
    
    LICENSE BSD
    
    Change-Id: I66de192c6028c195c3bb6809c451281d9937fb26
    Reviewed-on: http://gerrit.openafs.org/3939
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 44046857f6509e511a64acfdd04e362bc5205d17
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Feb 19 10:19:24 2011 -0500

    lwp: test for working swapcontext() and friends
    
    The USE_UCONTEXT was a temporary fix until someone wrote a reasonable
    test of the user context swapping functions.  While these are present
    on many operating systems, they simply aren't complete.  This test
    correctly fails on IRIX, MacOS and some versions of Linux (in particular,
    ppc 32-bit binaries on a 64-bit processor).
    
    Change-Id: Ie2f340d661002c8f3c78dddbaf755257cb4ca286
    Reviewed-on: http://gerrit.openafs.org/4018
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6201e3baa0d42688434bd8c1d46c62a6ab39d19c
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sat Jan 22 16:25:42 2011 +0000

    vutil.c: use OS_XXX rather than afs_XXX
    
    This checkin replaced the use of afs_open/close with OS_OPEN/OS_CLOSE
    
    Change-Id: Ie0f4edc90cf584112a54a5f8a1676014cc15eeac
    Reviewed-on: http://gerrit.openafs.org/3741
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b71a2daaf0bc8f6c392be0d1f669d58c81c519c7
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Thu Feb 3 11:44:12 2011 +0000

    namei_ops.c use OS_XXX rather than afs_XXX
    
    This checkin removes all uees of afs_open and replaces them with
    OS_OPEN.  It converts direct call to read/write/close to OS_XXX
    
    The exception is afs_stat which is left in place as this is unix
    only and rerquires separate handling.
    
    Change-Id: Iaab6cb57b6f4b5a131fb77d64d794893f795b59c
    Reviewed-on: http://gerrit.openafs.org/3888
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 63fb786c541926dbf03a9452288c6a938c7cd6c4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 21 12:39:48 2011 -0600

    rx: Reset fd_set in LWP rxi_Sendmsg
    
    When we select() on the socket fd in rxi_Sendmsg, we do not reset the
    fd_set, and just use the same memory for any necessary subsequent
    select()s. However, if the select returned on EINTR, the fd_set may be
    cleared, and so we may try to select() on an empty fd_set forever. To
    be sure that we don't do that, reset the fd_set to the socket fd every
    time.
    
    Change-Id: I5273351c70e593ad1b7849f4f56de1fcb12d1bbf
    Reviewed-on: http://gerrit.openafs.org/4028
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit df7cca0fa8c5cbeca8cdb9f065e47f4c927dbbe3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 16 12:18:58 2011 -0500

    MacOS: don't install growlagent into prefpanes dir
    
    we have more than one tool now. don't misinstall into the
    prefpanes directory
    
    Change-Id: I9fecc4d448edee54292a5c809caf7721960188ce
    Reviewed-on: http://gerrit.openafs.org/3963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5074de30f71b9dc2fd406b6e71ed4b226294a442
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 21 14:13:22 2011 -0600

    cmd: Fix objdir builds
    
    Commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 broke objdir builds by
    not specifying ${srcdir} for cmd.c. Fix that.
    
    Change-Id: Ifd9fe13834b785058c8b69a60509838b74c4a027
    Reviewed-on: http://gerrit.openafs.org/4031
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 153cb5a3ca34c07a899841ae917b7b882e7ae433
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 21 14:56:48 2011 -0600

    budb: Fix objdir builds
    
    Change-Id: I83851af2ca29ee42ce8f50eba733faf763c39c55
    Reviewed-on: http://gerrit.openafs.org/4030
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 61453d8f33f6508f8464ffba0657aefb6c7eae3b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 21 13:49:59 2011 -0600

    Fix budb build rules for tbudb and WINNT
    
    Commit 0d0b5048a5b68d4079b13609775f9234183d1947 only fixed the budb
    Makefile.in. Make the analagous changes to tbudb/Makefile.in and
    NTMakefile.
    
    Change-Id: I4fa00e630aafcfa9d4d41a1948f3eae750900526
    Reviewed-on: http://gerrit.openafs.org/4029
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cfb5424768c749520c534f8c6d22161cee1daa53
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Feb 19 21:14:11 2011 -0600

    HPUX: Fix osi_debug.c includes
    
    osi_debug.c was trying to include fcrypt.h and private_data.h. But the
    former is in the rx subdirectory, and the latter is in src/rxkad. So,
    specify a more complete path for fcrypt.h, and put src/rxkad in the
    include list for osi_debug.c so we can build again.
    
    Change-Id: I5754f56354f40bd3697ac286cb0820041fda0b00
    Reviewed-on: http://gerrit.openafs.org/4024
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0d0b5048a5b68d4079b13609775f9234183d1947
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 21 00:29:33 2011 +0000

    budb: Only have one build rule for budb_errs.c
    
    budb had two build rules that could produce budb_errs.c, but only
    one of them also produced budb_client.h. This led to problems with
    parallel makes, as depending on which rule fired first, budb_client.h
    might, or might not, exist.
    
    Rework all of this so that it's cleaner. Instead of producing two
    copies of the error table, just make budb_client.h a static file,
    and include the dynamically generated budb_errs.h from it. This
    reduces code duplication, and means that we have to run compile_et
    one less time.
    
    Change-Id: Ib9b982454cc3f1ef3bdeb629c64dbb9901397fdb
    Reviewed-on: http://gerrit.openafs.org/4027
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 019a473e576944003acbe3630d0b8bc0bdcce984
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Feb 20 09:40:15 2011 -0500

    libuafs: add UAFS.pic to .gitignore
    
    Add UAFS.pic to .gitignore, it's a generated directory.
    
    Change-Id: Ibbd5fa482e96b4d4e39402b5cb2a3cc7356c0662
    Reviewed-on: http://gerrit.openafs.org/4022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 36f89a2ce4fdb488480a5979e4f096cf3bdacf3d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Feb 19 15:11:30 2011 -0500

    crypto: return a value from the krb5_init_context stub
    
    The krb5_init_context stub is declared as returning an int, so
    make it return 0 to avoid a warning.
    
    Change-Id: I1e04d6953cf4daed67c7b1de9414113812148931
    Reviewed-on: http://gerrit.openafs.org/4019
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 839b62ab414fde02e1a2093bc036c63c708d861d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 18 15:49:03 2011 -0600

    LINUX: Replace dcache.h for fs.h in config tests
    
    When detecting if we have certain Linux kernel features, we only
    include dcache.h. On some kernel versions (at least 2.4.27),
    compilation fails if we include dcache.h directly (due to e.g.
    list_head not being defined), which causes false negatives in tests
    such as the test for dcache_lock. If we instead include fs.h, which
    includes dcache.h, the tests succeed when they should succeed. So, use
    fs.h instead of dcache.h.
    
    Change-Id: I43fbbc7e5a952d9effbbac16adb9891c36f729bd
    Reviewed-on: http://gerrit.openafs.org/3989
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2afbe1378812ca8ac120aa14fcb173c093748682
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Feb 19 08:26:20 2011 -0500

    lwp: fix the rw test program
    
    We should not need to prototype calloc() anymore and osi_Assert() has
    been replaced with assert() apparently.
    
    Change-Id: I3ef6178c589cabcd0637cd88c35d2276833b4590
    Change-Id: I0626475f120ff9a373e0251f3c4485c052922747
    Reviewed-on: http://gerrit.openafs.org/3991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0491b2846f81defe92e3fcf8bc4481637ec109b3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Feb 19 22:41:19 2011 -0500

    FBSD: remove prtactive
    
    It is unused and has been removed by upstream.
    Since we don't particularly need it for older versions, remove
    it unconditionally.
    
    Change-Id: If209f7d11d5f4aa4ba77f934d865c905761b05ca
    Reviewed-on: http://gerrit.openafs.org/4020
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2c807d053822b7b2591561599285d103efa12bfd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 19 18:04:43 2011 +0000

    osconf: pic_regex.o is now regex_pic.o
    
    pic_regex.o was renamed as regex_pic.o in
    commit 43b8bcf2a7c7dfd855a9f2bf274a93289a4941c6, but osconf.m4's
    definied of REGEX_OBJ_PIC wasn't updated at the same time. Fix that.
    
    Change-Id: I4523f99d94f158329e8e0eccde575733d28fbf51
    Reviewed-on: http://gerrit.openafs.org/4021
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b719ad74865c63a04188dc124fd96def6cba1c04
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 16 21:57:59 2011 +0000

    hcrypto: Use new LWP_CCRULE
    
    Use the new centralised LWP_CCRULE, rather than brewing our own.
    
    Change-Id: I3eda193371c28972a048f3c0c125d10161420fd7
    Reviewed-on: http://gerrit.openafs.org/4016
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9c7c6a2ca5c45367d1a8ed1710a4c99f8e3c5f6b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 14:33:07 2011 -0600

    Document dropbox permissions
    
    Document the behavior and potential problems with granting 'il' rights
    to create dropboxes. Do this in the manpage for 'fs setacl' and
    chapter 4 of the User Guide.
    
    Change-Id: Ic4e8ee016290080d78037a5c2c3802ce4e2e342c
    Reviewed-on: http://gerrit.openafs.org/3977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2b094cae6c39bc9e2d8f23f4654e137876b25d57
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 18 00:36:33 2011 +0000

    RedHat packaging: Use %{dist} not %{osver}
    
    There's a standard mechanism for defining a RPMs target
    distribution in the Fedora and RedHat worlds. This is to use the
    %{dist} macro, and to insert it at the end (not the beginning) of
    the release field.
    
    Move over to using this standard mechanism, and modify the build
    system to match. Note that this means that RPM names have now
    changed slightly.
    
    Change-Id: I5a4f1ad827223f48658f595ac424ab64fe98ed39
    Reviewed-on: http://gerrit.openafs.org/3981
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fd010651194f4c9f1324ea7aa8d84426ce9827e4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 15:47:00 2011 -0600

    afsd: Make mountdir check kernel-specific
    
    Checking if the /afs directory exists only makes sense for the kernel
    afsd. The libuafs afsd does not care if the mount directory actually
    exists on the machine or not, since it may not interact with the mount
    directory path on the local machine at all.
    
    So, make the mountdir check code be a new afsd function
    (afsd_check_mount), and have it stat() the mount directory only in the
    kernels-specific afsd.
    
    Change-Id: Ic0b524e23f518c4f3c9954e6b9614bca984306a3
    Reviewed-on: http://gerrit.openafs.org/3980
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 383d99d04b2ca3254264d9a948aea19a0235fe80
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 14 10:45:06 2011 -0500

    Windows: Change GiveUpAllCallBacks default to On
    
    Change-Id: I2a87f0b22dc1d4d21eae4877f7e367a18bab4283
    Reviewed-on: http://gerrit.openafs.org/3660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cee2c677d7de66a510d05978e3b41dcd5d8aca78
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 1 15:23:11 2010 -0500

    unix: giveupallcallbacks at shutdown
    
    just try to give up callbacks at shutdown. at this point if
    you're running 1.4.5 or older, you're sad anyway.
    Change-Id: I7d9e9f1de45980f064bccaab338499789aa40646
    Reviewed-on: http://gerrit.openafs.org/3404
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 249d65e72592b707fcc794be5f8af10a67c55e26
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 22 16:04:47 2011 -0500

    ubik: Abstract common code in ContactQuorum* functions
    
    These functions are mostly identical except for the arguments and the
    called operation.  Move as much common code as possible to an iterator
    function and a return code check function.  The DISK_WriteV case is
    treated a bit differently since it can fall back to using DISK_Write.
    
    This reduces code duplication and shoud simplify maintenance and
    future changes.  There should be no functional changes.
    
    Change-Id: If2f88c670da47eaad4baa81975ecc307013f5ce8
    Reviewed-on: http://gerrit.openafs.org/3970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 470a6d46175125bfe15bb267ee8f77d60132592a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 7 10:54:51 2011 -0500

    fileserver: dropbox mode shouldn't allow readback from anonymous
    
    if you're writing files as anonymous, don't let them be read back.
    things which potentially need to page back in will just have to be
    authenticated, or lose.
    
    Change-Id: I71a6096239eb59b40a9df09460e8db160e9342da
    Reviewed-on: http://gerrit.openafs.org/3901
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dacbfdf82cf20c5ebaab1f19d619ca2b58528d2e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 12:37:49 2011 -0600

    shlib-build: Add -p option
    
    Add a -p option to shlib-build option to generate "plain" shared
    objects. That is, shared objects that are intended to be e.g.
    dlopen()'d, and are not intended to be libraries dynamically linked to
    from other code. Such shared objects do not need a library name,
    version numbers, export lists, etc.
    
    Change-Id: I649c1b697a79936c1d580199291124398b05e56b
    Reviewed-on: http://gerrit.openafs.org/3975
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4d87db62f4b9605539f9e9bd89fcbdb23202a846
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 12:28:44 2011 -0600

    shlib-build: Fix usage message
    
    Change-Id: Ieb7181784f736a2295fffbea80da55d6a5c099cd
    Reviewed-on: http://gerrit.openafs.org/3974
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 18b24156f1dc0f727260724023eed583b460218b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 15:15:06 2011 -0600

    afsd.fuse: Force internal mount dir to /afs
    
    Commit 1f1545dfb708b6f70065da58b44676b8eafef772 made it so the
    argument given to -mountdir sets the internal mount directory.
    However, afsd.fuse assumes that the mount dir is always /afs
    internally. So, use the uafs_setMountDir function to reset the
    internal mount dir to "/afs", so afsd.fuse can work with non-/afs
    mountpoints.
    
    Change-Id: I985f1a25d04af4027c7adef69231e2f56e026d24
    Reviewed-on: http://gerrit.openafs.org/3979
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 445548636f4d57aaa8e29912803e242f772959c7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 15:14:41 2011 -0600

    UKERNEL: Add uafs_setMountDir
    
    Replace the function uafs_mountWithDir with uafs_setMountDir, and
    adjust the one caller. This allows libuafs users to manually set the
    mount dir after e.g. the mount dir is set from afsd options.
    
    Change-Id: I85a967ce27a72f54c1ab29b007dbb8634017c897
    Reviewed-on: http://gerrit.openafs.org/3978
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7bbec1f86bbdbf351d36863dc5d971f61051b170
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 17 11:53:08 2011 -0600

    LINUX: Fix osi_compat.h include guard
    
    Change-Id: I96565ba0adef3d3be646c1ed02c7d022e216f911
    Reviewed-on: http://gerrit.openafs.org/3973
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 43b8bcf2a7c7dfd855a9f2bf274a93289a4941c6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 16 16:24:47 2011 -0600

    util: Use foo_pic.o instead of pic_foo.o
    
    Be more consistent with the rest of the tree, and name PIC object
    files with the convention foo_pic.o.
    
    Change-Id: Ib3b9642534c51ffb10fe3c86f779b4e9df6af4c1
    Reviewed-on: http://gerrit.openafs.org/3968
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4f3b6a5b3c63ee34d65f202730ff2ce68627b2e5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 16 15:58:41 2011 -0600

    Fix PIC CFLAGS
    
    Commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3 just used -fPIC to
    generate position-independant code. However, the flag to turn on PIC
    varies depending on the compiler, and is not always -fPIC. Just use
    SHD_CCRULE instead, which will get us the correct PIC flags.
    
    Change-Id: I61d698587cc3959b35ec27abe3c3b19adab5d8f1
    Reviewed-on: http://gerrit.openafs.org/3962
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 31e730330849eae7d31c282b24d16ebeea7147ca
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 16 20:41:02 2011 +0000

    Add CCRULE variants for each build type
    
    Add explicit LWP, PTH and SHD variants of the CCRULE variable for
    LWP, pthreaded and shared-library builds respectively. This allows
    Makefiles which support building more than one target type to use
    these rules directly, rather than brewing their own.
    
    Modify all of the AFS_CCRULE definitions in the build type specific
    Makefiles to reference these rules, so we aren't specifying things
    twice.
    
    Change-Id: I79bb394cca8971ce71b10ef55b75d5169bf6b80c
    Reviewed-on: http://gerrit.openafs.org/3966
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dae5b59337674304495b3f9f678088c317f002c5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 29 12:31:24 2011 -0500

    ubik: remove unused OLD_URECOVERY code
    
    OLD_URECOVERY is never defined and only serves to preserve unused
    code.
    
    Change-Id: Iefc0fcfd177fa134a74cee05b0b45e6bf075ad1c
    Reviewed-on: http://gerrit.openafs.org/3969
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1f1545dfb708b6f70065da58b44676b8eafef772
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 28 11:11:20 2011 -0600

    libuafs: Allow -mountdir to override uafs_Setup
    
    For some reason, uafs_Setup accepts a parameter specifying the AFS mount
    point, and we effectively ignore any -mountdir option specified in the
    string arguments. Allow -mountdir to override the mount point specified
    in uafs_Setup, by changing afs_mountDir &co during afsd_mount_afs().
    
    Change-Id: I4ea88923c0a8392d280c1a8f0ca4d3adf741f7f6
    Reviewed-on: http://gerrit.openafs.org/3897
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9315c66f15fb0d178e1c322cf14c0d64eea46c65
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 7 13:13:31 2011 -0600

    viced: Enforce lwps limit for -L
    
    Previously, we only enforced the calculated lwp/thread maximum when
    the -p argument was specified. When -L was specified, we set lwps to
    128, which can be over the max of (effectively)
    MAX_FILESERVER_THREAD-FILESERVER_HELPER_THREADS, depending on the
    value of MAX_FILESERVER_THREAD.
    
    Instead, enforce the lwps min/max after all code to set the lwps has
    run.
    
    Change-Id: Ia9fc29855e74631509ea558cfe1b17fcf46e900e
    Reviewed-on: http://gerrit.openafs.org/3903
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 687fe37614a6f5f9083818931b72ac326eaee43a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 13 13:54:32 2010 +0100

    rfc3961: Add a kernel rfc3961 implementation
    
    Add the necessary mechanisms to build Heimdal's libkrb5/crypto_*.c in
    the kernel. This provides the kernel module with a RFC3961
    implementation.
    
    In theory this could also be used to provide a RFC3961 implementation
    on top of an EVP-based crypto library in userspace, but at the moment
    we're just using Heimdal directly for this.
    
    Change-Id: Ie57391da0dabd2dca8b305e23f0c0faa056a4675
    Reviewed-on: http://gerrit.openafs.org/3948
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 57b9febc61ee7289f328f29a3ede40d765fa0894
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Jan 27 12:22:24 2011 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    8ce821c38744b30e226ff024f675668b991b984d (switch-from-svn-to-git-1998-g8ce821c)
    
    New files are:
            krb5/crypto-aes.c
            krb5/crypto-evp.c
            krb5/crypto.c
            krb5/crypto.h
            krb5/data.c
            krb5/keyblock.c
            krb5/store-int.c
    
    Change-Id: I511d54e1353a3662babd2d12611fd31b8e3061a5
    Reviewed-on: http://gerrit.openafs.org/3947
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2557da6fc04f657b07bc2ac019e9e21955b7325a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Nov 17 21:57:42 2010 +0000

    Add rfc3961 crypto files from Heimdal
    
    Add the Heimdal files which are necessary to produce a kernel rfc3961
    implementation to the import list.
    
    Change-Id: If080207cd882b277548f503e5eb139fe9a54f495
    Reviewed-on: http://gerrit.openafs.org/3946
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 465321e3f43645efedb44168968f871fe5be4daa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 12 18:40:08 2010 +0100

    hcrypto: Add hcrypto EVP support to the Unix CM
    
    This commit adds the files which are necessary to support hcrypto's
    EVP interface to the Unix cache manager build. Only a small number
    of EVP ciphers and hashes are currently supported -
        * aes_128_cbc
        * aes_256_cbc
        * sha1
    
    Note that the EVP interface is the only supported mechanism to use
    the AES cipher - directly calling the underlying crypto functions
    is not recommended and may break at any time.
    
    Change-Id: I662073e578b29db1707c6b6433209e75e4db455d
    Reviewed-on: http://gerrit.openafs.org/3945
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b4350fab31ab91373caac4601d26cd0451da0aa4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 13:02:49 2010 +0100

    Unix CM: Add osi_crypto crypto interface
    
    Add a new osi file to the cache manager. This file includes functions
    which interface hcrypto with the kernel's own cryptography library.
    
    At the moment, the only such function is osi_readRandom which returns
    a block of random data from the kernel's PRNG.
    
    Change-Id: Ib728f5bb638ef634efe4822da24bb7cca723983f
    Reviewed-on: http://gerrit.openafs.org/3944
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 22b47b65c74d42eaa00e8ac8ad442fee3d2ceacf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 16 09:49:03 2011 -0600

    Makefile whitespace fixes
    
    Some "make"s get tripped up by recipe lines starting with anything but
    a tab character. Most of the time we start ours with tabs, but fix a
    few instances where they begin with spaces.
    
    Change-Id: I2c17c68deb1b7641ca73e84ec0043b62ce3c54ba
    Reviewed-on: http://gerrit.openafs.org/3961
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0bb6170b222ee2e9a0a3d224dac890adaed945a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 15 17:21:49 2011 -0600

    vol: Restore inode OS_READ/WRITE
    
    Commit 335ccb4082657b7d0e4e9af1076356cf115642d2 removed the OS_READ
    and OS_WRITE definitions for non-namei code. We need those definitions
    to build the pread/pwrite emulation functions, so put them back in.
    This allows us to build the inode fileserver backend when we do not
    have native positional I/O.
    
    Change-Id: I3c066dacbee20301b38f074142cb6b6bb6b05de7
    Reviewed-on: http://gerrit.openafs.org/3959
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d06a4a557675b68421f2272d0153ca04128f6994
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 2 08:44:27 2010 +0100

    Autoconf: Add GSSAPI autoconf rules
    
    Add rules to autodetect the location of a system's GSSAPI libraries,
    using the gssapi.m4 script from rra-c-util 2.6
    
    Change-Id: Idabb8fdb138a2dac6983aa4d5fd8a2f558ee08be
    Reviewed-on: http://gerrit.openafs.org/3943
    Tested-by: Christof Hanke <christof.hanke@rzg.mpg.de>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 11b2c6d6fe4dbbf5a54ae1e08e979c35ab6b7fa0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 14 13:53:11 2011 -0600

    HPUX: Disable positional I/O
    
    Some versions of HP-UX have the pread() and pwrite() functions, but
    they behave in odd ways; most notably, ignoring the offset argument
    when _FILE_OFFSET_BITS is defined to 64.
    
    This is noted in recent gnulib documentation
    <http://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/posix-functions/pwrite.texi>,
    and slightly less clear references to pread() being broken can be
    found on the development mailing list for git itself.
    
    It is not completely clear what specific HP-UX versions are affected
    by this. An autoconf run-time test may also be insufficient, because
    the same binaries should be usable on machines with broken and
    non-broken pread() implementations. So, to be safe, disable positional
    I/O on HP-UX unconditionally.
    
    Change-Id: I09b8d9c441622c961d1df90fe27eeccaa948f5c4
    Reviewed-on: http://gerrit.openafs.org/3949
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f378dcf785967374309523a02ea06d6d1a3ff148
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Feb 14 12:36:18 2011 -0800

    Update 1.6 NEWS entry based on 1.6.0pre2 release notes
    
    Change-Id: Id795a74910bc881f8e93c8e80b9cb55ff48c3b15
    Reviewed-on: http://gerrit.openafs.org/3950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fe231190d8df1567ae4d4e0b474131b9e2621cda
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 30 19:27:17 2011 +0000

    Linux: Fix RX atomics for kernel mode
    
    Fix a mistake with the definition of rx_atomic_set, and add
    the missing declaration of rx_dec_and_read for Linux kernel builds
    
    Change-Id: Ieed7a369670c051abc02d8cc831e8736969fb67a
    Reviewed-on: http://gerrit.openafs.org/3942
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 91f9a7f64b848b6c2b0b16b817640e54ac59f308
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 14 11:03:17 2011 -0500

    1.6.0pre2 release notes
    
    add release notes for 1.6.0pre2
    
    Change-Id: I05eb7d02b3daa9935eec6cbc7f6b8f1de78c23f0
    Reviewed-on: http://gerrit.openafs.org/3940
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit da912adbf1512702a17b8e381af3d0225875e67c
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Fri Jan 7 10:44:27 2011 -0500

    RedHat: Change the defined initdir path to /etc/rc.d/init.d
    
    On Red Hat systems, /etc/init.d is a symlink to /etc/rc.d/init.d.  We
    should use the actual path for packaging the init scripts, to avoid
    any issues with package verification.
    
    Change-Id: I476193b3fd534c8aa70c67970bf2765a30f4c4d5
    Reviewed-on: http://gerrit.openafs.org/3625
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8eca6a1153eb7768c2f29ea2d48f01f6988cbfe3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 13 13:11:02 2010 -0600

    Add PIC variant for libuafs
    
    Build a libuafs that is built with PIC, so it can be used in shared
    libraries on all platforms. Also build PIC variants for libafsutil and
    libcmd, since we need them for a PIC libuafs anyway.
    
    Change-Id: I017fa22c3b4dd661123ea92da7b3e5b69ee5c170
    Reviewed-on: http://gerrit.openafs.org/3896
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit adca541d70ef2e9d87b000ad570440a13e431014
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jan 1 23:41:29 2011 +0000

    auth: Rewrite KeyFile handling code
    
    Extend the KeyFile API so that we can support arbitrary numbers of
    different key types, each with their own key version numbers and
    sub types. Completely rewrite the KeyFile implementation with this
    in mind, but implement all of the "old" API in terms of the new one.
    
    Given that the existing KeyFile is modified by third party programs,
    we retain that as the storage location for all afsconf_rxkad keys.
    Only keys with a type of 1, or above are stored in the new extended
    keyfile.
    
    Change-Id: I903a1de938544541a1bfecedb2a039ba24bdfdbc
    Reviewed-on: http://gerrit.openafs.org/3772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 278798be3f4d16a27b73fa2d27df01fe704eb881
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 12 21:10:44 2011 -0500

    Windows: Release Notes updates for 1.6pre2
    
    A fairly thorough review of all sections to ensure that the information
    is up to date.
    
    Significant reformatting caused by XML editor.
    
    Change-Id: Iad988b91091a02a7b5de2a1d1fae052fc5ee897f
    Reviewed-on: http://gerrit.openafs.org/3936
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 281f5bf5fbb0a546edcce62ef4e097ae9bbdbf73
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Feb 2 21:55:27 2011 -0500

    Linux: 2.6.38: dentry->d_count is not an atomic
    
    d_count is now an int protected by the dentry's d_lock.
    Take the lock when we use it, instead of using an atomic_*
    function.
    
    Change-Id: Ib70e4a5315cc343518fa983e47bc7ff925acfc7f
    Reviewed-on: http://gerrit.openafs.org/3883
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4ceaa632d5bcf62272637665368768d772e962c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 12 14:24:02 2011 -0500

    Windows: ChangeLog updates for 1.6.pre1
    
    Change-Id: I17de717ffd597c45720a4fbd39a14c5df67f870c
    Reviewed-on: http://gerrit.openafs.org/3926
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e4119971b0131411dc686adcbfc6b5bb3c9b52f1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 12 11:52:12 2011 -0500

    Windows: Fix GetIoctlHandle path construction
    
    GetIoctlHandle() is used to construct the magic pioctl file
    path used to initiate pioctl operations with the cache manager.
    The first error introduced double directory separators.  The
    second error was testing an uninitialized value which could
    have resulted in a missing directory separator.
    
    Change-Id: I4e863b854ea12b69858be712455dc6b6a0d36c39
    Reviewed-on: http://gerrit.openafs.org/3925
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e6411317ce21bb92e644e7126228318e8e672756
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 12 11:45:15 2011 -0500

    Windows: Fix symlink and mount point make \\afs\xxx handling
    
    When processing a request to make a symlink or a mount point
    in the afs root volume (\\AFS) the smb redirector will fail
    the request because a server name by itself is not a valid path.
    Therefore, we insert the "all" share component to refer to the
    root volume as a valid path.  \\AFS\foobar becomes \\AFS\all\foobar.
    
    A recent change stripped the trailing slash from the string
    returned by Parent().  This broke the test that determines
    whether or not the provided path that failed the IsAFS() test
    is in fact referring to the \\AFS server and requires the insertion
    of the "all" share name.
    
    This patchset permits the test to work with \\AFS or \\AFS\
    and removes extraneous directory separators from the generated
    path containing the "all" share.
    
    Change-Id: Ia3b28d83302d9737bd149b4a22bc3ee3a6c8da46
    Reviewed-on: http://gerrit.openafs.org/3924
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1a474ac28719c1b2187435de117a87c8dcca8bd9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 9 19:37:18 2011 +0000

    util: Actually install thread_pool_types.h
    
    The action portion of the rule for thread_pool_types.h was missing,
    so the file was never installed. As that file is a dependency for the
    whole of the util directory, it would result in util being completely
    rebuild with every make invocation.
    
    Add the missing installation rule, so we don't rebuild quite so often!
    
    Change-Id: Idb201c239b6b37a25567cf231059ef05536fc258
    Reviewed-on: http://gerrit.openafs.org/3921
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f132054e4f3a7633eb60f3abdbdc27233ec344f5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Feb 9 17:06:00 2011 -0500

    scout: restore parallel make
    
    Restore the + in the scout Makefile section, lost with commit
    4a6a00d6.
    Lets scout benefit from a parallel make and avoids a warning.
    
    Change-Id: Ie4c35c93afae4bfefaae0a0db9d676200cb3ee7b
    Reviewed-on: http://gerrit.openafs.org/3910
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 296cf7d1630c57874b870e161bac5db9fe4dab48
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 27 19:07:32 2011 -0500

    ubik: always prefer a dirty cache page for write transactions
    
    If a write transaction is running concurrently with a read transaction,
    a DRead in the write transaction may return a clean cache page brought
    in by the read transaction, instead of a previously written dirty page
    from the same transaction.  This can result in loss of the written data.
    
    Fix by making sure there is not a dirty version of the requested page
    before returning a clean one.
    
    Bug spotted by Jeffrey Hutzelman.
    
    Change-Id: I20543693c98218d8ec1f791508d9404043819376
    Reviewed-on: http://gerrit.openafs.org/3764
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit be4abb4ec83a47477b254f2b3375742c4efbb063
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Jan 27 15:03:57 2011 +0100

    Early dispose of replies in rx_Multi
    
    Handles replies as soon as they arrive in rx_Multi, limiting
    strain on RX packet queues on massive rx_Multi loops.
    
    Change-Id: I345f7dba1707beeb75bcc65bb519afb9dc741973
    Reviewed-on: http://gerrit.openafs.org/3765
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bf72dbf3d5550857a8d41c910baaa722690c1eee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 31 11:04:08 2011 -0500

    evalmountdata null pointer before use
    
    volnamep can be used uninitialized. fix that.
    
    Change-Id: I4aafb3bc56241b4cfc7ccd0a9cfa9e57bd97157a
    Reviewed-on: http://gerrit.openafs.org/3777
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2eca7aef7b2940e4ef5f9901ce28481af6edb6dd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 28 20:59:17 2011 -0500

    Linux: 2.6.38: deal with dcache_lock removal
    
    dcache_lock is gone in 2.6.38, and some of the vfs locking rules
    have changed.
    
    Of interest for openafs:
    - inode->i_lock protects the d_alias list
    - dentry->d_lock protects d_unhashed()
    
    Add a new configure test for dcache_lock, and replace its use by
    the appropriate new lock(s).
    
    Change-Id: Ic8d860d4f9f6438e966c15f5178c0d82343e3e1c
    Reviewed-on: http://gerrit.openafs.org/3771
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5bcc0ea735ea519298c98b46c66bf1326cdee5e4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 28 19:41:32 2011 -0500

    Linux: 2.6.38: Adjust for permission inode operation changes
    
    The permission i_op has a new signature with a flags argument, and
    must now deal with RCU path walking.
    - Fix existing configure test for this i_op, it succeeds when it
    shouldn't
    - Add a new configure test for the new signature
    - Make our permission i_op "RCU-walk aware" - return ECHILD if
    called in that mode
    
    Change-Id: I42a171694717f4621f29f9f59e4f6049926862a3
    Reviewed-on: http://gerrit.openafs.org/3770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ca38c9546e323b59189670b80740510fb9ec5269
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 28 19:03:39 2011 -0500

    Linux: allow compile flags to be passed to AC_CHECK_LINUX_BUILD
    
    Some linux autoconf tests require particular compile flags such as
    -Werror.  Add a parameter to the AC_CHECK_LINUX_BUILD macro that
    lets the caller pass in any needed special flags.
    
    Adapt a few existing tests that were still using AC_TRY_KBUILD
    directly.
    
    Change-Id: I4a5e3db74f6fb9c35bfa7b2964a294f646e78626
    Reviewed-on: http://gerrit.openafs.org/3769
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f47487db051ba6b51ae12daf7edc09ecfd3c38cd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 3 15:40:48 2011 -0600

    ConvertROtoRW: Use old copyDate for creationDate
    
    When we convert an RO volume to an RW, currently we just copy the
    copyDate and creationDate from the RO metadata into the RW. But the
    copyDate and creationDate fields have different meanings for RW and RO
    volumes: for ROs, the creationDate is merely the last time the data
    was updated from the RW during a release operation.
    
    So, if the copyDate is older than the creationDate, use the copyDate
    as the new RW creationDate instead. This will probably not match the
    creationDate of the original RW, but it will be closer to it, and it
    will more accurately represent the conceptual "created time" of the
    new RW.
    
    Doing this can avoid forcing an unnecessary full dump on a subsequent
    release of the resultant RW volume, since the creationDate is more
    accurate.
    
    Change-Id: Ibfffbdc4a79a568261e9e116f6991a3af9db5e0c
    Reviewed-on: http://gerrit.openafs.org/3891
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae11ef7898ecffe8eb2a38151602572c24e32a76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Feb 7 16:44:09 2011 -0500

    Windows: correct pthread_xxx_init semantics
    
    pthread lock and conditional initialization semantics
    do not require that the lock structure be zeroed before
    pthread_xxxx_init() functions are called.  Since the Windows
    CriticalSection initialization does require that the memory
    be zeroed, the pthread_xxxx_init() functions must zero the
    memory just in case before performing the CriticalSection
    initialization.
    
    Change-Id: I61e78ca7cbc10f7d4144b8efcbb38f67bb8fd695
    Reviewed-on: http://gerrit.openafs.org/3904
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 380cc22a45dff7e40cd50d57a56742b59ccc4952
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.
    
    Change-Id: Ib4e93b65f50cbad30d057ad7905617d00070c1a4
    Reviewed-on: http://gerrit.openafs.org/3762
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 15c497e90edc69312dba6843521ff08f0ac19248
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 2 19:24:00 2011 -0500

    Windows: remove duplicate advapi32.lib references
    
    advapi32.lib is included in the conlibsdll macro.
    No need to include it in the link list twice.
    
    Change-Id: I2f9725f8b48b26afc959477d2fe2f2925f357ee7
    Reviewed-on: http://gerrit.openafs.org/3882
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit dca093a17097f7e24d43afe4544e4be896b86680
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Thu Feb 3 15:22:02 2011 -0500

    spelling/grammar fixes for manpages
    
    Several small fixes for spelling and grammar.
    
    Change-Id: I5c1cbc933cd683f997b8bb649408d57d84a110f2
    Reviewed-on: http://gerrit.openafs.org/3890
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad05600d86d6737f55d7b785bc7c503c4a45be00
Author: Ken Dreyer <kdreyer@usgs.gov>
Date:   Wed Feb 2 11:49:31 2011 -0500

    spelling/grammar fixes for vos_clone manpage
    
    Small spelling/grammar fixes for the vos_clone manpage.
    
    Change-Id: If312799b9e95476a1de2d386e6d51cd800c7e069
    Reviewed-on: http://gerrit.openafs.org/3879
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ba51b43e3558058b949ccc5de1d4559e4caf9d9b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 31 15:00:09 2011 -0600

    Rx: Do not stop keepalives on ACKALL receipt
    
    We need to still keep sending periodic keepalives after receiving an
    ACKALL, since the call is not done yet. ACKALLs can be received when
    the peer has received all data from us, well before the call has
    finished. This is particularly noticeable for long-lived calls that
    have little data transfer, such as AFSVolForward and
    AFSVolForwardMultiple.
    
    This reverts commit b1549f29a9515de09d4a64bfb28bf5afdfee2615, which
    was intended to be part of a fix for RT 20727.
    
    FIXES 128848
    
    Change-Id: I319e6e95d699ea87ecc72888452b5e1e6fcd88b0
    Reviewed-on: http://gerrit.openafs.org/3876
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c15468e2605446fa89e351131ba429a360d823f8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 31 11:18:39 2011 -0600

    afsd: Do not check for /afs if -nomount
    
    If -nomount was passed, we don't try to mount /afs. So, there is no
    reason to require its existence.
    
    Change-Id: Id426f345b94de8f2d673af62fe14f803d1c77752
    Reviewed-on: http://gerrit.openafs.org/3822
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit efe4a20c46c73c39bd979437956beddcd3057bc3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 31 11:43:39 2011 -0500

    Windows: No NCBRESET when probing Loopback after start
    
    The Netbios NCBRESET command resets all of the Netbios state
    associated with the LAN adapter including the name bindings.
    In response to a detected LAN adapter IP address change, the
    smb_LanAdapterChange() function is called to determine if any
    Netbios LAN adapter bindings that were in use or should be in
    use by afsd_service were altered.  As part of the check,
    lana_GetUncServerNameEx() is called which in turn calls
    lana_FindLoopback() which in turn issued a lana_IsLoopback()
    for each LAN adapter with the 'reset adapter' flag set to TRUE.
    
    Calling lana_IsLoopback() with 'reset' equal TRUE was fine
    when lana_GetUncServerNameEx() was only called from smb_Init(),
    but it is not fine when called after the service is processing
    calls.  By resetting the adapter the binding of the netbios name
    "AFS" (or "<MACHINE>-AFS") is removed and all outstanding calls
    are canceled.  If the SMB redirector attempts a reconnect during
    the window before NCBADDNAM is called to re-bind the name, a
    negative cache entry will be placed in the netbios name lookup
    table that will prevent the SMB redirector from connecting to
    the client for several minutes.
    
    If the environment is one in which frequent IP address change
    events are triggered, it is possible that the SMB redirector
    will never be able to reconnect to the service.
    
    This patchset adds a flag, LANA_NETBIOS_NO_RESET, to the
    lana_GetUncServerEx interface which permits smb_LanAdapterChange()
    to avoid the undesirable reset.  This negative flag was selected
    in order to avoid changing the current default behavior as the
    lanahelper library is used by out of tree installers and it
    is preferred that OpenAFS avoid breaking them unnecessarily.
    
    Change-Id: I094af7b342d27c65025235888705af8af1a7d56e
    Reviewed-on: http://gerrit.openafs.org/3821
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d12d2c08eef5b2bffccefac61465b7d4e40bba9f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 31 15:07:45 2011 -0500

    evalmountdata: put back colon in .:mount syntax only if we removed it
    
    we looked for a set character (not NULL) at cpos before, instead
    of looking for a non-NULL pointer. fix it.
    
    Change-Id: Iaa370980b6482f1c50e11f161e3208c039043a6f
    Reviewed-on: http://gerrit.openafs.org/3874
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 66bd7cf95ead1c27d81a25f4ca75b49ec173c136
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 30 20:54:30 2011 +0000

    tests: Fix auth/superuser-t.c to work on Linux
    
    Fix the superuser tests so that they can be run on Linux. This
    requires explicitly including sys/wait.h so we can use waitpid,
    and changing some initialisation ordering so that we initialise
    the RX library before we try and fake an rxkad token.
    
    Change-Id: I8439ff6211a50c749ea22819e2d836409a64d2ad
    Reviewed-on: http://gerrit.openafs.org/3776
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 60eff137a99ed7d9d5e70966c6f86425ae93b82b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 30 18:35:28 2011 +0000

    bozo: Fix linker problem on Linux
    
    Some unconnected changes break the Linux linker when faced with this
    library list. librx is included too early, and liblwp isn't included
    after the second inclusion of librx. Reorder the library list to fix
    this problem, and so it matches the library order in the rest of our
    modules.
    
    Change-Id: Iba19111f613c70c8a6e66539b437a99d58faf7f4
    Reviewed-on: http://gerrit.openafs.org/3775
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c8b0c9ca9478851ea35034f0fcaf01e1583c7b28
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Jan 30 19:11:57 2011 +0000

    Windows: Install rx_atomic.h
    
    Install the rx_atomic.h header into the build-wide header directory,
    so that modules other than RX can make us of it.
    
    Change-Id: Id3c3d0c486412942fb0772d7a8cf5d2fc1bf8876
    Reviewed-on: http://gerrit.openafs.org/3774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c0254b5652bff52ba6c13546beda323d8ed1bb88
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 28 15:20:25 2011 +0000

    Unix CM: Move kernel crypto include files
    
    Move the crypto include files which are used for kernel builds into
    the hcrypto directory where they logically belong.
    
    Change-Id: Ic904e63e48d09e6a2049f4e1c4433980ecf0fa1e
    Reviewed-on: http://gerrit.openafs.org/3767
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 67195401c915b23e092f98c89ab5f5580a9cf3f6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 29 23:24:16 2011 -0500

    Windows: out of order locks cm_CheckCBExpiration
    
    The recent refactoring of cm_CheckCBExpiration introduced
    a lock ordering error between the cm_scache_t rw lock and the
    cm_scacheLock.  This patchset fixes the error by dropping the
    cm_scacheLock as each cm_scache_t is being processed.
    
    Change-Id: Ib9e45abc5a43ca550d4a2a7923e3b30017e9fbf9
    Reviewed-on: http://gerrit.openafs.org/3773
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d8a2291c06b6c7ec86b5556ff742c4afb7d28736
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 28 15:01:21 2011 +0000

    aklog: Use correct CFLAGS
    
    The aklog Makefile was setting XCFLAGS, but then not actually using them
    which meant that we never used the correct include path for the Kerberos
    libraries, or defined ALLOW_REGISTER
    
    Change-Id: Iae573bc216b42bdf9aa49e9f5f42a883e08b6265
    Reviewed-on: http://gerrit.openafs.org/3766
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 299e942ae98dfea3a4804c724e5d440715974e0c
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Jan 28 16:49:03 2011 +0000

    Do not compare an FD_t < 0
    
    FD_t is an abstract type.  Invalid file decriptors are == INVALID_FD.
    In most places this module does the right thing.  Fix the last
    stragglers where it is testing as less than zero.
    
    Change-Id: I9ae3db8775ce69da070a4ebef5a532e1db035977
    Reviewed-on: http://gerrit.openafs.org/3768
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 52556d50298e4a636f07e9a3cf0b6557c882c82d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jan 25 18:18:56 2011 -0500

    linux: 2.6.38: Make d_revalidate RCU-walk aware
    
    Signal to the vfs that we don't support path RCU walk in
    d_revalidate.  It will call back in non-RCU mode.
    
    Change-Id: I15d0d30131b205a38577666122b067807282a7cd
    Reviewed-on: http://gerrit.openafs.org/3759
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 08bb83d95027bb3ac68834d12b72bdc647fa24a9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jan 25 17:17:21 2011 -0500

    linux: 2.6.38: New d_op handling
    
    In 2.6.38, the super block structure has a new field to hold the
    default dentry ops.  The vfs will automatically set it for new
    dentries in most cases.
    
    Set s_d_op to our set of operations, and omit setting the dentry
    ops where the vfs will already do it (and where new locking rules
    prohibit it).
    
    Change-Id: I9d738bdd528577d0a7ccd307246b5e935379c84d
    Reviewed-on: http://gerrit.openafs.org/3758
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 54fb96d2b6517ae491fd7a7c03246850d29156d5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 2 17:13:17 2010 -0600

    RX: Avoid retrying calls on busy channels
    
    When we receive an RX_PACKET_TYPE_BUSY packet, we currently ignore it.
    This is a problem when the server has a long-running call on that same
    call channel that we don't know about, since we will then keep
    retrying the call on the same channel and keep getting
    RX_PACKET_TYPE_BUSY responses.
    
    Try to avoid this by returning the RX_CALL_TIMEOUT error when we get a
    BUSY packet and there are other free call channels available on the
    conn. When the application gets the error and retries the call, we
    avoid using the same call channel again where possible. When all of
    the call channels appear busy, we revert to effectively the old
    behavior of retrying the call on the same channel until we get an
    RX_CALL_DEAD (or similar) error.
    
    FIXES 128671
    
    Change-Id: I29b84aa36dcc856528c30d26811e5d6c4b78a1ca
    Reviewed-on: http://gerrit.openafs.org/3431
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 29ef47dfab86f7b226e0518b1365c27a8eb5126f
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Jan 27 12:18:44 2011 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    8ce821c38744b30e226ff024f675668b991b984d (switch-from-svn-to-git-1998-g8ce821c)
    
    Upstream changes are:
    
    Asanka C. Herath (2):
          Revert use of backslash as an escape for double quote in config strings
          Condition roken's ssize_t definition for compatibility
    
    Love Hornquist Astrand (1):
          don't undefined SLIST
    
    Change-Id: I8855e060e88008f95eb2b24b029843081702fc04
    Reviewed-on: http://gerrit.openafs.org/3761
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 962a95c21cc82a8bbb1dc1233c91acd7236fc8e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 26 20:10:57 2011 -0500

    Windows: Correct cm_volume locking
    
    cm_volume_t flags was used for two categories of flags.  The first
    protected by the cm_volume_t->rw lock.  The second protected by
    the global cm_volumeLock.  Separate the flags field into two
    afs_uint16 fields and break the flag space into FLAG and QFLAG.
    
    Add assertions to the volume LRU functions to ensure that they
    are always called with cm_volumeLock write-locked.
    
    Correct two locations where cm_AdjustVolumeLRU() was called
    read-locked instead of write-locked.
    
    Change-Id: I7991b995a3c981cd5d08d9cbba09badc81518a5a
    Reviewed-on: http://gerrit.openafs.org/3760
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5817a13b84496c087b350be50c17a8b0f9aac9d5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jan 25 10:46:38 2011 -0600

    vol-salvage: Only delete bad vnodes during !check
    
    In SalvageIndex, if check is true, we're only supposed to check for
    consistency and not actually change anything (this is enforced by an
    assert later on). The check for vnode magic consistency breaks this
    assumption, and just always fixes the vnode.
    
    Change this so we just error out if check is set, and the vnode magic
    is wrong.
    
    Change-Id: I9e2d3bd5e9e340a9b2ac66d70d52aa110b512561
    Reviewed-on: http://gerrit.openafs.org/3756
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 14f5466eeea8cc088d64c6f270c05be457a01cfe
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 25 13:32:38 2011 -0500

    MacOS: fix SetFile call in growlagent makefile
    
    somehow this got corrupted earlier. fix it to use the right arg.
    
    Change-Id: Ic597412819a9186d7b4b0b0c7e93e7c75b9a979a
    Reviewed-on: http://gerrit.openafs.org/3755
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5fe04739e0407079a0439f28c6aaaa86d5399e71
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Dec 2 00:36:58 2010 -0500

    Windows: cm_GiveUpAllCallBacksAllServersMulti()
    
    Implement a multi_RXAFS_GiveUpAllCallBacks version of
    cm_GiveUpAllCallBacksAllServers() and use it in place of
    the non-multi version.
    
    Change-Id: I6d630ab7a5cf3a3434d088a9e8cde046b541cd3f
    Reviewed-on: http://gerrit.openafs.org/3648
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4f838b03bbf9ea0e1ede8a188ea6dde3efb4e231
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Jan 23 14:29:51 2011 +0000

    Windows: fix parameters and return value from nt_seek
    
    SetFilePointerEx takes specific values
    (FILE_BEGIN/FILE_CURRENT/FILE_END) whilse fseek requires SEEK_SET,
    SEK_END, SEEK_CUR.  It turns out that these overlap, but we should
    not let that pass unchallenged.
    
    SetFilePointerEx returns nonzero for success zero for failure. fseek
    returns the other way around.
    
    Neither of these changes currently matter, but we should fix them.
    
    Change-Id: Ib31cf6265fa1e714232ff0d2e099c657e41f17e9
    Reviewed-on: http://gerrit.openafs.org/3746
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6d2636b886789f2ddc6374c6b7e58ccd28d518aa
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Jan 23 10:59:28 2011 +0000

    Windows: read and write take void* buffers, open takes a const char*
    
    nt_read and nt_write were defined to take a char* buffer which was
    then cast to a void *.  Meantime every call of OS_READ and
    OS_WRITE were casting to a char*.
    
    Equally every call of OS_OPEN was passing down a const char*,
    causing warnings.
    
    This checkin fixes this:
     nt_read : char* to void*
     nt_write: char* to const void*
     nt_open char*  to const char*
    
    Change-Id: Id4e138b9d347e1a9f35241e162a105d5f462b168
    Reviewed-on: http://gerrit.openafs.org/3744
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 42c5806599c1df65ee8ec1272f691df30ea44d4c
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 24 00:38:03 2011 -0700

    OpenBSD: Eliminate complaint about built-in malloc.
    
    With OpenBSD 4.8, OpenBSD now uses gcc 4. With its new
    defaults, the OpenAFS compile of the kernel module now
    complains incessantly about the conflict between the
    built-in malloc versus the kernel version (which has
    extra parameters). Therefore, set -fno-builtin-malloc
    when compiling the kernel module to remove the noise
    since the differences can't be reconciled otherwise.
    
    Change-Id: I7e28e6275ca90f73a8d1f65d82f1ccf2cc3a0ead
    Reviewed-on: http://gerrit.openafs.org/3751
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e1b0a95352e2e6aa312a526ffcc8a2f77a8fb7df
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 24 00:34:56 2011 -0700

    OpenBSD: Remove user.h from dir.c for OpenBSD 4.8
    
    OpenBSD 4.8 no longer needs to include h/user.h in dir.c
    and it's presence now gets in the way of the compile so
    remove it.
    
    Change-Id: Ie270f94db69f344c5c1a3942db395dbe3a47d5e9
    Reviewed-on: http://gerrit.openafs.org/3750
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e4660dd8cfb314971224dac5d1d13426d56494dd
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 24 00:17:46 2011 -0700

    OpenBSD: curproc has moved in OpenBSD 4.8
    
    With OpenBSD 4.8, curproc has moved from h/proc.h to
    h/systm.h. Fix rx_event.c to reflect this change.
    
    Change-Id: I38d4676d445bfafa47f2ae973d789d0b9f6a687a
    Reviewed-on: http://gerrit.openafs.org/3749
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit be0e9fb703d9ca0ae17f1117cd53796f82d7fb30
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Jan 24 00:16:02 2011 -0700

    OpenBSD: Add support for OpenBSD 4.8
    
    Add param headers and other config info for OpenBSD 4.8
    support.
    
    Change-Id: I3af37dd79260d29bb7f3793c9a965bb84faab31f
    Reviewed-on: http://gerrit.openafs.org/3748
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 40497fa667d15aaaa8f6befdc45cff40cc544616
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Jan 23 14:32:04 2011 +0000

    Windows: remove unused label in ntops.c
    
    The label 'retry' in nt_open is not used and was causing a warning.  Remove it.
    
    Change-Id: I964d954e4f9cdb672c689a6e757a5f62bea8f65c
    Reviewed-on: http://gerrit.openafs.org/3747
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ffb0cdcc91d86f6e7b62561aebe6dcb722c3d768
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sun Jan 23 12:04:59 2011 +0000

    Windows: remove faulty assumptions about device names in vol-salvage
    
    The implementation has an assumption that all disk volumes have an
    object name of \Device\HarddiskXXX (where XXX is a number).  This is
    wrong since the name is purely a convention and since about WXP they
    have been called \Device\HarddiskVolumeXXX.
    
    Either way it is spurious to assume the format and then try to compare
    the XXX.  This change just compares the strings.  This is done in a
    case insenstive manner which is the safer option.  It is quite
    feasible, but very unlikely that someone will uses 'case sensitively
    different' object names.
    
    Change-Id: Ifa91c88f2b17f747f30541b8833b722cf5993e48
    Reviewed-on: http://gerrit.openafs.org/3745
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f60bca943f7bc6352a5f7beedbb7ca47559f3513
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 21 20:13:45 2011 -0500

    Windows: more exports afsauthent.dll
    
    pr_SIdToName
    afsconf_GetExtendedCellInfo
    afsconf_UpToDate
    
    required for new Explorer Shell functionality
    
    Change-Id: I085d32b9786d9bf26d527cc3dd49c2d51ab1cb56
    Reviewed-on: http://gerrit.openafs.org/3739
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stefan Kueng <tortoisesvn@gmail.com>
    Tested-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit de7af90fb8a1a132fb44fcc3d732fb593a45f6db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 22 12:15:03 2011 -0500

    Windows: log and invalidate invalid dir pages
    
    If when parsing a directory page in cm_ApplyDir the consistency
    checks fail, log a message and invalidate the page in case
    it was a transient failure.
    
    Change-Id: Iab690cd876a717fbdef30fb78e4ed559fa7e0a5a
    Reviewed-on: http://gerrit.openafs.org/3742
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cd6bd75d1c97ce87ab1597d80fcd3cee2ea18825
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Fri Jan 21 09:25:22 2011 -0700

    OpenBSD: Make OpenBSD 4.7 param headers consistent
    
    OpenBSD follows the policy of using a separate common
    param file (post 1.4.x). However, when introducing support
    for i386 OpenBSD 4.7, this was not done and a single param
    config header file was created instead. This patch changes
    the param files for OpenBSD 4.7 so that they are
    consistent with the other OpenBSD versions by using a
    separate common param header file.
    
    Change-Id: I9d828d2447a2d018eeea0fbe9f4c047ac819d209
    Reviewed-on: http://gerrit.openafs.org/3725
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5fdc2679dc973fa45bf4b3bc7f21a527492868db
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:15:18 2011 -0500

    vol: fix CreateFile params nt_unlink and nt_open
    
    nt_unlink: when opening a file handle to assign delete on close
    status the caller must request DELETE permission.
    
    nt_open: make sure that DELETE permission along with FILE_SHARE_DELETE
    is requested if we wish to permit another CreateFile call in the future
    to assign delete on close.
    
    Change-Id: Ib971ecc098dbc5eb64dcbfed93c334397c9d8ac9
    Reviewed-on: http://gerrit.openafs.org/3711
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d6528628b4dcadce47bb1a9244768ca3d43b0bf3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:19:03 2011 -0500

    vol: namei_ops improve readability; fix namei_create on Windows
    
    use NAMEI_SPECDIRC, NAMEI_INODESPECIAL, INVALID_FD and other
    preprocessor symbols in place of numeric constants.
    
    namei_create() on Windows must call namei_CreateDataDirectories()
    and retry if the afs_open() call fails with either ENOTDIR or
    ENOENT.
    
    modify namei_HandleToName() on Windows to make its decision
    process clearer.
    
    Change-Id: Ib1dfbaa3afe81f57685c95cdcae749c67cc95598
    Reviewed-on: http://gerrit.openafs.org/3712
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit eb6f3a89a3f4da6d3de2d4ae34743014e4eb0fb2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:06:12 2011 -0500

    vol: add comment nt_unlink cannot with fopen handles
    
    On Windows, files opened via the CRT fopen or open
    POSIX compatibility functions cannot be marked for delete
    on close.  Add a comment until such time as the use of
    fopen and open on Windows can be replaced.
    
    Change-Id: I9cec46bef332c981b2f64ba85e310783e3c71bc9
    Reviewed-on: http://gerrit.openafs.org/3707
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>

commit 55ca096adbaf0256c2a21d28060cbc667cf6b69e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:03:56 2011 -0500

    vol: remove potential data loss warnings in vol-salvage.c
    
    afs_sfsize_t is not always the same size as 'int'.
    Avoid warnings by using afs_sfsize_t in the appropriate locations.
    
    Change-Id: I88f7458421c3a9c2081597e5481d352bd5a2927a
    Reviewed-on: http://gerrit.openafs.org/3706
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>

commit 01fc5d0577409c889ca5ad6f3bc1d624138922bc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:01:38 2011 -0500

    vol: use correct file name base for temporary file
    
    Inconsistent use of temporary file name bases resulted in
    the temporary files never being deleted.
    
    Change-Id: I0be59282488bb2db0f1b7b5200df5bd6ac285711
    Reviewed-on: http://gerrit.openafs.org/3705
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 089a3f5e8b0b00942cd0ccff5be7b4f671fcbf82
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:59:46 2011 -0500

    vol: use OS_UNLINK instead of unlink
    
    Use OS_UNLINK in order to ensure that platform specific
    unlink functions are called.  OS_UNLINK is unlink on Unix.
    
    Change-Id: Idcfc18345abe5532e9ebe97fc757d6f435c2af52
    Reviewed-on: http://gerrit.openafs.org/3704
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 141aca818ef9e5a6af309edc9512cc5cfee38e90
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:56:33 2011 -0500

    vol: fix namei_ListAFSSubDirs on Windows
    
    The directory level represented by 'dirp2' does not exist on
    Windows.  Do not attempt to close the DIR object that was
    never opened.
    
    Remove unnecessary function prototypes.
    
    Change-Id: Ib6b27e52f0120115173cb04893092ba6f2da32fe
    Reviewed-on: http://gerrit.openafs.org/3703
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 259a0e886a29874420010544e33a789cac1692c1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:51:26 2011 -0500

    vol: use OS_DIRSEP in many more places
    
    For consistency use OS_DIRSEP and OS_DIRSEPC throughout the
    package.
    
    Change-Id: I7bb93b4fe7324492e71a6d303e2b74723aaefc5a
    Reviewed-on: http://gerrit.openafs.org/3702
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 8bb5e291777a0439c7a15262bdbc70d8bd9cc4a6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:45:29 2011 -0500

    vol: fix _namei_examine_reg DELETE_ZLC usage
    
    replace 'i' with 'dirl' and assign the new variable a value
    before using it.
    
    Change-Id: Ia93b6c75154b6f2a9238f0e9c2881d6c79c36540
    Reviewed-on: http://gerrit.openafs.org/3701
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 270e5c01784f6459dd3d1dec81b714a6d7f2baea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:39:11 2011 -0500

    vol: make it clearer that SetOGM is not impl on Windows
    
    Separate the SetOGM function into two implementations to
    match the other OGM functions.  Implement the Windows version
    as returning -1 always.
    
    In the future, the OGM functions could be renamed to express
    their purpose: saving and restoring the volume id and tag
    associated with a file.   Windows currently encodes this
    information using the CreationDate and the file name but
    in the future this information might be stored in an alternate
    data stream.
    
    Change-Id: I7e60cceb4548b7ad3a1e045f390e7052fece4926
    Reviewed-on: http://gerrit.openafs.org/3700
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 959a892afcc1f33871489912a8ea183fc7fca6c2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:35:08 2011 -0500

    vol: avoid double dir separators from addtoname
    
    The manner in which addtoname() is used can often result
    in double dir separators in path names.  Check for it and
    avoid doubling the separator in addtoname()
    
    Change-Id: Ie33459bec3bcc93f81f13020cd35ed8c473b6ca5
    Reviewed-on: http://gerrit.openafs.org/3699
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9e689e96099dba5227e62ea2c6069062daaac85a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:23:37 2011 -0500

    vol: clear ih_synced before dropping lock
    
    in ih_reallyclose() clear ihP->ih_synced before dropped
    the IH_LOCK.  ih_reallyclose() is already committed to
    performing the OS_SYNC() call.  Failing to clear the ih_synced
    flag before dropping the lock permits another thread, the ih_sync_all()
    thread for example, to also conclude that it must sync the
    file.
    
    Change-Id: Icb928f7d2ec2342a57ed21b440ae0580c980e9d2
    Reviewed-on: http://gerrit.openafs.org/3696
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6f39035c92713b08065bee28ffdf06c5fe32a971
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 19 22:56:12 2011 -0500

    MacOS: don't allow krb5 at login when AD plugin authenticates
    
    if AD is being used to verify authentication (e.g. via builtin)
    don't allow get krb5 at login to succeed. since a helper does this we can't
    grey the option, but we can decline to act on it.
    
    Change-Id: I1f2bb891377c3ed9765f9e58141c77ec54d3ae22
    Reviewed-on: http://gerrit.openafs.org/3690
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 53dcb4a56ee690df8cc787e0cf1557d1484be13e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:14:14 2011 -0500

    vol: nt_DriveToDev must return a value
    
    Change-Id: I27cf468e9d61542f9893367a18c2f7dd6854cdf6
    Reviewed-on: http://gerrit.openafs.org/3710
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1ad22ed7e14d1ed643add0dbf80c82b96ae69fc8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:11:57 2011 -0500

    vol: nt_open should not create missing directories
    
    Revert the prior change that added directory creation
    to nt_open().  nt_open() should fail and the caller should
    create the directories.  Failure to do so results in an
    incomplete tree which confuses the salvager.
    
    Change-Id: Ieb2a05baada2531dad1869e95823fe2006bdc2c6
    Reviewed-on: http://gerrit.openafs.org/3709
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3c25ae062a30c83f6dfb388f31878555d6cb63d7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 02:09:44 2011 -0500

    vol: Make ntops functions 64-bit capable
    
    Add 64-bit offset and length support to ntops functions.
    
    Change-Id: I1804d49df344839598c39084b7763cec4100c8c7
    Reviewed-on: http://gerrit.openafs.org/3708
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 48508a202129be6e56beaec56314cc13d68d69f5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:33:27 2011 -0500

    vol: avoid defining unused struct on windows
    
    namei_ogm_t is not used on Windows.  There is no equivalent
    to owner/group mode.
    
    Change-Id: Ib0675f106bf5e77b006ebe5eae5d67ee232313e0
    Reviewed-on: http://gerrit.openafs.org/3698
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5184261cde260f1aaf67a7cb2fea1b9ba3a4b2b0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:31:41 2011 -0500

    vol: indent cpp definitions; add NAMEI_SPECDIRC
    
    Change-Id: Id6d962a7c9e78f6a4b4bb7a6250e77efd40cc3c4
    Reviewed-on: http://gerrit.openafs.org/3697
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fe9285f77a680b6e6d0995166f3c384aac676a8c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 01:20:05 2011 -0500

    vol: remove [UN]LOCKFILE data loss warnings on Windows
    
    Cast to DWORD since the results of the mask and shift
    are guaranteed to be 32-bit.  This avoids sixteen warnings.
    
    Change-Id: Ifdb9356e207b4b8791b5923985a70efeb457edb1
    Reviewed-on: http://gerrit.openafs.org/3695
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6bf5f463c7957e71e15f6b98cdb3afb24f2fbe6a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 20 00:57:03 2011 -0500

    Windows: build mtafsdir.lib and use it
    
    The executables built in src/vol are pthreaded.  Therefore, they
    require a pthread safe version of the src/dir objects.  Instead
    of building the dir object files in yet another directory, create
    a mtafsdir.lib in src/dir and use it in src/vol, src/tviced and
    src/tsalvaged.
    
    Change-Id: I50017bd56ec741af1ff3fc1dd39208e610369088
    Reviewed-on: http://gerrit.openafs.org/3693
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bc674908ca5100a0734069a019d9a31788dd52fb
Author: Toby Burress <kurin@delete.org>
Date:   Wed Jan 19 23:32:01 2011 -0500

    FreeBSD: properly identify the rxk_Listener so that msleep() returns
    
    afs_osi_Wakeup() was not being called with the proper argument,
    causing afs_osi_Sleep() to fail forever while waiting for rxk_Listener
    to wake up.
    
    Change-Id: I1b650c57ae507987359d0cb230400d3d23984cfa
    Reviewed-on: http://gerrit.openafs.org/3692
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 02a1eb4aae5e8df97fbb6dbcb9845e37195a7dbd
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 16:06:03 2011 -0700

    OpenBSD: Change code optimization setting
    
    Change the optimization level set when optimization is
    enabled during build from the sytem default of '-O' to
    '-O2' for OpenBSD systems.
    
    Change-Id: I20962c124da5426409638453e1efdd37b4e5f393
    Reviewed-on: http://gerrit.openafs.org/3689
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b932375ecca3fefc1190a8d23d5c24ae538cfae
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 15:57:25 2011 -0700

    Move check for unspecified CFLAGS in configure.ac
    
    configure.ac provides a check to see if the user has
    specified CFLAGS and if not, it sets CFLAGS to a blank
    (not NULL) string so that the resultant configure script
    does not set '-g' and/or '-O2' by default. This check
    occurs after AC_USE_SYSTEM_EXTENSIONS in the configure.ac
    file. However, on at least some systems, such as OpenBSD,
    AC_USE_SYSTEM_EXTENSIONS expands to include the code that
    configure uses to set '-g -O2' so the check has no effect
    and '-g' or '-O2' can not be turned off. This patch moves
    the "CFLAGS specified" check so that it precedes the
    AC_USE_SYSTEM_EXTENSIONS directive, in which case
    everything works.
    
    Change-Id: I68ed5a3c5129a55f7dcd7413c93f35cc7cb14b9c
    Reviewed-on: http://gerrit.openafs.org/3688
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a5441776b639cd32c2271917dd55fa491f9e512f
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 14:14:47 2011 -0700

    OpenBSD: No ruid/rgid in cred structure.
    
    OpenBSD does not retain ruid or rgid values in the
    afs_creds_t structure (ucred). This patch, therefore,
    removes any references to them in the afs.h file. Since
    no attempt is made to actually use the removed code (or
    macros) on OpenBSD, at least at this time, this does
    not result in any real functional change.
    
    Change-Id: Iaceb792f0c39ba6f7caa205bc66af16a23193549
    Reviewed-on: http://gerrit.openafs.org/3687
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 646a6a41698da45550a3cb899f104d9e3e548ea4
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 13:43:21 2011 -0700

    OpenBSD: Don't call non-existent routines in osi_vfsops.c
    
    The OpenBSD version of osi_vfsops.c makes calls to routines
    that do not exist in the system and aren't needed. In the
    past, these calls were wrappered by an #ifdef for
    AFS_DISCON_ENV which was never defined. That #ifdef is now
    gone so this patch removes the calls to these routines,
    which are remnants of the NBSD origins for this particular
    code.
    
    Change-Id: I8cc97fde8cd5cf6c241dd3074c0f97b5d3e2ccfd
    Reviewed-on: http://gerrit.openafs.org/3686
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 5ff6c88fcc0c35843e91dc45e4bd297efd0d4445
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 13:30:24 2011 -0700

    OpenBSD: Fix parameters in call to afs_close()
    
    OpenBSD passes an extra parameter in a call to afs_close()
    in its OS-specific code. It went undetected in the past
    but now causes compile headaches because of more accurate
    prototypes in the header file. This patch removes the
    offending extra parameter (which never actually caused any
    problems because it was the last one in the parameter list).
    
    Change-Id: I6bde0c6c98867c47a574fa5e3e01ec560deb17b0
    Reviewed-on: http://gerrit.openafs.org/3685
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d8e3392b77d72f6d05b94fa9c48813ceed5980d
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 13:13:09 2011 -0700

    OpenBSD: Install no-NFS version of libafs
    
    The build process for OpenBSD builds the no-NFS version of
    the kernel module but, at install time, the NFS version is
    subseuquently built and installed while the no-NFS version
    is ignored. The NFS version does not load and is not needed
    in OpenBSD so this patch makes sure that the no-NFS version
    is installed and used.
    
    Change-Id: I1d07334121911c22aea1f6d157f34e1b40e5b780
    Reviewed-on: http://gerrit.openafs.org/3684
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9743a644adb37230eae3b11ad3e4a1e8e7a1ebce
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 19 14:58:59 2011 -0500

    MacOS: panic decoder should check for unloaded kexts
    
    if the openafs kext was unloaded from under us, try to handle that.
    
    Change-Id: I6a5e56da3c4b6290b71dd10e919a0f374998338e
    Reviewed-on: http://gerrit.openafs.org/3683
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d5367b5f1494ca2cf09f62d7f2ffa6304e38a648
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 11:52:10 2011 -0700

    OpenBSD: Fix use of macros for AFS_KALLOC/AFS_KFREE
    
    The macro definitions for AFS_KALLOC and AFS_KFREE used by
    afs_osi_alloc.c to perform OS-specific memory allocation
    are only defined by the OpenBSD osi_machdep.h header file
    if they already exist, which means: never. This patch fixes
    this situtation and makes sure that afs_osi_alloc.c
    actually uses them, eliminating a direct OS-specific call
    in afs_osi_alloc.c.
    
    Change-Id: Ida1608774de3bc5861b223574f3cbf0d9647266c
    Reviewed-on: http://gerrit.openafs.org/3682
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1c7420422313375f7132479c588f09eabac73c70
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Jan 19 11:20:21 2011 -0700

    OpenBSD: Remove macros definitions for afs_osi_Alloc et al.
    
    The afs_osi_Alloc, afs_osi_Free, etc. routines are now
    defined in afs_osi_alloc.c so the macro definitions defined
    by osi_machdep.h for OpenBSD are no longer needed and, in
    fact, interfere with the compile. Remove them.
    
    Change-Id: I98a261b5cd5e44136e4dde677f86d90212b0cfba
    Reviewed-on: http://gerrit.openafs.org/3681
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 26f0ddd0cd3c7c34880e8717d59ee1d653036455
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 16 16:42:15 2011 -0500

    volser: select() cannot be used to sleep on windows
    
    On Windows must use Sleep() instead of select() with no
    fd_set parameters.
    
    Change-Id: I693718c74dd9be0b4eb58ec26afac0882845e71c
    Reviewed-on: http://gerrit.openafs.org/3675
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>

commit 8895fe0fab04d49f8c2b279d915c5f292b55c2be
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 16 15:49:02 2011 -0500

    Windows: refactor cm_CheckCBExpiration multihomed
    
    cm_CheckCBExpiration() is refactored to make it easier
    to read the decision process.  cm_CheckCBExpiration()
    determines when a callback is no longer usable and as a
    result the object status info should be discarded.
    
    The windows cache manager preserves status info past
    callback expiration if all of the sources of a volume
    became inaccessible prior to the callback expiration
    time.  The cache manager was improperly preserving the
    status info for objects when the callback was issued by
    a multi-homed file server when only the interface that
    issued the callback is down.
    
    A separate cm_server_t object is used to represent
    each file server interface.  When one interface goes
    down and others are left up, the cache manager will
    now replace the down cm_server_t reference for one that
    is up.  This substitution is performed as a side effect
    of computing the effective downTime in cm_CBServersDownTime().
    
    Change-Id: Ia6336a3bdd0219497fd47460accddd0cd2629f00
    Reviewed-on: http://gerrit.openafs.org/3674
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f25cbdf09ff890846a68f619ccb1d00ab2b3c7a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 14 00:22:39 2011 -0500

    Windows: use cm_ServerEqual() in cm_Analyze()
    
    In cm_Analyze() when processing VNOVOL, VMOVED or VOFFLINE errors
    do not use pointer equivalence as the test to determine if a
    server is affected by the error.  Use cm_ServerEqual() instead.
    
    Fix cm_ServerEqual() to work even when both cm_server_t objects
    are not UUID aware.
    
    Change-Id: Icb83ba77984075216a44cdeba689bc05e98ed92a
    Reviewed-on: http://gerrit.openafs.org/3659
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7c0d4b331e8d1f962aae5328490944182311a569
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Jan 18 14:56:17 2011 +0100

    Re-enable rx connection hard timeout
    
    A missing "conn->" in rxi_CheckCall prevents checking hard connection timeouts.
    
    Change-Id: I893a1ba71957e2a830029dfc4e3ac51fa461d6ca
    Reviewed-on: http://gerrit.openafs.org/3677
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 802899aac022ab537159f3cd4435d072b5edc4be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 17 12:35:46 2011 -0600

    vol: Windows requires binary fmode for salvaged
    
    Same as 98f633c60d20834cee0bbc0770a3146b06642a59, but for the
    salvageserver.
    
    Change-Id: I961e31fd6a2a6e08e3bd4381793195bb1e388e7c
    Reviewed-on: http://gerrit.openafs.org/3676
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 038264b4d62803bd71ac0d7706b56b7f18f31dca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:49:54 2011 -0500

    vol: use OS_UNLINK() instead of unlink()
    
    OS_UNLINK provides the platform specific mechanism
    for unlinking objects.
    
    Change-Id: Id0a1f50e57fe3c21c46e137e86507bf28bafa046
    Reviewed-on: http://gerrit.openafs.org/3670
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a65ea91e2a6ab3870fe2e9e1a17c82e2a62c2910
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:54:40 2011 -0500

    vol: construct proper VolDir path on Windows
    
    namei_HandleToInodeDir initializes the path name with
    the nt_drive value.  Therefore calling addtoname(name, name->n_drive)
    produces the invalid path "D:\D:\\Vol_.....".  Remove the unnecessary
    addtoname() call.
    
    Change-Id: I4933d3f4fda76050eecde3caeaa6bc30011cd974
    Reviewed-on: http://gerrit.openafs.org/3672
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit bae39a9aa3738878708f4c67d17750beca4d6dca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:52:45 2011 -0500

    vol: fdHandleAllocateChunk should init all fields
    
    fdHandleAllocateChunk() failed to initialize the fd_ihnext
    and fd_ihprev fields.
    
    Change-Id: I605b6fc3c4cefe6e5c4169762fbd6047fb895b70
    Reviewed-on: http://gerrit.openafs.org/3671
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 47e2149335066883450cb2a751bd057dcd1af79d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:47:47 2011 -0500

    vol: use OS_DIRSEP when constructing paths
    
    Do not assume that / is the directory separator when constructing
    paths for internal consumption or log messages.  Use OS_DIRSEP
    or OS_DIRSEPC as appropriate.
    
    Change-Id: Ifed618dfa30f2aee27de1ef57de5e504d6701d4d
    Reviewed-on: http://gerrit.openafs.org/3669
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ecf55b063e7c9bbbac426831dfe504c1db92bb52
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:44:08 2011 -0500

    volser: use OS_CLOSE() instead of close()
    
    Use OS_CLOSE() instead of close() when closing vol package
    allocated file descriptors.  On Windows, close() != nt_close().
    
    Change-Id: I5737c0e4e83534bd5f4183dde195c4b8091474c1
    Reviewed-on: http://gerrit.openafs.org/3668
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 05d5f012e0be9be1c2c82871a75ac76d437b9688
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:39:39 2011 -0500

    vol: initialize FdHandle_t stack objects
    
    In namei_create() a temporary FdHandle_t is allocated on
    the stack but was never initialized.  Depending on what
    prior data was on the stack the FdHandle_t could result
    in subsequent operations failing in unpredictable ways.
    
    Change-Id: I6246930adc87cf84ad9c0913cda2d00e6f851bc1
    Reviewed-on: http://gerrit.openafs.org/3667
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 714b3ffb2258b316621415c2e81372dc48b4119d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:07:19 2011 -0500

    vol: Fix ntops to provide expected semantics
    
    nt_open() can be asked to open a file with a path containing
    directory components that do not yet exist.  Modify nt_open()
    to automatically create directories if necessary.
    
    nt_read() and nt_pread() should not treat partial reads due
    to reaching EOF as an error.  Instead, return the bytes read.
    
    Change-Id: If088393a842d6f6d7ad901345e94e92d23f2321c
    Reviewed-on: http://gerrit.openafs.org/3666
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 98f633c60d20834cee0bbc0770a3146b06642a59
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:04:48 2011 -0500

    vol: Windows requires binary fmode for salvager
    
    In order for salvager to work properly it must read and
    write data in binary mode.  On Windows, this is accomplished
    by calling _set_fmode(_O_BINARY) to set the default mode for
    fopen(), etc.
    
    Change-Id: Ieb00222ceccb6f044453b60d288e2badf713e517
    Reviewed-on: http://gerrit.openafs.org/3665
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e8e69d5b2c611df249fd613ed068fc030a0e30d1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 15 11:01:55 2011 -0500

    vol: fix OS_LOCKFILE/OS_UNLOCKFILE for Windows
    
    On UNIX the OS_LOCKFILE and OS_UNLOCKFILE macros return zero
    on success.  Since Windows LockFile() and UnlockFile() return
    non-zero (TRUE) on success, negate the return value as part
    of the macro definition.
    
    Change-Id: Icb4c8555de9a16fdfddcaeb9ede28bbd401e76b7
    Reviewed-on: http://gerrit.openafs.org/3664
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ac79869f62d667737ea0020218eb4dc90a731171
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 14 15:13:46 2011 -0600

    RX: Pre-10 Solaris lacks atomic inc/dec
    
    The atomic primitives in Solaris before Solaris 10 lack atomic_inc_32
    &co. Make things easier and just implement them in terms of
    atomic_add_32 &co when we are older than Solaris 10.
    
    Change-Id: I70c829ef969824efd7843df80bd48e98477a5574
    Reviewed-on: http://gerrit.openafs.org/3663
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9cc9b0d618ba1c787a8a684077c1d2f205b8889c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 14 14:52:10 2011 -0600

    RX: Include netinet/ip6.h before inet/ip.h
    
    Some older Solaris (at least some Solaris 8) requires netinet/ip6.h to
    be included before inet/ip.h, or the compiler chokes on some
    ipv6-related declarations in inet/ip.h. So, include it.
    
    Change-Id: Icabc32c093fab5e3442701b2ea6ae593d7fceb7e
    Reviewed-on: http://gerrit.openafs.org/3662
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2045653647fc2de451c9615f18316416de7e1657
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 14 14:00:14 2011 -0600

    merge-pod: Be more compatible with older perl
    
    merge-pod works fine with perl 5.00503, if we eliminate the 3-argument
    invocation of open(). So, replace the open() calls with their
    2-argument equivalent, and relax the version requirement a bit.
    
    Change-Id: Ibeda39f2620ab1056e2d42838833d140ec3c053f
    Reviewed-on: http://gerrit.openafs.org/3661
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3c91f1d88165dca085a26b87f2c0148e84e179d2
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Jan 13 20:16:44 2011 -0500

    FBSD: remove vestiges of Giant
    
    We do not support versions of FreeBSD that used Giant to
    serialize access to vnode fields, and we always use the same locking
    (which really ought to be MPSAFE).  Always set the MPSAFE flags
    as needed, and do not bother to call VFS_[UN]LOCK_GIANT which
    will never do anything for us.
    
    Change-Id: I973a24d43563f289d4a2baa6e067fbba72d17ed9
    Reviewed-on: http://gerrit.openafs.org/3656
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a61a719d35cd6008f35c4f5cb8aaa83453d1d8c1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 14 00:15:10 2011 -0500

    Windows: fixup gettmpdir()
    
    Use InterlockedCompareExchangePointer for hostparse()
    instead of fudging it and leaking memory.
    
    If the max path length is MAX_PATH must allocate MAX_PATH+1.
    
    Change-Id: I9162188c78922202b40859249736a23beae60b3e
    Reviewed-on: http://gerrit.openafs.org/3658
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e50cab06c4a5dad37b27f411dfd511130567726d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 14 00:13:49 2011 -0500

    Windows: osilog param size is size_t
    
    The parameter size is size_t which permits pointers to be stored
    on 32-bit and 64-bit systems.  Make sure we store it as size_t
    instead of truncating to long.
    
    Change-Id: I96aaf231eedef742095edf247dc1013e3d90257e
    Reviewed-on: http://gerrit.openafs.org/3657
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fa3584a48f646f5384f0950d9a560226ac3a3460
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 10 17:13:15 2011 -0600

    RX: No userspace atomic_ops in Solaris pre-10
    
    The atomic_ops(3C) family of functions do not exist in userspace
    before Solaris 10. So, only use them for rx_atomic operations if
    we're on AFS_SUN510_ENV, or if we're in the kernel.
    
    Also, include <sys/atomic.h> for kernel code and <atomic.h> for
    userspace. Although they are currently equivalent, they are documented
    as separate, and pre-10 lacks <atomic.h>.
    
    Change-Id: Id71857efcd6460f8223302850b548754c19d076f
    Reviewed-on: http://gerrit.openafs.org/3652
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6edcb1830480ef55d9dcb8a3b4735c30d802cbe4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 12 16:45:57 2011 -0500

    afsd: CellItems doesn't apply to memcache mode
    
    avoid a potential panic from passing a bogus path into the kernel for
    evaluation, in memcache mode.
    
    Change-Id: Iaa11eded2e8946207f7df9e77c3de1e5ff4f963e
    Reviewed-on: http://gerrit.openafs.org/3651
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d03eef7217be8f0b72f34ab023e69c976dea84d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 12 10:29:46 2011 -0600

    SOLARIS: Include sys/varargs.h for kernel stdarg
    
    When compiling for the kernel, pre-10 Solaris seems to want
    <sys/varargs.h> instead of <stdarg.h>, as documented in the Solaris
    man pages. So include <sys/varargs.h> instead of <stdarg.h> where we
    need variable arguments (afs_warn.c).
    
    Change-Id: Id16453b1f7bb9f42d0cc9ca504ac64d04fb0b684
    Reviewed-on: http://gerrit.openafs.org/3653
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8c541079573274d726180d3d9679c6a26cda84ea
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jan 10 21:31:18 2011 -0500

    Cache bypass: fix use of incorrect "states"
    
    Test and set the correct field for cache bypass flags.  There was
    some confusion between cachingStates and the states associated with
    vcache entries in a few places.
    
    Change-Id: Iae957b6f838a44d75776e49662b4aba685800d19
    Reviewed-on: http://gerrit.openafs.org/3637
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 336256c7a0e7d54495a070895c9d8c2057168839
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 10 12:11:22 2011 -0600

    LINUX: afs_linux_put_link is void
    
    The put_link callback doesn't return a value, so declare it as such.
    
    Change-Id: Icdc19de48747fdfbd3349b2ef0c2b51d5a369550
    Reviewed-on: http://gerrit.openafs.org/3636
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8d157961e96ec6b504ea40dcef51fb4a8d61d371
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Sat Jan 8 17:13:27 2011 +0100

    rpm: don't package files twice
    
    The LICENSE and two manpages were included in the main
    package as well as one of the others. Remove duplicate entries.
    
    Change-Id: I7626d758a65fe305f18e7cc9099d1fe1b4f86c6f
    Reviewed-on: http://gerrit.openafs.org/3628
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 60322b46755d0bfedc239e3e9287f6ae625cd836
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 7 20:48:18 2011 -0500

    git-version: Do not specify --ignore-submodules
    
    Only new git versions reognize the --ignore-submodules option to
    diff-index and diff-files. Do not pass this, to make git-version more
    likely to work across different versions, as we don't have any
    submodules in the tree anyway.
    
    Change-Id: Ic9dbd9ec5f332f36cec291fc3d324db14615f831
    Reviewed-on: http://gerrit.openafs.org/3627
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9f584e811486da7129a61da554fae09029b0de67
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 8 12:21:23 2011 -0500

    Windows: refactor buf_Get() to improve readability
    
    Refactor buf_Get() by using a switch() instead of a jumble
    of if() conditionals.
    
    Improve comments to make it clear that given the current
    use and implementation of cm_BufRead() from cm_dcache.c
    that created buffer pages will never be populated with
    actual data.
    
    Change-Id: Ib3f5778ae32f210127537e16ecc32e1598dbefc7
    Reviewed-on: http://gerrit.openafs.org/3630
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f58b17a6150f8d303b408f9eed27bf0e850ec580
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 8 12:19:07 2011 -0500

    Windows: remove all refs to unused buf_GetNew()
    
    Change-Id: I09b87a2042efff1b5930ebe6e50a64379d592bc2
    Reviewed-on: http://gerrit.openafs.org/3629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f0c08ad93bf98fbe64d5714649d675712410cc9
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Oct 13 01:16:25 2010 -0400

    provide more verbose logging when VGetVolumeByVp_r fails
    
    FSYNC_com_VolOff() commits sepuku when VGetVolumeByVp_r() fails to return
    a heavyweight ref to the volume.  This small patch provides more detailed
    debugging information so we have a better idea why VGetVolumeByVp_r failed.
    
    Change-Id: I9b8b6e734653701c4f35b458f4c4701a2b0d2d5e
    Reviewed-on: http://gerrit.openafs.org/2969
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9bb6b06c76802f8080c4c19b99efa7c6423f9021
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 4 11:18:25 2011 -0500

    Windows: remove unused vars from cm_server.c
    
    Change-Id: Ia2e1d5ecbc5dbc349ac8e7bfcb63b42545f876f5
    Reviewed-on: http://gerrit.openafs.org/3617
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3ab948769cae172d1bf16cb870f0ff2e7627bae6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 11:27:17 2010 -0400

    Windows: netidmgr_plugin move roken.h to afscred.h
    
    Due to historical issues with the MIT KFW headers
    the netidmgr plugin must define _USE_32BIT_TIME_T
    which alters the size of time_t in all C RTL data
    structures that include it.   roken.h must be included
    after this definition in order for it to do the right
    thing in conjunction with the MIT KFW headers.  This
    means that an exception to the rule that roken.h must
    be one of the first three files included in every
    source file in the tree must exist for this directory.
    In the netidmgr_plugin directory, afscred.h includes
    roken.h and afscred.h is the first header included
    in all other files.
    
    Change-Id: I11214e5eaac0144aaf04c3a21bb92d521d75c6e1
    Reviewed-on: http://gerrit.openafs.org/3616
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 605b7c3baaeb7553cb2e150f1156eba6be04c1f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 3 21:07:10 2011 -0500

    Windows: permit clean when switching platforms
    
    When switching between i386 and amd64 in the same build tree
    the "clean" make directive would fail due to NTLang.bat not
    having been built in the new platform's destination directory.
    Force NTLang.bat to be built as a dependency of cleanup and
    delete it at the end along with the version files.
    
    Change-Id: I49a44204c636ab9ad89be44d4fad20ed6050fdda
    Reviewed-on: http://gerrit.openafs.org/3615
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit bf163cbebfec97b83c070d22fed1eabf7a2da629
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jan 3 10:47:30 2011 +0000

    roken: Check for bswap16 and bswap32 defines
    
    Our imported roken.h provides definitions for bswap16 and bswap32,
    but configure doesn't check to see if those functions already exist.
    On operating systems where they do, and where the header containing
    them is included in our build, this results in compilation errors.
    
    Add a configure test for bswap16 and bswap32, which is complicated
    by the fact that they may be macros, or static inline functions, so
    a simple CHECK_FUNCS won't work.
    
    Change-Id: Iae3411bf4bb22af8cfd770e01026a28e1863e078
    Reviewed-on: http://gerrit.openafs.org/3613
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 735f5b051521d047b18bef867042f59dc006098e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 12:53:07 2010 +0100

    Unix CM: Don't blow up if we have non-rxkad tokens
    
    The legacy GetToken compatibility code assumed that we would always
    have at least one rxkad token for a cell, and segfaulted if we didn't.
    
    Just return as if we have no tokens if a cell doesn't have an rxkad
    token.
    
    Change-Id: Ica64882c1a64cf140ad6c277c70fbfb747ea6235
    Reviewed-on: http://gerrit.openafs.org/3614
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c8fc94fb86255a2c5cbd1613b33e32ec3a4d3b21
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Jan 3 10:40:56 2011 +0000

    autoconf: Tidy up header includes
    
    Tidy up our list of header includes so it's easier to see what
    we're testing for. The list is now one-per-line, in alphabetically
    sorted order.
    
    Note that this won't affect our use of the default include set, as
    autoconf will already have tested for all of those before it starts
    this CHECK_HEADERS run.
    
    Change-Id: Iffc8c3bc7cbd56d87508ebdde38e61f8747d0501
    Reviewed-on: http://gerrit.openafs.org/3612
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a0adc8cd6ef62deaef8c2861f8a94f23a007fc81
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 30 16:30:37 2010 +0000

    auth: Move key related code to its own file
    
    Move all of the libauth code which does KeyFile management out
    into its own file, in preparation for a major rewrite.
    
    Change-Id: Id880136307cba726c04a003700ba70f3d74b297f
    Reviewed-on: http://gerrit.openafs.org/3611
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cfee25cdc885a5ad669b206ab4e96fa09d1c19a6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 30 17:52:00 2010 +0000

    libadmin: Don't use internal struct for key data
    
    The afsconf_dir structure should be regarded as private to the libauth
    library, which provides accessors for the commonly used parameters
    within it. Rework libadmin so that it uses those accessors when looking
    up key data.
    
    Change-Id: I9a623ccadba95622894931ee25319d3bcb019136
    Reviewed-on: http://gerrit.openafs.org/3608
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e0efb936ffd012308e30e96c461cf720c2bd3bf0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 30 17:56:36 2010 +0000

    tests: Add more tests for auth KeyFile handling
    
    Add tests to make sure that we serialise updated KeyFiles to and
    from disk correctly, and that the restriction on 8 keys in a KeyFile
    is enforced by AddKey
    
    Change-Id: Iac5bf7157534879824da92ea58f1515672d59298
    Reviewed-on: http://gerrit.openafs.org/3610
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4d7a0615d838ac687f352f60690f60c4f97ae846
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 30 17:53:59 2010 +0000

    roken: Export more snprintf symbols
    
    Export more of the snprintf symbols from librokenafs, so that we
    can actually make use of them.
    
    Change-Id: Ida347c516bec6444d26d0e148ffd781999f0b364
    Reviewed-on: http://gerrit.openafs.org/3609
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 13ae3de3f6ce5de2395823ee5f862a863caf2e51
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 10:01:14 2010 +0000

    Add "brief" option to rxgen
    
    Add a new -b option to rxgen that turns on "brief" output. This makes a
    number of changes to the data definitions produced by rxgen so they can
    be more easily used by the calling code.
    
    The changes are:
       *) Use the new struct rx_opaque structure for all opaque data
          definitions, rather than defining each as a unique structure.
          This permits moving opaque data between rxgen structures to be
          performed by simple assignment.
       *) Use anonymous structures for internal definitions. Currently
          rxgen also uses the field name as the structure name, which
          prevents the use of a field name more than once within a
          source file.
       *) Don't embed the structure name within the names of the elements
          within the structure. This significantly reduces the length of
          assignment code, and makes for more readable callers.
    
    Change-Id: I8cad7e6051f12238a77cf006b0854fb38b54f61a
    Reviewed-on: http://gerrit.openafs.org/2585
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b114faf52f3af0debadc1f045be6212084a70305
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 16 11:36:43 2010 +0000

    rx: Implement rx_atomic_dec_and_read
    
    Add a function which decrements an atomic counter, and returns the
    result. This is essential for implementing reference counting.
    
    Change-Id: Ib173f078bcf117369a82f981d58124018648a71c
    Reviewed-on: http://gerrit.openafs.org/3581
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 50b1c161e8bed6ad3625b4156dc6481c77ecd866
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 16 11:35:54 2010 +0000

    rx: Protect rx_atomic.h against multiple inclusion
    
    Add #ifdef guards so that rx_atomic.h can't be included in the same
    C file multiple times.
    
    Change-Id: Ic62287ce4a21b9efbfd9530e2517029a69217a56
    Reviewed-on: http://gerrit.openafs.org/3580
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 1879e1bce21918cecaee505656664be0fb6b8bce
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jan 1 23:58:20 2011 +0000

    auth: Don't crash if UserList contains bogus line
    
    If the first line of the UserList was bogus (caused ParseLine to
    return an error), then we would attempt to free the contents of
    an uninitialised identity structure, and crash. Initialise the
    structure so this no longer happens.
    
    Change-Id: I55074a5eb616ac48d8a278db2d8389d3b0e112a6
    Reviewed-on: http://gerrit.openafs.org/3607
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a7fb4262597c07ca5da9709df75a2007b92b222b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jan 1 23:51:18 2011 +0000

    rx: Don't crash when emptying an empty identity
    
    In common with our other freeContents functions, freeing the contents
    of a structure which is already empty shouldn't crash.
    
    Change-Id: I93b54c0e450d2184c10575b50dadfd1471d43289
    Reviewed-on: http://gerrit.openafs.org/3606
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 616763cd077fab807da21590bd9ad3b0b02ea844
Author: Vincent Archer <archer@frmug.org>
Date:   Thu Dec 30 11:34:28 2010 -0500

    Windows: MIT license applies to parsemode()
    
    Vincent Archer grants permission to OpenAFS to re-license
    his MINIX contributions under the MIT license.  A copy of the
    e-mail granting permission is located in OpenAFS RT issue 128805.
    
    FIXES 128805
    
    Change-Id: I59774d14a0099f5a48dbc9dbf13157136b8c681f
    Reviewed-on: http://gerrit.openafs.org/3605
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b6576d8cb554af50dfe7b6d9b668bd35ff202a83
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 29 11:35:17 2010 -0500

    Windows: buf_CleanAsync scp->fid == bp->fid
    
    If buf_CleanAsync or buf_CleanAsyncLocked are called
    with a non-NULL cm_scache_t parameter, that status object's
    fid must be the same as the associated cm_buf_t object.
    If not, the wrong locks will be held.
    
    If the cm_scache_t parameter is NULL and cm_FindSCache()
    returns NULL, it means that the cm_scache_t object associated
    with the bp->fid has been flushed from the cache.  cm_GetSCache()
    must therefore be called to allocate a new status object for the
    FID.  If the status object cannot be allocated, then any dirty
    data stored in the buffer will be discarded.
    
    Change-Id: Ie5d4eb8a1090d4b3c0753b7ddee2de0799485a2e
    Reviewed-on: http://gerrit.openafs.org/3604
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4e3207335771b78ff27a1f1c0755cdfcf78d7f30
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 28 14:39:47 2010 -0500

    Windows: fs checkserver skip multi-homed up server
    
    Multi-homed file servers can be detected by comparing the
    uuid for the cm_server_t entries.  If a server has at least
    one up interface, do not list it as being down in the "fs checkserver"
    response list.
    
    Change-Id: I718eeee3316d05a33a4af97ca6c7fd947db41f44
    Reviewed-on: http://gerrit.openafs.org/3603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e4b59c633962d7784485f8e2d4185edaf91bf23d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 22 23:23:48 2010 -0500

    Windows: fs checkservers should list vldb as well
    
    The Windows fs checkservers has only listed offline
    file servers.  Include vldb as well to match the Unix
    cache manager.
    
    Change-Id: I81b8e4a1a813fcd8f19e3dc58c75ef161795518c
    Reviewed-on: http://gerrit.openafs.org/3602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 463b045b9fe4a412877c2a65f5deafb1442c1bf1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 27 19:34:14 2010 -0500

    vos: do not mix memory allocation methods
    
    ListVLDB mixed memory allocated with xdr_alloc() and memory
    allocated with malloc().  This is not safe to do since it is
    possible on some platforms for xdr_alloc() to allocated memory
    using a method other than the malloc() linked to the vos
    executable.
    
    Instead of stealing the xdr_alloc()'d buffer, allocate a new
    buffer and copy the contents.
    
    Change-Id: Icdda3d4d0b7c15464fe7f48123f3e0ebed4c2cc5
    Reviewed-on: http://gerrit.openafs.org/3600
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8e9fff9ed8d773e4a22730d485c0617c456bb0e0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 27 17:57:59 2010 -0500

    Windows: cleanup preprocessor definition namespace
    
    Do not use reserved preprocessor symbol names.  Instead
    use OPENAFS_<PATH>_<HEADER>_H formatted names where <PATH>
    is the subdirectory path from src/ in which the header
    file originates in the repository.
    
    Change-Id: I998d7feeddeb9660f3fc514e2ba752c54e402a24
    Reviewed-on: http://gerrit.openafs.org/3599
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 683747b9c4b3d9d77fb8c68df09a59807d027a42
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 24 13:36:51 2010 -0500

    Windows: separate parsemode from fs into own file
    
    Separate parsemode() from fs.c into parsemode.c.
    
    Restructure the function prototypes and the fs.h header
    to permit building fs.exe from multiple source files.
    
    Change-Id: I80840899706fd585addd165edc13a9e79928427a
    Reviewed-on: http://gerrit.openafs.org/3591
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a7836dda8c1aab18c937c7e8909d4d9a678a53fa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Dec 24 10:06:05 2010 -0500

    vos: free ubulkentries with xdr_free
    
    Instead of using free() to free the ubulkentries data structure
    use xdr_free().
    
    Change-Id: I367e984d1777fcc8a3ec81b501174fae2fd0c8ff
    Reviewed-on: http://gerrit.openafs.org/3590
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9f17cef3d3614d79b3ab2dc6807f9d0f928ab6db
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Dec 27 20:29:48 2010 +0000

    tests: Add tests for afsconf_'s key functions
    
    Add tests for all of the public functions that afsconf exports
    to manipulate KeyFiles. Include a sample Keyfile to start with, to
    ensure that we can continue to read KeyFiles produced by current
    versions of the code.
    
    These tests are here to catch regressions with a forthcoming rewrite
    of KeyFile handling.
    
    Change-Id: I02aaff82aa7e1b7a73981c7cf26a81164e0dd932
    Reviewed-on: http://gerrit.openafs.org/3598
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8992210f27671673a89a541776aa105238ad14cf
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Dec 26 14:54:43 2010 +0000

    Don't trust # of entries from ListAttributes
    
    ListAttributes returns the number of entries in its array as an RPC
    argument. But, we can't trust this, as it could be manipulated and
    end up pointing past the end of the returned array (which is counted,
    so the entries argument is actually pointless).
    
    Add bounds checking to the functions which use this value to prevent
    this problem.
    
    Change-Id: I62398d8f6b5c54318c1a42f1bad67a21c90ef944
    Reviewed-on: http://gerrit.openafs.org/3597
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 95ef4cfd394345ed4c1f7902fa9dc198dcbec938
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 21 21:40:19 2010 -0500

    Remove extra trailing \s in Makefiles
    
    Remove a few extra trailing \s in Makefiles in viced and bozo. Some
    'make's (such as the make on HP-UX) interpret this to e.g. include the
    following "headers=" stuff to be included in LIBS, which obviously
    causes problems.
    
    Change-Id: I7a49ce5b8d40636bb3b4fe7978aa25b5411c7eed
    Reviewed-on: http://gerrit.openafs.org/3575
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 02a2f6005042b9370350bdc03d4aab83355b205d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Dec 26 14:14:38 2010 +0000

    volser: Fix broken bulk conversion
    
    The converstions between the original, N and U bulk list return
    values were all broken in various ways:
    
    1/ Shifting from malloc to xdr_alloc() (in 4f1efdc8b73ed)
       subtly changed the behaviour when handling an empty list. The
       correct XDR representation of an empty list is {0, NULL}, not
       {0, &memZero}. Fix the code so that if the source list is empty,
       an empty destination list is returned.
    2/ The destination list length was never being filled in. This means
       that xdr_free() could not be safely used on this list, as the wrong
       length would be passed to the allocator. Fill in the destination
       list length as part of the conversion.
    3/ xdr_free(...) is a no-op when called with an empty list - there's
       no need to check before calling it. Remove these checks to improve
       the code's readability.
    4/ xdr_free(...) should only be called when the RPC returned
       sucessfully. The stub is responsible for freeing data should the call
       fail mid way through unmarshalling.
    5/ Where an RPC returns the number of entries independently of the
       length of a counted array, it is unsafe to use that length to
       iterate the array without checking that it is within the array
       bounds. Instead, just use the array length when performing
       conversions.
    
    Change-Id: Ied9a77849062e5a1e506f13d4d90d116cefe41e4
    Reviewed-on: http://gerrit.openafs.org/3596
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 3503f32848ab3fcb0df5a0b40518106bf19cee6e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Dec 26 14:00:42 2010 +0000

    vos: Abstract out bulk list conversion
    
    Pull the various segments of code that do bulk list conversion into
    their own functions. This is purely code reorganisation at this point,
    fixes for these functions will follow in subsequent patches.
    
    Change-Id: I941e94aaf776ece85f041d02f5bdbaad5cf5b129
    Reviewed-on: http://gerrit.openafs.org/3595
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit b3c3fe137ed89f698fdd0a12e68582141d216548
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 22 10:46:11 2010 -0500

    Link hcrypto before roken
    
    We must e.g. -lafshcrypto before we -lrokenafs, since stuff in hcrypto
    can use functions provided by roken (such as ct_memcmp or
    rk_cloexec_file). Fix any users of LIB_hcrypto that do not do this to
    put LIB_roken after LIB_hcrypto.
    
    Change-Id: I55f5589a521ed7da7a6692d817e94f18076ff4bc
    Reviewed-on: http://gerrit.openafs.org/3584
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 676a4efc232bc77fe20e46c2dbe45e89f89cd670
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Dec 24 10:53:22 2010 -0800

    Update NEWS for 1.5.78 and 1.6.0pre1
    
    Based on the release notes.  Add an entry for 1.6.0 with in progress
    instead of a date to hold the release notes for 1.6.0pre1 rather than
    creating separate entries for each release candidate.  Users who track
    the release candidates can refer to the public announcements, and this
    will be cleaner when reading history later on.
    
    Change-Id: I8d14dd0ec030e3d047f1d2e85c888c1d86e7f3c0
    Reviewed-on: http://gerrit.openafs.org/3592
    Tested-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 83ac1558b6cc8245166d997a44297eb197348616
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Dec 24 18:32:30 2010 +0000

    auth: Add more tests and resulting fixes to userok
    
    Add tests for the functions afsconf_SuperUser() and
    afsconf_SuperIdentity(). These had been missing tests because testing
    them requires starting a client and a server, so amend the superuser-t
    tests so that they can start up a simple server.
    
    Fix a number of problems that the tests expose, with setting (and
    freeing) identities in corner cases.
    
    Change-Id: I29f5f9eda7f532c98183d588e488d704f8efad88
    Reviewed-on: http://gerrit.openafs.org/3593
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit affc978be7ba3c36c9b7a6a94fb5e907beebed99
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 23 13:20:42 2010 -0500

    DAFS: listvol + unsalvagable volumes = intolerable delay
    
    a non- inService volume (or more) plus vos listvol equals pain.
    return Salvaging instead of waiting for it in the listvol case.
    
    Change-Id: I02bdbb6448bcf56e97db9324aa723cc753a37632
    Reviewed-on: http://gerrit.openafs.org/3588
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 651f66b0ffed08da82b352e3e252a03b8b13c780
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 22 09:46:48 2010 -0500

    Prefer libHcurses over libcurses
    
    Use the HP-UX-specific libHcurses instead of libcurses, like we used
    to. Otherwise we fail to link some gtx programs.
    
    Change-Id: I7b8a012d5d263c611a144e05466c5435b5ff310a
    Reviewed-on: http://gerrit.openafs.org/3583
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1bc23299720fc57dfefbb588f1f3de0ec792e069
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 22 00:02:45 2010 -0500

    HPUX: Put __HP_CURSES back in
    
    We need __HP_CURSES to be defined in order to get the _maxx WINDOW*
    field among other things. Define it on HPUX again (it was taken out as
    part of 4a6a00d6f45bd0ac94e2eb05adee41552073643a).
    
    Change-Id: I3a17f270a034d97eea04580b8eae98a1784b5640
    Reviewed-on: http://gerrit.openafs.org/3582
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e9e52ebc465d06bbb40bbee2d86b6a93efb44c24
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Dec 16 10:46:43 2010 +0000

    rx: Make rx_atomic.h a shared header
    
    Copy rx_atomic.h into the shared header directory so that it can be
    used by other modules within the AFS build. Note that we can't actually
    install this header onto the system (and it cannot be included by
    headers which are installed) because it uses autoconf defines to control
    its behaviour.
    
    Change-Id: If543f998faa0608b4f7efab90db31f072f9e9981
    Reviewed-on: http://gerrit.openafs.org/3579
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c845670469b3f988e96cb7854e46974407447457
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 21 09:08:03 2010 -0500

    LWP: kill dead code
    
    the pthreads-wrapper LWP doesn't currently compile. it will need
    to be revisited if we ever care. remove it (as well as a bit of other
    unused code)
    
    Change-Id: I61e7bc493127ec49347ca02b24db8fa79e4cbb28
    Reviewed-on: http://gerrit.openafs.org/3564
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5d218831f3186d0d1dc7d3b00dd4a3b6a4a8757c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 20 16:36:42 2010 -0500

    LWP: don't copy pid to a null pointer
    
    In LWP_CreateProcess we take a pid. if it's null, don't crash.
    
    Change-Id: I2a491788f5ce23a094e65192164838d5bbfc4b31
    Reviewed-on: http://gerrit.openafs.org/3556
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fa4b1f3aeb33c28b2d8e2724542d1696fcc87773
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 21 10:31:39 2010 -0500

    LINUX: Avoid unnecessary afs_ShakeLooseVCaches
    
    Before some of the NewVCache refactoring, we only called
    afs_ShakeLooseVCaches when afs_vcount was over (or equal to)
    afs_maxvcount. Do this again, so we only try to shake loose vcaches
    when we need more vcaches. Otherwise, we will call
    afs_ShakeLooseVCaches every single time we want a new vcache when
    dynamic vcaches are disabled (such as 2.4 Linux), and we log a warning
    when we can't free any (which is likely when there are only 1 or 2
    vcaches in use).
    
    FIXES 128756
    
    Change-Id: Ia06f76a6f719e69881b91fb2d975cfc33c85c370
    Reviewed-on: http://gerrit.openafs.org/3569
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2ce159fbf474b96ecd2a4224751d4655230bba51
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 3 17:20:54 2010 -0600

    LINUX: Reduce stack depth on recursive symlink res
    
    Instead of calling vfs_follow_link inside afs_linux_follow_link
    ourselves, we can just resolve the next step of the symlink resolution
    and set the result in nd_set_link(), freeing the string in
    .put_link().
    
    For kernels without a usable symlink text cache, this reduces call
    depth when resolving a path containing many symlinks by two frames per
    layer of indirection, allowing for more deeply-nested symlink paths to
    be usable.
    
    Change-Id: I6886c3b67089c8028fd6ad93ab10eb9173bd6fbe
    Reviewed-on: http://gerrit.openafs.org/3433
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 64e564b29e95898a6eb85dc527d046aab241fb8f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 20 17:29:37 2010 -0500

    Cache bypass: remove ifdefs under src/afs/LINUX24
    
    Same as commit 9657695d34badaac654227be8c731a1512f2106b, but for
    LINUX24. Remove the AFS_CACHE_BYPASS references in LINUX24, since it
    is always enabled. Also remove messages about a "cache bypass patched
    module".
    
    Change-Id: I79526ed78752a4c3da7123e5af1c5eb6afc19fe3
    Reviewed-on: http://gerrit.openafs.org/3568
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 468ff8e4d298baba9c2d4f96d1a3ec12cf64d0c7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 21 09:17:38 2010 -0500

    DARWIN: replace resource merge script ref with binary
    
    Ro is a helper tool; use Rez directly
    
    Change-Id: I7b3f8105344960a149d7fa0ee1fbb3a332486a04
    Reviewed-on: http://gerrit.openafs.org/3565
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0ef3ce2006b81f590c62a51b7ec903ebff24b9c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 21 08:58:31 2010 -0500

    DARWIN: make growlagent build not run afoul of ._ fun
    
    in some cases a git checkout would promptly merge the ._ file away,
    meaning a subsequent build would fail. just use the developer tools
    to set an icon instead of clever tricks.
    
    Change-Id: I34290f0f32cb7ae72a298a7af1ed4bd6a8ef9224
    Reviewed-on: http://gerrit.openafs.org/3563
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9de81541aadd179aac6daa1c64b6a9cfda158b81
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 21 08:57:05 2010 -0500

    DARWIN: make ARCHFLAGS propagate to shlibs
    
    in order that configure not expand ARCHFLAGS (so we can override from
    shell) escape the variable.
    
    Change-Id: I9d5c3f4cc58c66be7ffefbd134ba476673be6ea8
    Reviewed-on: http://gerrit.openafs.org/3562
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1cb3607ff66b7fc6201fab2af57761156b1927f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Dec 19 19:33:28 2010 -0500

    FBSD7: Don't sleep with the glock
    
    On FreeBSD 7.X, vinvalbuf() can (will) sleep; this results in a panic
    when the kernel is configured with WITNESS and we hold the glock around
    it.
    Drop the glock in this case.
    
    Change-Id: I0036aad3059805d77afe9aa9bf7f5d421d6810f8
    Reviewed-on: http://gerrit.openafs.org/3551
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6040a4daa0b04085f18a8e232a1a99dc7cc36cf5
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Dec 18 23:52:44 2010 -0500

    Bring FBSD 7.X client back to life
    
    Having been untested for quite some time, we had several
    places that needed more conditionals to compile on FreeBSD 7.
    
    Now we compile and start on 7.3-RELEASE, but have locking issues
    under actual use.
    
    It seems that we are also incompatible with the Heimdal 0.6.3 in
    the base system -- aklog is unable to actually obtain the needed
    credential when compiled against that kerberos implementation;
    using MIT krb5 1.6.3 from ports works without incident.
    
    FIXES 128612
    
    Change-Id: I831cea711067d04dc276deb171faf3369c55b775
    Reviewed-on: http://gerrit.openafs.org/3548
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 28032bc1c1aaa4c25e94025a8fa9e2b4e8131ce3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Dec 19 00:06:13 2010 -0500

    FBSD: StopListener glocking fixup
    
    afs_osi_Sleep requires the glock (so that it can sleep on it); we
    dropped the glock earlier in osi_StopListener because soshutdown and
    soclose can sleep, but we must (unconditionally!) acquire it for our
    loop waiting on rxk_ListenerPid.
    
    Change-Id: I38c3ab6689a6af7f1693bd3c8348068ee280e530
    Reviewed-on: http://gerrit.openafs.org/3549
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ad0b390ec5303576cee37fa49bfd2a732b365a83
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 20 11:05:46 2010 -0500

    LINUX24: Define afs_linux_can_bypass
    
    We call afs_linux_can_bypass, so make sure it exists.
    
    Change-Id: Ie4393cc57af1a52748b76d3403370fbd788d9f8a
    Reviewed-on: http://gerrit.openafs.org/3554
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6f65ace58d2c50313e307204c0e4a6408483a211
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 20 10:07:11 2010 -0500

    LINUX24: Include linux/pagemap.h
    
    For 2.4 Linux we need to include linux/pagemap.h, otherwise we get
    undeclared references to KM_USER0 and PAGE_CACHE_SIZE.
    
    Change-Id: I1bd6c6484a9b46f923fa31d1d45fbfedc243abbd
    Reviewed-on: http://gerrit.openafs.org/3553
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4f89d4ad348f1b20b9f27e8985fa09eafb6212e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 20 16:24:26 2010 -0500

    backup: pass in valid dummy pid for LWP
    
    LWP_CreateProcess needs memory passed in; instead of a null pointer,
    pass in a pointer to a PROCESS.
    
    Change-Id: I451d803461252e3afb5d89b840a1ee047228d204
    Reviewed-on: http://gerrit.openafs.org/3555
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37c20528df26a43ec81b8e0f7658f1516d3c1b39
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Dec 19 19:29:17 2010 -0500

    Zero rx_multi_lock before initializing it
    
    FreeBSD's kernel debugging facilities will panic if it detects
    an attempt to re-initialize an already-initialized lock, as detected
    through some particular bits being nonzero.  Zero everything out
    before starting, to prevent this panic.
    
    Change-Id: I7f3abae978d1cbe7eb4908d90c52a0dc46b81e08
    Reviewed-on: http://gerrit.openafs.org/3550
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    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>

commit afef1712f28a1c83cfb732d1c4fde7faec4811fc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 18 18:39:07 2010 -0500

    Windows: fs chmod and display mode in fs examine
    
    Make use of the new pioctl VIOC_GETUNIXMODE and VIOC_SETUNIXMODE
    operations to display the current mode in fs examine and permit
    setting the mode with "fs chmod".   The mode string parsing makes
    use of Vincent Archer's code from Minix.  The required copyright
    statement and license is attached to parsemode().
    
    afsconfig-windows.h gains definitions for various mode symbols
    that are not defined by Visual Studio runtime headers.
    
    Change-Id: I624f73154b7f177f93289e2641da5d9478ea931c
    Reviewed-on: http://gerrit.openafs.org/3546
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit bb4c0234b2fa5ae91097b6c40cbfda6ed7484eb0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 20 09:59:43 2010 -0500

    Windows: clear mountPointStringp on status change
    
    If the data version of the cm_scache_t changes, we must clear
    the mountPointString.  Otherwise, if the object is a mountpoint
    or symlink, cm_HandleLink() will not attempt to build the new
    target string.   The Windows CM never updates the contents of
    a mountpoint or symlink.  It always destroys the old and creates
    a new one.  However, the Unix CM simply updates the link data.
    Apparently, the Windows clients have never noticed.
    
    Change-Id: If2297ed0a323411df13b7828d11dbb653669d351
    Reviewed-on: http://gerrit.openafs.org/3552
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 27469e59b134efef6c908a1bfa8162d4bf9b8275
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 18 18:36:18 2010 -0500

    Windows: Add VIOC_GETUNIXMODE and VIOC_SETUNIXMODE
    
    Add pioctls to get and set the UNIX mode bits for an
    object in AFS.
    
    Change-Id: I220047d8be50b5db511e41004b8248859f479c0c
    Reviewed-on: http://gerrit.openafs.org/3545
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 16dac6d4a6c9b19588daf6f11fa33940a381e23c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 18 18:27:49 2010 -0500

    Fix fallback processing for ktc_GetTokenEx()
    
    The fallback processing after ktc_GetToken() generates
    a token set or fails.  Immediately return 'code' to the
    caller after freeing ktcToken.
    
    Change-Id: If82c5c94b75152eaa4d077b428238e8f77478d05
    Reviewed-on: http://gerrit.openafs.org/3544
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f32a0df37be23fd87fa24187bbdd6a1ec73a2b27
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 17 21:16:52 2010 -0500

    darwin: fix fixed setpag error handling
    
    looks like testing 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3
    failed to have the right dependencies. fixing the fix!
    
    Change-Id: Ib295e819667c895bfe52c4d5b217ebbeaf1e4c52
    Reviewed-on: http://gerrit.openafs.org/3542
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98c6aadfa1c438fc9ae2cc47ddec739d0c7a8b8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 15 05:22:26 2010 -0500

    macos nfs translator vnode ref fix
    
    code won't trigger today but we might as well get it right.
    we already ref the vnode. don't leak refs.
    
    Change-Id: Ib2aa87ffbb8c6bbd38d8858328d26f1a37cf04b9
    Reviewed-on: http://gerrit.openafs.org/3532
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1519144f83925d82117f31ce0872f77660f197ee
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Nov 6 03:03:19 2010 -0400

    Linux: Fix AFS_NORETURN violation with osi_AssertFailK
    
    Commit d86f0c44d3c5910a6b54895484dc0286eac9bc73 changed the
    AFS_LINUX26_ENV implementation of osi_AssertFailK so that it returns,
    contradicting its AFS_NORETURN prototype, in an effort to make the
    following BUG() display the right line number.  To fix this, move the
    returning implementation into its only caller, the osi_Assert macro.
    
    This fixes possible compiler misoptimizations due to
    
    rx_kcommon.c:255:1: warning: ‘noreturn’ function does return
    
    Change-Id: Ibbcc630037002ce4659e2e6a36b39d271f9bdc58
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3276
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit acfc61eca83ecc895e51ae512c1919e7997a560e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 11:26:51 2010 +0100

    opr: Add new queue implementation
    
    Add a new queue implementation for OpenAFS. This has a similar calling
    form as the current RX queue implementation, but is implementated using
    type safe functions, and supports structures with multiple queue
    headers. This permits threading a structure onto multiple queues at the
    same time.
    
    The eventual intention is that this queue implementation will replace
    both rx_queue and the Unix cache manager afs_q.
    
    Change-Id: I8f815872b017a85eb52a6e6451cdcee3eb869519
    Reviewed-on: http://gerrit.openafs.org/3139
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e8d8a2240a57f9f4a11ee45b60c229d3f8447b86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 1 15:22:30 2010 -0500

    refactor afs_CheckServers
    
    basically, we need the ability to reuse this function, so, let's make it work
    differently so we can.
    
    Change-Id: I41a7e1dc62feeb137f1a7f5c939f54cb59cc6c13
    Reviewed-on: http://gerrit.openafs.org/3403
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4e00fc6f0e412f438f2f72f8b427c21810d00109
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 8 18:16:14 2010 -0600

    Add ioctl-based AFS calls for Solaris 11
    
    Switch from using syscall-based AFS calls to ioctl-based AFS calls,
    since syscall 65 was repurposed in some kernels in Solaris 11 and
    OpenSolaris. Update the provided afs init script to accomodate the
    additional steps needing for starting the AFS client.
    
    Partially based off of some work by Derrick Brashear.
    
    Change-Id: If694af8ac576856fed113851f1be4154b4d970d3
    Reviewed-on: http://gerrit.openafs.org/3498
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8815f5099129a4aa303bdda3adaea831914e98e5
Author: GCO Public CellServDB <cellservdb@grand.central.org>
Date:   Mon Dec 13 10:53:05 2010 -0500

    CellServDB update 13 Dec 2010
    
    Change-Id: Ic3c96d99656f50da82243385cb7f9bcdf78f12e4
    Reviewed-on: http://gerrit.openafs.org/3503
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f8400699a881eb4f675cba1fbcd7f7ac6eecd355
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 11 23:28:02 2010 -0500

    Windows: log error code for smb lan thread fail
    
    When creation of the smb_LanAdapterChangeThread fails
    log the error code as part of the panic message.
    
    Change-Id: Iac034bdf2f04aed08cf77702c701882c31a10b36
    Reviewed-on: http://gerrit.openafs.org/3502
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6229ffb7ae365174ccacabe00d1e986d2f9b2019
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 11 06:19:54 2010 -0600

    Windows: PerformanceTuningInterval Merge error
    
    Due to a merge error, if RankServerInterval was set via the
    registry, its value would also be used for the
    PerformanceTuningInterval.  Fix it.
    
    Change-Id: I6605146db0c25ecbf0d20f9d7198934f5bf411ad
    Reviewed-on: http://gerrit.openafs.org/3500
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2cd0a1e4ff82349f8671783e40ea478096d69b56
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 10 14:43:24 2010 -0600

    Add afs init script for Solaris 11
    
    Change-Id: I978454a5d34aee412ec3e3d57a38859b1405e5fb
    Reviewed-on: http://gerrit.openafs.org/3499
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit f88c91f7778b9a8bf920dce08ccab76ac0b1b433
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 8 14:57:13 2010 -0600

    DAFS: Avoid logging harmless LEAVE_OFF failures
    
    The DAFS volserver can create temporary destroyMe volumes, which it
    then tells the fileserver to keep offline with an FSYNC_VOL_LEAVE_OFF
    message. When the fileserver doesn't know that the volume exists,
    currently it responds with SYNC_DENIED, which causes the volserver to
    log the error with a "negative response on circuit FSSYNC" message.
    
    These are harmless, though, since leaving a volume offline that the
    fileserver does not know about is a no-op. So return the SYNC_FAILED
    code instead, which does not get logged, and is more consistent with
    some other FSYNC handlers like FSYNC_VOL_DONE.
    
    Change-Id: I315d091fb419767ae33c1846d90e5ef83372477d
    Reviewed-on: http://gerrit.openafs.org/3494
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 95fc9ece507d3c5bd7914afadaaae9456eea9b7a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 8 12:41:44 2010 -0600

    DAFS: Fix VOL_QUERY_VOP error codes
    
    Volumes in the VOL_STATE_DELETED state effectively do not exist. So,
    when receiving an FSYNC_VOL_QUERY_VOP request for a volume, report
    FSYNC_UNKNOWN_VOLID for a volume in the VOL_STATE_DELETED state.
    Similarly, if the volume exists but on a different partition, we
    should return the FSYNC_WRONG_PART reason code.
    
    This allows volumes to be usable by the volume server in some corner
    cases. For example, when a volume X exists on partitions A and B, and
    the volserver deletes X on B. The fileserver then puts volume X in the
    DELETED state, allowing checkouts over fsync, but FSYNC_VOL_QUERY_VOP
    reports that no vop exists.
    
    With this change, FSYNC_VOL_QUERY_VOP will instead report that the
    volume does not exist, and so FSYNC_VerifyCheckout can succeed for
    such volumes.
    
    Change-Id: I6c4f7deead745ddba44963a9f66a9f2ef25686a5
    Reviewed-on: http://gerrit.openafs.org/3493
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9da7f3cc73bf990427a9dd80ba2bbbb618383ea3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 9 13:02:16 2010 -0600

    DARWIN: Fix setpag syscall error detection
    
    Darwin uses the same variable as the return value for
    ioctl_afs_syscall, and as the last 'out' parmater, so the return value
    for ioctl_afs_syscall will always overwrite whatever is written to the
    last 'out' parameter. Instead, record two different variables, and
    allow the returned error to overridte the error set as the last
    parameter.
    
    Change-Id: I7db1b226612c55c892810ce446b486b7e503529c
    Reviewed-on: http://gerrit.openafs.org/3497
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f46bba8611ceca7a6957b6aa9dee35990cae91f2
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sat Dec 4 09:09:59 2010 +0100

    Fix mech of building export on AIX
    
    Presently, the distinction between 32Bit and 64Bit AIX is done by
    inserting a "#" (comment-sign) into the Makefile.
    This fails on some AIX-installations. Thus, just use normal
    conditionals for distinguishing betwenn 32 and 64 bit.
    
    Change-Id: Ie83bbdcd3c7c4b7b0858c9691bf6e1bf6c4ba32a
    Reviewed-on: http://gerrit.openafs.org/3434
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b20329e01968d3562f78382b27f7de9948a96899
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 8 11:40:24 2010 -0600

    Fix AUD_HOST callers
    
    Servers using the AUD_HOST audit message should give the host IP in
    network-byte order, as that is how the auditing code interprets it.
    Fix the users of AUD_HOST that do not do so.
    
    Change-Id: Iaf6abec850e691febfa3e07bff368eab6fb71409
    Reviewed-on: http://gerrit.openafs.org/3492
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ddc4057ce786ebbe75b8b2c971b1013187062f1f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 7 13:49:47 2010 -0600

    tvolser: Link libafsrpc after libusd
    
    libusd can contain a reference to AssertionFailed, which is in
    libafsrpc. So link libafsrpc after libusd, so it gets resolved when
    building e.g. vos.
    
    Change-Id: I30140b5ede5afa2495f4c2b7b7edbbd878bf6dca
    Reviewed-on: http://gerrit.openafs.org/3477
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4dd9bc32a3846cd97a3b0f9cae5af049ae87dd0a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 7 13:31:36 2010 -0600

    auth: Return SuperUser identity for localauth
    
    The caller expects identity to be populated when we return 1. So for
    localauth, give it an identity. Don't set uname, and in fact, move the
    uname declaration so that it is clear that it's not used for most of
    this function.
    
    Change-Id: I4dcd466b25f578362290ed2fc65b5bd6e23a91e4
    Reviewed-on: http://gerrit.openafs.org/3475
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c1b71c4e7b4575d6a5b00214bc42a682fc7286eb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 7 16:04:11 2010 -0600

    auth: Move <NoAuth> to a named constant
    
    Add a #define for "<NoAuth>" and related values. Use them.
    
    Change-Id: I0e1d374403a0ad20be6a2839e37a5894b15446cd
    Reviewed-on: http://gerrit.openafs.org/3482
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3fd789dfbdc05c7c00798bc305d743deea05e155
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Wed Dec 8 01:21:16 2010 -0500

    rxi_NatKeepAliveEvent: Shrink excessive stack buffer
    
    Fixes
    rx.c:6138:1: warning: the frame size of 1600 bytes is larger than 1024 bytes
    
    Change-Id: I2f5b4961a7d929454a99ea99c637d1a0b2468a14
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3491
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7b7cd95ec0adc2c58b0387a5ff788251127f504e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 21:08:51 2010 -0500

    DAFS: make FSYNC_VOL_QUERY_VOP DAFS-only
    
    all the support code handles this only for DAFS. the
    case statement should treat as unknown if it is.
    
    Change-Id: I14816875b7a0b172d6f6fc9893cb0add90503111
    Reviewed-on: http://gerrit.openafs.org/3485
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fea0ee62ab854148a354c1aa9ebc5f042448210e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 20:43:55 2010 -0500

    DAFS: fix ifdef
    
    there's no DEMAND_ATTACH_ENV ifdef. don't use it.
    
    Change-Id: I2f6f9c57b187fcb514f318d977a15de1889f9055
    Reviewed-on: http://gerrit.openafs.org/3484
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 592a33a4787db88993a7bf9d8f5ad8c11a576b56
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 7 10:50:31 2010 -0600

    SOLARIS: Free vcache mappings on shutdown
    
    Right before shutdown, go through all of our vcaches and flush them,
    freeing any pages associated with the vcaches. If we don't do this,
    pages associated with our vcaches may still be around after we
    shutdown and the module is unloaded, causing a panic when the kernel
    tries to deference the page's vnode.
    
    Abstract out afs_freevfs() following the gafs_foo/afs_foo convention
    from the vnode ops, since we're calling this in two different places.
    
    Change-Id: I64b88799acce3a55648ec94b53ed63319cd04698
    Reviewed-on: http://gerrit.openafs.org/3472
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 6 23:24:18 2010 -0500

    modify FindIndex to compare uuids
    
    If FindIndex is provided a server address and entry has a valid
    uuid, obtain the uuid for 'server' and use that search for a
    matching entry.
    
    This modification is necessary in order to permit operations
    against multi-homed servers in split horizon DNS configurations.
    
    Change-Id: I8929c500eb4f71c8cf0aa8328bc3b3a0345368aa
    Reviewed-on: http://gerrit.openafs.org/3468
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 90199686e6c6cd74d81fa569faa7f68e76d808cd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 01:13:09 2010 -0500

    afsconf_SuperUser verify identity before use
    
    if we didn't get an identity back, don't try to use it.
    
    Change-Id: Iff6069b9231c3adc3f74cbf7fff4dffcfc289cd3
    Reviewed-on: http://gerrit.openafs.org/3471
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb02cfcdfb78ccb680b0c5fb753115e2375a1d9f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 6 23:23:01 2010 -0500

    Windows: partial impl of TokenEx functions
    
    No pioctl yet but implement enough so that GetTokenEx and
    ListTokensEx can provide results.
    
    Change-Id: I261f21db6e10502602aa0cb453b24632fdefd25c
    Reviewed-on: http://gerrit.openafs.org/3469
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f71219918e604a2909774e360cbfea9f9e3d9dcc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Dec 7 00:02:33 2010 -0500

    Windows: test for path in afs before symlink test
    
    Check that the path is in afs before testing to see
    if it is a symlink
    
    Change-Id: If22331595b675bf9347d832eca70edfc6d1d0365
    Reviewed-on: http://gerrit.openafs.org/3467
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ac1c4b30ba25ce49fdd18f37399a1194d934ab8e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 6 14:27:22 2010 -0600

    RX: Always define kernel XDR symbols to be AFS XDR
    
    Always define xdr_foo to afs_xdr_foo when we're in the kernel.
    Otherwise, we can get warnings that our xdr_foo symbols are colliding
    with the xdr_foo symbols from the kernel.
    
    Change-Id: I74b2cdd24f01734c2c36506bb5bab0b386d46094
    Reviewed-on: http://gerrit.openafs.org/3465
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1c45cc746e7484e72191fc8d010640692e90bc82
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 21 21:29:11 2010 -0500

    Remove unreached lines
    
    Fix some macros to eliminate unreached trailing empty statements (such
    as: "{code = foo; goto error;};"), and other oddities causing
    "statement not reached" warnings. Also eliminate a couple of code
    blocks that were never reached.
    
    Change-Id: Iac626976268e13f5ef05f379ad1c9b5437c57f86
    Reviewed-on: http://gerrit.openafs.org/3368
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 94591a635bdd23ba74298c64273d4688405aa370
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 6 16:11:24 2010 -0600

    vol_split: Recover from stream open failure
    
    Make sure we go through the error recovery code when we can't create a
    stream, instead of just returning without cleaning up.
    
    Change-Id: Ie3a5be9a81b36624a7d49958233c42e82a0e4bfa
    Reviewed-on: http://gerrit.openafs.org/3466
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8f7ae51c6145f4c284298a1dcc6efd5562246243
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 6 15:41:33 2010 -0600

    tubik: Link with libafsauthent
    
    libubik_pthread.a requires libafsauthent.a, since we make use of
    afsconf_* functions. Add libafsauthent to LIBS and make tubik depend
    on it.
    
    Remove linking to liblwp while we're here, as we should not be using
    any LWP code.
    
    Change-Id: Ie028fedfbc3e7a8a78dc69a2c38be99eb72602da
    Reviewed-on: http://gerrit.openafs.org/3464
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2a64776a50591323ba909fcbcaf39a2893e5238c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 6 13:29:31 2010 -0600

    roken: Export rk_daemon, not daemon
    
    We never export a function called 'daemon'. We only export a function
    called rk_daemon, and the define daemon to rk_daemon. So, only include
    rk_daemon in the map file, since that is the only symbol that will
    appear.
    
    Change-Id: Ib0f5ba88ba6d8bdefe3191050bc9e9e36f1b9134
    Reviewed-on: http://gerrit.openafs.org/3463
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6bcee8821fba5a3df593f0b93ae58fac8ed03070
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 6 12:46:06 2010 -0600

    SOLARIS: Fix some rx_atomic.h warnings
    
    Include atomic.h so we get atomic_* prototypes, pass atomic->var in
    rx_atomic_sub, and pass unsigned int*s to  the atomic_* functions.
    
    Change-Id: Ic8d745bc1726c850bd15d38702163e92587bb0a5
    Reviewed-on: http://gerrit.openafs.org/3462
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37817796c4890683a7e41ed0f3a2fa6a53e1edc7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 12 14:38:55 2010 -0500

    libafs: Set tvcp->callback before BulkStatus
    
    When we call InlineBulkStatus or BulkStatus, we currently do not touch
    tvcp->callback for any of the vcaches before making the call. This can
    cause us to not notice an InitCallBackState issued by the fileserver
    before the BulkStatus call returns, since the InitCallBackState
    handler looks at tvcp->callback to determine what vcaches to clear
    callbacks for. In turn, this can cause us to think we have a callback
    agreement with the fileserver on one of the BulkStatus'd files, when
    the fileserver does not actually have such a callback agreement.
    
    So, set tvcp->callback to the server we are contacting, so if we get
    an InitCallBackState call from that fileserver, the CBulkFetching
    state will be cleared, and we will correctly discard the callback
    information for that vcache.
    
    Change-Id: Ib8790c8f9621d7a9da12588ea6115f9cb3ff9022
    Reviewed-on: http://gerrit.openafs.org/2548
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 58837dbc56251cf640ad46273c534b71f4fc40e3
Author: Chaskiel Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Dec 6 12:43:12 2010 -0500

    linux: avoid leaking parent when revalidating and it is /afs
    
    we happily go to the "good dentry" path and exit, leaking the
    result of dget_parent, if parent is globalVp. Let's not
    
    Change-Id: I3848a1aa2611d17ba08e04b3f33f22623645d233
    Reviewed-on: http://gerrit.openafs.org/3448
    Reviewed-by: Chaskiel Grundman <cg2v@andrew.cmu.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a433f750ad7f0a3c0adbf4c5d6221b7517c0eedb
Author: Stefan Kueng <tortoisesvn@gmail.com>
Date:   Sun Dec 5 18:48:56 2010 +0100

    Windows: fix checked UNICODE build of talocale
    
    src/WINNT/talocale failed to build/link for checked builds. Fix it.
    
    Change-Id: I39eb1605f67afdbd0f4ad04bb7ec560501410fbe
    Reviewed-on: http://gerrit.openafs.org/3446
    Tested-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6fe9313180dfe1d509ae97a1e16a67195357cf7b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 4 18:03:21 2010 -0500

    Windows: Build afs_shl_ext.dll with talocaleU.lib
    
    Use the Unicode version of talocale to properly read
    resource strings.
    
    Change-Id: Ifb373a3b405922ecbdce4edb2ec86c31551d4dfa
    Reviewed-on: http://gerrit.openafs.org/3442
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3756fc78af48c5543c267b086fbd4872fea2e33c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 4 18:02:38 2010 -0500

    Windows: install afs_shl_ext icon files
    
    mount.ico and link.ico to dest\root.client\usr\vice\etc
    
    Change-Id: Ic66f3cef73170d9101b12695a12ec41cdca6c89a
    Reviewed-on: http://gerrit.openafs.org/3441
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1d7534fb95a8fb77d6b0f3fe0816094b36bde850
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 4 17:59:36 2010 -0500

    Windows: build a UNICODE version of talocale.lib
    
    Add src/WINNT/talocale_unicode that builds a UNICODE version
    of talocale, talocaleU.lib
    
    Change-Id: Iec343adbbab23fefa2dd9f474d23e593810552e9
    Reviewed-on: http://gerrit.openafs.org/3440
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 24a9ba4b829a871defea75ddf17fb621035ca008
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Dec 4 17:56:44 2010 -0500

    Windows: fix UNICODE build for talocale
    
    src/WINNT/talocale has not been built for UNICODE in a long time.
    Fix it.
    
    Change-Id: Ia8b182b711838e2d6592f9040d2173f5977f9cfd
    Reviewed-on: http://gerrit.openafs.org/3439
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3ff9c24c0e2d72dcce65fc7706dcdb1cd3090965
Author: Stefan Kueng <tortoisesvn@gmail.com>
Date:   Sat Dec 4 10:56:01 2010 +0100

    Windows: afs_shl_ext improve overlay handlers
    
    Add link.ico and mount.ico Windows icon files.
    Use these images as overlays instead of extracting an image
    from shell32.dll which is a bad idea.  See
    
    Change-Id: I624f959229a91329507aec5ff61045c49d296401
    http://blogs.msdn.com/b/oldnewthing/archive/2005/10/26/485133.aspx
    Reviewed-on: http://gerrit.openafs.org/3445
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 92183f4ac31f20862a992b8b3d52dcbe0ebb7eb9
Author: Stefan Kueng <tortoisesvn@gmail.com>
Date:   Fri Dec 3 22:58:54 2010 +0100

    Windows: afs_shl_ext Show icon mount point overlay
    
    Change-Id: I8feb71e41e423c5e7484998bdac8a913595db9c4
    Reviewed-on: http://gerrit.openafs.org/3444
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f8f8c0a48fbe086870a0cf35a62278c2b4ab743b
Author: Stefan Kueng <tortoisesvn@gmail.com>
Date:   Fri Dec 3 21:24:33 2010 +0100

    Windows: afs_shl_ext folder bkgrnd context menu
    
    Make the context menu handler also work for folder backgrounds
    and on Win7 for library folder backgrounds
    
    For folder backgrounds, the shell passes the PIDL of the folder
    instead of a data object.  Extract the path from that PIDL. Also
    extended the register function of the dll to add the required
    registry keys.
    
    Change-Id: I8928efd25058dced3820478a2858ce20336b4301
    Reviewed-on: http://gerrit.openafs.org/3443
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Stefan Kueng <tortoisesvn@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 166de9ffa29244f38f1d2c1e8b0fa9a9fd1802b5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Dec 1 18:47:29 2010 -0500

    Windows: Remove fallback from GetCaps to GetTime
    
    If the file server responds to RXAFS_GetCapabilities with
    RXGEN_OPCODE the server is up and there is no need to fallback to
    RXAFS_GetTime.  Remove the code that performs the extra work.
    
    Change-Id: Ieb0d1cce6f356a8988f2464227dec9b6cd9e6fcf
    Reviewed-on: http://gerrit.openafs.org/3419
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3c370ed1e58310cb0202a5d2c826ba6569da831c
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sat Dec 4 11:03:13 2010 +0100

    Add .gitignore for tsm41
    
    Just ignore some files created during the build.
    
    Change-Id: Ifb276b2a71fe8e58517605584e918d990b8f2f5d
    Reviewed-on: http://gerrit.openafs.org/3435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fb325c3c63d844eda1da23e2ab5facba14994a6f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 3 16:39:57 2010 -0600

    LINUX: Define zero_user_segment
    
    When the kernel does not have the zero_user_segments function, we
    define it ourselves. Also define the zero_user_segment function, since
    we use it, and a kernel lacking zero_user_segments will also lack
    zero_user_segment.
    
    Change-Id: I5c786d2af27227793a7a2768d1af76ccd2d6a415
    Reviewed-on: http://gerrit.openafs.org/3432
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba63d22bfb0b18ab054c39cafafeb8c6881fe687
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Fri Dec 3 00:30:20 2010 -0700

    OpenBSD: Remove duplicate assignment of COMMON_INCLUDE in libafs
    
    When building libafs, the make file variable COMMON_INCLUDE is
    assigned a value in two places: Makefile.common.in and
    MakefileProto.OBSD.in. The assignment in the latter place is both
    wrong and unnecessary. Remove it.
    
    Change-Id: Ie322f01b023898d4f246243ee3d196aa714147df
    Reviewed-on: http://gerrit.openafs.org/3430
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b23163f05e55128cc0dc874396a765a400a77fd5
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Fri Dec 3 00:26:24 2010 -0700

    Move include of sys/types.h in kopenafs.c
    
    The netinet/in.h header file requires the inclusion of sys/types.h
    (or some portion thereof). Most systems include it implicitly
    within netinet/in.h. Some, such as OpenBSD, do not. In kopenafs.c,
    sys/types.h is included after netinet/in.h which is fine in most
    cases but means that, as a result, it will not compile on OpenBSD.
    Moving sys/types.h before netinet/in.h solves this problem (and
    should cause no problems on any other system).
    
    Change-Id: Ifc3295f3eb4f0b2b4718d0b2aa6dcbb2b06da8df
    Reviewed-on: http://gerrit.openafs.org/3429
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit be770d4336c2fd7b8a83f18577ae6bb23a3f3e99
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 2 13:11:33 2010 -0500

    properly mark servers down for rx errors except OPCODE
    
    if we get a negative (rx) error, it means the server is down,
    *except* for RXGEN_OPCODE. make this handling consistent
    
    Change-Id: I8459ec49ca311dc336aed8da7b106fe0f647fc32
    Reviewed-on: http://gerrit.openafs.org/3407
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb9e029255420608308127b0609179a46d9983ad
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Nov 3 17:02:19 2010 -0400

    unix cm  rx-oblivious connection pooling
    
    Implements a connection pool for Rx client connections with the
    same credentials.  The code trivially avoids the limit on Rx
    call channels, without touching Rx directly.  The conn call limit
    is known to be hit in cache-bypass, and probably other use cases,
    so there is an incentive to address it potentially sooner than
    larger Rx changes are ready to merge.
    
    Upgrade to exclusive lock before calling find_preferred_connection.
    Unset trace option.  Fix a warning around modular increment of
    select_index, we'll go with the change suggested by Marc, I don't
    see a real need to save the value mod CVEC_LEN.
    
    Change-Id: I956aa22cd52b1c43187c7e03230e36820ba11c4d
    Change-Id: Ie5f936ba912bcfe0544dbc1d035bb74e5ddc50f8
    Reviewed-on: http://gerrit.openafs.org/2216
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bd2e024dc230693b1c6cbcfe40d4270a475b02d0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 2 01:48:53 2010 -0500

    balance afs_vcount in non-linux CM
    
    when we dole out a vcache, count it.
    
    Change-Id: Id0f9e20b4b8a9de6ee83dcb383c3a152f6b733e6
    Reviewed-on: http://gerrit.openafs.org/3423
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6eb1088aad9163ab8d4a4dda513444290c55daa6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 2 01:55:34 2010 -0500

    freebsd: properly track vcache references
    
    previously both root and reclaim could end up leaking refs. fix it.
    
    Change-Id: Ib3c9dab2f31b988a2887821f5192ff1fad0e732c
    Reviewed-on: http://gerrit.openafs.org/3424
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a54f8d51f43e6d917fe2f6c29cf918da361c701c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 2 01:02:04 2010 -0500

    osconf quoting for macros
    
    fix quoting to avoid substing during configure, instead let it happen in make
    
    Change-Id: I31ec2e7f15ca14f337b4f3f43dd1ef5c0b423756
    Reviewed-on: http://gerrit.openafs.org/3420
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e2d9008e74fc7b35792e7cbf57f4f537f787d45f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 1 16:18:25 2010 -0500

    configure: add lresolv to MT_LIBS
    
    because of how we configure afsdb, we can end up needing libresolv
    but not configuring it for threaded code. link it in. at the same time,
    make sure the link can succeed on e.g. macos
    
    Change-Id: Ibf2445638f36d543a0df8be1eaccfc0c31b72ae1
    Reviewed-on: http://gerrit.openafs.org/3408
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eaaba59773002ca3ba3e15d1aea69ae4b9493359
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Dec 1 15:40:04 2010 -0700

    OpenBSD: Fix variable name typo in osi_vcache.c
    
    The osi_PostPopulateVCache() routine in the OpenBSD version of
    osi_vcache.c tries to use the non-existent variable "vc" instead
    of "avc". This fixes it.
    
    Change-Id: Idac09739d36e253518fbdbd600ab43c9ea87da3a
    Reviewed-on: http://gerrit.openafs.org/3418
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d33b44b63f1928f62d4adaf4fa108d47c09273ce
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Thu Dec 2 00:27:55 2010 -0500

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    42f9c644cf00be752f09d85a9664bf2e3502101c (switch-from-svn-to-git-1962-g42f9c64)
    
    New files are:
            roken/write_pid.c
    
    Change-Id: I7b48eae393b26c6afe9e9b7dd9f26d8db2d1c6fc
    Reviewed-on: http://gerrit.openafs.org/3421
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 35daebc577ab11a5fd80d678764a3a681cc5f2f3
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Dec 1 14:24:26 2010 -0700

    OpenBSD: Fix use of mstat Length field in osi_vm.c
    
    The code for osi_VM_FlushPages() in osi_vm.c for OpenBSD incorrectly
    tries to access field "m.Length" in the vcache structure "avc"
    instead of "f.m.Length".
    
    Change-Id: I44ac0bbbd0e6279c54be185fbf9514b23c65017b
    Reviewed-on: http://gerrit.openafs.org/3417
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 622403c87a8cbcedcd1212fd32414285d103887b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Nov 27 23:25:03 2010 -0500

    FBSD: clean up rx_socket teardown
    
    We had previously been waiting for the SO_ISDISCONNECTED flag
    to show up in the so_state field, but the flags are not really
    used for stateless protocols such as UDP, and that flag never
    shows up.  Even with a full three-second wait, the rxk_Listener
    sometimes still failed to fully terminate, preventing the reuse
    of the rx port for a restarted afsd.
    Copy from Solaris and loop until rxk_ListenerPid is zero, doing
    bogus one-byte NetSends in the body of the loop.
    
    Change-Id: I6a5ad4509549fa64c551af642ef5867602b182c0
    Reviewed-on: http://gerrit.openafs.org/3391
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 341d8bf1313434acf3acded90cfcffd575adc4e5
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Dec 1 18:02:30 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    42f9c644cf00be752f09d85a9664bf2e3502101c (switch-from-svn-to-git-1962-g42f9c64)
    
    Upstream changes are:
    
    Asanka C. Herath (9):
          Windows: Registry based configuration
          Rename get_entry() -> _krb5_config_get_entry()
          Deal with quoted strings when reading lists of config strings
          Add missing export and calling convention annotations
          Windows: Build and export localtime_r
          Windows: Older Windows SDKs need <winsock2.h>
          More compatibility macros
          Increase KBR5_BUFSIZ to 2048 and use it in config_file.c
          Deal with backslash escaped quotes
    
    Love Hornquist Astrand (3):
          provide symbol renameing for sha512 and sha384
          less exit with failures
          add random abstraction
    
    Change-Id: I495fa8e9c1c037d6dee191279c1155a4ec6be945
    Reviewed-on: http://gerrit.openafs.org/3400
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8e3c678ef15d04a527b671e08683e3fa30c5c873
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Dec 1 18:07:24 2010 +0000

    util: Add definition of KRB5_BUFSIZ
    
    A forthcoming Heimdal update will require that KRB5_BUFSIZ be
    defined in order to use its config parsing code. Define it in
    our hacky krb5_locl.h
    
    Change-Id: Ieda8df8f31a759927fade44f9196e7411f4a0a59
    Reviewed-on: http://gerrit.openafs.org/3399
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f0f4770ab2ec60b18091594608b3f6e2e0fba148
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Dec 1 17:42:23 2010 +0000

    Build and use roken's mkstemp
    
    Add roken's mkstemp to the build on all platforms, either through
    configure (Unix) or explicitly (Windows). Change all callers so
    that mkstemp is used unconditionally, rather than falling back
    to more risky alternatives.
    
    This is based on original change from Russ Allbery submitted as
    http://gerrit.openafs.org/2146
    
    Change-Id: Ia1def41e438e6517b3e7cd5790df3c99eddb8ef6
    Reviewed-on: http://gerrit.openafs.org/3398
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8a4b3cff15fa678a3d5ba23982ab79275dc83e37
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Dec 1 17:35:50 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    5b91f58f350c92fb9eacd1ebac558381b0b8deac (switch-from-svn-to-git-1705-g5b91f58)
    
    New files are:
            roken/mkstemp.c
    
    Change-Id: I42cf73fd2943e2d5cfa629d3ce05f20a065428a1
    Reviewed-on: http://gerrit.openafs.org/3397
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f3c74fdd04b9cd837911e10db738e2dbca3d884d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Dec 1 17:27:46 2010 +0000

    Import mkstemp.c from libroken
    
    Change-Id: Idd8688cc731436ff1fe5708e273045b96085e986
    Reviewed-on: http://gerrit.openafs.org/3396
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2d2ac3ca5fbd221d297861c0b5c409e9e004545c
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Dec 1 13:22:45 2010 -0700

    OpenBSD: Use Darwin version of afsi_SetServerIPRank() for OpenBSD 4.7 and above.
    
    With OpenBSD 4.7, the ia_subnet and ia_subnetmask fields have been removed
    from the in_ifaddr structure as part of a cleanup that considers them
    unnecessary. Thus, the version of afsi_SetServerIPRank() that OpenBSD was
    using no longer compiles. On the other hand, the Darwin version of this
    routine seems suited to OpenBSD's needs since it doesn't use those fields
    so we'll use that version for OpenBSD 4.7 and above instead.
    
    Change-Id: I27333056378a023e175bddeb637288fc6d1b6e88
    Reviewed-on: http://gerrit.openafs.org/3405
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2822416059fe192dc7e3c261b1e93510f2f10f3e
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Dec 1 11:54:23 2010 -0700

    Darwin: Assign correct value to myDstaddr in afsi_SetServerIPRank()
    
    The value in sin->sin_addr.s_addr that's assigned to myDstaddr in the
    Darwin version of afsi_SetServerIPRank() is in network byte order but
    really needs to be in host byte order.
    
    Note: This patch assumes that change I66f5c790d8c55b359e3550b6d71f3abe040a2820
          has been previously installed. The patch fails otherwise.
    Change-Id: I3078da1efb94f87f84dbe357f3272d908818256b
    Reviewed-on: http://gerrit.openafs.org/3402
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8fa01c4d602fac6d5d81b119d0593f02087e4302
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Dec 1 11:37:02 2010 -0700

    DARWIN: Fix processing using rx_ifaddr_* macros in afsi_SetServerIPRank()
    
    The macros rx_ifaddr_address, rx_ifaddr_netmask, and rx_ifaddr_dstaddress
    all expand to a call to memcpy() which returns the destination address as
    its return value. The test in the DARWIN version of afsi_SetServerIPRank()
    for completion when using this macro, however, seems to assume that success
    returns zero, which is wrong and results in myAddr, subnetmask, and
    myDstaddr always being set to zero. This patch corrects this behaviour.
    
    Change-Id: I66f5c790d8c55b359e3550b6d71f3abe040a2820
    Reviewed-on: http://gerrit.openafs.org/3401
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 32226d1454129bacd44f818f6d32d807bc0cc771
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 29 17:47:10 2010 -0500

    Windows: permit code signing without timestamps
    
    If CODESIGN_TIMESTAMP is not defined, permit code signing
    to occur but do not ask signtool to contact a timestamp
    server.
    
    Change-Id: I801264192caaf871225b001c6f96c0317e115578
    Reviewed-on: http://gerrit.openafs.org/3393
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cc54175e43ce14c01f9c103541ffad795b17629c
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Nov 28 13:01:12 2010 +0100

    Unix afsd: Check for mountpoint /afs first
    
    Check for the existance of the mountpoint before trying to
    start.
    
    Change-Id: I56c7a69b2b24c465f987e33c3f88c6ac37e40dd0
    Reviewed-on: http://gerrit.openafs.org/3392
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a2d1973fc5c2aac05beef5d64e7a486757c54af
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 23 19:08:24 2010 -0500

    Cache bypass: switch to rx_Readv
    
    Tests show that cache bypass doesn't scale very well past a few
    concurrent processes, with a lot of lock contention in the RX
    layer.  Switching the implementation to the iovec based rx_Readv
    alleviates much of this.
    
    Also take advantage of the fact that the upper layer readpages
    only sends down contiguous lists of pages, and issue larger read
    requests and populate the pagecache pages from the iovecs we
    get back.  The loop logic is changed significantly to accomodate
    the new pattern.
    
    Read throughput is improved by about 30-40% for some parallel read
    benchmarks I use.  Along with some other tweaks, it can allow the
    throughput to be more than doubled.
    
    Change-Id: I56877ec15eba035429bd4ea32731687c862f151f
    Reviewed-on: http://gerrit.openafs.org/3375
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3f69d7247cfbd809aeed1e4d943c2b21da035654
Author: Steve Simmons <scs@umich.edu>
Date:   Tue Aug 31 13:16:15 2010 -0400

    More deprecations noted.
    
    Change-Id: Id0d15f0f065dbbd82287258175530527e7cde36f
    Reviewed-on: http://gerrit.openafs.org/2633
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ae1d000b71514ab8a62496dd712b8fe4be224e18
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 16 12:38:06 2010 -0500

    external import script should rebase away whitespace
    
    and provide an option not to.
    
    Change-Id: I3a81de0c4786cfc9e5d4b92bb175528ed1334b90
    Reviewed-on: http://gerrit.openafs.org/3315
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0c92add0d74a3e31800387073871ec414cd5ed5a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Nov 1 19:19:55 2010 +0000

    .gitignore update
    
    Update assorted .gitignore files with missing build products
    
    Change-Id: Ibeb928b9c2f6abab6f35ed450c5110aee1fc4905
    Reviewed-on: http://gerrit.openafs.org/3212
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d8e382df39aa5a92950a1219002a85e5457d8a97
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 9 09:41:40 2010 -0500

    vos: Improve release recovery on timed-out trans
    
    When a portion of 'vos release' takes long enough that a transaction
    on one or more RO sites times out, it retries to release to those
    sites. However, it does not take into account the situation where the
    transaction on the original RO clone has also timed out, which it
    usually will have if we took a long time to get to the ForwardMulti
    stage for any reason.
    
    Add a check to see if the clone RO transaction has timed out, and if
    so, recreate the transaction on it. Check if the volume appears to
    have changed at all, and if it has, bail out.
    
    Change-Id: I7dd69c83e41216246e40159e8d9c1417e15355f4
    Reviewed-on: http://gerrit.openafs.org/2726
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8a09c220f4c5f881ea45be585b07b793038924d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 16 01:13:57 2010 -0500

    ubik sync client error recovery
    
    give ubik server "client mode' error recovery for token errors
    
    Change-Id: Ibd6cad6ecf067da7da5724491756576d1ffedb03
    Reviewed-on: http://gerrit.openafs.org/3150
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit a2c31a754c2d75dcf6a674f365ad50fc40f595ec
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 26 02:55:03 2010 -0500

    Windows: NSIS installer requires the architecture for CL=1400
    
    The NSIS installer at present is 32-bit only.  Production releases
    of OpenAFS have always been performed using the CL=1310 compiler
    so it wasn't noticed that src/WINNT/install/NSIS/NTMakefile did
    not define the ARCH (architecture) for the purpose of identifying
    which redistributable runtime library installer should be
    integrated into the build.  For the CL=1310 compiler there are
    not prebuilt installers for OpenAFS to integrate.
    
    Change-Id: Ide80d5013f55dbcd97b7b099de7066c5afd0df14
    Reviewed-on: http://gerrit.openafs.org/3388
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5186e1686f1eaa1f5aaddfaa90da715aba045f67
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 26 02:51:16 2010 -0500

    Windows: make use of AFSDEV_BIN and set the PATH
    
    ntbuild.bat defines AFSDEV_BIN which is set to the list of
    directories from which executables required for the build
    process will be executed.  However, this value was never used
    to modify the PATH environment variable.  Make it do so.
    
    Change-Id: I3ac65a7ceea54cbcf1d2c41f6b0e7af9de960224
    Reviewed-on: http://gerrit.openafs.org/3387
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4a6a00d6f45bd0ac94e2eb05adee41552073643a
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Nov 21 23:01:53 2010 +0100

    check curses-libs by configure
    
    Presently, the used curses-library are determined by OS.
    The leads to a build error when no curses-headers are installed.
    Use configure to test if curses.h or ncurses.h is present.
    ncurses takes precedence over curses.h.
    If neither the curses- nor ncurses-libs are available, do not build
    afsmonitor and scout.
    A summary at the end of the configure should make this clear to
    everyone.
    The variable TXLIBS has been renamed to LIB_curses.
    
    Change-Id: I3f661e0b6199be41818dc22149b061e3d599b77f
    Reviewed-on: http://gerrit.openafs.org/3345
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c1e874b4e2250438e0e6b0fe54ecd265356b3ee6
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Oct 17 08:54:06 2010 +0200

    Add output-table to libafsutil
    
    This adds the complex structure Table to libafsutil.
    All binaries linking to libafsutil can use this to store their output
    in the table. This table can be sorted by a predefined column.
    The available output formats are ASCII, CSV and HTML.
    
    Change-Id: Id0a00d996a94fee08538226317c60e5bf5082051
    Reviewed-on: http://gerrit.openafs.org/1970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d0acb0a83e4834a1d99457435a4bac684b0047e2
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Nov 27 00:45:26 2010 -0500

    Fix FBSD build after warning cleanups
    
    The preprocessor if directive needs a matching endif, not plain end.
    
    Change-Id: I423b32326cae60073d110165f94ba278521634ee
    Reviewed-on: http://gerrit.openafs.org/3390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a4e4ed9de93d202d21cab4c40d37fcfacc85694e
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Nov 26 23:28:50 2010 -0500

    Catch up on FBSD releases
    
    Add param.foo.h and sysname entries for the past and forthcoming
    FreeBSD 7.2, 7.3, 7.4, and 8.2 releases.  Also update the
    MakefileProto.FBSD.ins that need touching, simplifying the libuafs
    one in the process.
    
    Change-Id: I6a7ff217572daac96f6fa6eb104eb7b1305c5ff6
    Reviewed-on: http://gerrit.openafs.org/3389
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ebd18bfade80bd66422aad4310375ee460cd1ed5
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Oct 30 02:23:24 2010 -0400

    FBSD: warning cleanups
    
    Only declare 'p' if it will be used; other unused variables;
    signedness mismatches.
    
    Kill spl with fire.
    
    Change-Id: I03ada8b358f64342bc61bdef03df9dfecc550a6b
    Reviewed-on: http://gerrit.openafs.org/3200
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a414636a667c395fc0af8270726f238a392fb5d7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 21 21:20:42 2010 -0500

    Utilize --enable-warnings for SUNWspro
    
    Add the necessary options for the Solaris Studio compiler to enable
    more warnings, when specified in the ./configure invocation.
    
    Change-Id: I30e2a4a4bddad6beb4c50c3e10775c09916bf0df
    Reviewed-on: http://gerrit.openafs.org/3367
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 18793d4bfaeb88fd456c8d489165139126c0d293
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 22 22:54:32 2010 -0500

    Only specify CFLAGS_NO* with --enable-checking
    
    Currently we are always specifying e.g. CFLAGS_NOUNUSED as -Wno-unused
    when we think we are compiling with gcc. Since autoconf always tries
    to use gcc when possible, this breaks the build if we have a gcc
    available but we use another cc for building.
    
    This should be fixed otherwise, but in the meantime at least make this
    only happen if warnings are actually turned on, so the build is less
    likely to break with a default ./configure invocation.
    
    Change-Id: I65d859db1fc0bb0930092fa8cfd6a0577d1c6ce2
    Reviewed-on: http://gerrit.openafs.org/3366
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 222067f6f8fd4f596302befbc48918e10547ed1d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 21 18:57:22 2010 -0500

    Solaris: Support -i in shlib-build
    
    Our librokenafs.map file contains symbols that we may not actually
    define, since the list of exported symbols varies depending on the
    platform's capabilities. This causes errors during linking, which can
    be suppressed by marking all symbols as "= EXTERN". Do so by having
    shlib-build modify the mapfile at link-time, when -i is specified to
    indicate ignoring undefined symbols.
    
    Change-Id: I043fca6c8206a19fb7bddbc8e624baeaaff3ab00
    Reviewed-on: http://gerrit.openafs.org/3365
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit be6fb658fe717469470bcd28c46bee1901c4d96c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 21 21:40:28 2010 -0500

    afsd: Remove unused definitions
    
    Remove some #defines for s_host and similar things. They are not used
    anywhere, and they can cause warnings for e.g. s_host being redefined.
    
    Change-Id: Ibb549bde4428304c39a67fbfee507e5234a21546
    Reviewed-on: http://gerrit.openafs.org/3364
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e4059c1b812410bd96481cc60c86c67f8733b66f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 22 22:23:02 2010 -0500

    vol: Move VOL_CV_TIMEDWAIT to volume_inline.h
    
    Some platforms will give errors for the vol package glock not being
    defined in VOL_CV_TIMEDWAIT, since some utilities include volume.h
    (with pthreaded ubik enabled) but do not have the vol glock. This
    isn't a problem for the other CV_WAIT (et al) macros, since, being
    macros, they are not expanded if never referenced. Since
    VOL_CV_TIMEDWAIT is a static inline function, however, and at least
    some platforms try to compile/link it even if it's not referenced.
    
    So, move it to volume_inline.h, which is only used by the volume
    package itself, where we will have the vol glock.
    
    Change-Id: I3e1513869c03d16d274c23e0bbb075df85d6d3a3
    Reviewed-on: http://gerrit.openafs.org/3363
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit af5599483c5496bfc4ef3332899d1fdb0085c8d3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 23 13:24:16 2010 -0500

    FUSE: Link to afshcrypto and crypt
    
    afsd.fuse requires -lafshcrypto and -lcrypt, so link to them when
    linking.
    
    Change-Id: Id4bd4caf5e187a1394a62761a1c19caeeeb041cc
    Reviewed-on: http://gerrit.openafs.org/3362
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 04a5ede2bac8cb366e37d39ca4ea4c7e3b3aa69c
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Nov 23 21:10:16 2010 -0500

    Fix build for archs with -lcrypt
    
    The linktest utility calls crypt(3), and needs -lcrypt on some
    architectures.  Provide the $(LIB_crypt) argument in the makefile
    as appropriate.
    
    Change-Id: I47b54fa80839062908df2d0a423ad72a628c1e76
    Reviewed-on: http://gerrit.openafs.org/3376
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0aa5cdd72f4dd9ec7edba177efde3fb9aaedf58a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 6 09:39:59 2010 +0100

    aklog: Build a pthreaded, rather than lwp, version
    
    Make aklog (and friends) use pthreads, rather than lwp.
    
    Change-Id: I49114caa74357b3b35626db6a7439128aec0acb6
    Reviewed-on: http://gerrit.openafs.org/3356
    Tested-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1e03a0fa74cef95a557dc03da20413ee7236d34a
Author: Chaz Chandler <clc31@inbox.com>
Date:   Thu Nov 25 00:43:28 2010 -0500

    Add explicit libafsauthent dependency for aklog
    
    Prevents occasional failures with parallel builds by ensuring
    libafsauthent is built before aklog, which needs it.
    
    Change-Id: Ibb0bdda3ce1fa306dfee1343e0b8b97486ee5efb
    Reviewed-on: http://gerrit.openafs.org/3386
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 93ab13cbf3cfee30524f63925a11a0ab0c55d600
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 31 22:21:19 2010 -0400

    aklog weak warning
    
    make aklog guess when you need to enable weak crypto
    
    Change-Id: I5f79e654d2ebcd8500d66d20f00edb49b9d62323
    Reviewed-on: http://gerrit.openafs.org/3209
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d29550a438a60dd918938f484c7b75e25478abd9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 24 10:03:19 2010 -0500

    ubik: Log a message when we replay the trans log
    
    It can be helpful to know that an interrupted transaction was replayed
    on startup, and this should be rare. So log a message when that
    happens, indicating what db version we replayed to.
    
    Change-Id: I8b2562dea2811190d1a45ba47f362a2441f39dfa
    Reviewed-on: http://gerrit.openafs.org/3385
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1e8598b334b4354a3998b1e5fe189f3f33957048
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 24 09:36:05 2010 -0500

    ubik: Replay the transaction log label correctly
    
    Commit eec0d94f519b3e27f255b9b7a637df043951424e fixed the transaction
    replay log code to correctly identify valid transaction logs on
    little-endian systems, but missed ntohl'ing the database label read in
    a LOGEND opcode. Fix that, so the database is labelled correctly when
    replayed from a transaction log.
    
    And while we're here, actually pass a struct ubik_version* to
    adbase->setlabel, to make it a little more clear what's happening.
    
    Change-Id: I7edc33a4539f3b2fa342335c08f958b5dfb97f57
    Reviewed-on: http://gerrit.openafs.org/3384
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0af17e7eccb79dd7d618c98dc0b489d55209df50
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 15 11:17:14 2010 +0100

    auth: Allow identities in the UserList
    
    Extend the userok interface provided by the auth library to permit the
    addition, deletion and inspection of identities within the UserList.
    
    A number of additional functions are added, as direct replacements for
    their Kerberos v4 only counterparts - these are:
     *) afsconf_DeleteIdentity
     *) afsconf_GetNthIdentity
     *) afsconf_AddIdentity
     *) afsconf_SuperIdentity
    
    In addition, a new function is added to allow the status of any given
    identity to be queried
     *) afsconf_IsSuperIdentity
    
    New form identities are stored within the same UserList file as
    Kerberos v4 identities. We take advantage of the fact that the current
    code skips any entry with a leading whitespace. Identities are stored as
    a single line, with a leading space, followed by the integer
    representation of their type (0 for Kerberos 4, 1 for GSSAPI), followed
    by the base64 encoded representation of their exported name, followed by
    the display name of the identity. Each field is whitespace separated.
    
    For example:
     1 BAEACwYJKoZIhvcSAQICAAAAEHN4d0BJTkYuRUQuQUMuVUs= sxw@INF.ED.AC.UK
    is the representation of the GSSAPI identity "sxw@INF.ED.AC.UK"
    
    An addition to the test suite is also provided which will test all of
    the existing, and new super user manipulation functions.
    
    Change-Id: I50648bb1ecc3037a90d623c87a60193be4f122ff
    Reviewed-on: http://gerrit.openafs.org/3355
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 46a6d6129d80c4027d8a9f0e1d06b32cc12d6367
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 23 18:39:33 2010 -0500

    Cache bypass: Only compile bypass code for the Linux kernel
    
    Only compile the afs_bypasscache.c code if AFS_LINUX24_ENV is set,
    since it's currently the only case where the code is actually used.
    Only sections that caused problems for UKERNEL were previously
    ifdef'ed.
    
    Besides making the code cleaner, the main effect of this change
    is to prevent compiling most of the bypass code for UKERNEL where
    it isn't currently used.
    
    If support for bypass is added for other platforms eventually, the
    code here would need to be reworked anyway, ideally abstracting out
    and moving any OS specific bits into the platform subdirectories.
    
    Change-Id: If39294926ea38896ce2dedd1e46b2da0d622cae5
    Reviewed-on: http://gerrit.openafs.org/3374
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9657695d34badaac654227be8c731a1512f2106b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 23 18:21:16 2010 -0500

    Cache bypass: remove ifdefs under src/afs/LINUX
    
    Compile cache bypass code unconditionally under src/afs/LINUX
    since it is now always enabled.  Also remove syslog messages
    about a "cache bypass patched module" when loading and unloading
    the module.
    
    Change-Id: Id83487fe9704c5be8a70fc7c60dfe4d864ab27cf
    Reviewed-on: http://gerrit.openafs.org/3373
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1de6d5bb0122d00c398202451bf88042ea08aa3e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 23 17:50:25 2010 -0500

    Cache bypass: Remove AFS_KMAP_ATOMIC
    
    Since AFS_KMAP_ATOMIC is defined unconditionally, remove the ifdefs
    and the code for the !AFS_KMAP_ATOMIC case.  We probably don't want
    to support this feature on a kernel old enough not to have kmap_atomic.
    This should exist on all 2.6 and even 2.4 linux kernels.
    
    This simplifies the code for maintenance and later changes.
    
    Change-Id: I5d111d65066990123db917ac105a5a14db3b305f
    Reviewed-on: http://gerrit.openafs.org/3372
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b9a0be5b07e750401d9659678d922a729a55ed48
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 24 07:29:12 2010 -0500

    rx: add rx_opaque and rx_identity exports
    
            rx_opaque_new                           @289
            rx_opaque_alloc                         @290
            rx_opaque_populate                      @291
            rx_opaque_copy                          @292
            rx_opaque_freeContents                  @293
            rx_opaque_zeroFreeContents              @294
            rx_opaque_free                          @295
            rx_opaque_zeroFree                      @296
            rx_identity_match                       @297
            rx_identity_populate                    @298
            rx_identity_copy                        @299
            rx_identity_copyContents                @300
            rx_identity_new                         @301
            rx_identity_freeContents                @302
            rx_identity_free                        @303
    
    Change-Id: Iaf52fdc65178db64c373b2f747ac133fdb713364
    Reviewed-on: http://gerrit.openafs.org/3383
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 61ddfbaa19f28bd8b352dea307ab752239470026
Author: Steve Simmons <scs@umich.edu>
Date:   Tue Aug 31 19:21:50 2010 -0400

    Update the man pages pod source adding text to discourage use of
    uss.  Usually the text added was a copy of a CAUTION section that
    had already been added in a few places. This change applies it
    consistently across all uss-related man pages. In pod1/afs.pod that
    text would be excessively wordy; a briefer note is used there to
    direct the reader to the full text.
    
    This is a partial fix for RT bug #128018. It does not fully close
    the bug; the AFS Administrators Guide needs to be updated as well.
    
    Change-Id: Id64646d20a9b22c0e11c9654842fa255fb4258ea
    Reviewed-on: http://gerrit.openafs.org/2637
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b43bd696b71535abc24e7023ec3095f0f7e3db06
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Nov 24 10:59:06 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    5b91f58f350c92fb9eacd1ebac558381b0b8deac (switch-from-svn-to-git-1705-g5b91f58)
    
    Upstream changes are:
    
    Simon Wilkinson (1):
          hcrypto: Remove getarg.h include from validate.c
    
    Change-Id: Id59ef59c0f521d1266789afb6ee9555319472770
    Reviewed-on: http://gerrit.openafs.org/3382
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ea622b0967788801ce2f532a768aaad6267ef37b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 17 22:39:12 2010 -0500

    Windows: build src/rx/tests
    
    Now that we have roken integrated build src/rx/tests as a
    standard part of the build.
    
    Change-Id: Ic2e6e9229f92c302bd4cfaa173c6d1b5e15d9b55
    Reviewed-on: http://gerrit.openafs.org/3324
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f5fb20a0e364ee58020e8d4a244752e88ea619fa
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Nov 24 10:35:48 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    9fc90e01b55966b6a3e5a161b4806a5171af789d (switch-from-svn-to-git-1704-g9fc90e0)
    
    Upstream changes are:
    
    Simon Wilkinson (1):
          roken: Remove multiple prototype for hstrerror
    
    Change-Id: I74c269b37f1b4c39db7de770d56247198c295dfe
    Reviewed-on: http://gerrit.openafs.org/3381
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5b1a7c35bb41fd7c33f5e1cc4679627ab59d9be2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 24 05:24:43 2010 -0500

    Windows: indicate that roken is a dynamic library for roken.h
    
    Since the windows build of roken is a dynamic library we must
    define ROKEN_LIB_DYNAMIC so that roken.h will specific the
    correct values of ROKEN_LIB_VARIABLE, ROKEN_LIB_CALL, and
    ROKEN_LIB_FUNCTION.
    
    Change-Id: I93a14f355d2f1984722d64fcca14336e1c1ec4d9
    Reviewed-on: http://gerrit.openafs.org/3380
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit aa3fae3ba5144f0f47a95306dd6acdea21749383
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 24 00:44:52 2010 -0500

    Windows: roken getopt renamed to rk_getopt, vars exported
    
    Since the function was renamed, modify the export list
    Add rk_optarg, rk_optind, rk_opterr.
    
    Change-Id: I19ffdba5df79293d6a07c9ae6ba476dd77027843
    Reviewed-on: http://gerrit.openafs.org/3377
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit aa64a29fec4f986300103fd1b3b1a59e1a0de374
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Nov 24 09:45:03 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    f317b91b1b4b8d030fc2ab188b6aa526e9e7cb84 (switch-from-svn-to-git-1703-gf317b91)
    
    Upstream changes are:
    
    Jeffrey Altman (1):
          roken: Prototype getopt
    
    Change-Id: I766ff1c19d4dcb74be18ea96d0ea1f24898eb6e9
    Reviewed-on: http://gerrit.openafs.org/3379
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fa3669ee0bcd8005d684e9077bf7ed1b4ff43e07
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Nov 24 08:14:40 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    0cc7b890e2632a7cb26517825deb802f79e838f8 (switch-from-svn-to-git-1702-g0cc7b89)
    
    Upstream changes are:
    
    Asanka C. Herath (3):
          Annotate exported variables in getopt.c
          Windows: Support building roken as a DLL
          Declarations for getopt externs
    
    Simon Wilkinson (1):
          roken: getopt should include roken.h
    
    Change-Id: I5ef850bcac7dace3a8206958783ed6fd5830492e
    Reviewed-on: http://gerrit.openafs.org/3378
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9484302fff64fe9466895fb9629f36b9752744d2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 24 00:44:02 2010 -0500

    roken: modify build configuration to permit Windows to work
    
    When building roken the library must be built with different
    ROKEN_LIB_xxx macro values than when the library is being
    linked against.   In particular, ROKEN_LIB_VARIABLE needs to
    be exported when building and imported when linking.
    
    Change-Id: I353c796a81fb92e5066d76a269d8371150d4756c
    Reviewed-on: http://gerrit.openafs.org/3330
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 467b0fadf75df73593c85b45bf15d8e51bd8ae23
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 23 12:18:38 2010 -0500

    rxkad: rename bswap32 to octetswap32
    
    In bg-fcrypt.c the bswap32 macro has a name conflict with roken.
    Rename it to octetswap32.
    
    Change-Id: I1466c2abb4883c8856962b232859e49014a04796
    Reviewed-on: http://gerrit.openafs.org/3361
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 000fb2e45a126ea864292b4dd85b216cdb9b6ee0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 23 12:11:46 2010 -0500

    rxkad: fix bg-fcrypt to work with roken
    
    On Windows, roken.h defines iov_len as len and iov_base as buf
    so that it can use _WSABUF as the iovec structure.  This has negative
    consequences when there are local variables iov_len and iov_base
    as the same time as there are variables len and buf.  This was the
    case in bg-fcrypt rxkad_EncryptPacket and rxkad_DecryptPacket.
    As a result, rxkad compiled cleanly but did the wrong thing.
    This patchset renames iov_len to ilen and iov_base to ibase in order
    to avoid this issue.
    
    Change-Id: Iede2d249b6399fed3e718e782b9bf1315fada93b
    Reviewed-on: http://gerrit.openafs.org/3350
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7c4ee52c1a70838284c1354c654233fa20a341f3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Nov 23 11:31:27 2010 +0000

    roken: Add the strsep function
    
    Add the strsep function (as rk_strsep) to the OpenAFS roken build.
    This function is required by Windows, and is now checked for on Unix.
    
    Change-Id: I71d8e11a30c34aaa89d85d1e6e527d594d5734af
    Reviewed-on: http://gerrit.openafs.org/3371
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 655f0523f20333b08669567f5740de2033359427
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Tue Nov 23 11:22:51 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    bd78baf668eca011257f05fef8334e0967500456 (switch-from-svn-to-git-1696-gbd78baf)
    
    New files are:
            roken/strsep.c
    
    Change-Id: I10c99e408db40f6bcdb0e2c243c3016cd2bf1faa
    Reviewed-on: http://gerrit.openafs.org/3370
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da29c18f1d417e692b8a44d3398dda23ee0b1d91
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Nov 23 11:10:32 2010 +0000

    Imports: Import heimdal:lib/roken/strsep.c
    
    Add Heimdal's roken strsep implementation to the list of files
    to import into our repository.
    
    Change-Id: I27a5f6b95e434a630c0278fc0362dbda6af1321a
    Reviewed-on: http://gerrit.openafs.org/3369
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fa6bbf1d327f6d2e79bb4b95064e14dd301d5bbe
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 21 10:09:42 2010 +0000

    roken: Add base64 functions to libroken
    
    Install the base64.h header, and add the base64_encode and
    base64_decode functions to the library
    
    Change-Id: If0ed8fb13cecb6f4a48b4208fbef8c800a5284d5
    Reviewed-on: http://gerrit.openafs.org/3354
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 097bb407d9dbf5ac62341653917ff8eccd0f3c1e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Nov 22 14:21:28 2010 +0000

    rx: Store identity type in rx_identity_new
    
    rx_identity_new was failing to record the type of the identity,
    resulting in all identities being marked as Kerberos v4.
    
    Change-Id: I35058a3db14874b64d3cad2ffd43db371c34aebe
    Reviewed-on: http://gerrit.openafs.org/3353
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d3a0537b7772e087437913a115f88c8f48e0348c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Nov 21 10:16:26 2010 +0000

    rx: Rework identity copying
    
    Change the behaviour of the rx_identity_copy function so that it
    copies the whole identity, not just the contents. Add a new function
    rx_identity_copyContents which just copies the contents of an identity
    into an existing identity structure.
    
    This restores symmetry with the free and freeContents functions.
    
    Change-Id: I692ac8434b1538c283a8ae713956be8ae67cccfd
    Reviewed-on: http://gerrit.openafs.org/3352
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 76de77c7f9a6f58e7d7e85554decaa2ac959db07
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Nov 6 00:02:31 2010 -0400

    FBSD: close race in afs_root
    
    Previously, we called afs_PutVCache(afs_globalVp) directly.  This
    is unsafe because PutVCache acquires locks which can sleep, losing
    the serialization of the GLOCK.  In rare circumstances, this can
    result in two threads simultaneously making that call, and the
    second one would panic in vputx() with a negative refcount.
    Close the race by using a local variable for the afs_PutVCache()
    calls, applying the change to afs_globalVp before dropping the GLOCK.
    While here, fix up other race conditions.
    
    Change-Id: Id62f27d4469a96c9becd9b031125bd6c910c3e9b
    Reviewed-on: http://gerrit.openafs.org/3275
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f26f4651516b36263fd1de3c3aaa461ce623e71d
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Nov 22 23:17:18 2010 +0000

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    bd78baf668eca011257f05fef8334e0967500456 (switch-from-svn-to-git-1696-gbd78baf)
    
    Upstream changes are:
    
    Jeffrey Altman (1):
          Windows: Include winsock2.h before ws2tcpip.h
    
    Change-Id: I7eca90ad36d84ccec6ac416d82246f6b28f06948
    Reviewed-on: http://gerrit.openafs.org/3360
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 53d1fae4c422317dab0b7bf7fb0dedc5eb1f3607
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 22 11:36:55 2010 -0500

    redhat init script fix missing space
    
    the if [] needed a space before the ]. fix it.
    
    Change-Id: If53524e0c70cccf64b9a53d11a81deebf2c972ec
    Reviewed-on: http://gerrit.openafs.org/3357
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eee9fe09452a1c05153042dffb5a6c4fbed0fb5b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 13 08:24:12 2010 +0100

    userok: Allow NULL components in kerberosSuperUser
    
    Modify kerberosSuperUser so that it can support callers passing NULL,
    rather than just empty, instance and cell strings
    
    Change-Id: Ifc21eb0c4f562d65519e31db32723c3a2d19b363
    Reviewed-on: http://gerrit.openafs.org/3351
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e6a2183f0c21bb12f38962a4c4d61a6511322271
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 22 00:05:00 2010 -0500

    Windows: update nsis installer for hcrypto and roken
    
    Change-Id: I669653fa610908beb33f9a64f05b4d1aa5d28751
    Reviewed-on: http://gerrit.openafs.org/3349
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0cbb18ba9dd9637b8747cc7d8b952bf7def06ba0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 22 00:04:23 2010 -0500

    Windows: update wix installer for afsroken.dll
    
    Change-Id: Ice566d3fe53c2c97bd2703165d8701f34a09cba7
    Reviewed-on: http://gerrit.openafs.org/3348
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5264ab83366a5a2825e3f6a8eb4e66736b61b40d
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Mon Nov 22 08:39:11 2010 +0100

    use intptr_t instead of ifdef
    
    Remove another ifdef AFS_64BITUSERPOINTER_ENV from the code.
    
    Change-Id: I1b932b892b39b824ba6ef521f0621fd3e7a51c74
    Reviewed-on: http://gerrit.openafs.org/3343
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 03ab065e0ccf291d45a93b7d63c022bcad3aac34
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Nov 21 20:09:23 2010 +0100

    use computed values in src/gtx/curseswindows.c
    
    compiling failed, because of -Wunused-value.
    Use the return code of wstandout and wstandend and pass
    it upwards.
    
    Change-Id: I6ae101edb36e31247ff772f5dc59104eb7856138
    Reviewed-on: http://gerrit.openafs.org/3344
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 811948f5da27becaeea6daf957a797ba383a3b21
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Nov 20 10:25:06 2010 +0000

    Imports: Add reporting of new and removed files
    
    Make the commit message produced by import-external-git.pl also report
    which files the script added and removed. Whilst this information is
    available from the patch itself, having it in the commit message makes
    it much easier to tell what happened when reviewing history through
    git log.
    
    Change-Id: I59e7deb0f4f1e8c22d07222e1789c66c65612992
    Reviewed-on: http://gerrit.openafs.org/3334
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 684ce2682e71f2c5078016bec836985c66ea4f63
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Nov 2 09:46:05 2010 +0000

    hcrypto: Cleanup all build products
    
    make clean in hcrypto was missing rand-fortuna_lwp.o. Fix that.
    
    Change-Id: I137218ebd8d863fe653ac41aa4de9b71e4ebd76d
    Reviewed-on: http://gerrit.openafs.org/3218
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit acdef43d818ee56e6c1f1dc29f508c02793c8355
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Fri Nov 19 21:30:21 2010 +0100

    use proper 64bit casting for pointer-math
    
    building with "./configure --enable-checking --enable-supergroups"
    fails, because on 64bit, the casting in map.c gives a warning.
    Just add another ifdef and cast according to the size of a pointer.
    
    Change-Id: Icb35d79f56cf8fec48c863061a524f9e29e6acd8
    Reviewed-on: http://gerrit.openafs.org/3341
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 01b9cee0d0d4a328b662c0138efcd8506126084c
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Sun Nov 21 12:13:34 2010 +0100

    remove unnecessary dependency
    
    fms in bu_utils is not using curses at all.
    Just remove the dependency from the Makfile
    
    Change-Id: I6d02e60508a2c9b5eb2290c3bf2f9e4ee164fde0
    Reviewed-on: http://gerrit.openafs.org/3342
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e9df8bb9b02cf34aeaf4b67998138126a22704a6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 20 16:53:31 2010 -0500

    add src/roken/roken.h to src/roken/.gitignore
    
    roken.h is a generated file.  Add it to .gitignore
    
    Change-Id: I330d08da951efdef01d9751b8ce9bb062dc235f5
    Reviewed-on: http://gerrit.openafs.org/3338
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c16ac6ce15cffecbe3ec3d97e384d3e645eb9fc7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 20 16:26:22 2010 -0500

    Windows: permit aklog to build with krb4 support and roken
    
    aklog.c defined S_ISDIR() which is now defined by roken.h
    
    krb4 declared the types uid_t and gid_t which are defined by roken.h.
    There is no mechanism to disable the declarations within the krb4
    header (conf-pc.h) even those the declarations were never required
    by the Kerberos v4 DLL.  The patchset hacks the in tree local copy
    of the kfw\inc\krb4\conf-pc.h header to avoid the conflict.
    
    There is still an annoying warning due to kfw\inc\krb4\krb.h
    providing a conflicting prototype for gettimeofday() but the
    function is not used within aklog so there is no harm from it.
    
    Change-Id: Icbb326bf8e703957cf4ce9bc991075b90aff6f08
    Reviewed-on: http://gerrit.openafs.org/3337
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 45d5f88766fe86e6fd4ef0684ddc26ad7319c927
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 20 16:03:31 2010 -0500

    Windows: Have get/free addrinfo and nameinfo functions
    
    roken defines replacements for getaddrinfo, freeaddrinfo,
    getnameinfo, and freenameinfo which are provided by winsock.
    Add HAVE_xxxx macros as required to prevent roken substitution
    from taking place.
    
    Change-Id: I2308f63d78234893a8d5031bf6237cabd5d46bd9
    Reviewed-on: http://gerrit.openafs.org/3336
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f917d45906fd20f1427ef5ee4ccdbc60971defa3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 19 12:45:50 2010 -0500

    Windows: Add hcrypto to the msi installer
    
    Change-Id: Ia89433b82001a7ec369ef7f8e689d40979c61206
    Reviewed-on: http://gerrit.openafs.org/3333
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 358f69e561a32133971e5c00d22d7614549acef0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 20 11:47:11 2010 -0500

    Windows: more libroken fixes
    
    param.i386_w2k and param.i386_nt40 were not updated for libroken
    as part of e2b4fde0b5850e42cb0ed00852f581fb7d24f8ff
    
    Change-Id: Iffb5504150ac46ab430d72ac623c7e2d0fbe39dc
    Reviewed-on: http://gerrit.openafs.org/3335
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4affa40db8c6c2c9908a77101ee001c3762f9593
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Nov 19 00:07:36 2010 -0500

    Windows: conditionally set tray icon state
    
    If the checkbox IDC_TRAYICON is not present in the dialog,
    do not attempt to use its value as a setting for
    Config_SetTrayIconFlag().
    
    FIXES 128591
    
    Change-Id: Iebee8198ec25e1841f6fa49b9850a16329f2cbdd
    Reviewed-on: http://gerrit.openafs.org/3331
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 75aacd6a10b1ebd426907268aa584bdd1be61833
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 17 22:33:48 2010 -0500

    more rx/tests cleanups
    
    Include roken.h, always reference rx headers with rx prefix,
    add a resource file for Windows, remove warnings from testclient
    and testserver.  add a .gitignore file.
    
    Change-Id: If75560ff9b21dc9a1abf99159d26214eb6b0b9a3
    Reviewed-on: http://gerrit.openafs.org/3323
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5c77a6ca2460c3e79125a614037824db35480905
Author: Felix Frank <Felix.Frank@Alumni.TU-Berlin.de>
Date:   Sat Nov 13 00:10:31 2010 +0100

    rxgen: add *TranslateOpcode functions to XDR code
    
    Administrative commands and server binaries can benefit from the
    ability to translate RPC OpCode numbers to proper function names.
    
    For this purpose, rxgen now emits the function
    
    char *PKGTranslateOpCode(int)
    
    where PKG is replaced by the respective package prefix.
    
    The function is generated in the exact same way that ExecuteRequest is.
    This way, the right optimization (array storage vs. generated case
    statement) according to the respective sparseness of OpCodes in the
    different RX packages is maintained.
    
    Change-Id: Ib083597c0841f50518afd2b159b98c0447e13da0
    Reviewed-on: http://gerrit.openafs.org/3305
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d37679f4fdb1b10284046c05d2c7b110b37a4120
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 12 10:32:57 2010 -0600

    doc: Do not process .in files for html
    
    We do not want to process .pod.in files when generating HTML versions
    of the man pages. Change the filename filtering logic to only accept
    .pod files, so we'll also skip over all other stuff we don't want,
    like CVS or fragments directories.
    
    Change-Id: Ic7da67dd5297aa52a67a8a0dc0b9cc7904cfa2b4
    Reviewed-on: http://gerrit.openafs.org/3302
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit df05b71d9bcbf44865954a07cca4704207706b0a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 24 15:43:59 2010 +0100

    Use hcrypto for kernel md5
    
    Use the hcrypto code for kernel md5 too.
    
    Change-Id: I84663a5e29ef8ce4cb0f20be0604198c13b72c43
    Reviewed-on: http://gerrit.openafs.org/2578
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a9b8fd81bf14c04d33113e9e4df4e1ca7573e49d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 15 18:40:31 2010 +0100

    Remove local crypto
    
    This change removes all of the local crypto use in userspace, in
    favour of using our shiny new afshcrypto library.
    
    Change-Id: Iac21b42e49bac424cc28c449a31f2da44121b7e5
    Reviewed-on: http://gerrit.openafs.org/2577
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a17bf58c08edcda0cb09f20e2e9f9a41105085e0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 31 00:52:06 2010 +0100

    Replace bits of libutil with libroken
    
    Replace all of the bits of libutil that were originally culled
    from libroken with libroken originals.
    
    Change-Id: I361d7a8d134a361caa2da16963408c74c55a1d4e
    Reviewed-on: http://gerrit.openafs.org/3211
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 66f5fc4322c578717ef208aa1e969d05e5a9a570
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 30 15:27:51 2010 +0100

    hcrypto: Use system wide libroken
    
    Use the system wide libroken, rather than building our own bits
    locally, for libafshcrypto.
    
    Change-Id: I93eaa3a1d6b9290e30c0892a3313a8eaa639d52a
    Reviewed-on: http://gerrit.openafs.org/3206
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c953505a5946d615b3fcaf49e4247f9a3d734f93
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Nov 1 09:03:43 2010 +0000

    Build: Fix broken bracketing in shared Makefile
    
    There was a stray ( in the shared library build system. We hadn't
    noticed this, as the only place that uses the shared makefile and
    produces binaries is the hcrypto test suite that isn't built by
    default.
    
    Change-Id: I1414c0e1db52307f8ffff4214f411bc028c03fd5
    Reviewed-on: http://gerrit.openafs.org/3210
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d0c1696d811c3af4fc8ad693e3873fce81b20626
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 11:15:58 2010 -0400

    Windows: build tsalvaged on Windows
    
    Build the pthreaded salvage server on Windows.
    (This work is not yet complete.)
    
    Change-Id: I6c2656131a4e49d2bc5869c21f3aa5056a1f3a66
    Reviewed-on: http://gerrit.openafs.org/3328
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0ef39934285e95277d3ae94bacc62d59f592209c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 11:12:51 2010 -0400

    Windows: build tptserver on Windows
    
    Build the pthreaded ptserver on Windows
    
    Change-Id: I556610a7ae7d14e0ec1955e70b72e2edc6912529
    Reviewed-on: http://gerrit.openafs.org/3327
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8073ef008b826c520cbb8dc11b2e0708f3d5ec28
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 11:11:25 2010 -0400

    Windows: build tubik
    
    Build the pthreaded ubik library on Windows
    
    Change-Id: Id6112ef95b60a5f786fa60473ca8ae1a9a3b5201
    Reviewed-on: http://gerrit.openafs.org/3326
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fb6b22cf77039962f22f462ee602f0e4a8153817
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Nov 5 17:30:02 2010 -0400

    Linux: define llseek operations
    
    With kernel 2.6.37 it is now mandatory to define the llseek operation
    for files and directories.  If these are not defined, no_llseek is
    called, and any attempt to seek returns ESPIPE.
    
    Most file systems use generic_file_llseek, but it seems safer to use
    default_llseek which is what the vfs used to call for us by default.
    In 2.6.37 these two functions are actually functionally identical.
    
    Change-Id: I7ad736e3953c4feaa51afb9f7ff2760c3140373f
    Reviewed-on: http://gerrit.openafs.org/3292
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit c737d5382b1f3f5dc10eacfe5ecf8a7391f47cf2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 18 00:58:08 2010 -0500

    Windows: add roken.h to src/roken cleanup list
    
    Change-Id: I09949bfbbdc9def9930696215c58fa94702f1035
    Reviewed-on: http://gerrit.openafs.org/3325
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0c2aa7d5f4b769da9ddf7167244bcf8041b9213e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Nov 17 21:42:00 2010 -0500

    Windows: Add CODESIGN_OTHER option to make signtool rules
    
    Some organizations may need to pass additional parameters to
    signtool.exe.  Add the optional CODESIGN_OTHER value to permit
    arbitrary additional parameters to be specified.
    
    Change-Id: Idba3a06585b11b3bb80854049a8ebcd1f7e2550a
    Reviewed-on: http://gerrit.openafs.org/3322
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 86b7f140e0e3d928a619e08b832ef3ae7690fad7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 15 14:47:22 2010 -0500

    volser: remove unused yesprompt function
    
    In src/volser/vsprocs.c is an unused function, yesprompt.
    Get rid of it.
    
    Change-Id: Ie87e89f58a0ad0dc37d38fa48a178d19d7459515
    Reviewed-on: http://gerrit.openafs.org/3309
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4f1efdc8b73ed734197925766530d033c6f9794a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jun 6 11:03:44 2010 -0400

    Convert from using nvldbentry to uvldbentry
    
    The support routines relied upon by vos use the older nvldbentry
    data structures which do not include the UUID for the server.
    This patchset updates the code to use the uvldbentry structure
    so that a future patchset can make use of UUID values when available.
    
    Any functions from vsprocs.c which are referenced by vos.c are
    considered public.  This includes all of the VL_xxxx, UV_xxxx
    and Lp_xxxx functions, the EnumerateEntry, SubEnumerateEntry, and
    host mapping functions.  For any which references an nvldbentry as a
    parameter a new 'U' version is created that accepts a uvldbentry.
    These new 'U' functions are then used throughout vos.c and the internal
    routines.
    
    Change-Id: Ib95e4c38574c97284e6b8eee06d92555365a179e
    Reviewed-on: http://gerrit.openafs.org/2089
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e2b4fde0b5850e42cb0ed00852f581fb7d24f8ff
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 30 15:17:09 2010 +0100

    libroken: Build on windows
    
    A minimal change set to get libroken to build on Windows. Sadly,
    libroken contains definitions for a number of platform compatibility
    macros which were previously scattered throughout the windows code.
    These scattered macros have to be removed in order to build libroken.
    
    The impact of this removal is that a very large number of files
    throughout the tree require the addition of "roken.h" to pick up the
    new compatibility code. The bulk of this change is adding these
    includes.
    
    In addition, some of the added includes add roken dependencies to the
    Unix build. So, also add libroken to the build rules in affected Unix
    Makefiles.
    
    Change-Id: Ifba431bd37e67b1e273fbc6f69b805a232193456
    Reviewed-on: http://gerrit.openafs.org/3205
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ccb6e3a5d64aced06c3ff415806735bddf0a900d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Nov 17 12:43:07 2010 +0000

    Add snprintf to roken for Unix builds
    
    vsyslog on AIX (added to rokenafs by commit
    f21fbf6b9ce1dfcb0ea1ef52c686d1370c810609) requires rk_*printf,
    add them to the libroken build.
    
    Change-Id: I243cb89b5715be03920c562559b326786a9e9518
    Reviewed-on: http://gerrit.openafs.org/3320
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f21fbf6b9ce1dfcb0ea1ef52c686d1370c810609
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 16 14:04:30 2010 -0500

    roken build vsyslog
    
    in order to make aix happy, build vsyslog if we have it.
    
    Change-Id: I78e7870ed4fef7ee9d41b0ae6096e6c2b1c6cc19
    Reviewed-on: http://gerrit.openafs.org/3316
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 901460e50501e7d46fd56f94b96a93b407441532
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Nov 15 15:35:31 2010 -0500

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    387b0fa7baf724cc260559ff8774c04e0e8f7487 (switch-from-svn-to-git-1676-g387b0fa)
    
    Upstream changes are:
    
    Andrew Tridgell (1):
          heimdal: fixed a shadowed variable warning for error_message
    
    Change-Id: I515500ae3c79b3f87393c5fd4f7640d64104ca53
    Reviewed-on: http://gerrit.openafs.org/3311
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ef8c3db90ae9ec25705027c609a1bae5f186c4f1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 10 09:11:47 2010 -0600

    Use afs_foff_t for file offsets
    
    Some callers in vol and volser were not using afs_foff_t for file
    offsets for calls to STREAM_ASEEK, FDH_TRUNC, FDH_PREAD, or
    FDH_PWRITE. Most notably, in code for volume cloning, purging, and
    dumping operations. Fix them to use afs_foff_t to prevent errors when
    dealing with large special files.
    
    Change-Id: I531fa8cb3070007a9c03e5e19c70d546f272a12c
    Reviewed-on: http://gerrit.openafs.org/3289
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b2e0017eba395999fbb74a79a9d31685a1edb936
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 15 15:28:00 2010 -0500

    import vsyslog from roken for AIX
    
    AIX wants vsyslog. pull it in
    
    Change-Id: Ia4160f10bd7b1fd3399e71f3abc49146be57a20b
    Reviewed-on: http://gerrit.openafs.org/3310
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c07b47169adb85621c328a3687ea62ef84e43bb1
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Nov 6 03:17:17 2010 -0400

    Linux: Fix prototypes for afs_xsetgroups and sys_setgroupsp and friends
    
    Fixes some “warning: function declaration isn’t a prototype”, and
    makes the prototypes consistent with the corresponding definitions.
    
    Change-Id: I7dce475800b585c3cc8a735d0a2f92ca339c9fac
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3278
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 90679bf5118557970f00b98dcab0032d3580deb6
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri Nov 5 11:31:28 2010 +0100

    RXOSD and VICEP-ACCESS fields and bits in afs.h
    
    struct vcache gets two new fields:
    int protocol
            which in the lower 16 bits contains the protocol number
                    1 classical rx-fileserver,
                    2 rxosd,
                    4 direct access to visible vicep partitions.
    void *vpacRock
            which for visible files in a vicep-partition contains
            a pointer to a struct known only inside afs_vicep.c
            which contains the pointer to the open file and other
            information.
    
    Change-Id: I9d471a010d99bfa53ac59be3e7daad72e29d02ee
    Reviewed-on: http://gerrit.openafs.org/3013
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 14980b477822ecc66e95f8c2a71f0fc11839afbd
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Nov 6 03:15:06 2010 -0400

    Linux: Fix prototypes for sys_setgroups_stub and sys32_setgroups_stub
    
    Fixes “warning: function declaration isn’t a prototype”.
    
    Change-Id: Idfff2a19496ee7d848800c3b913d779e52187021
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3277
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a0cc81c0894193db11860d8fe40380c7198741a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 15:10:56 2010 -0500

    ubik: Record the last write tid in writeTidCounter
    
    ubik is currently tracking writeTidCounter for write transactions
    separately from regular transactions (assigned from tidCounter).
    Specifically, tidCounter is incremented twice for each transaction,
    but writeTidCounter is incremented twice only for write transactions.
    As a result, writeTidCounter and tidCounter tend to drift far apart.
    
    This is a problem, since the tid for DISK_* calls uses the transaction
    id of the current transaction (based on tidCounter), and VOTE_Beacon
    uses writeTidCounter for its transaction id. So, in effect, the tid in
    VOTE_Beacon is completely bogus and unrelated to the transaction id of
    the actual current write transaction. This can cause valid write
    transactions to become invalidated when tidCounter becomes negative,
    since VOTE_Beacon will send a positive tid, and if there is a current
    in-flight write transaction with a negative tid, SVOTE_Beacon will
    deem the transactions inequal and will abort the write transaction.
    
    So instead, record the transaction id counter for the last write
    transaction in writeTidCounter. This way, when we call VOTE_Beacon, we
    will use the correct transaction id counter for the current write
    transaction, and SVOTE_Beacon on the remote site will not invalidate
    the transaction.
    
    Change-Id: I66f290d21fefdfcf9bd9deb704eefff987fe6970
    Reviewed-on: http://gerrit.openafs.org/2647
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bdbc4494602cf142e2dc046a234dd4ba8610cd51
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 11 18:48:18 2010 -0500

    avoid requeueing callbacks during shutdown
    
    when linux calls osi_linux_free_inode_pages we can try to queue a vcb.
    this is foolish as we are shutting down. so, don't.
    
    Change-Id: I18290396d9107455453de28097e7fad58526ae06
    Reviewed-on: http://gerrit.openafs.org/3297
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 00023f168e0e097c6a7e9da4450a009e4818a1a5
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.
    
    Change-Id: I51228033ff485a92a7805a76e2d6645ec4123495
    Reviewed-on: http://gerrit.openafs.org/3291
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3ecd65d3375f0a4fa4c28f9b59cdf6a1f6fd51b8
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Nov 8 21:59:09 2010 -0500

    Lockless path through afs_linux_dentry_revalidate
    
    Permit a popular path through afs_linux_dentry_revalidate to pass without
    taking a lock which it actually does not need. This affects multi-core
    software-build nodes in particular, where serialization and high stat() counts
    restricts useful processing to a single core.
    
    Change-Id: I6151a1240519d9f91f6e258af71b797ce276f4e1
    Reviewed-on: http://gerrit.openafs.org/3298
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4f7a51aa5115a9073771bc396e25d510aeae71e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 12 17:46:36 2010 -0500

    viced: Add options for interrupting clients
    
    Add the -offline-timeout and -offline-shutdown-timeout options to the
    fileserver, to implement interrupting clients accessing volumes we are
    trying to take the volume offline. Document the new options.
    
    Currently this is only implemented for read operations. Implementing
    this for write operations and callback breaks will require more work.
    
    This also removes the VGetVolumeTimed interface from the volume
    package, since the fileserver was the only user and with this change
    the fileserver now uses the VGetVolumeWithCall interface.
    
    Change-Id: I2c6246d522d37dfd2fa0ecf69d6f71803b2acc03
    Reviewed-on: http://gerrit.openafs.org/2984
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 57a5da63439c2e2b88dd32dc8aa42dc2f6eef116
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 29 11:29:37 2010 -0500

    vol: Interrupt RX calls accessing offlining vols
    
    When we are waiting for a volume to go offline, only wait a certain
    amount of time for it to go offline before we interrupt all RX calls
    associated with that volume. This amount of time is configurable in
    the new offline_timeout and offline_shutdown_timeout volume package
    option fields.
    
    Change-Id: Ib6beb3c37f44dcc067c1c94506804f61752cc4ff
    Reviewed-on: http://gerrit.openafs.org/3216
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 33409b2c849d7fae3b10b3202bb15e338ae5b982
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 29 11:14:49 2010 -0500

    vol: Add interfaces for registering RX calls
    
    Add VGetVolumeWithCall and VPutVolumeWithCall, to associate RX calls
    with volume heavyweight references. Also add the interrupt_rxcall
    field to the volume package options structure.
    
    This also adds the VIsGoingOffline function, so a caller can tell when
    a volume is going offline.
    
    Change-Id: Iacb7738775c8e3aa611360320ca739f5de4ba625
    Reviewed-on: http://gerrit.openafs.org/3215
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit db6ee95864a8fc5f33b7e95c19c8ff5058d37e92
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 27 17:34:40 2010 -0500

    vol: Add VGetVolumeTimed
    
    Replace the VGetVolumeNoWait interface with the more general
    VGetVolumeTimed interface, which allows for waiting for offlining
    volume for arbitrary amounts of time (instead of just "waiting
    forever" or "not waiting at all"). Also add VOL_CV_TIMEDWAIT and
    VTimedWaitStateChange_r as necessary to implement this.
    
    Change-Id: I3d9ea7a89f16ec5fd185eae7679e84033eb2d581
    Reviewed-on: http://gerrit.openafs.org/3214
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9266a08d8c77376c95085b16af492f9b055873a4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Nov 14 00:00:22 2010 -0500

    Windows: ktc_ListTokensEx stub assignment error
    
    Improper use of == instead of the intended = within
    ktc_ListTokensEx.
    
    Change-Id: Id8b49ef91d83000c0685a37bab4a2ca44fc037b4
    Reviewed-on: http://gerrit.openafs.org/3304
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 919c31ecad5633efdf24a747839e926573629c7f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 13 23:58:46 2010 -0500

    Windows: clean token.h/token.xdr.c from src/auth
    
    The new token interface generates token.h and token.xdr.c
    from token.xg in the src/auth directory.  Add the missing
    clean target for these files.
    
    Change-Id: Ic689a5cad3643b450963f10abee725e0010f1e15
    Reviewed-on: http://gerrit.openafs.org/3303
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 88fc9ada4cfaee354199480916d139400ee0ef5b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 30 12:39:22 2010 -0500

    viced: Allow checkout of VOL_STATE_DELETED volumes
    
    The fileserver allows nonexistent volumes to be checked out. Since
    VOL_STATE_DELETED volumes conceptually do not exist, we should also
    allow them to be checked out.
    
    Change-Id: Ibc0f761569b339579acff03a3cbd9f795f783e0a
    Reviewed-on: http://gerrit.openafs.org/2873
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4669a55b58ddb6905424c4f8123d7e631f52eb35
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 12 10:03:43 2010 -0600

    doc: Fix fileserver synopsis
    
    The fileserver synopsis was missing the leading 'fileserver' before
    the options list. This causes the options list to not be interpreted
    as POD, and so you get a lot of ugly unprocessed POD markup in the man
    page. Fix that.
    
    Change-Id: I8e2faf6d46a81185967d30b1669d3f48cbf269dd
    Reviewed-on: http://gerrit.openafs.org/3301
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ec9675bed293c0321cb5dbddbdb02d47e955ccc6
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 11 16:12:18 2010 +0100

    Use port in ugen_ClientInit
    
    Use the port information in ugen_ClientInit also if no server was
    specified and info.hostAddr[i].sin_port is not set.
    
    Change-Id: I7f53f1bea0b034018d44acf0d0ae3b3a39b85134
    Reviewed-on: http://gerrit.openafs.org/3293
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8078c4dcf2dd5a922225f0e37babf1b357b5e72d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 10 15:21:07 2010 -0600

    afscp: Always show fetch/store errors
    
    When we get an error from a fetch or store operation, show what the
    error was, instead of just saying "some network error occured".
    
    Change-Id: I4b1baca0e1b11bd048014ef2b4f4789c7813f0e7
    Reviewed-on: http://gerrit.openafs.org/3290
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 97474963e58253f8c891e9f6596403213d53527b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 11 14:45:04 2010 -0600

    vos release: Avoid full dump on all sites
    
    Commit 9fed169b1c5c823fd96cea94daf712b2cf06c901 attempts to remove any
    remote RO site that has RO_DONTUSE set. However, we set RO_DONTUSE on
    all sites earlier in the release process if this is a full release,
    resulting in all sites getting a full dump.
    
    Correct this by remembering in 'origflags' what flags each site has
    before we messed with the vldb entry.
    
    Thanks to Mike Meffie.
    
    Change-Id: I8c9582c9f7aaee92637ddc1ad11aed96fd69686b
    Reviewed-on: http://gerrit.openafs.org/3296
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>

commit 6d5c1873b5d62539f355e361d8c0eb0377375b44
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 17:02:38 2010 -0500

    Fix util test dependencies
    
    The test programs in tests/util did not depend on libutil.a or
    libtap.a. So, if libutil.a changed, they were not relinked. Add the
    dependencies so correcting a part of libutil will cause the tests to
    actually reflect the change.
    
    Change-Id: Iad9d15ef6affd8178d7ef7cb919f66dcce8c61da
    Reviewed-on: http://gerrit.openafs.org/2484
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c8dc68299d47ae4d7f0c9a1354de9ddd37ff86fc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 11 12:17:05 2010 -0500

    viced: fix missing host lock in h_Enumerate
    
    The global host lock must be held over h_Release_r. Fix the
    the case in h_Enumerate where h_Release_r is called without
    the global host lock held.
    
    Change-Id: I010338edf0a515f543e3468afff907e97eb07163
    Reviewed-on: http://gerrit.openafs.org/3294
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fabd590cc4b0142fe97c4ffa6a4669fe5d44c359
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 29 11:48:44 2010 -0500

    salvager: Do not break cbks when salvaging parts
    
    When salvaging whole partitions / whole servers, the fileserver is
    assumed to not be running. So only break callbacks if we are salvaging
    a single volume. If we are salvaging a whole partition, do not tell
    the fileserver to break callbacks on changed volumes, since the
    fileserver will not be around and we will just hang.
    
    Change-Id: Ia158d5a00574a6907b9b040510ef7d827a2ee05d
    Reviewed-on: http://gerrit.openafs.org/2865
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 19d2e0e34b5f100fdbec1da8373badd624c02248
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Oct 14 01:24:03 2010 -0400

    vol: make namei_ListAFSSubDirs deal with multiple/bad linktables
    
    The salvager ends up deadlocking when multiple linktables exist
    in the same volume group special directory.  The issue is that we
    open and flock all discovered linktables, but only close out the
    last one found.  Consequently, when our child scans the linktables
    again, we deadlock against the locked and leaked descriptor(s) our
    parent left around before forking.
    
    While we have so far been unable to root-cause the actual creation
    of spurious linktables, this patch will at least stop the salvager
    from deadlocking against itself when this occurs.
    
    Change-Id: I67821f2c99663c56e4ec0b008e1d2d3a8751df0e
    Reviewed-on: http://gerrit.openafs.org/2979
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f9409fcdffa594aff9530038a5ac81a2495da3b6
Author: Alejandro R. Sedeño <asedeno@mit.edu>
Date:   Fri Nov 5 17:24:43 2010 -0400

    Linux: use DEFINE_MUTEX for afs_linux_alloc_sem on newer kernels
    
    DECLARE_MUTEX is gone as of 2.6.37; afs_global_lock switches from
    DECLARE_MUTEX to DEFINE_MUTEX at 2.6.16, so do the same here.
    
    Change-Id: If2ea5e1d3b5406c631cade1128425b5be79ffd4a
    Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/3273
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8ec31f26770ef1e85fb3a6005467f0e2d3ce1715
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Nov 7 13:14:55 2010 -0500

    Cache bypass: make readpage deal with reads at end of file
    
    When a file's size is an exact multiple of the page size, the vfs
    will issue a readpage for an extra page at the end, for which there
    is no data.  Deal with it here instead of letting it trickle down
    to the background daemon, which will issue an unnecessary read to the
    server, and maybe get confused because there is no data.
    
    Change-Id: If86ed785c4e9d50edb1a960142f726fa869c50fc
    Reviewed-on: http://gerrit.openafs.org/3281
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5988923898e15cb50d550e54119869b38cb5bc5b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 30 11:34:59 2010 -0500

    volser: Do not FSYNC_VOL_DONE temporary volumes
    
    Currently, the volserver just looks at the destroyMe field in a volume
    header to see if it should tell the fileserver a volume has been
    deleted (FSYNC_VOL_DONE opcode). However, temporary volumes created by
    the volserver (such as new volumes or clones) have destroyMe set, but
    are obviously not deleted, and so the fileserver should just be told
    FSYNC_VOL_LEAVE_OFF about these volumes instead.
    
    With commit bb9caf9822a53ad07cd3a5d6cea7f6b7eeeedd59, FSYNC_VOL_DONE
    and FSYNC_VOL_LEAVE_OFF actually do different things, so this does
    make a difference.
    
    Note that this commit slightly changes the meaning of the
    vp->needsPutBack field. Now it must be set to VOL_PUTBACK_DELETE to
    tell the fileserver that the volume has been deleted, and set to
    VOL_PUTBACK if it just needs to be given back to the fileserver.
    
    Change-Id: I020679c853b93593e5c75c4f30ac56312ba0f8d6
    Reviewed-on: http://gerrit.openafs.org/2872
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0b6b2b3cab09eacf9b03638d8770c83aeb0b8fea
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Nov 7 13:35:36 2010 -0500

    Cache bypass: adjust read size for non-contiguous readpages
    
    The bypass code's readpages does deal with a non-contiguous list
    of pages, but it doesn't adjust the size of the read it requests
    from the background daemon accordingly.  As a result we'll ask the
    server for pages we were not asked to read.
    
    Change-Id: I5468a4a68f4f415961298144f5bb581faeda540a
    Reviewed-on: http://gerrit.openafs.org/3282
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit df682aa34170d285247c5486050db3ee7d3774f0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Nov 8 11:07:14 2010 -0500

    rxperf: use parallel connections
    
    When the number of threads exceeds RX_MAXCALLS allocate additional
    rx connection objects.
    
    Change-Id: Ib935b453672e68b88ec816770990070514c48222
    Reviewed-on: http://gerrit.openafs.org/3285
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb7a5ce44470112d3ba5e341322bb9e7d029e101
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Nov 6 15:18:14 2010 -0400

    RX: rxi_PrepareSendPacket drops call lock; WaitforTQ required
    
    Since rxi_PrepareSendPacket drops the call->lock during
    processing the caller must perform a rxi_WaitforTQ prior
    to manipulating the transmit queue.
    
    Change-Id: Icd16444d84235c1fb647bf96bd85706c7396a4bb
    Reviewed-on: http://gerrit.openafs.org/3279
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e890f090e11d09b6e6b929642cbd92a56fb6e66e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 5 16:48:28 2010 -0500

    vol: Do not give back not-checked-out vols
    
    VAttachVolumeByName_r has logic to give back a volume over FSSYNC if
    we checked out a volume but failed to attach it for whatever reason.
    However, the logic used for determining if the volume was checked out
    or not is a bit inaccurate (even moreso than the comments imply),
    potentially causing us to VOL_ON volumes that don't exist at all.
    
    Instead of trying to guess based on various conditions whether or not
    we checked out the volume, keep track of a variable that is only set
    when we actually checkout the volume from the fileserver. Then only
    give back the volume if it is set.
    
    Change-Id: I03197eca3e1a31a4b9566552eb9032fdc7cc5909
    Reviewed-on: http://gerrit.openafs.org/3274
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4250dc64eb26b5da1480e9f5bd58d016f81847f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Nov 7 15:06:16 2010 -0500

    Cache bypass: release and unlock pages when we get 0-length reply
    
    In some cases, such as reading past the end of file as known to the
    server, fetchdata will get a 0 length reply.  Deal gracefully by
    unlocking and releasing any pages reserved by readpages.  Failure
    to do so here leads to deadlocks later as we can exit with some pages
    still locked.
    
    Change-Id: Ic9e496c8c64d5e94f2cf9976d160ef5873f27249
    Reviewed-on: http://gerrit.openafs.org/3283
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f78b29b900028d67c51de7ae6c9e46b94602196c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 1 09:36:06 2010 +0100

    rx: Reorganise includes
    
    RX files were including the same header set in three different places,
    once for user-land builds, once for kernel builds and once for ukernel.
    The duplication was a bit pointless, and really frustrating when adding
    new headers. So, reorganise the includes so that we only list headers
    that are used in all three builds in one location.
    
    Also take the opportunity to indent the #ifdefs so that it is clear
    what is going on, and to remove some more of AFS_OSF_ENV and
    AFS_AUX_ENV from kernel builds.
    
    Change-Id: Ic2b5d39de4dd406bbc0acaa29fc876ac882ccf10
    Reviewed-on: http://gerrit.openafs.org/3160
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 27f00bb29665d6a9c725817f105cfba48af4adbe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Nov 5 08:27:37 2010 -0400

    Windows: fix keystroke delay in waitkey
    
    Fix the keystroke delay in the pthreaded wait for key
    function.
    
    Change-Id: I79293ceca57a418d23b0a211f875c17b805f9391
    Reviewed-on: http://gerrit.openafs.org/3268
    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>

commit aac929badb5e40a59ae77ae69fc43df8f6f376fc
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.  Remove the duplicated code in the pthreaded butc
    package.
    
    Change-Id: Idbefa88e2563bb117322e818b1300b324fc3626d
    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>

commit ef4b9e13ef6a79d7e5f540297e486189fdedf085
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 5 14:34:05 2010 -0500

    DAFS: Do not let VScheduleSalvage_r free vp
    
    In VScheduleSalvage_r, we were calling VCancelReservation_r, which has
    the possibility of free'ing vp. Since we still use vp after doing this
    (and since we're already inside VCancelReservation_r to begin with),
    we must not free vp. Instead, just decrement nWaiters without
    triggering any of the dtor code in VCancelReservation_r. This is safe
    as long as all VScheduleSalvage_r callers ensure that they check to
    free the vp if necessary, which they all do.
    
    Thanks to Derrick Brashear.
    
    Change-Id: Iebdbdf47c6307cd7c036b88ad4dbc25bc7a3279a
    Reviewed-on: http://gerrit.openafs.org/3272
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a8d1fe61f4a0d906d4086b71c88b0a3ab278b12c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 28 01:03:49 2010 -0400

    merge ntops and namei
    
    instead of having 2 implementations of nearly the same thing,
    merge what we can. this can get closer, probably, but this is
    a start.
    
    Change-Id: I8446649e37ab0856e6e40933a44a35edbc708638
    Reviewed-on: http://gerrit.openafs.org/3180
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bb1dd6c95025b40d64f8ea4deeeba3c3c1f10a50
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Fri Nov 5 09:38:43 2010 -0400

    RedHat:  Remove potpourri.h from RedHat SPEC file manifest
    
    potpourri.h is no longer needed, so it should be removed from the
    list of files to be installed.  The missing file was causing the
    RPM package build process to fail.
    
    a reverse-cherry-pick of fb7e276efdf1c68144c8d210582c0b66ab1ab081
    Reviewed-on: http://gerrit.openafs.org/3267
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    
    Change-Id: Ib4c585130da68f0bb8cab8eb8ffdb7d8980a11d9
    Reviewed-on: http://gerrit.openafs.org/3270
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2c6ae300a211460c24c87752cf9400b9e61ee1f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Nov 4 20:49:41 2010 -0400

    Cache bypass: Fix oops in bypass transition functions
    
    The FCSBypass flag might change between the time we check it before
    entering afs_TransitionToCaching or afs_TransitionToBypass and when
    we check it again within the functions.
    
    Instead of panicing, just exit if someone beat us to it.  Also move
    the checks within the write lock region to make sure the code
    doesn't get run multiple times.
    
    Change-Id: I4319896e522d0681c548299d2bd547e71998cc88
    Reviewed-on: http://gerrit.openafs.org/3266
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 732a4c52d5e4836d8219dd03c2e9e17e89e395a5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 12:07:17 2010 -0500

    RX: Fix old rx_stats incrementors
    
    A couple of places were still trying to increment rx_stats members by
    just ++'ing them. Update them to use rx_atomic_inc.
    
    Change-Id: I35f5b24a08952d308074851623b06580e4b2b93b
    Reviewed-on: http://gerrit.openafs.org/3263
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 354d21878ed401c644a5392f86af3fe6e660801f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 11:46:10 2010 -0500

    krb5_free_string takes a krb5_context
    
    Give krb5_free_string a krb5_context, not just the string to free.
    
    Change-Id: Ic24794286716669679ea278d20b279a458683103
    Reviewed-on: http://gerrit.openafs.org/3262
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e8c93c424fc6bd936386f745b50e0a77384ad14d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 11:37:31 2010 -0500

    tsm: Make explicit rules for stem-changing targets
    
    If the stem changes for generating a .o from a .c file,
    implicit/suffix rules will not apply. That is, if we specify the
    dependencies for 'bar.o' in a Makefile as so:
    
    bar.o: foo.c
    
    This will not match an implicit .c.o rule, since the filename stem
    changes. We must add an explicit AFS_CCRULE invocation to make the
    rule do anything.
    
    This fixes this problem for the src/tsm41 directory. It may exist
    elsewhere, but it's difficult to find unless the build breaks.
    
    Change-Id: I090c074beec120201f334b8bc613170cd4345dde
    Reviewed-on: http://gerrit.openafs.org/3261
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d6860c852296d96eac2785739bcfb9de76cd92d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 10:57:30 2010 -0500

    UKERNEL: f_fsid is a struct on AIX
    
    The statvfs f_fsid member is a struct with two fields on AIX when
    _ALL_SOURCE is defined (which we define to get various extensions). So
    in the AIX case, use it as such a struct instead of a single integer.
    
    Change-Id: Ibd94d6b38b0cdc08b5812fe29e4e93344765ff05
    Reviewed-on: http://gerrit.openafs.org/3260
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8401d0281f833638c1cfc5cb862d77fe97232ecb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 10:33:17 2010 -0500

    afsd: Pass cacheMountDir to aix_vmount
    
    cacheMountDir is no longer global, so aix_vmount() needs it passed as
    an argument. Do so.
    
    Change-Id: I26c56b49f5ec675277d137424f672f0b727f705d
    Reviewed-on: http://gerrit.openafs.org/3259
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3f4460e1e9efb562ae194a40aa0827423142e048
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Nov 4 10:30:31 2010 -0500

    Use termios.h for winsize test where available
    
    The configure test for 'winsize' existence was using sys/termios.h,
    but some platforms (AIX) have termios.h but no sys/termios.h. So, use
    termios.h instead where available.
    
    Change-Id: I284b7fa27ceeed84d9e14b62032176846d764bf2
    Reviewed-on: http://gerrit.openafs.org/3258
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6f1da57603cf86109e096001018ba9b0f1dd18b5
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.
    
    Change-Id: Ieab26cf03a86e340f442d683512a7326eec7834d
    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>

commit 2ea841feac2de8ade987c18cb7043aacfebe0d83
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 2 20:54:20 2010 -0400

    Linux: 2.6.37 - replace get_sb with mount
    
    With kernel 2.6.37 the new entry point for mounting a filesystem
    is the mount() operation instead of get_sb().
    
    Replace afs_get_sb with afs_mount if the new operation is
    available, and use mount_nodev instead of get_sb_nodev.
    
    Note that this is not strictly required for 2.6.37 since the old
    interfaces are still around, but we might as well switch now.
    
    Change-Id: Icc73a552fd53148bdd7b84e6d3266491488d9ed2
    Reviewed-on: http://gerrit.openafs.org/3245
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 951612f4508b0c2ace4676f263df8dd4b566dd44
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Nov 2 12:15:42 2010 +0100

    Make osi_fetchstore.c protocol independent
    
    For future use of OSD and vicep-access osi_fetchstore.c should not depend on
    the rx-fileserver-protocol but call instead the routines pointed to by ops.
    
    Some code beautyfication in afs_fetchstore.c to use nBytes instead of code.
    
    New global variable afs_protocols in afs_fetchstore.c which will be used
    in RXOSD/VICEP-ACCESS programs in the future.
    
    Change-Id: Id6b6e6c794b4fb00ad4719670caefd381f98949b
    Reviewed-on: http://gerrit.openafs.org/2952
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c61e1aeeef8f81f75084f457e4d6e5e1d754cfa5
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Oct 29 14:21:37 2010 +0100

    Docs: Specify where the Windows mini dump file is written
    
    Change-Id: Ia97bc5f22f10c35e2d2928ca8ed618583f06563e
    Reviewed-on: http://gerrit.openafs.org/3187
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d5ce8d19ace9b87816dd36663420136f5f2ad746
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 2 14:47:35 2010 -0400

    rx mutex inversion fix
    
    as discovered by Benjamin Kaduk, we were usually holding rx_refcnt_mutex
    but briefly, and here we held it longer, and thus around acquiring freepktQ
    mutex. undo it by simply setting STATE_RESET sooner as newcall does.
    
    Change-Id: I3ae6fce1832d79c7cf17e93831cf8f30aebeb82b
    Reviewed-on: http://gerrit.openafs.org/3219
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 862e29a98aee72918fc25e960556f732ba80522c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Nov 2 16:16:20 2010 -0400

    Windows: Do not leak cm_volume_t objects from the LRU queue
    
    During cm_volume_t object recycling the object is removed
    from the LRU to ensure that a single object is not recycled
    by multiple threads at the same time.  Before cm_FindVolumeByName()
    exits the object must be re-inserted into the LRU if it is not
    present.
    
    LICENSE MIT
    
    Change-Id: I3feb3fb55beddffdbbf52a79efcc8d44af39b891
    Reviewed-on: http://gerrit.openafs.org/3220
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 58901738ad6280d0777dd8e77f8c09cc45da04bc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 28 00:37:03 2010 -0400

    vol: attach2 must always return with VOL_LOCK held
    
    attach2() is required to return with the VOL_LOCK held
    even though it is called without it.  This must be true
    for error conditions as well.  Not all error paths are
    obtaining the VOL_LOCK before returning.  Add out paths for
    lock held and lock unheld error cases.
    
    Change-Id: Ib6a05a9bafd9eb3a26a1dd3881d19baa6d59a05e
    Reviewed-on: http://gerrit.openafs.org/3177
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c120f5c9b64a1333f965125dcfc435e922b47356
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sat Oct 30 18:10:34 2010 -0400

    afs: minor cleanup for LINUX struct vcache
    
    mapcnt is no longer used in either linux client and should be removed
    to save a little space/sanity.
    
    Change-Id: Iea734fcbcb7bb639ea080de7b5bf70238bcb60f2
    Reviewed-on: http://gerrit.openafs.org/3207
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0aa7fac246ce044c757530ebe96d3a05c2f33894
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 2 16:57:42 2010 -0500

    DAFS: Fix demand-salvages of attached volumes
    
    Currently, when an error is encountered for an attached volume, we
    call VRequestSalvage_r, which makes the volume go into the
    VOL_STATE_SALVAGING state. This state implies that the volume is
    offline, however, which is not necessarily the case if we're calling
    VRequestSalvage_r from, for example, VAllocVnode_r or VUpdateVolume_r.
    
    So now, make a new state called VOL_STATE_SALVAGE_REQ to indicate when
    a salvage has been requested but the volume is not offline yet (and
    thus is not yet ready to give to the salvager). If VCheckSalvage finds
    a volume in this state, it offlines the volume first. The FSSYNC
    VOL_OFF handler now checks for this state, and if we're giving the
    volume to the salvager, we wait for the volume to exit that state.
    
    VRequestSalvage_r also gains a new flag, VOL_SALVAGE_NO_OFFLINE. This
    is to ensure that the existing salvaging code paths for unattached
    volumes does not change (for when VRequesetSalvage_r is called from
    attach2). If this flag is passed, we do what we used to do, which is
    just salvage the volume without offlining it.
    
    Change-Id: Ie709ac7013ab2b52c87fa408c254651abe5e6af3
    Reviewed-on: http://gerrit.openafs.org/2329
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 138ac6577eab40e25a796f7c18f3c39add000ed2
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.
    
    Change-Id: I7b19a3c2cad8b7233eb03a83598f9bf95db5ac65
    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>

commit 81602ffa3b6d981ab96ca17d970e585b7be28e6d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 1 17:30:20 2010 -0500

    QSG: DAFS uses dasalvager
    
    For DAFS, you want to use 'dasalvager' not 'salvager'. One place was
    still referencing 'salvager' in a DAFS example, so fix it.
    
    Change-Id: Id671fa6125212beb1fb7f23a8743c1288848ee12
    Reviewed-on: http://gerrit.openafs.org/3217
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 572f9baaeb626293f4db62a66db1ea9b9a373c03
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 31 21:58:37 2010 -0400

    check for error_message
    
    IRIX apparently has enough krb5 to try building aklog, but no
    error_message. ok. so let's cope
    
    Change-Id: I3cb6d529829de348f73d5c9f5380e153f8ccce52
    Reviewed-on: http://gerrit.openafs.org/3208
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit af0951f373224ce17b341bc5d227fdd5ea621762
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 29 13:47:17 2010 -0400

    kill off afs/debug.h
    
    as reported by Marc Dionne, debug.h was still redefinining assert()
    
    yeah, let's be done with that.
    
    Change-Id: Icf2cf3db0f4972ebd4ee8cc0547e436b612e8bbc
    Reviewed-on: http://gerrit.openafs.org/3194
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5e47d03ed37b87da72f4c1f8fca7a5efff6b0bb3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 29 12:10:16 2010 +0100

    Add libroken as its own library
    
    Include libroken as a library in its own right, so that the whole
    of the code can benefit from it. This change purely adds libroken
    for the Unix build system. It doesn't replace those pieces of
    libroken in hcrypto or util, or enable it for Windows.
    
    There is also the option of using a system-install libroken, if one is
    found at configure time.
      *) If --with-libroken=yes, or is not supplied than a system library
         will be used if suitable. Otherwise, we'll use the internal
         libroken
      *) If --with-libroken=/path/to/installation then the libroken at
         that path will be used. If there is no libroken there, or it
         is not suitable, an error will be returned
      *) If --with-libroken=internal then the internal libroken is used,
         regardless of what is present on the system.
    
    We deliberately do not provide installed headers for the internal
    libroken. If other applications wish to make use of libroken, then
    they should use the Heimdal one, rather than piggybacking on ours.
    
    Change-Id: Iff01e1e17090404cc8e4783108ae8a8784170918
    Reviewed-on: http://gerrit.openafs.org/3191
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b5d0c34fcdff6bde79cf0e498044e8a200052084
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sat Oct 30 15:00:38 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69)
    
    Change-Id: I5aafccd5a2afb46d312d0ebf93050eded29ced30
    Reviewed-on: http://gerrit.openafs.org/3204
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6ab0529a70f76758fa4442913128aa40b0bec84b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 30 14:53:39 2010 +0100

    auth: Use Kernel XDR for kernel tokens
    
    For consistency, we should use a version of token.xdr.c built with
    the -k flag when we build it into our kernel modules.
    
    Change-Id: I08e7a1966664141af6c4ed160d3fb860eb5821bd
    Reviewed-on: http://gerrit.openafs.org/3202
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c094874817d00dc0df7d48c070f0b5d4673ee349
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 29 19:19:48 2010 +0100

    util: netutils never builds in the kernel ...
    
    ... so stop pretending that it does.
    
    Change-Id: I9d1d7c9b8c826f18e7f02decdb555956b257e155
    Reviewed-on: http://gerrit.openafs.org/3201
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0a87f5852ab98ccdc01699935208a418aacb7852
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Wed Oct 27 21:26:47 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69)
    
    Change-Id: I57e56bbad5811d47194459618ffc6e361f01a876
    Reviewed-on: http://gerrit.openafs.org/3190
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 88e2a2f26623b2fdc0c9e5887fea169eca7302c5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 30 14:58:31 2010 +0100

    Import still more files from libroken
    
    This time, these are files which are needed to get Windows going.
    
    Change-Id: I262c5770ec04318f02cbc3e02520e63e09bc4dc6
    Reviewed-on: http://gerrit.openafs.org/3203
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a546fc1707bc32ecb71d42dd48f91eebe3876439
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Oct 29 16:23:07 2010 -0400

    Linux: remove stale prototype and references for read_super
    
    The 2.6 code doesn't have an afs_read_super, so remove the
    prototype and the outdated comments that reference it.
    
    Change-Id: I1ff5c836ea0ba326d4512ddcfab3f34765347331
    Reviewed-on: http://gerrit.openafs.org/3199
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9c8d58cd93b98120a7ff31a90b3f9f0ef354a1bc
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Oct 26 15:00:58 2010 -0400

    Quickstart Guide: Add some verbiage about /vicepXX/AlwaysAttach
    
    Change-Id: I18f8276933d69ebf7de247bd98c46b30f9e5f372
    Reviewed-on: http://gerrit.openafs.org/3158
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a43605e7bf16e8e1101ed6d6e085826cf085c897
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Oct 29 16:09:45 2010 -0400

    rxosd: allow parallel make
    
    Build rules that use COMPILE_PART1 must be prefixed with +
    to indicate to make that the subprocess is a make and that it
    can run with parallel jobs.
    
    Change-Id: If48b32b885c7c5be6a820cd44a83d01d1eecd20d
    Reviewed-on: http://gerrit.openafs.org/3198
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1fa575c09ea7aa66e657b226465cb90dbba4af70
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 19 12:17:20 2010 -0400

    Fix fs bypassthreshold to accept a size of -1 to disable
    
    The fs bypassthreshold command assumes a value of -1 means the feature
    is disabled, but the CLI refused to accept this argument, since it is
    not strictly a digit (according ti isdigit()).  This patch accepts the
    string -1, and makes it possible to both enable AND disable this
    feature.
    
    Change-Id: I87720b2dcfc4e9ee9f322c4841836b74440ac442
    Reviewed-on: http://gerrit.openafs.org/3009
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c77ac5ce976b6f3e5a13a3f739ddbb6e32a177b1
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 19 11:31:47 2010 -0400

    fs getfid defaults to '.', like other path-related commands
    
    I noticed that all of the other commands that accept a list of paths
    use the SetDotDefault() function to default to ".", when no arguments
    are given.  This patch adds that call to getfid, making it more
    consistent with similar commands.
    
    Change-Id: Ia50c6805996d338cbd8d006107caa4ea56178c8e
    Reviewed-on: http://gerrit.openafs.org/3008
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d390df097cac0fb7815c43e071040559612b6360
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 19 11:23:46 2010 -0400

    fs getfid output changed for consistency with Windows implementation
    
    This patch removes the redundant volume ID from the output of fs
    getfid, and replaces it with the cell name, which is what the Windows
    implementation provides.
    
    Change-Id: I7ce009733a204eeb744683d9c4355c436e9e07aa
    Reviewed-on: http://gerrit.openafs.org/3007
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b04a450df2e54a549f9c7e014016475fa566937b
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 19 08:24:41 2010 -0400

    Makes fs getfid error handling consistent with other fs commands
    
    This patch makes the fs getfid command print errors for paths that
    can't be handled correctly, instead of quietly ignoring them, and it
    also returns an error code if any such paths are encountered.  This
    makes the behavior consistent with other fs commands, such as
    listquota, whereis, etc.
    
    FIXES 128372
    
    Change-Id: Ibb6e3f6cee5dccbf9347dfa8bfee8776a7552b91
    Reviewed-on: http://gerrit.openafs.org/3005
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4f5cdd73f665434f531144151f9b6e1f4702cf02
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Oct 29 19:57:50 2010 +0100

    QuickStart Unix: use dafs type and name for demand attach file services
    
    bos create <machine name> dafs dafs [...] (not fs).
    
    Change-Id: I7c06666da4733144ec0709f2783dcb431c6a5891
    Reviewed-on: http://gerrit.openafs.org/3197
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aad83a30a82407bfa6ac15b49fd31d69b563e898
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Oct 29 03:18:02 2010 -0400

    FBSD: correct and simplify vcache eviction routines
    
    osi_VM_FlushVCache and osi_TryEvictVCache were both attempting
    to be wrappers around vgone(), with some checks before hand.
    Implement the latter in terms of the former to prevent
    code duplication and propagation of incorrect code.
    
    Additionally, correct the locking around vgone().  The
    vnode lock must be held, and we must also increase the vnode's
    hold count so that it does not disappear out from under us.
    As we need the interlock to check the usecount, keep it
    locked until we lock the vnode lock, for extra protection.
    
    As an added bonus, we no longer try to call vgonel(), which
    is not an exported symbol and merely happened to work due
    to the current kernel linker implementation.
    
    Remove some stale comments.
    
    With this change, a parallel buildworld completes on
    my four-core machine.
    
    Change-Id: I665607da25518ddd786869b139d87baed8a05e9f
    Reviewed-on: http://gerrit.openafs.org/3196
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b6367aa84b9d1c7529b6f3a12bbfeacc91384ffb
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Oct 29 12:01:04 2010 -0400

    FBSD: lock interlock around v_usecount accesses
    
    The FreeBSD vnode locking strategy requires that the vnode
    interlock be held for all accesses to v_usecount, such as those
    used by our VREFCOUNT and VREFCOUNT_GT macros.  Conveniently,
    a wrapper function is provided that takes the lock around its
    access of the element, vrefcnt().  Use it for our macros.
    
    Change-Id: Ia88eb21046fe844a6adb830734dcae2f76ef2dc5
    Reviewed-on: http://gerrit.openafs.org/3195
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 812333c9a0d4722142d22186fe9b07b39fe6993b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 26 20:13:38 2010 -0400

    RPM scripts should allow newbinary restart to restart
    
    add a mode where a newbinary restart can be used instead of
    condrestart to induce a restart.
    
    also, on upgrade, don't turn on the server RC script if it was
    previously manually disabled.
    
    Change-Id: I0e45be751cb2c5d9392d85467a979a22f5a777cf
    Reviewed-on: http://gerrit.openafs.org/3163
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0e8cce457763b131de48395a9beed889fd529c1f
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Oct 19 14:50:35 2010 -0400

    afs: clean afs_osi_Alloc() usage
    
    Add asserts for any failures cases not explicitly handled and remove
    any casting.
    
    Change-Id: I282d917ab84b37012553233f2c913b2aef1c92e2
    Reviewed-on: http://gerrit.openafs.org/3012
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 061b7146566b00a33958ecc9d4cbea9b14a36697
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Oct 19 12:30:02 2010 -0400

    afs: simplify afs_osi_alloc.c
    
    remove the osimem struct and related casts
    
    Change-Id: I25c6b0101ce0ec03c9930ab79c05190defb1529d
    Reviewed-on: http://gerrit.openafs.org/3011
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ebeac56867acdb168b711ae103d7e5869011c947
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Tue Oct 19 12:19:16 2010 -0400

    afs: afs_osi_Alloc_NoSleep() cleanup
    
    afs_osi_Alloc_NoSleep() is no longer used by the SOLARIS or IRIX
    clients.  It is used by the *BSD code in rx, so just let those
    platforms define/prototype it in their osi_machdep.h
    
    Change-Id: Ie2e4a6f7520329c345ac63c67d7b156ed21d109f
    Reviewed-on: http://gerrit.openafs.org/3010
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80ede164757ad54ddd59b638f2c007f8ad900c3e
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Oct 26 19:43:59 2010 +0100

    What the cache manager needs to know about rxosd
    
    this patch contains only the RPC interface to rxosd which already
    contains the definition of all RPCs not just those few used in the
    cache manager.
    
    The code which calls these RPCs will follow in subesquent patches.
    
    Change-Id: Ia90934b06e809d0a34ed5d4a0d77eed78b74780c
    Reviewed-on: http://gerrit.openafs.org/3192
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6aa9a8b9f6a8720ff8b5e983cc5a7005363747e2
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Fri Oct 29 18:01:13 2010 +0100

    windows: terminate multi_sz correctly
    
    CreateProcess requires a null-terminated list of null-terminated strings
    as an environment parameter.
    
    A missing level of indirection was causing the final null to be
    missed, meaning that if bosserver ran from somewhere which had an
    environment the create process would fail.
    
    Fix the null termination.
    
    Change-Id: I3496d1c76570b80c760d0c0d8ee7fe046cec75b6
    Reviewed-on: http://gerrit.openafs.org/3193
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5fce5754cee4f466f99681fcd7f42e5735e9776d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 28 01:19:17 2010 -0400

    Windows: Finish converting vol apps to pthread only
    
    The src/vol directory on Windows is one of the rare examples
    where a single directory builds both lwp and pthreaded versions
    of libraries and executables.  With this patchset the executables
    are fully converted from lwp to pthread.  This requires that
    afsrpc.dll include the pthread implementations of the threadname,
    fasttime, and lock implementations from the LWP directory.
    The inclusion within afsrpc.dll permits the dviced and
    dvolser directories to avoid rebuilding those object modules.
    
    Change-Id: I70c6e9ec346b5d9ef05d2400ddaf21e33a0c67a4
    Reviewed-on: http://gerrit.openafs.org/3181
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 50b6a116a1c412d0e6d7442d13d6e92c9dbb35ee
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Thu Oct 28 00:20:30 2010 +0200

    windows: native versions of ih_pread and ih_pwrite
    
    Separate the windows code out in ihandle.c to reduce dependency on ntops.
    
    As an aid to future threading issues, pass the offset in an OVERLAP
    rather than doing a separate SetFilePointerEx.
    
    Change-Id: I225387a574b1301516a9313838bbcb86e9e14b8d
    Reviewed-on: http://gerrit.openafs.org/3176
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e8991ff8286f151d109bb4f98d885a583e198f83
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 28 00:43:26 2010 -0400

    vol: Use OSI_NULLSOCKET and not -1 to indicate invalid fssync fd
    
    The FSync file descriptor is an osi_socket which has an invalid
    value of OSI_NULLSOCKET which is not necessarily -1.  Be sure to
    compare against OSI_NULLSOCKET and not -1 when checking an invalid
    value.
    
    Change-Id: I5b7531e690ea06046b337222b52a5013c7f8802e
    Reviewed-on: http://gerrit.openafs.org/3179
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d21dd16789458c07e63abe021f93f656dba4e52c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 28 00:40:32 2010 -0400

    vol: Always use INVALID_FD to indicate an invalid fd
    
    file descriptors on Windows are not ints and therefore
    cannot be safely compared against -1.  Always use INVALID_FD
    which is -1 on UNIX and INVALID_HANDLE_VALUE on Windows.
    
    Change-Id: I8788f95817ee45367f04f4b90b4e6625c5a39dca
    Reviewed-on: http://gerrit.openafs.org/3178
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37a7b759348430782ffb397f6896063329a9e12e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Oct 27 21:26:19 2010 +0100

    Import: Add roken files from heimdal
    
    Add the necessary files to our import list such that roken can be
    built as a standalone library.
    
    Change-Id: Ia9b5b14c618f4ac47eb99bd500d6465b6b25e4dd
    Reviewed-on: http://gerrit.openafs.org/3189
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 96e95c4000ce649591275eb4aefceb5f28f92c6b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 29 12:40:31 2010 +0100

    shlib-build: Add ignore option
    
    Add an option to shlib-build to ignore missing symbols in the map file.
    This is already the default on some platforms, but others (such as
    Darwin) require that all symbols in the mapfile be present in the
    objects. This is a pain for libraries such as libroken, which will
    have different symbols on different platforms.
    
    Specifying -i adds the necessary magic to Darwin's ld to relax this
    check. Changes may also be necessary for other platforms, but I
    don't currently have those available for testing.
    
    Change-Id: Ieaff8ed6dd4e16dfc420b90b85e4471952d83bd2
    Reviewed-on: http://gerrit.openafs.org/3188
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e30e916e2059bac14f1d1dec3213d703374b1fe9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 13:06:26 2010 -0400

    ubik: Set but not used variables
    
    Fix warnings, remove unused variables and code.
    
    Spotted by gcc 4.6
    
    Change-Id: I0a055c5f0fec34993c81f2dcf8f976cba5a31c8b
    Reviewed-on: http://gerrit.openafs.org/3185
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b88e6cadf1f56f41ffc7e37e9b62d9354481a98d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 13:39:00 2010 -0400

    bucoord: Set but not used variables
    
    Remove unused variables
    
    Spotted by gcc 4.6
    
    Change-Id: If86786ba41401553994fb531b83164b5dfdc079a
    Reviewed-on: http://gerrit.openafs.org/3184
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 783d560eef013a72377f59a516ee21d42c9e4854
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 13:49:49 2010 -0400

    xstat: Set but not used variables
    
    Remove unused variables.
    
    Spotted by gcc 4.6
    
    Change-Id: Ibe26d3c58027704d525424a15f71ae954a5c2be4
    Reviewed-on: http://gerrit.openafs.org/3183
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 832607318b9ad4ab38bb62515cdb4959cc21a656
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Oct 28 22:45:33 2010 -0400

    FBSD: fix dumb panic when we can't pfind rxk_Listener
    
    The process is only returned locked if the process is found.
    Don't try to unlock it if it's not found.
    
    Change-Id: I3911955561d0d97e8080bcd18b4e4393b19ad860
    Reviewed-on: http://gerrit.openafs.org/3186
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7e37c1a2f75fb0a7e6ced9060c789802fc9ae1e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 26 09:41:47 2010 -0400

    explain yacc build product dependency so it is not removed
    
    in order that our .c.o rule applies, force yacc source to
    not be built directly into an object.
    
    Change-Id: I9d0722ae74726feef92b1bc7eb7647ce7f97633b
    Reviewed-on: http://gerrit.openafs.org/3149
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0cc3cc9412c232e2ec799ee1f1a9a90f3e56ab66
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Oct 26 20:33:41 2010 -0400

    bucoord: parallel make fix
    
    Fix an instance of a Makefile rule with multiple targets.
    This can cause a parallel make to fail when two instances of
    compile_et compete to write the same output files.
    
    Spotted by a build failure with a corrupt bc.h header.
    
    Change-Id: I4adee125a82d640bc78f15c77494a22157cf7f5d
    Reviewed-on: http://gerrit.openafs.org/3165
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 68aace4054430105ceaf52ce8e316f3ae01e7dc8
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Thu Oct 28 18:34:41 2010 +0100

    Windows:  fix built in touch
    
    Recent versions of windows add a whole bunch of attributes above
    A_ARCH.  (FILE_ATTRIBUTE_NOT_CONTENT_INDEXED was what bit be but
    encryption of compression would do it).
    
    This makes ~_A_ARCH not a good choice for testing nonwritability
    of a file - so files with these new attributes just get silently ignored.
    
    Using an explicit mask is much better.  So do that.
    
    Change-Id: Ie176ffae1995dd50c70319e196c0d30420733ccf
    Reviewed-on: http://gerrit.openafs.org/3182
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e1ed8ab1d93906e1b556de332fa32601a9a489fc
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Oct 27 21:08:28 2010 +0200

    windows: preserve lasterror prior to calling free
    
    free() destroys GetLastError, so preserve it before giving back all the
    buffers.  Then if the create process failed we have something sensible to
    log.
    
    Change-Id: Ibb8bb870230f9c4e96f5ec9d4948552616cd7456
    Reviewed-on: http://gerrit.openafs.org/3175
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 46cf6c8f365d25122c550b76be61a880d16f531b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 27 14:25:10 2010 -0400

    don't duplicate work of ctime_s
    
    on windows we use ctime_s for ctim'ing to a buffer. except we
    allocate an extra buffer. "uh"
    
    Change-Id: Ic40583814d0e1d05d7c98cde09855c036045208e
    Reviewed-on: http://gerrit.openafs.org/3174
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9749e5284cb8915d5e9b886bd74f1580d5bff28c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 27 14:18:28 2010 -0400

    viced don't double-print start time
    
    side effect: remove the version which breaks on 64 bit windows
    
    Change-Id: I8a1d2cde1f2eebe3242b26d0c8b62e39bfc7dfec
    Reviewed-on: http://gerrit.openafs.org/3173
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b3c21294f4b51f85cc6e24cc4d1b984f53c553e4
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sun Oct 24 11:56:07 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from heimdal to
    a3afa695ee3eb1ff5ad8de3e80c20d5049fce934 (switch-from-svn-to-git-1619-ga3afa69)
    
    Upstream changes are:
    
    Chas Williams (CONTRACTOR) (1):
          hcrypto: struct x64 doesn't need bitfields
    
    Love Hornquist Astrand (1):
          Switch to ULL
    
    Simon Wilkinson (1):
          hcrypto: Flag 64bit bit constants as long long
    
    Change-Id: Ifc11c14942a2b283d7f5879de5bf88f53b290512
    Reviewed-on: http://gerrit.openafs.org/3100
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c5eb4247a5629b8baa18d4adbde1f0ab72d1a540
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 24 11:50:25 2010 +0100

    Improve commit messages for git imports
    
    Improve the quality of the commit messages produced by git import
    by adding an explicit author (obtained from the $module-author file),
    and by including a list of all of the upstream changes that are being
    imported.
    
    Change-Id: I73516865144eb6ecd631822d1103a9b18d01b049
    Reviewed-on: http://gerrit.openafs.org/3099
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 34767c6a0f914960c9a1efabe69dd9c312a2b400
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 17 23:39:47 2010 -0400

    down with assert, up with osi_Assert
    
    because NDEBUG breaks things which happen inside an assert,
    be done with that. instead, call osi_Assert wherever possible.
    doesn't work for code which builds before rx; those cases we handle
    by ensuring no operations happen inside the assert(). side effect:
    move all pthread operations wrapped in asserts to MUTEX_mumble and
    CV_mumble calls where those exist, so the assertions happen all in
    one set of macroes.
    
    Change-Id: I9fd8a0fdfdaed5ed55de3e5c0c4673d4714e7441
    Reviewed-on: http://gerrit.openafs.org/3001
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bd1657fb9d42e46fdc9560687aa0d360395740b2
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Oct 26 20:32:04 2010 -0400

    Quickstart Guide: misc. fixes
    
      * The update server is optional
      * Only worry about fsck when using inode-based storage
      * Add a space where needed
    
    Change-Id: Idacd220139f2b5c622831004cb38bf5f8a1dafc5
    Reviewed-on: http://gerrit.openafs.org/3164
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>

commit 103de35cbcb9c855a5b3f3580b488c8dfe54e25c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 26 19:10:57 2010 -0400

    kill defunct tools directory
    
    the "old" rpm building tools are so sad as to be useless.
    put them out of their misery.
    
    Change-Id: I1f763a7907235fe2b178ee07b8ad4e5a6f165d24
    Reviewed-on: http://gerrit.openafs.org/3162
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 96d120e008dfe7c076c7d85e2b373232ea103877
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 26 19:02:31 2010 -0400

    Windows: 1.5.78 Change Log summary
    
    Change-Id: Ie4e6131dae25c5b17b9f4cd5c8667a03ef4ecded
    Reviewed-on: http://gerrit.openafs.org/3161
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9c32ac52f161135e39ed60cf87bfad3d016f3c6f
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Oct 26 15:06:28 2010 -0400

    Quickstart guide: use yum install from openafs repo
    
    Change-Id: Icd8b3c2a60e2cd751da00056cfc3e11e90472ec6
    Reviewed-on: http://gerrit.openafs.org/3159
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e848f3c2160745228e0f770f8daf4fffcca7507a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 25 23:05:00 2010 -0400

    Windows: Fix math error in rx_Writev processing
    
    LICENSE MIT
    
    Change-Id: I0c1c54d131530843b62d6494f313070243890605
    Reviewed-on: http://gerrit.openafs.org/3148
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 36e2d13b55085c996d38b30d003296c602ef8ee3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 10:14:12 2010 +0100

    rx: Don't let timeouts force fast recovery
    
    The current RX implementation goes into fast recovery whenever a
    timeout occurs. This is incredibly wasteful, particularly on fast
    connections. So, remove this in favour of TCP style behaviour.
    
    Change-Id: I7afc08b69e7e1df80a38ac731af57ce91072a184
    Reviewed-on: http://gerrit.openafs.org/3138
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e7066a9c30047e787d72f02dd1c28e5e473e494b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 20:50:29 2010 +0100

    rx: Fix starting of transmit timers
    
    The code used to start the transmit timer once for every set of packets
    that it sends. However, these packets might be sent individually or in
    clumps, with blocking for sendmsg, and on peer->lock, between each set
    of packet sends. This has the effect of, even on a very stable network,
    producing a high degree of variation in RTTs and timeouts. This is a
    particular issue where the connection size is larger, as the number of
    packets being sent individually under the one timer grows too.
    
    Fix this by moving timer initialisation to SendList. This already takes
    the peer lock, so obtain the timeout value here too. This means that
    each jumbo gram, or individual packet (where jumbograms are disabled)
    is sent with its own start time, and stabilises RTTs.
    
    Change-Id: Ifc8242211cedad9b52a66a44bbdee400130ab40b
    Reviewed-on: http://gerrit.openafs.org/3137
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 802d50bc4e220b9bf404ac1ee36720023986d98e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 09:52:10 2010 +0100

    rx: Refactor transmit queue wakeup
    
    Refactor all of the places where we wake up the transmit queue into
    a common helper function.
    
    Change-Id: I1a2ca2bf1e6268dcaf90961a8a88bd4165519503
    Reviewed-on: http://gerrit.openafs.org/3136
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e84193ca2a9cef5a13403d291435eb5ad47f5b41
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 09:16:09 2010 +0100

    rx: Fix resend accounting
    
    rxi_Start flagged itself as 'resending' whenever it flushed the
    transmit queue due to a resend event. However, it would flush the
    entire transmit queue at this point, rather than only transmitting
    packets that require a resend. When running with large window sizes
    this results an a large number of packets erroneously being marked
    as resent.
    
    Instead, let SendXmitList decide whether a packet is being
    retransmitted by using the presence of a serial number. This takes
    advantage of the fact that a retransmitted packet must be the only
    entry in a packet list - we just flag the packet list, instead of
    having to maintain counters for each individual packet.
    
    Change-Id: Id8e87b8efa87f5dfec2e51b7983a9fd6b1a5c4c5
    Reviewed-on: http://gerrit.openafs.org/3135
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ad3b5997c6da17927312f4618d8bb4f7fc542a64
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 25 09:06:53 2010 +0100

    rx: Use a structure for the xmit list
    
    Switch to using a structure to hold the xmit list so that it's a
    little bit clearer what the rxi_SendXmitList function is actually doing
    
    Change-Id: I84fd92e216db479121447132402597056410596b
    Reviewed-on: http://gerrit.openafs.org/3134
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1664a2642b56febc08af8f95250a6d64761a525f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 25 22:58:51 2010 -0400

    Windows: move debug break in afsd_notifier
    
    move the debug break before the cache dump occurs
    so that a debugger will be signalled faster when
    a panic condition occurs.
    
    Change-Id: I25634616e85f036d019e4d932074e52157570087
    Reviewed-on: http://gerrit.openafs.org/3147
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2f6be821ffeba607d4305586ad2c7ec4ba2b180c
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Oct 24 00:29:07 2010 -0400

    FBSD: band-aid vnode locking in lookup
    
    The lock order requires that we acquire vnode locks from the root
    towards the leaf.  When looking up "..", this requires that we
    unlock the directory before locking the child, otherwise we
    are susceptible to deadlock.
    This is only a band-aid, as afs_vop_lookup should be rewritten.
    
    Change-Id: Ie99a677978370488f8edc7128014b89abc00a56c
    Reviewed-on: http://gerrit.openafs.org/3035
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5bf95621ae2ffff6e847c12e16f31db534fd7d0b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Oct 25 22:15:49 2010 -0400

    Fix build on systems with .y.o rules
    
    On systems with system .y.o rules (such as FreeBSD), the system
    rule for making error_table.o from error_table.y can bypass
    AFS_CCRULE and thus fail to pull in the necessary include paths
    for compilation.  Present an explicit dependency on error_table.c
    to force that file to be generated, and then our .c.o rule gets
    used as desired.
    
    Change-Id: I88a6cf15441e0bacd73888b941d6c268786c5d2a
    Reviewed-on: http://gerrit.openafs.org/3145
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f70d9181d33960856fed4bae23008a450c932f3d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Oct 26 00:17:11 2010 -0400

    Complete change from dcb40c9fb8 for FBSD
    
    Many conditionals involving osi_fsplock were changed to depend
    on AFS_PRIVATE_OSI_ALLOCSPACES instead of constants or other
    things (like AFS_FBSD_ENV).  The condition on the initializaion
    in afs_init was changed but not the declaration in afs_prototypes.h,
    breaking the build on FBSD.
    Use the same conditional in afs_prototypes.h, fixing the FBSD build.
    
    Change-Id: I28d5d3be4f1b2fdb8aca0834df7d8fc65f0d0146
    Reviewed-on: http://gerrit.openafs.org/3146
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b743b32b8b715edf673833a150f9f3d5a72b0b39
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 24 00:21:26 2010 -0400

    Windows: Add version number to event log start pending message
    
    LICENSE MIT
    
    Change-Id: I6a2eca99cf1db9792eb76b04adbc87c4b64aa483
    Reviewed-on: http://gerrit.openafs.org/3034
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f943a4eb524434d25ecf99cba0843ded13aef176
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 14 09:43:31 2010 -0400

    Windows: register idle dead timeout error
    
    be like the unix cache manager and set an error code
    so idle dead time is enforced on sending.
    
    LICENSE MIT
    
    Change-Id: I2d78f3a0f6e30147c0816259b45b6b95a3d4f79c
    Reviewed-on: http://gerrit.openafs.org/3033
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1418b4fec23459aafec4b5a787e2c2b89f6af1f1
Author: Asanka C. Herath <asanka@secure-endpoints.com>
Date:   Mon Oct 18 04:52:34 2010 -0400

    Windows: Backup and restore configuration across installs
    
    The MSI installer for OpenAFS does not preserve configuration data
    across installs.  This patch creates a backup of specific
    configuration registry values when uninstalling OpenAFS and uses this
    backup when subsequently installing OpenAFS.
    
    Change-Id: Ie30f8f7f0eada3f0aeef2341b04aca55657ec864
    Reviewed-on: http://gerrit.openafs.org/2977
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2c12b80a4fdb8323ff3fdd194ff1994ad0a0b8e1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 23 15:45:36 2010 -0400

    Windows: Make Rx PMTU discovery configurable; disable by default
    
    Disable PMTU discovery by default.  Permit it to be enabled
    with the RxPMTUDiscovery TransarcAFSDaemon\Parameter value.
    
    LICENSE MIT
    
    Change-Id: I0529a77e288ba8cd6cf8d0c2e2e9c0c8e6e0f6ff
    Reviewed-on: http://gerrit.openafs.org/3032
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 58e7b85ab7c3c839c5dd126bd1c254f68a16b73a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 23 15:07:42 2010 +0100

    rx: Tidy up variables in RTT calc
    
    We used to do rttp = &thisRtt, and then use rttp and thisRtt to
    interchangably refer to the same data. This is just confusing, and
    unnecessary. Replace all of the occurences of rttp with &thisRtt.
    
    Take the opportunity to use the Clock_IsZero macro rather than doing
    an explicit zero clock check.
    
    Change-Id: If2e0d7b6dcf96f4e46bde083063115d675a4153f
    Reviewed-on: http://gerrit.openafs.org/3031
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da18ca41751b43576f6652a16f69260e0c6ac0d6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 23 15:16:17 2010 +0100

    rx: Fix bracing on rx_clock macro arguments
    
    Add brackets around the arguments in the clock helper macros, so that
    these can be called with more complex parameters.
    
    Change-Id: I09b333dcde96ef56fab8d5ada89eb0744cdb1690
    Reviewed-on: http://gerrit.openafs.org/3030
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 290495fab1b2a8f1dc842cb2dd6de2d9922169c6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Oct 23 14:51:56 2010 +0100

    rx: More improvments to RTT calculation
    
    Move the decision about whether a packet contributes to the peer's
    rount trip time into the CalculateRoundTripTime function, and improve
    the criteria used.
    
    Previously, we only computed the RTT if we had not retransmitted. This
    is bad, because it means that places where we have backed off in order
    to retransmit never actually lengthen the RTT, and so the RTT is kept
    artificially low, and we see a large number of retransmits. Instead,
    use the serial of the ACK packet to determine which transmission is
    being acknowledged, and if it is the first, or the last, transmission
    use the appropriate sent time to calculate the RTT.
    
    If we have no serial in the ACK (for a delayed ack, for example), or
    if the serial doesn't match (where a single acknowledgement is soft
    acking a number of packets), fall back to only using the ack if the
    packet has not be retransmitted.
    
    Also, avoid multiple counting of packets which have arrived as part
    of a jumbogram by only permitting the last packet in a jumbogram to
    contribute to the RTT. This avoids giving the RTT of jumbograms more
    weight than those of normal packets - doing so would pull down the
    RTT, as it in effect favours packets which have not be retransmitted.
    
    Change-Id: I6d978a118e2bd0694484376b586dd4eaa64cdd8c
    Reviewed-on: http://gerrit.openafs.org/3029
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5c8981e0404287f2aa46390d3a9e8a52261906ab
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 21 14:13:03 2010 -0400

    Rx: Treat rx_minPeerTimeout not as a minimum but as padding
    
    An improved RTT and timeout calculation algorithm is being
    developed but until we have it, treat rx_minPeerTimeout not as
    a minimum value for the timeout but as padding to be added to
    the measured RTT when computing the peer timeout value.
    
    With this change rx does not begin to send large numbers of
    resends when the RTT begins to exceed the rx_minPeerTimeout
    value.  Timeout triggered resends at the moment can force rx
    into fast recovery mode which in turn kills performance.  It
    is better to avoid that problem for now.
    
    Change-Id: Iff5e81d7cf1366e1810f118bf4825274696769c9
    Reviewed-on: http://gerrit.openafs.org/3026
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c8f47626e2428449bfb64844e46fe5ad6b8e0f1c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 21 14:23:18 2010 -0400

    Rx: Fix socket() handling so errors are properly detected
    
    socket() returns an osi_socket which on Windows is an
    unsigned type (HANDLE).  Therefore, tests of osi_socket < 0
    will never identify when the INVALID_SOCKET value is returned.
    On Windows, the OSI_NULLSOCKET is assigned to INVALID_SOCKET.
    Replace all comparisons of (osi_socket < 0) with
    (osi_socket == OSI_NULLSOCKET) as a means of detecting errors.
    
    In addition, do not pass socket() the protocol value 0 when
    IPPROTO_UDP is what is desired.
    
    Finally, perror() on Windows never reports any error from Winsock.
    perror() is a CRT function.  To get the real socket error
    WSAGetLastError() must be called and its value be written to
    stderr.
    
    Change-Id: Ibc392eeb733851f56dbc7398cb252a4753b95275
    Reviewed-on: http://gerrit.openafs.org/3027
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 046f230ed4dde4c31d849893eec750437135342e
Author: Charles Hannum <root@ihack.net>
Date:   Fri Oct 22 14:50:56 2010 -0400

    linux fh_to_dentry can return err
    
    handle e.g. ESTALE from  fh_to_dentry (in this case via
    d_obtain_alias and fat_fh_to_dentry) so we print a meaningful
    error when we lose.
    
    Change-Id: If9f53776e0df4bfecf704943110a62b8c98684ce
    Reviewed-on: http://gerrit.openafs.org/3028
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 350620e947d17dfb6a042c48cc6ab38b09668431
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 21 10:07:11 2010 -0400

    afs: fix SOLARIS builds conflicting 'u' define
    
    Including <sys/user.h> does the following (which is rather
    unfriendly):
    
    This causes problems for the tokenJar u member.  I renamed u to
    content, but there might be better choices for the name.
    
    Change-Id: I3c8cd97e5868ee1ba78c2b2c4951d1af08664b77
    Reviewed-on: http://gerrit.openafs.org/3023
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e356090ba21395e110b8a403a5efaf725ca3ffc8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Oct 17 00:35:36 2010 -0400

    Windows: Use rx_Readv / rx_Writev
    
    When USE_RX_IOVEC is defined, cm_BufWrite() will utilize rx_Writev()
    instead of rx_Write() and cm_GetBuffer() will use rx_Readv() instead
    of rx_Read() to improve throughput.
    
    LICENSE MIT
    
    Change-Id: Ib70dfd4fd7a79c9ce36ef4fd8f4bb46a946621fd
    Reviewed-on: http://gerrit.openafs.org/2999
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6f3938e80a79a4a3684565a6960bce18e167aea4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 21 14:09:53 2010 -0400

    Windows: Fix i386_w2k and i386_nt40 path construction
    
    Now that DEST and OBJ are defined in terms of AFSROOT
    do not DESTDIR and OJT in terms of AFSROOT.
    
    Change-Id: I196b4d0c93d2122c0b29f423213871db788c5ef5
    Reviewed-on: http://gerrit.openafs.org/3025
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 64f732764cab7387943647285d5e5203f0c74218
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:35:10 2010 -0400

    Windows: Improve cm_SyncOpDone logging
    
    Change-Id: I2b2b9fa5067ea0927bbbdf2dcad433ebb84d2a66
    Reviewed-on: http://gerrit.openafs.org/3022
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5880a576273c3b5f7683937df42bacf506007ba2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:31:19 2010 -0400

    Windows: remove unnecessary prototype from smb.c
    
    Remove rx_StartClientThread() prototype.
    
    Change-Id: I89377528a7497b06302bf8fa9cb71a192afc1c0a
    Reviewed-on: http://gerrit.openafs.org/3021
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 49e57b8c3b5e13f7ce48c6be5677827d970df5fa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:29:32 2010 -0400

    Windows: optimize cm_BkgDaemon()
    
    In cm_BkgDaemon test for CM_SCACHEFLAG_DATASTORING before
    cm_ServerAvailable() in order to avoid unnecessary work.
    
    LICENSE MIT
    
    Change-Id: I75f88212a18d765790c9435de17e3b0fa735a7ab
    Reviewed-on: http://gerrit.openafs.org/3020
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit dd01970f440cc68fbd71a1544ee655131f42be51
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:28:26 2010 -0400

    Windows: remove warnings from cm_daemon.c
    
    Properly cast void * to long and int to LPVOID to avoid warnings.
    
    Change-Id: Iaa48bd9247df21efbbed4422a156c67208c128d6
    Reviewed-on: http://gerrit.openafs.org/3019
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit bc810f4ac04fb6385e57d235f976d3f42f83e28a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:26:06 2010 -0400

    Windows: prototype cm_PerformanceTuningInit()
    
    Change-Id: Iffb1f05495a44ad0b95ed315cea5ae4771be1b8b
    Reviewed-on: http://gerrit.openafs.org/3018
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f2f327df4d8cbac927e290d03d78611f7b12a69
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:25:00 2010 -0400

    Rx: prototype rx_StateClienThread()
    
    Change-Id: I74c04229667d672005bd9a4abeab5309a1c97d7e
    Reviewed-on: http://gerrit.openafs.org/3017
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 929ca25d6d3fef07ea7c103dcd43a2658cdf71bd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 20 19:23:11 2010 -0400

    Rx: rx_stats_active not RXDEBUG
    
    In rx_StatsOnOff() the assignment to rx_stats_active should not
    be protected by RXDEBUG.
    
    Change-Id: I5eb84f6d7049c4d923010e53a49ee7eb321495f4
    Reviewed-on: http://gerrit.openafs.org/3016
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit da400a24a7c9d5ac1595f10e0c76df5a461aa5dc
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Oct 20 09:06:35 2010 -0400

    rx: remove spurious compare for maxDgramPackets
    
    maxDgramPackets is initially assigned this value after correcting
    for the wire endian.  This compare is harmless on little endian
    since the network endian value will typically be huge and redundant
    on big endian machines.
    
    Change-Id: I4a070b2964805f45c0593c80a2604c4e4cd26ff7
    Reviewed-on: http://gerrit.openafs.org/3015
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit dcb40c9fb8629e028e2dfa6333423b0ce0c00abc
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 4 15:08:10 2010 -0400

    Allow private implementations of osi_AllocSmall/LargeSpace
    
    NBSD seemed to already do this at one point but was partly disabled.
    This patches generalizes this feature by adding a define to disable the
    standard pool macros.  Linux's slab based allocator should out perform
    this single threaded allocator/pool.
    
    Change-Id: Id8d498c11874b7d87736968b99f7ca023af4af36
    Reviewed-on: http://gerrit.openafs.org/2998
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1a48bb7952bfc4df646bf9e2e6c55c884d54ccad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 19 10:06:02 2010 -0400

    atomic mutex don't recursive enter
    
    enter pairs with exit, and not, say, enter
    
    Change-Id: I7fe76c7ba125f9384205904318564173583e8b22
    Reviewed-on: http://gerrit.openafs.org/3006
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 12570db7c9e40aaf5905167bb3ef5c7b5e5e7161
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 15 16:27:55 2010 -0400

    vutil use lockfile mutex macros for lockfile mutex
    
    we have macroes; let's use them. makes later changes easier.
    
    Change-Id: If128930f659c34592c27503a02d64b67d7f60a84
    Reviewed-on: http://gerrit.openafs.org/2996
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 787137104bba3533f279f1fdf796a1c6c6898797
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 17 18:11:52 2010 -0400

    afs assert should use afs abort
    
    we already have a portability abort macro. use it.
    
    Change-Id: I6919cf1b2d399ad4d1ca8b7b845848a9a2208cf9
    Reviewed-on: http://gerrit.openafs.org/3000
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f7799a35c5942ba4feda3bc8c848cdaa8e0b7b76
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 13:25:38 2010 -0400

    rx: Simplify round trip time calculation
    
    Move the logic for deciding whether to compute RTT out of PeerNetStats
    and into the callers. This means that we can share decisions about
    whether a packet is ACK'd or not, and avoid uneccessary multiple tests
    and function calls.
    
    This change also stops us from computing RTT times for packets outside
    of the set of explicit ACKs that we have received. This means that we
    no longer compute RTTs for packets that are on the transmit queue, but
    not yet on the wire.
    
    Change-Id: I9d3794426393f9e0da7932b05acd8f4028a12cb3
    Reviewed-on: http://gerrit.openafs.org/2960
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9fa496d11ff2a361b4693034f6caad90da995312
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 8 15:39:21 2010 -0500

    RX: Add rx_InterruptCall
    
    Add rx_InterruptCall, to cause a call to error out and wakeup anyone
    waiting to write or read to that call.
    
    Change-Id: I0747ac9107dac6b9a6d8b8c59120a756416aad58
    Reviewed-on: http://gerrit.openafs.org/2982
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 525ea8b60cc198f7e12da7a1aaffdcad2bb3ef21
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 16 13:14:03 2010 -0400

    Rx: Do not compute RTT on non-last packets of a jumbogram
    
    A jumbogram is constructed as a series of rx packets that are
    all sent at once and acknowledged at the same time.  Computing the
    RTT for all of the packets that makes up the jumbogram provides
    the jumbogram RTT more weight than for a non-jumbogram packet.
    To restore fairness, only compute the RTT for the last packet of
    a jumbogram.  The non-last packets with have the RX_JUMBO_PACKET flag
    set in the packet header.
    
    Change-Id: Ia5237d9ca0707b39fe623639233b748b6798063e
    Reviewed-on: http://gerrit.openafs.org/2997
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4e71409fe1305cde4b9b341247ba658d8d24f4d0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 13:14:02 2010 -0400

    Rx: Reject out of order ACK packets
    
    Our RX implementation virtually guarantees that we will see out of
    order ACK packets, even on well behaved networks, as we send acks
    simultaneously from multiple threads.
    
    Currently we only reject out-of-order ACKS which change the window
    position (so a window that advances, can never go back). However,
    we fail to deal with the explicit acknowledgement portion of the ACK
    packet in the same way...
    
    For example, if we have a packet A that acknowledges packets 1 and 2,
    and then a packet B acknowledging 1,2,3 and 4. If B arrives before A,
    then we mark 1, 2, 3, 4 as acknowledged, and then treat the arrival of
    A as nAcking 3 and 4. This has the same effect as an explicitly stated
    nack, triggers an early and unnecessary resend and may, in some situations,
    cause the call to go into congestion avoidance.
    
    We can solve this using the previousPacket field of the ACK. This
    indicates the last packet seen by the peer. In the same way as
    firstPacket, this should never go backwards, and so can be used to
    detect out of order acknowledgements, and reject them.
    
    Change-Id: I9ad850872a1a62050e774c911302a65bb8a59525
    Reviewed-on: http://gerrit.openafs.org/2958
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 98688ddf70cbfe21d22e5832b2f50d626b4183e9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 7 13:41:22 2010 -0400

    shakeloosevcaches drop xvcache during dentry ops
    
    denote that we slept and drop xvcache while doing dentry
    flushing.
    
    Change-Id: If597e4153bddce4631383d4c2e1da1faacb720a5
    Reviewed-on: http://gerrit.openafs.org/2944
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 78502b61b3e8b288ce6fec1f66d14d7e2431642a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 15 16:09:27 2010 -0400

    rename afs/assert.h to afs/afs_assert.h
    
    provide a private assert header which does not
    pollute the normal namespace for the assert header.
    
    further changes will modify pthread operations to not use
    generic assert as a "did it work", which breaks if NDEBUG is set
    
    Change-Id: I43a95c0aa31ad2e772bce9142356fd5c5bedac6c
    Reviewed-on: http://gerrit.openafs.org/2995
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5e9676144bc3d9b186495a06d14581a4fc97beff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 15 16:35:32 2010 -0500

    pts: Specifically check for group id 0
    
    For consistency with the code checking user ids in createuser, check
    for a specified group id of 0 specifically and give a slightly
    different error message for it.
    
    Change-Id: I362302a1a59fbe324f7f3e926f02177c24a5577d
    Reviewed-on: http://gerrit.openafs.org/2994
    Reviewed-by: Phillip Moore <w.phillip.moore@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ebfc586fd2d00085a384763cc519c2af6ce5223e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 15 16:37:55 2010 -0500

    pts: Prevent creating negative user ids
    
    User ids cannot be negative (those are groups). So, error out if a
    negative id is specified for createuser.
    
    FIXES 128343
    
    Change-Id: I6e81a419c797944bfed569aac529b9694702823d
    Reviewed-on: http://gerrit.openafs.org/2993
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Phillip Moore <w.phillip.moore@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ffe445483a07c751202a1ef06136f70402ec895d
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Oct 14 13:41:45 2010 -0700

    Return SRV record ports in network byte order
    
    Convert the port extracted from the SRV record return to network byte
    order before assigning it to the port array.
    
    The port in a SRV record is extracted by pulling out the high byte
    and low byte and then mathematically combining them, which implicity
    converts from network byte order to host byte order.  However, the
    callers of afsconf_LookupServer expect the port array to be returned
    in network byte order since ports are assigned without modification
    to the .sin_port field of a struct sockaddr_in.  See also the byte
    order of the default afsdbPort value.
    
    Reported by Jan Christoph Nordholz (Debian Bug#600228).
    
    Change-Id: I378fe2f769703e43800c185f0934c77dd97b1c7b
    Reviewed-on: http://gerrit.openafs.org/2985
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9846ccc94964da4605fe9a96505382f09fc5695e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 15 11:28:34 2010 -0400

    add objc build rules to make-type makefiles
    
    sadly this needs to be here unless we want os-specific includes
    of e.g. shared, lwp, pthreads makefiles for extra rules. as long
    as no .m files are built in generic makefiles, this is a reasonable
    approach.
    
    Change-Id: Ibea9f47131189f4b13760d0c50a0bc6b43815ce3
    Reviewed-on: http://gerrit.openafs.org/2991
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0adb2d758c23e1c02d5894d2c534b685999d821c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 12 09:05:24 2010 -0400

    OSX prefspane use Kerberos Preferences for defaults
    
    if we have forwardable tickets, e.g., as a pref, get those.
    and so on. this way tickets AFS got are not "Weird"
    
    Change-Id: I81d70dc72e777503c8d1e588ae6cba6f33c6dc44
    Reviewed-on: http://gerrit.openafs.org/2965
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3616cdc306f58f90be1cb4f524aa5720d8d638fe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 14 17:24:33 2010 -0400

    Rx: use osi_Assert/osi_Panic instead of assert
    
    Avoid using the openafs src/util/assert.h implementation for Rx
    and Rx security classes.  Use the built-in osi_Assert() and osi_Panic()
    functionality instead.  This avoids all references to assert.h except
    for rx_pthread.c (Unix only) which requires it for the assert()
    references in the src/util/pthread_nosigs.h macros.
    
    Change-Id: I5fbfcd57da381e02e716e7688a58918aed05c50f
    Reviewed-on: http://gerrit.openafs.org/2987
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c494161819c6c24e36ffaac4421735f0c7ecfbc5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 14 18:18:40 2010 -0400

    Util: include assert.h in pthreads_nosig.h when required
    
    If assert() will be used within pthreads_nosig.h, include assert.h.
    Also, permit assert() to be a macro that is a no-op by always evaluating
    the expression.
    
    Change-Id: I8c790dcb8cb98f75028343e5de94b91ab891daad
    Reviewed-on: http://gerrit.openafs.org/2988
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8652f146abc5406195b5170402fe4dfd939da9f0
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 14 16:15:51 2010 -0400

    Rx: fix dpf() usage with regard to trailing \n's
    
    instead of checking to see if we need to add a trailing newline for the
    messages, just make sure dpf() is always called with one.
    
    Change-Id: I4aec74fcb18c0696e403e69cf54a4be9dbfb98f7
    Reviewed-on: http://gerrit.openafs.org/2981
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c2e063e2746112e5586cc3f8662567abff353b2d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 14 18:45:32 2010 -0400

    LINUX/osi_vnodeops.c: minor coding style fixes
    
    Re-indent and correct a few coding style issues in this section
    of code.  In particular, it clears up possible confusion on the
    scope of the preceding if statement.
    
    Purely cosmetic, no functional changes.
    
    Change-Id: Id6dea6326c9878b41f821de00267f75195fea394
    Reviewed-on: http://gerrit.openafs.org/2989
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6208ac3589be1bba6bec10656ae876bac776d6f5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Oct 14 00:56:39 2010 -0400

    Rx: function return type on separate line
    
    Change-Id: I99546f2f7ebea0dd796d6c017acdeaf40c3fc711
    Reviewed-on: http://gerrit.openafs.org/2978
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0a4a03ae68bea51a74a4ef496d50a800bd3e0cbd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 11 12:19:47 2010 -0600

    Parallel I/O extensions to namei backend
    
    This adds the ability for certain namei operations (currently only
    ListViceInodes) to occur across multiple different threads in
    parallel. Currently this is only enabled when built with the
    not-yet-existant AFS_SALSRV_ENV.
    
    Originally written by Tom Keiser.
    
    Change-Id: I392653670378dbca3007e98a0cb09fe4474dd262
    Reviewed-on: http://gerrit.openafs.org/1864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 59927e20052c3f075e0269e46691bc94c3974f86
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Oct 13 19:11:25 2010 -0400

    Linux: fix statfs configure test
    
    The change to the statfs configure test that was made for 2.6.36
    broke the test for older kernels.  The new test is based on a call,
    and that will generate a warning but not an error when the arguments
    don't match the prototype.
    
    Take another tack, and revert to the old style test, but with the
    simple_statfs function instead of vfs_statfs.
    
    Change-Id: Ic4baa24e2497f43791e069ce2c5c87fa21813f9f
    Reviewed-on: http://gerrit.openafs.org/2975
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ca58739ebc58428187366476b682bf20d9850645
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Oct 14 01:34:40 2010 -0400

    rx: fix typo in rx_atomic Solaris backend
    
    Fix typo so rx builds again on Solaris.
    
    Change-Id: I328e05937b376c659bb42ba8db51f512b14da6f3
    Reviewed-on: http://gerrit.openafs.org/2980
    Tested-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ba96ebba7197420b1511bd1aae9db495398e038a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 13 11:27:03 2010 -0500

    LINUX: old kernel warning fixes
    
     - osi_vfsop.c: struct super_block, not superblock
    
     - osi_vnodeops.c: initialize bypasscache
    
    Change-Id: I8492faeda632a05c080013cef71a95c60ab7c931
    Reviewed-on: http://gerrit.openafs.org/2973
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a91da7a7b91ce0c4584092cd666eca89d39b8abf
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Oct 13 01:10:09 2010 -0400

    don't release Volume lightweight ref too early
    
    FSYNC_com_VolOff was releasing its lightweight ref before the error handling
    code for VGetVolumeByVp_r was executed; this code needs to dereference the
    Volume pointer for some of its logic.  This was unsafe since
    VCancelReservation_r() could have resulted in the Volume object being freed.
    Move VCancelReservation_r() below the error handling block.  NB: the error
    handling block now relies upon the goto done/deny to cancel its lightweight
    ref.
    
    Change-Id: Ic920e45d55f7d1773585a5c0b004c722355b5725
    Reviewed-on: http://gerrit.openafs.org/2968
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0af2b14304d48609e0fcd03cb1dc9526bac2b9f6
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Wed Oct 13 15:13:51 2010 +0200

    wrong rule to make afsd_fuse
    
    in src/afsd/Makefile.in the rule to make afsd_fuse was not modified to
    recognise CFLAGS_afsd_fuse.o
    
    Change-Id: Iae7863362a3cc7920d68e0c96f57433143664c27
    Reviewed-on: http://gerrit.openafs.org/2972
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1a6d4c162a38e5ff95014c140fba379cce7d7e08
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Oct 12 21:05:45 2010 -0400

    Linux: fix aklog -setpag to work with ktc_SetTokenEx
    
    The bit of code that allows aklog -setpag to work with recent
    linux needed to be moved along with the change from ktc_SetToken
    to ktc_SetTokenEx.
    
    While we're in this bit of code, make it depend on the definition
    of the syscall in the user space headers instead of relying on a
    kernel configure test.
    
    Change-Id: I0e556b514986b5d06daabcff67ecd51b0e4becdd
    Reviewed-on: http://gerrit.openafs.org/2976
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bdc8aa160b8eff397c2dcd7fa6760d0cae59d0fc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 14:08:00 2010 -0400

    rx: Don't count unknown packets as missing
    
    Just because a packet is in the transmit queue, don't assume that
    the other side has instantly seen it! Currently, if we receive an
    ACK packet which doesn't include the entire transmit queue, then we
    will end backing off, even if we haven't sent the packets.
    
    Restrict this behaviour to packets which are implicitly acked (or
    otherwise) by the sender.
    
    Change-Id: I2d63cd27d6d748007f87ff303f3fd64549a6208d
    Reviewed-on: http://gerrit.openafs.org/2959
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e45abc6cc20236b9e91c23cb6f8e90f51b6a4a99
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 12 10:53:43 2010 -0400

    Rx: Consolidate wait for tq busy and make its use uniform
    
    rxi_WaitforTQBusy() is now used wherever a wait for the transmit
    queue is required.  It returns either when the transmit queue is
    no longer busy or when the call enters an error state.
    
    Having made this change it is clear that call->currentPacket is
    not always validated when the call->lock is reacquired which may be
    true when rxi_WaitforTQBusy() is called.
    
    Change-Id: Ibf297f1447755be2abd39a81063cc7efd7f7a08b
    Reviewed-on: http://gerrit.openafs.org/2966
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 09aec1539dbe4e4c72ec7acadf2d25e6f93c5982
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Oct 10 08:04:41 2010 -0400

    rx: Don't malloc the xmit list
    
    Building the transmit list happens in a time critical section of
    code. Using malloc to allocate the list which holds the packets to
    be transmitted slows down this critical section. Instead, just
    allocate the space as part of the call structure.
    
    Locking of xmitList is somewhat tricksy, as the call->lock is
    dropped over calls to sendmsg(). However, the xmitList is protected
    by the TQ_BUSY call flag, which prevents multiple threads from
    usign the transmit queue, and hence the xmitList, simultaneously.
    
    Change-Id: Iff64979fa1caeed2ba57d915fecb7ce823f345cf
    Reviewed-on: http://gerrit.openafs.org/2957
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7d6080a841ff8c91052fa708d5be3b582f8a971d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 8 11:51:30 2010 -0500

    RX: Force sane timeout values
    
    Currently we do not check the specified timeout values when someone
    changes a connection's dead, idle, or hard dead time. However, if the
    conn's dead time is larger than the other two times, a loss of network
    activity will result in one of the other timeouts getting triggered
    first.
    
    To prevent this and possibly other problems from happening, force a
    connection's timeouts to always obey the relationship
    secondsUntilDead <= idleDeadTime <= hardDeadTime, by checking these
    values whenever they are changed.
    
    Change-Id: I681dce7f359bf71333e69ceab8186bdc1d54d8dc
    Reviewed-on: http://gerrit.openafs.org/2947
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 48aca4a605fa46b677a50687d6ea911fbe7d2032
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 6 17:24:02 2010 -0500

    RX: Adjust all timeouts for RTT
    
    Previously only the deadTime RX network timeout was getting adjusted
    for the peer's rtt and rtt_dev values. Do this for the idle and hard
    timeouts as well, since a higher RTT is going to make everything
    potentially take longer.
    
    Change-Id: I1aabcfd19656d5130eaa0e41e0974b3b4427add1
    Reviewed-on: http://gerrit.openafs.org/2967
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 198447ee71ca6510b760141395af5002daab2424
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Oct 13 02:15:36 2010 -0400

    update fssync-debug to handle the VOL_LOCKED flag
    
    Allow fssync-debug to dump the VOL_LOCKED flag, rather than the
    current behavior of printing absolutely nothing when this flag
    is asserted.  In addition, increase the flag buffer size since
    it turns out we would truncate if all nine flags were asserted
    at once.
    
    Change-Id: I4d58f8c599dcc3b17f8cfd76e88dac12097207c1
    Reviewed-on: http://gerrit.openafs.org/2971
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9577ec85c967ce4eb0c5a5ab45761a25da30038a
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Oct 13 01:27:56 2010 -0400

    trailing commas make xlc a sad panda
    
    IBM VAC xlc_r throws parse errors when enumeration definitions have
    trailing commas; let's avoid that.
    
    Change-Id: I586fd6ed544bcbab444cc1d0964315a00b4d34b3
    Reviewed-on: http://gerrit.openafs.org/2970
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6880d4a3a227f6c05332ef799123e0a05b190aa9
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 7 11:05:50 2010 -0400

    Use bigger I/O sizes for the memcache
    
    There doesn't seem to be a need to limit the rx message size when
    using rx_WritevAlloc.  If there arent enough rx buffers to hold
    the entire message at once, it will simply return less space.
    
    Change-Id: Ic1e99432c8e4d21c71f831b8d6aeea9f12b1c99c
    Reviewed-on: http://gerrit.openafs.org/2943
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5142f16bd37345fa15ec1cb24b519d936baae99a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 15:18:06 2010 -0400

    hcrypto: Tidy up some merge conflicts
    
    There were some (harmless) merge conflicts in the hcrypto Makefile.
    Get rid of them.
    
    Change-Id: Iaf67d234d0f9ff24432479b2ae065adb73d5665b
    Reviewed-on: http://gerrit.openafs.org/2963
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e279ae77a7e9babcace78b67c40ccc959161d77a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 7 11:04:04 2010 -0500

    LINUX: Build fixes for older kernels
    
    Error and warning fixes for older kernels in osi_compat.h:
    
     - In afs_posix_test_lock, remove the assignment in the conditional to
       silence a warning
    
     - Call getsockopt for kernel_getsockopt, instead of setsockopt
    
     - Missing end brace in afs_try_to_freeze
    
     - Prototype find_exported_dentry, since Linux doesn't give us one
    
    Change-Id: Iae56bb0b0405bfd23dfd68a22c1d7922663b1442
    Reviewed-on: http://gerrit.openafs.org/2946
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e16d7b7d6a6980fbda3186a578fb7e26fc334194
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 21:21:38 2010 +0100

    rx: Don't call gettimeofday for every packet ack
    
    Every time we receive an ACK packet, we call gettimeofday() for
    every entry in the transmit queue that's permanently ack'd by that
    packet. Instead, just make a note of the time when we start
    processing the packet queue, and use it for every packet in the
    queue.
    
    This shaves around 5% off rxperf's runtime with a window size of 128.
    
    Change-Id: I65c705c575c4a470b49390e7efca33c279a3133c
    Reviewed-on: http://gerrit.openafs.org/2956
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7e0b9ba7fc0bc5161d351c7129a5a23650ea7904
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 11 15:11:52 2010 -0400

    Windows: Build hcrypto shared library
    
    Build a single afshcrypto.dll shared library on Windows.
    There are no lwp vs pthread differences on Windows due to
    the use of the Windows random data sources.
    
    Change-Id: I02e4d7ee437440433a983f3eb361c78ac3cbbca6
    Reviewed-on: http://gerrit.openafs.org/2964
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 091b6e19d14b8d7c7396496d050fff5d067791a9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 11 15:00:08 2010 -0400

    Windows: Cleanup build scripts; no include\afs or include\rx
    
    As part of the build system cleanup, minimize the number of
    directories in which include\afs and include\rx paths are included
    by default.  To acheive this goal the windows openafs dirent.h is
    moved from include\afs to include, references whenever possible to
    openafs headers included in include\afs or include\rx are prefixed
    with afs\ or rx\ as appropriate.
    
    Some source files or directories have a broad range of interdependencies
    that make separation quite challenging.  For those directories or files
    the inclusion of the path is added at the smallest possible level.
    At some point in the future the WINNT\afsd\ headers should be moved
    from include\afs to include\WINNT and should be installed there first
    and then referenced internally from that location instead of from the
    WINNT\afsd directory.  That will permit further cleanup to be performed.
    
    Change-Id: I5e3a9623071c71db2f4445dc43266fdb3dad2c91
    Reviewed-on: http://gerrit.openafs.org/2961
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e95c8eaaf53dee68fe4db14acc0385a6bb84b992
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 15:15:04 2010 -0400

    Fix rxperf includes
    
    Don't use raw includes for "rx.h" and friends - instead include them
    from the appropriate place in our include tree.
    
    Change-Id: Ic136b20b571bef3f476de02302404d64cc741171
    Reviewed-on: http://gerrit.openafs.org/2962
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d8434eefa78f3e3d4b3d0e265aa47d0617fcc4aa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 13:40:41 2010 -0400

    rx: Indent dpf definition
    
    Indent the CPP macros that define dpf() so that it's a little bit
    clearer what's going on.
    
    Change-Id: If2ccd637ac063c8400a16725972418224e9c5140
    Reviewed-on: http://gerrit.openafs.org/2955
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 63592f0bfd903f6c7019317bb61294688ceb2958
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Oct 11 14:43:48 2010 -0400

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    bf1f62b0a8cf72d32875656a7365f1e14d535dc5
    which is described as switch-from-svn-to-git-1605-gbf1f62b
    
    This is locally modified to include the earlier local fix
    to sha512.c
    
    Change-Id: I757e636654b713625f7d468da6aa37f1006aaa2a
    Reviewed-on: http://gerrit.openafs.org/2954
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 16b9038bd41ff208ff4953b62f07313f2435a250
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 11 14:42:03 2010 -0400

    Heimdal: Import rand-w32.c for hcrypto on Windows
    
    Windows has its own PRNG for hcrypto, so add the necessary file to
    our import list.
    
    Change-Id: Iea7a17fa9bfb90b9a9ebd5176936da21b3477bba
    Reviewed-on: http://gerrit.openafs.org/2953
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7f742f45a2aaa9dcb400aa1dc35ce617876fe7fd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 9 03:06:07 2010 -0400

    Windows: Do not issue RXAFS change RPCs on known RO volumes
    
    If the cm_scache_t is known to be on a RO volume, do not permit
    RXAFS_xxx RPCs that would attempt to make a change to the volume
    to be issued to the file server.  Instead, return CM_ERROR_READONLY
    immediately.   This avoids triggering the abort threshold for
    the current connection on the file server.
    
    LICENSE MIT
    
    Change-Id: I9c917e60277d281e32e4609d89b541803824251f
    Reviewed-on: http://gerrit.openafs.org/2950
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f22ae5f7d8b3c143de21355f819ab872a0cf76fd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 13:49:16 2010 +0100

    Unix: Rework build system
    
    Rework the unix build system so that we support taking CFLAGS and
    LDFLAGS from the command line, and don't replace them with our own
    settings. Also, take the opportunity to bring some sanity and
    consistency into our Makefiles.
    
    The standard Makefile.config  now defines rules for LWP, pthreaded
    and shared library builds. The CFLAGS settings for these are
    called LWP_CFLAGS, PTH_CFLAGS and SHD_CFLAGS, respectively.
    Similarly named variables are provided for LDFLAGS.
    
    A module may select to use a particular build type for its suffix
    rule by including either Makefile.lwp, Makefile.pthread or
    Makefile.shared from src/config. This creates an appropriate .c.o
    suffix rule, defines AFS_CFLAGS and AFS_LDFLAGS as appropriate, and
    creates two rules AFS_CCRULE and AFS_LDRULE, which can be used to
    build, and link objects. For example:
    
    foo.o: foo.c
            $(AFS_CCRULE) foo.c
    
    foo: foo.o
            $(AFS_LDRULE) foo.o
    
    If a you wish to override the CFLAGS or LDFLAGS for an object build
    using these rules (or through the .c.o suffix rule) you can do so,
    by defining CFLAGS_<object> or LDFLAGS_<object>. For example:
    
    CFLAGS_foo.o= -DDEBUG
    LDFLAGS_foo = -ldebugging
    
    A module may also alter the behaviour of the compile and link steps
    module wide by defining MODULE_CFLAGS or MODULE_LDFLAGS.
    
    This functionality is now used throughout the tree:
        *) Suffix rules are used wherever possible, removing a number of
           unecessary build rules.
        *) All link steps are replaced with AFS_LDRULE
        *) All standard compile steps are replaced with AFS_CCRULE
        *) Unusal compile steps are defined, as far as possible, int
           terms of the LWP_ PTH_ and SHD_ variables.
        *) The use of $? has been removed entirely, as it makes it
           impossible to provide build rules with dependency information
    
    Change-Id: If76207e45da402a0ed9d7c1bdbe83c58c911a4f2
    Reviewed-on: http://gerrit.openafs.org/2896
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1466cd755ce3b48d312fb4404f494934840e586b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 11:06:28 2010 -0500

    fssync-debug: exec DAFS version if DAFS detected
    
    If the user requests something that differs depending on whether the
    server is DAFS or not, try to exec the DAFS-enabled fssync-debug
    (dafssync-debug) for them.
    
    Based on a conversation with Tom Keiser.
    
    Change-Id: If914d63d2eb4605e4d9a9d00af62264ac484c206
    Reviewed-on: http://gerrit.openafs.org/2480
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a2888f6d405150933bc31d1470ca2426bdf77c50
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Thu Oct 7 19:25:09 2010 -0400

    Extract the .version file when building the srpm file
    
    If you are building the source and binary rpms from a released
    tarball, instead of a real git repo, the .version file is required by
    build-tools/git-version.  With out this, the version defaults to
    UNKNOWN, and although the source rpm will build, it won't compile.
    
    Change-Id: I787b051d5150c65a0d71ac38b30f32e1c560c4b3
    Reviewed-on: http://gerrit.openafs.org/2948
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 50b99f85cae778ab270590d1282fd9d84a0e6ca3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Oct 8 00:20:57 2010 -0400

    Revert "FBSD: in lookup, when ISDOTDOT, unlock dvp"
    
    This reverts commit 96e433aebdd5699f02c205df2cce38927cd19a88.
    
    It was not properly tested, fails to compile on some systems,
    and destabilizes the client.
    
    Change-Id: I80b08013c9f2d060ab7ed5a18d57311701aa8b88
    Reviewed-on: http://gerrit.openafs.org/2951
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f1a0239fba5855c5fed418f057bd5397d412e907
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 5 16:10:19 2010 -0400

    Added missing CLI argument dropped during last commit.
    
    Oops -- when removing the -cell arguments to the bos commands, the
    "admin" username argument to "bos adduser" was mistakenly removed as
    well.
    
    Change-Id: If5136869c7d2bff3340018a3110fd5408750e5a6
    Reviewed-on: http://gerrit.openafs.org/2940
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c2ed2577f9c16df3088158fb593d7aab6e8690d0
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Oct 5 23:30:35 2010 -0400

    FBSD: in lookup, when ISDOTDOT, unlock dvp
    
    Keeping dvp locked when vp is its parent can lead to deadlock.
    Always unlock dvp, not just for 6 and earlier.
    
    Change-Id: I26a60188d39ccd24b4db7479c57a525bb37618e9
    Reviewed-on: http://gerrit.openafs.org/2942
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 77456c07945659ff1254732aa8e428e6301e5ee6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 5 11:32:05 2010 -0400

    Windows: do not leak cm_volume_t objects from LRU queue
    
    The LRU queue is where volume objects are recycled from.
    Therefore if they are removed then they must be put back.
    
    Remove extraneous operations from cm_AdjustVolumeLRU().
    
    LICENSE MIT
    
    Change-Id: I1f6aadd0ffb7aeafa013087e4825b3c8d8252a2d
    Reviewed-on: http://gerrit.openafs.org/2913
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 51c761706a9945ab40d34b4212bd463fa617636e
Author: Phillip Moore <w.phillip.moore@gmail.com>
Date:   Tue Oct 5 12:46:35 2010 -0400

    Quick Start Guide updated for RHEL rpms, and CLI syntax
    
    The names of the RHEL rpms have been updated to reflect what is
    actually published on openafs.org, and the CLI syntax of the commands
    run using -noauth have had the unnecessary -cell options removed.
    
    Change-Id: I5c03d371c822d1d064660a3b00fb3d1e64bff141
    Reviewed-on: http://gerrit.openafs.org/2914
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 21e1bb9bb46b0e8e2523c3310ea8e602d2b07091
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Oct 5 17:01:41 2010 +0200

    volserver: Do not return ENOMEM on AIX from XVolListPartitions
    
    When calling "vos partinfo" or "vos listpart" towards a server
     running AIX with no partitions attached, it would return a
    ENOMEM, because unlike on linux, malloc(0) returns NULL on AIX.
    Thus, just don't do any malloc, when we have no partitions anyway.
    
    Change-Id: Id1900e2ab11850ada8b2e91667288576d408014b
    Reviewed-on: http://gerrit.openafs.org/2912
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e445faa68c5ec6e47d3fd9d7318ade71d98703a9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Oct 1 23:17:56 2010 -0400

    rx: Reduce dependence on call->lock
    
    This patch reduces our dependence on call->lock, by allowing more
    of the reader thread to run lock free.  Doing so requires that
    call->mode only be set by the reader thread.  As a result, call->mode
    can only be set to RX_CALL_ERROR by rxi_CallError().  The mode is
    set to RX_CALL_ERROR by the reader thread immediately after regaining
    the call->lock when it has been dropped.
    
    Change-Id: Ie9541d8beac2d428526f8b2b4cc0004219e820be
    Reviewed-on: http://gerrit.openafs.org/2880
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e395c9f33617222391d4d8801e16de1a20b544e6
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 01:20:32 2010 +0100

    hcrypto: Fix builds on Irix
    
    The recent hcrypto pullup added a depedence on the errx() function,
    which isn't present on Irix. Solve this by pulling in a load more
    of libroken, in order to provide this function.
    
    In the long term, libroken should get split out into its own
    directory, and the ability to use a previously installed
    libroken should be added. For now, this will hopefully get Irix on
    its feet again.
    
    Change-Id: I0642f80079e113403cbef6eca03ca652616ddc61
    Reviewed-on: http://gerrit.openafs.org/2904
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e7a12d56bc3b27a3ada37e2799e1925204d23300
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 09:01:00 2010 +0100

    Irix: Make compiler less chatty
    
    Supress a few of our errors from the Irix compiler and linker, so its
    output is a little less verbose.
    
    This change suppresses the function declared but not used and
    multiple declaration errors that we get due to our static_inline fudge
    and the paramater declared but not used errors.
    
    Other error suppression is possible - you just need the number
    immediately after the 'cc-' in the build logs to say which number to
    add to the -woff line.
    
    Change-Id: I55485ff422feeecbb922e8fd63321605d6a8575c
    Reviewed-on: http://gerrit.openafs.org/2908
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit de158f8fdf1d4198d6fcd16f5078b5eac861ba0a
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Tue Oct 5 08:20:03 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    48ad3e1e6597f03cce5439831ef94b5ec11894e9
    which is described as switch-from-svn-to-git-1593-g48ad3e1
    
    Change-Id: I0fda4dcf7c7e06de70636969c2f3242b9de714be
    Reviewed-on: http://gerrit.openafs.org/2907
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b360ef85df1b5819e7e9d9f43a44ec31565df337
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 08:19:11 2010 +0100

    Yet more imports from libroken
    
    Even more symbols to keep Irix content
    
    Change-Id: I6af4f0b9af0874a334ec8e5a19ea0650de295d4f
    Reviewed-on: http://gerrit.openafs.org/2906
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d73bd5778a22f574a6f065a18f18d4379e9ffb4a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 5 08:31:22 2010 -0400

    Windows: Kill AFS_LARGEFILES preprocessor symbol
    
    All builds define AFS_LARGEFILES so kill the symbol and
    discard the !AFS_LARGEFILES source code.
    
    Change-Id: I36a2131e30b24d3d1a8f37f5629795bdd92c6b27
    Reviewed-on: http://gerrit.openafs.org/2910
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fc9aa428f4f9a5b5188ace7bfb0301a3a184e9c0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 30 13:58:26 2010 +0100

    Kill AFS_64BIT_ENV
    
    The AFS_64BIT_ENV was being pretty much universally defined. So,
    remove the definition, and the conditional code that it controlled.
    From this point on, all platforms are assumed to be capable of
    handling 64bit values.
    
    Change-Id: I3e4bde502af9f33f6998637c288e8fd0898ffa81
    Reviewed-on: http://gerrit.openafs.org/2870
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 27aed8fd27c2cf05c4172b33028a431e0e79daed
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 13:15:49 2010 +0100

    Revert "util: Add base64 from Heimdal's roken"
    
    This reverts commit d552426b14d5f5befe74958a21bc9375d5312287.
    
    util already has a base64.c, the Windows bits of this are half-baked,
    and we need to find a config.h from somewhere so that this builds
    cleanly.
    
    Just back it out, until I can do it properly.
    
    Change-Id: Iec3ef4579c8f83c7c00e03ad777489e287bbd2f3
    Reviewed-on: http://gerrit.openafs.org/2909
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 47da0d1e15ceef83ff99a25d48b92dc142b380f4
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Tue Oct 5 01:01:34 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    48ad3e1e6597f03cce5439831ef94b5ec11894e9
    which is described as switch-from-svn-to-git-1593-g48ad3e1
    
    This import was manually modified to preserve our current local
    fix for sha512.c
    
    Change-Id: Ie020beb7324469d33b85ac4c559cc473f2728d19
    Reviewed-on: http://gerrit.openafs.org/2903
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 66b523afb5d6aa80d5df34805437dad807a7012d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Oct 5 00:59:43 2010 +0100

    Import yet more files from Heimdal
    
    Import still more files from Heimdal, so that we can try to make
    Irix happy once more. Mutter, mutter, mutter.
    
    Change-Id: Ic8f20885fd324ab3698109f75ba41cdf6d0975dd
    Reviewed-on: http://gerrit.openafs.org/2902
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d382c520cc67ca67f1d02f7a326fe19fb884cabe
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 20:22:50 2010 +0100

    Heimdal: Fix 32bit build problems
    
    The earlier inclusion of sha512 from Heimdal broke the build on
    32bit platforms, because this file doesn't flag 64bit constants as
    being such.
    
    The correct place for this fix is in Heimdal, and it will be replaced
    with a fix from Heimdal as soon as one is available. For now though,
    this gets our build going again.
    
    Change-Id: I0de822a933184078c491a16aafef45519fa2bbd2
    Reviewed-on: http://gerrit.openafs.org/2901
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4803d50bdb8cdeae2c3f86b5c09e853573bc49eb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 3 18:27:19 2010 -0500

    vol: Log ignored dirs that look like partitions
    
    If we see a /vicep*-like directory when we VAttachPartitions, and we
    ignore it because it lacks an AlwaysAttach, log that we ignored it.
    This may make things less confusing to admins that just try to create
    a /vicep* directory and don't know why it doesn't work.
    
    Feature suggested by Jason Edgecombe.
    
    FIXES 128221
    
    Change-Id: I0802f914658c7df413b22b3726a5085f1b646266
    Reviewed-on: http://gerrit.openafs.org/2893
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit d552426b14d5f5befe74958a21bc9375d5312287
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 15:24:15 2010 +0100

    util: Add base64 from Heimdal's roken
    
    Add the base64 code from libroken into libutil, using the src/external
    framework.
    
    Create a new, non-installed directory, to hold util headers, rather than
    continuing to stuff everything into afs/
    
    Change-Id: I6b743a3702c3bb07ac798392475e7e067765f238
    Reviewed-on: http://gerrit.openafs.org/2900
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 26b61c64b56742cf0c5d59ba3b62b9803bec70c5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 16:01:55 2010 +0100

    hcrypto: Build fixes
    
    Fix the hcrypto build to deal with the changes introduced by the
    latest import from Heimdal
    
    Change-Id: I2effebffb6df2fdb351d070f8ea06ecf01aab46e
    Reviewed-on: http://gerrit.openafs.org/2899
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7ebed02734e23ed678d84d17bc7ffb0823935c7b
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Mon Oct 4 14:25:11 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    48ad3e1e6597f03cce5439831ef94b5ec11894e9
    which is described as switch-from-svn-to-git-1593-g48ad3e1
    
    Change-Id: I90eb6752000d6794e830a704adcf367928b05a98
    Reviewed-on: http://gerrit.openafs.org/2898
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b0974636a3ea7de8aa3ce56e76816ae48b7d1180
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 15:18:02 2010 +0100

    Add more files from Heimdal
    
    Add the base64 implementation from libroken, and the n-fold.c file
    from libkrb5 to the list of source files that we import from Heimdal.
    
    It also pulls in the new sha512.c and validate.c files which are now
    necessary to complete a userspace hcrypto build.
    
    This patch will fail to build until the build fixes from the subsequent
    change are applied.
    
    Change-Id: I60a691d0ccebd6d6bfb823856f79b59670eb86ec
    Reviewed-on: http://gerrit.openafs.org/2897
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 907521feb1b9c7a6c816866a672c7ab84dac6abd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 12:33:24 2010 +0100

    configure: Restore saved CFLAGS
    
    When we test for whether the C compiler can take the
    -fno-strength-reduce flag, we add the flag to CFLAGS to do so.
    However, we were not restoring the old value of this flag when we
    completed the test, and so we were always setting -fno-strength-reduce
    in the userspace compile.
    
    Previously, this was harmless, as we always overwrote CFLAGS, but if
    we're moving to a world where we honour the user's setting of CFLAGS,
    we need to not leak changes in this way.
    
    Change-Id: I029c9fe91132ced34867445afe673761a597ccbe
    Reviewed-on: http://gerrit.openafs.org/2894
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b1f747c1f131fc1a9f8a5895fb06607a255a27d8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Oct 4 13:45:53 2010 +0100

    configure: Don't let autoconf pick our CFLAGS
    
    If the user hasn't specified CFLAGS on the command line to
    ./configure, then autoconf will set them to -g -O2 if the compiler
    supports those options.
    
    For compatibility with what OpenAFS has always done, and to let us
    manually set optimisation and debugging flags later, disable this
    behaviour.
    
    Change-Id: Ic78d5f824433d94d76f16c107af3488132d57155
    Reviewed-on: http://gerrit.openafs.org/2895
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9fed169b1c5c823fd96cea94daf712b2cf06c901
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 10 15:52:34 2010 -0500

    vos release: Force full dump on RO_DONTUSE sites
    
    When releasing a volume, currently we perform an incremental dump on
    RO_DONTUSE sites if the volume exists on the remote site. Since
    RO_DONTUSE implies that we do not expect a site to exist there, delete
    the extant volume if we find one and force a full dump.
    
    If we perform an incremental dump, we run the risk of incrementally
    dumping to a temporary volume that the administrator is not aware of,
    and doesn't have any actual data but has a last update time late
    enough that it may be missing some data after the incremental dump. So
    to avoid that, force a full dump every time.
    
    Change-Id: If751a66d6e1499b5d6f67457ae28277a6200c53a
    Reviewed-on: http://gerrit.openafs.org/2731
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 60c4b248893f80431b2ea2a5d558c3536f86611a
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Sun Oct 3 14:35:46 2010 -0400

    sin_family is not network order
    
    sin_family isnt sent over the network and therefore doesnt need
    htons().  sin_family is essential the same as domain, and no one
    does socket(htons(AF_INET), ...)
    
    Change-Id: Ie0e2396f78e0934d49aeeacfc9c5ffe98df211b6
    Reviewed-on: http://gerrit.openafs.org/2891
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 196d032fb252fa5d0827436fcfa38d9a48a49ab9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Oct 3 14:35:20 2010 -0400

    Remove duplicate rx_stats targets in libuafs Makefile
    
    The libuafs part of commit 4346144b was not needed, rx_stats was
    already in the Makefile.  Harmless, but generates warnings.
    
    Revert the libuafs portion of that commit.
    
    Change-Id: I14d64445c9690bc6d69881c6bd6c00c4670895f3
    Reviewed-on: http://gerrit.openafs.org/2892
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a30da5e74c7809c068b457fec68f965a88dfff5f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 3 02:02:22 2010 -0400

    rx stats atomic inclusion needs kmutexes for emulation
    
    for platforms with no native atomics we use a mutex. well,
    fine, but without defining kernel mutexes, that doesn't work so
    well.
    
    Change-Id: Ia85e24aad8684a3855511de9548acee4ab86e83e
    Reviewed-on: http://gerrit.openafs.org/2890
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 565ab7aa8e751c06d03c3ab0034915572c29ef7c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 16 01:06:22 2010 +0200

    Windows: Ensure that cm_NameI errors are acted upon promptly
    
    There are many cases in the SMB server where an error from cm_NameI()
    was either ignored or not acted upon until several other operations
    are performed that could result in the same error being repeated.
    This is a mistake which did not have negative side effects until
    additional checks for callback status were added recently.
    
    At present, if a CM_ERROR_ACCESS error is returned and ignored,
    subsequent attempts to operate on the same cm_scache_t will result
    in additional queries to the file server that will also end in an
    abort response.  This can trigger the file server to delay responses
    to the client.
    
    This patchset ensures that all cm_NameI() errors are acted upon
    promptly.
    
    LICENSE MIT
    
    Change-Id: Ie334b624cc2b28f2c2a37787b5edef9d37cdb041
    Reviewed-on: http://gerrit.openafs.org/2887
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6ad0e5b529dbfd7a2401a0622eb4ea5269124ceb
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 16 01:01:06 2010 +0200

    Windows: Fix Parent(path) computation to permit mp and symlink creation
    
    The parent path computation was leaving trailing slashes on the
    path names which prevented the creation of mount points and symlinks
    when UNC paths were used that contained mount points.
    
    LICENSE MIT
    
    Change-Id: I50cba9cb8a2b0ad45f84995d05f368052be683cc
    Reviewed-on: http://gerrit.openafs.org/2886
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 61b73864d74ac4d381c9d5d2712837426c84061d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 2 20:32:05 2010 -0400

    Conditionalize include of string.h in rx_stats.c
    
    Linux doesn't have <string.h>, it's in the linux subdirectory.  But
    it is already included by sysincludes.h, so it should not be needed
    here.
    
    Change-Id: I017c374e7b6d47e900ec73b40a36183a3f23f35c
    Reviewed-on: http://gerrit.openafs.org/2888
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3940e686a880410b9001786734d158411782a965
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 2 21:02:23 2010 -0400

    Linux: correct use of atomic_add and atomic_sub functions
    
    The rx_atomic_add and rx_atomic_sub functions have arguments
    reversed compared to the linux atomic_add and atomic_sub.
    
    Adjust the macros to flip the arguments when calling them
    
    Change-Id: I6d58c8f0ac8ccf09e62c9d3921b9f3ae50ca94c9
    Reviewed-on: http://gerrit.openafs.org/2889
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fab6c9db2fb6418c1c4ebf32e441e0d2bdb9d817
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 2 11:43:03 2010 -0400

    Rx: Fix RXDEBUG_PACKET builds
    
    Commit 37946ee1739aa22cb2f7330a37504d33a7733c9a unintentionally
    broke RXDEBUG_PACKET builds.  Fix it.
    
    Change-Id: I833109b8e35f2f3487fe2865856c7f37cd31e0c2
    Reviewed-on: http://gerrit.openafs.org/2882
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b62cacf889a6a231a97951baad6594e4066880bd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 1 23:47:11 2010 -0400

    Rx: raise rx_minPeerTimeout to 20ms
    
    At 2ms it is possible for the packet we are sending to be resent
    just about immediately as the retryTime computation occurs before
    the send takes place and not afterwards.  If the network send blocks,
    the retryTime may have already expired.
    
    We do not want rx_minPeerTimeout to be too large though because the
    value will end up being used as the backoff time period when the
    actual RTT for the connection is less than the rx_minPeerTimeout
    value.  Extensive testing shows 20ms to be an adequate compromise
    that avoids the vast majority of unnecessary resends without
    unnecessarily slowing down the connection if a packet is in fact
    lost.
    
    Change-Id: I87248ec1cff6a4d0862da0239d4c203024a783b6
    Reviewed-on: http://gerrit.openafs.org/2881
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3cd3715e608b801b4848399e42cb47464e6e3cc3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 30 10:48:58 2010 -0400

    Rx: When call receive is done, send ack all packet
    
    When all of the packets for a call have been received,
    immediately send an ack all packet to the peer.  This permits
    the peer to free the contents of the transmit queue and cancel
    all pending resend events.
    
    Change-Id: Ic06ccaca6f0c5e2f770c5c45c84f7fc155207bcf
    Reviewed-on: http://gerrit.openafs.org/2871
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5613ea60fc9431dbc87bc8ad6439f9b5af38af5c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 22 16:36:03 2010 -0700

    Rx: protect rx_conn and rx_call refCount field with rx_refcnt_mutex
    
    Add a new global mutex rx_refcnt_mutex to protect the conn->refCount
    and call->refCount in place of relying upon the conn->conn_data_lock
    and the call->lock.
    
    This will relieve some lock contention with rx_ReceivePacket().
    
    Change-Id: Iebc04a87149a9fe69a7e312e8968b08c2e94148d
    Reviewed-on: http://gerrit.openafs.org/2837
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2a21422129ca1eeeb5ea1a1f7b08b537fd2a9f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 2 12:43:36 2010 -0400

    darwin kernel atomics
    
    actually enable atomics for the darwin kernel, whose API is
    just slightly different
    
    Change-Id: I566149428d253806c4546fa0c5a3f96e8098c4eb
    Reviewed-on: http://gerrit.openafs.org/2884
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4346144b8489671c648be5c0cdfd9c235a928f0d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 2 12:59:46 2010 -0400

    add rxstats to kernel
    
    add split out rxstats module to kernel
    
    Change-Id: Ibdc721f19a63c58604a56b0099d0c52161d3b00c
    Reviewed-on: http://gerrit.openafs.org/2885
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 12e6531f0079597280e1b3961738af55d682d3f5
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 1 09:40:16 2010 -0400

    add option to rxperf to use rx_Readv() instead of rx_Read()
    
    rx_Readv() is a bit "faster" than rx_Read() and typically used by most
    afs transaction.
    
    server% rxperf server
    client% rxperf client -c send -s server
    SEND: threads   1, times        100, bytes      1048576:            2073 msec
    
    server% rxperf server -v
    client% rxperf client -c send -s server
    SEND: threads   1, times        100, bytes      1048576:             983 msec
    
    Change-Id: I27b06dbbb61f2bc34fa91bcda3c6e046c787ff62
    Reviewed-on: http://gerrit.openafs.org/2877
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 59e6ac8a5c354b746a4b984f4a10af91ebeef5f3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Oct 2 00:49:38 2010 -0400

    Windows: Pass Volume Root Fid to cm_Analyze after RXAFS_GetVolumeStatus
    
    RXAFS_GetVolumeStatus can return VNOVOL, VMOVED, etc.  In order to
    process them and update volume state a fid must be passed to cm_Analyze().
    Use the volume root fid.
    
    LICENSE MIT
    
    Change-Id: Ia6115a17aae06144277271048e8287e5ad52ff2a
    Reviewed-on: http://gerrit.openafs.org/2883
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4ca57f3fd302e339aaf4d4625b904fcfd3d2f0e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 11 10:43:54 2010 -0600

    Provide an abstract thread pool object
    
    Add some routines to maintain a pool of threads, for working through a
    Vwork_queue.
    
    This adds the afs_tp* series of functions. Originally written by
    Tom Keiser.
    
    Change-Id: I8735aa14ca6622ae0eca7a7589e69b0f3b3daf08
    Reviewed-on: http://gerrit.openafs.org/1863
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bfbc65676d6ea2d4d000d2f8813bcc0958cf8ea2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 11 10:39:56 2010 -0600

    Provide an abstract work queue object
    
    Add some routines for specifying chunks of work to be done. The idea
    is to be able to pass these to different threads, and specify
    dependencies between them, wait on them completing, etc.
    
    This adds the afs_wq* family of functions. Originally written by Tom
    Keiser.
    
    Change-Id: If556cf4da12de8c4be1e53376d85d791584ae177
    Reviewed-on: http://gerrit.openafs.org/1862
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0ecc90f3cd3f5a7c96b3689ab0c5f6a42edc3ed0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 30 23:57:11 2010 -0400

    exempt instant timeouts from mtu discovery
    
    if we set lastReceiveTime to 0 to hint that no net, honor that here as
    "just time out"
    
    Change-Id: Ifb06fad782669649027841e3930ff94600b6c900
    Reviewed-on: http://gerrit.openafs.org/2875
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit e04f17704a4ceb242ea0b01abd225f89fa0979e7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 14 10:45:10 2010 -0400

    DAFS: Raise LogLevel for per-chain vol stats
    
    Only report detailed per-chain volume statistics on shutdown/SIGXCPU
    if LogLevel is 125 (or 25 for smaller per-chain stats). If a
    fileserver is configured with a large -vhashsize, printing out stats
    for each chain can take awhile and use up a nontrivial amount of disk
    space for logging, so only print out these stats if we're asked for
    them.
    
    Change-Id: Iceb38e29ab40958e05f3cf146687f679bd0f061c
    Reviewed-on: http://gerrit.openafs.org/2759
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 9d912b6f1c4f3d242429c66291107b2badd166e4
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 1 09:58:52 2010 -0400

    rename some variables in rxperf
    
    sendtimes and recvtimes are actually the data byte counts to be
    exchanged during an rpc test not an iteration count as implied
    by their names
    
    Change-Id: I3d567aacf1ab1d25fda20e48a6bbb68a63330230
    Reviewed-on: http://gerrit.openafs.org/2876
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 87e96c30e069a2379365c9947a311e700cf51c4d
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Wed Sep 29 18:21:25 2010 -0400

    configure: --with-linux-kernel-packaging should default to disabled
    
    the test for this build feature is reversed.  by default, the value for
    with_linux_kernel_packaging will not be defined which makes the existing
    test pick MPS='SP' instead of LINUX_WHICH_MODULES.  based on the configure
    help messages, this would appear to be an opt-in not an opt-out.
    
    ...
    Optional Packages:
    ...
      --with-linux-kernel-packaging
                              use standard naming conventions to aid Linux kernel
                              build packaging (disables MPS, sets the kernel
                              module name to openafs.ko, and installs kernel
                              modules into the standard Linux location)
    ...
    
    Change-Id: Ie16fba165e6c85b7ecbce887badb9ffc06a3a7a8
    Reviewed-on: http://gerrit.openafs.org/2869
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 2bcd9044f747315cc1ea00b8c63982307edcc6c7
Author: Chas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Date:   Thu Sep 30 14:27:35 2010 -0400

    afsd's -mem_alloc_sleep is obselete -- update documentation
    to reflect this.
    
    Change-Id: Ife0f4a2582fe535d7c977d0ca24f92e314459386
    Reviewed-on: http://gerrit.openafs.org/2874
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7e12632cd2c8e07baa5e6c8aecd5311870771133
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 2 13:11:32 2010 -0500

    DAFS: document the limits of -vhashsize
    
    You can only specify a -vhashsize between 6 and 28 (inclusive).
    Document that in the dafileserver man page.
    
    Change-Id: I44d1c71f4ff303174e8aebf74b0b9075c07bc8b4
    Reviewed-on: http://gerrit.openafs.org/2650
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 364691145698c8f9b87466cd9d9e2c54f8c6aaa9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 29 14:15:24 2010 -0400

    linux define ucontext properly
    
    ucontext requires glibc version info to engage.
    glibc info comes from features.h, which if we include afs_sysnames.h,
    we get... so, let's swap these.
    
    Change-Id: I26e5554f2c5c5f9f8a74fb591efdfdc1f6ae7257
    Reviewed-on: http://gerrit.openafs.org/2868
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff89a321108e1a0c08323547de706f953aef0430
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 29 00:21:43 2010 +0100

    rx: Don't have different args for rxi_FreeCall
    
    rxi_FreeCall changes its number of arguments depending on whether
    locks are enabled or not. That's a little bit nasty to read, so just
    change it so that it always takes two arguments, and ignores the
    second when it doesn't need it.
    
    Change-Id: I5f869bea9bcf01bac16d8c5eec93373788d17978
    Reviewed-on: http://gerrit.openafs.org/2863
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 37946ee1739aa22cb2f7330a37504d33a7733c9a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 29 00:11:53 2010 +0100

    rx: Make statistics interface use Atomics
    
    Make the rx_statistics statistics gathering infrastructure use
    atomics for all of its counters. This significantly reduces
    lock contention. However, it also (potentially) changes the format
    of the rx_stats variable which has been used by callers in the past.
    
    To simplify this process, and to aid with future changes, we remove
    direct access to rx_stats. Instead, two additional API functions
    rx_GetStatistics and rx_FreeStatistics are provided. These give the
    caller access to an 'normal' rx_statistics structure.
    
    Tom Keiser has suggested that we should explore using thread-local
    statistics structures, and just aggregating them when we are asked
    to report. This is a fine idea, and is equally possible with the
    new interface that this patch introduces.
    
    Change-Id: I859cea8f7354a655be007b95fa8a61f995308b35
    Reviewed-on: http://gerrit.openafs.org/2862
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1676c7e54f238e72910263f83987b271067efe21
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 29 00:15:37 2010 +0100

    rx: Use atomics for rxi_AllocSize and rxi_AllocCnt
    
    More atomics for RX statistics counters. Less lock contention.
    
    Change-Id: I55202d2d54323448f7bc191aab03ace976fac962
    Reviewed-on: http://gerrit.openafs.org/2861
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 41633936ce0ac35c9b654c8666241d930f140bbd
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 29 00:06:45 2010 +0100

    rx: Make nWaiting and nWaited atomic
    
    Make the nWaiting and nWaited counters atomic, and get rid of the
    mutex which used to protect them.
    
    Change-Id: I0c4d8f1df1860baa2bb189ea77bf20ee9f2066f7
    Reviewed-on: http://gerrit.openafs.org/2860
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a3c7d9ee037c85297fd2b1932d47c40b64130676
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 28 23:48:50 2010 +0100

    rx: Add rx_NewThreadId function
    
    The fileserver and the fsync server were locking an internal RX
    mutex, and incrementing an internal counter in order to obtain fake
    pthread thread IDs. Instead of letting them muck around in the
    internals of RX, provide an API that can be called to obtain a
    ThreadId counter, and use that API throughout the code.
    
    Change-Id: I68f41d1486cdafeb757da2c0df899ae1ca2b2bfc
    Reviewed-on: http://gerrit.openafs.org/2859
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 513d6a3e35f8c35178e0a22428d616751251b51e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Sep 28 23:37:54 2010 +0100

    rx: Add atomic operations code
    
    Add support for an atomic type, and atomic operators for RX. This
    builds on work which has already been done for Windows, where
    InterlockedOperations are used for statistics gathering.
    
    A new opaque type, rx_atomic_t is introduced so that normal arithmetic
    operations will fail on atomic data.
    
    An implementation using native atomic methods is provided for Darwin,
    Solaris and Windows. A native kernel implementation is used for Linux.
    Where OpenAFS is built with a sufficiently modern gcc, gcc's atomic
    primitives will be used. Sadly, gcc's builtin operations are not
    available for i386, they will only be used with builds the set
    -march=i486 (or later).
    
    Otherwise, we fall back to a single mutex which protects all atomic
    operations.
    
    Change-Id: I5f69677a80617e3936f82b177cd58250a6dbf31f
    Reviewed-on: http://gerrit.openafs.org/2858
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e9fafac6cba6e024f08e8743d60b7853a2940ba2
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Aug 30 15:36:50 2010 -0400

    Windows: Set NTDDI_VERSION when setting _WIN32_WINNT
    
    Change-Id: I65312c35b40dbbb4ea8f0170ea8e961bd93359aa
    Reviewed-on: http://gerrit.openafs.org/2866
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit cbaef553978b7d81ba6d7b7721bcea97fe41870a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 26 15:48:54 2010 +0100

    RX: Tidy reader data locking
    
    Data which is accessed only by the reader thread doesn't need to be
    protected by call->lock
    
    Remove the call->lock protection where it isn't required, which makes
    certain read/write calls lock free.
    
    Stop rx_ResetCall from manipulating reader thread data. This data will
    be zero'd and cleared when the reader thread calls rx_EndCall, and
    doesn't need to be reset by the Listener thread.
    
    The change which made rx_ResetCall reset reader thread information
    was originally part of 559ea99b. It caused race conditions that were
    fixed by adding additional lock protection in d0cc6e, 4dadd2 and
    423ab97e. This commit reverts portions of all of those changes. It
    is safe to not clear the iovc in ResetCall because any NewCall must
    be balanced by a corresponding EndCall in the reader thread, and
    EndCall does the appropriate freeing of reader elements.
    
    Change-Id: I450469a4591fbe4af34482a2b219708795c57e8e
    Reviewed-on: http://gerrit.openafs.org/2856
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit 791b7a4c660ef468286eb6f51e66b4faa4bb6c7b
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Sep 28 20:03:25 2010 -0400

    More FBSD syscall tweaking
    
    We're now properly registered in syscalls.master for HEAD
    (i.e. proto-9.0) and RELENG_8 (proto-8.2), which means that
    afs3_syscall is prototyped in sys/sysproto.h .  Accordingly,
    don't declare it in afs_prototypes.h for those cases.
    
    Also add FBSD82_ENV checks for the new syscall-registration code,
    and cast afs3_syscall to sy_call_t* for the sysent structure.
    
    Change-Id: I0e7427274b018043c3a6a8ca6181a78a385d9aa2
    Reviewed-on: http://gerrit.openafs.org/2864
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 50920c0384189a6c635ca58c38bf7c942c0446b2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 27 23:50:23 2010 +0100

    rx: Limit window size to max acks
    
    The RX ack packet can only acknowledge 255 packets at once. In the
    current implementation, this limits our maximum window size to 255,
    as we can't acknowledge any packets we receive outside of that window
    size.
    
    Change-Id: If12eeb4a71cdf0bcd2a82f86b416e387543b7ea8
    Reviewed-on: http://gerrit.openafs.org/2857
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0cac17105b632f495a8000a06a721e0bb163e2f4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 11:11:18 2010 -0400

    volser: Set but not used variables
    
    Fix instances of variables defined and set but never used in the
    volser directory.
    
    Spotted by gcc 4.6
    
    Change-Id: Ibb1896cdde51985d1c14b563f8a6de6cec90403f
    Reviewed-on: http://gerrit.openafs.org/2852
    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>

commit 9d790e18fadc318305b58809c0715c4e07c82b85
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Sep 26 07:28:46 2010 -0400

    pam test should return an int in main
    
    change things so we conform with the usual prototype for main()
    
    Change-Id: Ia3bfe6bb1b135fdba53ccca1650b0b7223108a27
    Reviewed-on: http://gerrit.openafs.org/2850
    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>

commit a2de10a1705a88ef652f4489383801a15c938a12
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Sep 10 20:40:56 2010 -0400

    viced, tviced: Set but not used variables
    
    Remove or ifdef out some variables that are set but never used.
    
    Spotted by gcc 4.6
    
    Change-Id: I895740680997cff29d96ee5257830531c71711af
    Reviewed-on: http://gerrit.openafs.org/2853
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e6c9cf2466e849753db99b48b0da26665ef0a0e3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 25 15:28:37 2010 -0400

    tubik: minor Makefile cleanups
    
    Rework the install targets for udebug to avoid warnings in the case
    where afssrvbindir = bindir
    
    Remove commented out compile line for udebug
    
    Change-Id: I500ba2575e7d71114dbdec704d6b3d22585cfdd3
    Reviewed-on: http://gerrit.openafs.org/2851
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e23f3ae22f11433713860b37b89a94b12fd70e8d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 27 11:47:51 2010 +0100

    rxperf: Really set UDP buffer size
    
    On Unix, the UDP buffer size has to be set before we open any sockets.
    Otherwise, the default (64k) buffer size is used and never changed.
    
    Move the calls to SetUdpBufSize in rxperf.c so that the -u command
    line option actually has an effect.
    
    Change-Id: Ic925faabca8264c0359693e97c2ab5b637902797
    Reviewed-on: http://gerrit.openafs.org/2855
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8c0498699366f7e40253d00604da3d9043b32851
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 26 15:20:22 2010 +0100

    Fix rxperf so that it works with pthreads
    
    *) Don't allocate 512K on the stack
    *) Don't pass stack allocated data into pthread_create()
    
    Change-Id: I6a4f70121871bf3b7a62d9ed893a2d15bffc7a21
    Reviewed-on: http://gerrit.openafs.org/2854
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7d272f05059a4b467ee41a2a0d8781e9f9c4c250
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Sep 25 16:42:57 2010 -0700

    Update Debian packaging to 1.5.77-2 release
    
    Contains DKMS robustness fixes, improvements to the defaults for the
    module build, and cleanup of the openafs-client init script.  Updates
    the build system for the new demand-attach binary naming and for the
    changes to supported configure options.  Fixes some issues with
    afs-newcell.  Forces disabling of the Linux syscall probing in kernel
    module builds, since no supported Debian kernel allows this and it
    causes problems.  Update debhelper to V8, which allows simplification
    of debian/rules and debian/module/rules.
    
    Change-Id: I4db4df873607129548557389f08c7ec1480e7204
    Reviewed-on: http://gerrit.openafs.org/2849
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e28bb036b85ea90c0ecf8d52a17043374c1fef3a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 23 10:15:57 2010 -0400

    scout: display fetch and store counts as unsigned
    
    Fetches and stores are already defined as unsigned, so format
    them as unsigned values when displaying in scout. This fixes
    the bug where scout shows those counts as negative values on
    busy servers which have been running for a while.
    
    Change-Id: I460172720d76e081ede4381b2718f75386af4285
    Reviewed-on: http://gerrit.openafs.org/2843
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a99e616d445d8b713934194ded2e23fe20777f9a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 23 17:41:47 2010 +0100

    rx: Big windows make us sad
    
    The commit which took our Window size to 128 caused rxperf to run
    40 times slower than before. All of the recent rx improvements have
    reduced this to being around 2x slower than before, but we're still
    not ready for large window sizes.
    
    As 1.6 is nearing release, reset back to the old, fast, window size
    of 32. We can revist this as further performance improvements and
    restructuring happen on master.
    
    Change-Id: Ic1de2cf33f42edaf1455b72580110d56fe968a7b
    Reviewed-on: http://gerrit.openafs.org/2844
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4884de5bc8b5a984eeb5927685308874296e88b8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 23 15:01:58 2010 +0100

    libafsrpc depends on rxstat and fsint
    
    ... in the same way as shlibafsrpc
    
    Change-Id: I02d8c35efadd9c9b865bb91eabd0e5b3c10a115e
    Reviewed-on: http://gerrit.openafs.org/2842
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 18b932f29f7ac3d4da7736d58e6dc3833ca4c6f3
Author: Matt Smith <matt.j.sm@gmail.com>
Date:   Thu Sep 16 15:44:04 2010 -0500

    Updates to the Cache Manager to include NetBSD5 support
    
    LKM currently builds and will mount when forced with the entry point
    manually defined. Contents of /afs can be discovered, but when listing
    the directory, the system call will not return.
    
    Change-Id: I68ba1897b56613bd4ebbe331eea3140c6a963a7d
    Reviewed-on: http://gerrit.openafs.org/2767
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c21c90515ac37862a6002441790a721489fa89a8
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 23 10:42:25 2010 +0100

    rxperf: Add build rules to build a pthreaded version
    
    The pthreaded version of rxperf is much more interesting than the
    LWP one now, so add some rules so that Unix can play with it too.
    
    Change-Id: Ia76dd89482c8d62805ed8dfd58a1963e4bf8cc65
    Reviewed-on: http://gerrit.openafs.org/2841
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c87377834701195fe98d75ad34324bc1748e13a0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 23 10:40:02 2010 +0100

    rxperf: Fix the Unix build again
    
    Fix the Unix build of rxperf again
    
    Change-Id: I2c5d43f6f69ef36d703bd73154a1f5ec080a47cd
    Reviewed-on: http://gerrit.openafs.org/2840
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8dd5e7a87ee5626e89c14d2a989b4795bebd5c05
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 22 09:03:27 2010 +0100

    Add an LWP version of the hcrypto library
    
    hcrypto uses a single pthread mutex, which is only required when
    we're running in a pthreaded world (in a cooperative threading world
    such as LWP, there's no way that two processes can both access the
    Fortuna PRNG at the same time)
    
    So, build an LWP version of hcrypto which just disables the mutexes.
    
    Change-Id: I0b894cfa0d16ba6d16544a4d725191c965ac6e50
    Reviewed-on: http://gerrit.openafs.org/2833
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 289461450c0e14cc35e0f8e80ff8047fdc13b6c5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 15 17:35:37 2010 +0100

    Move des/stats.h to rxkad directory
    
    The structures defined in des/stats.h are rxkad specific, and so
    should be handled by an rxkad header file, rather than by something
    in the eventually-to-be-removed DES directory.
    
    The structure shouldn't be initialised in libutil. Move initialisation
    to rxkad_common, where it is already initialised in the pthread case.
    
    Change-Id: I3de49cfe1752eaa5f273796516e2ff6c289d9533
    Reviewed-on: http://gerrit.openafs.org/2576
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 259cca4050102e98ade929cc648a69d9f57c07fa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Sep 17 22:03:20 2010 +0100

    tests: Fix objdir builds
    
    Fix the tests so that they work when we have a separate build
    directory.
    
    Change-Id: I1329a4186b126c84f611c9751fd228b80c80c82c
    Reviewed-on: http://gerrit.openafs.org/2828
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f3f108f4c7fe5808d8debe3c9fbcfb3b1b79b73a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 15 11:16:15 2010 +0100

    rx: Add struct rx_identity
    
    Add the rx_identity structure which can be used by rx security
    layers to store and return identity information to applications.
    
    A number of helper functions for manipulating rx_identity structures
    are also provided.
    
    Change-Id: I64ae2b62a4bc8a401c1ac877f4662c66a39247f8
    Reviewed-on: http://gerrit.openafs.org/2827
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 571aac176e94dc669c677041c0bcac7dedcd8067
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 16 12:48:41 2010 +0100

    rx: Add an opaque type
    
    Add a type to RX to hold counted data chunks, and some helper
    functions to assist callers with using that type.
    
    Change-Id: Ia81ceea50e43f6fba101122a085f84776dbf3807
    Reviewed-on: http://gerrit.openafs.org/2826
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 68d074d8aa98e76fb85289c69300d17695b98d0b
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Sep 22 16:34:42 2010 -0700

    Link dafssync-debug(8) to fssync-debug(8)
    
    The two commands are documented identically for right now, so just link
    the dafssync-debug man page to the fssync-debug man page.  Remove the
    incorrect statement in the man page that fssync-debug only works with
    demand-attach.
    
    FIXES 128166
    
    Change-Id: I812641ad7a345c7f5412c3c97ed1ba393e981639
    Reviewed-on: http://gerrit.openafs.org/2836
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 10281b5be240707ed2eb75bdb68d9d23ff0011c8
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Sep 21 16:45:53 2010 -0700

    Fix POD errors in fileserver and dasalvager
    
    Fix missing newlines before =back commands.
    
    Change-Id: If8e65c94f48c271c37c1b4bbec1b17d383c8375d
    Reviewed-on: http://gerrit.openafs.org/2831
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 82b7327b5ba66c6ddbc898ad383b4e5f2b08ec38
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Sep 21 14:11:53 2010 -0700

    Update bos create man page for new naming of demand-attach binaries
    
    The demand-attach fileserver binaries now have a "da" prefix.  Adjust
    the documentation in the man page for bos create accordingly, and add
    the new binaries to SEE ALSO.
    
    Change-Id: Ib70bad87aaf8bfc483ffbfe402db01c178e6c4e4
    Reviewed-on: http://gerrit.openafs.org/2830
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dd8c28a58e58e84a22da44da03812eca879f70fa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 10:11:57 2010 +0100

    auth: Add documentation for ktc_ListTokensEx
    
    Document ktc_ListTokensEx, and add a stub implementation of the
    function for Windows.
    
    Change-Id: Ie168081f1a991fcf13358a5a1eeb8d0b96f5800a
    Reviewed-on: http://gerrit.openafs.org/2825
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f73c085755869b071607db1059351c46ca83abac
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Aug 20 00:14:49 2010 +0100

    hcrypto: Add dirfd definition for solaris
    
    Add an implementation of dirfd to our local roken implementation for
    platforms that don't have one.
    
    Code taken from Heimdal.
    
    Change-Id: I4284c18430b6f49200886f5340191a14dcf34b57
    Reviewed-on: http://gerrit.openafs.org/2608
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9a6dca070733dd5065c37cd044a3d2ded2268b14
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Sep 22 16:28:48 2010 -0700

    Additional functionality for rxperf
    
    Add the ability to initiate multiple pthread threads issuing
    calls on the same connection to the server.
    
    Add ability to set max window size.
    
    Add ability to adjust min peer timeout.
    
    Change-Id: I896650b033ae0adfa42d3e5831ff799ca1331bd5
    Reviewed-on: http://gerrit.openafs.org/2835
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 200a9947f548eb7158e92de62ddaa76fcfe4ba46
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Sep 23 08:58:21 2010 +0100

    libuafs: Don't #define user
    
    libuafs used to #define user to usr_user, so that any references to
    'struct user' would become 'struct usr_user'. However, none of the
    kernel code uses struct user, and this #define conflicts with the
    definitions in sys/user.h on Linux.
    
    So, just remove it.
    
    Thanks to Russ Allbery for the original problem report.
    
    Change-Id: I7868c8ddade2df626f5ecae597144641dfc551b7
    Reviewed-on: http://gerrit.openafs.org/2838
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d17adc30027d795068504dc736dac849ed42a884
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 22 17:33:26 2010 +0100

    rxkad: Make the test suite build again
    
    Make the rxkad stress test suite build again.
    
    Change-Id: I8ff7aecb768f0f46129f612e8bcbef20d59c8886
    Reviewed-on: http://gerrit.openafs.org/2832
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a10f644fd21482559039f79e4a14fd39a83f6f9b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 22 19:50:47 2010 +0100

    rxperf: Fix so it builds on Unix
    
    Fix assorted errors in the rxperf utility so that it will build
    on Unix.
    
    Change-Id: I8ba4e5e6bc2bab38b38f27f5fae3138a0924caa6
    Reviewed-on: http://gerrit.openafs.org/2834
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5fd720ce7d1532b8f17b96b6b21a85ee0ee6827f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 1 14:38:58 2010 +0100

    rxgen: Handle complex structures
    
    Servers built using rxgen will break if they take complex
    structures as RPC arguments. A complex structure, in this case, is
    one which contains an array.
    
    For example an RPC which takes as an argument:
    
    struct MyData {
        opaque somebytes<>;
    }
    
    ... will cause memory corruption on the server whenever it is called.
    
    This is becase the server stubs emitted by rxgen do not zero out the
    contents of the MyData structure, leaving it with whatever garbage may
    be on the stack. When XDR comes to populate the somebytes opaque
    array, it sees that MyData.somebytes.somebytes_val is non-zero, and
    assumes that this is a pre-allocated block into which it can record
    the data from the wire. However, it's really just stack garbage, and
    so we overwrite memory.
    
    As a fix, this patch creates a new list of 'complex' structures, which
    are identified as structures which contain arrays. When a server stub
    is created for a function that takes a complex structure, the structure
    is set to zero before use, and marked to be freed afterwards.
    
    I suspect that there may be a wider class of complex structures than are
    caught by this routine, but this is a start...
    
    Change-Id: Id671fe602c8cd44afaaccc821aaa097b142f1899
    Reviewed-on: http://gerrit.openafs.org/2736
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c77f2f1369fead87acb440134213ebf6d23f8fd7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 20 05:07:08 2010 -0700

    Rx: Change minimum peer timeout to 2ms
    
    The previous value, 350ms, is historical.  Now that networks are
    so much faster, an artificially high timeout value when backed off
    results in an extremely long delay before communication can resume.
    
    Change-Id: I6207fb3e5c26a36704abc1f9210af53e0ff1fae6
    Reviewed-on: http://gerrit.openafs.org/2815
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ed25a920232cb659c2997c91c5bc92a659ff163a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 20 10:02:18 2010 -0700

    Rx: Permit MakeDebugCall() be be compiled when RXDEBUG is undefined
    
    If MAKEDEBUGCALL is defined, build MakeDebugCall() even if RXDEBUG
    is not defined.
    
    Change-Id: I98d3216e8bf1e1f3b6b62c962d33db316d0f51ac
    Reviewed-on: http://gerrit.openafs.org/2818
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e197c19cedaafa0d2bb59212fb171083f2140041
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 20 05:11:20 2010 -0700

    Rx: Do not hold call lock across memcpy in rx_ReadProc/rx_WriteProc
    
    1.4.x does not hold the call lock across memcpy operations in
    rx_ReadProc, rx_ReadProc32, rx_WriteProc, rx_WriteProc32.  The
    claim is that the call curpos, curlen, and nLeft fields which
    refer to the current packet being processed will not be touched
    by any other thread.  Therefore it is safe to drop the call lock
    to permit another thread to add packets to the call while the memcpy
    is performed in parallel.
    
    This patchset continues to hold the call lock longer than the
    original implementation but does drop it for the length of time
    it takes to copy data from the packet buffer to the application
    buffer.
    
    Change-Id: I87dacdf541ba50db80ab55e500b38edab5126dc2
    Reviewed-on: http://gerrit.openafs.org/2817
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7b9607639816b19fdf1b70b4c04ba984f9bf3613
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Sep 20 05:10:22 2010 -0700

    Rx: Permit udp buffer size to be set in rxperf
    
    Change-Id: I4680e038e2965ca8bc13f76955b85e924435c6af
    Reviewed-on: http://gerrit.openafs.org/2816
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0a9e57c45e4412d9dac7050d693a22044ddc1d0f
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Sep 20 14:19:11 2010 -0700

    Add NEWS entries for OpenAFS 1.5.77 and 1.5.76
    
    Based on the public announcement for 1.5.77.
    
    Change-Id: Ic368e16e16b03a79de6196a2e355eca0f420de77
    Reviewed-on: http://gerrit.openafs.org/2819
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a00da7d2c9a66f1e5984ec2b3bd3efe10793e1c9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 16 14:23:41 2010 +0200

    Windows: Negative Caching for Volume Lookups
    
    If a volume lookup returns VL_NOENT or VL_BADNAME, cache the negative
    response for five minutes.  This prevents volume lookup storms caused
    by the same volume lookup being performed repeated during a short
    time period.  This can happen if mount points to volumes that do not
    exist are present in a directory that is being evaluated by Windows
    Explorer or Common Control File Dialogs.
    
    This functionality is implemented by storing the most recent update
    time for the volume group as part of the cm_volume_t.  A non-existing
    volume group is identified with a new CM_VOLUMEFLAG_NOEXIST flag.
    The presence of the lastUpdateTime value also permits volume location
    information to expire at lastUpdateTime + lifetime instead of expiring
    all volume information simultaneously each lifetime period.
    
    LICENSE MIT
    
    Change-Id: I01c5122a153fadc3824ff916655b0199d5c1de3c
    Reviewed-on: http://gerrit.openafs.org/2771
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 089cd2c1039315fe400f85eec1c9f2152ea090c7
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Sep 14 10:12:43 2010 -0700

    Mention KRB5CCNAME in the aklog man page
    
    AFS users not otherwise familiar with Kerberos may not realize that
    one sets KRB5CCNAME to use an alternative ticket cache.  Mention the
    variable in the aklog man page, although defer to the Kerberos
    documentation for most details.
    
    Change-Id: I13133285f153f86e0aa1e95b24715e01d576075d
    Reviewed-on: http://gerrit.openafs.org/2761
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit be91260047627fb4fffeeed73c7f24c80448c673
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 10:46:34 2010 -0700

    Rx: Permit ADAPT_WINDOW code to build
    
    Add missing fields to rx data structures.
    
    Update variable references.
    
    Change-Id: I7f3cc5e89e71ee0a9dfc3ae8b021bec07a41ce95
    Reviewed-on: http://gerrit.openafs.org/2783
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7ee80a853cebc472d9d9664dbfcccadd1d49d5fc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:17:08 2010 -0700

    Windows: Export additional RX debugging variables from afsrpc.dll
    
    Export
    
       rxi_nRecvFrags                          @2008 DATA
       rxi_nSendFrags                          @2009 DATA
       rx_initReceiveWindow                    @2010 DATA
       rx_initSendWindow                       @2011 DATA
       rx_intentionallyDroppedPacketsPer100    @2012 DATA
       rx_intentionallyDroppedOnReadPer100     @2013 DATA
    
    so they can be referenced from pthreaded builds of src/rx/test tools.
    Exported variables must be present in both FREE and CHECKED builds.
    
    Change-Id: Ia7f3ee0143679bab1ce74f71dc3a996cda1f18a8
    Reviewed-on: http://gerrit.openafs.org/2779
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f1183f16285be040b7150414c9563a9bceb53210
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:14:06 2010 -0700

    Rx: PrintTheseStats should not be dependent on RXDEBUG
    
    When RXDEBUG is not defined, PrintTheseStats generates an error
    even though the statistics are in fact available.  The global
    variable rx_packetTypes was not being defined without RXDEBUG.
    
    Make rx_packetTypes defined always and permit statistics to
    always be printed.
    
    Change-Id: Ife708d34b5d56374c8aff9aa7c941d39b37ca4a1
    Reviewed-on: http://gerrit.openafs.org/2778
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 00afdbed0ff474aaf45a49b157843af9cb8483ad
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:08:42 2010 -0700

    Rx: move TSFPQ prototypes from rx_globals.h to rx_protoypes.h
    
    Function prototypes belong in rx_prototypes.h not in rx_globals.h.
    
    Remove EXT macro from function prototypes as functions do not
    require special treatment in order to be exported by a DLL on Windows.
    
    Change-Id: Ieb617db634f2cfa57410e77e276c703311304547
    Reviewed-on: http://gerrit.openafs.org/2777
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8549ebe0a81ac9a526d13f96ba63e048d8b77aa7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:03:39 2010 -0700

    Rx: properly compute dataPacketsReSent statistic
    
    The global dataPacketsReSent statistic should be the sum of all
    peer->reSends and dataPacketsSent should not include the count of
    resent packets.  Prior to this patchset, dataPacketsSent included
    the resent packets and dataPacketsReSent was computed as the number
    of requests for Ack instead of the number of packets resent.
    
    Change-Id: I969003f7ec1805d09c14ac342453f86fdb5df99a
    Reviewed-on: http://gerrit.openafs.org/2776
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 72cadfd86a0efc0079639671d613005ff403ccc4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:00:57 2010 -0700

    Rx: always use tservice variable in rxi_ServerProc
    
    Since tservice has been assigned to call->conn->service,
    use it instead of call->conn->service when calling
    executeRequestProc(call)
    
    Change-Id: Id26c4c63f054bcd1e3ef5349900c910e3c9cf2be
    Reviewed-on: http://gerrit.openafs.org/2775
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e77c7be7537cbcbee77a297b5b52a6287462462f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 08:57:02 2010 -0700

    Windows: Release builds of Rx should be lean and mean
    
    Only build checked builds of Rx with
    -DRXDEBUG -DRXDEBUG_PACKET -DRX_TRACK_PACKETS -DRX_REFCOUNT_CHECK
    
    Change-Id: Ib4666d30b1e48eca172331353d9e376b2516f183
    Reviewed-on: http://gerrit.openafs.org/2774
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3b4cad3b78ec5df7253067c70e19c066552d7145
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 19:48:57 2010 -0700

    Rx: Only backoff the peer timeout once
    
    If a packet is missing, the peer timeout is backed off to provide
    a new starting point for timeout computation.  The backoff state
    must be stored in the peer object to ensure that multiple failures
    do not result in more than one backoff before a successfully received
    packet is available for recomputation.
    
    Change-Id: I6794b3a020801ff421e4ed776afb581962b111a9
    Reviewed-on: http://gerrit.openafs.org/2787
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d16c8b84ac8cc0251231819bfb0eefc2040322a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:47:37 2010 -0700

    Rx: only compute peer bytes sent and received if rx_stats_active
    
    Computing the bytes sent and received is an expensive operation.
    If rx statistics collection has been disabled we should not collect
    the peer data.  The most expensive operation is the rx_FindPeer()
    call that is performed during rxi_ReadPacket().  rxi_ReadPacket()
    is processed by the rx listener thread which must be as fast as
    possible.
    
    Change-Id: I5403c88aa85f9049fe50a9c1f3dbaad7d8b802bd
    Reviewed-on: http://gerrit.openafs.org/2782
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c59ce29602086f795d5fbaef6a5f88fae9dd2dea
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:35:03 2010 -0700

    Rx: avoid lock churn in rxi_ReceiveAckPacket
    
    rxi_ReceiveAckPacket can acquire and drop the conn_data_lock several
    times and acquires and drops the peer_lock unnecessarily.  This patchset
    adds a variable to track whether the conn_data_lock is held in order
    to avoid the need to drop it and reacquire it based upon conditional
    operations.  It also relocates the peer->maxPacketSize computations
    in order to consolidate the work performed under the peer_lock.
    
    Change-Id: I0bc9e42e8ef198a04315f9f2df529073ce9dfd03
    Reviewed-on: http://gerrit.openafs.org/2781
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 449976acd54ff46fd6cdb9a6e12acf3789665bcf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 08:28:21 2010 -0700

    Rx: Build rxperf test application on Windows
    
    rxperf made assumptions that it was built against LWP, used buffer
    sizes for read/write that were too small, made use of non-portable
    types, and set signal handlers that are unsupported.
    
    Change-Id: I55515cac0f441116df7fd0aaf100fb3ae99b220f
    Reviewed-on: http://gerrit.openafs.org/2773
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6152b5322e2b1699252c04c757a2013c2e3c8939
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 23:17:24 2010 +0100

    viced: Don't fall back to tokens
    
    I can't think of any circumstances in which it is appropriate for
    the fileserver to fallback to using tokens from the kernel, rather than
    those generated from keys on disk. So, remove that fallback.
    
    Change-Id: I92b8987ce63759234d238812a8fe998daed4c20f
    Reviewed-on: http://gerrit.openafs.org/2758
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ebbb9253438f6051cdb7ba2974554f4793b8bae2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 08:21:10 2010 +0100

    ubik: Remove unused error codes
    
    The error codes in ubik.p.h have been replaced by ones defined by
    com_err. Remove the redundant, #if 0, definitions of these, as they're
    just confusing when grepping the code.
    
    Change-Id: I18b827a6e0532a602f904bb6c1e34c3f63c2e08d
    Reviewed-on: http://gerrit.openafs.org/2757
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c38fea29c5daefd35800eda63f0dcef56eb74357
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 13:19:47 2010 -0400

    rxgen, kauth: Set but not used variables
    
    Remove a few variables that are not actually used, and the
    associated code.
    
    foundcurrentkey is only used in the AUTH_DBM_LOG case, so
    scope the declaration and assignment accordingly.
    
    Spotted by gcc 4.6
    
    Change-Id: I281ca37488e69bfe46a8e63bdc5990f5f3cff940
    Reviewed-on: http://gerrit.openafs.org/2734
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f4814575629d4565f408507c07e3dd711b26661c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 20:49:55 2010 +0100

    ptserver: Merge WhoIsThis and WhoIsThisWithName
    
    The functions WhoIsThis and WhoIsThisWithName are pretty much identical,
    with WhoIsThisWithName just having additional logic for foreign user
    registration. Merge them together, so that there's only one copy of
    the code for determining who a user is.
    
    Change-Id: Ia6e62ae932219f29e3141fe3c94b4be0110ca17a
    Reviewed-on: http://gerrit.openafs.org/2756
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a4ec68691869deaf12a6fe405394bba2c9003fb9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 12 18:41:21 2010 +0100

    Add additional dependencies for shlibafsrpc
    
    fsint and rxstat need to be build before shlibafsrpc, so add them
    to the dependencies list.
    
    Change-Id: I47b551de13f6f860cee9f6c09a769de472b3ec3f
    Reviewed-on: http://gerrit.openafs.org/2755
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 10bb4b31038c967ce5f9dd2f0e54ffd7bfe18daf
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 13 08:54:55 2010 +0100

    userok: Don't double check for expiry
    
    rxkad_GetServerInfo returns an error if you attempt to get server
    information using a connection whose tokens have already expired.
    
    The additional check for expiry in the userOK routines is therefore
    not required - they'll never be reached, because GetServerInfo will
    already have errored out.
    
    Change-Id: I7b1a97249d40b12a2aae4009971a9b676700870e
    Reviewed-on: http://gerrit.openafs.org/2753
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 45b99383649047c24c0c8e789b1e450aadb55d47
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 16:39:23 2010 +0100

    auth: Restructure userok
    
    Restructure the userok logic in auth to split it into smaller functions,
    and abstract out common code. This will make it easier to add support
    for other security layers in future commits.
    
    Change-Id: I64f6e053ad1a6a2054630a400f7499d805bb9838
    Reviewed-on: http://gerrit.openafs.org/2752
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 34df5da39871ae5231048a416f191784c5c2d127
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 12:51:52 2010 +0100

    rx: Call rxgen_consts.h by its proper name
    
    rxgen_consts.h is actually in the afs/ directory. Include it from
    their, rather than requiring that every user have $(TOP_INCDIR)/afs
    in their search path.
    
    Change-Id: Ia3faf4c08bd69cb64652b8c1ab722c49179667c8
    Reviewed-on: http://gerrit.openafs.org/2750
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 84d28ecf9d68852152cad1039042e10e38075a29
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 10:17:12 2010 +0100

    tokens: Use the new tokens interface
    
    Change tokens so that it will use the new tokens interface.
    
    Note that this changes the output from the tokens command.
    
    Change-Id: If15d7d439b86a89afcafafe65d304324a186b8d3
    Reviewed-on: http://gerrit.openafs.org/2749
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a86ad262d2a8be36f43ab0885a84dde37ddfc464
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 10:11:57 2010 +0100

    auth: Add the ktc_ListTokensEx function
    
    Add a ktc_ListTokensEx function which uses the new GetToken pioctl
    to implement the same functionality as the old ktc_ListTokens call.
    
    As with ktc_ListTokens this is hugely inefficient, as it gets a
    compelete token structure from the kernel, then throws it away to
    return just the cell which the token is for.
    
    Change-Id: Idf3daa536c6a04d397691d0cc6fcb2c59f9f444c
    Reviewed-on: http://gerrit.openafs.org/2748
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5c3a1ed88de16db4c2081bbf1a4e397ce459bcf3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 08:03:50 2010 -0700

    Rx: Move rxperf test application to src/rx/tests
    
    rxperf is a test application.  Move it to the tests directory
    
    Change-Id: I946a8026760d860667ea5707d8a3e0d3b895d908
    Reviewed-on: http://gerrit.openafs.org/2772
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7ded3209a2fbd8d0108f9322d708551e93b6ef76
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Sep 19 09:20:01 2010 -0700

    Rx: cleanup testclient and testserver test applications
    
    Permit testclient and testserver to be built on Windows as
    pthreaded applications.
    
    Remove warnings.  Fix prototypes.  Remove variable declarations
    for rx library variables defined in rx_globals.h.
    
    Increase the buffer sizes.  Disable use of packet dropping when
    the library is built without RXDEBUG.
    
    Change-Id: Ic8483eb64cbed4958baf8fd054e01c7c40832599
    Reviewed-on: http://gerrit.openafs.org/2780
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 97c317c2ccb80b1d183275258999adecb66fe5d2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 8 08:12:41 2010 +0100

    authcon: Use ktc_GetTokenEx in ClientAuthToken
    
    Use ktc_GetTokenEx, and the related token utilities to check for a
    users tokens, rather than using the legacy ktc_GetToken
    
    Export the necessary symbols from libafsauthent on Windows to be able
    to do this.
    
    Change-Id: I475587d88d9a480c66b4e8484cc595ea984340a3
    Reviewed-on: http://gerrit.openafs.org/2747
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 209d8c367756cf0e0bad5b3d35bdc6b25d7b485d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 16 02:48:30 2010 +0200

    Windows: Add new token interface with stub for ktc_GetTokenEx
    
    The Windows build was broken by the addition of dependencies on
    token_FreeSet, ktc_GetTokenEx, etc.   Permit the build to continue.
    The ktc_GetTokenEx implementation will depend on the creation of
    a new Windows pioctl for the call.
    
    Change-Id: I1c486af0beda10a2d846dc6bdff8c6195031dbe7
    Reviewed-on: http://gerrit.openafs.org/2765
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 94aa0f0860653ca4431ed1a6adaee10ef731be21
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 16 07:09:20 2010 +0100

    Rename kauth/token.c as kauth/katoken.c
    
    The kauth 'token.c' collides with the same file in auth when doing
    Windows builds. As kauth is the legacy package, rename its source
    file, and update the build system to take account of this.
    
    Change-Id: Ib99ef6674a4bfd6a2810b417b34bdc564b3533dc
    Reviewed-on: http://gerrit.openafs.org/2766
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 019ee226cbdf08f5d42298b8e8358660f839f77e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 4 15:29:03 2010 +0100

    RX: Make rxi_Alloc return (void *)
    
    rxi_Alloc returns a pointer to an anonymous data block. Make its
    return value (void *) rather than (char *), so that it can be
    called in the same way as malloc(), and not require casting.
    
    Change-Id: Ib3094ad0273c62a4430eb56d35e3df68a550d338
    Reviewed-on: http://gerrit.openafs.org/2738
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff100901e0da8d236c7ae8b4d478600146d8f182
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Sep 12 12:07:59 2010 +0100

    Linux: print after BUG() is pretty useless
    
    Calling BUG() panics the machine, so having a print statement with
    further debugging information after it doesn't help much.
    
    Swap the ordering, so we at least see the message.
    
    Change-Id: I3aa3b8ba5faaa40cef7bb046093b322212eea2b8
    Reviewed-on: http://gerrit.openafs.org/2754
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bc56f5cc97a982ee29219e6f258b372dbfe1a020
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 14 12:15:22 2010 -0400

    volser: Delete timed-out temporary volumes
    
    When a transaction times out on a volume, delete the volume if it is a
    temporary volume (destroyMe is set). This prevents half-created
    volumes from accumulating, which can take up space and screw up
    certain vol ops in some versions.
    
    Change-Id: I94e9adc767b84a2a32d980f508af33b823560950
    Reviewed-on: http://gerrit.openafs.org/2760
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8fd83543b60aefb4b7c5a0116d1538a89f58bbb3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 15 12:19:33 2010 -0400

    libafs: Fix pioctl get/putInt alignment issues
    
    We don't know if the buffer for pioctl data is aligned to anything, so
    we can't just dereference the given pointer as an int or anything
    else. So, just memcpy the data in for ints and such; conveniently,
    afs_pd_getBytes and afs_pd_putBytes can do this for us, so just use
    that.
    
    Change-Id: Id1abdae55308db6fe1e13f541a5d776daa6af934
    Reviewed-on: http://gerrit.openafs.org/2763
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ee3538218d342bb74ab849763421b9ec075251b3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Sep 10 19:55:39 2010 -0400

    vlserver: Set but not used variables
    
    Remove some variables that are set but never used in the vlserver
    directory:
    - n1,n2,n3 and n4 in vlclient.c appear to have never been used even
    in the original IBM code
    - some variables in vldb_check.c that are no longer used after some
    recent changes
    
    Spotted by gcc 4.6
    
    Change-Id: Icd9e7da151b3a485c917ed5bd99eb26998dfa818
    Reviewed-on: http://gerrit.openafs.org/2784
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f1796b0f4ad0202ad32e06bb849f443984cf22b5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 13:23:11 2010 -0400

    butc: Set but unused variables
    
    Remove unused variable taskId
    
    writeData() systematically returns 0, so make it void and adapt
    call sites that assigned the return value but never used it.
    Also move the function up in the file to avoid the need for a
    forward declaration, and make it static since it's only used here.
    
    Spotted by gcc 4.6
    
    Change-Id: I2f61c0395796498175f2cb9131066b00657f99a7
    Reviewed-on: http://gerrit.openafs.org/2785
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b6d478c2159bb1baed034fc031a43742d5db0298
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 15 14:40:19 2010 -0400

    libafs: Fix compile errors in afs_nfsclnt.c
    
     - tokenUnion is a union, not a struct
    
     - 'struct rxkadToken' typo
    
     - 'tokenPtr' not 'tokenptr'
    
    Change-Id: I7e0fa4f2d34ba4bd68345e9625f40d1d7301411e
    Reviewed-on: http://gerrit.openafs.org/2764
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d118a03664880782730716b1daef1fc63d95540
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 12:14:09 2010 -0400

    vol: Set but not used variables
    
    Fix some set but unused variable warnings in the vol directory.
    
    In VDetachVolume_r, much of the code and variables are only
    useful in the FSSYNC_BUILD_CLIENT case.  Scope the code
    accordingly.
    
    forcefree is only used in the AFS_DEMAND_ATTACH_FS case, so
    scope code that sets it accordingly.
    
    Spotted by gcc 4.6
    
    Change-Id: I345db6c9aba2d433ccbbc33fdc10d716c06b913c
    Reviewed-on: http://gerrit.openafs.org/2786
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 1 11:38:20 2010 -0400

    Linux: normalize error return for emulated syscalls
    
    pagsh and other code expect setpag() and pioctl() to behave like
    a regular syscall or pioctl, that is to return -1 on error, with
    errno set to the specific error code.
    On Linux, the underlying emulation does a straight return of any
    error code it gets from the ioctl, and errors are not properly
    caught by the callers.
    
    As an example, pagsh won't detect an error from setpag such as
    exceeding a keyring quota limit.  With this patch, the user
    will see this:
    
    $ pagsh
    setpag: Disk quota exceeded
    sh-4.1$
    
    The code in proc_afs_syscall is modified to set errno to the error
    code and to set errorcode to -1 in case of error.
    
    proc_afs_sycall is reindented while we're changing code there.
    
    FIXES 126230
    
    Change-Id: I945f2d28eb0ae26c7f42502c90eb2e6e95c29a58
    Reviewed-on: http://gerrit.openafs.org/2770
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4bbf0dae237e01127f4d1a4d913f00e8dad859a3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 15 04:26:13 2010 -0400

    disable Rx packet tracking
    
    minimize the impact of Rx packet tracking. in particular, do no
    extra queue scans, which means the rest of the state which tracks
    where a packet is now isn't of use. make it possible to re-enable.
    
    Change-Id: I5b9ed039a0394edcea48bb46729cd2ce2f71d4b9
    Reviewed-on: http://gerrit.openafs.org/2762
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e90b19e008ec8bc6e9eb308c671d45781b7b5a46
Author: Steve Simmons <scs@umich.edu>
Date:   Sat Sep 4 12:14:17 2010 -0400

    Automatically find all pod.in files and generate .pods files
    
    Change-Id: I9334ed4fde8df63f278b6ef07bc0eddebfc71bf0
    Reviewed-on: http://gerrit.openafs.org/2720
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2d067a913d3c2e5dbfe756b7752ade308f967c1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 8 14:32:35 2010 -0500

    DAFS: raise vhashsize limit
    
    Raise the maximum specifiable vhashsize to 28 (from 14). Specifying a
    vhashsize over 14 can be reasonable if you expect to have a few
    million volumes on a fileserver.
    
    Change-Id: I90b17209fa25032f6e2bdec9abf80e578fc9b486
    Reviewed-on: http://gerrit.openafs.org/2725
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 575bdaf56e8f5503513bec113653fbbe525ae228
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 2 12:56:28 2010 -0500

    DAFS: Do not ignore out-of-range -vhashsize
    
    If the specified -vhashsize is out of the 6-14 range, do not just
    ignore it. Instead, note the error and quit.
    
    Change-Id: I2a26443bbd3a91183435a26562bea48b8b6a1eda
    Reviewed-on: http://gerrit.openafs.org/2649
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e0708617b8f5df625b6ad62920665e704f1374f7
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 10:46:50 2010 -0400

    Always check return code from iod_Write
    
    The return code from iod_Write is checked at every call site
    in the file, except this one.  Check it, and return VOLSERDUMPERROR
    if appropriate.
    
    Spotted by a set but unused warning from gcc 4.6
    
    Change-Id: I84f38a4b3b1e37c25be9c76702b0d2818058454e
    Reviewed-on: http://gerrit.openafs.org/2733
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a8cf472fd1723fa0e5f4edc34e470443c941f017
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 11 14:57:17 2010 -0400

    rx: Set but not used variables
    
    Remove some unused variables in the rx code.
    These generate warnings with gcc 4.6.
    
    Change-Id: I1e19c82cd05bcd47a65d77079019f1f0b6704826
    Reviewed-on: http://gerrit.openafs.org/2732
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 585a0758dfd1c45551cba4d9088d4938422dfcc7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 23:14:42 2010 +0100

    auth: Make token_FreeSet work on an empty set
    
    If the set passed to token_FreeSet is already freed, just
    make the funciton a no-op, rather than segfaulting.
    
    Change-Id: I41342d1c7bd94bcf20ad67407b28d9ffcccf3c07
    Reviewed-on: http://gerrit.openafs.org/2751
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 33ce7a9308c8a71fbfcea82a935e32521031f48d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 12:43:35 2010 +0100

    Linux: Move keyring includes where they're needed
    
    We don't need the keyring headers in every file, so reduce
    namespace pollution by just including them in osi_groups.c, which is
    the only place that uses them.
    
    Change-Id: I1f8af43439d63bec4df278209d2bb5c86b1c4d05
    Reviewed-on: http://gerrit.openafs.org/2746
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 418581a6be6f5b6bf179e9e083b29782bcdd5add
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 9 09:14:30 2010 +0100

    shlibafsrpc: Export additional symbols
    
    Export additional symbols from shlibafsrpc. These symbols are required
    in order to be able to produce dynamically linked security modules that
    interface with libafsrpc.
    
    Change-Id: Ic221522a10be6714835dc37dbeee22dfd3b728cc
    Reviewed-on: http://gerrit.openafs.org/2745
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 290204c6e92d61c5b12b90d09e8202731caa0400
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 8 08:24:55 2010 +0100

    Ignore *.dSYM files in working directory
    
    Failed Mac OS X debugging builds leave *.dSYM directories lying
    around the tree, which just litter the contents of "git status".
    
    So, ignore them.
    
    Change-Id: Ic2b79f299d724b770bf83cb24f2aac7c4063efdb
    Reviewed-on: http://gerrit.openafs.org/2744
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a353545c3f0e91cc85d7feb379997a1eda9f6e3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 8 08:22:57 2010 +0100

    Add config.log to gitignore globally
    
    When you end up explicitly regenerating chosen Makefiles by
    running ../../config.status Makefile, the working tree ends up littered
    with config.log files.
    
    Currently, we only ignore config.log in the top directory - extend this
    so that it's ignored across the tree.
    
    Change-Id: If3cfec82fbf78e97ee769b36315ba23dcfe8a950
    Reviewed-on: http://gerrit.openafs.org/2743
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0aa435c5f9b91fca111a92c6559b861c5d451d04
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 8 08:31:02 2010 +0100

    auth: Add a gitignore file for the test directory
    
    The auth/test directory is optionally built, and so had missed getting
    a .gitignore file. Add one now.
    
    Change-Id: I0cd49d05446871a250f93123435c4b2ac19e45e5
    Reviewed-on: http://gerrit.openafs.org/2742
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 95ac23fcddcd8ca7fbb224a75374250f88defefa
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Sep 9 09:04:21 2010 +0100

    pam: Remove unused library definitions
    
    Change-Id: I7db8d50b27c0135e89ef15db9302f452e01c8b8a
    Reviewed-on: http://gerrit.openafs.org/2741
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5bc4b4956509256e8cf13bd04e4615ee2cb31c65
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 6 09:38:47 2010 +0100

    aklog: Fix some format warnings
    
    Fix some format warnings (size_t vs int) which only appear when we're
    building with Heimdal.
    
    Change-Id: I7313ea1a7e01532b11fc6039a8a56e0fd874c347
    Reviewed-on: http://gerrit.openafs.org/2740
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 696e1c015eeef259451c101813b9e930e402cb49
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Sep 6 09:37:23 2010 +0100

    aklog: Fix weak_crypto tests
    
    The tests for the various ways of enabling weak cryptography fail
    with current Heimdal master, because it defines krb5_allow_weak_crypto
    but does not prototype it.
    
    Fix this by testing for the Heimdal version (which MIT does not provide)
    first, and only if that's not available, try to use allow_weak_crypto.
    
    Change-Id: I559d5fd40c196fefc947dd0f7b10ed78fbd2c7e6
    Reviewed-on: http://gerrit.openafs.org/2739
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 71171262602d7f261adbffd5047266e94c4a6f92
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Sep 1 11:09:46 2010 +0100

    RX: Make the sample client and server build
    
    Make the RX sample client and server build again
    
    Change-Id: I81ce12eadcb4150dd503e41f9a7fd1a850d31a11
    Reviewed-on: http://gerrit.openafs.org/2737
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6380213d296c138349c77fa4a51655fac23cfeea
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Sep 11 08:25:15 2010 +0100

    vlserver: Use com_err for Ubik error messages
    
    Use com_err to return a sensible string, rather than just an error code,
    for errors with Ubik initialisation.
    
    This has the specific benefit that the error when the database directory
    doesn't exist, or isn't readable, becomes
    
        Ubik init failed: file not found when processing dbase"
    rather than
        Ubik init failed with code 5382
    
    Change-Id: I5f770377668a7f545cad7e422f28afd7c9f9888d
    Reviewed-on: http://gerrit.openafs.org/2735
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d69914a5f0580f8048072d3b734558ea5b7b2df5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Sep 9 21:02:05 2010 -0400

    Warning fix for gcc 4.5 "operation may be undefined" warnings
    
    The inc_header_word and set_header_word macros make repeated use of their
    argument, which triggers many (~30) warnings with gcc 4.5, like this one:
    
    ./ptutils.c:473:6: warning: operation on ‘cheader.foreigncount’ may be undefined
    
    Removing the cast to afs_int32 in the macros gets rid of the warning,
    and should be safe since we're just getting a small positive integer value
    - the offset of the member in the structure - and passing it to the
    pr_Write function which expects an afs_int32.
    
    Change-Id: Ie493520f874cddbb4b7f9f7ebe4b3922a848d0d0
    Reviewed-on: http://gerrit.openafs.org/2729
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 51806bd21af5bcc70c27cda5787ae853fa3f495e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 10 11:17:40 2010 -0500

    udebug: Always show tidCounter
    
    If the queried site doesn't have an active write transaction,
    currently udebug doesn't show the tidCounter. The tidCounter can still
    be useful to know (especially since some sites will become buggy when
    tidCounter rolls over), so always show it.
    
    This adds the "The last trans I handled was" message to udebug.
    
    Change-Id: I10d9ab6ff07188d17df4d8022adf8bb125eb772a
    Reviewed-on: http://gerrit.openafs.org/2730
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2df207274c65b4fa8c24419150e9084a4d17fca
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 9 14:10:01 2010 -0500

    namei: Do not remove n_voldir1
    
    When removing data directories in namei_RemoveDataDirectories, do not
    remove the n_voldir1 directory (directory X in /vicepa/AFSIDat/X).
    Removing this directory can race against the creation of an entirely
    unrelated volume, causing the create op to fail (since it tries to
    create a directory in a directory that no longer exists).
    
    We don't currently have the necessary locking to make this safe, and
    since the overhead of n_voldir1 existing is pretty negligible, just
    leave it there. Also add some comments briefly justifying this.
    
    Note that other similar races probably exist for directories under
    n_voldir1, but they would only be between volumes in the same VG, and
    so are much less likely to occur.
    
    Change-Id: I5eac894cdbdb3fd1d74d8a0fc226df03686ceeef
    Reviewed-on: http://gerrit.openafs.org/2727
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 92ff0028f2e6a2f24dd5369f9b31e9852bf92abc
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Sep 9 15:22:29 2010 -0400

    manpage correction for restorevol -file option
    
    The restorevol -file option specifies which file to read.
    
    Change-Id: I5c03eaaf8bf82fc6d3fb83ff08e8278257e7b65f
    Reviewed-on: http://gerrit.openafs.org/2728
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 31bb2e5eb5feb9c8e84d17b49fe70268127cdd43
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 2 11:25:27 2010 -0500

    vol: Add VInit cond var and remove busywaits
    
    In DAFS, FSYNC_sync was waiting for VInit to reach at least 2 by
    looping around pthread_yield(). For a server with a large number of
    volumes, it can take a while for volumes to preattach, and so we are
    effectively busy-waiting for preattach to finish. This can slow
    fileserver startup and peg the cpu.
    
    So instead, add a condition variable for when VInit changes, and wait
    on that. Also modify other checkers of VInit to use the cond var.
    
    Change-Id: Icc251fdf7d525d40a9db1938a9cb4d47a74dccba
    Reviewed-on: http://gerrit.openafs.org/2648
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ca0a24775794ba2e645854a3bbaa656f2fc8086
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 2 15:05:21 2010 -0500

    namei: Limit traversal when removing data dirs
    
    namei_RemoveDataDirectories currently calls delTree with 'tree'
    pointing to the part of the path immediately following n_base (i.e.
    starting at the beginning of n_voldir1). This causes delTree to
    traverse all of n_voldir1, trying to delete every directory it finds.
    
    Since we are typically only trying to remove a single volume when
    calling namei_RemoveDataDirectories, instead call delTree with 'tree'
    pointing to immediately after n_voldir1, and beginning at n_voldir2
    and try to just rmdir n_voldir1 afterwards. This way, we do not
    traverse a large fraction of the entire partition when just trying to
    delete a single volume, and so can significantly speed up volume
    removals.
    
    Change-Id: I79d69e7f3d1b691ec1d55e02ee5e93c0a927cffe
    Reviewed-on: http://gerrit.openafs.org/2651
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 41acfb91fa7fefae1f9a69aadc187a1403ec5827
Author: Steve Simmons <scs@umich.edu>
Date:   Tue Sep 7 17:38:27 2010 -0400

    Add new file src/venus/cacheout to things that should be ignored.
    
    Change-Id: I57dec46b954ad4c4252997a0dec1db8e2090289b
    Reviewed-on: http://gerrit.openafs.org/2719
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f8ff458ef02d5ef49bc467304e40571d871385c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 7 20:31:20 2010 -0400

    ubik recovery and remote use correct file number
    
    the file propagation "out of band" changes should not hardcode recovery
    on file 0, but instead work on any file the interface is acting on.
    use the provided file number.
    
    Change-Id: I713671beaab01630bdd21d733f950f75c6456ac3
    Reviewed-on: http://gerrit.openafs.org/2715
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 99811e3e5faf5917975d7ec3c3d16e2ed9a5bf50
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 7 14:35:22 2010 -0400

    Windows: 1.5.77 Change Log summary
    
    Change-Id: Ic0362956470ddb76fac64d21927b3e51b7980ea6
    Reviewed-on: http://gerrit.openafs.org/2710
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 19f50c13b4542cc84c33eaca4b2cc6ac0b75eb98
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Sep 7 08:21:12 2010 -0400

    Windows: Improve SMB detection of Local System account
    
    Depending on the authentication method, the smb session authenticated
    name for the "local system" account may be the nul string.  In this
    case it is impossible to use the name to determine if the authenticated
    entity is the "local system" account as required by smb_SetToken.
    To work around this problem, smb_AuthenticateUserExt() will now obtain
    the Security Identifier (SID) for the authenticated account.  The string
    representation of the SID will be used in place of the name by
    smb_ReceiveV3SessionSetupX() when constructing the smb_user_t object.
    A new flag, SMB_USERNAMEFLAG_SID, indicates when the name is in fact
    a SID.
    
    smb_userIsLocalSystem() checks for the SMB_USERNAMEFLAG_SID flag and
    performs a SID comparison when it is set.
    
    smb_SetToken() will accept either MACHINE\user or a SID string as
    the smbname.  It will obtain the SID if possible and create a SID-based
    smb_user_t.
    
    It is possible that a SYSTEM service will use an anonymous (S-1-5-7)
    SMB connection.  In that case, we also check the RPC Impersonation
    SID to see if it is SYSTEM.  If so, the RPC identity supercedes the
    SMB identity for SetToken.
    
    smb_IoctlRead, smb_IoctlV3Read and smb_IoctlRawRead are now all
    consistent with regards to name processing.
    
    Fixed a couple of comments as well.
    
    FIXES 128022
    
    LICENSE MIT
    
    Change-Id: I8f9ccd4a4dddea52d151288855c7e129e2f31b28
    Reviewed-on: http://gerrit.openafs.org/2709
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit de441ba420b8fc38ce1b36bee06097f21cc6514b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Sep 3 00:02:17 2010 -0400

    Windows: revise NTSTATUS response for ALLBUSY, ALLOFFLINE, and ALLDOWN
    
    Replace STATUS_IO_TIMEOUT with RPC_NT_SERVER_TOO_BUSY for CM_ERROR_ALLBUSY.
    
    Replace STATUS_PATH_NOT_FOUND with RPC_NT_SERVER_UNAVAILABLE for
    CM_ERROR_ALLOFFLINE and CM_ERROR_ALLBUSY.
    
    These errors provide a more meaningful message to end users when
    a failure occurs.
    
    LICENSE MIT
    
    Change-Id: I34483f8f696285477fa0f8a8dac3b0ff33dee6b4
    Reviewed-on: http://gerrit.openafs.org/2663
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ef135110b7d850e2c40bbbb6b7de69c76872fa9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 2 21:17:24 2010 -0400

    Windows: Modify signature of buf_CleanAsync and buf_CleanAsyncLocked
    
    The buf_CleanAsync() and buf_CleanAsyncLocked() signature does
    not include a cm_scache_t pointer even though buf_CleanAsyncLocked()
    needs a pointer to the matching cm_scache_t object.  There are
    some calls when the cm_scache_t object is already known.  For those
    cases it is more efficient to avoid the additional lookup especially
    when buf_CleanAsync*() is being called on every buffer associated
    with the cm_scache_t object.
    
    At the same time add a flags field and a constant
    CM_BUF_WRITE_SCP_LOCKED to permit the lock state of the cm_scache_t
    to be passed in.
    
    Finally, fix up the usage in buf_FlushCleanPages() which gains
    the most from these changes.
    
    LICENSE MIT
    
    Change-Id: I3726441ff83a89e24d790174ca71396d633f1be6
    Reviewed-on: http://gerrit.openafs.org/2662
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fa961c02fbb7dc54fa4c02c38dfd07c44eb696d3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Sep 2 21:05:15 2010 -0400

    Windows: Permit cm_scache rwlock to be dropped when "Stablized"
    
    The cm_buf_opts_t cm_BufStabilize() function was implemented
    such that holding the cm_scache_t.rw lock had to be exclusively
    held until cm_BufUnstablize() was called.  Unfortunately, this
    prevents using Stabilize/Unstabilize to protect the cm_scache_t
    during Flush operations as the cm_scache_t.rw lock must be
    acquired after the cm_buf_t mutex and not before it.
    
    This patchset reimplements the synchronization logic using
    the new CM_SCACHEFLAG_SIZESETTING flag and cm_SyncOp().
    
    LICENSE MIT
    
    Change-Id: Iaada83f7f3b75bb3b213b33b2399e900e48a2fbc
    Reviewed-on: http://gerrit.openafs.org/2661
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ee26ce51f67c7a91d843184374240bbc29e1660b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 29 23:41:02 2010 -0400

    Windows: fail cm_CheckNTOpen if READ|DELETE for readonly file
    
    If the readonly file attribute is set (stored as a unix mode)
    then a CreateFile operation should fail if the file is opened
    for DELETE in combination with any other privilege.
    
    LICENSE MIT
    
    Change-Id: Ie8ebb6d230cf65d9ce2411bab2fcc4e561081505
    Reviewed-on: http://gerrit.openafs.org/2660
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 72584be7fb0b6eb01ca5cb9c0703e9bc1b92f547
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 26 11:33:43 2010 -0400

    Windows: Add validation for directory buffer contents
    
    If the directory buffer contents are garbage we can crash
    the service.  Add some simple validation checks to ensure
    that cm_dirEntry_t objects have the correct flag value and
    that the name strings are not too long.
    
    LICENSE BSD
    
    Change-Id: If4a276007ff7a21a641825037a1035ea20db79c5
    Reviewed-on: http://gerrit.openafs.org/2658
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f69933c4243d6861d5cce701c28f2dee088e6c2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 24 16:46:45 2010 -0400

    Windows: cm_TryBulkStatRPC must process VIO errors
    
    If the bulkStat errorCode indicates that a particular object
    is inaccessible due to a VIO error, we must update the server
    status appropriately in order to permit failover.
    
    LICENSE MIT
    
    Change-Id: I19ce3d2c5b138d519fb1c437f6d5109d7d8b1310
    Reviewed-on: http://gerrit.openafs.org/2657
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b11ff643b5665ec252ca96dc19af1446fb72481f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 24 16:42:57 2010 -0400

    Windows: better handle RX_MSGSIZE errors
    
    An RX_MSGSIZE error is returned by the new PMTU detection
    code.  It is critical that such an error result in a retry of
    the operation that failed.  Otherwise, the PMTU detection can't
    work and the server will be marked down.
    
    Secondly, it is important that such errors not leak to the
    application layer.  Map them to CM_ERROR_RETRY in all cases.
    
    LICENSE MIT
    
    Change-Id: I966fe259080bd31ec60fdb6715f54e18e190c790
    Reviewed-on: http://gerrit.openafs.org/2656
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 874c5ca8359d49703f1f37d7fb70204c182d0f86
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 24 16:40:38 2010 -0400

    Windows: print the value of cm_OfflineROIsValid to afsd_init.log
    
    If we say we are printing the value of cm_OfflineROIsValid,
    do so and not cm_deleteReadOnly.
    
    LICENSE MIT
    
    Change-Id: I8b0bc73798feea413f8ce79f9965664fc050ef76
    Reviewed-on: http://gerrit.openafs.org/2655
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 87c9e7e6e4f8be4778d183940f349557193146c7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Aug 22 10:05:59 2010 -0400

    Windows: Handle RX_RESTARTING consistently for all RPCs
    
    Translate RX_RESTARTING to the same cache manager error code
    for all RPC classes.
    
    LICENSE MIT
    
    Change-Id: I4540e9886d1de68d9b3f8a2e72508f876225ff4a
    Reviewed-on: http://gerrit.openafs.org/2654
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2ef83d24846e6035b752fcbe98d980e046e074f9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 21 00:23:45 2010 -0400

    Windows: Log cell along with volume id for server errors
    
    When logging server volume instance errors to the windows
    application event log, be sure to log the cell as well.
    Translating from server ip address is non-trivial.  Make it
    easier for administrators triaging issues to plug the volume
    and cell info into vos commands.
    
    LICENSE MIT
    
    Change-Id: I801fcd5c1afba4a8cdef4386fec72b9a529d4cfb
    Reviewed-on: http://gerrit.openafs.org/2653
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a97282bf76730fd05c2365aa1c58ce96174efd37
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Aug 21 00:22:22 2010 -0400

    Windows: unix modes represented in octal
    
    Since unix mode bits are represented in octal in most cases
    make sure we log them that way.
    
    LICENSE MIT
    
    Change-Id: Ia8106c7bbd3230380c7efa437b6eb0a90398bda3
    Reviewed-on: http://gerrit.openafs.org/2652
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b91e7e86b429b6182d8ee23c471bef4f48af560f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 3 08:18:41 2010 -0400

    rx msgsize retry logic change
    
    only rewrite to RX_MSGSIZE if the MTU changed. otherwise, leave well
    enough alone
    
    Change-Id: If7311c623c61064c52b42fbb131aa8ff007c3741
    Reviewed-on: http://gerrit.openafs.org/2664
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit defd84d0fb43a068d2b9ae88a103ffea266c8d95
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 3 10:59:45 2010 -0500

    cacheout: Improve error handling
    
    Bail out when we encounter errors in initialization. Among other
    things, this prevents a segfault if we can't read the client
    configuration.
    
    Change-Id: I8b35163c5c4750eb05539a225069327051a3f148
    Reviewed-on: http://gerrit.openafs.org/2665
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e07f87070c901d71c2f4fa594738ce0a16c77ea1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 3 16:32:11 2010 -0500

    vos: Show effects in single-volume dryrun mode
    
    Fix -dryrun mode for 'vos syncvldb' to also show the effects when run
    against a specific volume id.
    
    Change-Id: I3a2db96fc8016939f2f2f9561aba29527701ad59
    Reviewed-on: http://gerrit.openafs.org/2667
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5705a46a75917cb34b4ea9161dde4ee43d0d4eb0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 3 15:20:10 2010 -0500

    vos: Show after effects in dryrun mode
    
    The dryrun mode of operation for 'vos syncvldb' and 'vos syncserv'
    does not currently show the "status after" portion of its output, so
    they don't really show what the commands will do. Change them so
    "status after" is shown for -dryrun when sync'ing servers or
    partitions, and count changes towards the count at the end.
    
    Change-Id: I6cc20c28a989925a1262570b286fdd7d290c0a9a
    Reviewed-on: http://gerrit.openafs.org/2666
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 526b8a7ca53977d6cdb91427932ac6b18bb7064d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Sep 5 10:48:52 2010 -0400

    afs_DoBulkStat: don't call afs_Analyze without holding the GLOCK
    
    Limit the scope of the GUNLOCK-GLOCK blocks to cover only the RX
    calls.  This prevents afs_Analyze from being called without the
    GLOCK, which causes an oops in afs_icl_Event4() where there's
    an ASSERT_GLOCK.
    
    Change-Id: Ifa6942d08f22479c0affba3ebd1fc9bf4063d8a5
    Reviewed-on: http://gerrit.openafs.org/2668
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 114b817da5aea425c87c12e10cdefd033f7ba0ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 12:04:56 2010 -0500

    RedHat: Package libafshcrypto libraries
    
    Add libafshcrypto.so.* to authlibs, and libafshcrypto.{a,so} to
    authlibs-devel.
    
    Change-Id: I9b513bc32e532562be2d679b5185411f002f8208
    Reviewed-on: http://gerrit.openafs.org/2643
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 469cc14bd16b9e1a7ed8404224de63862c1f52f5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 11:14:37 2010 -0500

    RedHat: Do not force krb5-config path
    
    If the %krb5config macro is not defined, do not force using
    /usr/kerbers/bin/krb5-config, since sometimes that is not where it is
    (RHEL6 puts it in /usr/bin). Instead only specify KRB5_CONFIG if
    krb5config is defined; otherwise let configure find krb5-config for
    us.
    
    Change-Id: I35cc03ddbba7edd2c03d8f72b9636d4a7f6e64c0
    Reviewed-on: http://gerrit.openafs.org/2642
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 83f85c9ad6c439eb9676436a3e09c40c2813f1c1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 10:32:53 2010 -0500

    RedHat: Update openafs.spec for configure changes
    
    We no longer have the configure options --enable-disconnected and
    --with-krb5-conf. Remove them from the spec file and instead specify
    krb5-config via the KRB5_CONFIG variable.
    
    Change-Id: Ic9d9505f0526e38bf084683d9be3367851005a97
    Reviewed-on: http://gerrit.openafs.org/2641
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 346ccf51ddedadd7f6709276237c26b7871ffbaf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 10:18:17 2010 -0500

    RedHat: Use git-version in makesrpm.pl
    
    We no longer have the OpenAFS version in the AM_INIT_AUTOMAKE. Get the
    version from the equivalent AC_INIT version, which is determined by
    running build-tools/git-version. So, run git-version to get the
    version.
    
    Change-Id: I5feb72ba35566315654ab88f2047be8a7ac6b40a
    Reviewed-on: http://gerrit.openafs.org/2640
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 86ccd1c0f486d38b13a71a3c99879f546ad18b15
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 1 10:12:31 2010 -0500

    RedHat: Use configure.ac in makesrpm.pl
    
    We don't have a configure.in anymore; instead we have a configure.ac.
    
    Change-Id: Ic79b5577cf2d5cd3021fe933ca5405fb2d514a4d
    Reviewed-on: http://gerrit.openafs.org/2639
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ae868642e1936509184cbe9b539733445902bdf3
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Sep 1 10:52:30 2010 -0700

    Update Autoconf Kerberos probes to latest rra-c-util version
    
    We will now look for krb5-config in /usr/kerberos/bin (the path used
    on Red Hat Enterprise prior to RHEL6) if it isn't found in the user's
    PATH.
    
    This update also adds a new probe for krb5_get_init_creds_opt_free
    which is not yet used, but may eventually be useful for klog.krb5.
    
    Change-Id: Iefd67c02ac44fd5f1a30883d1cd6ea4e489b32b1
    Reviewed-on: http://gerrit.openafs.org/2644
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 69c1d5e2debdafd971216ab4afc3e90702d5860b
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Aug 31 15:15:26 2010 -0400

    Linux: Updated RedHat spec file with new demand attach servers and docs
    
    Added the following to the openafs-server package:
    dafileserver
    dafssync-debug
    dasalvager
    davolserver
    salvageserver
    salvsync-debug
    
    Added the man pages for the above.
    Added a man page for krb.excl
    
    Change-Id: Ifac99e77de4f7b07dc6e76df0237b1960a73cb0d
    Reviewed-on: http://gerrit.openafs.org/2630
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 335ccb4082657b7d0e4e9af1076356cf115642d2
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 15 12:42:23 2010 -0500

    ihandle positional read and write
    
    When available, use POSIX positional read and write
    calls in the ihandle package. Originally written
    by Derrick Brashear and Andrew Deason.
    
    Change-Id: I29a9d830872cb920e8ed5820e33d3cbcb7247460
    Reviewed-on: http://gerrit.openafs.org/1562
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8006ff8bf4a6f1944243309e5130538e3cbe62d5
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Aug 31 13:30:41 2010 +0200

    Let SRXAFS_GetStatistics64 return correct values for the workstations
    
    h_GetWorkstats was called also for 64bit which let random contents
    in the other half of the 64bit field. Worse: little and big endian
    machines filled different parts of the field so that a later masking
    in fsprobe would net help for all kinds of servers.
    
    Now a small wrapper h_GetWorkstats64 is called which calls h_GetWorkstats
    correctly.
    
    Change-Id: Iaeafd77dfa03d88caa98e4e352f95bfb33d736df
    Reviewed-on: http://gerrit.openafs.org/2629
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 759487038bbaccf59e49f973b627ee20f555e7b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 30 12:32:58 2010 -0400

    ubik recovery kill duplicate code
    
    if recovery wants to invalidate transaction unconditionally and
    has code duplication from urecovery_checkTid, just make checkTid
    do what we want
    
    Change-Id: I345560c496d4cb4506de6db79357b99c616ffbbe
    Reviewed-on: http://gerrit.openafs.org/2628
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bafa4d17530338122581d5b11eba367ebd445c30
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Aug 12 00:14:03 2010 -0400

    clean up stale defines in volser header
    
    The volserver does not use port 5003 any more.
    
    Change-Id: Ied55709c3831595d63f052cc1c2397e26352e4f1
    Reviewed-on: http://gerrit.openafs.org/2536
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 39c4b966dd504e873570d70b20ef8d38726c9e37
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 9 12:46:29 2010 -0500

    ubik: Protect ubik_servers in urecovery_Interact
    
    urecovery_Interact can modify the global ubik_servers structures,
    including destroying and recreating the RX connection objects. In the
    pthreaded case, DBHOLD the database, so we do not modify the
    structures out from under another thread trying to use them.
    
    Change-Id: I62ab7b77e17c65ec8840659957ef6d00303ea5a4
    Reviewed-on: http://gerrit.openafs.org/2108
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 615eb81a496d20a3532f0a68e56781b2171ad4ac
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 9 12:45:57 2010 -0500

    ubik: Drop dbase versionLock during I/O and sleeps
    
    Currently we hold versionLock during all ubik network I/O and while we
    are sleeping for whatever reason. For pthreaded ubik, to allow other
    things to happen during those times, drop the lock and reacquire when
    we hit the net or sleep.
    
    Change-Id: I414b3adfadc0bb506b98e8677ec5dfbb269e0129
    Reviewed-on: http://gerrit.openafs.org/2107
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5ec5ad5dcca84e99e5f55987cc4f787cd482fdde
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 7 23:03:21 2010 +0100

    New GetToken pioctl
    
    Implement a new, XDR based, GetToken pioctl which mirrors the new
    SetToken pioctl.
    
    Change-Id: I213e74edb3496baa40b5c8048e97df6888f742b4
    Reviewed-on: http://gerrit.openafs.org/2584
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53837416cbed3ba4d11f63015e1f13800519f2ed
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 10:00:22 2010 +0000

    aklog: Add support for the new SetToken pioctl
    
    Make aklog use the new extended ktc set token function when storing
    tokens.
    
    Change-Id: I2e84cda2bf8a4c6c9f6627569cae2d34fd7b5c0f
    Reviewed-on: http://gerrit.openafs.org/2583
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5aa8c5d9794b909ef9195992ee12f963e254574b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Aug 28 17:19:45 2010 -0400

    macos afsdb reinit resolver on address change
    
    assume a new address means we probably have new resolver info; reinit
    when we get the callback.
    
    FIXES 126440
    
    Change-Id: I0d5ac0576f2b2e90093b93974b0354cac35d84a3
    Reviewed-on: http://gerrit.openafs.org/2622
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aaf9b4ddd5ce9ed83be038bba01199b1d400ddf3
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Aug 29 15:06:22 2010 -0400

    cache bypass  Also increment page refcount in readpage
    
    As noticed by a commenter, afs_linux_bypass_readpage needs
    the same get_page operation as in afs_linux_bypass_readpages,
    as background page accounting assumes we have done it.
    
    Change-Id: Ib2e1cb7ec971e68b022dd1740584369d04b8b833
    Reviewed-on: http://gerrit.openafs.org/2626
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 239a62034b849565d680baa9e5b8e6921256ffd5
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Fri Aug 27 19:11:32 2010 -0400

    DFBSD  update dfbsd userland
    
    Add new sysnames.  Fix some userland header inclusions,
    defend against kernel-mode ioctl interpretation when
    building UKERNEL.  Add fragments missing from DFBSD
    MakefileProto template.
    
    Change-Id: I56659bfe43dc24ef8a158aaf486c9a6f23643002
    Reviewed-on: http://gerrit.openafs.org/2619
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ec85304dd738935d8be3f8934b166f78a10995bf
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Aug 29 17:33:03 2010 -0400

    FBSD  try-relax child vnode locking (recurse only)
    
    In cases where afs_vop_lookup would return a child vnode
    locked, continue to take an exclusive lock, but allow
    recursion (LK_CANRECURSE).  Allow recursion also at
    afs_vop_link, where we specifically encountered a conflict
    due to recursion.
    
    Change-Id: I5f5b0979ce3c86e517f96ea60b96ebdd26401acb
    Reviewed-on: http://gerrit.openafs.org/2625
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b727c1e748042e46f2a566725359fed0dd8a8f4f
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sat Aug 28 21:57:38 2010 -0400

    FBSD, DFBSD (future)   call afs_FakeOpen in the write path
    
    Call afs_FakeOpen in the write path, even though nominally
    it is AFS_VM_RDWR_ENV.
    
    Change-Id: I6d24c9631f80058e3dd0d6f284ca7792253ceaaa
    Reviewed-on: http://gerrit.openafs.org/2623
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8334b40376f4b820e5f08e0a1f477be7c04c5cc8
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sat Aug 28 20:43:41 2010 -0400

    FBSD, DFBSD (future)  vnode_pager_setsize updates
    
    Based on review of bundled filesystems on FBSD and DFBSD,
    call vnode_pager_setsize in three unhandled cases (getattr,
    setattr, and io growing a file;  truncation was handled
    correctly already).  Following up on a suggestion by Ben
    Kaduk.
    
    Change-Id: I05b61c26402bb8ab49ad74b71af2d02b439f959f
    Reviewed-on: http://gerrit.openafs.org/2621
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 29740370599b4c7edba0c1442b3ca47533f09412
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Aug 28 15:50:04 2010 -0400

    Make hcrypto depend on config
    
    hcrypto needs the top-level include structure to be present so it
    can install its header files.  Add a dependency to "config" in
    the Makefile to make this explicit and prevent occasional failures
    with parallel builds.
    
    Change-Id: If588d6a15fa1fdf371ec2841cc3a6e75077cccb0
    Reviewed-on: http://gerrit.openafs.org/2620
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit df4cf75b970f72810078fc788e732480dbb7996a
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Aug 26 22:54:20 2010 -0400

    FBSD  restore old syscall register logic for older kernels
    
    The syscall_register code appears to depend on coordination
    with FreeBSD upstream, which hopefully can be completed by
    RELENG_9.  Use the original code for installation of the AFS
    syscall everything older than that.
    
    Change-Id: I2954cf1a2ae3587a311e8133ec5cdc500b4e2e24
    Reviewed-on: http://gerrit.openafs.org/2618
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a9958b34a930223877e01de5109e934f1224d988
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Aug 26 20:37:52 2010 -0400

    sed s/porc/proc/
    
    There is no osi macro osi_curporc.  Typo.
    
    Change-Id: I02f151be942471579ca60ed1e2190d0895288e4c
    Reviewed-on: http://gerrit.openafs.org/2617
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2221b61eff513c61cac765d8e72cd06e769610fc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 01:14:54 2010 +0000

    Add new SetTokenEx pioctl
    
    This change implements the new, XDR based, SetTokenEx pioctl. This
    pioctl permits sending multiple tokens, of multiple types, into the
    kernel in a single pioctl call. This patch provides a kernel
    implementation of the pioctl, and a new library function
    ktc_SetTokenEx, which will use either the new pioctl, or fall back
    to the old one should SetTokenEx not be available.
    
    Change-Id: Id1e2903e078c549f5675e3d2ecdf53a9bb33f5e9
    Reviewed-on: http://gerrit.openafs.org/2582
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ba1d050c6e8c9593dfa3d914f9d24e2bd985abe0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 7 15:15:26 2010 +0100

    Make unixuser's vid advisory
    
    The 'vid' element of the unixuser structure was performing two
    functions. It was used in debug messages to clarify which user's
    token had expired and, in a few locations, to signify whether the
    user had tokens or not.
    
    This patch removes this dual usage. 'vid' is renamed to viceId, so
    all uses are found and fixed. Where it is used for debugging, it remains,
    but we only set the viceId for a user when we first use an rxkad token
    on that context. Other uses of 'vid' have been replaced with tests
    against the UHasTokens flag in the user's states.
    
    Change-Id: Ifc0306a34fb7360810c792215e55e783f1dd062c
    Reviewed-on: http://gerrit.openafs.org/2581
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit adf2e6e827c6caf55247c5e63b88775393156ae5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 5 11:12:45 2010 +0000

    Unix CM: Generalise token storage
    
    This generalises token storage in the Unix CM, so that it isn't
    rxkad specific. We add a new, dynamically allocated, list of tokens
    hanging off each unixuser structure. Each token is expressed as
    a discrimated union keyed on the security class of that token,
    with the token's details contained within that Union.
    
    All token handling is performed through a set of functions in
    afs_token.c - token access is modified to use this interface
    throughout the rest of the code.
    
    Change-Id: I939f3a611bb6e991e1e0d075ced0a59fc6f57693
    Reviewed-on: http://gerrit.openafs.org/2580
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5b71bab4ff0a0f6f1e0cec2c71adfd48b3f35cca
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Aug 25 23:21:30 2010 -0400

    FBSD: properly register our syscall
    
    Use the provided interface, syscall_register(), instead of
    manually tweaking the sysent table.
    Starting afsd will still fail at present on FreeBSD HEAD
    without an additional kernel patch to syscalls.master.
    
    Change-Id: I18db7c8b74dbd114165f7617df25e462cb372e88
    Reviewed-on: http://gerrit.openafs.org/2616
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2ea508ea0f320ca17de6df3526aa7237b998c7be
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Aug 25 16:19:18 2010 -0400

    FBSD:  give osi_NetReceive time to shutdown, reprise
    
    The delay logic needs to follow soshutdown, and precede
    soclose.  The thread in osi_NetReceive is racing to do
    another soreceive.  That thread needs to win the race
    and notice the socket is shut down before rx_socket is
    torn down.
    
    Change-Id: Id8424dcfa2498550a190d277017b7ea15fc11023
    Reviewed-on: http://gerrit.openafs.org/2613
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5c0aebc421ddbed099a6fe1015cdda603e20529d
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Aug 25 03:34:35 2010 -0400

    FBSD CM: don't call afs_close when recycling
    
    Don't call afs_close when handling VOP_CLOSE on a recycled
    vnode, since there was no matching open.  This corrects the
    opens count, which was seen to go have gone negative in the
    reclaim vop.  For clarity, assert if afs_vop_close is entered
    with a VI_DOOMED vnode and avc->opens != 0.
    
    Change-Id: I511a4f2a924c2f8e20f3ecdaa445fbe803289a47
    Change-Id: I1b2307fd3318fa54e8f7fb72a5d3f843e2a38404
    Reviewed-on: http://gerrit.openafs.org/2612
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3f7b70a28ba7dc03f0fc973343669f0a7967de4c
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Aug 24 20:48:24 2010 -0400

    BSD CMs:  Don't call nonexistent afs_FlushVS in afs_vop_reclaim
    
    Revert BSDs to call FlushVCache in their respective reclaim vops,
    afs_FlushVS no longer exists.
    
    FIXES 127955
    
    Change-Id: I842356c2d6ee4fa3a49eaa8594f1b52188c24985
    Reviewed-on: http://gerrit.openafs.org/2611
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 04d0b3e2c6624ef19176aba2537cca88e058c6b2
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Tue Aug 24 17:40:51 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    4f5390877a6cdb9615cf1f61f1884edc7b91522c
    which is described as switch-from-svn-to-git-1447-g4f53908
    
    Change-Id: I8a679232dfb25ba636600264b235667f06a5f62c
    Reviewed-on: http://gerrit.openafs.org/2607
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a2821cdbd05b280e3dc886cfb094e4c040d45c6c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 23 14:03:03 2010 -0500

    venus: build cacheout
    
    Build 'cacheout' in all builds, so it does not succumb to bitrot.
    
    Change-Id: If00ce1fd9dd49e92caa183dbb54f06b2edc4ece9
    Reviewed-on: http://gerrit.openafs.org/2606
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4b7038820c503445917087ca4034ae48c7803518
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 23 12:55:21 2010 -0500

    venus: make cacheout build again
    
    Make src/venus/cacheout buildable again, by fixing several compiler
    errors and warnings. Also clean up a few small things, like adding
    'static' qualifiers.
    
    Change-Id: I1cd10221a5e13a59227e4915991db6042325b7de
    Reviewed-on: http://gerrit.openafs.org/2605
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a0f416e3504929b304fefb5ca65e2d6a254ade2e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 21 16:26:53 2010 -0500

    vlserver: Allow reading during ubik writes
    
    Turn on the new ubik_BeginTransReadAnyWrite functionality for the
    vlserver, which allows us to read data from ubik during a conflicting
    ubik write lock. When writing, we now update a copy of the
    application-level cache, and write back the changes during a commit.
    
    Change-Id: Ica958af704f40e89c2062e43641d883865613802
    Reviewed-on: http://gerrit.openafs.org/2106
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1f532d099b8b084d43dd0140890448464325b602
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.
    
    Change-Id: I24bd5495539057d169aef4b5b0b6850b77172cab
    Reviewed-on: http://gerrit.openafs.org/2105
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3bf0350218dcf4d6e086941fac394769b6b9cc4a
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.
    
    Change-Id: Icf8df6bfdf8960134493ab7f379f0f65b92bdb5a
    Reviewed-on: http://gerrit.openafs.org/2104
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fd7f7469bdbde24320c3ac8b4f7015d495b47bff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 20 15:22:11 2010 -0500

    ubik: add interface for reading during write locks
    
    Add ubik_BeginTransReadAnyWrite, which allows for reading from the
    database, even while there is a conflicting ubik write lock. Reads are
    still blocked while the local database is updating due to a write
    transaction commit.
    
    Change-Id: I025e595ad699d5a969a0676691530d90c65f1920
    Reviewed-on: http://gerrit.openafs.org/2592
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 570236dd55e79e8886b45f19cef59ec3fa9d53f6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 22 14:36:42 2010 -0500

    ubik: Fix buffers for reading-during-writes
    
    If we are reading while a write transaction is in progress, we can
    encounter a buffer that is dirty if we're on the same site as the
    writer. Ignore these buffers for readers, since they contain
    uncommitted changes. Then, when the writer commits, invalidate the
    resultant duplicate buffer, if one exists.
    
    Change-Id: I67e0205362d4c08ea9a8c12104fea8bfe8cbf798
    Reviewed-on: http://gerrit.openafs.org/2231
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5c7297a6c76777aec6209aa191b067ddc73b1a87
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 22 13:24:27 2010 -0500

    ubik: Abstract buffer matching and pass trans ptrs
    
    Abstract the code for matching buffers in DRead, and pass around
    ubik_trans pointers instead of ubik_dbase pointers. This changes no
    behavior, but makes changing ubik buffer code a bit easier.
    
    Change-Id: Ie98005edb0f0dc008190e709dc08d2cc5ef5e16c
    Reviewed-on: http://gerrit.openafs.org/2230
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 975b662d8ecabeb82ffd2a3a2dce0c8d6e6cc473
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Aug 21 12:05:37 2010 +0100

    Don't include afsconfig.h in rxgen headers
    
    Some headers generated by rxgen are installed. We can't use
    afsconfig.h in installed headers, as it isn't installed (and it
    shouldn't be, as it contains autoconf defines which will almost
    certainly have namespace conflicts with other packages)
    
    Revert the portion of 972a407 that added afsconfig.h to the
    h_output function. This should now be safe as stds.h no longer
    relies on the result of autoconf tests.
    
    FIXES 127931
    
    Change-Id: I75645620e46c4f354ca984a8daf99254650133f6
    Reviewed-on: http://gerrit.openafs.org/2604
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4129b055a6236e892e1dc2c5d2023d1947495811
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Aug 20 16:11:59 2010 -0400

    s390x: only declare afs_sys_setgroups32_page where needed
    
    Variable afs_sys_setgroups32_page is only used when __NR_setgroups32
    is not defined.  Make the declaration depend on it as well to clear
    up an unused variable warning.
    
    Change-Id: I812b98d6ac4bf6ac923553ef3556c90d75d86fcb
    Reviewed-on: http://gerrit.openafs.org/2600
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c2be1ee1d726463590ae1272495d102111fdf75b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Aug 20 16:37:56 2010 -0400

    Fixes for signed char architectures
    
    "char" is unsigned on s390x, which causes a few warnings where we
    test for negative values.
    
    Add a signed modifier in a few cases, and in vos.c replace with an
    int to match a similar section of code in the same file.
    
    Mostly a warning fix, but in one case the variable could be used
    to return a -1 error value, so it may have caused an actual bug.
    
    Change-Id: I005fbcd7c573735df7403316ec0ced67ee81e559
    Reviewed-on: http://gerrit.openafs.org/2602
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 850567f17285021d3133a75c1d0d3494e0faabfc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Aug 20 17:42:47 2010 -0400

    Ignore old style definition warnings in generated code
    
    Older flex can generate functions that trigger the
    "old-style-definition" warning.
    Since it's generated code, just ignore it.
    
    Change-Id: If475507561498b976a2942bd0084975814ab6a76
    Reviewed-on: http://gerrit.openafs.org/2603
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit de341580a6003944f1ae4b01c56bf483ead857d1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Aug 20 16:27:44 2010 -0400

    Prototype warning cleanup - big endian
    
    Move function definitions above their use in quad_cksum.c and
    remove the (incomplete) prototypes.
    
    Clears up a few warnings on big endian systems.
    
    Change-Id: Id860f904fff9fb033ee4b2032162304a4af7423a
    Reviewed-on: http://gerrit.openafs.org/2601
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3fc5863f062c14c346bcc50c82b8d15971750e55
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Aug 20 13:17:53 2010 +0100

    Configure: Tidy up AC_CHECK_FUNCS
    
    Move all of our AC_CHECK_FUNCS calls into a single, ordered, list
    so that it's easier to see what's being checked for and what's not.
    
    Change-Id: Ib8e356ada469d4b3be8cc6387df91de21a2d1e8a
    Reviewed-on: http://gerrit.openafs.org/2598
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 10ff668dcbff1a8121e79d43dfedb1c6c509af64
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Aug 20 13:07:04 2010 +0100

    hcrypto: Check for arc4random
    
    Add a configure test for the arc4random function which hcrypto can
    use as an entropy source
    
    Change-Id: If1ae243d2f2850be0efd0030a37ac026cdb0e7ba
    Reviewed-on: http://gerrit.openafs.org/2597
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9da71758f194b98e1be3dee8d588b703874ea9a6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Aug 20 13:19:30 2010 +0100

    Add a few missing entries to our .gitignores
    
    Add a couple of build products to the relevant .gitignore files
    
    Change-Id: I236e001f77c229736cb58c5c0c76811166dc6690
    Reviewed-on: http://gerrit.openafs.org/2599
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit deaed0ad3613c04434594873e014f8fe65b9f06a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Aug 20 00:18:17 2010 +0100

    hcrypto: Fix for IRIX
    
    Fix the hcrypto build for IRIX, by including param.h in the
    configuration header so that the platform specific redefinitions of
    "inline" work correctly.
    
    Change-Id: Ib301fae008b596f9112eefe21eaccad0dfd74190
    Reviewed-on: http://gerrit.openafs.org/2596
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 38cf31463e3f3c675de727c1e793e117a90e6d20
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 12 15:47:15 2010 -0500

    Avoid thread-unsafe PrintInode in threaded code
    
    Some potentially-threaded callers were calling PrintInode with a NULL
    first argument, which is not threadsafe. Alter them to use local
    storage.
    
    Change-Id: Ib9ad9c070bd659be30616b2c77cd244458357197
    Reviewed-on: http://gerrit.openafs.org/2593
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 87dc2a312ac94bc0a8b809a8f879128be8d9c791
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 19 11:35:40 2010 -0500

    Windows: vol-salvage SalvInfo fixes
    
    Commit 3d7388b790ef21de552ec60d379764df067ae421 broke the windows
    build. Fix it:
    
     - SVGParms_t has no salvinfo member, but an svgp_salvinfo member
    
     - Correct the SalvageVolumeGroup prototype to match the actual
       implementation
    
    Change-Id: I6515ff8a3850b09e959c95387c3e7c22b40794c1
    Reviewed-on: http://gerrit.openafs.org/2595
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f6d1f17f48a06a2781bd3902addb594bf8a91a0c
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Apr 7 21:45:39 2010 +0100

    Add OpenAFS build machinery for libhcrypto
    
    Add an OpenAFS build environment for the symmetric algorithms in
    libhcrypto.
    
    Change-Id: I0d971433fe0130854a7c50cd9107af02893b1d58
    Reviewed-on: http://gerrit.openafs.org/2575
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d8f2debce49a8a0eb310bdaf8ad0ee7601a0542e
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.
    
    Change-Id: If4562e724fd7a8e5f8166ea0fe409d6765d0de2b
    Reviewed-on: http://gerrit.openafs.org/1869
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d7388b790ef21de552ec60d379764df067ae421
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 24 15:45:05 2010 -0500

    vol-salvage: Move global vars into SalvInfo struct
    
    Reduce the number of globals used in the salvager code, by making
    functions pass around a 'salvinfo' structure that contains the
    information regarding a particular salvage.
    
    Change-Id: Iba7a6add8c1b8145f531e10495c621a2ba15425d
    Reviewed-on: http://gerrit.openafs.org/2250
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e98379003f1c47ac7ca3a7121bb4450d36e8fd8d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 22 15:22:09 2010 +0100

    libafsrpc: Add new XDR symbols to exports
    
    Add the new XDR symbols which we've recently introduced to the
    exports list so they can be used from the shared libraries
    
    Change-Id: Iadc038ad36a673fc71f31eed32ef8979343791e9
    Reviewed-on: http://gerrit.openafs.org/2579
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a81c323fbd05cb5cb85c56dfcc0b540e0354f318
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 17 01:24:39 2010 -0400

    Windows: fix Freelance trailing dot enforcement
    
    The cm_enforceTrailingDot() function failed if there was a
    trailing dot followed by white space.
    
    LICENSE MIT
    
    Change-Id: Ib6a90420459a44b87995c44a5f58fcdcd5041c9f
    Reviewed-on: http://gerrit.openafs.org/2588
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fa1c0cfe5f2e396d8d9e1c4d0bfc43178db7aebe
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sun May 9 19:33:54 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    40ef7759b917648938416e15521d383e2eade5cf
    which is described as switch-from-svn-to-git-1333-g40ef775
    
    Change-Id: Ie03ff2d99293272f9ce4c900367eefa063ce8d98
    Reviewed-on: http://gerrit.openafs.org/2574
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 776dbdebc1c46c7276b14cf55fe90452b73fc570
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat May 15 22:48:37 2010 +0100

    Heimdal import: Add hcrypto files
    
    Add the files which we intend to use from Heimdal's hcrypto library
    to the list of files which we import from the Heimdal git repo.
    
    Change-Id: I734b77b8fa47617efc05b782eafc00753dce2279
    Reviewed-on: http://gerrit.openafs.org/2573
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f9498799de1fe3e22c695c54284e6d072f8daecc
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun May 16 13:04:47 2010 +0100

    Handle whitespace better in import script
    
    Make the import script handle multiple, rather than just single,
    whitespace separators between source and destination files.
    
    Change-Id: I0cc0fdd6ba1ef4bd5407b2e0fd9285ffe902408b
    Reviewed-on: http://gerrit.openafs.org/2572
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eb49bd3df0f20cf99825002387c2dbceefe9b784
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Aug 17 02:13:31 2010 -0400

    Windows: Fix remove 'register' patch
    
    The register removal patch broke the Windows build.
    Fix it.
    
    Change-Id: I0121da17a98e1eb35932d18c851989737d9325b5
    Reviewed-on: http://gerrit.openafs.org/2571
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 753a316821bf23a53a7ebef9b52122c39ee88b83
Author: Marcus Watts <mdw@umich.edu>
Date:   Mon Aug 16 23:52:36 2010 -0400

    death to trailing whitespace
    
    if we're gonna clean up...
    
    Change-Id: I5ab03f29468577b62dacab41a67eadfd8c43f812
    Reviewed-on: http://gerrit.openafs.org/2463
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a531cb7069f3ced1aae5a1948d708a7f24539df
Author: Marcus Watts <mdw@umich.edu>
Date:   Wed Jul 14 23:13:20 2010 -0400

    death to register
    
    in soviet compilers, compiler optimizes you.
    stop providing dated (and annoying for debugging) register keywords.
    
    Change-Id: Ibcac0aa3f353fe531b9be0beedca919fb947bfab
    Reviewed-on: http://gerrit.openafs.org/2436
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b44562f5dcda72a78fa12b47f8862f0a3c231aee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 12 00:33:58 2010 -0400

    openafs 1.5.76
    
    make openafs 1.5.76
    
    Change-Id: I56ef6618ae6ff8d0ee2e06a145aed7d61f98d682
    Reviewed-on: http://gerrit.openafs.org/2537
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 523fde439847e2a32aa446ce94c65436dceeb8f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 01:47:41 2010 -0400

    Windows Change Log for 1.5.76
    
    Change-Id: Ia5004d37fceb506ed7ca894f31a903d2b8cb66cb
    Reviewed-on: http://gerrit.openafs.org/2540
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 67ca70bfd3dcb2b5fc9d318b0be6817188302dc3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 16 14:27:44 2010 -0400

    Windows: Return error for SetToken PIOCTL_LOGON if not LocalSystem
    
    If the PIOCTL_LOGON flag is set and the user is not LocalSystem,
    return Access Denied.
    
    LICENSE MIT
    
    Change-Id: I25f042353fb8b70aba4fb01ba1a5b204470416f5
    Reviewed-on: http://gerrit.openafs.org/2568
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ce2422000446eed0e4a6edf926df4fe93206508d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 16 10:09:22 2010 -0400

    Windows: prevent buffer overrun in cklog
    
    The Windows version of klog.exe will overwrite the realm and
    password buffers if the command line input is too long.  Generate
    an error and terminate the program instead.
    
    Change-Id: I80671adcf92e9140f14a943b2677a352d2223eee
    Reviewed-on: http://gerrit.openafs.org/2558
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 22f6306cc8651f08841c66cd222c27c70ec5a00f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 01:48:16 2010 -0400

    Windows: Only Local System Account may set tokens for alternate ids
    
    Only permit tokens to be set for alternate ids from the system
    account.
    
    LICENSE MIT
    
    Change-Id: Ibeaf16950b0317db99dfebccb9534697a258db78
    Reviewed-on: http://gerrit.openafs.org/2541
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5e8d0a7b5fc9711551d707ce3639e080450084a3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Aug 13 20:58:43 2010 -0400

    Windows: Parse Freelance entries and enforce trailing dot but no trailing ws
    
    Make sure that there is a trailing dot and no trailing whitespace
    for both Mount Point and Symlink entries read from the Freelance
    registry key.
    
    LICENSE MIT
    
    Change-Id: I339d1bd2a8fc3e5f44362c65e872396adf64fdf6
    Reviewed-on: http://gerrit.openafs.org/2555
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e8bb948db17d7e4f734b9785f6f1b09c7efebde9
Author: Chaz Chandler <clc31@inbox.com>
Date:   Wed Aug 4 11:17:03 2010 -0700

    autoconf detection of label support
    
    acinclude.m4 now has struct label support detection and sets
    HAVE_STRUCT_LABEL_SUPPORT in afsconfig.h.  Obviates complicated
    ifdefs in various src/afs/ and src/rx/ files.  Must run regen.sh
    to generate new configure and afsconfig.h.in, then configure will
    detect label support and set afsconfig.h appropriately.  Not sure
    what to do for Windows, but should be a step in the right
    direction.
    
    Fixes issue with compilation of libuafs on IRIX and sunpro by accurately
    detecting label support.
    
    Change-Id: I092eda47c4cfcc2517dc39f5e48b5038c413cb01
    Change-Id: I2ff8449b28db645d9cfd27796b5f89e5c328a2b2
    Reviewed-on: http://gerrit.openafs.org/2516
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 90b75531add729ecbcc46f2a6fb070993b96bcec
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Aug 12 16:33:04 2010 -0400

    Linux: avoid oops in memcpy_toiovec
    
    With ADAPT_PMTU enabled, kernel_recvmsg can be called to receive
    errors.  The call is made with no iovec supplied (we pass a NULL
    pointer), but with a size of 256.  In the kernel, the memcpy_toiovec
    function tests for size > 0, and proceeds to check iovec->iov_len,
    which causes an oops.  Fix by setting the size to 0.
    
    Change-Id: I3c672c2e67d0aa5af2bd54d0c14aaeae3bb3c530
    Reviewed-on: http://gerrit.openafs.org/2546
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 08552ad8a94f7cc5908aabe8385711e09a6418e4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Aug 11 19:28:53 2010 -0400

    Linux: Rework statfs super block operations configure test
    
    The configure test to detect if the statfs super block operation
    needs a dentry argument is based on vfs_statfs, and assumes that
    its signature matches the one of the operation.  In 2.6.36 this is
    no longer true and the test fails.
    
    Rework the test to actually test the operation we're interested in.
    
    This change is required for 2.6.36.
    
    Change-Id: I5a712fb47e48c1bcc7ea2cfbf6c53c2b27627723
    Reviewed-on: http://gerrit.openafs.org/2545
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fb01fbd7cd2d396df8a4605eaad9febc52ef3b61
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Aug 11 18:55:29 2010 -0400

    Linux: switch to evict_inode
    
    In 2.6.36, the delete_inode and clear_inode inode operations
    are replaced by evict_inode.
    Rename our current clear_inode to evict_inode, and add a few
    things that were previously handled by the generic delete_inode.
    
    This is required for 2.6.36.
    
    Change-Id: I68d75830b43df710ccce173ab36f3bb39074c59e
    Reviewed-on: http://gerrit.openafs.org/2544
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eaf3378f537935f6b9843886b43d8b6d38a91a92
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Aug 11 18:20:59 2010 -0400

    Linux: adapt to truncate sequence changes
    
    As part of changes to the truncate sequence, inode_setattr() no
    longer exists, and all filesystems have to define the setattr op
    so we can assume that it is not NULL.
    
    Introduce a compat inline function afs_inode_setattr that hides
    the tests and the different versions from the main code.
    
    Note that the existing test for the inode_setattr() return type
    will fail, but the value is no longer used in that case.
    
    This is required for 2.6.36
    
    Change-Id: I2f5e8a0b660b48453d0152b6c4db64e57539f91a
    Reviewed-on: http://gerrit.openafs.org/2543
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d4018b2673e6532543984838290ffb891b970fea
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Aug 11 17:18:32 2010 -0400

    Linux: use %pI4 if NIPQUAD is not available
    
    The definition of NIPQUAD has been removed from the kernel headers
    in the mainline kernel.  Replace it by using the %pI4 format
    specifier which takes the IP address as a single argument.
    
    There should be no change in the output.
    
    This fix is required for 2.6.36.
    
    Change-Id: I269e5bd754b7aef49b005081eb6b3af1b2679293
    Reviewed-on: http://gerrit.openafs.org/2542
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3121a07fbfd4bf3991a933b80a9ad8f4cda285ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 12 00:48:45 2010 -0400

    disable pmtu error gathering
    
    don't enable kernel pmtu, don't collect errors.
    
    a report from Marc Dionne suggests there are still issues here
    
    Change-Id: Ib54fa522ba53efe50e8f08b27422ebfc8af7f9e5
    Reviewed-on: http://gerrit.openafs.org/2538
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 03f76092bdb6c011e539a125729efe330227f8b2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 12 00:48:44 2010 -0400

    Windows: comparisons of nul strings should match
    
    When comparing nul strings in cm_strnicmp_utf8 and cm_strnicmp_utf16
    the functions should return 0.
    
    LICENSE MIT
    
    Change-Id: I30c1321f42135a5e0160407467549b13cc92393f
    Reviewed-on: http://gerrit.openafs.org/2539
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3daf18a3cbadd1db07839708cf45426003a2bca5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 10 14:16:39 2010 -0500

    viced: VNOVOL on deleted volumes
    
    When the volserver deletes a volume, the fileserver should respond to
    future access to that volume with VNOVOL and not VOFFLINE, since the
    volume doesn't exist anymore. Do this in DAFS via a new state,
    VOL_STATE_DELETED, and in non-DAFS by just setting specialStatus to
    VNOVOL.
    
    In the future we should also make sure the vp's for deleted volumes
    get freed after a couple of hours, but not yet.
    
    Change-Id: I6dec3e0a5e9e54f6ad09fad9f2355b513cce3bf6
    Reviewed-on: http://gerrit.openafs.org/2533
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 72da1d2eb2567f9e5e1b3d5aebc73654785f99a6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 6 14:32:16 2010 -0500

    volser: Ignore duplicate file tags when restoring
    
    Currently, if the volserver encounters multiple file tags for a vnode
    when restoring a volume dump, it will create extra vnodes which are
    not recorded anywhere, and are leaked when the volume is removed.
    Instead of doing that, ignore any duplicate file tags that are
    encountered (which is what happens with other tags), and log a
    warning.
    
    Change-Id: I1ac76b0217096d013db355b899f1a53174d20eb5
    Reviewed-on: http://gerrit.openafs.org/2531
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f7d298d367cc5deea00a44601f845f543993ef09
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Aug 11 23:14:31 2010 +0100

    LINUX: More flock fixes
    
    Turns out the we have two almost identical lock routines on Linux,
    one for POSIX locks, and one for flocks. Fix them both. Also,
    while we're at it, make the same fixes in the LINUX24 tree.
    
    Thanks to Andrew Deason for pointing out the oversight in the
    original patch (5abe706a7e237d3872db3638d947a14c935370d5)
    
    Change-Id: I59f0f1e12af36a97e490df36537ac17e8ed87303
    Reviewed-on: http://gerrit.openafs.org/2535
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5a2ae98327520a6936d8bbe6b2a9128dc45a2406
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 09:38:10 2010 -0400

    fs discon support alternate uid
    
    this is a short-term hack. macos lacks pags, and anywhere without
    pags won't have tokens when fs discon online is run as root unless
    the tokens are explicitly set for root... which can be bad mojo.
    
    instead, allow a uid to be passed in.
    
    Change-Id: I44ebf9468976fa43d449f72d392fbb9e830e44d6
    Reviewed-on: http://gerrit.openafs.org/2515
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e6aa0b38e9970ca10e498e03b0149f895edf9e73
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 2 14:02:37 2010 -0400

    macos disconnected vnode holding fix
    
    tweak how we hold vcaches to avoid issues with the underlying
    vnode having an iocount underrun due to races.
    
    Change-Id: I96526ed52c11aac1124a8cf66458ba3e25e7efb2
    Reviewed-on: http://gerrit.openafs.org/2501
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5abe706a7e237d3872db3638d947a14c935370d5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Aug 11 17:25:36 2010 +0100

    LINUX: Use correct type of error in flock code
    
    The flock code gets a kernel error code from afs_posix_lock_file()
    but then passes this error code through afs_convert_code (which sees
    that it is already negative, and returns EIO). Instead, we should just
    return afs_posix_lock_file()'s code direct to our caller.
    
    Change-Id: I28bbc2dc8535d28a4e9e9f564392fd4cbfa76569
    Reviewed-on: http://gerrit.openafs.org/2534
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bc6fe06ae5829676b84028adc2aa088c8e69574f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Aug 11 01:10:38 2010 -0400

    Windows: cm_Analyze should treat VOFFLINE like VMOVED or VNOVOL
    
    Volume package bugs in the file server can result in VOFFLINE
    being returned to the client instead of VNOVOL or VMOVED.  As
    a result the Unix CM treats VOFFLINE the same as VMOVED and VNOVOL.
    The Windows client has not.  As a result, bugs in the file server
    can cause the Windows client to lose if the volume has in fact
    been moved to another server.
    
    As part of this change, the volume location list is updated prior
    to the volume status being applied to the server from which the
    error was received.
    
    LICENSE MIT
    
    Change-Id: I01036aa9d1999d0ba6822beb1b73500d365bf0b3
    Reviewed-on: http://gerrit.openafs.org/2532
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 219ab91243b8c9c5ffbfa459047968145debee9c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 27 16:22:47 2010 -0500

    salvage: update inodes array after CopyAndSalvage
    
    CopyAndSalvage makes a copy of the directory to salvage it. So, the
    new directory will have a new inode. Update the array of directory
    inodes to reflect this. Without this, we can fail to alter the
    copied/salvaged directory later on, since we will try to read/write to
    the wrong inode.
    
    Change-Id: I2466981e8ee54c5aecf1a166a37d8146b126de24
    Reviewed-on: http://gerrit.openafs.org/2530
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9903f4805e27583a3483db412479fdc604fdd0b6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 27 17:22:49 2010 -0500

    salvage: Remove redundant 'code' declaration
    
    'code' is declared at the top of SalvageVolume; no need to declare it
    again in a lower block.
    
    Change-Id: I9b48830c17e5043e6abcda4dd4dd3cc040031d9a
    Reviewed-on: http://gerrit.openafs.org/2529
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 56218cab39d522cb6911620bbf34d0236bfd3052
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 28 12:01:01 2010 -0500

    salvage: Do not look at not-found root dir
    
    If we have not found any root directory, don't even look at
    'oldrootdir' or 'rootdir', since they will be uninitialized at this
    point.
    
    Change-Id: Ia1a7037e06a223a7e1fbc48c0bfadd3b7aaa0e4b
    Reviewed-on: http://gerrit.openafs.org/2528
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1c002a5b5d29532b8c12097ad717c676a3285f28
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 28 12:00:37 2010 -0500

    salvage: Zero corrupted header
    
    In the salvager, if we read in a corrupt header (either we get a short
    read or the magic is mismatched), make sure we zero out the contents,
    so we don't read garbage further on.
    
    Change-Id: Ifb4b9fc1b25d5eab470f0950a1d3bb240f75b0d3
    Reviewed-on: http://gerrit.openafs.org/2527
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9da5e4700b81be7d78e4fc54bc4dd31d582be349
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 21:33:05 2010 -0500

    tviced: Fix serialize_state.o objdir
    
    At least some makes treat ./serialize_state.c as only in the current
    dir, ignoring VPATH. So just specify serialize_state.c.
    
    Change-Id: I250886cb4bbfb955984b39c5a7d1a1acd5d9e0c4
    Reviewed-on: http://gerrit.openafs.org/2524
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cdbf7827ef984be8342b284c7830c40dcef1335f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 17:08:37 2010 -0500

    Eliminate $< outside of pattern rules
    
    The $< variable in makefiles is not portable when used outside of
    pattern rules. Replace each usage with the actual name of the file we
    want.
    
    Change-Id: Idc9309e7d7bd3b1bd93e8225507b8b53c9433d69
    Reviewed-on: http://gerrit.openafs.org/2523
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 16bad29f0301db64c38bc66cb760c04399c0c7bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 14:49:28 2010 -0500

    Fix objdir install/dest targets
    
    Many 'install' and 'dest' targets were referring to source files
    without a srcdir prefix. Fix them so we can 'make install' / 'make
    dest' with objdir.
    
    Change-Id: Id76c5e326309baf8ec3f1213ecb2e40b19aea7d4
    Reviewed-on: http://gerrit.openafs.org/2522
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 17a57cdafeac2b362e4edc50370962883f7ec052
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 14:01:51 2010 -0500

    tubik: Fix objdir builds
    
     - Make netutils.c include afs/dirpath.h, so we don't have to find the
       correct include dir for "dirpath.h"
    
     - Fix dependencies in tvlserver, tbudb, and tptserver, and refer to
       sources in srcdir where appropriate
    
    Change-Id: Id9c2b3eefaa9d02ccb197a61341776444b958cdc
    Reviewed-on: http://gerrit.openafs.org/2521
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a5ff380e891db1c9ed0ec3875ce9b34d03976a8e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 13:59:35 2010 -0500

    Fix afsd.fuse for objdir builds
    
    afsd_fuse.o could not find afsd_fuse.c for objdir builds. While we're
    here, make the afsd_fuse.o rule more closely match the rules close by.
    
    Change-Id: I675359134e2672cb36c9eb780edefb498d498bb1
    Reviewed-on: http://gerrit.openafs.org/2520
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b832cdc1c7e462ca7c87ea16abdf694bac1bc272
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 11:19:35 2010 -0500

    rxgen: Error out if cpp exits with error
    
    If we call 'cpp' and it returns with an erroneous exit code, exit with
    an error ourselves. Otherwise we will return success and generate
    empty results even if the input file is unreadable, for instance,
    which causes confusing errors later in the build.
    
    Change-Id: Ia12dc58eee0937a6bd529dcd6b552e253dbc40c8
    Reviewed-on: http://gerrit.openafs.org/2519
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a4267ef14008daad45c1a64edf5649fc6bb333f0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 23 11:27:46 2010 -0400

    namei decodevolume allow low volume ids
    
    the smallest thing which can be encoded is a single character;
    also allow it to be decoded, such that low numbered volumes
    are treated as valid.
    
    Change-Id: Ia5e694f7f73e1035af741bd23c7f50805910d0c4
    Reviewed-on: http://gerrit.openafs.org/2470
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aa24d1392c31dc725a85ffe179adf6eca2fa683f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 5 15:07:47 2010 -0400

    Windows: add flags field to smb_ioctlProc_t function signature
    
    Add a general framework to permit flags to be passed into the
    smb ioctl interface functions.  This patchset does not define
    any such flags.
    
    LICENSE MIT
    
    Change-Id: I9a894a186c4ca455116ea79bdd6c3cc0d02a2dc3
    Reviewed-on: http://gerrit.openafs.org/2525
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ed428869276d07e8dc886a1ee02893bb9cc09e1f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 24 14:21:52 2010 +0100

    Unix CM: Remove erroneous comment
    
    Despite what the comment says, shutdown_axscache does have a caller,
    so just remove the comment lest it confuse people.
    
    Change-Id: I0491bf4f945c372d7ddbafb7a43390821c95a0c1
    Reviewed-on: http://gerrit.openafs.org/2471
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f6a91a28ccd38cdaa917cbd140c567dbd1651322
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Aug 5 01:43:24 2010 -0400

    Windows: optimize buf_FlushCleanPages
    
    If the pages to be flushed are from a readonly or backup volume
    they can't be dirty.  In this case there is no need to stabilize
    the pages before they are locked and recycled.
    
    Stablilization is performed on the cm_scache_t object so do not
    stabilize and unstablize for each cm_buf_t object.
    
    LICENSE MIT
    
    Change-Id: I6fa86cf0a33dc9f45d77911909e799c0fc6510cf
    Reviewed-on: http://gerrit.openafs.org/2518
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f08e953e62148bd2f9200040a8e34ef07b51b35d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Aug 4 22:49:29 2010 -0500

    Unix: docbook revision tag requires a date
    
    The docbook DTD requires a <revision> element to contain a <date>
    element. So make a blank <date> one even though we don't keep track of
    a date, so we can pass xmllint.
    
    Change-Id: I06e68b756d215ec3ce279561a05b5bc5fc418028
    Reviewed-on: http://gerrit.openafs.org/2517
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0080e261cda46f53b952a0e5133fb94414f17a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 3 17:32:11 2010 -0500

    Add DAFS docs to the Unix Quick Start guide
    
    Modify the sections dealing with creating the 'fs' bnode to also
    mention how to create the 'dafs' bnode, and add an appendix explaining
    DAFS and the differences between DAFS and non-DAFS.
    
    Change-Id: I026405dbc3838a9a0247b85cbdc508d6be93275d
    Reviewed-on: http://gerrit.openafs.org/2508
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ae1ac72783dee7cfd23538e95a1ad358a17373cc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 3 12:01:07 2010 -0500

    HPUX: Add limits.h to sysincludes
    
    xdr_mem uses INT_MAX, so we need limits.h in the kernel for HP-UX.
    
    Change-Id: I5c75f9d3cb9cfd5da78cf625f042c1dee862dcd7
    Reviewed-on: http://gerrit.openafs.org/2506
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8e5d6ce1506cc9e65ad51b1c5f76e0a29616231c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 09:22:20 2010 -0400

    fix unlabelled xdr field order on sun457 kernel for now
    
    alternate to 2503 (which we will push after branching)
    
    Thanks to Andrew Deason for discovering this issue.
    
    Change-Id: I3a43bb1eab1a753f099c9d21e440f6660c706e37
    Reviewed-on: http://gerrit.openafs.org/2514
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7556326e012c74a21c2459c19cdf8317b5156f2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 09:04:34 2010 -0400

    discon remove dirty vcaches from queue when discarding
    
    the discardall loop was not dequeueing vcaches, meaning we would loop.
    caught by Simon Wilkinson
    
    Change-Id: I80256ef5f91d7030e0cb11e78a79f137a217a29a
    Reviewed-on: http://gerrit.openafs.org/2513
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6d0b97c7ac89219c0b708d1afbd4d7b8c8ec717d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 09:02:54 2010 -0400

    reorder vcache references in discondiscardallshadows
    
    reset the vcache before we (nominally, it's still under a lock)
    discard it. remove superfluous shadow clearing.
    
    Caught by Simon Wilkinson
    
    Change-Id: I55b91fa4f2f92a8b6fd1f8117c2448f7a7d1d98a
    Reviewed-on: http://gerrit.openafs.org/2512
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 85e29294eef44fcc52b0583c70debcae452e829d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 09:00:58 2010 -0400

    discon getparentvcache leak fix
    
    don't leak an unref'd vcache pointer if we are returning an error
    (EAGAIN). thanks to Simon Wilkinson for catching this.
    
    Change-Id: I40c5aa0fd50e1f2c76b09ba073a7109bca706d8c
    Reviewed-on: http://gerrit.openafs.org/2511
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bfae6b76c4e27c77299df149a42aebb406c653e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 08:42:16 2010 -0400

    discon needs static_inline macro
    
    don't use static inline keywords in common code.
    
    Change-Id: I29cbe312e27c8fb75d2d07f720789a4a5b900fa5
    Reviewed-on: http://gerrit.openafs.org/2510
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b82ac032a6ac99db18019bfedf4100c9354a140c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 08:41:00 2010 -0400

    darwin unused prototype
    
    we don't gave our own vn_rele. don't prototype it.
    
    Change-Id: I3a2d193c95a2d63c8d80054dd4600f949d1a01d2
    Reviewed-on: http://gerrit.openafs.org/2509
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a5bcd61a16a3d6b0b458f4710c0d537cfee7743d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 14:47:03 2010 -0500

    util: add afs_exec_alt
    
    Add the function afs_exec_alt to help programs easily execute an
    "alternate" version of themselves. For example, for programs that are
    built with/without DAFS support, or are built for 32-bit/64-bit
    structures, etc.
    
    Change-Id: Ibb2b7105d58476f84bd9f15987f8b7df37314b6b
    Reviewed-on: http://gerrit.openafs.org/2483
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6b6535279a558d0d25b95e4ab4038e7ac9699797
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Aug 3 15:44:52 2010 -0500

    tbudb: Use INSTALL_PROGRAM, not INSTALL -f
    
    "$INSTALL -f" is not portable. Use $INSTALL_PROGRAM instead.
    
    Change-Id: I5013476cc036350b0b61b6e3c01a86d303aa70b6
    Reviewed-on: http://gerrit.openafs.org/2507
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

commit ba7d8d78104d870e9c1d984ac10843918513eef1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 2 23:28:39 2010 -0400

    Windows: Reduce complexity of Freelance Callback Logic
    
    Over the years the processing of the Freelance callbacks have
    added functionality that behaves much more like FetchStatus checks
    to a file server.  If the data version of the object has changed,
    get the new data.  Given that is the case, we can remove much of
    the original refresh logic that is rather race prone.   Say goodbye
    to cm_fakeGettingCallback and cm_fakeDirCallback.
    
    LICENSE MIT
    
    Change-Id: I249c84201afc16611039b2ba0801a643fcf05f28
    Reviewed-on: http://gerrit.openafs.org/2505
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a03f1960da3a68cd8453960302be0319a7bb45ae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 2 16:06:39 2010 -0400

    Windows: When processing pioctl paths ensure callbacks are obtained
    
    When processing a pioctl path with either smb_ParseIoctlPath or
    smb_ParseIoctlParent, cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK|GETSTATUS)
    must be called on the cm_scache_t object to ensure that it is up
    to date before we permit cm_Lookup or other operations to be performed
    on it.  Add the cm_SyncOp() call to smb_ParseIoctlPath and
    smb_ParseIoctlParent to ensure it is done for all pioctl operations.
    
    LICENSE MIT
    
    Change-Id: I2fe5d5ec2567693155277b40929dedb8155d9ebf
    Reviewed-on: http://gerrit.openafs.org/2504
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fccd35961f1f3324df7dbdea03790ee0b525d9f1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 2 14:51:39 2010 -0400

    fs disconnected remove ifdefs
    
    disconnected is always on; remove the ifdefs around it
    
    Change-Id: Iaa982f83f7619fc0ad1162a64b68231e02eae916
    Reviewed-on: http://gerrit.openafs.org/2502
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit deb96d3986bedc1defc921b88abb88e4aefb55e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 2 13:30:30 2010 -0400

    Windows: docbook revision tag requires a date
    
    Even if we can't generate a date, we must include the date tag
    within the revision tag in order for the docbook dtd to be applied
    and pass xmllint.
    
    Change-Id: Ic58995ecd7b07a1163f0965e22bcd78769d4565e
    Reviewed-on: http://gerrit.openafs.org/2500
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c5ffaf7a3c179c77398e1d0a007b870a9c45e053
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jul 31 04:30:10 2010 -0400

    Windows: Don't configure client when not installing client
    
    The 32-bit tools installer was displaying client configuration wizard
    pages.  Since, the 32-bit tools share configuration with the AFS
    service, the 32-bit tools installer should not be attempting to change
    client configuration.  Remove said wizard pages from the 32-bit tools
    installer.
    
    Change-Id: Ib52b5741d5d412b1aea1856e0304364ed928b2ba
    Reviewed-on: http://gerrit.openafs.org/2492
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 60878f4d2a6f5d02f067efead99d371eafe6668b
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jul 31 13:07:44 2010 -0400

    Windows: Fix MC options
    
    Newer versions of the Message Compiler included with Windows SDKs
    break when using the -s option.  Remove it.
    
    Change-Id: I71bcd2d5aa000b11c44b77ce4687bc0f070699b0
    Reviewed-on: http://gerrit.openafs.org/2495
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5e946d5b6672d4dea7dd1c3ee669245b3d2ced92
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 30 15:32:53 2010 -0500

    ptserver: Do not use cell for entry name len check
    
    Do not use the local cell name when determining if a new entry name is
    too long. This check assumes that foreign cells will use our local
    cell name (assumed to be our local Kerberos realm) in a certain way,
    and prevents creating users that will make those names too long.
    
    This is undesirable for several reasons. One is that the local realm
    name may not be the same as the local cell name (and we may have many
    local realms). Another is that we cannot reliably predict how foreign
    cells will construct foreign pt entry names, so preventing entry
    creation based on that may prevent names that will never cause any
    problems. This check also assumes that our names will be used as
    foreign entries in other cells, which may not be the case.
    
    So, remove the check based on the local cell name, and remove the
    pr_realmNameLen variable while we are at it, since this is all it is
    used for.
    
    Thanks to Jeffrey Altman for discussion, and for bringing this up in
    the first place.
    
    Change-Id: Ief4bc94d9ead61a1589797b5dc663a6473c9ed72
    Reviewed-on: http://gerrit.openafs.org/2488
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 89afd3c21e816c29f497c10cf76673d009cdd919
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 31 00:21:06 2010 -0400

    Windows: Do not reference cm_data.rootSCachep directly
    
    cm_data.rootSCachep is a global pointer to the cm_scache_t that
    represents the root.afs volume root directory.  Throughout the
    code this cm_scache_t was being used without ensuring that a
    callback to the volume is in fact valid.
    
    Under most circumstances this would not be a problem.  However,
    it is possible for a request to fail due to the lack of a callback
    at a critical moment.  Add a new function cm_rootScachep() that
    attempts to ensure that a callback is present (if possible) prior
    to use the cm_scache_t object.
    
    LICENSE MIT
    
    Change-Id: I997dc05a2214788d32727c261947206a61cd8d32
    Reviewed-on: http://gerrit.openafs.org/2491
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 78f99d4a025d3b369d3ad4939098ea868feb6cfc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jul 31 00:05:24 2010 -0400

    Windows: Update root.afs scache dv when Freelance dir bufs are regenerated
    
    When the contents of the Freelance root directory changes the fake
    directory buffers are updated and a fakeDirVersion is incremented.
    The dataVersion of the cm_scache_t object is supposed to be updated
    on the next access by performing a fake get callback request.
    Unfortunately, this did not always occur because of a race.  If another
    Freelance object is updated first, the root directory object would
    never successfully get a fake callback.
    
    This patchset ensures that the generation of the fake directory
    buffer content and the callback are obtained under the same set
    of locks thereby removing the race.
    
    LICENSE MIT
    
    Change-Id: Ic8c77fc3c652cd056f84db55ca6db32499bcb0c9
    Reviewed-on: http://gerrit.openafs.org/2490
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9ec343cf4292e178fa1e4a9757232dc983ea9ba3
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 1 21:39:56 2010 -0400

    Factor out the common text in vos_addsite, vos_copy, and vos_zap
    
    Factor out some common options out of the man pages.
    
    LICENSE IPL
    
    Change-Id: Ic79e53a2d6464cc62d49987ab58d38c9898f372b
    Reviewed-on: http://gerrit.openafs.org/2496
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 78dcbd11d49bf9ae078639d067832fdf331daaa1
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jul 31 12:43:47 2010 -0400

    Windows: Build preprocessed POD documentation
    
    Change-Id: I0b849bf52094a1b6ca0e45db5e2f92ff58b8efba
    Reviewed-on: http://gerrit.openafs.org/2493
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 39643598a216c2e892cd94ccb441180a4c4f949e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 2 00:44:37 2010 -0500

    SOLARIS: let xlator load if amd64/nfssrv is loaded
    
    The NFS translator-enabled kernel module refuses to load if
    misc/nfssrv is not also loaded. We were only checking misc/nfssrv and
    misc/sparcv9/nfssrv, though, not misc/amd64/nfssrv. Check that, too,
    as it may be loaded on amd64 machines.
    
    Reported by Robert Milkowski.
    
    Change-Id: Idbb9c4136b87ffa4c72ca376738001fb6a3ca7d8
    Reviewed-on: http://gerrit.openafs.org/2497
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c53513e834ab965daebb5ce433cd6b7dc88dab8e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 2 09:49:26 2010 -0400

    Windows aklog: remove lstat preprocessor definition
    
    lstat is now defined globally in the build system.
    remove redundant definition.
    
    LICENSE MIT
    
    Change-Id: I91f90f571ffd2dfe1544ce17b50e5577acc5adbc
    Reviewed-on: http://gerrit.openafs.org/2499
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 571204f343014d5f84ddbcf4ad63a8ebd469f006
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Aug 2 09:48:07 2010 -0400

    Windows aklog: include afs/pterror.h
    
    pterror.h is required for initialize_PT_error_message
    
    LICENSE MIT
    
    Change-Id: Ie487c6b03ff6ca4cac30ccac9f2a67fdd89e6aaa
    Reviewed-on: http://gerrit.openafs.org/2498
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cf0d7fea04923b39ccae0e9083c525b91642f49d
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jul 31 04:00:41 2010 -0400

    Skip over 'fragments' directory when scanning for PODs
    
    The generate-html script scans the directories to compile a list of
    POD files.  The list of candidates include the 'fragments' directory,
    which causes an error when the script attempts to open it as a file.
    
    Change-Id: If1208561f58f869ccba60f4a263bee5200dad1ed
    Reviewed-on: http://gerrit.openafs.org/2494
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit ebf36d27c66f18d8fa88ec8f7cacec3ef0c311d7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 30 12:03:06 2010 -0500

    ptserver: Allow longer foreign user names
    
    The ptserver was restricting all names to be less than PR_MAXNAMELEN -
    pr_realmNameLen - 1, so that the local realm and a '@' can be safely
    appended for foreign user registration. This check is overly
    restrictive for foreign users, since the local realm will never be
    appended to the user name (it already has the foreign realm name
    appended). So, just check for PR_MAXNAMELEN for foreign users.
    
    Original issue reported by Gunnar Krull.
    
    Change-Id: I34c5d908cc2c1b3abe87966115e6ada74c9a93a9
    Reviewed-on: http://gerrit.openafs.org/2485
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 429feee73d977b7329ec258d5c1aa369b8f349c6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 30 14:45:29 2010 -0500

    Document krb.excl
    
    Change-Id: I0ac49b6d705190f877f6b09b69a3efe24b5c3d8e
    Reviewed-on: http://gerrit.openafs.org/2487
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b0a003fd8d3d1d34dbd6248bf1acec141954f080
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 30 21:20:06 2010 -0400

    FBSD: update ifa_ifwithnet usage
    
    FreeBSD 8.1 (and 9.0) now require a second parameter to
    ifa_ifwithnet.  Fix the build by using the same macro
    as OBSD46.
    
    Change-Id: I22eac8722bef79b6349b9d879eb42d63450b362e
    Reported-by: Jan Henrik Sylvester
    Reviewed-on: http://gerrit.openafs.org/2489
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ea8be82b95972d46882e8e7fce91a1973c966049
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 13:02:47 2010 -0500

    Document the 'vos offline' -busy and -sleep opts
    
    Change-Id: I68d374a206a398467e5980a87b3ca2ad41bf9653
    Reviewed-on: http://gerrit.openafs.org/2482
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 11854c734adb7e184484c262d244401be6656eee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 12:43:25 2010 -0500

    Remove bless-related options from vos manpages
    
    'vos online' and 'vos offline' were documented as taking -bless and
    -unbless options, respectively. They do not actually take these
    options, and since adding that functionality, while useful, will
    require protocol changes, they are likely to take some time to appear.
    
    Change-Id: I91800e9637162e24873beac5d41f3ad456f25af8
    Reviewed-on: http://gerrit.openafs.org/2481
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 56cf5a9f5f61207b449e9b62e9f926a7dc488575
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 29 10:36:56 2010 -0500

    Install DAFS and non-DAFS fssync-debug
    
    Install the non-DAFS fssync-debug along with the DAFS dafssync-debug,
    since fssync-debug uses some structures that are specific to DAFS or
    non-DAFS.
    
    Change-Id: Ib7420857cd32f33fc3cc04f67baa1fcc90abc936
    Reviewed-on: http://gerrit.openafs.org/2479
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 134f58cd8ca3d941bcea6e9f56d8fc7d0c91d7e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 29 10:59:35 2010 -0400

    macos prefs pane improved error handling
    
    NSScanner: nil string argument
    is a lame thing to see. so let's not.
    
    Change-Id: I972ed9ebe5a9f7ef5ae9ecbd0423a61bd5bfb5b7
    Reviewed-on: http://gerrit.openafs.org/2478
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3a0efeebf63a721068165b3f55600c8eef9faab2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 28 17:10:10 2010 -0500

    viced: Correct unblessed attach2 errors
    
    Don't set the vp to NULL; instead just go to the general error
    handling code. When a volume is not blessed, we just want it to go
    offline, not go into an error state. Furthermore, we must free the
    volume header when nUsers is set to 0, so manually do so when we do
    not call VRequestSalvage_r.
    
    Change-Id: I3ccd61ac219e092a5c9ee52cd563d007bc20a1a1
    Reviewed-on: http://gerrit.openafs.org/2476
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ec5f7f0e0284b38b86c32c2dfc842b08aca720ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 28 17:47:21 2010 -0500

    vol-bless: Detach, not put, volumes on completion
    
    vol-bless was just calling VPutVolume when it was done blessing or
    unblessing a volume. Instead call VDetachVolume, so we actually give
    the volume back to the fileserver when we are done if !nofssync.
    
    Change-Id: Idc1e0c32cf5c1c9d2c130fee4b2f1a5f61ab1c3a
    Reviewed-on: http://gerrit.openafs.org/2477
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e2bce5f6c6cd8d2da40bd830640d87ebb9c0b6e9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jul 12 19:28:24 2010 -0400

    gcc 4.5: Sequence point warning fixes
    
    With gcc 4.5 the -sequence_point warning triggers some new
    warnings.
    Fix some of them by simplifying the arguments to some
    problematic macros.
    
    Change-Id: I6c4e2b09f3f9d07d342b7be0d6d8317673dddf34
    Reviewed-on: http://gerrit.openafs.org/2474
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 43f3a074f09d34ce2da9bae2237b3a44cb4cac8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 26 16:15:46 2010 -0400

    unix blacklistonce should default to fail if no fid
    
    return fail, rather than success, if no fid and thus
    no list of servers to resort, in BlackListOnce.
    
    will need a later change for vlservers
    
    reported by jhutz@cmu.edu
    
    Change-Id: I782781ed87a6de718a4cc3dbe2f948ef325af27c
    Reviewed-on: http://gerrit.openafs.org/2473
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 91eec4d85016b009a9661e98651dfbaa32618d3d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 22 13:43:17 2010 -0500

    salvage: Zero root/readme vnodes before writing
    
    Previously we were writing out the root and readme vnodes with
    uninitialized 'lock' structures, when we create a new root dir for
    attaching orphans. Just use calloc so we ensure that everything is
    zeroed before writing it out.
    
    Change-Id: I3c7712254aaef8731be95ea63530af05438d96a6
    Reviewed-on: http://gerrit.openafs.org/2469
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1ad26bc193f6b7693888054e4ddb96cf5fd260ee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 22 12:21:14 2010 -0500

    autoconf: Force absolute INSTALL
    
    Force using an absolute path for install-sh. Autoconf normally prefers
    using a relative path, which confuses (at least) part of the libafs
    build system.
    
    Change-Id: I6962e61bb866362f674708e611ff22eb190a771a
    Reviewed-on: http://gerrit.openafs.org/2461
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit be469a890416eb139424890567037a17954a654c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 22 11:24:10 2010 -0500

    Remove tsalvaged warning inhibition
    
    tsalvaged has no documented necessary warning inhibitions, and it
    appears to cause no warnings. So, remove the warning inhibition.
    
    Change-Id: Iac2f8e8657034b01ce705dddb5dab3f33c913f31
    Reviewed-on: http://gerrit.openafs.org/2467
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a68abf7a4eeb0667fa067a73e4560b8666e7172a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 22 11:34:24 2010 -0500

    AFS_INT64_FMT takes a afs_int64, not int64_t
    
    Cast to afs_int64, as int64_t can reduce to a different type than
    AFS_INT64_FMT's.
    
    Change-Id: I77ffe8813fbef284e6e91db25804d95d73898b54
    Reviewed-on: http://gerrit.openafs.org/2466
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d1fd051b6a5c6e3bf04663d88bc0366d7e7e854
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 21 17:30:39 2010 -0500

    Log lex/flex detection errors in the config log
    
    When we detect if lex is flex, we run 'lex --version', which may
    complain to stderr if lex is not flex. Instead of printing such errors
    to the person running 'configure', redirect stderr to config.log along
    with stdout.
    
    Change-Id: I812805245a2638eda5885a41a6d70ffeff608c58
    Reviewed-on: http://gerrit.openafs.org/2462
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit d64948ac30d3aefda098727a2158406144877654
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 21 12:06:39 2010 -0400

    vlserver - Don't overflow buffer with backup pattern
    
    based on a report from Hans-Werner Paulsen
    
    avoid adding regex anchors to a buffer which is already full
    when copying it to a like sized buffer. instead, leave extra space.
    
    Change-Id: I486c51779da285888fe38ed2aa5f30dd2d008a9a
    Reviewed-on: http://gerrit.openafs.org/2456
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e80bc73142188af82611f2174413091191be7818
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 21 12:01:57 2010 -0500

    Remove an outdated inode comment block
    
    This comment is no longer true, and its existence now is just
    confusing.
    
    Change-Id: I3954bd82f11c5f48e3e9491a885087067b3d9d34
    Reviewed-on: http://gerrit.openafs.org/2458
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e75eb34b9a38127b2f166a702e5a641847448823
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 21 12:17:33 2010 -0500

    SOLARIS: do not ignore libafs build failures
    
    Change-Id: Ic5bc6cefd616736d81807bf6ac6d0226fcdb3df2
    Reviewed-on: http://gerrit.openafs.org/2459
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 41d321e900ccb99120a49980c24d44f206075f17
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 21 10:36:21 2010 -0700

    Don't cd around invocations of install-man
    
    install-man is a config.status-generated script, so Autoconf will
    substitute in the path to our install-sh script, but Autoconf prefers
    relative paths that are only valid in the directory in which
    install-man is generated.  We therefore must avoid changing directories
    before calling install-man.
    
    Instead of cd, use relative paths including the directory and adjust
    the installation path accordingly.
    
    Change-Id: I8666257b9d74fa80cf7f136bd0ee6ff895897066
    Reviewed-on: http://gerrit.openafs.org/2460
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f0a52e168c0f3495c7b168a63c149116219e3c1b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 21 11:34:39 2010 -0500

    libafs: fix IOPEN for amd64 solaris
    
    Solaris afs_syscall_iopen was returning the fd in r_val2 for 64-bit
    architectures (for 5.7 and beyond). If we are little-endian, though,
    we want the return value in r_val1; otherwise we just always return fd
    0. So, put the fd in r_val1 if we are little-endian.
    
    Change-Id: I8553c338625e9c50f846f4676b53ea8f054b7a73
    Reviewed-on: http://gerrit.openafs.org/2457
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b3c16324edf9e26ef4eea63d214d9d18ecaba30b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 20 12:46:00 2010 -0500

    ubik: Make ugen_ClientInit honor noAuthFlag
    
    ugen_ClientInit was still trying to use tokens to make an
    authenticated connection, even if noAuthFlag was set. Make it so we do
    not attempt authenticated connections with noAuthFlag, and suppress
    the "Could not get afs tokens" message if noAuthFlag was set.
    
    Change-Id: I1a0afbb8507307f09a3555e6a7ce0c197ddcc6ef
    Reviewed-on: http://gerrit.openafs.org/2454
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e46f10a0a0a930f318833a8a86b10c19744160c1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 20 12:32:10 2010 -0500

    bos: Do not assume DAFS just if DAFS bnode exists
    
    For salvaging purposes, we were assuming that if a DAFS bnode existed,
    we should perform a DAFS salvage. Since it is possible to have a
    disabled DAFS bnode alongside an enabled non-DAFS fs bnode, we should
    perform a regular non-DAFS salvage if the DAFS bnode is disabled. Do
    that.
    
    Change-Id: If4e6fa3b733e2e9684cd9942be56368d60bf6dee
    Reviewed-on: http://gerrit.openafs.org/2453
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b0f16e6a564f305bb7751e946d85a4e70fa50625
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 20 12:06:57 2010 -0500

    bozo: Clean up bnode parms for each bnode
    
    bosserver was remembering the parms for past bnodes, and just
    overwriting parms for new bnodes. This is a problem if we have a
    'dafs' bnode followed by an 'fs' bnode, since the 'fs' bnode will get
    the 'dasalvager' parm, and bosserver will think it is its scanner
    program.
    
    So instead keep track of a separate array of the parms that we
    actually pass to bnode_Create, so we only pass parms that we saw for
    this specific bnode.
    
    Change-Id: Ic609e2156cfd8ecf5b83b3815c5dff235010aa00
    Reviewed-on: http://gerrit.openafs.org/2452
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 901423b1e566a91b0c10ecb1da1a9886e0877adf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 20 00:05:18 2010 -0400

    Windows: Build Demand Attach File Service
    
    This patchset permits the building of demand attach file server
    and volume server.
    
    Change-Id: I7ee81c69924cde5e8aec2067d73b51cba7e4423e
    Reviewed-on: http://gerrit.openafs.org/2450
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 939382c5c1622750665a9f543168bd3b8044583f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 19 14:17:21 2010 -0400

    vol AttachByName should mimic other volpkg errors
    
    if later callers will deem a volume offline, note it at attach time.
    additionally, log the cause.
    
    Change-Id: I4870e8f3bfd8d7e69e448d3a445be81435407f0f
    Reviewed-on: http://gerrit.openafs.org/2448
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eb6914dbb30b211653d6e66f23c31e81d410c9ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 19 16:56:58 2010 -0400

    ShakeLooseVCaches needs to avoid CVInit vcaches
    
    the code refactoring missed this case. sadly, it means we
    can panic under heavy vcache contention.
    
    FIXES 127645
    
    Change-Id: I41929df066b8e3d447ba72e77be6777a306b8bf8
    Reviewed-on: http://gerrit.openafs.org/2449
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9c9b4bb8279f62bfd0888a8d7d081ba53ace3c4c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 16 13:48:05 2010 -0400

    document dasalvager
    
    split dasalvager and salvager documentation.
    refer both ways between docs.
    
    Change-Id: I33480cae671c3f50d47a5a4f8407a07f268164a1
    Reviewed-on: http://gerrit.openafs.org/2442
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6f29ed951fca8f843e0a607fae97dd107f44d21c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 16 13:39:22 2010 -0400

    document davolserver
    
    split davolserver and volserver documentation.
    refer both ways between docs.
    
    Change-Id: Iac70ac8e1fb8bfcb7ebfdbed8e9d7870a2e69fee
    Reviewed-on: http://gerrit.openafs.org/2441
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 214f8ea022ad57d9f99346f4d24ed3c7409d8054
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jul 18 11:45:06 2010 -0400

    dafileserver synopsis
    
    missed this before, needed for dafs man page
    
    Change-Id: Ie9a309995638ea315198ea204cbc16e2cdc3fbe7
    Reviewed-on: http://gerrit.openafs.org/2447
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c15a8c65ad232349b202fcf67a4f5037aaec02c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 16 13:21:57 2010 -0400

    document dafileserver
    
    split dafileserver and fileserver documentation. remove dafs-only
    switches from fileserver doc. refer both ways between docs.
    
    Change-Id: Ibcac8ed3f294c18436978f3cd4e52de305130198
    Reviewed-on: http://gerrit.openafs.org/2425
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5142922d6ff019fc30d78c4a5eab29fa5fc1db30
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 12:42:40 2010 -0500

    vos status: report human-readable last*Time
    
    Make 'vos status' print the lastReceiveTime and lastSendTime in a
    human-readable format, instead of just printing the number of seconds
    since the epoch as an integer. As suggested by Jeffrey Altman.
    
    Change-Id: I1348a45078e49ff631cb46323767f1c384a72084
    Reviewed-on: http://gerrit.openafs.org/2338
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 48758397aecb98672783d8d5960e638d76e5e19c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 12:38:21 2010 -0500

    vos status: add lastActiveTime field
    
    Add a field in the 'vos status' output to report the last time a
    transaction was touched by a volser RPC.
    
    Change-Id: Ibfe11e16fc3d7f00134d840ec3ab9fb9263fbea1
    Reviewed-on: http://gerrit.openafs.org/2337
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 36af430c29bdbfc1b4b5c1ad7568cbffab04899f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 12:36:27 2010 -0500

    vos status: actually show created time
    
    The 'created' field in 'vos status' output was being reported as
    something else. Make 'vos status' actually report the time the
    transaction was created in that field.
    
    Change-Id: Ib890256f4b9f67cf0a37910dc3b3585eafdba4fc
    Reviewed-on: http://gerrit.openafs.org/2336
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dd3e0d0371608b0348435e94cc3c6c8f20d92b83
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 17 18:23:30 2010 +0100

    dir: Add printf format checks to log
    
    salvage.c uses the Log() function defined by vol/common.c. At the
    moment, this isn't defined in a way that we can easily grab its prototype,
    so the code has an extern definition at the beginning. For now, just add
    format checks to this definition.
    
    Fix all of the fallout from this - we were casting to intptr, and
    printing with %x - use AFS_PTR_FMT as nature intended.
    
    Change-Id: I2110ebddbe207c307fcad00ab89e5818824a644d
    Reviewed-on: http://gerrit.openafs.org/2446
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8b5bf6ed9eb8404f8b9576c440d82a7691bcb77a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 17 18:06:39 2010 +0100

    budb: Add printf format checks to logging fns
    
    Add format checking to the Log, LogError and LogDebug functions.
    
    Fix the resulting type errors. One of these in particular is a
    signficant bug, where we would try to print a hash table pointer
    as a string.
    
    Change-Id: I02d7bcd7ce63583d24dda4da40288af51a516583
    Reviewed-on: http://gerrit.openafs.org/2445
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 52c91be7ca3c834c470fc739696dffe5fd01c0fe
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 16 23:20:27 2010 +0100

    vol: Fix logging functions
    
    Fix the Log, Abort and Quit functions used by the vol package so
    that they are all defined in a common header file, rather than
    prototyped in each file which uses them.
    
    Use the appropriate macros to flag those functions which never
    return, and mark them all as taking printf style input.
    
    Fix all of the callers which had mismatched format strings and
    arguments.
    
    Change-Id: I78194f623360e13f055f8f37b3558c08a70acd1f
    Reviewed-on: http://gerrit.openafs.org/2444
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a495e0ff6b7f3ee07b77363fa513d24024199f38
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 16 21:58:33 2010 +0100

    Linux: Load exportfs first
    
    The changes to use the exportfs interface to access cache files
    require that the exportfs module is loaded before our module.
    
    In 'normal' operation depmod, and modprobe, would take care of
    this for us, however our legacy installation format where we
    ship the kernel module outside of /lib/modules stops modprobe from
    working, and our init script uses insmod. So, explicitly load
    exportfs first.
    
    Note: I'm aware of just how much this sucks, and the fact that we
    really should just tidy up all of the packaging and init scripts
    around our kernel module - but this close to 1.6 branch is probably
    not the time for those kinds of changes.
    
    Change-Id: Icdc11482f4eb05419a806a2cd55852eaa5999638
    Reviewed-on: http://gerrit.openafs.org/2443
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ce109a8538e16090ee7960991ed1260aac54137a
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jul 15 10:18:03 2010 -0700

    Rename configure.in to configure.ac
    
    Rename configure.in and configure-libafs.in to use the *.ac extension
    instead, which is preferred by current Autoconf versions for input
    files to Autoconf.  *.in can then be more consistently used for files
    that are input into config.status.
    
    Change-Id: I4d352560200e4dbb1a2dda3d5ab7c7c9a38b565f
    Reviewed-on: http://gerrit.openafs.org/2437
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit a792acdadc8fe6e7354be4c23e60c795b3b4f109
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jul 15 17:21:26 2010 -0700

    Add include method for POD documentation
    
    Add a preprocessor for POD documentation that handles a custom
    =include directive.  Demonstrate how to use the preprocessor by
    factoring out all the standard PTS options into a separate POD
    fragment and including that fragment in all the PTS commands that
    take the standard options instead of including that documentation
    in each separate file.
    
    Change-Id: If5255efc6d3fc670b38a9898b3d7d3c60af04fcf
    Reviewed-on: http://gerrit.openafs.org/2440
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3e2c3c9a56fbffd0dc63183dcb053f942b6a2bf6
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jul 15 17:18:12 2010 -0700

    Fix unterminated B<> sequence in bos addhost man page
    
    Change-Id: Ied06fbf8c0a9cc064b257daf6272cd5a5bd2e816
    Reviewed-on: http://gerrit.openafs.org/2439
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b4411d37b43b0a934028af39fe8594bbd82e1733
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jul 15 16:29:27 2010 -0700

    Flesh out the configuration documentation
    
    Remove obsolete configure options and document all remaining options
    other than some provided by Autoconf and some that are currently not
    very interesting.
    
    Document that, on modern Linux systems, configure can find the kernel
    build system and headers by itself and doesn't need the flag.
    
    Include some more information in README about changing the default
    installation paths, and mention that the da* versions of the file server
    and volserver also aren't stripped.
    
    Remove the generic GNU installation instructions, which aren't useful
    for OpenAFS.
    
    Change-Id: I56d0003ff0173749e9a5e04f1d0ed4d004787dfd
    Reviewed-on: http://gerrit.openafs.org/2438
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ce0ba0e33581cb5f89902d342f56ceef09f1b78a
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 17:32:35 2010 -0700

    Add new demand-attach binaries to .gitignore
    
    Change-Id: I822153d890e736c2422f6bc0c0b29bb7c4240f9b
    Reviewed-on: http://gerrit.openafs.org/2434
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 674ec768828994b90dc14bf8487e04de5bdf7295
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 17:30:11 2010 -0700

    Fix .version generation for make libafs_tree
    
    The first argument to the git-version script should be the root
    directory of the tree, not the .version file in that directory.
    
    Change-Id: I145d360dc79132fc1474e94893c999b35774d874
    Reviewed-on: http://gerrit.openafs.org/2433
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01afbb03cc1b853d0909101e5145d0333669c344
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 17:29:34 2010 -0700

    Move build support files into build-tools
    
    Now that we have a build-tools directory, move the various support
    files used by Autoconf and Automake into it as well to reduce clutter
    at the top level.
    
    Change-Id: Ieae317524d5354e3a6168507c569378f7913b05f
    Reviewed-on: http://gerrit.openafs.org/2432
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aeba16157ef8127aa0f0866d699972ef7efe7a0c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 14 22:43:01 2010 -0400

    afspag version of rx_knet.o
    
    in order to correctly generate KBUILD_MODNAME, each object
    file needs to be built only once. in this case it matters because the
    pr_debug macro, called as a result of including errqueue.h, needs it
    and things which depend on it, and when it's built into 2 .kos,
    the wrong thing happens.
    
    Change-Id: I85be7a3322fd179ef75fe14a90c9e7592e542ed1
    Reviewed-on: http://gerrit.openafs.org/2435
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ed71f147c709c96c1edd77a06b019a40896967be
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 12:46:04 2010 -0700

    Debian: Install the demand-attach versions of the binaries
    
    This will need more comprehensive packaging work later, but in the
    meantime, install the binaries so that make dpkg will complete
    successfully.
    
    Change-Id: Ic82feb92c05a3638365593c4e321ef5e45916ee2
    Reviewed-on: http://gerrit.openafs.org/2429
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 624e827f8fe31dfd22230a2689496328224d6bf1
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 12:33:40 2010 -0700

    Use the full version number for Debian packages
    
    Debian packaging can deal with the full version number that we
    generate using git-version, so base the version we put into
    src/packaging/Debian/changelog on that version instead of the
    LINUX_PKGVER that we use for other packaging.
    
    Change-Id: Ibf50854748b2b588c2f971d6bdadd4f66f648c5b
    Reviewed-on: http://gerrit.openafs.org/2428
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 03080af8cee0e2d74c3dadf7a07e3b42f658e263
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 12:27:30 2010 -0700

    make dpkg should only build binary packages
    
    The source package we would get by running dpkg-buildpackage in the
    source tree without further preparation is basically useless, since
    it's a native source package for a non-native package and will contain
    any random dirty cruft in the current source tree.  Since the purpose
    of make dpkg is to provide quick Debian packages for testing purposes,
    only build the *.deb files and don't bother to build the source
    package.
    
    Change-Id: Ia2643c7e8936b15e3447df589ed0236438b8341e
    Reviewed-on: http://gerrit.openafs.org/2427
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4323e2ea3307baa6f4c21ae359713cabae0216b4
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 12:25:55 2010 -0700

    Update Debian packaging to 1.5.75-2
    
    Fixes the duplicate run of make install during the package build
    process and updates the changelog to the current Debian packages.
    
    Change-Id: I20fa4cc24e17c3944de2b08e265e277ff5d5564f
    Reviewed-on: http://gerrit.openafs.org/2426
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a658736af649bd52a7710cbb428a804588b2fda5
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 7 14:25:46 2010 -0400

    man: document bos addhost -clone
    
    Add the missing -clone option to the bos addhost
    man page.
    
    Change-Id: I0ead9acfd25d573b907f2617845c25c8c11df53c
    Reviewed-on: http://gerrit.openafs.org/2349
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit a1351d48410383090befd63b34407caf55b8f654
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 10:02:08 2010 -0700

    Fix ktime test on 64-bit systems
    
    0xffffffff is a bad representation for -1 when the size of the data
    type may vary.  Rather than forcing everything to 32 bits and losing
    later on platforms with 64-bit time_t, change the table to use time_t
    and try to add a cast that will do the right thing.
    
    Change-Id: Id532c9b7a1fc215dc9fd532592fecb2ea45597a0
    Reviewed-on: http://gerrit.openafs.org/2420
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1d8bb99db9ae66554760a5927268631916be5adf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 8 15:59:58 2010 -0500

    RX: ignore all local 127/8 IFF_LOOPBACK interfaces
    
    Currently RX lists all non-127.0.0.1 interfaces in the interface list,
    even those that are specified as IFF_LOOPBACK, to accomodate certain
    special cases where IFF_LOOPBACK interfaces should be advertised.
    However, this makes us advertise e.g. a 127.0.0.2 lo interface. So
    instead, skip all interfaces that are both in 127/8 and claim they are
    IFF_LOOPBACK, as this will skip a stray 127.0.0.2, but should not
    confuse the special cases.
    
    Change-Id: I60a4ed5330252078e2f58894195f9b68ec70dcfa
    Reviewed-on: http://gerrit.openafs.org/2376
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4b7d224d17e5d11b4ea50a8dece763aaedf21d17
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 8 10:56:28 2010 -0500

    Treat all 127.0/16 addresses as loopback
    
    Many places treat loopback addresses specially; they are skipped over
    when traversing local interface lists, and they are sometimes replaced
    with the public IP of the local hostname when interpreting user
    arguments.
    
    However, we only treated 127.0.0.1 as 'loopback'. Many systems can
    have more than one loopback interface, such as having an interface
    with the address 127.0.0.2. So, to catch these, treat everything in
    127.0/16 as a loopback address or otherwise 'invalid' address. We
    still do not treat the rest of 127/8 like this, to still allow some
    127.* addresses to not be treated as loopback if someone really wants
    to.
    
    Change-Id: I64724cc1ee366e5ef80a8d6e3008e30a7077a4b2
    Reviewed-on: http://gerrit.openafs.org/2367
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ca352e0f922e28f3d66a1d2e7d165e4dc846e5b8
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 14 09:28:47 2010 -0700

    Rewrite FUSE macro to skip FUSE if not found unless --enabled
    
    If no configure flags are given, build the FUSE afsd iff FUSE is
    found.  If --enable-fuse-client is explicitly given, always try to
    build the FUSE client and abort if FUSE libraries could not be found.
    
    Change-Id: Icc0d5bbb03239470ad856d87bca600304f030591
    Reviewed-on: http://gerrit.openafs.org/2419
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 260ae1b845a82501f957f3fb40f63b0e0f6d5e93
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 14 09:52:03 2010 -0400

    Linux: use an int pointer for the size argument to getsockopt
    
    getsockopt expects an int pointer as the size parameter, both in
    the kernel version and our replacement compat inline function, which
    causes warnings because we give it a size_t pointer.
    
    Use an int variable instead.
    
    Change-Id: Ide77ac01610c2f32f87d833c0d130c79007a1a33
    Reviewed-on: http://gerrit.openafs.org/2417
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a8b64dba013d5aa899d5ce29370bf1a52fb3fca9
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jul 14 01:20:22 2010 -0400

    Don't overflow a buffer on the server's stack at startup
    
    The servers like to log the command line it was invoked with.
    It does this by concatenating its arguments, separated by spaces,
    into a 150-character buffer on the stack of main(). That's just
    wrong. Use a dynamically-allocated buffer instead.
    
    Change-Id: Ibe398e5f449eec176f11f301090a1b68ef13e94b
    Reviewed-on: http://gerrit.openafs.org/2275
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8802b78040b37bad652b448dbc40af7745c16400
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 14 09:29:49 2010 -0400

    rx_user.c: Remove unused variable
    
    There's an unused variable in the pmtu code in rx_user.c.
    Remove the "offender".
    
    Change-Id: I869b317d7e31b0f70b71f3e9ea2a0e0209709fcb
    Reviewed-on: http://gerrit.openafs.org/2415
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e503fc8b4ab1a37c447f78adcde92b6d84dd8658
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 14 02:00:32 2010 -0400

    linux rx pmtu fixes
    
    failed to get committed in earlier round of pmtu revamping. oops.
    
    Change-Id: Ie4b0e2e3c343b62abf9871fd41018d25b09d30d4
    Reviewed-on: http://gerrit.openafs.org/2414
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37994e573f14fb4cb1a1bbe74543fa297a4b2226
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 14 00:44:11 2010 -0400

    simple fuse enable change
    
    just turn on fuse by default. don't move anything
    
    Change-Id: I533aeda117159ed4bf37c550906b580125f7f729
    Reviewed-on: http://gerrit.openafs.org/2413
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eae0fe48b9eb32412d5b5872a9a57aa0205057fb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 17:02:54 2010 -0500

    Add -unsafe-nosalvage fileserver option
    
    Provide a runtime flag to the DAFS fileserver to allow for
    fast-restart-like behavior for DAFS. Call the flag -unsafe-nosalvage, and
    document it, warning against its use.
    
    Change-Id: I342c58745b7e2e1d1a2066b4fb08941b02c660f9
    Reviewed-on: http://gerrit.openafs.org/2277
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c3fc948e34ad6c44df88e77e5a00e7d3119f627e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Jul 13 21:53:22 2010 +0100

    Check for crypt in external library
    
    Check to see if we need to explicitly include a library in order
    to get the crypt() function
    
    Change-Id: I9bd1d70e420d4d1656bd86cd3215525102fa6259
    Reviewed-on: http://gerrit.openafs.org/2404
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c6f7bb80ee01f477743a3496507e082fb5760884
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 13 15:39:29 2010 -0700

    Update Debian packaging to 1.5.75-1
    
    This update now builds shared library packages for the libafsauthent
    and libafsrpc shared libraries.  It should also fix problems with
    make dpkg due to debian/changelog being deleted on make distclean.
    
    Change-Id: I14ce0633edc1f0cc9e081eb7383b2f1e7bfc729f
    Reviewed-on: http://gerrit.openafs.org/2405
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 95f51b8670b08526c6a3395ffc0ec169932f2cc7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 15:14:00 2010 -0400

    enable pmtu in configure by default
    
    if we can get a socket error to let us get pmtu discovery info,
    use it.
    
    Change-Id: I7756c1a00e6cb018146a5b0545bed828446e5483
    Reviewed-on: http://gerrit.openafs.org/2400
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3610ba191fd058b485db62ed5a3eb64f882a850f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 16:47:39 2010 -0400

    demand attach build always
    
    always build demand attach. includes doubtless-broken
    windows support. installs dafileserver, dasalvager, davolserver.
    salvageserver keeps its (unique) name.
    
    Change-Id: Ia272dd2b0f72789b9e0f2a7712f9c206bb922095
    Reviewed-on: http://gerrit.openafs.org/2403
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aa97bf5dd4c07be452e2473ffe0adbe680f73bd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 23:51:52 2010 -0400

    afs sunpro not always c99
    
    old enough sunpro c won't be c99, and doesn't define
    a macro when it is c99. since there's no way to tell, be safe.
    
    Change-Id: Ib60ead7b702fe3ab203de83456d0f126afecc1ec
    Reviewed-on: http://gerrit.openafs.org/2411
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f5b6ce170757066ee5387d936efd51c11e18b2cf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 23:36:30 2010 -0400

    xdr sunpro not always c99
    
    old enough sunpro c won't be c99, and doesn't define
    a macro when it is c99. since there's no way to tell, be safe.
    
    Change-Id: I1709827872b03c5365d9bb26b0ce9d86f038d882
    Reviewed-on: http://gerrit.openafs.org/2410
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad1b79547be5a2ae37619e8b583838e6744ff664
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 13 15:57:25 2010 -0700

    make dpkg should not depend on dest
    
    It's pointless to have make dpkg build the tree before running the
    Debian build rules, since the Debian build rules are just going to
    build the tree again.
    
    Change-Id: I2481b20a5ca23f8cb067ba609d4d3acd58738cc4
    Reviewed-on: http://gerrit.openafs.org/2406
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b666166b6d81b5a8079030e66d527bd708afeede
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 14:31:41 2010 -0400

    simple is-lex-flex autoconf test
    
    if we're flex, we may need to be lex-compatible. engage
    it if we're flex
    
    Change-Id: If9a39ca0bce3f4a68b742d1e8f0c679d3f79896e
    Change-Id: I7f245d579bcc46fdd0aa7202bbd45f3f9f647ebc
    Reviewed-on: http://gerrit.openafs.org/2399
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a0113e0f1272b8f2c57fa339dcaef0bd4770143f
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 13 13:42:01 2010 -0700

    Link libafsauthent with -lresolv if required
    
    libafsauthent includes auth/cellconfig.c, which uses res_search, so it
    requires -lresolv even if it isn't needed for gethostbyname.  Add
    LIB_AFSDB to the link line for libafsauthent.
    
    Change-Id: Id83ceb8b261b8c7fb176e24cc138276282608513
    Reviewed-on: http://gerrit.openafs.org/2408
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 57d727da233252477c16a34cf628f6764534b8bc
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 13 13:42:01 2010 -0700

    Link libafsauthent with -lresolv if required
    
    libafsauthent includes auth/cellconfig.c, which uses res_search, so it
    requires -lresolv even if it isn't needed for gethostbyname.  Add
    LIB_AFSDB to the link line for libafsauthent.
    
    Change-Id: I4dafdf83db9a00e4e30bff7c59357c13bf7af961
    Reviewed-on: http://gerrit.openafs.org/2402
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d815833f9db0f91511390251932cfe0a83189a23
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 15:47:41 2010 -0400

    disconnected fix prototype warning
    
    supporting disconnected in ukernel uncovered this
    warning from lack of a prototype
    
    Change-Id: I81d287a8e4466270906fe67f8a1f2f6406fec430
    Reviewed-on: http://gerrit.openafs.org/2401
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 52fe3b27489f113c0f7488c5b78fd95a18d44831
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 14:29:38 2010 -0400

    64bit macos new config.guess support
    
    new config.sub/config.guess call 64 bit macos something
    new. update our handling so we deal.
    
    Change-Id: Ieadd71b66e879ff58bf2c7f77173284c570e4252
    Reviewed-on: http://gerrit.openafs.org/2398
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d29643b0553011cbe60dd127fd31c1847fe02ddb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 13:06:02 2010 -0400

    unix disconnected mode always
    
    per 1.6 release plan, enable disconnected always. eject ifdefs
    (and a stray printf that was hidden in one)
    
    Change-Id: I6a68cb8506878c28502e1742a48858f2e84958f5
    Reviewed-on: http://gerrit.openafs.org/2397
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 27d415d2b82c7ddceb3f9ec779a65b4e2c5a8141
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 12:41:15 2010 -0400

    linux cache bypass by default
    
    can't eject the ifdef yet as this is not fully portable now.
    however, just enable it always.
    
    Change-Id: Ia7a49a10377f308740ebd42027ac9748b073016e
    Reviewed-on: http://gerrit.openafs.org/2396
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 191dbb439d4b54d485a50c2670daaaacab5b2369
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 14:42:12 2010 -0400

    DAFS: variable declarations in C must be a top of block
    
    Two instances of variable declarations not being present
    at the top of a code block in src/vol/volume.c when building
    with AFS_DEMAND_ATTACH_FS.  Fix them.
    
    Change-Id: Ic6b9c5a6bbbd8355a144fea38a6ca1dd2a2c747d
    Reviewed-on: http://gerrit.openafs.org/2388
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2cab6a75207d67e2fbbbf4418f46bf46277e3825
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 23:35:05 2010 -0400

    Windows: Generate a valid <revision> block using mkvers.c
    
    The <revision> tag requires not only a <revnumber> but a <date>.
    
    Change-Id: I3c5b7691d18381b1bf71bbd3d726bd284bf90919
    Reviewed-on: http://gerrit.openafs.org/2390
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2b85b8c31d96b0ac558acb1bf95fb7b21c66cb3c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 23:36:56 2010 -0400

    Windows: Permit docbook validation using xmllint
    
    Add a "check" rule to each of the docbook directories
    that uses xmllint.exe (from Cygwin) to validate the
    docbook source against the DTD.  Validation failures
    will halt the build.
    
    Change-Id: Ifcfcab11d5077381bfe7fa5e3767070a8d55cb21
    Reviewed-on: http://gerrit.openafs.org/2391
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d4440319c3f954432056044fb55b2630594a46b7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 23:40:01 2010 -0400

    Commit DTD validation errors in the Windows Release Notes
    
    Correct errors detected using xmllint
    
    Change-Id: I75c936084f116addbb7918856fe958b596e91b03
    Reviewed-on: http://gerrit.openafs.org/2393
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6c78ce796262d62ad1641f5b28ea1bdbe78222cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 23:40:52 2010 -0400

    Correct DTD validation errors in the UserGuide
    
    Correct errors detected using xmllint
    
    Change-Id: Idd9e91ef463679cb58bdb622fd600e4020224e81
    Reviewed-on: http://gerrit.openafs.org/2394
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fb285880dad219a9992bd9bc29fd5bbb0ee34c8c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jul 12 23:38:56 2010 -0400

    Correct DTD validation errors in the AdminGuide
    
    Correct DTD validation errors detected using xmllint.
    
    Change-Id: Ia255ac319a81966e63b702dd2b672ff3d6d8958a
    Reviewed-on: http://gerrit.openafs.org/2392
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 73716de680b336df1ca51fe60ce9526d9f43f2e7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 12 12:04:20 2010 +0100

    Linux: Use inode lock compat function
    
    We've now got a compatibilty function for locking and unlocking an
    inode. Use that in osi_file, rather than a local set of #ifdefs
    
    Change-Id: Ie64f0b758df0b90d0df2033d57729c8b09652c39
    Reviewed-on: http://gerrit.openafs.org/2389
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cdef1c67aeaedffadf41069f46e0144f5f1b3a29
Author: Ken Hornstein <kenh@pobox.com>
Date:   Tue May 4 14:04:59 2010 -0400

    fix dumptool on macos
    
    make dumptool in test suite compile on macos again
    
    Change-Id: Id60f625ce53bc9695673b68c733fa653521a8122
    Reviewed-on: http://gerrit.openafs.org/2387
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 78e4c7561b8092103da8c991b7d1c996b7eee194
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 12 15:04:44 2010 -0400

    rx getaddr loopback change fallout
    
    failed to git add, and so failed to push this back.
    
    Change-Id: Ic538ac13f3099cfb3b8a5561e332750421ddd093
    Reviewed-on: http://gerrit.openafs.org/2386
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c44f640df369c74aac3a26b7001c257f4ad4e536
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 11 17:26:36 2010 -0400

    xstat: fix large integer output
    
    Do not print large positive integers as negative.
    
    Change-Id: Ia7f96e64ee6ad0c58de0d03779b230623d60b114
    Reviewed-on: http://gerrit.openafs.org/1949
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5cc6293c2cfc7b0a8746942fd048127bb7cbf10f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 16:08:13 2010 -0500

    Provide man pages for more fssync-debug commands
    
    Provide man pages for the fssync-debug commands vgcadd, vgcdel,
    vgcquery, vgcscan, vgcscanall, vnode, and volop.
    
    Change-Id: If456a4cdfedbf5f2776c276bc20178319638c26a
    Reviewed-on: http://gerrit.openafs.org/2239
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6f75caf8e58521dc15ca793ec4767e5529516b43
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Apr 19 10:00:52 2010 -0400

    viced: host hash address collisions
    
    Attempt to resolve collisions when adding a host to the
    address hash table and another host with the same address:port
    is already present in the hash table. Retrieve the uuid for
    the host at that address and if the uuid matches the new host
    and not the old, remove the address from the old host and
    install the new host into the address hash.
    
    Change-Id: Id182f907f63be556c61ffb91777edd35f0aa950d
    Reviewed-on: http://gerrit.openafs.org/1786
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 421cdc04de9716f994f3bdba17ad4d69494868a5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 8 15:37:48 2010 -0500

    Consolidate loopback address tests
    
    Many different places were testing if an address is a loopback
    address. Consolidate these into one function to make it easier to
    alter.
    
    Change-Id: I9c4465f3bdc4e840c83d69456504caaac1c544e7
    Reviewed-on: http://gerrit.openafs.org/2375
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2e66c828b1224fb651ba66e7d7ec59da469f7993
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 8 16:40:07 2010 -0500

    GetInodeSummary: free inode info
    
    In the salvager, GetInodeSummary stores some information about the
    relevant inodes into a file. Free the memory for that information
    after it's been written out, since we don't reference that memory
    again.
    
    Change-Id: I9578f941d2ea13240dd22d9b6e7a1f32217263c9
    Reviewed-on: http://gerrit.openafs.org/2370
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 262a678d9b7b79f5261af2a8b36588f684e547ef
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jun 24 09:07:36 2010 -0400

    An RPC test dispatch library for vice
    
    A library framework for remote testing against file servers,
    with the ability to establish multiple call/callback channel
    pairs within a single test process and dispatch requests
    arbitrarily on each.  Thanks to Derrick for design and debugging
    help.  Additional callback processing intelligence will follow
    in a future changeset.  This version builds on Windows NT (but
    might need further adjustment).
    
    Change-Id: Ibea39e912b2a23ebf58e9e0931114572eccf6e78
    Reviewed-on: http://gerrit.openafs.org/2229
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1701535fae6a78b72a2b637365a0bf2d77803b5b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 10 20:30:31 2010 +0100

    Linux: Actually use freezer compatibility func
    
    We were calling try_to_sleep, rather than afs_try_to_sleep. Whilst
    try_to_sleep is present in all modern Linux kernels, on some older
    systems we need to fall back to our own implementation, which is
    what the afs_try_to_sleep function should do, but it can only do so
    if we call it.
    
    Change-Id: I900e50cf2754535e676d582bd3da82f1833bde52
    Reviewed-on: http://gerrit.openafs.org/2384
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2aa16fba58c6d14c1bb3dd5dc2187338d89a2149
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 10 20:17:56 2010 +0100

    Linux: Use freezer compatibility macros in RX
    
    Commit eef18466d920985c37ed8d22a6557b609c6225a6 introduced some
    compatibility macros for the refridgerator functionality. Use these
    in the Linux kernel RX code, rather than rolling our own.
    
    Change-Id: I4279e0b3ee92337cb992ff46895712630f681b7b
    Reviewed-on: http://gerrit.openafs.org/2383
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit af3292a06dbe2b4ecafb2cac5e76f23da697d93c
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 9 16:46:21 2010 -0700

    Update config.guess and config.sub to 2009-12-30 and 2010-01-22
    
    Update to the latest versions provided by the Debian autotools-dev
    package.
    
    Change-Id: I503ed6bd4316af40f9d36be6010708cb4fef42e1
    Reviewed-on: http://gerrit.openafs.org/2378
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4e02b143d2e632c8b515d83cc853d43e22a12617
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 9 16:42:26 2010 -0700

    Make config.sub executable
    
    Autoconf apparently doesn't care because it runs it explicitly under
    a shell, but it's sometimes useful to run it manually to check
    something.  Plus, executable shell scripts should be executable on
    general principles.
    
    Change-Id: I0663d91da643f7c0a77fe758ca63f1cc14e81180
    Reviewed-on: http://gerrit.openafs.org/2377
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 839ea46465d9bf63fb69b561b1ffff940fd1044f
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 9 18:09:32 2010 -0700

    Terminate the DARWIN80 #if in afs_osidnlc.c
    
    The #if defined(AFS_DARWIN80_ENV) in src/afs/afs_osidnlc.c was
    never terminated, leading to build failures.  Add an #endif.
    
    Change-Id: Ie2f324668becef8294b86cadec5cf5547731d2ad
    Reviewed-on: http://gerrit.openafs.org/2381
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9e2aba99124f777a209d30ea57cbe92e19130b1f
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 9 18:06:47 2010 -0700

    Fix ktime test for errors
    
    The variable passed into ktime_DateToLong must be initialized to 0
    or, on error, we get the previous value and the tests fail.
    
    Change-Id: I5528a830981a85fb6737bb8cb5931ab95faffb13
    Reviewed-on: http://gerrit.openafs.org/2379
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad470b2ed25cdf99f0388947913e392c2d8b67a9
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 9 18:08:12 2010 -0700

    Include linux/freezer.h in rx_kmutex.c
    
    rx_kmutex.c calls refrigerator(), which is prototyped in linux/freezer.h,
    but was not including it, causing build failures on Linux 2.6.32-5
    (Debian).
    
    Change-Id: I3867be6e7b8478d6fab8b97a4c923f979029517e
    Reviewed-on: http://gerrit.openafs.org/2380
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c62466ecabffbb8a8af7e18d1a0e8152685f859b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 7 15:43:26 2010 -0500

    Use afs_sfsize_t for *_SIZE results
    
    Callers of FDH_SIZE and OS_SIZE should be storing the results in an
    afs_sfsize_t. Some were using regular 'int's and other things, which
    can screw up if the file is sufficiently large.
    
    Change-Id: Ibbc2067ed3b90edcbdd46cfa43da559fd6419f0b
    Reviewed-on: http://gerrit.openafs.org/2357
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c658bfaf884973aa47c8ce3072b96e6b7d8439c6
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jul 9 00:38:16 2010 -0400

    Remove incorrect critical section use in dnlc_lookup
    
    Critical sections may not be used with (non-spin) locks.  As such,
    this code was wrong, and led to a panic.
    We don't see why there what synchronization they may have been
    providing, so just remove them and do not replace them.
    
    Change-Id: I5d81595a7059a91b9aad46ab0a634fa684f67325
    Reviewed-on: http://gerrit.openafs.org/2373
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3ad8760f243998a78770e88f5c738c08df535201
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jul 3 18:54:15 2010 -0400

    wiki url changed
    
    Update the various places we reference the project wiki.
    
    Change-Id: I56bcf038553eec02695667d737e0cd51e653b881
    Reviewed-on: http://gerrit.openafs.org/2374
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dbcd822a484a0193539be2a96e4db39a003cc9e6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Jul 8 14:45:22 2010 -0400

    build fix on older linux
    
    The commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2 added
    a duplicate inclusion of freezer.h. Older versions
    of linux (circa 2.6.20) are missing include guards
    on freezer.h.
    
    Change-Id: I12c47cded7d06a3514a520b554bbcbd3328f0d2b
    Reviewed-on: http://gerrit.openafs.org/2369
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0a9585f9305ae0ebdf958a30e4581e3c24e0de1
Author: Alexander Redinger <aredinger@sinenomine.net>
Date:   Fri Jul 2 15:43:42 2010 -0400

    SOURCE-MAP updates
    
    SOURCE-MAP now reflects state of current code tree,
    reformatted for readability and easier updating.
    
    Change-Id: I858156692c1e4c60ba4d5a75b684db2a079e2dba
    Reviewed-on: http://gerrit.openafs.org/2348
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5852a3f06a759cbb9e9d2a455c277ec2a44ba498
Author: sanket <sanket@sanketagarwal.com>
Date:   Thu Jul 1 23:05:24 2010 +0100

    vos: Don't call SubEnumerate twice
    
    Set a flag to say when we've called SubEnumerate, so that we don't
    end up calling it twice when in -format mode
    
    (Simon Wilkinson extracted this from a larger patch by sanket)
    
    FIXES 41031
    
    Change-Id: I2cadd536cb6c9f389330d64ffbf35a16d673d2de
    Reviewed-on: http://gerrit.openafs.org/2320
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 887de6605150ccd0f0cd56b80d826b04dc7d1339
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Thu Jul 8 09:23:28 2010 -0400

    Update the Red Hat spec file to include fssync-debug man pages
    
    Include the new man pages in the base 'openafs' package.  The package
    build process fails with unpackaged files without this update.
    
    Change-Id: Ie7a80a283bb95b492b56be0133c1bd811953c57e
    Reviewed-on: http://gerrit.openafs.org/2364
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c72cd42364206f4fe237d26e582cef86351f75a8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 2 14:28:29 2010 -0500

    Fix VPrintDiskStats_r logging
    
    VPrintDiskStats_r tried to log some information using separate Log()
    statements on the same line. This looks very odd when logged, since we
    add a timestamp to every Log() call these days. Fix it to print the
    line as one call to Log().
    
    Change-Id: I19a5365c24208229201ba54ff04e793b5e50eee5
    Reviewed-on: http://gerrit.openafs.org/2359
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9408bcaa62ae77b2f5a20b962fec2dbec460c1fe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 14:55:18 2010 -0500

    viced: Remove stray \r
    
    The "File Server has started at" log message contains a trailing '\r'
    for some reason. Remove it (ctime will give us a trailing '\n').
    
    Change-Id: I8f280abff9a7548f376f007021d74d3a21ac45cf
    Reviewed-on: http://gerrit.openafs.org/2358
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c790e7d0ca9f76749f761792234da91078eb573d
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 7 14:04:37 2010 -0700

    Remove a few erroneous NEWS entries for 1.5.75
    
    FUSE was already in 1.5.74, and DAFS fast-restart was not in
    1.5.75.
    
    Change-Id: I2e1b765c61ce4670800787dbcfd13c2c2af63f79
    Reviewed-on: http://gerrit.openafs.org/2356
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4e87cb5c9260c7ddfa2ab22d9596c814817fc69c
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jul 7 22:10:44 2010 -0400

    Fix build
    
    Previous commit to this file was not as tested as we thought.
    This one actually builds (well, except for the part where flex
    doesn't like et_lex.lex.l at the moment).
    
    Change-Id: I11d918adc50bb387c022d90cb0877a6a667e8252
    Reviewed-on: http://gerrit.openafs.org/2362
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2c7a19b092c8b71fa142a6612a9a7a530c7c3d37
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jul 7 20:47:55 2010 -0400

    FBSD: sync with NFS for *pages vnops
    
    We've had per-cpu counter variables for a while, use the proper
    macros to adjust them.
    FBSD90 has had the page queue locks pushed down a level, so we
    don't need to lock them and should lock individual pages instead.
    This fixes mmap() on FreeBSD HEAD.
    
    Change-Id: I95d16097aaa65c1c99b4a686c05ac84fe9c11584
    Reviewed-on: http://gerrit.openafs.org/2360
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bbce05150cae04b7cb2ab943308cdbf0d8dfdffa
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 7 12:50:37 2010 -0700

    Add NEWS entries for 1.5.75
    
    Change-Id: I3510b03b6821ce266ebcf217b4bf7d6065a8aaa5
    Reviewed-on: http://gerrit.openafs.org/2355
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a064446cf6987744ef614cbf37f43231bc207c7e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 7 12:52:10 2010 -0500

    klog: refactor klog_prompter
    
    The ifdefs in klog_prompter were getting a bit confusing. Split out
    some logic into a separate "is this prompt a password prompt"
    function. As a result, we can build without KRB5_PROMPT_TYPE_PASSWORD
    defined, which happens to be the case on hp_ux11i.
    
    Change-Id: I1d5f794bfc33017f699478e367cde91a3e77d33c
    Reviewed-on: http://gerrit.openafs.org/2353
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad2bc4a35d003a0a9fd0d116199f9ad5998ad112
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 7 11:40:20 2010 -0500

    Fix shlibafsrpc des.c hp-ux special case
    
    '$$@ -I../des', not '-I../des $$@'.
    
    Change-Id: I322963b8f6ab31cfa76a91095be665ca59a3c9c3
    Reviewed-on: http://gerrit.openafs.org/2352
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8492619f23024eeb1ad42294f055218ddc57aa0d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 7 10:23:27 2010 -0500

    HPUX: correct PostPopulateVCache vfsp set
    
    Setting AFSTOV(avc)->v_mount is the linux/BSD way. avc->v.v_vfsp is
    the HP-UX (et al) way.
    
    Change-Id: If2cd1c1e74fcd0ca5ad981497abe7968d97cf0ed
    Reviewed-on: http://gerrit.openafs.org/2351
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0a8b1864d604353a980d1370d97546e12973b462
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 7 09:51:45 2010 -0500

    HPUX: include proc_iface.h for proc_t
    
    We use proc_t in a typedef, and we need proc_iface to get proc_t. So,
    include it.
    
    Change-Id: I515abe43ae1d3b4a2c54ebe1b7192a91ed441117
    Reviewed-on: http://gerrit.openafs.org/2350
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d154ea157b9c32b5cb421f12796ede733e091f4d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 14:02:56 2010 -0500

    UINT_MAX requires limits.h
    
    We need to include limits.h to use UINT_MAX on some platforms, so
    include it in src/rxkad/v5der.c.
    
    Change-Id: I79343011e72080e58f07d53195488808d9e29121
    Reviewed-on: http://gerrit.openafs.org/2339
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 16efa8e8c368df67efd91314fc81e38682d367eb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 7 10:43:48 2010 -0400

    kernel InitPeerParams has bogus branching and dup code
    
    several of the mtu configuration cases for the kernel version
    of InitPeerParams were bogus. clean up the function.
    (a forthcoming change reworks this anyway, but..)
    
    Change-Id: Ia4449d5cecc80cddae7d0f611186f48614b908ee
    Reviewed-on: http://gerrit.openafs.org/2343
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 84c52e1db63999988d8405d223cb28f2063004c3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 14:41:13 2010 -0500

    HPUX: make osi_procname a stub
    
    It is not immediately clear how to obtain the current process name on
    HPUX, and the current osi_procname definition breaks the build, so
    just make osi_procname a stub for HPUX.
    
    Change-Id: I8c825d53d7f25b1500b41629ba73f2fe1f48f00a
    Reviewed-on: http://gerrit.openafs.org/2341
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a022e9e5954f76900f1ca0fdb92c2f12b0036fb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 6 14:10:35 2010 -0500

    Fix stray static inline
    
    'static inline' should be 'static_inline'; keep the hp-ux compiler
    happy.
    
    Change-Id: Ibfb819571c608b9ca7c1437fde6898b405bccc4c
    Reviewed-on: http://gerrit.openafs.org/2340
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 262715d1d3fb672914fbe011663504a69fcf6046
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 6 11:11:25 2010 -0400

    fix newline conventions
    
    we had some CRLF files hanging out. fix them.
    
    Change-Id: Ie2aa707813967192f202aabc3b28808ae8f80da6
    Reviewed-on: http://gerrit.openafs.org/2335
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit af5c302f0da739a70777980fd4ab7f9490ae51c3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 6 09:36:27 2010 -0400

    rxkad heimdal cleanup
    
    don't assume every system have uint16_t and uint32_t;
    instead massage for use of native afs types.
    
    Change-Id: I8943f37ecf6dd5d1565ed295b6e6a2ca9eea5b6d
    Reviewed-on: http://gerrit.openafs.org/2334
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4ca1b0102542aec73ed5d06583f302eead94ba22
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jul 6 00:30:06 2010 -0400

    Windows: update release notes for 1.5.75
    
    Add:
    
     * better description of Win7 netbios name lookup bug
    
     * "fs newcell" changes
    
     * IdleDeadTimeout registry value
    
     * NatPingInterval registry value
    
     * ReadOnlyVolumeVersioning registry value
    
    Change-Id: Ibf5ff8145be94ab8a7a48a1a9bd87c7d60e8549b
    Reviewed-on: http://gerrit.openafs.org/2333
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e6a8d4ab2c8bc37c958a12f74d8b2c6074aff025
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jul 2 13:55:05 2010 -0400

    Windows: ChangeLog for 1.5.75
    
    Change-Id: Iff322bf65d9d8b5af58d6f4b53630256504999cb
    Reviewed-on: http://gerrit.openafs.org/2332
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b2a404ffd94de936a073dc5836230bffc52b0729
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 2 17:53:50 2010 -0400

    make openafs 1.5.75
    
    version number updates for 1.5.75
    
    Change-Id: I05cf66281e497c3eff473a350abe480e6fcfd928
    Reviewed-on: http://gerrit.openafs.org/2328
    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>

commit 4c0d47de22e1cb0258151e266f15d4a5bf239f33
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Jul 4 02:28:02 2010 -0400

    FBSD: always close the rx socket when shutting down
    
    The soclose(rx_socket) call is needed in order to restart AFS.
    (Otherwise sobind() fails with EADDRINUSE.)
    While here, use the defined constant SHUT_RDWR instead of
    hardcoding '2' for soshutdown's second argument.
    
    Change-Id: Iba7cac3aec79764783628da28b12253d496a7680
    Reviewed-on: http://gerrit.openafs.org/2331
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf8746dc43567a0a8f1d4075402eb9d2f741ec04
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Jul 3 22:58:39 2010 -0400

    Do not recurse on the glock in rxk_NewSocketHost
    
    If sobind() failed, we would lock the glock before going to bad,
    which proceeded to lock the glock, panic()ing on the recursion attempt.
    Remove the unneeded first call.
    
    Change-Id: Ifa793735ebe64bde98156caa610c06612bdb92bd
    Reviewed-on: http://gerrit.openafs.org/2330
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b54c7ceefe884b57db76c929940afdfee86472e8
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Wed Jun 30 15:09:39 2010 -0400

    Removed kpasswd from openafs-file-list
    
    The executable %{_bindir}/kpasswd was included in the
    the 'openafs' base package.
    
    This change removes the kpasswd executable from the base package.  It
    is still built and is installed in the 'openafs-kpasswd' package.  I
    believe this was the original intent of the 'openafs-kpasswd' package.
    
    Change-Id: Idf49747d8a703bb959cdf758d489d640045f285f
    Reviewed-on: http://gerrit.openafs.org/2305
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d8cde43ed0fcdb1168deae2179e638667bab37ad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 2 17:42:13 2010 -0400

    update VAllocVnode logging
    
    move the log message i added to the correct place and put one where
    it came from. oops
    
    Change-Id: Ieb78d8cc076dbc2279922b0909546878b9ee005e
    Reviewed-on: http://gerrit.openafs.org/2327
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c8ce42242873e3b21443ad7a5d1e1bb5e7b28e60
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 29 13:19:11 2010 -0500

    DAFS: Salvage VG on volume creation error
    
    When trying to create a volume (either an entirely new volume or a
    clone), request a demand-salvage on that volume group if we hit an
    unexpected error. This can allow some situations to automatically
    rectify themselves if, for example, a volume is missing its .vol
    header, but still otherwise exists and causes an error during a clone.
    
    Change-Id: I22b3e9028685395a8e621962138dee9f5f2ec822
    Reviewed-on: http://gerrit.openafs.org/2286
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6b041b7cb0d29815495b2559f24f4ff4979eb129
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 29 14:44:31 2010 -0500

    DAFS: Allow FSSYNC salvages on unknown volumes
    
    Allow salvage requests over FSSYNC (FORCE_ERROR with the FSYNC_SALVAGE
    reason code) that are requested on volumes that we do not know to
    exist. This can be helpful if a salvage is requested on a volume that
    someone attempted to create but failed, indicating that a
    partially-created volume may be in the way.
    
    Log an additional message when we do this, as it should not be a
    normal occurrence.
    
    Change-Id: I6e1bbe35111a41c489fe85cad36e6a8a6f323a5a
    Reviewed-on: http://gerrit.openafs.org/2285
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff072a08b5c5204a27d3807ad592db84e87c697d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jul 2 09:13:50 2010 -0400

    Linux: cache bypass: fix FCSBypass tests
    
    Add some parentheses around the tests for FCSBypass.
    Without them, the test will not always give the intended result.
    
    Change-Id: I94cb2b2c95c702981fce9cff066b620bce652ee1
    Reviewed-on: http://gerrit.openafs.org/2324
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b23d86e430d9a077d94c6bc768216eb75bfb1faf
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jul 2 09:10:06 2010 -0400

    Linux: cache bypass: warning fix in afs_bypasscache.c
    
    Cast the printf argument to int to match the format specifier.
    
    Change-Id: I4300c8a407c99c40e116a6e166a76112fb92d254
    Reviewed-on: http://gerrit.openafs.org/2323
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c66ba55bd882de677e425a9b9f7f29215a05b647
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Fri Jun 18 14:27:07 2010 -0400

    cache-bypass  explicitly reference pages involved in background i/o
    
    Formerly, we assumed that any page eligible for background i/o could
    be effectively pinned by lock_page.  Persuant to concern expressed by
    Simon that such pages might be eligible to be released by the kernel
    after readpages returns, call get_page to increment the refcount on
    each page before dispatching a background read (and matching put_page
    when the i/o is completed).
    
    Change-Id: Ib3a63e56e6b902b4eb5deb769847e7f17ce2c9ff
    Reviewed-on: http://gerrit.openafs.org/2215
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 63304d6b2b895404e3a1a194232f3a48e448e75d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 29 12:30:10 2010 -0500

    DAFS: Log attempted salvage requests
    
    Log in FileLog (or VolserLog, or the log of any program that requests
    salvages) when we request a demand-salvage to occur.
    
    Change-Id: I2444480287a1647c2d3e25039467167e28e17f38
    Reviewed-on: http://gerrit.openafs.org/2284
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit febd69f74b96638a696292624f797a0ef46622da
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 1 20:18:33 2010 +0100

    Build: Let configure pick our lex and yacc
    
    Let the autoconf magic pick our lex and yacc implementations,
    rather than hardcoding possibly wrong values in osconf.m4
    
    FIXES 1394
    
    Change-Id: I692eb8568780c78cfe6ba2e5b0fddca6fe6c142c
    Reviewed-on: http://gerrit.openafs.org/2316
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 417d2c8f9585c5e3ce17512a1ae8ca596a676c03
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 29 21:45:36 2010 +0100

    Build: Rework git version detection
    
    Rework the git version detection script to handle some issues that
    have been pointed out.
    
    1/ Make it work properly with objdir builds
    2/ Don't try to work out if the tree is dirty if git describe failed
    3/ Use the configured VERSION as a fallback if we can't obtain proper
       version information during a make
    
    Change-Id: I39494e1c18cf4eacbb55386334da7128fbe96310
    Reviewed-on: http://gerrit.openafs.org/2283
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a155d71914791702762d8abd947cf609e1b4bea0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 16:22:28 2010 -0500

    vol: Move destroyMe check outside of inUse check
    
    The destroyMe conditional does not depend on the result of
    VShouldCheckInUse(), so move it outside of that block.
    
    Change-Id: Ieb4c97ae9f76b4369680629f18eecd1dfc06682f
    Reviewed-on: http://gerrit.openafs.org/2276
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d730f7ceb586ac12d5f04dc5ab294f5d4f449334
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 29 20:49:41 2010 -0400

    VAllocVnode error handling
    
    avoid growing a volume index too large. handle errors other than just by
    dropping a core
    
    Change-Id: Id1bf7a1a40672b6b960cc0d7a1cd54f48ab0b50a
    Reviewed-on: http://gerrit.openafs.org/2291
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a309e274632993c5aeec04c6e090f5ac95837a40
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Jun 23 13:08:47 2010 +0200

    Do not call afs_FlushVCBs with afs_xvcache held
    
    In afs_AllocCBR, use dynamically created afs_cbr structures
    when running out of preformatted ones, rather than calling
    afs_FlushVCBs under, potentially, the afs_xvcache lock
    (which would be held across the RPC, difficult to drop and
    re-acquire under the current hierarchy).
    
    Modest modernization of the number preformatted afs_cbr structures,
    rule-of-thumb, not pretending any research.
    
    Change-Id: I9427427d5dab7d4639822c370bdded0418f67d9e
    Reviewed-on: http://gerrit.openafs.org/2243
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bdf6192509ca79baacda8ddf79112647bd3c0791
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 14 16:03:32 2010 -0400

    bosserver force corefiles
    
    override system resource limits so we get corefiles
    
    Change-Id: I50f228d709090c8275bed2fc2958653c43a0a026
    Change-Id: I5b5e8c6a5e02ed0b28610949eb81f6345357969e
    Reviewed-on: http://gerrit.openafs.org/1959
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4516e3777413f795ab09440bf300681750ed92fa
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jul 2 09:28:05 2010 -0400

    Linux: cache bypass: remove warning print before panic
    
    This warning printf has some issues - it prints out pointers as
    ints with %d (which causes warnings), and if the intention was
    to print the referenced values, they wouldn't be set yet at that
    point in the function.
    
    Since the purpose is not clear and it has issues, just remove it.
    
    Change-Id: Ied69c390818f9dff235bdaa31af42996aaa39af3
    Reviewed-on: http://gerrit.openafs.org/2325
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 95a814a26fae63e75fac99e2c8d586bd4725f204
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jul 2 08:55:44 2010 -0400

    Linux: cache bypass: warning fixes in afs_pioctl.c
    
    Fix two minor warnings in afs_pioctl.c:
    
    - gcc complains that threshold may get used uninitialized.  the
    warning looks bogus, but initialize it to keep gcc happy.
    
    - PSetCachingBlkSize is declared but never defined.
    
    Change-Id: I3ac84d665f60ba51fef2d52f2bd8d90e0a7bc3b3
    Reviewed-on: http://gerrit.openafs.org/2322
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bd6b25049331c07ccdeb806d82f73d71221b78f1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 1 16:07:40 2010 -0400

    Linux: cache bypass: deal with the afs_serverHasNo64Bit case
    
    Deal correctly with the case of a server with no 64-bit fetch
    support.  In that case, the code needs to fallback to the standard
    FetchData call, similar to what happens in afs_fetchstore.c.
    Move existing check out of 64-bit-only branch so servers
    already known to be non-64-bit and not merely those newly
    discovered so execute the non-64-bit FetchData.
    
    Change-Id: I505ce6d88072bc3ee5208863717395a78f8562fa
    Reviewed-on: http://gerrit.openafs.org/2319
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b0ed5a7facb1951f2f4ef8ed3da29a6a80cb7d49
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Jun 23 15:10:46 2010 +0200

    Protect truncate_inode_pages when called from osi_VM_FlushPages
    
    truncate_inode_pages requires the mapping to be protected using
    i_mutex / i_sem, which is not held whereever osi_FlushPages is called.
    
    Change-Id: I2ca59cf75633368efb7f6a17fd01c7c517a8f609
    Reviewed-on: http://gerrit.openafs.org/2244
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 202ca802c30bfa6779fae0bd686da0ca96fc224d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 1 15:22:47 2010 -0400

    Linux: cache bypass: avoid unused variable warnings
    
    Some variables are only used for AFS_64BIT_CLIENT code, so make
    their declaration conditional as well.
    
    Also, initialize 'code' while we're at it.  The compiler has a
    legitimate complaint that it could be used before it's set,
    for instance if we have AFS_64BIT_CLIENT but afs_serverHasNo64Bit
    is true.
    
    Change-Id: Ic04b07fffa9668123a9029bb42415a7c701c2339
    Reviewed-on: http://gerrit.openafs.org/2317
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f004a5c7ecd35e5b26cafd62c322e3184e811e64
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 1 15:38:32 2010 -0400

    Linux: cache bypass: warning cleanup in afs_daemons.c
    
    Remove unnecessary warning for the UKERNEL case.  This file will
    always get compiled with UKERNEL.
    
    Remove an "if 1" ifdef that was probably used while debugging to
    make the function non static.
    
    Change-Id: I5ba5bbb4bd2b782c605699028cf3ad2c7e8cd41f
    Reviewed-on: http://gerrit.openafs.org/2318
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 232024676d396ab771d6d228158d606240114bb0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jun 30 08:29:28 2010 +0100

    Linux: Fix pagevec use in cache-bypass
    
    Cache-bypass was still using the old style pagevec manipulation
    functions, and so won't build on newer kernels. Update it to use the
    same pagevec functions as the generic readpages code.
    
    FIXES 127505
    
    Change-Id: I9d8acaf3165bbdf24068bd9145a2369cd0c87e4d
    Reviewed-on: http://gerrit.openafs.org/2298
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 368c44b537d6940482ceefe2ef8e1fd7fd099783
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 1 11:57:59 2010 -0500

    Document fs -human
    
    Document the new -human switch for 'fs diskfree' and 'fs listquota'.
    
    Change-Id: Ic4b4f9d7492c887085ab6da4c802cfc75fd4d08e
    Reviewed-on: http://gerrit.openafs.org/2314
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5fe4161270f774c8f7938c432ac84a5edcaf4c33
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Jul 1 12:47:55 2010 -0400

    FBSD: do not recurse on the afs_xvcache write lock
    
    afs_ShakeLooseVcaches grabs the write lock before calling
    osi_TryEvictVCache.  The latter calls vgone(l), which sometimes
    calls into VOP_CLOSE, which again trys to acquire the write lock,
    leading to deadlock.  Drop the write lock and reaquire it in
    TryEvictVCache as a fix.
    
    While here, set *slept to 1 since we drop the glock.
    
    This churn was enough that the gcc no longer cached the value of
    AFSTOV(avc), which gets set to 0 in VOP_RECLAIM, so the subsequent
    VOP_UNLOCK dereferenced a null pointer.  Cache the vnode pointer
    in a local variable for the entire function instead of using
    AFSTOV() everywhere.
    
    Change-Id: Ic826e7888cb400c19857c58cb6ed88b9bdd0dddc
    Reviewed-on: http://gerrit.openafs.org/2315
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b126561c8decdd306b37063c16d06364fc9f928b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 1 11:52:21 2010 -0500

    fs diskfree displays 'total' not 'kbytes'
    
    Correct the fs manpage to show that 'fs diskfree' shows a header
    called 'total' to represent the total disk space, not 'kbytes'.
    
    Change-Id: Id827ec81dcfd79ab28eed3bc392524a378f0069d
    Reviewed-on: http://gerrit.openafs.org/2313
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c29f03efab46fac2f89f69cad66b114f42398ba6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 1 11:22:13 2010 -0500

    fs: Correct human-readable output alignment
    
    'fs lq' output separates its space values by whitespace, but 'fs df'
    does not, which was causing the human-readable output for 'fs' to not
    be properly aligned with the output headers. Modify HumanPrintSpace to
    take up exactly 10 characters (9 for the value, 1 for the exponent),
    and have the callers print out an extra space if appropriate.
    
    Change-Id: Ied81e73e1e84df34e63fdf0c80ad86341bea0cd4
    Reviewed-on: http://gerrit.openafs.org/2311
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1c92f7cc8da20b3e7f0e7564e69b06a3f4930b7a
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Jul 1 02:07:54 2010 -0400

    nuke configure options from AIX param files
    
    Remove antisocial behavior whereby the AIX param
    files silently turn on the FAST_RESTART and
    BITMAP_LATER config options.
    
    Change-Id: Ic7f77bd6c7aefe0f17b6d8796ce204cc8a5ad4c2
    Reviewed-on: http://gerrit.openafs.org/2309
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 582878a75858a341f674f833609f08b6d3bf839a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 30 15:35:38 2010 -0400

    update ticket5 from heimdal
    
    includes updated instructions for updating.
    note that gen_glue.c in lib/asn1 has a bug which omits
    a needed newline in the "const struct units * asn1_%s_units(void);",
    line.
    
    FIXES 127554
    
    Change-Id: Ibc880bf51419d51de40b33d8c43122e592971b0b
    Reviewed-on: http://gerrit.openafs.org/2306
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e61800b992b5d54edb3656925a884753f02fc686
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 13:48:00 2010 -0500

    Remove --enable-fast-restart configure option
    
    FIXES 127526
    
    Change-Id: I80a18fe083a0d52dad9d4e2d5b14bf667c44630b
    Reviewed-on: http://gerrit.openafs.org/2278
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3330b9d17b2767318eef6222aceabdee47bbc703
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Wed Jun 30 18:40:20 2010 -0400

    DAFS: fix VOL_HDR_IN_LRU state bit tracking
    
    For the case where the cached vp->header can be re-used by
    GetVolumeHeader(), we have not been re-setting the VOL_HDR_IN_LRU
    state bit.  Although this has not affected correctness (this
    bit is merely used to aid in debugging), we should be resetting
    it in all relevant cases...
    
    Change-Id: I2ad2b8c5070470beb067efdcda6f76f6b72c006c
    Reviewed-on: http://gerrit.openafs.org/2308
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d8072a846cbce75fb17b0865523923722254ca56
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 30 12:59:24 2010 -0500

    fs: HumanPrintSpace is void
    
    HumanPrintSpace never returns anything; declare it void.
    
    Change-Id: I336deb991e298b5132667a9bd7311b521fc082c3
    Reviewed-on: http://gerrit.openafs.org/2304
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e10e29bc5bf53cb6fa30fa8580d8b25d00b5aed7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 30 12:53:13 2010 -0500

    vlclient: Remove incorrect whitespace fix
    
    Commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61 generated a warning
    since we try to assign NULL into a character. Just remove this code,
    since removing trailing whitespace was already handled by commit
    df18c9e895e75e77ed466dea3b06ef2a0a07260a.
    
    Change-Id: I915c0678a2f6893e09cf049bf71c519be554369f
    Reviewed-on: http://gerrit.openafs.org/2303
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3f5144b3edfca5187ce417da8929eea86c930ef0
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 30 00:40:09 2010 -0400

    Disable red zones for amd64 FBSD kernel code
    
    The kernel has been compiled with -mno-red-zone since at least
    FreeBSD 5.0; when we compile libafs.ko with red zones enabled
    and interact with the red-zone-less kernel, we get occasional
    stack corruption, which manifests itself in a variety of
    unpleasant ways.
    The flags we pass to gcc for our module build currently differ
    substantially from those used during a kernel build (or modules
    built with the kernel); I hope to transition to a module build
    process involving bsd.kmod.mk in the relatively near future.
    
    Change-Id: I406e264c1f96e1d893b9d12b561f48a3cbfdf57c
    Reviewed-on: http://gerrit.openafs.org/2297
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cf34a3e896c940813a05fe663764389a88715a70
Author: Evan Broder <broder@mit.edu>
Date:   Wed Jun 30 09:52:15 2010 +0100

    Add human-readable printout to fs df
    
    This patch adds a -human option to fs df, which causes it to printout
    all of its values in "human-readable" form (i.e. rounded to roughly
    the nearest power of 1024).
    
    FIXES 124529
    
    Change-Id: I98e4c872abec5784c6ec600d5d977c36f4a8b0ac
    Reviewed-on: http://gerrit.openafs.org/2301
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e59a0ff9934f8ea44ecb02e9fdaa81a29bd04b61
Author: Max Cohan <max@endpoint.com>
Date:   Wed Jun 30 09:30:49 2010 +0100

    fix & enhance vlclient command-line handling
    
    Corrects an EOL bug in vlclient and adds a more user-friendly
    handling of request for help (i.e., '-help' now works)
    
    FIXES 125036
    
    Change-Id: I70f6523d538e34a02536e482f99916293a195df5
    Reviewed-on: http://gerrit.openafs.org/2300
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1fdce07cd9b6763ebd3c3b4327fc2c3831802533
Author: Steven Jenkins <steven@endpoint.com>
Date:   Wed Jun 30 09:06:29 2010 +0100

    Fix VLog so that actual levels are used
    
    Fix VLog() so that it actually uses the loglevels and does not set
    all log messages to level 5.
    
    FIXES 125035
    
    Change-Id: Ia9f42a814be182215cedadb6a4837347ace32f41
    Reviewed-on: http://gerrit.openafs.org/2299
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1566e42a69935467a5869391ed20860d416fcdd
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 30 00:29:41 2010 -0400

    FBSD: in reclaim, print the failed vnode
    
    If we fail to flush a vnode, in addition to printing a diagnostic
    message, also print information about the vnode; fs getfid can
    frequently confirm which vnode(s) are problematic, which may be
    useful in debugging the failure.
    
    Change-Id: Ia6e93f436f9dcd2d634c46856ede5effbf79e9cb
    Reviewed-on: http://gerrit.openafs.org/2296
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e8da9bf95460042ca6f91dc60008c5256e03de0f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 30 00:27:11 2010 -0400

    Actually invalidate the buffer in FBSD's FlushPages
    
    Chaskiel added a commented-out call to vinvalbuf() in
    revision bd707fb7e6 back in 2002; adding in what the
    current call should be does not seem to cause any problems
    for me.
    
    Change-Id: I2450fbaaa51b5baf2781e8a6572065e5f69b44ed
    Reviewed-on: http://gerrit.openafs.org/2295
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 46727481ec5c47c2d3402acb572bf0d6167690ec
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 30 00:21:10 2010 -0400

    FBSD TryToSmush locking fixup
    
    We need to hold the interlock when we check v_flags, so do so.
    
    TryToSmush is sometimes called with the vnode already locked,
    as the current code appears to hold the vnode lock for the
    current working directory (which is probably a bug).  Check if
    the lock is already held (panic if someone else has it!), and
    unlock as appropriate when we're done.
    
    Change-Id: Id09ef1e10632c7f63b590271a6339a069176deac
    Reviewed-on: http://gerrit.openafs.org/2294
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3688073993b57c4cd13f257294acd192e82012cf
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Jun 30 00:12:59 2010 -0400

    Correct whitespace in FBSD/osi_vm.c
    
    I'm about to touch this, and the whitespace was bothering me.
    Change the six-space indentations to match the rest of the code.
    
    Change-Id: I35a12c82f8b2b4644e58cf1f19f021282e43dc77
    Reviewed-on: http://gerrit.openafs.org/2293
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 659959bea90181a08ed8e76a120b44cec3ff0b8d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Jun 20 18:49:58 2010 -0400

    Correct FBSD-version conditionals for VFS locking
    
    The locking around some interfaces has changed with time.
    Make our preprocessor checks match the reality of when
    the changes were made.
    
    Change-Id: If933dd636bb908af27852897e9c77ed600759674
    Reviewed-on: http://gerrit.openafs.org/2292
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c772142111d7c6554ff8de3ee00e7618b20e55fa
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 29 14:33:06 2010 -0400

    stop abusing OPTMZ in aklog
    
    instead, abuse XCFLAGS less. sigh
    
    Change-Id: Ieda727bf62704f31ba4c1aebe3c5b8aa62c2dfed
    Reviewed-on: http://gerrit.openafs.org/2282
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7b1bfb4caa800de398c7955cc75adda2a64fdd99
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 29 14:32:38 2010 -0400

    klog warning fix
    
    fix warning-found uninitialized variable in klog.krb5
    
    Change-Id: Id4c78e2ceef82fcc7fbb6cdae7b6d07d74495547
    Reviewed-on: http://gerrit.openafs.org/2281
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d6f5e5e64b3f1b00560bbfeb6fa8dd85814b5b03
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Tue Jun 29 18:30:39 2010 +0100

    Fix checked build of vldb_check
    
    Checkin http://gerrit.openafs.org/#change,2027 appears to have caused
    issues with the checked build for vldb_check.
    
    This fixed is by reflecting the structure change into vldb_check
    
    Change-Id: I12343be8a3a31cb2f6474115a8d9137dadd4ae2d
    Reviewed-on: http://gerrit.openafs.org/2280
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5158766dce97570e51fc3abb2c8b3405fe7c299e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 19:35:18 2010 +0100

    Use git describe to determine build version
    
    This patch makes the configure and build system use the output
    from 'git describe' to determine the version of the software being
    built. This means that all that is necessary to create a new release
    is to tag the repository - removing the double sources of version
    information.
    
    There are a couple of fallbacks for systems which do not have git
    available for builds. Firstly, if a file called '.version' exists
    in the top level of the repository, then the version information is
    pulled from this file. The intention is that those packaging up
    git checkouts for onwards distribution will use
    'git describe > .version' before producing their tarballs.
    
    Secondly, if we cannot find any version information then the version
    will default to 'UNKNOWN'
    
    This all mirrors the way that many others have integrated git with
    automake and friends - although the implementation is independent.
    
    Change-Id: I7fa4605e52181d60657ad794ca8efdb5a9fb1449
    Reviewed-on: http://gerrit.openafs.org/1824
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 020c2284250cd26eb3b45fdbd7b96a84c0c58f5f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 11:03:28 2010 -0500

    LINUX24: crfree typo
    
    crfree, not crfee.
    
    Change-Id: I4a2d4bd4e37e409b62d587b22c36f4a6d02e9c32
    Reviewed-on: http://gerrit.openafs.org/2272
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 15b8e32c177ce286237a3049a6f8f4f0dd7399dc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 10:43:55 2010 -0500

    LINUX24: remove pagecopy and other 2.6-only code
    
    The client background readahead code and 'readpages' implementation
    were only written for 2.6 kernels and used 2.6-specific constructs.
    Remove them, along with references to the 'pagecopy' code, and some
    other 2.6-only cruft in osi_vnodeops.c.
    
    Change-Id: I2e939e98bd72cd7b275b0f7a389607ee5dc94efa
    Reviewed-on: http://gerrit.openafs.org/2271
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5539e2b55d7413ca86e7ea26f45c796506e6a553
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 11:24:04 2010 -0500

    LINUX: Remove LINUX26 conditional in proc2cred
    
    afs_osi_proc2cred contained a 2.4 implementation; remove it, since we
    can assume at least 2.6.
    
    Change-Id: I605856e920508cf49a975e5375ade87e00598763
    Reviewed-on: http://gerrit.openafs.org/2274
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8143e99a2c6ec137313cb9405670c7791b21962a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 11:17:50 2010 -0500

    LINUX24: Remove BDI references
    
    afs_backing_dev_info was still referenced in a couple of places in the
    LINUX24 code. Although they are properly ifdef-guarded, these lines
    were never getting built, so remove them.
    
    Change-Id: I55ffca5dad99124b9d451925c9fcf15b7060bb9b
    Reviewed-on: http://gerrit.openafs.org/2273
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cdf8e7de1658aaafe2958c28b7e1fd9bf92f4499
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 10:46:22 2010 -0500

    LINUX24: NEED_IOCTL32 fixup
    
    The NEED_IOCTL32 symbol needs to protect the entire if block, not just
    the conditionals.
    
    Change-Id: Ie33860b1d5677cec19ed19aa1ccc1ce0a26824ff
    Reviewed-on: http://gerrit.openafs.org/2270
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 26cd8a302c0f91ed9cafd377e1f8dcc473a48917
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 10:42:05 2010 -0500

    LINUX24: cr_ref is a regular int
    
    cr_ref is a regular integer, not an atomic_t, so we need to just
    assign '1' to it directly.
    
    Change-Id: I3533c79a67f7be35724cc81553d24bfecb7b81d3
    Reviewed-on: http://gerrit.openafs.org/2269
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 773b4968e450601910c838232e2b281b1db176a6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 28 10:33:38 2010 -0500

    LINUX24: Remove group_info macros/functions
    
    The LINUX24 code has a macro and a function abstracting
    'struct group_info' access. But 'struct group_info' does not exist in
    2.4, and nothing calls these, so get rid of them.
    
    Change-Id: Ic38f5be27d55da9fdf6ce7889d4df6afd1464c0f
    Reviewed-on: http://gerrit.openafs.org/2268
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 16f19e79d1a6a13a3e07ae9be3aab50f28c06045
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed May 26 16:18:26 2010 +0100

    Make file offsets in vldb layout unsigned ints
    
    vlserver.h has a few cases where links through the vldb are being
    stored as afs_int32s. These are file offsets and should be unsigned.
    This commit fixes just these declarations.  The code still compiles
    (because they are silently cast all over the shop), but it starts
    the tidy effort.
    
    Change-Id: Iba14bd28cb43a6ca6401be4252bb45135d8b3a55
    Reviewed-on: http://gerrit.openafs.org/2027
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 233253809e978b7487956e9bd56957a848459821
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jun 27 15:15:33 2010 +0100

    Make make_libafs_tree.pl use strict and warnings
    
    Turn on the perl use strict and use warnings options in the
    make_libafs_tree script to better catch programming bugs.
    
    Change-Id: Ide358d40eda3cde9dd0261af11993560da71143a
    Reviewed-on: http://gerrit.openafs.org/2266
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b59af55f80b2339a93ba985d496b2e9052f29b60
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jun 25 20:06:08 2010 -0400

    Linux: Use filehandles for all 2.6 kernels
    
    This generalizes the use of the exportfs API and file handles
    to open disk cache files for all 2.6 kernels.
    
    Code outside of src/afs/LINUX (ex: afsd) can assume that file
    handles are used for all 2.6 kernels and can use AFS_LINUX26_ENV
    to check.
    
    Within src/afs/LINUX/osi_file.c, NEW_EXPORT_OPS can be used to
    determine if the old exportfs API (pre 2.6.24) or the new one
    applies.
    
    All traces of the LINUX_USE_FH define are removed.
    
    FIXES 127530
    
    Change-Id: I6803101c56981f9f674cef581f7299656723fdf3
    Reviewed-on: http://gerrit.openafs.org/2260
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e7b59fb0255f5823ddf4252008281d09d7418bdb
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Jun 27 20:00:37 2010 -0400

    linux trivially track host signedness in afs_prototypes.h
    
    track host signedness in definition of afs_nfsclient_reqhandler, which
    changed in 7d1bbee02a80f045a6ae4e30410798f4785906a8.
    
    Change-Id: If85cbbb36c138fbe6ded93ba7c1c2af31825f5bb
    Reviewed-on: http://gerrit.openafs.org/2267
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7005aec9a4a187065048985756f618043d7ec1ed
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 15:03:23 2010 -0500

    libafs: correct export_reqhandler prototype
    
    The export_reqhandler function pointer takes an afs_int32*, not an
    afs_int32 as the fourth argument.
    
    Change-Id: I89ef9cfd23a5b673cbbb29fc710236cfe1e3c7cf
    Reviewed-on: http://gerrit.openafs.org/2257
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d1bbee02a80f045a6ae4e30410798f4785906a8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 14:17:49 2010 -0500

    Use unsigned addresses in the NFS exporter
    
    Use unsigned IP addresses in the NFS exporter code in libafs. This
    modifies the distributed headers exporter.h and nfsclient.h.
    
    Change-Id: Ieaddf21e487ae416d7b003223566c999c64279aa
    Reviewed-on: http://gerrit.openafs.org/2256
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0265d5c1eb04eeb354d89d638758b84fd458b267
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 13:52:16 2010 -0500

    Use unsigned IP addresses in bu*
    
    Use unsigned IP addresss in bubasics, bucoord, and butc code. This
    alters the public tcdata.p.h, but stays away from wire RPCs or
    variables used directly with those RPCs.
    
    Change-Id: Ica96172399cafbc2c347f725a966cf1db7ff1128
    Reviewed-on: http://gerrit.openafs.org/2255
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 38db9afbe9b2201b97f08b3068577a1270071cb9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 12:43:50 2010 -0500

    vlserver: Use unsigned addresses
    
    Use unsigned IP addresses in vlserver code. This alters some
    structures in the public cnvldb.h header.
    
    Change-Id: I62725ad98d2c4e8bfe610ae9a6132fd0f54cc4aa
    Reviewed-on: http://gerrit.openafs.org/2254
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b65b462c58858f513f872a500d18ebe3706d5682
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jun 25 19:33:51 2010 -0400

    Linux: remove some 2.6 specific code from 2.4
    
    Remove some code that will never be compiled or used in the
    afs/LINUX24 directory.
    This includes code depending on AFS_LINUX26_ENV, and on
    LINUX_USE_FH which is never set in 2.4 and is going away
    soon anyway.
    
    Change-Id: I972262b45d3518d996756b5dc9f6e6c01450e5cc
    Reviewed-on: http://gerrit.openafs.org/2259
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ce2162ec99b5ac1a262b99bad3b71c51ee82faff
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 17:39:20 2010 +0100

    Autoconf: Update AC_INIT macro use
    
    Update the way that we use the AC_INIT macro to match current
    autoconf conventions
    
    Change-Id: Ib1ce2acd879683ff8ff178cfbd9776277ba7460f
    Reviewed-on: http://gerrit.openafs.org/2265
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff959f4a2e28a4c44f4962f5077da1148748d28b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 15:59:21 2010 +0100

    RPM Packaging: Make file types clear
    
    Make it clear that makesrpm.pl takes the bz2, rather than gzip'd,
    versions of the OpenAFS distribution.
    
    Change-Id: Ifb99448df5c7060186da1f13ee9c38ba95373376
    Reviewed-on: http://gerrit.openafs.org/2264
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b64031310d740c9173bacd04f1a6202a2bd5cf65
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 15:55:29 2010 +0100

    RPM Packaging: All debug kernels are bad
    
    We can't build against any of the recent Fedora debug kernels, because
    they have options enabled that make criticial symbols GPL-only. Just
    skip all debug kernel variants, rather than having to explicitly list
    each new Fedora release as it comes out.
    
    Change-Id: I8ed4c04b10facc79fd5a68888ddb10b368b49bef
    Reviewed-on: http://gerrit.openafs.org/2263
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 33872fbe570a4b86adb0ea2d5e407ca1ec9cf00e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 15:54:05 2010 +0100

    RPM Packaging: Add support for Fedora 12 and Fedora 13
    
    Add support for building for Fedora 12 and 13, both i386 and x86_64
    
    Change-Id: I2bb6e86ac81eeae720b8dbf185927f6e55be826c
    Reviewed-on: http://gerrit.openafs.org/2262
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 370872207820e08eb58f497b4a0a49c28b18077d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 26 15:35:07 2010 +0100

    RPM Packaging: Skip comments in configure.in
    
    Skip comments in the configure.in file, so we don't end up using the
    commented out version information.
    
    Change-Id: I14bef1d448b77c915aa04b3fe555b270ce20ac67
    Reviewed-on: http://gerrit.openafs.org/2261
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fc76d416bb4f37bf55bd088f4b9893f52e097990
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 14 11:01:06 2010 -0500

    Remove semicolon from AFS_NORETURN
    
    AFS_NORETURN had a trailing semicolon, which will confuse potential
    future additional attribute markers, if used after AFS_NORETURN.
    Remove it.
    
    Change-Id: I21fd6b874728b8ca74d0e8abd783cd5015f63e97
    Reviewed-on: http://gerrit.openafs.org/2258
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 19531fb40013bce9584e1f4873724d4fa1aa6bf4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 11:38:37 2010 -0500

    ptserver: Remove IP_WILDCARDS symbol
    
    ptserver defined the symbol IP_WILDCARDS to enable the use of
    wildcarding in machine entries. It is always enabled, so just remove
    the symbol and always use the wildcard code.
    
    Change-Id: I7d45de5ef1bb0d2c95f1e1ea86fd4418cf3ddd62
    Reviewed-on: http://gerrit.openafs.org/2253
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9796686c19152f8e3ccfd6b2d41a46976a3a271b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 11:30:15 2010 -0500

    ptserver: Use unsigned addresses
    
    Use unsigned IP addresses in ptserver code. This alters some
    prototypes in the public ptuser.h header.
    
    Change-Id: Id121f32cb0b6acd575822d37bbd814636023e9ae
    Reviewed-on: http://gerrit.openafs.org/2252
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fbe5c7f7073324fc80ee0a80ca97e8c1980a3c95
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 25 09:48:38 2010 -0500

    rx: Use unsigned addresses
    
    RX sometimes uses afs_int32 to represent IP addresses; make it use
    afs_uint32. This alters some structures in rx.h and some prototypes in
    rx_prototypes.h.
    
    Change-Id: I97df8a5de8f5e0355ab2056825de68bb7122e439
    Reviewed-on: http://gerrit.openafs.org/2251
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3bff5ca0b69a23c709123338400e53bb3c00d9e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 24 10:19:21 2010 -0500

    volser: Use unsigned addresses and volume IDs
    
    Fix code and header files in src/volser that use afs_int32 for server
    IP addresses instead of afs_uint32 (the worst offenders being UV_*
    functions). Also fix an instance of afs_int32 being used for a volume
    ID, and remove 'struct volser_dest' instead of fixing it, since it is
    completely unused.
    
    Change-Id: I1008ed158855c2a22b4605b5a037f5e68731529e
    Reviewed-on: http://gerrit.openafs.org/2249
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f91925aa06757c93f3b2061492f25740390296c4
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jun 24 08:51:06 2010 -0400

    windows  add rx_Get/SetServiceSpecific to libafsrpc module exports
    
    Add rx_GetServiceSpecific and rx_SetServiceSpecific to afsrpc.def
    using the next available ordinals (267 and 268).
    
    Change-Id: I31af43e9706b922ef765a51f50f583f492ce375a
    Reviewed-on: http://gerrit.openafs.org/2245
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f9c9b78a2c3e7167f22af6af813a3902af4e5e3d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jun 24 16:00:22 2010 +0100

    Linux: Check return code from VerifyVCache in mmap
    
    afs_linux_mmap wasn't doing anything with the return code
    from afs_linux_VerifyVCache. Change the code so that it matches
    the other callers of afs_linux_VerifyVCache
    
    Change-Id: I83b949bf3b9579e5dd2e20b487862566c1d7c730
    Reviewed-on: http://gerrit.openafs.org/2247
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4c89b6417fc488552ca319a895046118cc1f679c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 17:42:30 2010 -0500

    Remove stale warning suppressions
    
    butc/dump.c and ubik/beacon.c have had their warnings fixed and their
    suppressions removed. Remove the warning suppression for tbutc/dump.c
    and tubik/beacon.c, as well.
    
    Change-Id: Ie3cae93932797ef5a55403f3548518af6da267f0
    Reviewed-on: http://gerrit.openafs.org/2242
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 24e1c7e30fe25d80ec362d887b52b0f3f50ac8b0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 23 12:56:17 2010 -0400

    Windows: Cleanup of src/config/NTMakefile
    
    src/config/NTMakefile had the following issues:
    
     * duplicate entries for headers in $(INCFILES)
    
     * no clean: rule for $(INCFILES)
    
     * no clean: rule for $(DESTDIR)\util_cr.exe
    
     * $(INCTOOLS) dependent upon $(INCFILES) but the order is reversed
       in the install: rule
    
    Change-Id: I2707009d60b303ab897ed25d9245d893fa342a8e
    Reviewed-on: http://gerrit.openafs.org/2238
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Matt Benjamin <matt@linuxbox.com>

commit a4b6ac7a4a51c5655d91b971e4cb7d69f7ffc2b7
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Jun 23 10:26:12 2010 -0400

    windows  don't include assert.h (and afs support headers) in util_cr.c
    
    Don't include afsconfig.h and afs/param.h in util_cr.c, nor
    assert.h.  The assert was included but was in fact not used in
    the file, and can be ommitted, per jaltman.  The OpenAFS
    includes are then not needed.  An incorrect cast is also changed,
    due to jaltman.
    
    Change-Id: I3e1ad7a1d24473d6ad3ce2e401133b25b0a4c795
    Reviewed-on: http://gerrit.openafs.org/2234
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5e4c33f5634b85464945524f3b1c7022c3e921ed
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 17:47:43 2010 -0500

    Indicate that fssync unix sockets are the default
    
    Using unix domain sockets for FSSYNC has been the default for some
    time now; make it clear from the configure help output that this is
    the case.
    
    Change-Id: Ibe8b41361242d6cea035b7710910d7d693f60a85
    Reviewed-on: http://gerrit.openafs.org/2241
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 3a82ec0f8383446da2f15512895b280339602190
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 16:23:15 2010 -0500

    ubik: Remove api for reading during write locks
    
    This reverts commit eaeff661c26b0f5a504a547952ea1d0f0241b539.
    
    The code using this API will not be in 1.6. Remove this interface for
    the 1.6 branch, as it is known to have issues.
    
    FIXES 127520
    
    Change-Id: I3dfef084282b0ca8ec968872b433e60f615a9c44
    Reviewed-on: http://gerrit.openafs.org/2240
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53febebc8a69c3231fb2c7094294f59b747a6ec9
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri Jun 18 00:05:14 2010 -0400

    Try to flush vnodes in FBSD's unmount, bailing if necessary
    
    vflush() actually returns something!  Check if we get EBUSY,
    and don't continue if so.  Also, actually call vflush on FBSD80_ENV.
    Note that we currently leak refs on our root vnode, so this means
    umount will fail unless it uses -f, for now.
    
    Change-Id: I8f02ebfa127409f0e8567f3efa7eccf491147cbd
    Change-Id: Iaa4666f1004b49b69a82c778a3de60633fac880f
    Reviewed-on: http://gerrit.openafs.org/2214
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 73a3990f44b9aefe9281fae6ab69523a069b4adb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 27 13:22:37 2010 -0400

    mariner log messages for creating and removing files
    
    give a hint to event listeners that files are being created and removed
    
    Change-Id: I6202184424607e97b7d103a6e7033f950c203cce
    Reviewed-on: http://gerrit.openafs.org/1852
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c39aee89c0649561041e7d955dd3db40629f2570
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Jun 21 12:02:46 2010 +0200

    Don't hold on to the afs_xvcache lock while creating a symlink
    
    Holding the afs_xvcache lock over the RPC while creating a symlink is a
    severe blow to performance as look-ups from other tasks likely
    require the lock. Drop the lock and rely solely on the fileserver
    to detect a clash with a same entry created simultaneously.
    
    Change-Id: Ia6de353bd9dc003addf5f3be7a8f3e769247a513
    Reviewed-on: http://gerrit.openafs.org/2233
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bd3f8adfe02aa09eedeec3cff824745eb749e473
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 10:13:39 2010 -0500

    vldb_check: Interpret VLOP_* vlentry flags
    
    The flags for each vldb entry can have various VLOP_* bits set to show
    that the entry is locked, and for what reason. In vldb_check, output
    these bits symbolically instead of mentioning them in "errorflags".
    
    Change-Id: Iee7797bc701742e778391c07936eb771139bc8e9
    Reviewed-on: http://gerrit.openafs.org/2236
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ee3d62becab62e2ec083ebe4d1834f232270a525
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 23 09:58:38 2010 -0500

    vos: Interpret VLOP_* lock flags
    
    When a volume is locked in the VLDB, we are given flags for the reason
    why the lock was set. Make vos interpret and output this reason.
    
    This adds output to any vos command that previously printed that a
    volume was LOCKED. It now outputs, for example,
    
        Volume is currently LOCKED
        Volume is locked for a delete/misc operation
    
    Change-Id: Ie3a6f804a3e3a551840975c3689b24d3916891df
    Reviewed-on: http://gerrit.openafs.org/2235
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9c0d9cf1e411265c56a74d76dd418bc533afdde8
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue May 4 12:06:55 2010 +0200

    patch cbd_printCBcrash - harden callback debugging
    
    Create callbackup dumps with updates locked out and add bounds checking
    and loop detection to the cbd program.
    
    Change-Id: I927937aef33dca261877b8f2605239f3d4763a8a
    Reviewed-on: http://gerrit.openafs.org/1902
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e489c44328b12637162f0a62f92f1f9b95279428
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue May 4 14:11:30 2010 +0200

    Do not corrupt volume linktable when special file already exists
    
    Upon volume creation, when a special file unexpectedly exists, e.g. due
    to a failed cleanup, do not blindly assume that it is the link table.
    Otherwise the latter's magic will get silently overwritten.
    
    Change-Id: Iba05ae771e04272a3dab5534fcfc24cda5ee7df5
    Reviewed-on: http://gerrit.openafs.org/1903
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 95636c6fac3c67d0c14dfb5f53c594f942aa9b78
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 27 17:56:19 2009 -0500

    Make ubik use unsigned addresses
    
    The ubik code currently treats IPv4 addresses as both signed and
    unsigned 32-bit ints. Make some instances use unsigned ints to make ubik
    more consistent and squash a couple of warnings.
    
    Note that this slightly alters the signatures of the public ubik
    functions ubeacon_InitServerListByInfo, ubeacon_InitServerList,
    ubik_ServerInitByInfo, ubik_ServerInit, ubik_ParseClientList, and
    ubik_ParseServerList, to use unsigned addresses.
    
    Change-Id: I27b6170d4de0080bf66d51a6b5332e65685ddef8
    Reviewed-on: http://gerrit.openafs.org/875
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8db0c3823590e0bb7b41a9d0f48ed333067bab7e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 17 15:44:50 2010 -0500

    Mention that -fakestat fakes local cellular mounts
    
    The afsd man page says that -fakestat only fakes stat information for
    cross-cell mount points. Technically it fakes stat information for all
    cellular mount points, local or foreign. Most people shouldn't care,
    but note the difference, since some places do have local cellular
    mount points.
    
    Change-Id: I9bc61a0284b7d04439578a4fc5a6adf791217463
    Reviewed-on: http://gerrit.openafs.org/1979
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 8c633162b98f4aebd3449684574f8a35c9e0fa58
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Sun Jun 20 15:38:14 2010 +0200

    Provide manpage for fssync-debug and most subcmds
    
    This is another patch in the series to provide manpages for
    dafs-related commands.
    
    Most (if not all) documentation is coming from source
    documentation and DAFS articles/presentations.
    
    The primary motivation behind this is to comply with Debian
    guidelines requiring all binaries to have respective manpages.
    
    This patch has been sitting here for months, so it's good time
    to finally submit it.
    
    Note that fssync-debug also supports some vcg* commands, for
    which I was not able to find any documentation I could use.
    So, they are still left to be documented.
    
    Change-Id: I9d067766e2a90b26646edc87f15a4f533c5c8d44
    Reviewed-on: http://gerrit.openafs.org/2220
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 20bf8feacddea0000578bacf5789e288d99596c5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 27 23:48:36 2010 -0400

    no fs sa /afs in dynroot mode
    
    change the quick start guide so people stop asking why they can't
    set the ACL on /afs.
    
    Change-Id: Iffc6c95564e99c01cef1b2b54d6b35e9bd01f38c
    Reviewed-on: http://gerrit.openafs.org/1872
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 52ac633da7735c297fa8c43bf9098a6fe0f5beb2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 11 17:40:18 2010 -0500

    vol: break callbacks when needsCallback is set
    
    The needsCallback vol header field indicates that a volume has been
    altered by a non-fileserver program somehow, and that callbacks for
    the volume should be broken. So, when we attach a volume that has this
    flag set, break callbacks if we can. If we are not the fileserver,
    tell the fileserver over FSSYNC to break callbacks if we can.
    
    Change-Id: I1b1a4042f0381e8291a407b54ce9478877dacdca
    Reviewed-on: http://gerrit.openafs.org/2211
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 899e0385efb0d0ed9d126bdfc0db2602b225db8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 22 11:52:48 2010 -0400

    rx mtu ping timing tweaks
    
    avoid potentially sending pings too often. if we aren't desperate,
    push out grow mtu pings to just inside call timeouts.
    
    Change-Id: Ieb28700fd02894f3308123c8f64a1ec5ae7989d9
    Change-Id: I3a3557680f5486474165567786f9a2da58f34519
    Reviewed-on: http://gerrit.openafs.org/2228
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6ed90d5c2d8ebce40aa9d623d9875b0aecf4d986
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jun 22 17:37:15 2010 -0400

    Fix CHush test
    
    The compiler flagged this with a warning, and depending on the
    flags that are set, the test may not give the expected result.
    
    Use parentheses to get the intended precedence.
    
    Change-Id: If0311aae70d6e71b69e247e5b66e0dd558c2c958
    Reviewed-on: http://gerrit.openafs.org/2232
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d8237165f73fec8eb51a96417c4cb5e9fbc09d65
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 19 11:26:49 2010 -0400

    afsd -dynroot-sparse mode for hushed cells
    
    if an admin specifies -dynroot-sparse (instead of dynroot) come up
    with just local cell and cell aliases showing. cell list
    is configured as normal. fs newcell works as normal.
    
    document it.
    
    Change-Id: Ie644ed0f9923a85da5451eafaa114ddf36daa671
    Reviewed-on: http://gerrit.openafs.org/2217
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 19869b100cc144422f2e5e845773d92082a32e40
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 21 01:06:38 2010 -0400

    test suite warning safety
    
    make test suite compile without warning
    
    Change-Id: I4e4b63d6ce2ae73e5458913aa81308b2691044a9
    Reviewed-on: http://gerrit.openafs.org/2223
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bb0274398a0e9f6aff7714014e3eefbd77df827
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 11 17:39:32 2010 -0500

    salvaged: Break volume callbacks on vol change
    
    The salvager code can change a volume in many ways as it fixes errors.
    We should break callbacks on the volume whenever we change it, as
    clients may have callbacks on whatever we changed. So, for the
    salvageserver, send an FSSYNC command to the fileserver to tell it to
    break callbacks for that volume.
    
    FIXES 127030
    
    Change-Id: I1cd869371167df7d4e55ac14400865fb0a9c5154
    Reviewed-on: http://gerrit.openafs.org/2210
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1f2b84f1b64625af449070eccb64639d6a8f0a12
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Jun 20 18:54:26 2010 -0400

    Simplify preprocessor logic in afs_pioctl
    
    We had identical code in two branches of an if/elif/else path.
    Merge them together.
    This allows two DARWIN80_ENV blocks to be coalesced; reindent
    them correctly while we're here.
    
    Change-Id: Icaa047994ec970ee8187a7811ee69de2f36a0503
    Reviewed-on: http://gerrit.openafs.org/2222
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit df38462c64c244d97a56e9bbd0902173adb091a1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 11 17:18:07 2010 -0500

    Set VolumeChanged when we create a new root dir
    
    Set the VolumeChanged flag when we create a new root directory in a
    volume when salvaging, since doing so changes the volume.
    
    Change-Id: Ic6cd0b0d6f9b52f2006a114269321a38d312ab9b
    Reviewed-on: http://gerrit.openafs.org/2212
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 591f9b6de9ab3dc5c17ad41af0241527f7f04b31
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 21 17:28:10 2010 -0500

    vldb_check: ntohs ubik header size
    
    The 'size' field in the ubik header is only 16-bits wide. So, we must
    use ntohs to convert it, not ntohl. Without this, vldb_check would
    emit false-positive "Ubik header size is 0" warnings.
    
    Change-Id: Iaa06b6dc58b7812b359d6096c112e1f3897c60e2
    Reviewed-on: http://gerrit.openafs.org/2226
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4a1efd664b08c96952d987ab8d7b5fd42c0a5526
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 21 15:47:06 2010 -0500

    ubik: Do not hide ReplayLog errors
    
    For some reason, the ReplayLog code was printing encountered errors in
    the replay log as debug messages. Print them out as regular log
    messages instead, since these are errors that at least warrant
    visibility, if not more action.
    
    Change-Id: Ifba22278e2f5f33010b87eebfc484ccd3745f916
    Reviewed-on: http://gerrit.openafs.org/2225
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eec0d94f519b3e27f255b9b7a637df043951424e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 18 17:20:22 2010 -0500

    ubik: ntohl on reading the replay log
    
    When attempting to read the replay log, ubik was not ntohl'ing all
    integers that were read in from the log, causing the log to appear
    invalid on little-endian systems. Fix it.
    
    This problem manifests as apparent corruption in the database on top
    of ubik when a commit is occurring when we are shut down, or a disk
    error is encountered during a commit.
    
    Change-Id: I82e04c59d0f55aa2105b02feb6ee332ea85eb4f3
    Reviewed-on: http://gerrit.openafs.org/2224
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5f66bed5eb46b992600b7b8e3ae108d0570ac220
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Sun Jun 20 15:27:06 2010 +0200

    Update manpage links, fix doc typo in fssync-debug
    
    Change-Id: I93a4fc4c998e489c6bdc736f0f4172c752d9f030
    Reviewed-on: http://gerrit.openafs.org/2219
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 307fb143617e0ad59220275c83dc4ea84e495852
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 19 13:08:43 2010 -0400

    update macos readmes
    
    no more APSL source is used. also, reboots are not required.
    
    Change-Id: I61217b557c6193c922bc1b72b41e076e81db49e5
    Reviewed-on: http://gerrit.openafs.org/2218
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f8981f18dfdd5ae9efd03b9d247238dd83f46506
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Jun 17 00:27:51 2010 -0400

    Fix aklog segfault
    
    In auth_to_cell(), we only strdup() into the linkedcell argument
    if there is a linkedCell in the current cellconf.  However, in
    main(), we free linkedcell if it is non-NULL, but it is allocated
    on the stack and could contain garbage.  free() chokes on such
    garbage, causing aklog to abort().
    If we copy nothing into linkedcell, set it to NULL so that we
    do not attempt to free the bogus pointer.
    
    Change-Id: I92905a5f17021ce1bc41909f5ceb1b0344456d93
    Reviewed-on: http://gerrit.openafs.org/2213
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 196d2c7f9e3250008bf6aed2e172ec6d54e4ffb7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 18:39:14 2010 +0100

    Linux: Remove the BKL
    
    Recent investigations suggest that we no long require the BKL on
    Linux. As an experiment, remove it.
    
    Change-Id: I764fe1f6e9761ada5a0a86ba59450c0615bb1e78
    Reviewed-on: http://gerrit.openafs.org/1823
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 77ebaaf639c325a8a51afdc70832ea7ed73d02a8
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 15 18:59:22 2010 -0700

    Remove configure remnants of Digital UNIX / Tru64 client
    
    Remove the configure flag to specify the location of the Digital
    UNIX kernel headers and some setup for the kernel module build.
    Note in README that Digital UNIX / Tru64 is supported for servers
    only.
    
    Change-Id: I983f74068b1a1ae76d9a2b2549a8a141dba4e075
    Reviewed-on: http://gerrit.openafs.org/2207
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1a50290e6e43f2eef323cfaffdfa3fc54bfdf5c
Author: Chaz Chandler <clc31@inbox.com>
Date:   Mon Jun 14 00:21:50 2010 -0400

    IRIX: Implement makesname()
    
    makesname() make a semaphore name for use in <sys/sema.h>-type routines on
    IRIX.  It takes as input a pointer to an allocated string buffer (sname) of
    size METER_NAMSZ, a string prefix (prefix), and a vnode number (v_number).
    When complete, sname is returned, pointing to the beginning of a
    NULL-terminated string containing the new name, with a maximum of
    (METER_NAMSZ-1) characters plus the NULL.  The name is a concatenation of
    the string at 'prefix' and the ASCII representation of the number in
    'v_number'.
    
    Note: Due to IRIX's use of uint64 to represent vnumber_t and a maximum
    semaphore name length of 15 (METER_NAMSZ-1), this function cannot be
    guaranteed to produce a name which uniquely describes a vnode.
    
    makesname() is already called from afs_vcache.c but not (or no longer)
    available / implemented elsewhere.
    
    Change-Id: I4331c161b68b39a4c067691c97363b637d13ff15
    Change-Id: Ia0a615426dc05e01a98e53e89ec3bae3726cac34
    Reviewed-on: http://gerrit.openafs.org/2155
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: Chaz Chandler <clc31@inbox.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7759e837953fdaf4027474190b865cacb4d1b0fb
Author: Chaz Chandler <clc31@inbox.com>
Date:   Mon Jun 14 00:18:29 2010 -0400

    IRIX code cleanup
    
    Fixes a few small errors in IRIX-specific code sections
    
    Change-Id: I83e0ca1510eb2d122b9b001f5793f63dabc6ddf1
    Reviewed-on: http://gerrit.openafs.org/2154
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Chaz Chandler <clc31@inbox.com>
    Tested-by: Chaz Chandler <clc31@inbox.com>

commit 10ada52c26ac3aa13112a91ad201dd3203bb70f8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 15 12:19:25 2010 -0500

    Do not assume non-valid addrs in addr hash table
    
    As part of host state verification, we were calling
    h_stateVerifyAddrHash to verify that all addresses for a host were in
    the address hash table. The problem with this is that interface
    addresses that are not marked as 'valid' are intentionally not in the
    addr hash table. So, any time there was a non-'valid' interface
    address in the host state, we stood a very good chance to fail to
    verify the state.
    
    Instead, if we have a non-'valid' address, try to verify that it is
    _not_ in the addr hash table (or at least, is not pointing at the host
    with the non-'valid' interface addr), since they're not supposed to be
    in there.
    
    Change-Id: I02fb0f516fa3ef384471d19bb1b970cfd8aff874
    Reviewed-on: http://gerrit.openafs.org/2205
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4481a22dc7fa48c7a057f27828da44ab0b4dbf26
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 15 10:58:58 2010 -0500

    Make h_stateVerifyAddrHash log port on errors
    
    When h_stateVerifyAddrHash logs that an error in state verification
    occurs, it was only logging the address of the host causing the
    problem. Log the port, too, since there could be multiple hosts with
    the same address.
    
    Change-Id: Ideee34f075948a0cb7cc1014920be5e120bdc6ef
    Reviewed-on: http://gerrit.openafs.org/2204
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6dc50767f88795858783fe9dbbdf90901f1fd684
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jun 3 19:50:14 2010 -0700

    Fix aklog warnings when building with Heimdal
    
    Fix various warnings in the aklog and klog code when building with
    Heimdal.  Use krb5_get_init_creds_opt_alloc if it's available rather
    than allocating the struct off the stack, since the _opt_init
    function is deprecated.
    
    Change-Id: Ieff986121de9078e9402b0a51a8855655330caba
    Reviewed-on: http://gerrit.openafs.org/2082
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9784847fedee9540a210f272e3c38862ba1903ea
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 25 22:19:14 2010 -0500

    Rework the Kerberos Autoconf probes
    
    Previously, building with Kerberos support required either passing a
    flag to configure giving the location of a krb5-config script, or
    manually setting variables specifying the Kerberos libraries and
    header path.  Replace that code with code that checks for Kerberos
    libraries automatically and builds the Kerberos code if any were
    found, with support for doing direct library probing if there is no
    krb5-config script.
    
    Add several platform-specific overrides directly into the configure
    support, so we should be able to build out of the box on Mac OS X 10.3,
    HP-UX, and AIX Kerberos with the new probes.
    
    The Kerberos Autoconf macros are now the versions that come with
    rra-c-util and are tested with multiple other packages, so both
    OpenAFS and those packages will be able to benefit from further
    portability improvements.
    
    Update README for the new building instructions, documenting how to
    configure the Kerberos probes if they can't automatically figure out
    the location and flags for Kerberos on your system.
    
    Change-Id: Ia35bb0dbc6b94c6b4dfe8165388447dbfcb31a29
    Reviewed-on: http://gerrit.openafs.org/2026
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 581aafaa698e395bfcfb7b82b595fbdef4b11279
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 8 17:28:39 2010 -0500

    GetVolume: do not wait for offlining volumes
    
    In non-DAFS GetVolume, previously we waited for a volume with
    vp->goingOffline set to go offline before we return. However, the
    fileserver afsfileprocs.c case can treat the "going offline" case and
    the "is offline" case identically, so there is no reason to wait. So
    make the fileserver call a new GetVolume variant that does not wait.
    
    Without this, all of the threads in the fileserver can potentially be
    tied up by waiting for a volume to go offline, if the volume is taking
    a long time to go offline due to an offline request following a client
    slowly accessing the volume.
    
    Change-Id: I58ae11e585852130154389d8df0567432cd0c2df
    Reviewed-on: http://gerrit.openafs.org/2124
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d7c79cec8295dd34fb97e6f22bfcc69dccb9f4c4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 15 12:33:48 2010 -0500

    afscp: Correctly advertise local addresses
    
    afscp was reporting its local address list in net-byte order, and then
    giving that list as a response to RXAFSCB_WhoAreYou. Instead, convert
    the addresses to host-byte order, since XDR takes care of endianness
    foo.
    
    Change-Id: I5d7d57f811ccaeada235e694ec5f343c1ac535b7
    Reviewed-on: http://gerrit.openafs.org/2206
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0b958626014b9fabb7bd4c4b925838462dc09d82
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jun 15 07:32:11 2010 -0400

    mkvers.c - remove afsconfig.h, afs/param.h and assert.h
    
    assert() is not used within mkvers.c.
    
    afsconfig.h and afs/param.h have dependency problems in
    src/config/
    
    Change-Id: I2012a01c87cbd993a70df76ee3384b43ff037b29
    Reviewed-on: http://gerrit.openafs.org/2203
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c3d55face7e3a2e1d0f6253e686cc9b1e84d4dfc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 14 13:28:37 2010 -0500

    Fix tptserver and tvlserver install rules
    
    Commit 00c37e8634b97dba3431804cea467a046be525d5 introduced a few
    usages of 'ifeq' in cross-platform Makefiles, breaking the build when
    not using GNU make. Fix this by making the tptserver and tvlserver
    'install' and 'dest' targets behave more like the 'ptserver' and
    'vlserver' ones, and correct the ptserver 'install' target while we
    are here.
    
    Change-Id: Ia3fd9149c0f18a96a9899a5dfde41e53a45102b7
    Reviewed-on: http://gerrit.openafs.org/2160
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7620e48414e7826f50a5dba86c5544512ac8a879
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 8 17:19:46 2010 -0500

    Cleanup and doxygen-ify the comments for GetVolume
    
    Change-Id: I54788acd83779b986e78575bde11347952293be6
    Reviewed-on: http://gerrit.openafs.org/2123
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a62de618552bd3a3ccb5d1988fd3b5b82cb5124f
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 14 15:28:20 2010 -0700

    Build util tests properly with make check
    
    If one runs make check without previously running make at the top
    level first, it didn't build the util test programs properly.
    Recurse into subdirectories for make check as well, and add the
    check, test, and tests targets to tests/util/Makefile.in
    
    Change-Id: Idc2caf4cf83a48da350e724aba2ac1228795085d
    Reviewed-on: http://gerrit.openafs.org/2162
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9316f209eda47362d7b96464b1fff4bd5b086da7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 14 14:13:11 2010 -0400

    Windows: ensure that afsconfig.h and afs/param.h are included
    
    The recent addition of AFS_NORETURN broke the Windows build
    because afsconfig.h and afs/param.h were not included everywhere.
    Make sure that they are.
    
    Change-Id: I5962fe1178f73273f5b3c1d269b1a125fba2d2c6
    Reviewed-on: http://gerrit.openafs.org/2159
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9579d09533d4f94c38bb4755c6df90552483b7b6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 14 13:36:32 2010 -0400

    Windows: fix definition of lstat() macro
    
    The lstat() macro definition has to take into account
    the version of the compiler and the size of time_t.
    
    Change-Id: Id7ad8c3956bba9832cc028db628cfabe58a1d8d9
    Reviewed-on: http://gerrit.openafs.org/2158
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9b1f0e90bf0b7bb6c2d018bb9a65986f4039e4ef
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 14 13:35:12 2010 -0400

    Windows: define errno_t on compilers older than 1400
    
    Visual Studio older than 1400 (VS8) does not define errno_t.
    
    LICENSE MIT
    
    Change-Id: I27c0892d8ba4a371417f635b0d6e5677fa655422
    Reviewed-on: http://gerrit.openafs.org/2157
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit eaeff661c26b0f5a504a547952ea1d0f0241b539
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 20 15:22:11 2010 -0500

    ubik: add interface for reading during write locks
    
    Add ubik_BeginTransReadAnyWrite, which allows for reading from the
    database, even while there is a conflicting ubik write lock. Reads are
    still blocked while the local database is updating due to a write
    transaction commit.
    
    Change-Id: I5604fa3cc8a334606f5e3535aed6f6cedcb5f167
    Reviewed-on: http://gerrit.openafs.org/2103
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b8177960d4e376011adf379b87d8b8ba051c0fd0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 22:05:27 2010 -0400

    arm darwin port
    
    make things buildable on arm darwin
    
    Change-Id: I88af2b82e9ed356fd57aa8f05dfee71d7fa6cd8a
    Reviewed-on: http://gerrit.openafs.org/2153
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f790747143372e307dd285b08c270650dd9c5c12
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 11:03:25 2010 -0400

    ktc newpag stub when environ is not supported
    
    on macos systems where we can't get the environment,
    just return from ktc_newpag
    
    Change-Id: I9a169d0bf035c40d727a386bb3d2070eea225ed4
    Reviewed-on: http://gerrit.openafs.org/2150
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8af23688c0a2250f64e6a7b8794fde77ae9394b4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 10:57:38 2010 -0400

    darwin afsd include cleanup
    
    remove mach port stuff from non-kernel version (it's for DiskArb)
    
    remove sysconf, iokit, corefoundation, dns_sd from kernel version.
    
    Change-Id: Ibdf9d8a71f5f0fee659d0c05eea4811617c2b34f
    Reviewed-on: http://gerrit.openafs.org/2149
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cc9d358cd83c0e542b57ac6c25cb27824b638c32
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jun 12 19:43:05 2010 -0400

    Linux: Fix RCU_READ_LOCK test
    
    The names of some configure defines changed with the recent autoconf
    cleanups.  This one was missed and was left with the old value.
    
    Change-Id: Ibce5e36b8ae6becdfa61bf6e9c440b3d9a6fa272
    Reviewed-on: http://gerrit.openafs.org/2130
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1486563b2b6dc3b7d1f598aa963bd4e0f84bdb52
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 10:54:50 2010 -0400

    afsd mill dup sys/mount.h include
    
    we include sys/mount.h twice. don't.
    
    Change-Id: Ifc872488086a00d32b564d60a5f9a8b374e8f752
    Reviewed-on: http://gerrit.openafs.org/2148
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3514c22d061171a1557509a728bc1fd523c9b956
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 09:49:32 2010 -0400

    generated file target
    
    in order to cross compile, allow a way to generate generated files on the host
    
    Change-Id: I9639f350b179dbeb3d45802e8685da88a3b06c83
    Reviewed-on: http://gerrit.openafs.org/2147
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit de75d9d8aa490935ec65947fc6d82a19f936b119
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 13 01:51:30 2010 -0400

    buildtools target
    
    if you wish to cross compile, you want these things. arrange to
    be able to build just them
    
    Change-Id: I6bee40b61a16722c402832bba39d2e88dcabec25
    Reviewed-on: http://gerrit.openafs.org/2145
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d26f5e158cffa313d0f504e7ba3afc1743b5d1ef
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 14:47:24 2010 -0400

    unix cm activate mtu pings
    
    set an error code so idle dead time is enforced on sending. needed
    in order that MTU pings be activated.
    
    Change-Id: I8cf1ca81e6519b440fc679e85f327f338400c29a
    Reviewed-on: http://gerrit.openafs.org/2116
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c7f9307c35c0c89f7ec8ada315c81ebc47517f86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 14:37:39 2010 -0400

    rx mtu ping handling
    
    engage mtu pings. only occur while a call is active but results are
    cached per-peer. requires idle dead time to be in use, or does not
    activate. (needed to time out the call, otherwise, keepalives will
    succeed and the call will thus not hit regular "down server" timeout)
    
    Change-Id: Ic29b1b5713fb6debde14f4adfd5019ee80cc9e3c
    Reviewed-on: http://gerrit.openafs.org/2115
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c62cb89abb494630c12994f702d6986de2a38fe5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 11:41:23 2010 -0400

    path mtu don't track nonsequenced packets
    
    for the purpose of mtu discovery, we need a sequence number to
    correlate if a large packet is acked. don't track sequence number
    0 packets. a later change adds the mechanics needed for MTU pings
    
    Change-Id: I83d4466115bbd45acdc2777bfbef0ff393dd5a3f
    Reviewed-on: http://gerrit.openafs.org/2114
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit be035b08248fa3e1f31f6911e9dc877eb5d53f82
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 11:37:35 2010 -0400

    rx checkcall kill extra indirection on call for conn
    
    we already set a local variable, conn, to call->conn. use it instead
    of dereferencing call->conn repeatedly
    
    Change-Id: I5d38edc1d3507a717598140393094b1ba22ced46
    Reviewed-on: http://gerrit.openafs.org/2113
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 658d2f47281306dfd46c5eddcecaeadc3e3e7fa9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 11:34:39 2010 -0400

    idle dead time track less
    
    retransmits don't count as sends for idle "send time" purposes.
    neither do ping acks. disallow both in computations.
    
    Change-Id: I599bb1111189efd21580d357c31c043f2315f910
    Reviewed-on: http://gerrit.openafs.org/2112
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ab45d1adc11c756f426baa076ab423b4e969b5d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 10 11:24:09 2010 -0400

    unix cm log path mtu warning when retrying
    
    if RX_MSGSIZE is analyzed and we'd retry, so indicate to our users
    
    Change-Id: I77aba5dffd4280e0ee43383cadb34aca4042cbd6
    Reviewed-on: http://gerrit.openafs.org/2117
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f2f3c24b2c374e4c7e2b53cacc4959f592b8310b
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Jun 13 18:16:37 2010 -0400

    mcas fix gc_get_tag return type
    
    The return type from gc_get_tag is char *
    
    LICENSE BSD
    
    Change-Id: If15259858b84f71d969f1e7713371f3de4e0c3a5
    Reviewed-on: http://gerrit.openafs.org/2151
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 77684b64dbf721a9a5d41aa1c70fd175fd27b329
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Jun 13 18:24:48 2010 -0400

    mcas cleanup inc/dec macros
    
    fix type of intermediate value used in CAS operations, and reformat slightly.
    
    LICENSE BSD
    
    Change-Id: If49be8e020e0f735d67290440b1a74caccf90bf0
    Reviewed-on: http://gerrit.openafs.org/2152
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9baec50e7bfa0d900bc33d91a277f24e72889e40
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 10:42:43 2010 +0100

    libadmin: Don't dereference NULL pointer in cmd
    
    If DoBosHostList ends up being called without the -server argument
    in its command structure, then a printf will attempt to dereference
    a NULL pointer to the -server field.
    
    Caught by clang-analyzer
    
    Change-Id: I1114406d03b265f4d780efd8e84fea53013cb51c
    Reviewed-on: http://gerrit.openafs.org/2143
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 904c9fbebab97b760dd853fa393e1c576c7db00c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 10:35:34 2010 +0100

    fs: Can't use store behind data if pioctl errored
    
    If the call to a pioctl returns an error, it's possible to reach
    the end of the storebehind function and try and print an old, or
    bogus, value from the pioctl data block.
    
    Caught by clang-analyzer
    
    Change-Id: I1209c0c24730273510fbad98a75a429917836605
    Reviewed-on: http://gerrit.openafs.org/2142
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6dd07af215e2cc75cb7c902b5a06920a5ee5235c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 10:26:09 2010 +0100

    viced: CopyOnWrite2 shouldn't return undefined val
    
    Unless CopyOnWrite2 encounters the condition where
    (rdlen != length) || (wrlen !=length) it will never set a value
    for the 'rc' return code, and so return with an undefined value.
    
    Looking at the code, it looks like rc should be 0 in all other
    situations, so this patch provides a default value.
    
    Caught by clang-analyzer
    
    Change-Id: If3e528f3d66abb3dde6da2304084f7698c05b863
    Reviewed-on: http://gerrit.openafs.org/2141
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0deaa4d58cdd0af2b402e06df1edd0cf4d49074c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 10:25:07 2010 +0100

    Formatting fixes
    
    Reformat the CopyOnWrite2 function to match our current coding style
    
    Change-Id: I9483c2d391932d675c6c76d6edbb2b8f519b2568
    Reviewed-on: http://gerrit.openafs.org/2140
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e35e0b732db1132de4b5f9af050cf6939792ef8e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 00:23:22 2010 +0100

    vol: open() needs mode if called with O_CREAT
    
    If open() is called with a the O_CREAT flag, then it requires a
    3rd argument, containing the mode with which to create the file.
    On DARWIN (when we always use O_CREAT), and on other platforms
    where the first call to open returned E_NOENT, we weren't doing this,
    and so were presumably getting a random mode of whatever garbage was
    on the stack.
    
    Caught by clang-analyzer
    
    Change-Id: Ic173e582e0d46f6d4cf8801dc7a6b4b393db5063
    Reviewed-on: http://gerrit.openafs.org/2139
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c880fe7740864daca59b93d35055c1973d9382a9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 00:16:11 2010 +0100

    audit: result is only used on AIX
    
    The 'result' variable is only used on AIX - only bother assigning
    it when we're building there.
    
    Caught by clang-analyzer
    
    Change-Id: I06848837282ff3f318474f55f2ee013255ad37c8
    Reviewed-on: http://gerrit.openafs.org/2138
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 713b65adaa756b5a66ccb0620d5f2bc50642f2f1
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 12 16:07:52 2010 -0700

    Avoid off-by-one error when saving the password in klog
    
    When klog saved the password entered by the user to allow attempts
    at multiple AFS principals without reprompting, it copied the whole
    buffer according to the declared reply length into local storage.
    This was done without regard to the local allocated storage size,
    and was then nul-terminated without regard to the allocated storage
    size.  Both klog and Heimdal use a size of BUFSIZ for the reply
    buffer by default, which meant that klog on Heimdal was writing past
    the end of the allocated structure when nul-terminating the password.
    
    Store our allocated buffer size in the struct and only copy at most
    one fewer than that many characters, and then nul-terminate
    accordingly.
    
    (The assumption that BUFSIZ is always long enough is still bogus,
    but that's larger surgery.)
    
    Change-Id: Ic8d4357aad2f8dfa0fffe9849d2546a88ecd246a
    Reviewed-on: http://gerrit.openafs.org/2129
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bc8f2bfb1cc78458729ca29c6623adff80237018
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jun 12 20:43:25 2010 -0400

    Linux s390x: replace AFS_64BIT_KERNEL with AFS_LINUX_64BIT_KERNEL
    
    The s390x param.h file defines AFS_64BIT_KERNEL, but this looks to
    be AIX specific, and some Linux headers expect AFS_LINUX_64BIT_KERNEL.
    This causes many errors because we end up trying to use struct flock64
    instead of struct flock.
    
    Change-Id: I39a4a94fa895143172c1ee75ff71c2015232156f
    Reviewed-on: http://gerrit.openafs.org/2131
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0efea8e2b1162ef88ef27daeffa1acb69c850566
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jun 13 01:44:27 2010 +0100

    bucoord: Use mkstemp properly
    
    Use mkstemp wherever we have it available, to silence warnings
    about mktemp's safety.
    
    When we do use mkstemp, use it properly. It doesn't return void,
    it returns an open filehandle. Convert this filehandle into a FILE *,
    rather than throwing it away, and leaking an open file descriptor.
    
    Caught by clang-analyzer
    
    Change-Id: Ib5864f684c6d5a8686e0a872364a645c90a29390
    Reviewed-on: http://gerrit.openafs.org/2144
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad3aa5205b8c4f645881276e4a9b7ce9066c3e96
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 23:59:49 2010 +0100

    comerr: Don't leak CFStringRef
    
    If str is NULL on entry to _intlize, than it will leak the
    CFStringRef that it constructed a few lines earlier. Fix this.
    
    Caught with clang-analyzer
    
    Change-Id: I6d62e7792918da95e4fed1c676d14ad9124d93fa
    Reviewed-on: http://gerrit.openafs.org/2137
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5388e1425d361a52728ce113fb31fb27f7e5539c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 23:50:29 2010 +0100

    libadmin: Don't use undefined value
    
    If IsValidCellHandle returns false, then we can jump to
    fail_pts_GroupMemberRemove, and end up using a value for
    ids.idlist_val which hasn't been defined. Fix this.
    
    Caught by clang-analyzer.
    
    Change-Id: I030d155f9ad2481250e84c31d4d7d26cb39a9c61
    Reviewed-on: http://gerrit.openafs.org/2136
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6c645092eeb9c44d45d5ceab264a360eef7f2536
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 23:49:34 2010 +0100

    Add support for clang compiler attributes
    
    Rearrange the way that we define compiler attributes so that we
    can define them for clang, too. Don't assume that clang will support
    all of the attributes that gcc does, so split them up into separate
    sections.
    
    Change-Id: Ic6233f5c63a07b3ef99a85ae3be9e45e28387127
    Reviewed-on: http://gerrit.openafs.org/2135
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8faceb4ba4c66069a03fc03a57d8b0af03dfbefc
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 23:46:29 2010 +0100

    Add AFS_NORETURN macro and use it
    
    Add the AFS_NORETURN macro which can be used with gcc compatible
    compilers to indicate that a particular funciton prototype will
    not return control to the caller. This both improves code quality,
    and helps with static analysis.
    
    Use this to flag afsmon_Exit, db_panic, osi_Panic, Abort, Exit
    and the error handlers for osi_Assert and our local assert fn
    all as being noreturn.
    
    Change-Id: Ic6c4ae319af3d6f7665c9ee5072b556c01850982
    Reviewed-on: http://gerrit.openafs.org/2134
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 07bd99c9d52712b0282d709d294d33d382dcbe81
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 23:33:07 2010 +0100

    rxgen: Remove inlist from autogenerated code
    
    The 'inlist' variable is only used by code that is #if 0, and never
    emitted by the rxgen source. Remove the definition, and assignment,
    to this variable.
    
    Caught by clang-analyzer
    
    Change-Id: Ife162d392a47c48e1eebd75fe2c0af9524cd758a
    Reviewed-on: http://gerrit.openafs.org/2133
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 09e17c245220203b7fc14cb5908f8475d79a0707
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 22:25:35 2010 +0100

    Changes to build with clang on Mac OS 10.5
    
    clang defines __x86_64__ and doesn't define __i386__ when building
    on a 64bit Leopard machine. Change the defines in param.h so we
    can build on this platform.
    
    Change-Id: Icfc16ca83162e8148d4261207c05d90d12cbabc2
    Reviewed-on: http://gerrit.openafs.org/2132
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 084a7f1beb9925372d3d4e0af1a2e3f388bc4a53
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 17:17:43 2010 -0500

    Document vos listaddrs -host and -uuid
    
    Document the -host and -uuid flags to vos listaddrs.  They were mentioned
    in the SYNOPSIS, but not in the OPTIONS section of the manual page.
    
    Change-Id: I96e6b67b7239d9455060fd0c76b8d44f41a010a2
    Reviewed-on: http://gerrit.openafs.org/2083
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 2af0cca23b79da3961618640f9b0b2cccbd80bc9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 12 22:59:23 2010 +0100

    Linux: Fix set_cr_group_info and cr_group_info
    
    Commit dc85abca renamed set_cr_group_info to afs_set_cr_group_info
    and cr_group_info to afs_cr_group_info, but didn't catch all call
    sites. In particular, those in the NFS translator, in non-keyring
    code paths, and in the 2.4 code, were missed.
    
    Thanks to Adam Megacz for the bug report on openafs-info.
    
    Change-Id: I71f8cc27d499c98d164d05e02f7d5b2c5d4c1933
    Reviewed-on: http://gerrit.openafs.org/2127
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dcd3e1fa111d3b6dfeb5965a487285119619f362
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 10 11:51:57 2010 -0500

    Do not set inUse for non-fileserver non-DAFS
    
    Setting inUse in a volume header to anything besides 1 is a
    DAFS-specific change. For non-DAFS, non-fileserver programs do not
    touch inUse. Since inUse is not cleared for non-fileserver non-DAFS,
    make sure not to set it for non-fileserver non-DAFS.
    
    Change-Id: I4d50299d4dc4fd8757906ba493d182b386dd9b1b
    Reviewed-on: http://gerrit.openafs.org/2122
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit df18c9e895e75e77ed466dea3b06ef2a0a07260a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jun 11 16:51:02 2010 -0500

    vlclient: work with non-space whitespace
    
    Make vlclient work with non-space whitespace separating arguments.
    This also makes it cope with a trailing newline that fgets() gives us,
    making this more intuitive to use.
    
    Change-Id: Ida4da9f997ac073a5afa6c95e1b3cec180c18e1a
    Reviewed-on: http://gerrit.openafs.org/2126
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6bc2b1af64a12a0cd3b3792803b71e92099425af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 11 15:06:24 2010 -0400

    dafs state analyzer shouldn't require trailing spaces in commands
    
    the tokenizer didn't null out \n, but the strcmps for commands didn't deal,
    so this basically works badly interactively. all commands not recognized.
    
    Change-Id: Ifa7f8c0204a83d27f8876af8de94cb338499cdc0
    Reviewed-on: http://gerrit.openafs.org/2125
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f4fb6cd4bf4bbfffef4cd3a9a36b3f5c23d447a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 10 10:29:39 2010 -0500

    Remove afsio warnings and errors
    
    Fix a few warnings and errors in afsio, so it can compile:
    
     - inlcude rx/rx_prototypes.h, not rx_prototypes.h
    
     - only declare 'code' in SRXAFSCB_TellMeAboutYourself, and the global
       rx_mtu in AFS_NT40_ENV, since they're only used on NT40
    
     - remove declarations of the unused variables 'host' in
       HandleLocalAuth, 'i' in readFile, and 'i' in writeFile
    
    Change-Id: If39420cca791669200ccb4d3f46aa5ac7eb89c7d
    Reviewed-on: http://gerrit.openafs.org/2121
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 48d3fd9eedc122dec2c7b76f97078c56a77af89b
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu May 27 19:14:20 2010 -0400

    windows  cm_BeginDirOp add flags (nobuildtree)
    
    Add a flags argument to cm_BeginDirOp, and define a flag
    CM_DIROP_FLAG_NOBUILDTREE which asserts that the operation
    being synchronized does not require scp->dirPlus to be
    constructed.
    
    Change-Id: Ibc4345574da3c1e7717c83b64a83260f70a3b06c
    Reviewed-on: http://gerrit.openafs.org/2053
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 60e5d85fd089af9b1efff6ac5b8577c14a04e021
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jun 11 10:48:37 2010 +0100

    RX: Can't assert a void result
    
    We can't assert(MUTEX_DESTROY(blah) == 0) when the MUTEX_DESTROY
    macro already returns void (and asserts), as it does in the
    pthread case. This fixes the build failure introduced by
    53c9258cd7300c03be3f3e50003cad3dfc59baf3
    
    Change-Id: I0b7a30e785de3437f0c1e264b4a63c87f63b6783
    Reviewed-on: http://gerrit.openafs.org/2120
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 53c9258cd7300c03be3f3e50003cad3dfc59baf3
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Jun 8 18:29:13 2010 -0400

    rx service specific data
    
    Adds rx_GetServiceSpecific and rx_SetServiceSpecific to the rx_service interface,
    conforming to the equivalent calls in the rx_connection interface.
    For consistency, the implementation strategy is the same.  The intended
    use is to more cleanly support server multiplexing within an RPC-based
    test dispatch library.
    
    Change-Id: I6a8968484efe2c858857008321996e67328bb75c
    Reviewed-on: http://gerrit.openafs.org/2097
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 157a274b8b1f6c39751d876354e1d8453d66b864
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 21 22:16:38 2009 -0500

    Break origin's callback for RXAFS_Rename target
    
    When we RXAFS_Rename something, the status of the renamed FID can
    sometimes change, and thus we break callbacks on it. Currently, however,
    we do not break the callback for the originating client, even though the
    status of the target changes and we do not return an AFSFetchStatus to
    the caller.
    
    Since the callback is not always broken for the target, it may not be
    immediately obvious to client implementations to implicitly break the
    target's callback. Since we do not have an explicit protocol
    specification saying that the callback is implicitly broken, break the
    callback for the origin client as well, to be safe.
    
    Change-Id: I97d90518a240f852013d1d63fccef663c8b0e998
    Reviewed-on: http://gerrit.openafs.org/709
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 92d67bee7aae20498eefb77c06b0a085c5d069ce
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 9 15:56:26 2009 -0500

    Avoid unnecessarily updating .. in SAFSS_Rename
    
    Currently the .. entry for a directory is always recreated on a Rename
    operation, even if the parent directory does not change. Now, avoid
    altering the directory at all (including no COW nor DV bump nor vnode
    modify time update) when we don't need to.
    
    Change-Id: I53478ec05e2fc6362836043476ff67e2c41b7feb
    Reviewed-on: http://gerrit.openafs.org/436
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b9ef2051c5affe597995df530a386baaa9807a9e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 9 13:55:14 2010 -0400

    Windows: Revise SMB QuerySecurityInfo for MS10-020
    
    MS10-020 (http://support.microsoft.com/kb/980232) has caused
    many problems for implementors of SMB 1.0 servers and applications
    that call GetFileSecurity() without checking the return code to
    determine if the call succeeded.  The gist of the vulnerability
    was that the SMB redirector would pass any buffer it received
    to the application regardless of whether or not it was valid.
    MS10-020 protects the applications by strictly validating the
    SMB response data structure and the data in the security descriptor
    that is returned.
    
    The problem for SMB 1.0 server implementors is that there have
    been at least three different protocol descriptions for
    NT_TRANSACT_QUERY_SECURITY_DESC published over the last decade
    and all of them are incomplete.  Therefore, just about no one but
    Microsoft has an SMB 1.0 server implementation that produces the
    exact out that they are expecting to validate.
    
    The end result is that in an attempt to protect applications from
    crashing due to invalid input being passed in directly caused
    dozens of applications to crash by not returning any security
    descriptor data at all.  Even when the applications didn't crash
    they might not have been able to save their data.  Cisco WAAS
    and NetApp DataOnTap systems were most adversely affected and
    they have had CIFS protocol licenses for many many years.
    
    To fix OpenAFS here is what needed to be done:
    
    1. Instead of returning a security descriptor that gives ownership
       to the NUL SID, give it to the Everyone SID and set the flag
       that states that everyone has full access.
    
    2. Validate the input parameters.  In particular, check to ensure
       that the SMB file descriptor is valid and the file has not
       been deleted.
    
    3. Enforce the maximum output data and parameter counts.
    
    4. Handle buffer overflow and buffertoosmall conditions
       in the manner that Microsoft expects them to be handled.
       In particular, note that the parameter data which is returned
       in the SMB Data Region is not counted in the Data Count.
       Even if MaxData is 0, we can still return parameters values
       as long as MaxParm is large enough.
    
    LICENSE MIT
    
    Change-Id: I95034bc6f24a282decc507edcffb93bc58b986be
    Reviewed-on: http://gerrit.openafs.org/2110
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 368ba0478c79d3ab00b0440ca763babd7583b30e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 7 00:29:06 2010 -0400

    further constrict nat pings
    
    one more constrainment of nat pings on unix
    
    Change-Id: I8b3db989b0e16a79cd63795147145c5e0ab55e6e
    Reviewed-on: http://gerrit.openafs.org/2091
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 52ffc6a152fea98c5a4232c9345e7bd89b1c00b7
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jun 9 14:12:49 2010 -0700

    Add additional documentation for the new test suite
    
    Add a copy of docs/writing-tests from C TAP Harness as HOWTO and add
    a README with some additional explanations more specific to OpenAFS.
    
    Change-Id: Ic5b04805db6b00bcb82862ad8d2ebe466f2c266b
    Reviewed-on: http://gerrit.openafs.org/2109
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 00c37e8634b97dba3431804cea467a046be525d5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 21 11:47:42 2010 -0500

    Install pthreaded ptserver and vlserver
    
    When --enable-pthreaded-ubik is specified, install the pthreaded
    versions of ptserver and vlserver instead of the non-pthreaded
    versions. Previously, the pthreaded versions were getting built but
    not installed with 'make dest' or 'make install'.
    
    Change-Id: If2f08342df4c94c1cce3001614d9e050222bf0f6
    Reviewed-on: http://gerrit.openafs.org/2102
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d159cd955f4639334a963d92d82cd90318be5999
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri May 21 11:19:53 2010 -0500

    Move FreeBlock prototype to vlserver_internal.h
    
    FreeBlock is only used in internal vlserver code and should not be
    called by anything else; it should not be prototyped in a public
    header. Move its prototype to go along with the other vlserver
    internal prototypes.
    
    Change-Id: Id66f046c76a9d4c454bbd6fd6e65c75dbeccf68e
    Reviewed-on: http://gerrit.openafs.org/2101
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7912910fd85ed28fdda8a034225ea041f554fea9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 2 15:06:51 2010 -0500

    Define updateUbikNetworkAddress static
    
    updateUbikNetworkAddress is static, and its prototype says so. The
    actual implementation of the function lacks 'static', though. Add it.
    
    Change-Id: Ida8e54cecabfffb2adbeb5f12d233668897893f8
    Reviewed-on: http://gerrit.openafs.org/2100
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6ee6125f7178d9d2f93a8cb10532412bf0e295fc
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 8 18:51:16 2010 -0700

    Fix the trailing #endif comment in tests/tap/basic.h
    
    Change-Id: I3a7dbda8d2792229365df4266ca43cbb4bc815bf
    Reviewed-on: http://gerrit.openafs.org/2099
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 74a332e7ee69256c232e4f583f7c10e238cd3ac5
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 8 18:40:11 2010 -0700

    Add okv function to the TAP test library
    
    Add an okv() varient of the ok() function that takes the arguments as
    a va_list instead of as a variable argument list.  This makes it easier
    to reuse ok() when writing other tests.
    
    Change-Id: Icaeaaf9d6bd9d54bfd886a75961d98367ee0fb9a
    Reviewed-on: http://gerrit.openafs.org/2098
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 53304359a77442cf3dd3f9f2dc8543a1d16af668
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jun 7 18:18:39 2010 -0400

    Windows: Detect if AFSCache is memory mapped to a new address
    
    The Windows AFSCache paging file contains pointer addresses
    that are only valid if the file is memory mapped at a specific
    memory address.  If the file is mapped at a new address, the
    pointer values will be invalid and the service will crash with
    an invalid memory access.
    
    Check for address consistency and force the cache to be rebuilt
    if the consistency is lost.
    
    LICENSE MIT
    
    Change-Id: Ie7fb64659f808f09279445f47c2f1385be0a53f0
    Reviewed-on: http://gerrit.openafs.org/2095
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8d18d4773a256b5bb567752e7f923b7713107cb0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 8 10:38:07 2010 -0500

    Solaris: lookup "" like "."
    
    At least on some versions of solaris, we can get passed an empty
    string to afs_lookup, if the root directory is in AFS (e.g. after a
    chroot). Interpret this as the same as looking up the "." entry;
    otherwise we return ENOENT, implying that the "/" directory does not
    exist, even if its subdirectories do.
    
    FIXES 127356
    
    Change-Id: I84283e78fbf33b946afaf3c80ef4a1a679e8fc93
    Reviewed-on: http://gerrit.openafs.org/2096
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b89a9e4fa001b453a3ef5f041ac7978ba696b8e3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue May 18 11:39:21 2010 -0500

    libafs: consistently hold vnode refs
    
    Make all common libafs code call AFS_FAST_HOLD to hold an afs vnode
    reference, instead of sometimes calling VN_HOLD(AFSTOV(tvc)) directly.
    Make AFS_FAST_HOLD always call osi_vnhold, and have each platform
    define osi_vnhold for their platform-specific quirks (as it was doing
    before).
    
    This way, if a platform has an osi_vnhold that is special somehow (on
    solaris, we bump a VFS refcount if the vnode refcount goes from 0->1),
    it will always be called on vnode references.
    
    Change-Id: I7bb2b5ac116c8e86f6c6c0d40f414523870275a3
    Reviewed-on: http://gerrit.openafs.org/1987
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eee8bc9cf9fa53488abd973249b8b61bc3f61956
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 7 11:42:02 2010 -0500

    AIX: make osi_procname a stub
    
    'curproc', 'curthread', or other such conveniences do not exist on
    AIX, so the current osi_procname implementation breaks the build.
    
    Determining the current process name on AIX is, while possible,
    difficult and error-prone. Since we only need the process name for
    informational messages to users, don't bother trying to determine it,
    and just return the empty string so we can build.
    
    Change-Id: I452a9786d809c3dee3da519cd3d6ca053f8d7ab8
    Reviewed-on: http://gerrit.openafs.org/2094
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 54fbf60cdd62469cff724b445d01c15ba756e3df
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 7 12:18:53 2010 -0500

    Make lib/afs.exp in sys_depinstall
    
    The AIX libafs uses lib/afs.exp to build, and libafs depends on
    sys_depinstall. So, make lib/afs.exp in addition to
    include/afs/afs.exp in sys_depinstall.
    
    Change-Id: I8788a49cd4a5e7545f0f1f45572cdfb0f014c3db
    Reviewed-on: http://gerrit.openafs.org/2093
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a4bca7737682d23577c1f50c053438c657e85018
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jun 7 12:13:11 2010 -0500

    AIX: declare code in osi_TryEvictVCache
    
    osi_TryEvictVCache was missing 'code's declaration. Declare 'code'.
    
    Change-Id: Ife5b9bfaea4d6a88bcbd82b862e26afcee1c149f
    Reviewed-on: http://gerrit.openafs.org/2092
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 85997ac89fd44e6658291adcd1a064ff77235566
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 5 19:34:29 2010 -0400

    Windows: remove src/NTMakefile
    
    NTMakefile was moved from src to the top level.
    A second copy in src just gets out of sync.
    
    Change-Id: I9474fab56cee46c3acb1758aee62729c1cfadd7b
    Reviewed-on: http://gerrit.openafs.org/2088
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 24ff8eb0dd64d2fe948899a7273293b0eb79600c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jun 5 19:29:59 2010 -0400

    Windows: Cleanup .exp .res .manifest and others
    
    Fix the cleanup procedure to work when the tree has not previously
    been built.
    
    Delete .exp, .res, and .manifest files from the $(OBJ) tree.
    
    Perform cleanup on all language directories.
    
    Change-Id: I2a24c69293066f012cb869fe67dbacb5ffdc2d43
    Reviewed-on: http://gerrit.openafs.org/2087
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 380f9a46a3feda44621cfe94d93a9c70d3e9ff7f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 12:04:15 2010 -0400

    Windows: Update fs newcell and add VIOCNEWCELL2
    
    The Windows version of "fs newcell" did not accept any parameters
    and behaved quite differently from the Unix version.  Instead of
    permitting new cell information to be added, the Windows version
    simply forced the existing cell information to be reacquired.
    
    This update adds a new pioctl, VIOCNEWCELL2, to support the
    implementation of a Unix-style "fs newcell".  The functionality
    added here differs from the Unix version in the following ways:
    
     1. "fs newcell" with no arguments is still accepted
        in order to maintain compatibility with prior Windows
        behavior.
    
     2. "fs newcell -cell <cell> -dns" instructs the cache manager
        to add the new cell but obtain the vldb server info from
        DNS.
    
     3. "fs newcell -cell <cell> ... -registry" instructs the cache
        manager to add the new cell and also save the cell configuration
        data in the registry for use the next time the service restarts.
    
     4. The -vlport and -fsport options are accepted although the
        -fsport value is currently unsupported by the cache manager.
    
    LICENSE MIT
    
    Change-Id: If62cc8e1c6cc8ba2defb4cd72dae8a87b4d915e0
    Reviewed-on: http://gerrit.openafs.org/2080
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 82e999bf847ef88d357d86015a90cedb47eeb8ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:59:45 2010 -0400

    Windows: Freelance Import CellServDB
    
    Add a new registry option that permits automatic generation of
    Freelance mountpoints for every cell listed in the CellServDB info
    (file and registry).  "FreelanceImportCellServDB".  This functionality
    is only triggered when the afsd_service is started.   The operation
    is performed in the background by the daemon thread after the firewall
    configuration is set.
    
    LICENSE MIT
    
    Change-Id: Ic6cc0738f8c185d77f9cf69d4997b8044522e50e
    Reviewed-on: http://gerrit.openafs.org/2079
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1faf08ccc7704f43cbe57cd54b6458db347bcf91
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 4 00:46:39 2010 -0400

    Windows: engage path mtu discovery for rx
    
    Change-Id: Ice32ca652dfcf1c14577c696eaca074f61a62675
    Reviewed-on: http://gerrit.openafs.org/2085
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ab5b2d2274bcb031ee2d0f8042ab45e15f3c428c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jun 4 00:45:21 2010 -0400

    Windows: enable circular buffer management for rx socket input
    
    LICENSE BSD
    
    Change-Id: Ibbcb6171738b4f6adfb267b5782b53ae7170b0e9
    Reviewed-on: http://gerrit.openafs.org/2084
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7c167febd559de70ec8abd74a34bbc15f44945fd
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat May 29 16:45:04 2010 -0500

    Comprehensive edit of Admin Guide chapter two (first 20%)
    
    Update and revise chapter two (Issues in Cell Configuration and
    Administration) of the Administration Guide for current AFS and current
    computing concepts.
    
    Remove references to an AFS-provided login utility and discuss local login
    configuration for Kerberos more generically.  Further clarify the role of
    ssh in ensuring the user has access to files in AFS during remote login.
    Improve the inode and namei discussion slightly.  Update the setuid
    discussion for the new default of disabling setuid for cells and for the
    known security flaws in enabling setuid.  Modernize terminology for DNS
    around cell naming and remove the descriptions of TLDs.  We can now assume
    our target audience knows this stuff.
    
    Move index terms into the appropriate section for what's being indexed in
    a few more cases.
    
    Lots of other, more minor wording changes and updates.
    
    Change-Id: Id8b1ace5afca6b8b7b2082a9a0779a4b91c89dcd
    Reviewed-on: http://gerrit.openafs.org/2065
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 67e837374649d4def8df6371f104c8b2af928e2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 1 13:10:32 2010 -0400

    rx mtu discovery constrainment code
    
    this code makes us work in the face of a sub1500 mtu network.
    a subsequent commit is needed to make it more effective: attempts
    to grow the mtu must be scheduled so we aren't forced to heavily
    brute-force on failure to discover the exact mtu immediately;
    for performance, we do want to grow to the real mtu.
    
    Change-Id: If876c134efd4b0952035193ef00a6e780f7adc64
    Reviewed-on: http://gerrit.openafs.org/2069
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8be3eee95ebd7c387c4745d2abc0f4907df6aaf7
Author: Simona Poilinca <simona.poilinca@gmail.com>
Date:   Fri Jun 4 00:42:38 2010 -0400

    Windows: convert cm_config.c to use strsafe library
    
    Replaced the unsafe string functions with the safe versions
    available in microsoft's strsafe library.
    
    Change-Id: Id9e9acf7eaa1b045d91b972b37a411c7a94ed3ac
    Change-Id: I377fe4e2e5bac904f5dd28916f1244262e1933c2
    Reviewed-on: http://gerrit.openafs.org/1778
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit dbef3c8b0bd5bab21943071c455b4bf2436507e5
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Jun 3 23:58:42 2010 -0400

    Windows: Support building a lite-client installer
    
    If LITECLIENT is defined when invoking the WiX based MSI installer
    build, we will build a light-weight client installer MSI.  This
    minimizes the size of the installer for users who only need client
    functionality from OpenAFS.
    
    The light-weight client excludes:
    
      - Server components
      - Control center components
      - Administration utilities
      - Debug symbols
    
    Lite-client installer can also be built by invoking target wix-lite
    from the root NTMakefile.
    
    Change-Id: I544cdb7170d17358eb235f3c476c468dbae62776
    Reviewed-on: http://gerrit.openafs.org/2034
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1e0c6d22d7c44aad6aa0a0051e094a3558045dd2
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Jun 2 18:12:36 2010 +0200

    "fs checkservers" during cache creation can crash client
    
    Many pioctl calls pass as soon as the afs_resourceinit_flag is set,
    which happens relatively early, alas before the cell name is set.
    PCheckServers and others need the latter and dereference NULL.
    
    Easiest: set the cell name as soon as it is known and the dynroot initialisation
    piggy-backed to it can be done.
    
    Change-Id: I9985f2c4a0afddfed04b85338108b3d6e97b64e6
    Reviewed-on: http://gerrit.openafs.org/2072
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a069b18dfbc2e1a4834df9cc7c477d65a05b342c
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 13:15:30 2010 -0500

    Document in SalvageLog(5) the per-partition salvager logs
    
    Document that salvager creates separate logs per partition when doing
    a full server salvage and then appends them all to SalvageLog when it
    completes.
    
    Change-Id: I2ffa8c79ef83b590f90bb014fc318559deae7113
    Reviewed-on: http://gerrit.openafs.org/2035
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit a546f1cd58abcdc129035cf4614c4b55f1e1b1f8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:54:04 2010 -0400

    Windows: Fix usage of cm_FreeServerList
    
    cm_FreeServerList will set the input variable to NULL if the
    contents of the list could in fact be freed.  If they could not
    be freed, the individual entries are marked for deletion and will
    not be subsequently used.  Do not set the list variable to NULL
    after calling cm_FreeServerList otherwise memory can be leaked.
    
    LICENSE MIT
    
    Change-Id: Ia3cacd760d7395a2dd6b063643a8aa86f9e468b9
    Reviewed-on: http://gerrit.openafs.org/2078
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 64e08dca0bdbb32ec98218a0b0fcd486108af6c1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:51:17 2010 -0400

    Windows: Reduce number of Nat Ping Connections
    
    Instruct rx library to only perform NAT pings on file server
    connections that are actively in use and which are anonymous.
    
    LICENSE MIT
    
    Change-Id: I6b74e8070f2c522ed13e0c06ea7a304cce525ab9
    Reviewed-on: http://gerrit.openafs.org/2077
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7e9c978b1c9d47a9da0e7f3b6cb7982596eb4cda
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:49:14 2010 -0400

    Windows: Fix cm_IoctlSkipQueryOptions buffer management
    
    When cm_IoctlSkipQueryOptions advances the input buffer
    pointer it must also reduce the available input length.
    
    LICENSE MIT
    
    Change-Id: I4e0d673e3ff5d8621e715d33d73616a22211a8a9
    Reviewed-on: http://gerrit.openafs.org/2076
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 51d954a75c4343d1bc06fc784484894dd9bdb398
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:47:46 2010 -0400

    Windows: do not request KEY_WRITE privilege if not required
    
    When querying the registry cellservdb info the KEY_WRITE privilege
    is not required, therefore do not request it.
    
    LICENSE MIT
    
    Change-Id: I050717be3afb5df979897ffbef65987160a65149
    Reviewed-on: http://gerrit.openafs.org/2075
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 019174fdda5bb6eb376ea78e20db74c7e1f77fab
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jun 3 11:44:33 2010 -0400

    Windows: warning removal
    
    cast away size_t larger than afs_uint32 warnings
    
    use variables with the proper signed vs unsigned state in order
    to avoid signed vs unsigned comparison warnings
    
    disable deprecated string function warnings
    
    LICENSE MIT
    
    Change-Id: I78a3786a0766979c8d83cc5dbd06f91e70b0ee47
    Reviewed-on: http://gerrit.openafs.org/2074
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3ff85264903aef41e63c5a86674ec66857db69f4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 3 15:50:46 2010 -0400

    darwin notify don't recurse on vcache lock
    
    afs_vop_access->afs_VerifyVCache2->afs_GetVCache->afs_FetchStatus->
    afs_Analyze->afs_NotifyUser can recurse and try to notify us. Don't
    worry about it; we're best-effort.
    
    we lack a lock primitive to see if we own this lock.
    
    Change-Id: Ibc0c8a8164a95f0d268e5f1f42a62c3a28c4ab9d
    Reviewed-on: http://gerrit.openafs.org/2081
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a2f3be5265a9e8a7f2cf0dd751a9ab82d289cef8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 3 09:54:28 2010 -0500

    up: refuse multicharacter arguments
    
    The 'up' command currently silently accepts and discards extra
    characters when specifying arguments. This can produce rather
    confusing behavior such as mistyping '-v -1' as '-v-1' resulting in
    the '-v' switch being honored, but the '-1' being ignored. The same
    thing occurs for specifying '-v1', even though the usage message
    implies that you can combine arguments.
    
    So instead, report an error message for any arguments specified that
    are longer than 2 characters, since they are never valid.
    
    Change-Id: I64846b53248ea1d06d03b6ac1fdb4317ba04b03b
    Reviewed-on: http://gerrit.openafs.org/2073
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d263fb1507a8c679fd92b5bd2b6af2f1fb8b3cbf
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed May 26 12:34:08 2010 -0400

    Windows: Fix midl options for generating stub code
    
    MIDL is used to generate server stub code for implementing SMB RPC.
    Fix the invocation of MIDL so that MIDL can locate include files and
    respect AFSDEV_AUXMIDLFLAGS.
    
    Change-Id: I31e90897c8f0d8db6746dbc94a3fe4de53aab060
    Reviewed-on: http://gerrit.openafs.org/2033
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 57d7b5ccf0ddda5a7887d7e84211c3e767a407e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 1 12:13:42 2010 -0400

    rx allow setpeermtu to take a peer
    
    modify setpeermtu to work when a peer is passed in. modify existing
    callers. note solaris caches a whole host's pmtu, so use that
    on all peers at the host.
    
    Change-Id: Iba05fffd47a7c7b63742d6c539be4fe248336fb7
    Reviewed-on: http://gerrit.openafs.org/2068
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ca2bce169e1742e25846ea516e6796de6ac6a282
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 1 12:08:57 2010 -0400

    rx setpeermtu should handle a host correctly
    
    right now, when no port is passed, we don't correctly tweak
    the mtu for all peers on a host. do that here.
    
    Change-Id: Ia07f592bf001415d8a76bd3326f2dc6aa0641809
    Reviewed-on: http://gerrit.openafs.org/2067
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 24b7d39c5f18ca60067e5ab9c8d9c08e9c695789
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 1 12:04:43 2010 -0400

    aklog no krb524 kill warnings
    
    if you're disabling krb524, these variables are unused. make them
    not be part of such a compile
    
    Change-Id: Ib10e8fc82614b7a821daa7c77540ce246551cb0a
    Reviewed-on: http://gerrit.openafs.org/2066
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit af1dbcf0c9d29d2dfaf87c7f6fe64018927626ad
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 16:40:21 2010 -0500

    Add warnings for Authentication Server commands
    
    For each command only useful with the Authentication Server, add
    warnings that the Authentication Server is obsolete and will be
    removed in a future version of OpenAFS.  Encourage people who care
    to update uss to work with a modern Kerberos KDC, recommend kinit
    and aklog or klog.krb5 over klog, and warn that klog will be of
    limited use without an Authentication Server.
    
    Change-Id: Idc78ba548134b83ac1eea0fb81a5bc38a431bb38
    Reviewed-on: http://gerrit.openafs.org/2052
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f05d22c1b9bc21f0baa415444cf4f05aa1de5e0b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 28 08:49:37 2010 -0400

    prune further list of connections we natping on
    
    if it had tokens before, again, still not worth a nat ping.
    nor for the vlserver.
    
    Change-Id: I30281801b604b67b418b8a54a1889c54c8f6e4db
    Reviewed-on: http://gerrit.openafs.org/2058
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 67f1a94234e122a7dfef9808171285e456af5da8
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Thu May 20 18:27:11 2010 +0100

    Rewrite vldb_check -fix
    
    vldb_check -fix was very 'topical' in nature.  It showed signs that
    each sucessive corruption had been treated as a one off needing a
    specific fix.  This made the code difficult to understand and
    incomplete: for instance a single volume on the wrong hash only was
    not corrected.  Further there was some rather unfortunately code which
    would under certain circumstances stamp the last volume at various
    places across the file.
    
    This checkin removes all the old code and replaces it with a
    'systematic' fix.  During the last scan across all the volumes, all
    four of the hash chains are rebuild from the ground up.  We can then
    get rid of the outer 'Mung Until Now Good' iteration and further we
    benefit from a linear run time.
    
    Tested by building several different forms of broken-ness in all three
    chains and then fixing it.
    
    Now with improved logging and correct non insertion of nonexistant elements
    and clean compiled with extra warning.
    
    Change-Id: Id39d806c9c90f67c6967bd99460ba9842a043158
    Reviewed-on: http://gerrit.openafs.org/1991
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 16c4b6e6c06ef2e7cfe77bca0811af9001665805
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed May 19 10:45:57 2010 +0100

    Add bounds checking prior to IOs in vldb_check
    
    vldb_check would just read where it was sent.  This means that if a
    hash entry was beyond the end of file the read would fail and halt the
    program dead.
    
    This change adds checks for that so we can go limping on.
    
    There is no code to fix this sort of corruption.  I have another
    (preexisting) checkin to do that which will happen once I can get a
    clean test run.
    
    This checkin also removes a some pointless debugging printfs.
    
    Change-Id: Ib285e113c8db024de41ffaf6c11ceb2979d07041
    Reviewed-on: http://gerrit.openafs.org/1990
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 20c2acfb2b2c5e6ab36c14726dce6197202f6d4a
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 28 09:42:24 2010 -0500

    Reformat chapter two of the OpenAFS Administration Guide
    
    Purely reformatting to make the document more maintainable.  There are
    no content changes.
    
    Change-Id: I349c8e86de925cbed6e09be529a22e0a08b227f6
    Reviewed-on: http://gerrit.openafs.org/2059
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 2e2494d6dbc3b4584c50b87073a2b7c7a0d13604
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 28 19:15:52 2010 +0000

    Add a sample test program to the new test suite
    
    Add a modified version of src/util/test_ktime to the new test suite
    as an example of how to write a test program with the new harness.
    
    Change-Id: Ifbceff1905f9f0dd686c2a2d2edc2f8796e7918f
    Reviewed-on: http://gerrit.openafs.org/2063
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 194c3f10d4c4d571e5d734baf2dd27331624c084
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 28 11:35:28 2010 -0500

    Import C TAP Harness 1.2 as a testing harness
    
    Creates a new top-level tests directory that will be used for all
    future automated test code eventually.  Import runtests and the
    basic TAP library from C TAP Harness 1.2.  Add top-level check and
    test targets that build the full source tree and then the new tests
    directory, and then runs runtests on the test list.
    
    Change-Id: I896f8ae488cd1dfa8529a10b4b479e45e7c67afe
    Reviewed-on: http://gerrit.openafs.org/2062
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f7cb812d07ba854e69ca8d971cd88d93afe6e01e
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 28 11:34:37 2010 -0500

    Add src/tests/OpenAFS/Dirpath.sh to .gitignore
    
    Change-Id: I027d71ead7c75037bdc070932659c3f7da69dc0a
    Reviewed-on: http://gerrit.openafs.org/2061
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2db48258392cd24f17d0de2b46fceb9039f59953
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri May 28 11:03:50 2010 -0500

    Clean up warnings in the tests directory
    
    Build repair.o with strict aliasing disabled because it addresses the
    same data structure via two different structs at the same time.  Fix
    various other, more minor warnings.
    
    Several fixes here require more Autoconf glue to work properly, but
    that's deferred to future work (such as some HAVE_* defines that we
    don't probe for and the handling of non-native 64-bit integers in
    some of the code).
    
    Change-Id: I721a9fb952d2cf485d2df8e5672e5e5f5d9d6159
    Reviewed-on: http://gerrit.openafs.org/2060
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4d89ce0a89e9b9e2709e6f6d730f245b5bce744b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri May 28 17:48:12 2010 -0400

    Linux: 2.6.35 - fsync no longer takes a dentry
    
    In 2.6.35, the fsync file operations drops the dentry argument.
    Add a configure test and cope.
    
    Change-Id: Iaf660808d52688a4a8fd53a76d8d055602f746b9
    Reviewed-on: http://gerrit.openafs.org/2064
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4596a9d07d99ce17fcf8ae7be6e5e1c2a134e8a
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Fri May 28 13:41:41 2010 +0200

    Typo made sysctl table invisible
    
    AC_CHECK_LINUX_STRUCT for the check for ctl_name in ctl_table instead
    of AC_CHECK_LINUX_FUNC.
    
    Change-Id: Ia0e0de5d62ce7f702a3f1d7a5cd4d19ef726095c
    Reviewed-on: http://gerrit.openafs.org/2057
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0e9d4bc6f261fc8da2a20d1d236993082f70cecc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 18 13:41:38 2010 -0400

    viced: kill console use
    
    don't open /dev/console in the fileserver. if you want this,
    let syslog do it.
    
    Change-Id: I1d7c0fb4a8582b6c781acdb9ae0764b64dc1c301
    Reviewed-on: http://gerrit.openafs.org/1986
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ac971a6c854e466ae412389da04f91298d01f707
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 11:45:06 2010 -0500

    Comprehensive edit of chapter one of the Administration Guide
    
    Update and revise chapter one (An Overview of OpenAFS Administration)
    of the Administration Guide for current AFS and current computing
    concepts.
    
    Replace the Kerberos Server terminology with Kerberos KDC and add
    additional details about the relationship between AFS and a Kerberos
    KDC.  Remove some remaining Authentication Server references.  Add
    some details about the Protection Server management of the mapping
    from Kerberos principals to AFS IDs.
    
    Remove some now-obsolete distinctions and concepts between mainframes
    and workstations and recommendations for server systems.
    
    Reorganize the order in which the servers are discussed to follow a
    somewhat more natural order.
    
    Be clear that the Backup Server is optional and that there are other
    methods available to back up AFS.  Mention backing up to disk as well
    as tape in a few places.
    
    Change-Id: I57ce083a84ca2a44f7a4383d80b05508e6448284
    Reviewed-on: http://gerrit.openafs.org/2045
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 760b43baa807a9c84bf2796d9f6c969819098e2c
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 09:57:42 2010 -0500

    Reformat chapter one of the OpenAFS Administration Guide
    
    Purely reformatting to make the document more maintainable.  There are
    no content changes.
    
    Change-Id: Ic3fb32ef68c14418b3ac6bab92fda759db89b394
    Reviewed-on: http://gerrit.openafs.org/2044
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5f2c6bd341674618d14658d0f642465b0f0259b9
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 23:23:10 2010 -0500

    Add k_haspag to libkopenafs
    
    Add the k_haspag function to libkopenafs, which returns true if the
    current process is in a PAG and false otherwise.
    
    The implementation currently duplicates code from the ktc_curpag
    function since the latter calls the regular pioctl() interface and
    hence introduces an Rx dependency that we're avoiding for libkopenafs.
    This should be refactored to avoid the code duplication at some point,
    but that will require building a utility library that can be reasonably
    linked into libkopenafs and is therefore deferred for future work.
    
    Change-Id: Ib97322ef24dc3a4e48cb45090c516c95b71e9fc7
    Reviewed-on: http://gerrit.openafs.org/2041
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e29bd1f8d1734c45d244df45202a4b8eb47208c1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 19 15:04:45 2010 -0500

    libuafs: Add uafs_Init compat function
    
    Recent libuafs changes changed the libuafs initialization API. Add a
    uafs_Init wrapper for compatibility in case someone is using the old
    way.
    
    Change-Id: I30611479e0c281526dc52ac6a1969ae526886537
    Reviewed-on: http://gerrit.openafs.org/2047
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3da8b3773f4caa85cf7ef58016a053560b87ca59
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 14:53:57 2010 -0500

    Make all the default target in libadmin samples and test
    
    Change-Id: Idae0c8a6bf1b057d52c1d385daab5193083b63f6
    Reviewed-on: http://gerrit.openafs.org/2051
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fe8db2a6979b96f5ff622c0fe9d42f6694555419
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 12:33:57 2010 -0500

    Clean up warnings in libadmin/bos/afs_bosAdmin.c
    
    Use the correct data structures for BOS timestamps.  Use afs_int32 for
    the expressed timestamps for executables since that's what the BOS RPC
    says it's using for right now; we should change this, but when we do,
    warnings will catch this use along with the others.  Cast some const
    char *'s that are passed into BOS functions that take char *'s.
    
    Change-Id: Iff3a6c42241953ed086f8e739cdb344a41a44635
    Reviewed-on: http://gerrit.openafs.org/2050
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a65d755e5e862b9077439c151dc238fe4ef62725
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 27 09:41:38 2010 -0500

    Clean up the introduction to the Administration Guide
    
    Provide a more useful abstract and remove the (outdated) specific list
    of supported platforms and the M.m version number placeholders.  Update
    the list of associated documents to match their current titles, and
    provide a better description of the Reference Manual.
    
    Reformat the parent document and preface for easier maintenance in the
    future.
    
    Change-Id: I42ce78274ed7c4ca7a2f0b9c5ec2e6f7a786adb8
    Reviewed-on: http://gerrit.openafs.org/2043
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit cc071714fad5ab3a1c27782963fbd8d4d63437dc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun May 16 19:47:04 2010 -0500

    libuafs: Remove afsd symlink in setup
    
    Remove the 'afsd' symlink in the build setup, along with the other
    symlinks. Otherwise, we try to recreate it every time and fail, since
    it already exists.
    
    Change-Id: I8fd70d6c29695f92a5a800bea34630221d142370
    Reviewed-on: http://gerrit.openafs.org/2046
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 314ae59401820ab7a2dae10263959ea055bf6bd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 27 10:58:03 2010 -0400

    background daemon don't wipe code before it gets used
    
    the bop allocation will clear the bop structure on reuse. don't
    clear the error code early.
    
    Change-Id: Ie32bef854d28a575387e2488f10c302486dfd20b
    Reviewed-on: http://gerrit.openafs.org/2042
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c0408db079f58b11d9c53c9e67c556cac142bcbf
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 16:07:43 2010 -0500

    Flesh out NEWS for recent work
    
    Add entries to NEWS for all development releases back to 1.5.36, which
    is the point at which I got bored, taken from the release announcements
    to openafs-announce.  Try to use a relatively readable and consistent
    formatting for all the entries and convert the old entries to the new
    format (mostly).
    
    Further history can be added from the release announcements when I or
    someone else gets bored.
    
    Change-Id: Iaf9171c82ca74cd98be3745d9c1965efc39d889a
    Reviewed-on: http://gerrit.openafs.org/2036
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit c679486e554864df4c98feacc6f759cccb0b69fa
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 14:45:22 2010 -0700

    Update Debian packaging to 1.5.74.1-1
    
    Change-Id: I828f21edffce67eaba6cfdd76e66e754a58e52a0
    Reviewed-on: http://gerrit.openafs.org/2037
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0d66561a0b21572676ee1729a6e925d2f491ab6f
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 22:04:48 2010 -0500

    Fix compilation of the imported config_file.c parser
    
    Include additional missing header files for proper function prototypes,
    define TRUE and FALSE, and declare krb5_clear_error_message as unused
    so that the config_file.c will compile and pass --enable-checking.
    
    Make the build depend on krb5_locl.h.
    
    Change-Id: I25a35098aa81c9d2a0efea48257dcb958602c785
    Reviewed-on: http://gerrit.openafs.org/2040
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 19dee933a0ca1d824edb697e43f29628cce06f55
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed May 26 17:50:43 2010 -0400

    scout.c: only declare width once
    
    The width variable was declared twice, for the whole function
    and also within the for loop, leaving the first one unused
    and triggering a warning and a failed build with enable-checking.
    
    Change-Id: Idd061aa0e9eff1f158bfdbd67a20fe5876570089
    Reviewed-on: http://gerrit.openafs.org/2039
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit dc8f18d6f5003712bc9ef989363137a84953df07
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 31 11:40:42 2010 -0500

    Protect ubik cache accesses
    
    Currently, ubik application cached data could be updated and read by
    different threads simultaneously. Add a mechanism in ubik for
    protecting accessing and updating the cached data. This adds the
    function ubik_CheckCache to do this, and removes ubik_CacheUpdate as
    an exported function (since it's not safe).
    
    Update all callers to use the new mechanism. In ptserver, remove the
    'initd' variable; just rely on cachedVersion and ubik_CheckCache to
    tell us when to re-read the database. Remove db.lock in buserver and
    cheader_lock in kaserver, which served similar (though not completely
    threadsafe) protection as ubik_CheckCache. Add the ubik database lock
    cache_lock to protect the application cache.
    
    Change-Id: I857a67d410e2c539197c5212c3b114c3fd0403c2
    Reviewed-on: http://gerrit.openafs.org/1546
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 5698becffffb49ff49f69ce202032ae0bd9e9f7a
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 16:47:49 2010 -0500

    Fix syntax error when supergroups are not enabled
    
    1f22cab broke non-supergroups builds due to incorrect brace placement.
    Move the correct closing brace outside of the #ifdef.
    
    Change-Id: I2ed3f8f57b35f0030e26306f7e791ea6b5158c9a
    Reviewed-on: http://gerrit.openafs.org/2038
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 916699ed412f865a80106ed4968fd2ede12d16f4
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed May 26 12:31:39 2010 -0400

    Add /dest and /obj to .gitignore
    
    These are build directories used on Windows.
    
    Change-Id: I20c37ae4ada78949c3a09d618476286f64f9b682
    Reviewed-on: http://gerrit.openafs.org/2032
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 5f70221b2c9eb08afbbb6e0c43f6c0276cebbcf3
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 12:20:57 2010 -0500

    Remove references to IBM AFS
    
    Change references to the documentation sets that we still ship to
    reference the OpenAFS manuals instead of the IBM AFS manuals.  Remove
    references to the IBM AFS/DFS Migration documentation, since that
    doesn't appear to be available anywhere any more, replacing them where
    relevant to more generic references to the DFS documentation.  Add
    links to docs.openafs.org for mentions of the manuals in SEE ALSO, and
    standardize on one link format.  Replace a few references to the IBM
    AFS Release Notes with the actual information in those notes, or drop
    the reference if it doesn't seem particularly useful.
    
    Change-Id: Ie9666842f1315891c6a9c37c0424200f4b78bff7
    Reviewed-on: http://gerrit.openafs.org/2031
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit deca334a5c9773f1b873b6260353c5c6cbab0af7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 20 11:27:10 2010 -0400

    avoid nat ping for authenticated connections
    
    this is a cheap way to ensure one nat ping per server. basically,
    only do it for the one unauth connection we have.
    
    Change-Id: I4583112d7b4a10a0e8f524795527d99a5b2adf51
    Reviewed-on: http://gerrit.openafs.org/2010
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9f9ffb7822bf85fc24d29b63c09c124b1e9875af
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 11:33:29 2010 -0500

    Remove references to AFS Product Support in -oktozap
    
    salvager and salvageserver's documentation of -oktozap says to not use
    without consultation with AFS Development or Product Support, left over
    from the IBM product.  Remove those references and add a caution more
    in line with open source.
    
    Change-Id: I136dc145caf3e8e3a992c239e1a46d86f96580ed
    Reviewed-on: http://gerrit.openafs.org/2030
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1f22cab96abd1ec83ea5c0d9c3fc1a405385b8ea
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 11:28:57 2010 -0500

    Remove -rebuildDB flag to ptserver
    
    The -rebuildDB flag was documented to rebuild the Protection Database at
    startup, but it was accepted and ignored in the ptserver source, doing
    nothing.  Remove the documentation and the option recognition in ptserver.
    
    Change-Id: I36f30f38464b602cb4739a958663a6feb5fe27bf
    Reviewed-on: http://gerrit.openafs.org/2029
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 46192481ec162c68491c43635c16047d1b03ecf5
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 26 11:25:39 2010 -0500

    Remove documentation of kaserver -fastKeys
    
    -fastKeys wasn't accepted by the kaserver binary, but was still
    mentioned in the usage message and the kaserver man page.  Remove
    the remnants of the flag.
    
    Change-Id: Ifb3ae49ea0cab80c325a77b0eb1062944697b53d
    Reviewed-on: http://gerrit.openafs.org/2028
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c3f85a084b5b07d4c289cecda92d319e9d94cb7f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Apr 27 22:53:47 2010 +0100

    Add an OpenAFS config file parser
    
    This adds a Kerberos INI style config file parser to OpenAFS, using
    the parser contained in Heimdal as a base. Currently, it only exports
    a very small number of functions, but exporting further functions is
    simply a matter of adding additional shims to hide the Kerberos
    context and other specifics.
    
    Note that we don't want to just use the parser as a library because
    firstly, we don't want OpenAFS to have a Kerberos dependency (as
    other crypto mechanisms will, and do, exist). Secondly, MIT and
    Heimdal use a different API here, so we would have to shim anyway.
    Also, our own parser means that we don't need to worry about passing
    in the krb5 context, and all of the issues that that presents.
    
    Change-Id: Ic0a5ddf03266c454827c6505d5f6ffefcddd2614
    Reviewed-on: http://gerrit.openafs.org/1935
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 55945926f99affdbe3461fa9a1aff751c5ad3c03
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed May 19 12:37:35 2010 -0400

    scout: adjustable column widths
    
    Adds new command line option to scout so users can set the
    number of characters to display without truncating.
    
    Change-Id: I69f159549d7f5b4cfee26c276ad34705f504ee2b
    Reviewed-on: http://gerrit.openafs.org/1951
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 54b3fbe775077c4c4f832a14fae2d046de97fd9a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 25 18:21:32 2010 -0400

    dumpstuff nbytes can't exceed 32 bits
    
    the read returns a 32 bit type; we can't possibly need to write 64 bits.
    (ssize_t is 32 bits on macos and so this ends up being a bad shift)
    
    Change-Id: I4d8f99b0c752a2c75ce65b9cfa1b3cb0d484cc7f
    Reviewed-on: http://gerrit.openafs.org/2024
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0875e29832d496532720812f6ece54813a7a893d
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 25 14:37:05 2010 -0500

    Synchronize LICENSE files
    
    We have two LICENSE files, which had been somewhat independently
    modified.  Resynchronize them, remove trailing whitespace, and convert
    from ISO 8859-1 to UTF-8.
    
    Change-Id: Ia3dba0e328e7f026362e2e8efda206c34ce4e768
    Reviewed-on: http://gerrit.openafs.org/2025
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c8261c63f9e804b62172b48d676d5be03620de2a
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Mon May 24 20:26:46 2010 -0400

    windows  handle NONODE case uniformly in cm_BPlusDirDeleteEntry
    
    Fix handling of a NONODE case in cm_BPlusDirDeleteEntry.  Previously in
    this case, the routine referenced uninitialized memory.
    
    Change-Id: Ic3e3520b4c28ccc52e04486777bdcf0c5e54ef1f
    Change-Id: Id57a72112caf55b4b84ed64f709b8b73c72b7866
    Reviewed-on: http://gerrit.openafs.org/2017
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f7bca6eefdacf2adb6e60bc3eb04fb5b05dae277
Author: Heimdal Developers <heimdal-discuss@sics.se>
Date:   Sun May 9 19:33:54 2010 +0100

    Import of code from heimdal
    
    This commit updates the code imported from the external
    heimdal git repository to their revision
    64651b4be5be1eaacd4388c428cb936cb8be34b5 which is
    described as switch-from-svn-to-git-1210-g64651b4
    
    This commit imports the Heimdal configuration file parser.
    
    Change-Id: I9e061c439f9aabd4f09c876811bd1033d3f25f22
    Reviewed-on: http://gerrit.openafs.org/1934
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7eb19f81d83400ae05749c2fd244476e53d2bf3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 25 00:03:16 2010 -0400

    fs getserverprefs needs a larger buffer
    
    it's very easy for the size of server preferences to be too large for the
    default buffer. cope.
    
    Change-Id: I0535edf784eb9e9a309dc17e571719e204b9d29b
    Reviewed-on: http://gerrit.openafs.org/2021
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e917fc5c474e11e47b656295d73514ca9ec45626
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun May 16 22:48:52 2010 +0100

    Autoconf : Kill dead code
    
    Remove unused autoconf macros - they're not being called, and so
    have bitrotted, and are just cluttering up the tree.
    
    Change-Id: Ib2d1fc5121b6845cf0b500e5aef8ca822be58ad3
    Reviewed-on: http://gerrit.openafs.org/1971
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 5219a6b33b8ea7a793d5b0797026abd7b187f85e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu May 20 11:57:20 2010 +0100

    Linux: Disable syscall probes if we have keyrings
    
    If we are building for are kernel with keyrings, and we can
    guarantee that we can make use of those keyrings, then we no longer
    need to probe for the syscall table at all. Change our default
    behaviour so that when these two conditions are true, syscall probing
    is disabled. Both --enable-linux-syscall-probing and
    --disable-linux-syscall-probing can be used to override the
    autodetection and force things one way or the other.
    
    We have to check that we can use the keyrings because there was a
    window in the 2.6 kernel series where keryings were available, but
    the key_type_keyring definiton (which we use to create the session
    keyring) wasn't exported. In that situation, we attempt to traverse
    the process table and use the type of init's session keyring. This
    traversal is fragile, and if it fails, keyring PAGs will be disabled.
    So, we still want to be able to fall back to patching the syscall
    table, if we can, in this case.
    
    FIXES 125215
    
    Change-Id: I11ba5c68fe37609bbd6b9c9f7e7c699334f42ebc
    Reviewed-on: http://gerrit.openafs.org/2002
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 13dba17d5a845475e8c68ae00c4b77fee12d48c6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu May 6 15:40:36 2010 -0500

    vol, volser, and viced type fixes
    
    Correct many uses of incorrect types for file offsets, sizes, etc. in
    the volume server, fileserver, and the volume package.
    
    Thanks to Tom Keiser who pointed out the incorrect types and suggested
    solutions.
    
    Change-Id: If4aedfe0cc06d05b3775069ae1285d4c330976cd
    Reviewed-on: http://gerrit.openafs.org/1920
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 8a869e0ef99a10f5f26d4f65a96fba5a6440ce93
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 24 22:21:29 2010 -0500

    Add libafs_tree to .gitignore
    
    Change-Id: Iff4a22319be1659f123a3a8b62c27a39d957bc29
    Reviewed-on: http://gerrit.openafs.org/2020
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f924010fbcdcf7e8800165cdcdc4acfedc7225b6
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 24 22:03:49 2010 -0500

    Fix libafs_tree's cross-architecture support
    
    The results of libafs_tree are supposed to build on any platform that
    shares the same basic kernel code, but this had broken in two ways:
    libafs_tree was including a pre-built afs/param.h, which needs to be
    regenerated on different architectures, and the Linux kernel build
    makefile was being pre-generated despite having some architecture-specific
    options.
    
    Copy over more of src/config and postpone generation of afs/param.h and
    generation of libafs/Makefile to the libafs build.
    
    Remove the substitution of AFS_SYSNAME from make_libafs_tree.pl; it was
    unused and now definitely shouldn't be used since it will break the
    architecture-independence of the resulting tree.
    
    Change-Id: I2730d3745cc67cf5f3ae61cf4643842f87865a80
    Reviewed-on: http://gerrit.openafs.org/2019
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8aa5328bd539f88d4e090959e5bd95a19992bcff
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 24 21:34:53 2010 -0500

    Postmoderize use of AC_CHECK_TYPE
    
    Use AC_TYPE_SSIZE_T to handle the ssize_t check (introduced in Autconf
    2.60).  Use AC_CHECK_TYPE, not AC_CHECK_TYPES, to check for sig_atomic_t
    and socklen_t, and define them in afsconfig.h if they're not present on
    this platform.  Do not define them in stds.h, since stds.h is an installed
    header file and cannot rely on Autoconf defines.
    
    Change-Id: I80e1a00efc84420002a95d6cafc25ea70befa49d
    Reviewed-on: http://gerrit.openafs.org/2018
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 48d3ec164bf76708c10d817e7601105cc2798153
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 24 14:28:01 2010 -0500

    Update fs {get,set}serverprefs documentation for DNS
    
    Mention in the fs getserverprefs and fs setserverprefs documentation
    that VL servers may also come from DNS AFSDB and SRV records.  Document
    that SRV record information is not (yet) properly used.
    
    Change-Id: I223efedf4d00ac1b57b3dce74a807790691abdbf
    Reviewed-on: http://gerrit.openafs.org/2015
    Tested-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6916146b466676bc95df000ca4c367ea7c971133
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 27 13:16:20 2010 -0400

    report server address when known for afs warnings
    
    if we have the server info, give an address with the error.
    we could probably give the program name too, as for flock
    warning, but...
    
    Change-Id: I508572357c8c7027003900156dbb1a09ace04731
    Reviewed-on: http://gerrit.openafs.org/1851
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2f0998ff13fe55e74011bd32317697274f807cc5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 24 16:12:24 2010 -0400

    getcapabilities avoid panic when cell is not filled
    
    for a new server, getcapabilities is not safe, as cell may not be filled.
    
    Change-Id: I0926034c1d9e9c8c08e7ca993de1bcef9c0de8cf
    Reviewed-on: http://gerrit.openafs.org/2016
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dd7b9235e677f92d928f0db40afaab9a1c3ee580
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Tue May 18 14:48:38 2010 +0100

    Read volume at correct address when looking for broken forward links.
    
    vldb_check was reading a volume at the index rather than the file
    offset to read the volume.  This was giving rise to phantom warnings
    since the hash was usually 0.
    
    The possibility of a broken flink is determined in another manner
    which is why in normal case we are not flooded with warnings.
    
    At the same time make the error message slightly more coherent.
    
    Change-Id: I35f237772819f6418eb9f8d77e0902bca28c4134
    Reviewed-on: http://gerrit.openafs.org/1983
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3313e7499642c39b0be1574102b8cdf6bfa565b5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat May 22 09:40:05 2010 +0100

    Autoconf: Tidy up resolver retrans retry test
    
    There's no need for the retrans retry test to be a TRY_RUN test,
    TRY_COMPILE will pick up the existence of the '_res' structure and
    its elements.
    
    Also, clean up the use of the cache variable to set the result. In
    the old implementation a true test result would print '1', not 'yes',
    a false result would result in bad output in the config.log, and a
    cross compiling output would give
      #define HAVE_RES_RETRANSRETRY no
    which will give unexpected results with #ifdef tests.
    
    Change-Id: If78c1b01ee89242c67f87238ca502ce43718c6a2
    Reviewed-on: http://gerrit.openafs.org/2014
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ffb6cbfc1ee41ac83a27c094d82bd1c68ef4861c
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Sat May 22 19:40:03 2010 -0400

    windows  map lstat to _stat (mrafsStyleLogs)
    
    Provides function macros mapping lstat to _stat, in Windows param
    files (i386, amd64, i64).
    
    change per jaltman
    
    Change-Id: I414422f26114fc270dff0b5915765bf3906a400e
    Reviewed-on: http://gerrit.openafs.org/2013
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3015ef6c594fa999c29e390a76c384eed09619d4
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun May 9 17:58:33 2010 -0700

    Update bos addkey/listkeys and KeyFile man pages for asetkey
    
    Clearly prefer asetkey to bos addkey in the KeyFile, bos addkey, and
    bos listkeys man pages.  Reference asetkey list and asetkey delete as
    alternatives to bos listkeys and bos removekey.  Distinguish between
    Authentication Server cells and Kerberos v5 cells and mention the
    preferred afs/<cell> principal format.  Add some cautions around
    matching enctypes and salts when synchronizing keys with a v5 KDC.
    
    Update man-pages/README for completion of this task, clean up some
    other wording, and remove some other now-irrelevant information.
    
    Change-Id: I29b83a61cbdb08de508bdb313524a307e385044b
    Reviewed-on: http://gerrit.openafs.org/1938
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 5ae464b185115e3537bbef862d893190bb56ab05
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri May 21 21:39:16 2010 -0400

    Do not lie about needing Giant
    
    Catch up to 2005.  Giant has not been needed for vnode page
    operations for quite some time now.
    
    Change-Id: I59c7b4fb1f7cd4133d459d801db9bb6d9cef866f
    Reviewed-on: http://gerrit.openafs.org/2012
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit adb901ac887043747360c4c9bb3fc51523f8c56e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed May 19 16:49:07 2010 -0400

    Linux: remove unused label
    
    The out label is no longer used and triggers a warning.
    So just remove it.
    
    Change-Id: Ic701b82fcd4f93ddf3673dbc16618201314f6fb3
    Reviewed-on: http://gerrit.openafs.org/2000
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a48a6c2a62e3511ec5652295ffee61122c1d6cbf
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Feb 24 21:39:10 2010 +0000

    More warnings cleanup
    
    Remove uneccessary warning inhibition in vol/
    Update README.WARNINGS to match the current state of the tree
    
    Change-Id: Ic1e5c74e0e7c2ccce0519b1572034f3666aa75e9
    Reviewed-on: http://gerrit.openafs.org/1392
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf2e4dd23e751540666c0c7961e47d4b5d06667b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed May 19 18:11:58 2010 +0100

    Linux: Use positional r/w, not llseek
    
    The Linux read/write file operations take a position. Use this
    position to determine where we're reading or writing in a file,
    rather than using the vfs_llseek() operator to set the file
    position argument. This avoids a potential race condition, as
    well as simplifying this code.
    
    Change-Id: I82b4a109f9871fa2ce5b308bc32923b1bf910920
    Reviewed-on: http://gerrit.openafs.org/1993
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d686e41948cce63c95b1f2f69011019dad42607
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 19 10:57:31 2010 -0400

    dafs: don't restart for new binaries using mrafs scanner time
    
    if binary restart times are enabled, dafs restarts every time due to
    a flawed comparison. fix it.
    
    Change-Id: I7eff4eb6406dc7eef12c75491191566a906a4adf
    Reviewed-on: http://gerrit.openafs.org/1992
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e57c3b7bf6723016308497bd9377eb2de9ab6c14
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Apr 29 19:06:37 2010 +0100

    Unix CM: Use macros for process name and id access
    
    This patch uses the new osi_procname() macro to obtain the process
    name for setpag() warnings on BSD and Darwin, and osi_curproc() to
    obtain the process identity, simplifying the code.
    
    Change-Id: I1f8a4d4bbcdb09eaeea3712b1fffd1aaa3cd2fa7
    Reviewed-on: http://gerrit.openafs.org/1878
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4dab5984b7a221ef4e0b871411f58f6f33116547
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 18 10:42:28 2010 -0400

    mrafs logs don't clobber existing logs
    
    if a restart happens too quickly, we can wipe existing log files in
    mrafs log mode. cheat. assume we won't have too many sub-second starts.
    
    Change-Id: I86d652410d0f18609d305decff54f122e2b87f10
    Reviewed-on: http://gerrit.openafs.org/1984
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 42a280f50daf6e4dc65873150c4738aacf2c3a86
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed May 19 01:44:44 2010 -0400

    Do not sleep in FBSD's getevent()
    
    Calling osi_AllocSmallSpace drops the glock, which allows
    a race condition that caused a rather fast deadlock on
    multiprocessor systems.
    Use afs_osi_Alloc_NoSleep instead.
    
    Change-Id: I9a328567a31fe0e4f77e7548fed31b7e4ff36f50
    Reviewed-on: http://gerrit.openafs.org/1989
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c433f3d8eeb81d5c5091d104e53bf48a6d25e747
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Mon May 17 21:28:56 2010 -0400

    linux PageCheck may be PageFsMisc
    
    Define the PageCheck family of functions using PageFsMisc
    equivalents if those are found.  I encountered a need for this
    on Centos 5.5 (2.6.18-8.el5xen), but it may be more general.
    
    Change-Id: I365a769614fd7514e0c0223bf1854cce09f759f7
    Reviewed-on: http://gerrit.openafs.org/1982
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 41dd0be8e30dc4edf7e3c087736dc41d625cecc5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 18 13:06:44 2010 -0400

    darwin afs.conf: growlagent example
    
    provide an example usage of the growl agent
    
    Change-Id: Ic680008784a85d877049dee429d8f77f5ce8f5f7
    Reviewed-on: http://gerrit.openafs.org/1985
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0abe56aa47d4561ba57527d53a2b0db2ea613c2
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Sun May 16 19:58:39 2010 -0400

    linux include osi_compat.h in rx/LINUX/rx_knet.c
    
    Does include osi_compat.h in rx/LINUX/rx_knet.c
    
    Change-Id: I0d8c0a6931c7594c424edeb03000695a7cb50ba0
    Reviewed-on: http://gerrit.openafs.org/1981
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5ea24a7c5534b4fda7904284d21d34b6e52a3f27
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon May 17 20:15:46 2010 +0100

    Fileserver: Don't sync every 10 seconds
    
    The patch which moved our calls to fsync into the background, added
    a sync prior to each batch of fsync calls. This is an incredibly bad
    idea.
    
    POSIX says that sync "shall cause all information in memory that
    updates file systems to be scheduled for writing out to all file
    systems". On Linux this means that we in effect perform an fsync()
    on every open filehandle on the entire system, and in addition flush
    all superblocks and journals out to disk. This makes the following
    fsync() calls superfluous - sync() will have already written out
    all of the data.
    
    Add to this the fact that the fileserver is doing this every 10
    seconds, and this becomes a major performance bottleneck,
    particularly if the machine uses a journalled fs - as any disk
    operations will end up blocking whilst the journal is written to
    disk.
    
    Change-Id: Id06cb99ae83af2e4a82e7b20fb14b8457dc16883
    Reviewed-on: http://gerrit.openafs.org/1977
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Rainer Toebbicke <rtb@pclella.cern.ch>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 54bf41004b901ca090d63e239768588fa90bc806
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 17 16:01:03 2010 -0400

    rx: work harder to notice and handle MorePackets request
    
    in particular, we did badly at handling kernel requests for
    more packets, but other cases did not properly keep packet
    stats either. attempt to globally better handle demand for
    more packets.
    
    Change-Id: I88837fed880f582444221ec53d280ca4070b607d
    Reviewed-on: http://gerrit.openafs.org/1978
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit af6b80f25726dbafc8bf3b2aaf15309e7f3d41fa
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon May 17 08:40:49 2010 +0100

    Autoconf: Use AC_CACHE_CHECK
    
    AC_CACHE_CHECK has been available since Autoconf 2.5 (released in
    1995), and provides a simpler mecahnism for performing cached checks
    than AC_CACHE_VAL does. Modify all of our simple AC_CACHE_VAL calls
    to use AC_CACHE_CHECK.
    
    Change-Id: I490f5e6ae5a3fdc1ada88aba9cd22c89d415a376
    Reviewed-on: http://gerrit.openafs.org/1974
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 249e3f9c21ffc280892fdd0e006e3e3a2a1e0300
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat May 15 09:30:57 2010 -0400

    afsprefs: clarify restart requirement
    
    don't make the red text make it seem like a restart is always needed
    
    Change-Id: I9c533ac4e25f623ad62183a42ff279c1d77fd5fe
    Reviewed-on: http://gerrit.openafs.org/1961
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 644162ae3de315adbf6d9e3cd4d647f87174cb42
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed May 12 15:48:25 2010 +0100

    Clean up logging from vldb_check.
    
    vldb_check used to say "%<index>: Volume '<name>' <id>not found in <type> hash <hash>" for two sorts of failures
    
    - If the volume really wasn't in a hash chain of that type at all
    - If volume's next pointer (for the hash type) pointed to a volume with a different hash.
    
    In both cases it would then print out some confusing (and spurious)
    information about the next element in the chain, prior to applying the
    same fix (of zeroing the next pointer).
    
    This change fixes the error message.
    
    Change-Id: I5eb6ae1a461628d401b997dde4bab53a0cc7571d
    Reviewed-on: http://gerrit.openafs.org/1955
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01d08c0ce879487226d78f423588b27b18d888f7
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Sat May 15 16:25:26 2010 +0100

    Stop overanxious htonl in vldb_check -fix
    
    vldb_check -fix is corrupting the server entries (Number, Partition,
    Flags).  This is because it is doing a htonl on what is a char field.
    The read code already has a comment "make sure not to ntohl these,
    as they're chars, not ints".
    
    This change strips the corresponding htonl from writeheader (and puts
    in a similar comment).
    
    Change-Id: I5902be0f1e928521bfcb5ec66edd227c08ea2bdc
    Reviewed-on: http://gerrit.openafs.org/1964
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2736eb7b090bcec9756c55f312cc97a4521f8b02
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 20:36:06 2010 +0100

    Demand Attach: Volumes and vnodes are different
    
    fssync-debug attempts to copy sizeof(Volume) bytes into an object
    defined as a Vnode, a sure fire way to make things go boom.
    
    gcc on Snow Leopard picks this up as a buffer overflow, and warns about
    it. Fix the problem by only copying sizeof(Vnode) bytes.
    
    Change-Id: Iadcda0b465f9a9f310dcbe4d3862ea479e052674
    Reviewed-on: http://gerrit.openafs.org/1834
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6fd1db1a86e830b3758772a79f25c30080c4dd06
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 20:23:27 2010 +0100

    Demand Attach: Simplify __VVGC_entry_cl_add
    
    The __VVGC_entry_cl_add was giving an uninitialised variable warning
    for empty_idx, because it was using a separate variable, empty_found
    as a sentinel for when empty_idx was holding a real value. Simplify all
    of this by removing the sentinel, and making empty_idx being -1 mean
    'not found', and a real value imply found.
    
    Change-Id: I6c485993df1ff8dfd27824234c811af998ff94fa
    Reviewed-on: http://gerrit.openafs.org/1833
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 44da0b32ee192017a080e26037e4f4b18e90717c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 20:14:02 2010 +0100

    Demand-Attach: Remove dangerous trailing else
    
    Change 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f introduced a
    dangerous trailing else into the VScheduleSalvage_r function:
    
     #ifdef A
        if (foo) {
          ...
        } else
     #endif
     #ifdef B
        if (bar) {
          ...
        }
     #endif
        something_else()
    
    In a situation where we have A && !B, then something_else() ends up
    only being run when foo is false. Given that something_else() is
    VOL_LOCK, this will not end well.
    
    In the real world, we hit this problen when we build the volume
    package with SALVSYNC_BUILD_CLIENT and !FSYNC_BUILD_CLIENT - in
    other words, whilst building the fileserver.
    
    Change-Id: I97e07a6e730df8ac480d295b4cf30b0695ace511
    Reviewed-on: http://gerrit.openafs.org/1832
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cea3bf909ab4b0807ef9f7d93235b4daeb1290dc
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon May 17 00:22:32 2010 -0400

    Enable PutVCache for FBSD80 and higher
    
    Matt's patches in a123bd8ccd brought in support for FBSD 7.0, but
    also disabled several calls to afs_PutVCache() for FBSD80 and
    higher.  Matt says that that patch was focused on 7.0, so the
    8.0-related bits may not be relevant.
    I have run with the PutVCache calls enabled, and if anything,
    my system seems more stable with them.
    
    Change-Id: I8d906848e977d4974e4dcdc151964bb2ac3116b6
    Reviewed-on: http://gerrit.openafs.org/1969
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ed2f4f8d3d92761d38b1ebfba8187e5e02745be1
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun May 16 00:43:35 2010 -0400

    Kill FBSD4X with fire
    
    We haven't even pretended to work on the 4.X series for quite some
    time, and keeping this code around just makes things (slightly)
    harder to read.
    AFS_FBSD_ENV is now equivalent to AFS_FBSD50_ENV (though the
    latter should not be used).
    Leave the fbsd_4 sysnames in afs_sysnames.h for archival purposes.
    
    Change-Id: Ibebda92967ca26c3dd4bf0b2cc6a66ae3a94d0ff
    Reviewed-on: http://gerrit.openafs.org/1968
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0b3e411bfcd1ffc719c41a3f62137f75b17a09ab
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun May 16 23:14:11 2010 +0100

    Autoconf: Use AC_CHECK_MEMBERS
    
    AC_CHECK_MEMBERS has been available since autoconf 2.50,
    which was released in 2001. Use this, rather than rolling our
    own mechanism to check for structure membership.
    
    Change-Id: Ic63bfdd6c448ce3cf2ed13d8f1f36d02e18bd223
    Reviewed-on: http://gerrit.openafs.org/1973
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aa7273233d39be552897d2180426820a3755deed
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun May 16 22:56:13 2010 +0100

    Autoconf: Use a standard test for socklen_t
    
    Use the standard AC_CHECK_TYPES mechanism to check for the existence
    of socklen_t, and to typedef it as an int if it's not found, rather
    than growing our own.
    
    Change-Id: Ib5aeb600750558167f63833dd4a7480dbe312b8a
    Reviewed-on: http://gerrit.openafs.org/1972
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0f36d82e896b7f3783ef11ec4196e5009aee162a
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat May 15 17:11:15 2010 -0400

    Do not try to increase the refcount of a NULL vnode
    
    osi_lookup is not guaranteed to give us a valid vnode, so
    check before calling VN_HOLD().
    
    Change-Id: I3d2a4d441f6991c08beccb6b10a428f5746db146
    Reviewed-on: http://gerrit.openafs.org/1967
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c0afd1419de3fb8cab44ac212d0a85a9998c7cba
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat May 15 23:12:33 2010 -0500

    Solaris: do not call VFS_RELE with GLOCK
    
    VFS_RELE can call afs_freevfs, which grabs GLOCK. Thus, don't call
    VFS_RELE with GLOCK held or we can try to recursively acquire GLOCK
    and panic.  This is currently unlikely to occur (sans vfs refcount
    unbalances) without support for forced unmounts, since the last vfs
    ref will usually come from the caller of afs_unmount(). But it still
    may be possible.
    
    Change-Id: I152bd13abc2e90f258f98194833c50c3a2846904
    Reviewed-on: http://gerrit.openafs.org/1966
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7e32fbea90821d5321352cb86b18533fb34f0409
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri May 14 13:25:44 2010 +0200

    Don't use afs_linux_storeProc with memory cache, it only works with disk cache.
    
    Change-Id: I54585c61c66af7160d0ddbcbc1251fa42fbf44d8
    Reviewed-on: http://gerrit.openafs.org/1958
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9562721b89a2a7a7f32a165762d7fba8540006a9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 12 13:59:06 2010 -0500

    Solaris: stop NetIfPoller on shutdown
    
    The NetIfPoller code that is enabled on AFS_SUN510_ENV never gets
    shutdown properly. The current code looks as if it was intended for
    NetIfPoller to recognize the appropriate termState and just return,
    but we never wait for it, and so we can complete the shutdown sequence
    without NetIfPoller ever knowing that we are shutting down. This can
    cause the machine to panic, as we keep attempting to run NetIfPoller
    even after libafs has been unloaded.
    
    Since NetIfPoller is fired by default every 30 seconds, we probably do
    not want to wait for it to fire during shutdown. Instead, just destroy
    the necessary timeout and task queue, which will wait for NetIfPoller
    to complete if running, and will just prevent it from running in the
    future otherwise.
    
    Change-Id: I25f9536d2713baf524a2450400c428ac506525f1
    Reviewed-on: http://gerrit.openafs.org/1957
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7730769ccfebd2a268503b6e618609722cc3b4a5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 11:27:17 2010 -0400

    Windows: move afsconfig.h / param.h to afscred.h
    
    move the inclusion of afsconfig.h and param.h to
    afscred.h so that they are included everywhere
    and so that the conditional use of _USE_32BIT_TIME_T
    is applied consistently by afscred.h.
    
    LICENSE MIT
    
    Change-Id: Id8c595509ec381ff6df6186e4d1c809413782a59
    Reviewed-on: http://gerrit.openafs.org/1956
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 135042cd8c1beee7c045ce3b0b86272bf85a5464
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 10:25:01 2010 -0400

    Windows: netidmgr_plugin must include afsconfig.h
    
    In order to properly use afs headers afsconfig.h must
    be included first in afsfuncs.c.  Update the makefile
    to specify the correct include paths.
    
    Since this results in the afs assert.h being used,
    we must include the lib file that includes the
    AssertionFailed function.
    
    LICENSE MIT
    
    Change-Id: I46f76410ea16eeffeb8406ef4e89120a3255366a
    Reviewed-on: http://gerrit.openafs.org/1954
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 54f66f3722a6ddc0c35f5ab509c317f7278c0373
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 10:24:03 2010 -0400

    Fix missing semicolon in non-AFS_NAMEI_ENV builds vol/nuke.c
    
    Change-Id: Ibfd37180199aecf6f79fbc84e2f035678e826d17
    Reviewed-on: http://gerrit.openafs.org/1953
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 96868e5cda94ba3a11a8cbf3df98e7032198b239
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 10:22:07 2010 -0400

    Windows: fix consistency of afsconfig-windows.h
    
    Windows is a AFS_NAMEI_ENV platform
    
    Windows (as of WDK 6) defines socklen_t as signed int
    
    Change-Id: I0aa549309d19c745e4df50d510c19f3174b1f2eb
    Reviewed-on: http://gerrit.openafs.org/1952
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0dd5159163e464e35ccc73eb79225ea9fc0cd872
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 7 10:32:09 2010 -0400

    inlinebulk analyze errors
    
    afs_Analyze was not being called on inlinebulk errors if the error
    potentially required a retry. do so.
    
    Change-Id: I60fc0a7553f9ce592c40c7aecb60346e138468f0
    Reviewed-on: http://gerrit.openafs.org/1926
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 34b0fef60a555de11590631fce1e92454457fc72
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 8 21:38:05 2010 -0400

    Rx: prevent rx_rpc_stats mutex from being a global bottleneck
    
    Prior to this patchset, the 'rx_rpc_stats' mutex was superior
    to both the 'peer->peer_lock' and the 'rx_peerHashTable_lock'.
    That meant that the 'rx_rpc_stats' was being held across many
    operations that walk the peer hash table.  For example,
    rxi_ReapConnections, rx_disablePeerRPCStats, and rx_shutdown.
    Since every RPC issues a call to rx_IncrementTimeAndCount, the
    reap connections event would effectively bring all RPC processing
    to a halt.
    
    This patchset moves 'rx_rpc_stats' later in the hierarchy and
    restructures rxi_ReapConnections, rx_disablePeerRPCStats, and
    rx_shutdown so that not only doesn't the 'rx_rpc_stats' mutex
    need to be held across the entire function but the
    'rx_peerHashTable_lock' does not need to be held while complex
    operations on the peer object are taking place.
    
    rxi_ReceiveDebugPacket is also fixed to hold the rx_peerHashTable_lock
    and peer_lock at appropriate times while completing its function.
    
    Change-Id: I1a11798f1bb2a8f03316c6c455954bd6b8d1459b
    Reviewed-on: http://gerrit.openafs.org/1928
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f793bc07e12b86561bc05eab9eb37dda55d792f5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed May 12 00:58:30 2010 -0400

    Windows: Add support for NetWkstaGetInfo levels 101 and 102
    
    On Windows 7, NetWkstaGetInfo levels 101 and 102 are queried.
    Add support to the WKSSVC RPC Pipe service.
    
    LICENSE MIT
    
    Change-Id: Ia780ee69834c01c2d0c2965ae2c65f80d504a923
    Reviewed-on: http://gerrit.openafs.org/1950
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 953a2049a9a451a1f4015a64f8c5153044beba13
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon May 10 09:07:50 2010 -0400

    Windows: Prevent overflow during percent used calc in Explorer Shell Ext
    
    In the Volume Info and Partition Info dialog boxes, percent used
    was overflowing the variable due to using too small a variable
    and multiplying before dividing.
    
    FIXES 126846
    
    Change-Id: I9a8a9275d22675cfb53c9e520758f2c4d6606954
    Reviewed-on: http://gerrit.openafs.org/1939
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 63ed515374bb0f7fea9436a7346382d65c6efa6f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 9 10:50:07 2010 -0400

    Windows: Freelance vs ACLs
    
    If the user attempts to list acls or set acls on the freelance
    root.afs volume, generate a meaningful error.
    
    Change-Id: I6e5b147bf0cdd98ec0224a723098f5bbcb37b1e1
    Reviewed-on: http://gerrit.openafs.org/1931
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ed0fa83863308653381896cccddb0fc931a02dde
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 9 20:49:05 2010 -0400

    Windows: use system CreateUuid instead of afs variant
    
    The afs_create_uuid function on Windows results in
    duplicate uuids being produced.  Windows provides its own
    CreateUuid function.  Use it when afs_create_uuid is called.
    
    Change-Id: Id7f14b13c003fb845d90b09c3ca40cf258a53dbc
    Reviewed-on: http://gerrit.openafs.org/1937
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit afaecee40f4ae07bdf6c1419e70bdecbd5aa9526
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 9 10:15:30 2010 -0400

    Make afsio be useful on Windows and fix bugs
    
    On Windows, the stdin and stdout handles default to text
    mode which corrupts data piped through them.  At the start
    of readFile and writeFile, the mode is now set to binary.
    
    The ProbeUuid callback is supposed to determine if this
    client is the same as the one being requested.  Since we
    are advertising a new uuid in TellMeAboutYourself and
    WhoAmI, we should perform the uuid check and return a
    valid answer in order to avoid confusing the file server.
    
    Add support for TellMeAboutYourself.  On Windows, return
    valid interface information.
    
    Always print verbose output to stderr.
    
    Display MB/sec to three decimal places.
    
    In readFile, always perform a AFSFetchStatus operation
    otherwise we have no idea what the file size is.
    
    On Windows, the path separator is backslash.
    
    Change-Id: I174eda991383301d01fe5d6431d459b6ea01a0be
    Reviewed-on: http://gerrit.openafs.org/1930
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6d48026f86794ecf4dba70cc3f8f5ebd685c5255
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu May 6 17:12:48 2010 -0400

    Windows: RXAFS_InlineBulkStat errors must be processed via cm_Analyze
    
    RXAFS_InlineBulkStatus does not return errors such as EACCES,
    VNOVOL, VNOVNODE, VOFFLINE, VBUSY, VIO, VMOVED, etc. as an RPC return
    code.  Instead they are returned in the status info errorCode field
    for each file.
    
    Traditionally, the error associated with the first FID in the query
    list has been returned to the caller of cm_TryBulkStatRPC().
    However, the error has never been processed through cm_Analyze()
    which means that the per-vnode processing for VNOVNODE and the volume
    global processing for VMOVED, VNOVOL, etc. has never been performed.
    As a result, failover to other .readonly volume instances cannot occur,
    volume moves will not be handled, and files that have been deleted
    are not detected.
    
    This patchset makes the following changes:
    
    1. If an inline bulk operation has been performed and the inline
       errorCode is a volume global error, then that error replaces
       the RPC return code within the cm_Analyze() processing for
       the RPC.  This will affect whether or not a retry operation
       is performed.
    
    2. The variable 'inlinebulk' is reset to 0 at the top of the
       cm_Analyze() loop in case failover from an inlinebulk capable
       file to an inlinebulk incapable file server takes place.
    
    3. The FID that is passed into cm_Analyze() is not a real fid.
       Instead it consists of the cell and volume but vnode = 0.
       This ensures that the error (if any) is not applied to the
       directory object.
    
    4. If an inline bulk operation was performed, prior to performing
       the cm_MergeStatus() operation a vnode a check is made to
       determine if an error was returned for that vnode.  If so,
       cm_Analyze() is called with no connection, a fake cm_req_t,
       the fid, and the error.  This permits cm_Analyze() processing
       to be performed on the file.
    
    LICENSE MIT
    
    Change-Id: I91b10faae085b52ba753b3942215951e2122b937
    Reviewed-on: http://gerrit.openafs.org/1918
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit dea064a5090dfdc0011dd4254f7d801b4b77cf9e
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue May 11 15:54:53 2010 -0400

    Linux: missing configure test
    
    Add the kmem_cache_create test for dtor to the configure to
    build again on older versions of linux. Fixes,
    osi_vfsops.c:264: error: too few arguments to function
    ‘kmem_cache_create’
    
    Change-Id: I1c1aa63e8dbe2df6c9b889edaa66708d7db01847
    Reviewed-on: http://gerrit.openafs.org/1948
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7237efdabc75049a70af4bb079dd7b2dd439dd17
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu May 6 22:22:50 2010 +0100

    Remove intptr.m4
    
    We now require an autoconf version of at least 2.60. This version
    supplies AC_TYPE_INTPTR_T and AC_TYPE_UINTPTR_T, so we no longer
    need to have our own.
    
    Change-Id: I362324d1cfb39efb01c3f6f2d95eb7f4ed041998
    Reviewed-on: http://gerrit.openafs.org/1919
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 88d13f1f58546460201aded9335acb411bc49d1a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 11 11:40:09 2010 -0400

    vnode alloc bitnumber returns bitnumber
    
    fix function return types to match a bitnumber (int)
    and comment the function appropriately
    
    Change-Id: I9542c02b1aa7aacdd0596675992bb1e8a1708572
    Reviewed-on: http://gerrit.openafs.org/1941
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 134b599c3ad475685dd0a7251d192e38966fef4c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed May 5 13:51:23 2010 -0500

    vlserver: prevent duplicate IPs via ChangeAddr
    
    Add a safety check in VL_ChangeAddr/ChangeIPAddr to check if we are
    adding a duplicate server IP in the database. Return VL_MULTIPADDR
    when we try to do that.
    
    Change-Id: Iaff2792b90f4152dac5a1ab4c1072ef56fef518b
    Reviewed-on: http://gerrit.openafs.org/1927
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2ac483c2bdb018c4f225d2781f15b7926d5063b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 9 20:46:11 2010 -0400

    Windows: define HAVE_SSIZE_T
    
    The windows param.*.h files define the ssize_t type.
    Therefore, we must define HAVE_SSIZE_T in order to avoid
    a collision with the ssize_t typedef in afs/stds.h.
    
    Change-Id: Ie34cb565f09acfffe985476d24dbca917b05c5db
    Reviewed-on: http://gerrit.openafs.org/1936
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8aa46c5a66bfb18c4ef8452ad7d124af556a7813
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun May 9 19:40:58 2010 +0100

    Add a list of files to import from Heimdal
    
    Add an initial list of files to import into OpenAFS from Heimdal.
    Currently this is just the list that are required to support
    our new configuration file parser.
    
    Change-Id: I785bacc603121f587378fcfbe93e585290c8ab7f
    Reviewed-on: http://gerrit.openafs.org/1933
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 43f4e3a51248683aeff77da94410a95baba3d83e
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun May 9 19:37:52 2010 +0100

    Add a tool to import external repositories
    
    This commit adds a tool to aid with the importing of external git
    repositories. import-external-git.pl allows a developer to easily
    update the src/external portion of the tree to the latest release
    of externally developed software. It's currently intended to support
    our use of Heimdal functions, but could be extended to support any
    project whose code we wish to use in the kernel, and which has a
    git repo.
    
    Change-Id: I6d91474c5de67e57fb73ff4d59c5afe9bb14c240
    Reviewed-on: http://gerrit.openafs.org/1932
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 13ebb6412b4603be50de30789ba048bef485171b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat May 8 22:41:39 2010 -0400

    Windows: fs.c requires size_t len not int len
    
    Missed one case of an 'int len' being passed into StringCbLength.
    
    Also, remove one instance of 'int len' that was not used at all.
    
    LICENSE MIT
    
    Change-Id: I457d4ae98adf9d4ca0c1b7dcb74470d9bbc85a54
    Reviewed-on: http://gerrit.openafs.org/1929
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fd9ab5cb7c7346ad443072767a360d902578e87b
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu May 6 12:30:23 2010 -0700

    Include common param file for Linux alpha builds
    
    The sysname for Linux Alpha is alpha_linux_26 (or 24 or 22) with an
    extra underscore before the version, unlike all the other Linux sysnames.
    Allow for that case when deciding whether to include the common Linux
    param header.
    
    Change-Id: Icab3a9214d0bd020b846734cce27da6c1bdeab56
    Reviewed-on: http://gerrit.openafs.org/1915
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b811e4f91e756643dc2c7da7179ba63e2e0f5803
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Fri May 7 00:47:53 2010 -0400

    Define osi_procname for FBSD
    
    The kernel linker doesn't like to load modules with unresolved
    (implicitly-defined) symbols (understandably).  Make it happy.
    
    Change-Id: I23fdbb9c9e07a0c583580f5c5eee577a04fae278
    Reviewed-on: http://gerrit.openafs.org/1925
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: sanket <sanket@sanketagarwal.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 7ba5c7263d60230f54a3229d1ffd89a3c76b416d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu May 6 23:31:26 2010 -0400

    Actually fix build for FBSD80 after vcache refactoring
    
    One more s/tvc/avc/
    
    Change-Id: Ie99310bb08da5bf7aaee022e9c0ca43d1a33c3db
    Reviewed-on: http://gerrit.openafs.org/1923
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit de68cdef9ef647bfa59aa6f330c5202afce1d100
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Apr 4 19:34:24 2010 -0400

    Add entries for FBSD 8.1 and 9.0
    
    Though neither have been released, yet, RELENG_8 and HEAD are
    starting to get changes that we need to conditionalize on.
    
    Change-Id: Ia3af3c38abe4d0d01e0cef974771b45a97d3d9aa
    Reviewed-on: http://gerrit.openafs.org/1691
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 07098dc6708472cf5624b368d63efbdef7d409b8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu May 6 15:00:00 2010 +0100

    Modernise use of AC_CHECK_TYPE
    
    Prior to autoconf 2.13, AC_CHECK_TYPE took two arguments, the type
    to check and the a default type to use if that type wasn't defined.
    This usage has been deprecated since 2.13, and the AC_CHECK_TYPE
    macro itself now behaves differently. Whilst there is a compatibility
    mode, the autoconf documentation discourages its use.
    
    We also have an occurence of a slightly more modern AC_CHECK_TYPE,
    where we explicitly #define a default value if one isn't provided.
    The autoconf manual also discourages this form, however, in favour
    of using AC_CHECK_TYPES, and placing suitable typedefs in an
    external header file.
    
    Modify our code so we do things in the recommended way.
    
    Change-Id: Ie28067f2c90e9a3aa25cfde45ef081da2d380ee1
    Reviewed-on: http://gerrit.openafs.org/1914
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 972a4072827fb2ec680354d5adebc2c5cca06939
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu May 6 14:58:52 2010 +0100

    Always include afsconfig.h in autogenerated files
    
    Modify rxgen and compile_et so that the files they output always
    contain afsconfig.h before afs/param.h. This avoids problems where
    afs/param.h, or headers included from it, rely on having the results
    of configure tests available.
    
    Change-Id: I0198500a17abd31ee1057d6780cbe5a5e1bc8c59
    Reviewed-on: http://gerrit.openafs.org/1913
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dc9bef83b0fa416bd1bd5a1524aa4a697873b91a
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Thu May 6 09:10:38 2010 -0600

    OpenBSD: Use osi_obsd_Free() for all releases of OBSD
    
    Use osi_obsd_Free() in afs_osi_Free() for all releases of OpenBSD,
    not just releases from 4.4 onward. Otherwise, afs_osi_Free() will
    use AFS_KFREE, which does not exist, since OBSD/osi_machdep.h is
    not included, resulting in unresolved symbols when trying to load
    the kernel module.
    
    Change-Id: Ic9632c9df347cc17e122b6302ef14e63fa5b68b4
    Reviewed-on: http://gerrit.openafs.org/1910
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8fe309e6b67297e7d59bc001af62e0847cabce78
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Thu May 6 09:09:19 2010 -0600

    OpenBSD: Use FREE instead of KFREE
    
    In OpenBSD releases prior to 4.2, use the system (kernel-specific)
    FREE macro to release space in the kernel module, not KFREE. The
    latter does not exist and results in unresolved symbols when trying
    to load the kernel module. (This was undoubtedly a typo.)
    
    Change-Id: Id66704ab4d0928e2ce1234de16bb74fe22f4f9c7
    Reviewed-on: http://gerrit.openafs.org/1909
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8e27248698766e3d97e18363c5c4729a4e02add7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu May 6 14:55:59 2010 +0100

    Always include afsconfig.h
    
    Our coding standards say that OpenAFS source files should always have
     #include <afsconfig.h>
     #include <afs/param.h>
    at the start of the file. Including just param.h, or having these
    includes in a different order can produce unexpected effects, because
    param.h includes sysnames.h, which in turn includes stds.h, which may
    rely upon having the results of configure tests available.
    
    Fix the obvious places in the Unix build which get this wrong.
    
    Change-Id: I081f04dab30a6bbb49fe71d3ac2d7c11e231e2f5
    Reviewed-on: http://gerrit.openafs.org/1912
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3e449fcceed35200fa76ed586b6ab8cf60a8ec0f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed May 5 18:15:05 2010 -0400

    Fix typo: LockType -> lockType
    
    Fix simple typo that causes a build error.
    
    Change-Id: I85f2899850383746094b7e9bab81dea13c2caeab
    Reviewed-on: http://gerrit.openafs.org/1908
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8b6550a09026e299dbaa48356aca02d1d5b1803c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun May 2 19:06:43 2010 -0400

    fcntl write lock on readonly file error fix
    
    apparently we return EROFS where we should return EBADF. Fix the
    error the client gets; the RPC is unchanged (and indeed shouldn't
    be changed)
    
    Change-Id: I738f1ee36f39d03bf018c0f91c7de9c8ed8cc9a9
    Reviewed-on: http://gerrit.openafs.org/1895
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5c192d15ac611cd44b0f3f65796a5b10b7246c56
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 5 15:50:07 2010 -0400

    afsdump scan kill warnings
    
    make prototypes for all initialize error table functions appear
    
    Change-Id: Icc72f5218a2f6e0444a325c7fc9a0c1c34843344
    Reviewed-on: http://gerrit.openafs.org/1907
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98d20e250d9043c11e4644e574b5a60e9534a4f4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 4 11:39:19 2010 -0400

    freebsd vcache splitting fallout
    
    fix the vcache splitting to work again
    
    Change-Id: I8833fc6655dcb79329835664d38f5330645b45f8
    Reviewed-on: http://gerrit.openafs.org/1904
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1e69ec9cfef0bc571d1b91432354f486d49480b5
Author: tharidufernando <tharidufernando@gmail.com>
Date:   Sat Apr 10 09:01:16 2010 +0530

    Windows: Secure C String usage in src\WINNT\afsd\fs.c
    
    The use of strlen, strcat, strcpy, strncpy and sprintf in
    src\WINNT\afsd\fs.c does not effectively protect against buffer
    overruns and string truncation errors.  This patchset replaces
    their use with StringCbLen, StringCbCat, StringCbCopy,
    StringCbCopyN, StringCbCopyEx and StringCbPrintf respectively from
    strsafe.h.
    
    The functions sscanf, fscanf and scanf do not check for the size of
    the parameters so it is prone to buffer overruns. These functions
    can be replaced by sscanf_s, fscanf_s, scanf_s when the Visual Studio
    compiler version is 1400 or greater.  Also memcpy will be replaced
    by memcpy_s which will check for the size of the destination buffer.
    
    In all cases, failure conditions are handled.
    
    Patchset development was mentored by Asanka Herath and Jeffrey Altman.
    
    Change-Id: I01e9dfc616641c220b57d2871e3e140406df3653
    Reviewed-on: http://gerrit.openafs.org/1736
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Tharidu Fernando <tharidufernando@gmail.com>
    Tested-by: Tharidu Fernando <tharidufernando@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fb50f2478c0402eb3062208e173ebe33d00ac9c4
Author: Jonathan A. Kollasch <jakllsch@kollasch.net>
Date:   Sat Apr 10 10:55:17 2010 -0500

    NetBSD 5.0 support.
    
    Change-Id: I5b9c5b8204ef729d9719f195ddbaf83c5f9cb4b5
    Reviewed-on: http://gerrit.openafs.org/1738
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7084e5ff7df7ed5ad15f60bae262fc844248ae28
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon May 3 14:57:28 2010 -0500

    Solaris: shutdown in freevfs, not unmount
    
    Call the afs shutdown sequence (afs_shutdown()) in the VFS_FREEVFS
    handler, instead of in the VFS_UNMOUNT handler. This way we shutdown
    when the last reference to our vfs goes away, instead of when we are
    unmounted. That doesn't make much of a difference right now, but doing
    so will be required for supporting forced unmounts.
    
    Change-Id: I4158865b139d05e2955e4809b93628df27b83922
    Reviewed-on: http://gerrit.openafs.org/1899
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fc8ab5cfd6592f9a9df24706a8f5dcc1e41f2b33
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 29 17:47:15 2010 -0500

    Solaris: prevent AFS umount while busy
    
    Return EBUSY from unmount if someone still references stuff in AFS.
    This prevents kernel panics that can occur on shutdown if we umount
    while there is a file in AFS open. Normally a process can hold a file
    in AFS open, AFS is unmounted, and the file is closed, triggering our
    code which explodes if called after we're unmounted.
    
    This adds VFS_HOLD/VFS_RELE calls whenever we 'create' a vcache, or
    retire an old one, to keep track if anyone has an open reference to
    us.
    
    Change-Id: I95d8cf7e7e4d32a05bee97e06832a530b40af217
    Reviewed-on: http://gerrit.openafs.org/1880
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 34b7fd4a4989fe5d0484e00ae9582d2f29d98d9c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 29 16:00:26 2010 -0500

    Solaris: return ENOTSUP for force-unmounts
    
    We don't support forced unmounts yet, so indicate as such.
    
    Change-Id: I3a130a4a8d31eeffd012352f656c2b4e42b46f27
    Reviewed-on: http://gerrit.openafs.org/1879
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9be76c0d312e9d4ba879d2f82a7c556bf8025da7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 00:16:28 2009 +0000

    Refactor afs_NewVCache
    
    afs_NewVCache was a twisty turny maze of #ifdefs and duplicated code.
    This makes a number of sweeping changes to simplify this code, and to
    move platform specific elements out into their own directories.
    
    *) ShakeLooseVCaches is refactored so that the same code can be used
       both for platforms that support dynamic vcaches, and those which
       don't.
    *) afs_NewVCache, ShakeLooseVCaches, and afs_AllocVCache are all
       modified to remove platform specific code, and to call platform
       specific functions.
    *) A new platform file 'osi_vcache.c' is created to hold a number of
       platform specific vcache operations:
       *) osi_TryEvictVCache handles the decision of whether a vcache can
          be evicted or not, and does so if required
       *) osi_NewVnode allocates a new vnode
       *) osi_PrePopulateVCache does the necessary population of the
          vcache, before it's threaded onto the VLRUQ and associated hash
          tables.
       *) osi_AttachVnode handles attaching an OS vnode to our vcache,
          where that is necessary
       *) osi_PostPopulateVCache handles the vcache population that must
          occur after we're on the VLRUQ and have a vnode attached.
    
    Change-Id: I368e5fb500d012b44141aa8f8cf0516e63e58f57
    Reviewed-on: http://gerrit.openafs.org/1881
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5e09bcd936f60a9b3f6547299ab2baf98111bba6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon May 3 15:51:40 2010 -0400

    pts mem -expandgroups and -supergroups examples
    
    Examples of the pts mem -expandgroups and -supergroups
    options for the man page.
    
    Change-Id: Idea0509797212397eff87aa5975eaf5364c8414c
    Reviewed-on: http://gerrit.openafs.org/1896
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5e24220c3d500c971e876e6805e3e46b91bad2e6
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon May 3 15:04:20 2010 -0600

    OpenBSD: Fix bug in setpag() when group list is empty
    
    In OpenBSD, the PAG uses the 2nd and 3rd group slots in the task's
    group list. If an application sets en empty group list (such as Samba
    does), any existing PAG is lost and any new one is NOT set because
    the existing code will set the new group count to 2 instead of 3, and
    it leaves the first group entry as garbage (whatever random value the
    memory contained), thereby totally messing up the task's group list.
    This patch fixes it so that it behaves as expected.
    
    Change-Id: Ia718d55cbaad8ed372fba926dbfcb5db52ea684a
    Reviewed-on: http://gerrit.openafs.org/1898
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0ec2239b730bc9b1f8f819ef398d24bb7f1dff4e
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon May 3 14:32:13 2010 -0600

    Fix pattern to detect i386-based OpenBSD system type
    
    When the pattern to detect OpenBSD system types (via MKAFS_OSTYPE) was split
    into two separate ones for amd64 and i386 architectures, the pattern for
    i386-based systems was not set quite right. As a result, i386-based OpenBSD
    systems are no longer detected properly at this stage, resulting in an error
    of "cannot find input file: src/libafs/MakefileProto..in" during configure.
    This patch corrects the pattern.
    
    Change-Id: I67079af74117fa3cdc765f19944e23223709ae6b
    Reviewed-on: http://gerrit.openafs.org/1897
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98d9d6cf83904d1422a96bb0646f560646d62114
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Apr 20 15:06:41 2010 -0400

    Windows: Show configuration pages for all types of MSI installations
    
    The OpenAFS MSI installer wizard used to not show any configuration
    pages for "Typical" and "Complete" installations.  Setting the
    workstation cell and logon options during installation required
    selecting the "Custom" option.  Many users choose the "Typical" option
    during installation, and thus would never see the configuration pages.
    Therefore, for these users, the workstation cell was being set to the
    default.
    
    This patch makes the workstation cell and logon option configuration
    pages visible to all types of installations (except silent
    installations which show no UI).
    
    Change-Id: Ie3bc040607a8d6b636c884bfcb919d0fc69b0e06
    Reviewed-on: http://gerrit.openafs.org/1797
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 49c4200a9e313d775a90cc3b6c3b79b18e8e0367
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Mar 11 10:38:31 2010 -0600

    Provide a queue_NodeInit() interface
    
    Provide a queue_NodeInit() interface for the rx queue package.
    
    Change-Id: I85f6caf3605b9a88113ff4d904012ed2aa12a679
    Reviewed-on: http://gerrit.openafs.org/1860
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cec1b09ff77f8009ceac73cf744584427df81397
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 15:30:27 2010 -0400

    Windows: Restructure cm_LookupInternal addition of Freelance entries
    
    cm_LookupInternal creates Freelance mount points and symlinks
    when queries cannot be found in the Freelance root.afs directory.
    If the search name is a full cell name for which vldb information
    can be obtained, then a mount point is added.  If the search name
    is a left-most substring or the full cell name with a dot appended
    to it, then a symlink was created.  This approach created a very
    poluted Freelance name space.
    
    This patchset makes the following changes:
    
     1. Do not create symlinks with a dot appended to the cellname
    
     2. Do not create symlinks where the left-most substring is not
        a full dot separated component of the cellname.
    
     3. Permit lookups to succeed when we would have created a
        symlink in the past without creating the symlink.
    
    LICENSE MIT
    
    Change-Id: I4573a2f13d4843878c3f5efc546df29a5023accc
    Reviewed-on: http://gerrit.openafs.org/1894
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 71f91cd93cb6e8c7430ddab7e5b9e0220070730e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 15:26:39 2010 -0400

    Windows: Permit BPlus tree lookups within cm_ApplyDir
    
    BPlus tree lookups are much faster than searching through
    the native directory format on Windows because the case sensitive
    hash tables cannot be used successfully.  Permit BPlus trees
    to be used except when called with cm_BPlusDirFoo as the action
    function because cm_BPlusDirFoo is used to build the BPlus trees
    from the native directory format.
    
    LICENSE MIT
    
    Change-Id: I3f6f5ba7113e206c76fafd1ec83822adc7f42f9e
    Reviewed-on: http://gerrit.openafs.org/1893
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ebbd415f28dded52d92ed13f66d058707ef3d36f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 15:05:40 2010 -0400

    Windows: Prevent cm_FreelanceAddSymlink from creating a symlink ending in a dot
    
    Symlinks are ending up in the Freelance root.afs directory that
    end with a dot.  Make sure it cannot happen.
    
    LICENSE MIT
    
    Change-Id: I8a19c0cf6c2a68c22839e15641206f7e9db8b15b
    Reviewed-on: http://gerrit.openafs.org/1892
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ec35612ce9072119eab2bb3fc6f76420ed8e9077
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 15:03:52 2010 -0400

    Windows: normalize error codes from cm_FreelanceAddSymlink
    
    Return all error codes from the end of the function.
    
    LICENSE MIT
    
    Change-Id: I7703c90884820ed7eb1f43183d80c7df038cfb8b
    Reviewed-on: http://gerrit.openafs.org/1891
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit da2db6234221494956eca71ed3693c0a2bbf4a67
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 14:48:00 2010 -0400

    Windows: Force rebuilding Freelance directory in AddMount and AddSymlink
    
    cm_FreelanceAddMount and cm_FreelanceAddSymlink is supposed to
    return the allocated FID of the entry that was added.  However,
    cm_NameI is called to perform the lookup without forcing an update
    of the Freelance fake directory.  As a result the entry may not be
    found.
    
    Force an update prior to calling cm_NameI() by using
    cm_clearLocalMountPointChange() and cm_reInitLocalMountPoints()
    if required.
    
    LICENSE MIT
    
    Change-Id: I08147b2ec61c810fdc718964362315af67d485b8
    Reviewed-on: http://gerrit.openafs.org/1890
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f8efae8c7072593ae519539790838055783affff
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 14:17:43 2010 -0400

    Windows: normalize return codes from cm_FreelanceAddMount
    
    Instead of returning an undefined CM error code, -1, which might
    end up being confused with an Rx error, return legal CM_ERROR_xxx
    values.
    
    LICENSE MIT
    
    Change-Id: Ie78e4e9cf00fa938806c8b355f54169a5691ff04
    Reviewed-on: http://gerrit.openafs.org/1889
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ff924e7229451e4f789bb83a301d23d75761eaf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 14:03:23 2010 -0400

    Windows: use cm_noteLocalMountPointChange whenever fakeDirVersion is changed
    
    cm_noteLocalMountPointChange() is meant to be used when fakeDirVersion
    is changed.  It previously wasn't used because cm_noteLocalMountPointChange()
    would obtain the cm_Freelance_Lock.  Now that cm_noteLocalMountPointChange()
    can be called while holding the lock, use it everywhere.
    
    LICENSE MIT
    
    Change-Id: I737f4572773a93a656ca0f58e07a55d250c368a1
    Reviewed-on: http://gerrit.openafs.org/1888
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3a48bf73d3087bf6d40f119b491d718e6b7e8284
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 13:56:24 2010 -0400

    Windows: add locked parameter to cm_noteLocalMountPointChange
    
    If cm_Freelance_Lock is held set the 'locked' parameter to TRUE.
    This avoids a requirement to drop the lock only to have it be
    obtained when cm_noteLocalMountPointChange.
    
    LICENSE MIT
    
    Change-Id: Ic1e8a008639b33769a088c3b24ef7a7e7b09fb12
    Reviewed-on: http://gerrit.openafs.org/1887
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f2b98e27f8dd03ba45a3d88053458aa7bcd932bd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 13:21:12 2010 -0400

    Windows: remove unused code from cm_FollowMountPoint
    
    The variable 'tlen' is set to the length of the mount point
    target string but is never used.  Remove it.
    
    LICENSE MIT
    
    Change-Id: I1e53831eff90962c93720831a210faa019e38d67
    Reviewed-on: http://gerrit.openafs.org/1886
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4810026677d9527c8005184b2dd4bca610496657
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 13:11:14 2010 -0400

    Windows: initialize to zero Freelance fake root directory
    
    The Freelance fake root directory buffers were not zero-filled.
    This results in random behavior that can cause the service to
    terminate unexpectedly.
    
    LICENSE MIT
    
    Change-Id: If4e42f74bf07a7296319f3a73f8c7628de4e1fd8
    Reviewed-on: http://gerrit.openafs.org/1885
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 612bb07ae118f71f5ce6330c87425e175b2a8564
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 13:04:42 2010 -0400

    Windows: make cm_BPlusDirFoo public
    
    Make cm_BPlusDirFoo so that the function pointer can
    be referenced from cm_ApplyDir.
    
    LICENSE MIT
    
    Change-Id: Ic58ce47dbcd9d6348666b1767941d861cd860df5
    Reviewed-on: http://gerrit.openafs.org/1884
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1b4b0b7576475daf540be15ef759e9a999671a1b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 09:21:48 2010 -0400

    Windows: correct "fs quota" pioctl validation check
    
    The validation check for the response from the GetVolumeStatus
    pioctl is incorrect.  The response is not simply a VolumeStatus
    structure but also several C strings appended to it.
    
    LICENSE MIT
    
    Change-Id: Ieb0c0cd166f85e073431890f51f735958776eb74
    Reviewed-on: http://gerrit.openafs.org/1883
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 715670cbe968ee499a29f9477626962dd74c01dd
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 2 09:16:29 2010 -0400

    Windows: getAFSServer wrong variable used in uncompiled code
    
    In the uncompiled implementation of getAFSServer, the unmodified
    'cellname' is used in the send_DNS_AFSDB_Query call instead of
    the properly constructed 'query' variable.
    
    LICENSE MIT
    
    Change-Id: I9de506a2986872ab88aeea158aa43133efc75d50
    Reviewed-on: http://gerrit.openafs.org/1882
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4f7bf8fb432ead9d0252e462cb627ab457c5b849
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 28 12:33:03 2010 -0400

    Windows: FlushFile ioctl should call cm_FSync, not buf_CleanVnode
    
    When flushing a file, we need to commit the file length changes
    as well as the dirty buffers.  Call cm_FSync instead of buf_CleanVnode
    which is called by cm_FSync.
    
    LICENSE MIT
    
    Change-Id: Id21e49e0559d20fce3e1d65cb73496a8b6cb1fa1
    Reviewed-on: http://gerrit.openafs.org/1875
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1844719127f9e1202f6e1823a64f12286d9a2e1c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 28 12:21:00 2010 -0400

    Windows: add 'locked' flag to cm_FSync and call when dropping write locks
    
    cm_FSync should be called when releasing file server write locks.
    This ensures that all dirty buffers are stored before the lock
    can be acquired by another client.
    
    Since cm_Unlock holds the cm_scache_t->rw exclusively when calling
    cm_FSync, add a 'locked' parameter to cm_FSync to avoid an unnecessary
    release and reacquire of the rwlock.
    
    LICENSE MIT
    
    Change-Id: I70bbeffc24ec4238461281bab4006b3a57b275e2
    Reviewed-on: http://gerrit.openafs.org/1876
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a1cbbccce3cb615b43535721f8990f6019aa27ec
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Apr 28 19:07:32 2010 -0400

    Warning fix: cpp hates apostrophes
    
    The compiler complains when the text in a #warning contains a
    single apostrophe:
       error: missing terminating ' character
    
    Change the text to avoid it.
    
    Change-Id: Ibf1f4d2cb922b313545ed228a2a8d4eb6b134178
    Reviewed-on: http://gerrit.openafs.org/1877
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 94c15f62d3e82c4a4cf2ac7c4e247b4c5658eb2b
Author: Matt Benjmain <matt@linuxbox.com>
Date:   Wed Apr 28 06:19:16 2010 -0400

    netbsd: rebase cm at NetBSD 4.0
    
    Rebases the NetBSD client port at OpenBSD, which was originally
    based on an original NetBSD client port by John Kohl.  The
    platforms remain closely connected.
    
    At latest milestone, the port builds as a NetBSD LKM, which was
    loadable and can mount /afs (but much work remains past this
    point).
    
    Change-Id: I1381a60078794da03a82e7bf6e78127da82d61ee
    Change-Id: I8e07e82796f6981c99d22ff50dd5b284aad88a9f
    Reviewed-on: http://gerrit.openafs.org/1874
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7f399f2caca1b614687b55393c8b8d7330fb4220
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 28 02:02:05 2010 -0400

    upstream dumpscan changes
    
    pull in code changes from upstream for dumpscan
    
    Change-Id: Ib1bcba7a420d19c1bf27b2a5405aaee786e6cbd6
    Reviewed-on: http://gerrit.openafs.org/1873
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d02f9a0b0b95ac6ada6be0b2b9a1e164f75a425d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 28 01:13:30 2010 +0100

    Linux: Register number sysctls only when desperate
    
    The AFS sysctl interface was trying to register numeric system
    calls whenever the kernel would let it. This is anti-social, as
    we've never had sysctl numbers allocated to us. In kernels newer
    than 2.6.24, this misbehaviour is detected and punished. In recent
    kernels, the binary interface has gone away entirely.
    
    Since 2.6.19, the kernel has supported allocated unnumbered system
    calls. These are only available via /proc/sys (and not the using
    the legacy, binary, API), but they're really the only interface
    available to us.
    
    Change the sysctl registration code to use unnumbered calls whenever
    they are available. Unnumbered calls aren't available in 2.4.x, so
    completely remove that code there.
    
    Change-Id: I882117ca2250894f479292026fed84ff0b5e7972
    Reviewed-on: http://gerrit.openafs.org/1871
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1c6d709cba64cda7bce0f5f91ab30a1e7bb8983
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 27 20:00:23 2010 -0400

    Linux: specify void argument for afs_try_to_freeze inlines
    
    The new freeze inlines take no arguments, but need to be declared
    as taking (void) to prevent warnings that it is not a proper prototype.
    
    Change-Id: Ife675e69f566fabaee4bc41f2cc4fa9a20e816db
    Reviewed-on: http://gerrit.openafs.org/1870
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 009b547195eed40f7fa2fede24068c90e30c33e5
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 27 18:36:46 2010 -0400

    Linux autoconf: fix name for struct cred test
    
    The new macro scheme changes the name of the tested define.
    Update the code to match.
    
    Change-Id: I0e9f04692d8fbb6e9452a9b169c191ce7148349b
    Reviewed-on: http://gerrit.openafs.org/1868
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d88b0b9a7b673cb828af6b68e5a9c48052b96a48
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 27 18:25:15 2010 -0400

    Linux autoconf typo
    
    The test for the new export ops has a typo which
    makes the test fail where it should succeed: eops -> _eops
    
    Change-Id: I97dd0707b911c51f6394ada426a98e06a83ad35e
    Reviewed-on: http://gerrit.openafs.org/1867
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6c53cd7ad3980bd38b4d522a55d439e99608eb11
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Mar 25 12:08:51 2010 -0500

    Add some directory package doxygen comments
    
    Change-Id: I75c358f08c71b2de722de03bb65fb8696657d57f
    Reviewed-on: http://gerrit.openafs.org/1861
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b7a94ae11de37e22655073f55fe829427c38c832
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 22:16:24 2010 +0100

    Linux: autoconf fallout
    
    grap != grab - fix spelling of grab_cache_page_write_begin
    
    Change-Id: I4032bff80b6d1d7568af8f9de59a56c0bd6a661a
    Reviewed-on: http://gerrit.openafs.org/1859
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c598e34fc36a5c5eb82b2b81f4caba66068d59b7
Author: Matt Benjmain <matt@linuxbox.com>
Date:   Tue Apr 27 12:06:48 2010 -0400

    netbsd: remove old (non-original) NBSD port
    
    Prepare for rebase of NBSD port at the current OBSD port,
    which is descended directly from the original NBSD port and
    more closely resembles it.
    
    Change-Id: I9ff67ebea04534ac5ddc11c0aa1d65028067806a
    Reviewed-on: http://gerrit.openafs.org/1858
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 14195f0f48d52dd3a81c52c4a3bc2078857d0f86
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Apr 24 22:12:27 2010 -0400

    Linux: Remove unnecessary crhold on incomplete kernel credentials
    
    When credentials debugging is active in the kernel, sanity checks
    in various credentials functions such as get_cred or put_cred
    require that they are called with full fledged kernel credentials.
    This can be a problem with recent kernels in osi_Init where we
    build our own credentials and try to "crhold" them.
    Getting a reference doesn't make much sense anyway since we're
    using a statically allocated structure that we never try to free
    or modify.
    
    As a minimal fix, just don't call crhold when we're using
    the kernel credentials structure.
    
    Change-Id: If4f843ad33526c6a42f1cf67c57763593ffa50ac
    Reviewed-on: http://gerrit.openafs.org/1828
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 014821d281cac7815ac7908a853191b17bf2a868
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 26 17:43:16 2010 -0400

    flush changes on LOCK_EX unlock
    
    right now, flock with LOCK_EX, on unlock, triggers an async store.
    make it sync, but also, make sure to ask to have any in-memory
    data sent to us (e.g. VM_StoreAllSegments); unlike Solaris
    VMSYNC_INVAL, we don't want to invalidate the pages, just get copies
    written back.
    
    LOCK_SH did not, does not and AFAICT should not trigger writes.
    
    Change-Id: Id4a72f73b685b5566bb31f6f610f22d806899280
    Reviewed-on: http://gerrit.openafs.org/1846
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa70575af3dd5b8e1467dd516413b6d153a9963a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 26 16:41:29 2010 -0400

    allow file length to be updated unless we're writing
    
    right now, merely having the file open O_RDWR, or mapped,
    precludes a length update from being reflected.
    
    Change-Id: I7f732b053c392aa6cc1c8ad6de8e0f4bd6468728
    Reviewed-on: http://gerrit.openafs.org/1841
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0c7cb6051fdc930d03df53b294fcbe5eaa6bbaff
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 19:31:55 2010 +0100

    Linux: Reorder the tests
    
    As a final change to the Linux autoconf stuff, reorder the list of
    tests so that it's more easy to see what's being checked for, and to
    prevent multiple copies of the same thing being added.
    
    Change-Id: I84ca132e178b45ac25ebd48e71193bdd84965770
    Reviewed-on: http://gerrit.openafs.org/1857
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2ce28370cf2d3a16d84664463731b1148447edb0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 18:57:30 2010 +0100

    Linux: Don't preprocess osi_vfs.h
    
    Before we did inodes properly, we needed to pre-process osi_vfs.h,
    in order to merge our inode structure with the Linux one. Ever since
    we moved to native inodes, that preprocessing has been disabled, and
    we've just copied osi_vfs.hin to osf_vfs.h Skip this pointless step,
    permanently rename osi_vfs.hin to osi_vfs.h, and remove the unused
    support scripts.
    
    Change-Id: I5e21eccf2242080cd8b994bd1654260bfb531420
    Reviewed-on: http://gerrit.openafs.org/1856
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a8cc8dbbe53a4764dcd355cf1080f497cb8f5d2e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 17:49:19 2010 +0100

    Linux: Don't waste autoconf checks on cpp defines
    
    If something is a #define, then there's no point in doing a test
    compile to check for its presence. Instead, just do #if defined(X)
    
    Remove the tests for for_each_process and prev_task.
    
    Change-Id: Id8a9fddf2571cccd5d61982d4662bce2009c8f43
    Reviewed-on: http://gerrit.openafs.org/1855
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a89d6b029d059d01b8bbfc18b9ee6e3f5a964b85
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 17:41:22 2010 +0100

    Linux: Add general autoconf macro for Linux kernel
    
    Add AC_CHECK_LINUX_BUILD() to do a standardised Linux build, which
    takes a "checking" message, the autoconf variable to use to cache
    the results, headers and code to run, preprocessor variable to
    define, and a description of that variable.
    
    Reimplement all of our existing check macros in terms of this one,
    resolving many typos along the way.
    
    Change-Id: I41988c83fcdbfbf8152f6dd0e7c4bd16c7a04240
    Reviewed-on: http://gerrit.openafs.org/1854
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 02f2c7cb3734d44dc90b77d631909373daefacd3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 27 13:02:20 2010 +0100

    Linux: Add autoconf macro for structure checks
    
    Add a new autoconf macro for doing structure element checks, and
    modify all simple structure checks to use it. This introduces a
    standard name form - STRUCT_structure_HAS_element, so there are
    some changes in the code to make use of this standard form.
    
    Change-Id: Ife967322503ae6f428e76845000de04f26929e65
    Reviewed-on: http://gerrit.openafs.org/1853
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6fc3ac36701cd64736b784e99184c504fa4226f4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 26 23:54:05 2010 +0100

    Linux: Macroise kernel function autoconf tests
    
    We spend a lot of time in autoconf checking to see if kernel
    functions are available. Rather than copying and pasting the same
    code everytime we do so, create a macro to do function tests, and
    use that macro. This results in standardised naming, so change all
    of the places that use autoconf results to use the same standardised
    names.
    
    Change-Id: I36212e6c28c4b8455f859da1bbf3e456a2aabc07
    Reviewed-on: http://gerrit.openafs.org/1849
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit eef18466d920985c37ed8d22a6557b609c6225a6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 26 22:13:39 2010 +0100

    Linux: Tidy up freezer code
    
    Linux now provides try_to_freeze(), which can be used to replace
    all of our refrigerator code. This has been in the tree for a long
    time, and actually predates many of the changes we've been modifying
    our code to work with. So, use try_to_freeze wherever we can, and keep
    a simpler compatibility function for kernels which are too old to have
    it.
    
    Change-Id: Iec50f83382f46d2b17b43da815a75755ea916bc6
    Reviewed-on: http://gerrit.openafs.org/1845
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ef8bd5a29b937a1211540aa60398ee966470a712
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 26 21:34:17 2010 +0100

    Linux: Simplify header file checks
    
    Provide an autoconf macro to perform tests for the existence of
    Linux kernel header files. Use this to standardise the naming of
    header file presence #defines, and to simplify the linux tests.
    
    Change-Id: I49629679db56c5f9a39487bd78fc2e59d5da0269
    Reviewed-on: http://gerrit.openafs.org/1844
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a0259edcac06554688145302468e7696713744aa
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Apr 27 13:03:36 2010 -0400

    Rename afs_nbsd_* functions in OBSD
    
    The OBSD cm port prefixes function names with afs_nbsd_, an
    artifact of its origin in the original NBSD cm port.  Make the
    prefix afs_obsd_.
    
    Change-Id: Id412fe0f752a147e2a9afda904db220ea6efd736
    Reviewed-on: http://gerrit.openafs.org/1850
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f5036d6314d4161ab57f7f6bcc074e535289c1eb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 26 23:36:38 2010 +0100

    Overzealous .gitignore under rxkad
    
    The .gitignore in rxkad ignores sboxes.h and fcrypt.h,
    since they used to get copied there from the domestic subdir.
    Now that they actually live under rxkad, they souldn't be
    ignored.
    
    (with thanks to Marc for the commit message)
    
    Change-Id: I1dd6766e75c15ca7f5604601bbe5b4e67f4fffa6
    Reviewed-on: http://gerrit.openafs.org/1848
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c761f3ddde786e4ced1022ec5570d4cb2ce15169
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Apr 26 18:15:16 2010 -0400

    Overzealous clean target under rxkad
    
    The clean target under rxkad removes sboxes.h and fcrypt.h,
    since they used to get copied there from the domestic subdir.
    Now that they actually live under rxkad, they souldn't be
    removed.
    
    Change-Id: I867496dd0d3dd997d402ebfbfc6272447b1af98e
    Reviewed-on: http://gerrit.openafs.org/1847
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4768ed68d0831d208f4ebeead06e0b4e422f728e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 26 15:55:57 2010 -0400

    dcache dirty pages flag is solaris only
    
    note that IFDirtyPages is Solaris-only, so there's no confusion. may be
    worth visiting to see if and how the code should be minimized or adapted
    for elsewhere
    
    Change-Id: I7dfe4760eb4038d23a920c2e23f33d93e604bbca
    Reviewed-on: http://gerrit.openafs.org/1840
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 90c970d3b60bb28a21b2861b75469281b5c464a5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 17:07:40 2010 +0100

    Linux: Don't hide memory management
    
    Given that we now only switch from user space into kernel space in
    one place, don't hide the mechanism we use to do so behind macros.
    This makes it much easier to visually confirm the correctness of the
    code.
    
    Change-Id: Ie52e071c81a9178c792be1eaa7e36d8453ebb319
    Reviewed-on: http://gerrit.openafs.org/1820
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad306046291c5c67178251d349f1250fef895ae2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 17:10:15 2010 +0100

    Linux: The kernel module always runs in the kernel
    
    There's no situation where we'd be including osi_machdep.h and not
    be building for the kernel, so just remove the case that disables all of
    the locks if __KERNEL__ isn't defined.
    
    Change-Id: I1141c37cf0cd517191dee7ca2404e109d4053c29
    Reviewed-on: http://gerrit.openafs.org/1821
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 51c1eb362da866e28a9fb9a6f5d9d412aac7e8c2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 26 00:21:30 2010 -0400

    fix other oldtvix typo
    
    i failed to push this to commit 0dac8f93af5262472bc5bdf94dbb605a24da59d0,
    and so, well, here's the real fix. sorry.
    
    Change-Id: I6799ecb207f246ac3e4c48b1de55268d2fba4d23
    Reviewed-on: http://gerrit.openafs.org/1837
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0dac8f93af5262472bc5bdf94dbb605a24da59d0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Apr 22 17:22:37 2010 -0400

    Initialize oldvtix
    
    Initialize the variable to avoid compiler complaints that it
    could be used uninitialized.  Use a sentinel value and issue
    a warning if we try to use the variable and we haven't set
    it to a useful value.
    
    Change-Id: I037be2ad8e0b55d06b50aafdeca5012764640f16
    Reviewed-on: http://gerrit.openafs.org/1810
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1798fe6da1d40c083bc10fe101a73b5f67b6fa0d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 18:03:49 2010 +0100

    Linux: Use kernel network helper functions
    
    Linux has various network helper functions available, which are
    guaranteed to do the right thing in terms of setting address space
    limits, not dereferencing NULL pointers, and the like. Use these, where
    they're available, rather than rolling our own.
    
    kernel_sendmsg and kernel_recvmsg appeared in 2.6.8.
    
    Change-Id: I1cd91afd2182ad936756bbc4cf692262499c16e4
    Reviewed-on: http://gerrit.openafs.org/1822
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 06f8a6232b7ad56a82dc94384dc950411107f48a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 18:38:02 2010 +0100

    Linux: Remove old code from RX kernel implementation
    
    The RX implementation was split into LINUX and LINUX24 along with
    the kernel, but the old 2.4 and 2.2 only code was never removed from
    the LINUX/ directory. Do so now.
    
    Change-Id: I80300a1390e297298f4af3c06086e25d0acf8c1a
    Reviewed-on: http://gerrit.openafs.org/1819
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d6d82659d0b68aad201916b6323591ff497486f8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 16:54:39 2010 +0100

    Linux: Don't pass f_pos down to the filesystem
    
    In 2.6.8, Linux shifted from passing f_pos directly to the read
    and write routines, and started passing a copy. This helps reduce,
    but does not remove, the race issues with f_pos itself. Make this
    change for us.
    
    Take the opportunity to remove the uneccessary macros, and tidy up
    some casting.
    
    Change-Id: I3b4cdf1e6e8127cbe0055829605268953c4397a6
    Reviewed-on: http://gerrit.openafs.org/1818
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bd95ded9cfd95c4498896cbbadff6af3b752c43d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 15:59:46 2010 +0100

    Linux: Removed unused define
    
    VFS_STATFS isn't used in the Linux 2.6 case, and is wrong anyway.
    Remove it in an attempt to clarify some particularly muddy water.
    
    Change-Id: I404429e3eeb87146bfdced5625b56857ba2ab9fd
    Reviewed-on: http://gerrit.openafs.org/1817
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 20d08fb0ec7190bac622e9ac8a17f97b7feef1cb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Apr 23 15:07:58 2010 +0100

    Linux: Don't roll our own llseek
    
    llseek is a little more complex than just setting the pos field of
    the file structure.
    
    Where vfs_llseek is available to us (it has been since 2.6.8) use that
    directly. If vfs_llseek isn't available, then use either the
    filesystem's llseek method, or default_llseek (available since 2.6.0),
    to ensure we get the proper locking.
    
    Change-Id: I26bcbff984c7164be1724eee7a46cbe6e02bc510
    Reviewed-on: http://gerrit.openafs.org/1816
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5afa2965b2c4eab2a32dbd4ff036a835eb903e75
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 24 17:05:47 2010 -0400

    cachemgr store file too big error exit via usual path
    
    have just one path for exiting on errors so we do everything
    
    this means we will EndCall, instead of not, in the EFBIG case
    
    Change-Id: I2df025eee4bd5173ed4f80a73f9a9a347e7257d2
    Reviewed-on: http://gerrit.openafs.org/1827
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fbbfb51e7d997a40bf7d57150f69bfb055831a07
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Apr 25 22:07:04 2010 +0100

    Move rxkad/domestic/* into rxkad/ directory proper
    
    Historically, the fcrypt code lived in its own directory, named
    'domestic', so that ACLs could be used to prevent nasty foreigners
    from getting access to it. Now that those days are gone, having the
    domestic directory just complicates builds. Remove it, and reunite
    fcrypt with the rest of the tree.
    
    Change-Id: I2d1f66463121bbb391260b613913d76c27931429
    Reviewed-on: http://gerrit.openafs.org/1836
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37d2e8bfa8aa83ed592bd25cd3c7fd58f178de9a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 19:11:06 2010 +0100

    Improve shared library building support
    
    This change removes the need to maintain two forms of symbol export
    lists, instead generating the simpler lists required by AIX and Mac OS X
    from the more complex Linux and Solaris mapfile. It can only handle
    simple mapfiles at present, any more complex files (for example, those
    which contain versioning information) will require changes to the
    translation script. The now unused .exp files are removed, and a
    dependency on the .map file added to the library build line.
    
    This change adds support for export lists to Darwin for the first time.
    Doing so identified a number of symbols in libafsrpc that are required
    by libafsauthent, which were not being exported. Export these symbols,
    and bump the minor revision of the shared library.
    
    Change-Id: Ibd1d02bb89b85500dc2a010e6cde1f4b81efe050
    Reviewed-on: http://gerrit.openafs.org/1831
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0d7197f92517446be422150e32e0e07118a88271
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 11:31:36 2010 +0100

    Linux: Remove prototype warning inhibition
    
    The Linux kernel builds used to add -Wno-strict-prototypes to the
    CFLAGS. Now that we've got prototypes for pretty much everything,
    remove this line so we can see any real warnings that might occur.
    
    Change-Id: I71b97bd3d19259f6ec6a55cfe095f5f4bf1ab78f
    Reviewed-on: http://gerrit.openafs.org/1830
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 36ea3e1ffe3fb7fc625cdb9cdca2d98ce8297a2b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 10:55:23 2010 +0100

    Fix make clean and make distclean
    
    Fix these make targets so they actually clean the tree. Reorder the list
    of file deletions in distclean so that it exactly mirrors the creation
    order in configure.in, which should hopefully make it easier to keep
    this all in sync in future. Add all of the missing files in packaging,
    and the shared library build tools, to this list.
    
    Make kauth and vol clean remove ka-forwarder and fssync-debug,
    respectively.
    
    Change-Id: Iae13419f1cb21058882c0b0e0c283e3c947e33c9
    Reviewed-on: http://gerrit.openafs.org/1829
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1a0912ffc2e4ec76a599e8d817c8e084799e464d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Apr 25 21:52:20 2010 +0100

    Really kill des_stub
    
    Some bits of des_stub were lingering on. Get rid of it completely.
    
    Change-Id: I853135621a757c78cdb50117500f056ade0e6ab5
    Reviewed-on: http://gerrit.openafs.org/1835
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d77c69504bed925ab420c5bac84d7ef23aff4417
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Apr 24 17:34:02 2010 +0100

    Fix objdir builds
    
    Change f2db78a346112f5320efc6f0b6b9fe4ae0d893d3 included hard
    references to compilation sources with no srcdir prefix, and so
    broke objdir builds. Fix this so that we can build outside the
    source tree again.
    
    Change-Id: Iaae2d4a1047cc2ac0f5f4aae92cadc1f2a0d09e2
    Reviewed-on: http://gerrit.openafs.org/1826
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf53b0882b7ef3d6e25500e968d007f464be5c04
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 23 14:40:45 2010 -0400

    macos growl agent warning parser fix
    
    warnings start at offset 5, not 6 (warn is shorter than fetch or store)
    
    Change-Id: Ibaa1239b0f9797da149cb05b3f871611b13833c8
    Reviewed-on: http://gerrit.openafs.org/1825
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8b0164cd9ef7fd9db8acb0f53c1e4efb00d931af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 23 11:56:08 2010 -0400

    openafs 1.5.74.1
    
    so it can be tagged and non-unversioned builds of the mac client changes can
    be seeded for testing
    
    Change-Id: Ibaa231d356bf667b13e271c9868c6ce0182bd2a6
    Reviewed-on: http://gerrit.openafs.org/1814
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f5086e38922b88ec753d4ca632d89cc51913819e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 23 11:02:32 2010 -0400

    macos launchd be more patient
    
    right now we would wait 20 seconds for shutdown (the default),
    get impatient and be useless.
    
    be less useless.
    
    Change-Id: I8c6bc9b7546352cfa73d461b7cdddd2b5b5d7889
    Reviewed-on: http://gerrit.openafs.org/1813
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d4e66ef219c88cdb17f2e860027cf6752ea21b17
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 22 22:24:11 2010 +0100

    Unix: Modify disk cache versioning
    
    This change increments the disk cache version number, and adds a
    structure size record to the disk cache header. All old disk caches
    will be replaced when the client is started.
    
    With the various changes made to unify our file handles, and to
    support large file handles on Linux, the size of the 'fcache'
    structure was modified earlier in the 1.5 series. However, fcache
    is also the building block of the CacheItems file, so these changes
    inadvertently broke users upgrading from 1.4. In addition, as the
    disk cache inode is now a union of many different structures, the
    structure size is now potentially volatile across both kernel, and
    OpenAFS revisions.
    
    Up the version number so old disk caches are invalidated and won't
    crash users who are upgrading. Also take the opportunity to add an
    item to the header which stores the size of struct fcache used
    by the disk cache. If the size on disk doesn't match that expected
    by the kernel module, truncate the cache and start again.
    
    Change-Id: I2ee8863d0bfaaaba34272c9e139638e17669a53e
    Reviewed-on: http://gerrit.openafs.org/1811
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cfc9b34856c6649a44e9fe762f9b0c0f09d7c653
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Apr 22 19:39:21 2010 -0400

    Warning fix: cast to expected type
    
    Cast argument to match the expected type from the format string.
    
    Change-Id: Iddec912ff8a27f46d872fc3101677913adfb537a
    Reviewed-on: http://gerrit.openafs.org/1812
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 30f2dded7340a776f2d41a17cee944ef83665648
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 22 11:54:06 2010 -0500

    Update nextVnodeUnique before checking inUse
    
    When attaching a volume, update the nextVnodeUnique field for the
    volume, before we do any checks on the volume; for example, checking
    inUse, which may result in a demand-salvage if we are running DAFS.
    
    If we do not do this, we can schedule a demand-salvage without setting
    nextVnodeUnique, and VUpdateVolume_r will update the volume header
    uniquifier to nextVnodeUnique+200, when nextVnodeUnique is not set.
    So, we will always set the uniquifier to 200. Fortunately, the salvage
    should usually fix the uniquifer anyway.
    
    So, set nextVnodeUnique before doing any of those checks, to avoid
    screwing up the uniquifier when taking the volume offline.
    
    Change-Id: Ib211bbf5e93efbebcb679259944e7abf211aa6e1
    Reviewed-on: http://gerrit.openafs.org/1809
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3a0e2a725306504302d5efd254a027d865860093
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 22 13:21:52 2010 -0500

    Prefer EndCall errors in StoreMini
    
    Partially revert b1eb6a7a3f80500f0187cc6a1dd2013e1a5e154a, so we do
    not mask the rx_EndCall error with a EndRXAFS_StoreData error (for
    example, if EndRXAFS_StoreData returns RXGEN_CC_UNMARSHAL, and
    rx_EndCall returns VBUSY). We need to agree on how to do this
    throughout the tree, but for now, just fix StoreMini.
    
    Change-Id: I4913946089fd0857506d9186f85c5c8115a5b95d
    Reviewed-on: http://gerrit.openafs.org/1808
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 77468e3a0820d32cc8a1b2b6c4601ba83803f727
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 22 18:02:08 2010 +0100

    Linux: Tidy up packaging
    
    Remove the fuzz setting - we're no longer patching the build, so
    we don't need it.
    
    Change-Id: Ic56b4d9efed40aedb425d9852018907736ef957f
    Reviewed-on: http://gerrit.openafs.org/1807
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0d0e7699c9f789214205fe6837cded1a4c95f9c0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Apr 22 17:56:25 2010 +0100

    Linux: RedHat packaging updates for RHEL6
    
    Update our bundled spec file and related tools so they can be used
    to build OpenAFS on the RHEL6 beta.
    
    - Make kmodtool recognise el6 as having "modern" kernel naming
      conventions
    - Replace %{PACKAGE_VERSION} (which seems to have disappeared)
      with the standard %{version} macro
    
    Thanks to billings and phalenor on IRC for their testing efforts.
    
    Change-Id: I6538af56f365952b98c2dcbafb1c043435449e63
    Reviewed-on: http://gerrit.openafs.org/1806
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 219276bab080640d0f024eba344073bdffaf6c1f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 22 09:59:30 2010 -0500

    Resolve symlinks for 'fs rmmount'
    
    'fs rmmount' is the only 'fs' command that does not resolve symlinks
    for its pioctls for some reason. Make it resolve symlinks.
    
    Thanks to Arne Wiebalck.
    
    Change-Id: Ifb6bdf0b381abd2e157d93d7eea4d853e1b3a689
    Reviewed-on: http://gerrit.openafs.org/1805
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d9e6dbbf1c81d31645957906c9b3b0caa803ca7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 17 00:48:03 2010 -0500

    byte-range lock warning should include pid
    
    is is the same pid cmdebug would print. just include it in the logged
    byte-range lock warning.
    
    FIXES 126438
    
    Change-Id: Idd83a4c4a56edf43ab257b3a7f08e1bbb774f04a
    Reviewed-on: http://gerrit.openafs.org/1333
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2a8c554a4553c32359cecf268fd12029c9d6d85d
Author: sanket <sanket@sanketagarwal.com>
Date:   Sat Apr 17 19:44:25 2010 +0530

    Adding osi_procname macro to different platforms
    
    osi_procname(procname, size) is added to different platforms to obtain
    the processname in the string procname( preallocated ) with size size
    
    Change-Id: Iab8fed3e99839cee7c07a2de6144af9b09af3a57
    Change-Id: Ib4e45564ae942e74c331444969a462427f5e7cf3
    Reviewed-on: http://gerrit.openafs.org/1771
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3239cb830082ed995391bdda86d61daba9bed1a1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 21 18:45:33 2010 -0400

    macos bulkstat again
    
    revamp this to avoid various issues with vnode references,
    and to avoid potentially finding CVInit vcaches but not reclaiming
    
    Change-Id: I6cb8d73b66c449a104799082259c97ede7e32e9b
    Reviewed-on: http://gerrit.openafs.org/1802
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 54226e9ad45003f4f54b1a7ba2b13003dcf1edb7
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 19 22:01:27 2010 -0700

    Fix UCONTEXT detection on ppc_linux26 via include order
    
    param.linux26.h defines USE_UCONTEXT for all Linux platforms for
    glibc 2.4 and higher, but it does this by testing __GLIBC__ and
    __GLIBC_MINOR__.  These are defined by features.h, which is included
    by any system header.  At least one system header must be included
    before those are defined.  lwp/process.c was including <afsconfig.h>
    and <afs/param.h> before any other headers, leading to those macros
    being undefined.  Most of the Linux architectures either have their
    own implementation or were explicitly defining USE_UCONTEXT in the
    per-architecture param file, but ppc_linux26 was relying on the
    default.
    
    Fix this by reordering the includes to include the various system
    headers before <afs/param.h> and add a comment explaining why.
    
    This previously worked in earlier versions because the old
    param.ppc_linux26.h file included <afs/afs_sysnames.h>, which
    included "stds.h", which included a system header prior to the check
    for ucontext.  The new generic param file reverses that order.
    
    Change-Id: I214e54f684afdef07e6e2dec5b6e6e4d255ab4ec
    Reviewed-on: http://gerrit.openafs.org/1791
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80f05473428969ff71d1791cda8cb09d30223724
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 21 12:41:21 2010 -0500

    Recover from afs_GetVolSlot errors
    
    afs_GetVolSlot can panic in a few different ways, such as failing to
    read from or write to VolumeInfo. Instead of panic'ing, return an
    error to the application. Adjust callers to deal with getting a NULL
    volume returned.
    
    Based on a patch by Mike Meffie.
    
    Change-Id: Ibb301fed795ee9ee5906b8e7973945a06218b8f1
    Reviewed-on: http://gerrit.openafs.org/1801
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6bde63c46502ef8a70f4e9ceefbff7404c6d0ef8
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Apr 20 20:46:32 2010 -0700

    Add RFC 5864 to the protocol documentation directory
    
    Add a copy of RFC 5864 (DNS SRV Resource Records for AFS) to the
    protocol documentation directory for reference.  As permitted by
    the IETF Trust License Policy section 3(e), I release this document
    under the MIT/X Consortium license included in this copy of the
    document.
    
    LICENSE MIT
    
    Change-Id: I8e22aac07b4cedbe18b8375213a7866cf98a1386
    Reviewed-on: http://gerrit.openafs.org/1799
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e8d6d9dfd7c49fc1017d0b7f370e0ba3f3baedb8
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 19 21:18:57 2010 -0700

    Install afsd.fuse and man page if built
    
    If --enable-fuse-client is passed to configure and afsd.fuse is built,
    install it into the same directory as afsd and install afsd.fuse.8 as a
    symlink to the afsd.8 man page.  Add documentation of afsd.fuse to the
    afsd man page.
    
    Change-Id: I7d0cd3992a8466e626af2191c713e5623cc40d84
    Reviewed-on: http://gerrit.openafs.org/1792
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f3fc021808f73ae770ac1ee25e90df632201b217
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Wed Apr 21 04:09:03 2010 -0400

    Add src/afsd/afsd.fuse and src/libuafs/afsd to .gitignore
    
    Change-Id: I4b7e5261d92944ed871a1113b0f4a651357f9fcf
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/1800
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7321493788411419cd4c2817b97cfcd8227b849c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Apr 18 18:49:18 2010 -0500

    Add documentation for fs callback xstats
    
    Change I572ff682de4cc7ef27bb46dd028d3d797b873841 added the fileserver
    callback xstats collection to afsmonitor. Provide some documentation
    for these fields, along with the other fields displayed by afsmonitor.
    
    Change-Id: I21618047519fbb28f6707ff9ba95a17fe27e0f3c
    Reviewed-on: http://gerrit.openafs.org/1783
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0428e5fd9523148b4c9ab59701a19ad521549662
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 20 19:59:53 2010 -0400

    kauth admin tools ubik prototyping
    
    kill off ubik_Call (but not CallIter, yet)
    
    Change-Id: I7af515b4e1c55c493c304a8ffd5c74cb96cd3b97
    Reviewed-on: http://gerrit.openafs.org/1793
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1662aa04d70631fd77eaeef8899f0056ce6773f8
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Apr 20 15:53:21 2010 -0400

    Updated dkms.conf to remove MPS=$SMP from make
    
    * Removed the logic to set $SMP based on CONFIG_SMP from
      /boot/config-$kernelver
    * When using --with-linux-kernel-packaging in the configure line, dkms
      no longer needs MPS=$SMP in the make line.
    
    Change-Id: Ib65782050cae9f439ad5fed5c7bbbc403e556b4f
    Reviewed-on: http://gerrit.openafs.org/1798
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9ab56bb0c8c95de188b1120221ca2ad1b6fdddb9
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Apr 20 12:13:11 2010 -0400

    Added explanatory comments for restorevol move
    
    Since restorevol is placed in %{_prefix}/afs/bin by make dest, we
    need to fix it so it ends up in %{_bindir} to be used in the base
    package.
    
    Change-Id: I31f2602868230416525a84a9d716230f08cb34ab
    Reviewed-on: http://gerrit.openafs.org/1796
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8cca2e64ef6005d2ee050fee5641b16ae43117a9
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Apr 20 12:00:21 2010 -0400

    Fixed more locations to reflect recent changes
    
    Moved restorevol man page to base package
    Moved state_analyzer man page to server package
    
    Change-Id: I714dd6eca86def48fefc0206c93038ae71415cc9
    Reviewed-on: http://gerrit.openafs.org/1795
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8f952a3ebda3567630c94d60877c5c926df98d08
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Apr 20 11:50:59 2010 -0400

    Fixed RedHat SPEC file to reflect updates in code
    
    Moved the restorevol binary from /usr/afs/bin to /usr/bin
    Added the new state_analyzer.8.gz man page
    
    Change-Id: Ibf4133034b1945d58843162cb45bdd485e8c34a1
    Reviewed-on: http://gerrit.openafs.org/1794
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d80382efc5b0e3c8d32688a94c7ff7c68882cb59
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 19 21:36:09 2010 -0700

    Remove special-case call sequence for KAM_SetPassword on s390
    
    For Linux s390 (but not s390x), an additional argument was passed
    to KAM_SetPassword between the kvno and the encryption key.  This
    doesn't seem to match the rest of the code and is now, with stricter
    prototyping, preventing the code from compiling.  Remove it and use
    the same call sequence on s390 as everywhere else.
    
    Change-Id: I750f64212e80d4bed4500e316ad7d354608866d7
    Reviewed-on: http://gerrit.openafs.org/1790
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 63b6bb1ee7d52ba11c817fbfbbda5704d21669dc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 19 14:48:14 2010 -0500

    Use AC_PREREQ
    
    We use AC_USE_SYSTEM_EXTENSIONS, which was introduced in autoconf
    2.60. To allow for less confusion and perhaps a more clear error
    message, specify that we require using at least that version.
    
    Change-Id: I42a3f4e889ad443d8d8cd3ba0c085c67606b8be3
    Reviewed-on: http://gerrit.openafs.org/1784
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit e6f6c3493e4c6d0ea620f34bd764925f9d004a2c
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 19 14:00:31 2010 -0700

    Fixes and clarifications to vos setaddrs man page
    
    Add a caution explaining how the file server addresses are registered
    and pointing users at NetInfo and NetRestrict plus restarting the file
    server for the normal case.
    
    Mention what version of OpenAFS introduced this command.  Drop the note
    about the version of OpenAFS that added the -encrypt flag, since the
    whole command is newer than that.
    
    Reference vos listaddrs -printuuid specifically to get the UUID.
    
    General formatting and wording cleanup: use terminology more consistently,
    continue a long example line, wrap long lines, fix a spelling error, and
    add cross-references to NetInfo and NetRestrict.
    
    Change-Id: Idd6175339dc0feb1b777963bbb09731e42b83522
    Reviewed-on: http://gerrit.openafs.org/1787
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1a29506a2c387b1046b2e9e8966af693567099a5
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 19 14:55:16 2010 -0700

    Update Debian packaging for 1.5.74
    
    Include the Debian changelog entry for 1.5.74-1 and install the new
    vos setaddrs man page.
    
    Change-Id: I4cc9e0590cb47d0ae885d7116f5bafd469f43cae
    Reviewed-on: http://gerrit.openafs.org/1788
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fe48d1777f88dc5ec8e56b2e68a2a491fe3edb45
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 19 14:02:14 2010 -0400

    macos disable bulkstat
    
    there's still a bug
    
    Change-Id: I23e02f9a05e001f0082b757c4a1dd78186fe6977
    Reviewed-on: http://gerrit.openafs.org/1782
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5df92c083eb96b5b1496124715998ab9bfe9ef69
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 18 13:45:51 2010 -0400

    macos bulkstat don't double reget refs
    
    if another code path already got back the refs from finalizevnode,
    don't do it again
    
    Change-Id: I7e06ceeb2c7e71b1be94fd0fccb6e28c37457b24
    Reviewed-on: http://gerrit.openafs.org/1776
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b64a0af473aea79dd7a198210e0283016433546e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 18 13:35:09 2010 -0400

    bulkstat restore bulkfetching state for reused vcaches
    
    when i introduced NewBulkVCache I elided this case. Set it here.
    
    Change-Id: Id88425b0ee662ecc23dd43cf7fa253ab61b02945
    Reviewed-on: http://gerrit.openafs.org/1775
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6c49c21f9734d01ba6bf00f3a8e41460ff377868
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 18 18:34:18 2010 +0100

    Windows: Preserve volume location info in case of comm fail
    
    The cache manager refreshes volume location information every
    two hours. If during a refresh the communication with the
    vldb server fails, the previously known volume location information
    should continue to be used.
    
    The previous behavior in which the volume location information
    is discarded first and then the update is performed can result
    in unnecessary client failures when a temporary disruption in
    communication with the vldb server occurs.  Instead, wait until
    we have a successful response from the vldb server before the
    previous server list is discarded.
    
    LICENSE MIT
    
    Change-Id: I7c63c4f673a7a1360a74611c356329f31f9ceec3
    Reviewed-on: http://gerrit.openafs.org/1769
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 91bef849e58ff45fbcac3107fbc7c19d2bc88b7e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 18 18:20:52 2010 +0100

    Windows: correct locking in cm_FreeServerList
    
    The cm_serverLock must be held when checking the state
    of the list head.
    
    LICENSE MIT
    
    Change-Id: I1134a6617d4c1e38b95512b1fdc41c5f5857ea7a
    Reviewed-on: http://gerrit.openafs.org/1774
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 2beda68d4ad84e3e853a320bfb9d610b33f77902
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Apr 18 12:38:27 2010 +0100

    Windows: prevent infinite idle error response
    
    The idle error value (if any) is stored in the cm_req_t object.
    Since the value is never cleared, the same value can be returned
    for all requests that make use of the same cm_req_t object.
    
    Change the behavior to only return an idle error once and then
    clear it.
    
    LICENSE MIT
    
    Change-Id: Iac9ff8e56e856c2f0e440a34ac39ccd68de37c77
    Reviewed-on: http://gerrit.openafs.org/1773
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1239acfb44d13d92b38b8b0c95ec5c480a4e2253
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 17 15:21:32 2010 -0400

    Windows: Increase the memory map version
    
    Since the cm_buf_t data structure changed, update
    the memory map version number so that the cache will
    not be reused.
    
    LICENSE MIT
    
    Change-Id: If01997ebd90c8f004d7cf4ba92f46fe4b9f570bf
    Reviewed-on: http://gerrit.openafs.org/1772
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 690b5c814e13bfc4652043474d2dcf48e4c8468d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 17 10:14:50 2010 -0400

    openafs 1.5.74
    
    make 1.5.74 versions
    
    Change-Id: I320cdbab2961dcf2a17bb71e8d4283aaf38941ce
    Reviewed-on: http://gerrit.openafs.org/1768
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a9018b3132c92400bc87d7f3cf88b547d20f3ece
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Apr 17 11:13:21 2010 -0400

    Windows: 1.5.74 change log
    
    Important changes affecting the Windows distribution for 1.5.74
    
    Change-Id: I980a66a2ab4a90c580249641fc22e3c7a91097dc
    Reviewed-on: http://gerrit.openafs.org/1770
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3ad9c5583845986979a25d615a9640770a3bf9f6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 16 22:42:34 2010 -0400

    Rx: make conn_call_lock and conn_data_lock usage consistent
    
    The rx_connection.flags field is protected by the conn_data_lock
    but the conn_data_lock is not held everywhere the conn flags
    field is altered.  This produces a race that can result in a
    deadlock when waiter flags are inadvertently prevented from being
    cleared.
    
    The conn_call_lock usage in rx_EndCall which was removed in
    Change e169708681eb1bbbb31951b95f68e861a4b01c7e must be restored.
    If rx_EndCall never obtains the conn_call_lock it can't ensure
    that the thread in rx_NewCall actively checking the calls will
    not end up blocking when there is now a call channel that can
    be reused.  This usage of conn_call_lock can be removed only
    if a true producer/consumer model is implemented.
    
    Change-Id: Id093fd6c4a42afb833c775411be0cd406abf4ef7
    Reviewed-on: http://gerrit.openafs.org/1766
    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>

commit f6d2a279b9f4899f2ab072d949f0d4ff11a517f6
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 16 22:52:20 2010 -0400

    Windows: cm_UpdateCell must hold cell lock across server random
    
    cm_UpdateCell fails to hold the cell lock across the server
    randomization.  As a result the vlserver list can be destroyed
    while randomization is taking place.
    
    LICENSE MIT
    
    Change-Id: I7753e7e9f8a7d536ce0e2082aaca7b62ab745504
    Reviewed-on: http://gerrit.openafs.org/1767
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 249f80fe747d03a84d42e78272dfe291084cacf8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 15 21:43:44 2010 -0400

    Windows: CM_SCACHESYNC_STOREDATA for non-files have no buffers
    
    Do not add QData objects with null cm_buf_t pointers to the
    cm_scache_t bufWritep queue when synchronizing directory changes.
    If a callback is required while the directory change is being
    pushed it can result in a deadlock.
    
    LICENSE MIT
    
    Change-Id: Id66c52ed794ceec44011167659e41a0b61898625
    Reviewed-on: http://gerrit.openafs.org/1761
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 168f69db1995c0bce4daad2e4af1558282c2f80c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 16 00:31:58 2010 -0400

    Windows: define new event log messages for cm_Analyze VBUSY, VRESTARTING, etc.
    
    Add MSG_SERVER_REPORTS_VBUSY, MSG_SERVER_REPORTS_VRESTARTING,
    MSG_ALL_SERVERS_BUSY, MSG_ALL_SERVERS_OFFLINE,
    and MSG_ALL_SERVERS_DOWN.
    
    Add event message throttling.  Only permit one copy of a message
    to be generated every five seconds if the message will duplicate
    the prior message.  This often occurs when a server or volume becomes
    inaccessible and there were a large number of requests queued on it.
    
    Integrate these new messages into cm_Analyze processing for VBUSY,
    VRESTARTING, ALLDOWN, ALLOFFLINE, and ALLBUSY errors.
    
    LICENSE MIT
    
    Change-Id: Ib30595ded23724810e294133fa75873e20ffbf0b
    Reviewed-on: http://gerrit.openafs.org/1762
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5a253b19117e4f42c0db91ca3a45843462c0266c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 16 00:09:25 2010 -0400

    Windows: wait for I/O on buffers to complete in cm_SetupStoreBIOD
    
    cm_SetupStoreBIOD constructs a list of dirty buffers for a file
    that are to be written to the file server.  When constructing
    the list, if when determining the first dirty buffer we come across
    a buffer that is already actively involved in an I/O operation,
    call buf_WaitIO() to wait until the buffer is no longer busy before
    continuing.  This reduces lock contention and synchronization
    conflicts.
    
    LICENSE MIT
    
    Change-Id: Icd79b9578b7411b138f14257bcb885249960eab0
    Reviewed-on: http://gerrit.openafs.org/1760
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 349f533351a8a13a7fa2a14edd9139714064c82d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 15 23:58:21 2010 -0400

    Windows: split cm_buf_t.flags field to ensure proper locking
    
    It turns out that for all these years the locks protecting
    the cm_buf_t flags field have been racy.  Some of the flags
    were protected by the cm_buf_t mutex and others by the
    buf_globalLock.  This patchset splits the flags field so that
    the appropriate lock will be used exclusively to protect a
    common set of flags.
    
    LICENSE MIT
    
    Change-Id: I85c98c85244c987df30a811d405f7d897e407ba2
    Reviewed-on: http://gerrit.openafs.org/1759
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f02d34315ed260e716c49ca9adeaa2635e334e60
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 16 19:34:35 2010 -0400

    Remove unused variable in vos.c
    
    Remove an unused variable introduced by a recent commit.
    
    Change-Id: I04432d87a27b656807430f041f84d6ada2632434
    Reviewed-on: http://gerrit.openafs.org/1765
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a20326646dead6256637229b6456c380177a28ca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 16 11:49:43 2010 -0400

    work around finder setting modes on symlinks
    
    we could mask the mode setting on symlinks, however, it would be nice
    to change the fileserver to allow mode setting on symlinks in some
    (safe) cases. preserve our ability to do so.
    
    Change-Id: Iba69965c607530bcf2210b508c7aa37403c47477
    Reviewed-on: http://gerrit.openafs.org/1764
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2a35e3a0286882eb91d4caddcb0054c413fb7db3
Author: Harald Barth <haba@kth.se>
Date:   Fri Apr 16 01:45:35 2010 -0400

    Add vos setaddrs command and man page
    
    The vos setaddrs command sets the IP addresses for a server entry
    in the Volume Location Database (VLDB). Specify one or serveral hosts.
    All existing hosts in the VLDB entry are replaced with the new entries
    on the command line.
    
    Change-Id: I3c26e49c4a6e2aebae363017d074329ac265132a
    Reviewed-on: http://gerrit.openafs.org/1744
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ef960553d7102ddab1ba6c85d51cba79b8fef7b5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Apr 16 09:32:42 2010 -0400

    Convert param.rs_aix61.h EOF from CR-LF to LF
    
    The src/config/param.rs_aix61.h source file was stored
    in the repo with CR-LF end of line.  This is causing
    problems for Windows Git which converts CR-LF to LF
    for storage in the repo.
    
    Change-Id: I8937322ac368ac275d3dbc6bcccf2808d3db061f
    Reviewed-on: http://gerrit.openafs.org/1763
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4eef3b62657504c0c1cec718332dbdf4e200b20e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Apr 15 20:52:11 2010 +0100

    Tidy up UKERNEL includes
    
    UKERNEL is just another userspace build - there's no need to
    maintain completely separate header file lists in each object file
    for "userspace" and "ukernel". Tidy this up to improve the
    readability of these sections of code.
    
    Change-Id: I69f476a0b8aae1204cd4207c7c656ec7e07184df
    Reviewed-on: http://gerrit.openafs.org/1758
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0607e8a4a19183798c656bf29aaa3f8aa75ac078
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Apr 14 23:21:37 2010 -0400

    Rx: restore thread safety to rx_NewCall
    
    Thread safety in rx_NewCall requires that only one thread be
    actively allocating or recycling a call at a time.  Since we are
    no longer holding the conn_call_lock across the entire transaction
    we need to have another synchronization mechanism.  Add a new
    rx_connection flag, RX_CONN_MAKECALL_ACTIVE, which when set indicates
    that a thread is actively obtaining a call.  If any other threads
    see this flag set, they will wait until being signalled that the
    thread has completed its activity.
    
    In addition, because the call->lock may be dropped when processing
    rxi_ResetCall(), we must hold a reference to the call once we
    begin using it.  Otherwise, the call may be garbage collected
    behind our back.
    
    Change-Id: Ie97757f812d7043203ffcaf399400789cda39da1
    Reviewed-on: http://gerrit.openafs.org/1755
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2773aa121d3c1c31ac39ac652566f54cfc4bd1b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 14 12:10:31 2010 -0400

    macos and bsd readdir type guessing fix
    
    right now we never return a link hint. we know here it's a link. say so.
    
    Change-Id: Iab81b83fc8de714ad52c99c86153159aa6f641f3
    Reviewed-on: http://gerrit.openafs.org/1753
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 74698fbcdbf2a9adfcdd152952e18a10f2c6e80f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 15 00:13:43 2010 -0400

    darwin bulk race needs an iocount
    
    if another user raced with us, we need an iocount back since finalize
    will have dropped one.
    
    Change-Id: I93b2bb5b6004b39436684e78c4620f4d7d9d0c8e
    Reviewed-on: http://gerrit.openafs.org/1756
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 72aab36e10b2349cb22197fda09a330feed68ac7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 15 01:29:31 2010 -0400

    snowleopard fuse fallout
    
    didn't notice in testing that 64 bit version of afsd got slaughtered.
    
    put it back.
    
    Change-Id: I3a6588df36a31ab014d79faf4ed5646339f6f84b
    Reviewed-on: http://gerrit.openafs.org/1757
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ab2005d719d2184a1645fdc33f49e73275d91353
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 13 19:35:39 2010 -0400

    Replace unsafe use of gets()
    
    Build tools compain that this is dangerous - replace gets() with a
    bounded fgets().
    
    Change-Id: I3bd1854a1dc4a11c801cabb987ab680fa978bd20
    Reviewed-on: http://gerrit.openafs.org/1750
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3f101a9ef49dbb31f516d08b82c716548b66882e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 14 18:33:47 2010 -0400

    drop afs_xserver lock during GetCapabilities
    
    new contact to a fileserver can trigger an InitCallBackStateN RPC
    to us, which our agent will need afs_xserver to handle. don't hold it;
    we only need it to fill in capabilities. racing here is ok.
    
    Change-Id: Ie0aaea3ab462e421bd31ba3b703d8cd0cb0d61df
    Reviewed-on: http://gerrit.openafs.org/1754
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 55a24ddd4231782bf4a76c8fabade00c67845501
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Apr 13 16:32:49 2010 -0700

    Autogenerate a Debian changelog for correct package versioning
    
    The Debian packaging infrastructure takes the package version from the
    most recent entry in the changelog file.  Change the changelog file to
    a template and add an entry to the top that will be set to the current
    version of OpenAFS, with a Debian revision that will sort before any
    official package.
    
    Change-Id: Ic7fb1d30be10210b7d032cdc49a963410997db82
    Reviewed-on: http://gerrit.openafs.org/1749
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 38a80c33233852d47a124a26fe7428543df6a10f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 14:50:18 2010 -0500

    Add a FUSE implementation for afsd
    
    This adds afsd.fuse, which allows for mounting AFS via FUSE (via
    libuafs), instead of via the OpenAFS kernel module.
    
    Change-Id: Iaafe4a5f3034fed943e2e73f79ac95580946f9a8
    Reviewed-on: http://gerrit.openafs.org/1725
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0dbe0fba4f4249be11524f8e2d3a1e115591cd18
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 6 17:07:33 2010 -0500

    Use afsd code in libuafs
    
    Share the same CM code for the kernel client as in libuafs, so we
    don't duplicate code for initializing the cache and other things. In
    order to do this:
    
     - Remove some libuafs global variables that share name and
       functionality with those in afsd, and declare some static
    
     - Remove uafs_Init(), and move the ukernel-specific code in it to
       osi_Init(); replace with uafs_Setup(), uafs_ParseArgs(), and
       uafs_Run(), which just call into afsd functions
    
     - Remove libuafs' cache initialization code (CreateCacheFile,
       SweepAFSCache, etc); instead just use afsd's
    
     - Add uafs_mount(), to perform the 'mount'ing step that takes place
       in the normal kernel CM
    
     - Add afsd_uafs.c for the glue between afsd and libuafs
    
    Note that this now requires libcmd for libuafs.
    
    Change-Id: I62306a18ad255680031494caf1720b29e22856d2
    Reviewed-on: http://gerrit.openafs.org/1724
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 507b08a6964bd9bf98784959aaa43796283a2d09
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 12 14:45:14 2010 -0400

    Rename uvldbentry spare1 to matchindex
    
    In the nvldbentry structure 'spare1' was renamed to 'matchindex'.
    Do the same for uvldbentry as that is what the field is used for.
    
    Change-Id: I2d1200b1044f6ae9b4523eb603a21b0484b046c7
    Reviewed-on: http://gerrit.openafs.org/1741
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ea44842df8f5098798e3b8ffb1b6ff62cbfcc246
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 13 18:58:11 2010 -0400

    Fix new UKERNEL warnings on 64-bit
    
    Commit 830cb48c enabled new warnings when building UKERNEL, which
    causes builds with --enable-checking to fail.  These are 64-bit
    specific warnings from int to pointer conversions and one printf
    warning.
    
    Changes:
    - cast printf argument to (int) in afs_usrops.c
    - use (iparmtype)(uintptrsz) to convert 32-bit integers to
    pointers
    - move the definition of uintptrsz to src/afs/afs.h so its
    available to other source files, and remove the original definition
    in afs_syscall.c
    
    Change-Id: Id0a5fd762cf10a741f89e3a2ed0a85556137df49
    Reviewed-on: http://gerrit.openafs.org/1748
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d773b01a61d2f7dbf8362ddbad8e31887841de20
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 13 13:53:13 2010 -0500

    Add support for pkg-config m4 macros
    
    Include pkg.m4, so we can use pkg-config macros in autoconf even if
    pkg-config is not installed.
    
    Change-Id: Ie81307beb84499297e251f0f90781d544044a235
    Reviewed-on: http://gerrit.openafs.org/1747
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6bccc0aee0b8a0b0a0b665064c746b8e3fb22843
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 13 12:59:30 2010 -0500

    Squash afs_GenericStoreProc warning
    
    code is potentially unitialized. Initialize it.
    
    Change-Id: I9c8a787d9f7f05ea88752063f1b31e0be61e28ba
    Reviewed-on: http://gerrit.openafs.org/1746
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 830cb48cbdd6fb41f7db8b50429ca7441a963518
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 13 12:41:31 2010 -0500

    libuafs: Add $(XCFLAGS) to CFLAGS on all platforms
    
    Only darwin had $(XCFLAGS) in the libuafs build for some reason. Add
    it to all platforms, so they get e.g. -Wall if so configured.
    
    Change-Id: Ifab39af3abf087932feb1b9085ccb26baaec3164
    Reviewed-on: http://gerrit.openafs.org/1745
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6b549bdba641d883609d9d33ceba957395fff37a
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 11 21:16:06 2010 -0500

    DAFS: avoid volume lock contention during initialization
    
    Avoid the excessive volume lock contention during startup to
    improve the time to pre-attach a very large number of volumes.
    The parallel attach worker threads avoid the volume lock
    while scanning the partitions for volumes and send batches of
    volume ids to the main thread to be preattached under the
    volume lock.
    
    FIXES 124489
    
    Change-Id: Ieb33a3bdd5b06349abd9c3dd994c620021cd6194
    Reviewed-on: http://gerrit.openafs.org/1092
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 523d39f020f551e59b0f369c8480fa13b90db277
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Wed Mar 3 22:41:15 2010 -0500

    Fileserver capabilities support for the UNIX client
    
    The attached patch has the client perform a GetCapabilities RPC
    on fileservers it encounters.
    It uses an additional server flag bit to keep track of the servers that
    have been queried already.
    
    In the case of afs_CeckServers(), GetTime RPCs are largely replaced by
    GetCapabilities. GetTime is performed on a server if and only if
    afs_setTime is nonzero and either
    (a) no setTimeHost has yet been determined or
    (b) the server in question has been designated as setTimeHost
    The GetServers() function could thus be simplified even further wrt. the
    setTime mechanism, but doing so would imply more rewriting (violating
    the KISS principle; a followup patch should deal with that).
    
    When a client is asked to reset callback states, it also resets the
    "capabilites known" bit.
    
    Thanks go to Simon Wilkinson, Jeffrey Altman and Jeffrey Hutzelman for
    input regarding logic and implementation details.
    
    FIXES 124972
    
    Change-Id: I4e22db3c5ca71f00e8c77f337e38daa0fa5b9124
    Reviewed-on: http://gerrit.openafs.org/1640
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3f09a3cbd30feea0add9e288380a32bba8230e0f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 12 08:58:20 2010 -0400

    Rx: avoid out of order lock acquisition in rx_NewCall
    
    Sha-1 33010ef25e716f2ec2df17cc113f4ef8f67e3a74 broke the lock order
    conventions between the conn->conn_call_lock and the call-lock.
    This patchset corrects the ordering and handles the synchronization
    issues that might occur when the call->lock is dropped within
    rx_NewCall.
    
    Change-Id: Ic05837e2491a1e738e7585cf2ee6cda20775229b
    Reviewed-on: http://gerrit.openafs.org/1740
    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>

commit edbfcbdf0efa01fde56c9f8d857b495a86f24a14
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Apr 12 12:39:00 2010 -0500

    Do not turn off AFS_HAVE_STATVFS for UKERNEL
    
    Many param files turn off AFS_HAVE_STATVFS for UKERNEL. We obviously
    still have statvfs() available whether we are running with UKERNEL or
    not, so modify param files to enable it for UKERNEL if it was enabled
    for non-UKERNEL.
    
    The only places using this define are afsd and vol/partition.c, the
    latter of which will not be affected.
    
    Change-Id: I1f276c88cbe0ca401580a564be664a7fc6739fde
    Reviewed-on: http://gerrit.openafs.org/1743
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f77c078a291025d593f3170c57b6be5f257fc3e5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 16:37:51 2010 -0500

    Split afsd into afsd.c and afsd_kernel.c
    
    Move the parts of afsd.c that depend on using the kernel module into
    afsd_kernel.c. Keep in afsd.c code that can be used with libuafs
    drivers.
    
    Change-Id: I22c4dd698e8c12c42dabd85ea38226ffd8746d11
    Reviewed-on: http://gerrit.openafs.org/1723
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b28cdd0a0e59290d8cdbf73de26ce8f34b068a61
Author: Matt Smith <matt.j.sm@gmail.com>
Date:   Sat Apr 10 01:36:59 2010 -0500

    Fix problems from afs_osi_gcpags reorganization
    
    Corrections to mistakes made during the reorganization
    of afs_osi_gcpags.c to per-OS directories. Includes fixes to
    LINUX24 and whitespace corrections.
    
    Change-Id: Ie9d1637b00dacc0f58e90df0e4fb2505a571bc1b
    Reviewed-on: http://gerrit.openafs.org/1737
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8d9bb0defb3f63640d557b377fa937d0db0de013
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 9 22:31:24 2010 -0400

    afsmonitor: fix segv on exit
    
    Fix crash during afsmonitor shutdown when monitoring
    multiple fileserver or clients.
    
    Change-Id: I5fa5cb7d89dbdfcc5f97541a0e0c6b0836d558b1
    Reviewed-on: http://gerrit.openafs.org/1735
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 35b90a6f526f3724d88acd95c9d4594ec9b3c736
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 9 21:03:09 2010 -0400

    afsmonitor: show busy counts
    
    Update afsmonitor to display rx_nBusies, fs_nBusies,
    sysname_ID, and fs_GetCapabilities, which where claimed from
    spare fields long ago. Add a new group name called
    Busies_group to show just the busy fields.
    
    Change-Id: Id096c8bd8ba148def425a75e06250f7d5319672b
    Reviewed-on: http://gerrit.openafs.org/1734
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dc915673f23bf18c0eda9bf947422f6b5360fdb7
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Apr 9 20:19:19 2010 -0400

    Fix UKERNEL build error - include afs/afs_osi.h
    
    Commit d0f2ffca breaks the build on my system because
    afs/afs_osi.h no longer gets included for the UKERNEL + !KERNEL
    case.  This causes many errors as a result of missing definitions
    such as afs_kmutex_t.
    Pull out this include into a separate ifdef based only on "KERNEL".
    
    Change-Id: Idafa7702550eb8cb2c7693f4173e482b15702d7e
    Reviewed-on: http://gerrit.openafs.org/1733
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6de3486c2c78cfbb2e9a9038593b60cfccf671a6
Author: Matt Smith <matt.j.sm@gmail.com>
Date:   Fri Apr 9 13:32:46 2010 -0500

    Move contents of afs_osi_gcpags to per-OS files
    
    Moved the relevant chunks from src/afs/afs_osi_gcpags.c
    to osi_gcpags.c located in each of the OS subdirectories.
    Also updated libafs and libuafs to reflect these changes.
    
    Change-Id: I537d92952718ef3b3bb0583daf7993288716652c
    Reviewed-on: http://gerrit.openafs.org/1727
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 185a6a474ccaf15c1abb708bcdfe27857454cef4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 1 13:55:51 2010 -0500

    Correct incorrect type-punning fixes
    
    Commit 549002c906795f978eebf81c706995116a04a8ff attempted to resolve a
    few type-punning-related warnings, but did so using unions. Unions are
    not guaranteed to work correctly with type-punning on non-gcc, so
    partially revert and reimplement.
    
    Change-Id: I6a49184284809c929bc45b5de5b32b8323467505
    Reviewed-on: http://gerrit.openafs.org/1679
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4c68f58827913129947bc44978e7469b3271c3c6
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Apr 8 13:27:36 2010 -0400

    afsmonitor: add fs callback xstats collection
    
    Adds the capability to afsmonitor to display and process
    thresholds for fileserver callback xstats collections. The
    callback counters are placed to the right of the full perf
    data.  When afsmonitor is started without a configuration
    file, the callback xstats data is retrieved and displayed,
    since by default afsmonitor will show every field.  When a
    configuration file is given, poll the fileserver only for the
    collections needed to display information requested by the
    'show fs' commands.
    
    Change-Id: I572ff682de4cc7ef27bb46dd028d3d797b873841
    Reviewed-on: http://gerrit.openafs.org/1731
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7214af16a9cc23632f2a00d035e6c0afec887e55
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Apr 9 11:46:10 2010 -0400

    afsmonitor: avoid showing full perf stats garbage
    
    Unfortunately, the full perf stats contain timeval structures which
    do not have the same size everywhere. Avoid displaying gargbage,
    but at least try to show the overall stats.
    
    Change-Id: I9245b333ac15212194490e1a3f11b7c98dfaadda
    Reviewed-on: http://gerrit.openafs.org/1730
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 76a1088782f363cc784f7a8fe2aa3906558ec559
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 9 15:21:08 2010 -0400

    ukernel osi prototypes header
    
    and add statvfs to it so we stop getting a warning
    
    Change-Id: I585f559f083203214d298062862434f9f381808b
    Reviewed-on: http://gerrit.openafs.org/1729
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f54785bdedea5aad8d6d918b4ad4e99fca9836e1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 15:35:12 2010 -0500

    UKERNEL: allow creation of non-detached threads
    
    Make usr_thread_create create a non-detached thread by default, and
    just have callers call usr_thread_detach if they want it detached. The
    only current caller of usr_thread_create already calls
    usr_thread_detach.
    
    Also add usr_thread_join to make it possible to join a created thread.
    
    Change-Id: Iad581c45d36dc43e94c950a5ca6a41dea8dc4b2f
    Reviewed-on: http://gerrit.openafs.org/1722
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2f03d4e6e25d0db4986120e1d2ec6a200b0d0d39
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 6 16:57:27 2010 -0500

    Use AFS_CACHE_VNODE_PATH for UKERNEL
    
    Use the AFS_CACHE_VNODE_PATH cache mechanism for UKERNEL, to be
    compatible with new kernel caching code, and simplify the cache code a
    little bit.
    
    Change-Id: Ifc44790db08a336cca0032a1d05eedf70d2b24b8
    Reviewed-on: http://gerrit.openafs.org/1721
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0f2ffcaa3728bbcccf63b37ab1a52e8b45ede96
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 14 16:17:11 2009 -0500

    Make osi_GetTime work on 64-bit libuafs
    
    libuafs was previously using an implementation of osi_GetTime (and
    thus clock_GetTime) that required 32-bit time_t's to work properly.
    Instead, just use the non-kernel osi_GetTime for UKERNEL, since we're
    just in userspace either way.
    
    Change-Id: I4f2d060f7e2aaeaaa3fe164aca6bee5333de4583
    Reviewed-on: http://gerrit.openafs.org/1714
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d29a2443f028c04d09817ca0f6b62b0ae23c6af7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 17:22:35 2010 -0500

    afsd: squash inode format warning
    
    Coerce the inode into an int, so we can predictably print it when we
    print debug info.
    
    Change-Id: I81533b66b632eb0fed3a9e37480feaf2fa92d510
    Reviewed-on: http://gerrit.openafs.org/1720
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 269d7cc02ad65af5caf0369a07eab54052378ce8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 17:26:09 2010 -0500

    UKERNEL: prototype uafs_Shutdown
    
    Prototype uafs_Shutdown in afs_usrops.h, so users of libuafs can stop
    the CM.
    
    Change-Id: I63e0106f7bfb5fff9a3ff1936005f6e24855efec
    Reviewed-on: http://gerrit.openafs.org/1719
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 54b78ce087776342a4abb301fcb3fe8e58180621
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 12:15:34 2010 -0500

    UKERNEL: Use real vnode type constants
    
    In UKERNEL, make VDIR be S_IFDIR, VREG be S_IFREG, etc. This makes
    fakestat work correctly, since the va_mode of faked mountpoints are
    OR'd with VDIR.
    
    Change-Id: I7ac1dc7ae1d7cefade9bf92d8169db80977a5c76
    Reviewed-on: http://gerrit.openafs.org/1718
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d6345e824514d7f301b43b99e5f8067d66770ed7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Apr 6 17:00:58 2010 -0500

    UKERNEL: check for null afs_CurrentDir on shutdown
    
    During shutdown, do not release afs_CurrentDir if we don't have one.
    
    Change-Id: I809a23f36929a02cb63753d66627357615cbaf9e
    Reviewed-on: http://gerrit.openafs.org/1717
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b822971a3ee6bd2dc0024b30b255f8f83e23637c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 8 14:49:53 2010 -0500

    UKERNEL: add uafs_statvfs
    
    Change-Id: Iedd7882f4a57cd89d145f1c61c5f85181187db03
    Reviewed-on: http://gerrit.openafs.org/1716
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f7b192364227be1d1db58097d72b049f8ebc0777
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Aug 14 16:26:16 2009 -0500

    Prevent uafs_readdir/closedir segfault
    
    Check for the NULL case in uafs_readdir/closedir, so we don't blindly
    dereference the given pointer.
    
    Change-Id: Iaefce9bf2e5135a60e9739f866a1f27333f06e28
    Reviewed-on: http://gerrit.openafs.org/1715
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 50f248d160a34cd83363d97a1a5f0ff8beb83299
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 8 14:54:23 2010 -0700

    Update Debian packaging files
    
    The Debian packaging files in the tree were ancient.  Update to the
    packaging files from the just-uploaded 1.5.73.3-1 version, which should
    build and correctly install the current development source.
    
    The current packaging files no longer use a hard-coded version in
    debian/rules, so remove the configure machinery for creating it.  The
    correct way of handling the version number is to generate a new
    changelog entry.  That work will come in a subsequent patch.
    
    Change-Id: I187fe7cc3f4ca38de6165d58274841d300b6cdf1
    Reviewed-on: http://gerrit.openafs.org/1713
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cf432e38459b963e74f46a4833626b2c03f2fad7
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Apr 8 13:23:11 2010 -0700

    Add OpenAFS-debug.*.plist to .gitignore
    
    Change-Id: I6f931cb19997c8743223ee42d4072ad632c3bad4
    Reviewed-on: http://gerrit.openafs.org/1712
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2af7a6ffcead3ffd1f2ae9fac5fc682c6c8c7ac
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 10 08:48:38 2010 -0600

    pts mem -expandgroups option
    
    Improve support for supergroups in the pts membership command
    with a new option called -expandgroups. This option will
    recursively show the complete membership of users and groups.
    The expanded members of a group are all the users which are
    members of all of the group's sub-groups.  The expanded groups
    of a user are all the groups which are supergroups of the
    users's groups.
    
    Change-Id: I811a4e5e73632e5e205fe10f3f3a36a98464d49e
    Reviewed-on: http://gerrit.openafs.org/1601
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5b44b5dfe0d7aee14f87df9a6b8c5e582473d0fe
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Mar 17 19:16:50 2010 -0400

    pts mem -supergroup option
    
    Improve pts support for supergroups with an option to list the
    supergroups of a group.
    
    Change-Id: I4fe1cd131cd334386bc16ce733e01e29e0511d4f
    Reviewed-on: http://gerrit.openafs.org/1600
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fdb9429eafda330bfdf1feefeb1a9ff61c7746b7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 7 00:29:44 2010 +0100

    Linux: kmap() not page_address()
    
    Using page_address() will return NULL if the page is in highmem. To
    avoid this, we must kmap() the page we're getting the address of,
    and kunmap() when we are done. If the page isn't in high memory, then
    kmap() is equivalent to page_address().
    
    Change-Id: I42abfadaf3101bf5ad41bd7e5f720ba2583c4ee5
    Reviewed-on: http://gerrit.openafs.org/1705
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 75cf37f9449e2c75236028b603918d22cd278ef9
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Apr 7 11:53:23 2010 -0700

    Explain in CellServDB man page that server lines can be omitted
    
    It's possible to use AFSDB records only to locate the VLDB servers but
    still list the cell in the client CellServDB so that the client is
    aware of it and populates it into dynroot.  Describe doing this in the
    man page.
    
    Change-Id: I714cd515dc4b72a6e358bbd8f9332d4ddce5a5fc
    Reviewed-on: http://gerrit.openafs.org/1710
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit be44999904dccffc6de5626362a77babbda0688f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Apr 7 10:35:53 2010 -0500

    Fix typo in bos_create manpage
    
    Change-Id: I1ea456e47eccc0a74f042898ef8a3bcde3aacf15
    Reviewed-on: http://gerrit.openafs.org/1709
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4ebd6098dfbf76ebc5ede7a2e9d7222936265a03
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Apr 7 11:14:32 2010 +0100

    Make tests/afcp compile cleanly
    
    It didn't compile because it includes <afs/afs_const.h> changing that
    to afs_consts.h makes it happy.
    
    Change-Id: I3a21e6ab2b99d8f4ebbc55922163b0695a6187f3
    Reviewed-on: http://gerrit.openafs.org/1708
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8d41bc24c51018a25eac49b3403cbb276713e1ad
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Apr 6 16:31:37 2010 -0700

    Reallocate memory in aklog for the AFS ID string
    
    aklog was previously writing the magic AFS ID string into previously
    alloated memory with sprintf, but the variable in question was only
    as long as the username, so this code could overwrite memory and lead
    to heap corruption.  Free previously allocated memory and use
    afs_asprintf to format the AFS ID string instead.
    
    Change-Id: I7649864817340764c39c176606a9a543c10983c9
    Reviewed-on: http://gerrit.openafs.org/1706
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a763edc3a490f6c837d4272468803c36f8febda2
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Apr 6 15:27:51 2010 -0700

    Make src/rx/rx.c not executable
    
    Change-Id: If471b579e6f1bf4f69a37f6edcc34e9546766df2
    Reviewed-on: http://gerrit.openafs.org/1704
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d395f1754649b70311895c37962cd1770cb9f73
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Apr 6 17:46:13 2010 -0700

    Improve demand-attach fileserver bos documentation
    
    Add a caution to the fileserver man page explaining that traditional
    and demand-attach require different configurations, and also mention
    that there are two different server implementations.  Add an example
    of a bos create command for creating a demand-attach File Server to
    the fileserver man page.
    
    Add a caution to the bos create man page that a traditional fs node
    won't work with demand-attach and vice versa.  Document the necessary
    arguments for the dafs type.  Clarify in EXAMPLES which bos create
    commands are traditional and which are demand-attach.  Add an example
    of changing from a traditional to a demand-attach configuration.
    
    Change kaserver to ptserver in the example of a simple process.
    
    Change-Id: I4077246b69edf6e1ddc7c0761ac8e1006d471c24
    Reviewed-on: http://gerrit.openafs.org/1707
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 10884e7354e6d5a3b7869e115cc90424410cfd12
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 5 11:24:16 2010 -0400

    Windows: WinTorture Verbose mode display all logged messages
    
    In verbose mode, wintorture should send to stdout all logged
    messages.
    
    LICENSE MIT
    
    Change-Id: I4e173c35fcf6b1284d31149d773308b9f9c9a773
    Reviewed-on: http://gerrit.openafs.org/1696
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit eb25c5b1c3b7d7e25ce00bafc08fa2d92acc4afa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 6 15:07:47 2010 -0400

    Windows: Support new Cygwin docbook stylesheet location
    
    Make the computation of the docbook stylesheet location
    based upon testing for directory existence now that versions
    of cygwin 1.7.2 and place the stylesheets in a new location.
    
    Change-Id: I844ae35a34eab73ee033bba875e68f71dc54f26b
    Reviewed-on: http://gerrit.openafs.org/1702
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 10b4833d29025c01e8eeea1c5b3411bda9a4cbc5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 6 15:06:55 2010 -0400

    Windows: permit documentation to be built without binaries
    
    Add a dependency to the documentation rule on config so that
    the documentation can be built without the entire source tree
    
    Change-Id: I81d18fa9ec32c4d7d9799db2b1eac57c1d83df75
    Reviewed-on: http://gerrit.openafs.org/1701
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0bc5b666b1c4a46d2dd797415dc7d25a460bbf59
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Apr 6 14:29:26 2010 -0400

    Windows: tag is listitem not llstitem
    
    Latest version of docbook picked this error up.
    
    Change-Id: I2e6248d27e56c0074b0f80124733b79d7d1b51f0
    Reviewed-on: http://gerrit.openafs.org/1699
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b9f014bdbf1ff009dba56f138a6c618281539d9a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 6 14:42:44 2010 -0400

    make openafs 1.5.73.3
    
    another point release
    
    Change-Id: I3430d62a4088e0b6f930b0b6cd2507f96226adea
    Reviewed-on: http://gerrit.openafs.org/1700
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit da4a70eabfab3ad0d1db0f7cc60b7a4f2a8c04f1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 6 09:57:24 2010 -0400

    macos bulkstat avoid reclaiming vnodes
    
    when a vnode has gone CVInit, don't use it as a vlru pivot.
    
    Change-Id: I0b874c141069a23a9724d360a7864b0271c36e15
    Reviewed-on: http://gerrit.openafs.org/1698
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 170a12c6eacab152bea9576bfcdb9cf9c0bea8ce
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 4 10:37:48 2010 -0400

    avoid macos bulkstat vlru when no non-dead vnodes exist
    
    if we can't find a candidate to be the vlru item to manipulate past,
    simply don't do the vlru update
    
    FIXES 126868
    
    Change-Id: I5c053d1934b0787ab7f2021c70a776e54208d345
    Reviewed-on: http://gerrit.openafs.org/1690
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2b42e781681a3024f3e50685a51293bd87d08f59
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 5 00:42:04 2010 -0400

    panic generation update
    
    something weird, e.g.
    panic(cpu 0 caller 0x5c91c3d0): buf@/Users/shadow/Source/openafs/src/rx/rx_kcommon.c:1348
    
    which came from an osi_Assert. not sure yet what the deal is, but attempt to
    make this less ambiguous and less likely to conflict with other macros.
    
    Change-Id: Iac27e89fc655d2b1ba6d04936e137060d8abd9c4
    Reviewed-on: http://gerrit.openafs.org/1693
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 03bb2c9d40859ce5d1205e7c8503a80c8192f5e4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 5 13:19:49 2010 -0400

    Windows: cm_UpdateVolumeLocation !append exts to num vol names
    
    cm_UpdateVolumeLocation will append ".readonly" to a volume
    name if the base name cannot be located.  However, this should
    not be done if the base name is numeric.
    
    LICENSE MIT
    
    Change-Id: Id61b8803eed51d124b612ffba8b185a4b4982c1d
    Reviewed-on: http://gerrit.openafs.org/1695
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 33010ef25e716f2ec2df17cc113f4ef8f67e3a74
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Apr 5 13:35:42 2010 -0400

    Rx: Remove conn_call_lock contention between rx_NewCall and rx_EndCall
    
    Add a new call state, RX_STATE_RESET, which permits us to
    remove the conn_call_lock contention between rx_NewCall
    and rx_EndCall.  It is no longer necessary for rx_NewCall
    to hold conn_call_lock across rxi_ResetCall which can block.
    rx_EndCall is therefore always free to complete without
    unnecessary delays caused by rx_NewCall.
    
    Change-Id: Ie169708681eb1bbbb31951b95f68e861a4b01c7e
    Reviewed-on: http://gerrit.openafs.org/1697
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 568a4078563e2cb9bd89409486e361357cc18450
Author: Aditya Sarawgi <sarawgi.aditya@gmail.com>
Date:   Mon Apr 5 22:55:48 2010 +0530

            Replace kmodstat by kldstat
    
            FreeBSD uses kldstat instead of kmodstat to get the
            stats of the dynamically loaded kernel modules.
    
    Change-Id: I3f658469e60f48b50a81e6ab5bcc507186fd8c5a
    Reviewed-on: http://gerrit.openafs.org/1694
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f61d2ba1c9953136c8e27667407a800ff9b7a89b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Apr 1 23:33:16 2010 -0400

    Fix usage of RX_CALL_TQ_WAIT flag
    
    The usage of RX_CALL_TQ_WAIT flag was not consistent within both
    rx.c and rx_rdwr.c.  When a thread is waiting on the transmit
    queue it must not only set the RX_CALL_TQ_WAIT flag but also
    increment the call->tqWaiters count.  Upon waking up, it must
    decrement call->tqWaiters and only clear RX_CALL_TQ_WAIT if
    the tqWaiters count reaches zero.
    
    Change-Id: I7de01d27f073cddd9651fbcd9cd2038e56ac35cf
    Reviewed-on: http://gerrit.openafs.org/1685
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 00a0351ae0b0850f0191d5df2d9478fbc8e4f30a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 1 21:33:49 2010 -0400

    rx_ClearTransmitQueue should signal waiters when flushing
    
    if we flush, play it safe and signal tq waiters.
    
    Change-Id: I945649c2e440c78c5c5a62da70236a67dc190228
    Reviewed-on: http://gerrit.openafs.org/1682
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fc02ed1065ea4d3f2a55ace2b994a459ba4a5d8a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 5 00:41:28 2010 -0400

    macos panic decoder update
    
    make it able to decode prerelease and point release panics
    
    Change-Id: Ibf28a7df7f0a21ff8f297d548a6b853a5e296064
    Reviewed-on: http://gerrit.openafs.org/1692
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ec74299c7c0f6e705e6ba2329001b92f9941868e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 2 01:29:22 2010 -0400

    macos 32 bit platform user address transform
    
    make the ioctl32 translator work as expected, e.g., create
    proper user addresses.
    
    Change-Id: Ia690dee5f9978d679e942a9954f2123df4a96bc2
    Reviewed-on: http://gerrit.openafs.org/1687
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f9799b856183017274876ed09b1da2c069b5177d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 2 01:32:06 2010 -0400

    make 1.5.73.2
    
    fix aklog for 32 bit macos, make freebsd vaguely more useful
    
    Change-Id: I53bb88f11eedb365e4430aed468cb9c84442d44b
    Reviewed-on: http://gerrit.openafs.org/1688
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 836c5bcfaf33ec118e209b066639c5196efedf47
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 1 23:17:53 2010 -0400

    freebsd switch back to condvar-based sleep
    
    add TimedSleep for condvar-based sleep. this should be revisited;
    mac and freebsd should be able to share this. possibly several other
    platforms.
    
    Change-Id: I918f45a689dd129119477cc63820f5c802e182d2
    Reviewed-on: http://gerrit.openafs.org/1684
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 687652c74a050e28d1c0cffb24e58545257a13c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 2 01:01:23 2010 -0400

    macos installer pane warning fix
    
    didEnterInstallerPane is void, not BOOL. make it so.
    
    Change-Id: I934129684c839fa304bbfb7745833f5a7739e111
    Reviewed-on: http://gerrit.openafs.org/1686
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit af5923c0507f45fc4124ed9ae5ac5ed014923034
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 1 16:42:25 2010 -0500

    tubik: Correct use of flags_cond and version_cond
    
    Waiters of flags_cond and version_cond were not doing so correctly;
    the correct way is to acquire a lock prior to their respective checks,
    and atomically drop/acquire that lock with pthread_cond_wait.
    Otherwise, we could miss a wakeup if a flag changed between our check
    and when we wait.
    
    To make this possible, make versionLock a normal pthread mutex in
    AFS_PTHREAD_ENV, so it is a lock we can pass to pthread_cond_wait.
    Make the waiters pass versionLock to pthread_cond_wait, and eliminate
    flags_mutex and version_mutex.
    
    Change-Id: Id33a72182b907d069e342cb049e23868ab2f7eb9
    Reviewed-on: http://gerrit.openafs.org/1681
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5a7d6da52573aeb5ca062e3458ea7c375ed28054
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 1 15:33:24 2010 -0500

    Kill afs_inet_ntoa
    
    Replace all calls to afs_inet_ntoa with the threadsafe
    afs_inet_ntoa_r. afs_inet_ntoa was being used in a few places that may
    be threaded (ubik), and in general should be avoided in case the
    relevant code becomes threaded. Remove the definition of afs_inet_ntoa
    to prevent anyone from using it.
    
    Change-Id: I163d3f58fdd3d28077780963ced9995247682d78
    Reviewed-on: http://gerrit.openafs.org/1680
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 73dd2783d7b73350ca047bf0bea2895e152eca71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 1 23:11:42 2010 -0400

    freebsd glock assertions
    
    assert we don't try to recurse on the glock
    
    Change-Id: Iecf0f869e4a541a0b5322def47c944dec310ae3e
    Reviewed-on: http://gerrit.openafs.org/1683
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8844c339608d92c6a69364f84fcd14366cea9f13
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Apr 1 13:18:41 2010 -0500

    fssync-debug: fix strict-aliasing problems
    
    We cannot type-pun pointers like that. Instead, declare a new struct
    on the stack, and copy the memory into it. Remove the CFLAGS_NOSTRICT
    suppression on fssync-debug.o.
    
    Change-Id: I25b48399417e009dc94bfebd513c0ee6feea282a
    Reviewed-on: http://gerrit.openafs.org/1678
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a83e7ea4d86352d89f270be93db77a0774aaea3f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Mar 24 12:40:35 2010 +0000

    Fix formatting issues in src/afs
    
    This patch changes formatting in src/afs to be
    
    return_type
    fn_name(args)
    {
    }
    
    ... as in the rest of the code.
    
    Change-Id: Ib6e792d0795a83ea6fcf35df4413dec6492a4cc0
    Reviewed-on: http://gerrit.openafs.org/1645
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 91450a968df15b6134ab2cef49e5f4a3679735c8
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 31 22:28:10 2010 -0400

    Set a storeOps storeproc for the memcache case
    
    Finish fixing the bug from 34ffc9cd that 57d8e454 only partially
    fixed -- set a storeOps.storeproc element in rxfs_storeMemOps
    as well as in rxfs_storeOps.  This eliminates a NULL/uninitialized
    memory dereference.
    
    Change-Id: I9fe0fb147222b8f7a5a76c9ada9ca93f53ce1fa7
    Reviewed-on: http://gerrit.openafs.org/1677
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 709315400c9735a2360e01c927e5a3816a5dc2d3
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 31 11:27:38 2010 -0400

    Fix build for FBSD80
    
    The change to a dynamically-allocated group list came before
    the change to allow the maximum size of that group list to
    be set as a tuneable at boot.  The 8.0 release happened to
    come between them, so we must treat both cases.
    (Note that AFS_FBSD81_ENV is not yet defined anywhere; that
    will come later.)
    
    Change-Id: I87a0e2cff3c42de60d512fe5653abe0161afc789
    Reviewed-on: http://gerrit.openafs.org/1676
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0b475c0c5f784c296ee7acba622353653d2b4504
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 31 00:49:02 2010 -0400

    Update to the new thread world order for FBSD
    
    Since FreeBSD 5.0, system calls have taken a thread argument instead
    of a proc argument.  Finish catching up.
    
    Also remove the retval argument, which is not in the system sysent
    definition, and is unused.
    
    Since we took our sweet time getting around to it, we can also
    remove large swaths of FreeBSD 4.X-only code from the area.
    
    Fix the vop_*_args struct definition comments that had changes in
    addition to proc-->thread while we're here.
    
    Change-Id: Ib469e77655a6c04bfbfe1e5fab54f6f3a6119a85
    Reviewed-on: http://gerrit.openafs.org/1675
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ef2604e4532d6712b3d91a98a4d1f1f070de487d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 30 23:35:13 2010 -0400

    Include limits.h for FBSD
    
    Needed to pick up INT_MAX in the KERNEL case, for stopping the
    XDR madness, among other things.
    
    Change-Id: Ibcf2681b450f6a3603418991951f5144ab677d28
    Reviewed-on: http://gerrit.openafs.org/1674
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6a261db9a6bb1ac4b0bb2b88efe2e3e718970ab3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 30 16:28:27 2010 -0400

    openafs 1.5.73.1
    
    with rpm and macos versions which hopefully work for packaging
    (well, the macos does)
    
    Change-Id: I42016db95ddaff6f76e1f0954eb06cfd743f18cf
    Reviewed-on: http://gerrit.openafs.org/1670
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 053522f534f73f9843a68334158ff98a48d9578e
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 30 20:34:02 2010 -0400

    Make GCPAGs_perproc_func cleaner for FBSD case
    
    Partially rewrite 2cf1f10a to reduce code clutter.
    Instead of accessing pproc->p_ucred directly in afs_GCPAGs_perproc_func(),
    push this access into a FBSD-specific afs_proc2cred() function.
    This is not quite right, since we do not lock the proc mutex, but
    in the same way as the old version and with more reasonable preprocessor
    conditionals.
    This also eliminates a probably-needless call to osi_Panic.
    
    Change-Id: Ib403132f31cc13f8c4581cb89ecc8938d0a0dd88
    Reviewed-on: http://gerrit.openafs.org/1672
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c0f1970909d691d551273deee9b63bda50896ae6
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Mar 30 16:35:50 2010 -0400

    Updated RedHat RPM spec file to include unreferenced files
    
    Added the libkopenafs libraries and headers to the authlib package.
    
    Added the afs_compile_et binary to the devel package
    
    Removed the reference to .../man5/afszcm.cat.* because it is already
    caught by the earlier reference to .../man5/afs* glob.  This caused a
    warning during the package build process.
    
    Change-Id: I64a037a8534ac3d2c6b0aa22249d6827e08af9b1
    Reviewed-on: http://gerrit.openafs.org/1671
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ae19c2d2464417a9454ef46ab3d63ae23024676d
Author: Jonathan Billings <jsbillin@umich.edu>
Date:   Tue Mar 30 16:06:07 2010 -0400

    Move restorevol to bin from sbin in make dest
    
    Adds to the changes made in d6df1a8cec39edf7c0d2598921c735ac6aca70d7
    so that 'make dest' installs restorevol into bin.
    
    Change-Id: I9c7f302ad9a2f25e9a362ea96dbbf0d91a7d9b04
    Reviewed-on: http://gerrit.openafs.org/1669
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit da9b39c0a474c134f6e7c2bfd978bb7a70e770d0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 30 11:43:33 2010 -0400

    darwin notify avoid reentrant vfs context panic
    
    if we own the context, don't get it again.
    
    Change-Id: I1f574bc3dda764c7a9552f1adf0f64e50afc1d7d
    Reviewed-on: http://gerrit.openafs.org/1668
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 283c0f5347a71ce2d4a1e22c8379f4f89b21489a
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Mar 29 22:17:31 2010 -0700

    Update VCS instructions for Git
    
    Rename README.CVS to README.GIT and update the references from CVS
    to GIT.  Refer readers to the wiki for the detailed instructions and
    information about Gerrit.
    
    Change-Id: Ia1826110c4b974ab36a64555ca44e6c5ce74f7ef
    Reviewed-on: http://gerrit.openafs.org/1667
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2f4a1897bfb2db8655a4eb2f87785753df1c5698
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Mon Mar 29 16:54:43 2010 +0200

    Minor state_analyzer manpage corrections
    
    Done according to adeason's comments on http://gerrit.openafs.org/#change,1655
    
    Change-Id: Ia5b28473fa37ad2a877a5a56b1b7f1c4893e8db1
    Reviewed-on: http://gerrit.openafs.org/1666
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 001a61a6180bb1c70401c40c8cd1d38d804eba8c
Author: Rod Widdowson <rdw@steadingsoftware.com>
Date:   Wed Mar 24 16:59:15 2010 +0000

    Render the IP address for the "Ubik: Lost contact with sync-site" log
    message in the same way that all other IP addresses are (via
    afs_inet_ntoa, rather than stripping the buytes out in a manner which
    assumes a specific endianism).
    
    Done more as a way to test my understanding of the GIT/GERRIT
    technology with a small non-important checkin.
    
    Change-Id: I177e1288e8e23087aeebb7abe4ed63a7c2b88ccb
    Reviewed-on: http://gerrit.openafs.org/1649
    Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7c6f94b365169cd643cbe03a23d14b2e35d429af
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Mar 22 22:35:51 2010 -0400

    Catch up to dynamically-sized cr_groups in FBSD80
    
    In FreeBSD 8.0 and later, (struct ucred)->cr_groups is a pointer
    to a dynamically-allocated array, and NGROUPS is now 1024 by default
    (tuneable at boot).
    Don't put a gid_t[NGROUPS] on the stack for the FBSD80_ENV case.
    Also avoid keeping a function-local ucred structure (in
    afs_osi_proc2cred()), by bypassing that function entirely
    (though this accesses the process credentials directly, which may
    require locking; thread credentials accesses can be safely done
    lock-free).  Add an osi_Panic() to ensure that it stays that way.
    Don't pretend that we have a useful afs_osi_cred to export.
    Don't blindly overwrite NGROUPS past cr_groups.
    
    Change-Id: I76295164a24bddf2782ab2fa662acd0e1b4855d6
    Reviewed-on: http://gerrit.openafs.org/1665
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 326ff2aa68082a804ffef7fb1187a26962be924e
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Wed Mar 24 22:45:20 2010 +0100

    Initial; add state_analyzer manpage
    
    Change-Id: I5dd43e6ea5764421a6e44f372f4e9c9576de627e
    Reviewed-on: http://gerrit.openafs.org/1655
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5d5da6eb4d5db9323ad0b89417d17ea577a0eb98
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 27 16:13:27 2010 -0400

    Windows: buffers whose offsets are beyond EOF should be zero filled and locally allocated
    
    When a buffer is being allocated for an offset that exceeds the
    file length as known to the file server, that buffer should be zero
    filled and it does not require server validation.
    
    Previously all buffers were populated with a FetchData call.
    This is wasteful of time and server resources when there is a
    valid callback registration because the serverLength is known
    to be valid.
    
    LICENSE MIT
    
    Change-Id: I13f9a8dbd6387c3ba71638a682e995d7a7d0862f
    Reviewed-on: http://gerrit.openafs.org/1664
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1bb3522983ec7ee8e99ca28bb744601f1c15837c
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Wed Mar 24 23:27:05 2010 +0100

    GUI Update for Kerberos Ticket Renew
    
    Now the NSEditText for Renew Time is replaced by NSStepper for Days:Hours:Minutes:Seconds
    
    Change-Id: If696f456faada6762def192ab0887539d55bc5d4
    Reviewed-on: http://gerrit.openafs.org/1656
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5436264d0c1347e0f8ed8f650d5fc4cc4dd0dd71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 27 12:45:40 2010 -0400

    aklog pt error table warning fix
    
    include the header file that prototypes the pt error table
    
    Change-Id: Ibd1a7cb04d8084a50d3a429fa69cfb2967874c9b
    Reviewed-on: http://gerrit.openafs.org/1663
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c44a69b3379a736274be3045d77d5946efa64869
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 25 09:01:23 2010 -0400

    aklog more error tables
    
    initialize the rest that we might need
    
    Change-Id: If4e02add67994ae5397c60de3e64c072c3512a2e
    Reviewed-on: http://gerrit.openafs.org/1661
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d69cfbc20f1354b1dd9094b5ad496c8beaa5c58
Author: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 7 18:35:37 2010 -0500

    LINUX: you dont need to memset() after allocating credentials
    
    If you wanted to create a blank credential, you wouldn't want to make
    it uid = 0.  Anyone allocating a credential SHOULD properly fill in all
    fields making this blanking operation moot.  Regardless, this memset()
    is before the allocation failure test and would/could panic.
    
    Change-Id: Ia182a874a5e1bf28a2cd94898f67d81e5588d58c
    Reviewed-on: http://gerrit.openafs.org/1080
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4b3f3169cb89c80acc0cc70d51cf47ed32c22ab2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 25 01:23:23 2010 -0400

    Windows: afslogon.dll vs windows 7
    
    In Windows 7 the GINA is no longer used.  As a result, when a
    non-Heimdal realm is used for logon, the LogonDomain field
    is no longer populated during the NPLogonNotify call.  Instead
    we must obtain the Kerberos realm from the UPN specified in
    the Username field.
    
    Change-Id: I838e0a5b19d560dd2fed6ccccf1e136fe1c4e0c2
    Reviewed-on: http://gerrit.openafs.org/1660
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fda5f9a37364b09ef0965d5512989f44aed880d7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 25 00:40:29 2010 -0400

    Windows: aklog must reset viceId to 0 before pr_CreateUser call
    
    If the viceId is not reset to 0, the ptserver believes the
    client is attempting to request the anonymous id value
    and fails the registration request with permission denied.
    
    LICENSE MIT
    
    Change-Id: I82cc6105ad9d08b2f460b0c08cf7de500cea8537
    Reviewed-on: http://gerrit.openafs.org/1659
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 114ed05d8d163eed1622750dc024c69a513bc9d8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Mar 24 22:07:29 2010 -0400

    Windows: output pt error messages as strings
    
    Build and link in ptserver/pterror.c so that aklog
    can output pt error messages as strings.
    
    LICENSE MIT
    
    Change-Id: I93d966e0e62bb693612c6310781aadbfa6c09988
    Reviewed-on: http://gerrit.openafs.org/1658
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit af415156080a979b30375f11482465e6cf7a1d91
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 14:49:11 2010 -0400

    growl agent should handle port busy
    
    if the port can't be bound, die cleanly.
    FIXES 126812
    
    Change-Id: I6523f18c2b5f5bacfbd11d08736b9af14fa666e2
    Reviewed-on: http://gerrit.openafs.org/1651
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 37eeead346a6933e9d2af2d5da1cb8f9fcf311c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 17:18:24 2010 -0400

    avoid double-free cell name canonicalization
    
    if we free the cell name, so note it so we don't try again.
    
    FIXES 126813
    
    Change-Id: I4149fac057c587123f6bf6da8a42a4cd5e590716
    Reviewed-on: http://gerrit.openafs.org/1654
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 165bd14126ea4ec2cf6563f865ab9d6bd7477d77
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Mar 24 16:48:35 2010 +0000

    Linux : Apply more dget_parent() pixie dust
    
    Replace another dentry->d_parent->d_inode lookup with a dget_parent()
    - accessing d_parent directly is potentially racy.
    
    Change-Id: I2c21cd6ef5c1b4b601c830836590705b397915e4
    Reviewed-on: http://gerrit.openafs.org/1647
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 81e03e005aa73ba6c58e3aadfea91e685df1ece3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 12:54:30 2010 -0400

    afsdump warning killing
    
    a couple legit bugs here but mostly i used my parentheses shaker.
    
    Change-Id: I645a239ca584fbb5759d885d42c058c757a35731
    Reviewed-on: http://gerrit.openafs.org/1648
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6fc97184468348187675f723f79ebb32433d25d2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 00:19:56 2010 -0400

    make 1.5.73 relnotes
    
    release notes for 1.5.73
    
    Change-Id: I4fd8d0b40f97311f42ee77f9245bd9e9cb87188f
    Reviewed-on: http://gerrit.openafs.org/1642
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4dfa3a48228f7d465c406831ad0d7eaa31bd5e2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 22 23:44:52 2010 -0400

    openafs 1.5.73 version strings
    
    make windows and unix 1.5.73
    
    Change-Id: Ice7fb6bab06ab6b5a1e6d5309f13d242289d2b0a
    Reviewed-on: http://gerrit.openafs.org/1620
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fc145e7162ef5b2280f25840c8bcb5649bdafa72
Author: Booker Bense <bbense@slac.stanford.edu>
Date:   Fri Mar 5 10:11:41 2010 -0500

    Updating UserGuide with Kerberos v5 authentication
    
    This patchset contains updates to the OpenAFS UserGuide that
    explains how to authentication OpenAFS using kinit/aklog
    and uses language describing Kerberos outside the context
    of the kaserver.  References to applications such as telnet
    have been replaced with more modern equivalents such as ssh.
    
    Change-Id: Ifae779b04a26beb9be9cf58b450958acdc477c06
    Reviewed-on: http://gerrit.openafs.org/1521
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 37f3aabd9f6f41dd722014ace146014b1340c0a1
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Mar 19 22:13:41 2010 -0400

    Windows: Use a timestamp for the minidump filename
    
    Set the name of the minidump file to :
    %TMP%\afsd-<yyyy>-<mm>-<dd>-<hh>_<mm>_<ss>.dmp
    
    This prevents new minidump files from overwriting older ones.
    
    Change-Id: I057963bedf618eb23720f17d62c8473790569273
    Reviewed-on: http://gerrit.openafs.org/1633
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1146d25df63cbf90b4a31e001227f5bd59acd6ea
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Mar 18 21:13:35 2010 -0400

    Windows: Monitor requests and gather diagnostics before a timeout
    
    This patch monitors SMB requests that are being serviced and
    automatically enables logging if a request takes longer than one
    minute to complete.  If the requst hasn't completed by the two minute
    mark, the code generates a minidump.  Once a minimump is generated, no
    more minidumps will be produced for another 5 minutes.
    
    SMB monitoring can be enabled/disabled using the new registry
    parameter 'SMBRequestMonitor.'
    
    Change-Id: I5aae22f6bfa635cec4a803089b483698641080eb
    Reviewed-on: http://gerrit.openafs.org/1632
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7ca634f7f8bf63ff62a5aed24c6251d4e7ee774b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 23 21:49:26 2010 -0400

    add missed release notes
    
    these are the release notes available via the web but not here.
    
    Change-Id: Ieb4af99a4d6a1dfdaabccdac79d03f7d328de675
    Reviewed-on: http://gerrit.openafs.org/1641
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 766c7e4cdf10f040304a7141cc126cd4d4a321ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 23 18:01:45 2010 -0400

    Windows: changelog for 1.5.73
    
    Change-Id: I83ab533c7ec52b82e76a857f3ac4a12e1d8b1939
    Reviewed-on: http://gerrit.openafs.org/1636
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 58990545c12b0ebf746b8c8cd6a21993f5b1e9f0
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 23 19:00:27 2010 -0400

    Windows: cm_attrs_t requires inclusion of cm_vnodeops.h
    
    Include cm_vnodeops.h before reference to cm_attrs_t.
    
    LICENSE MIT
    
    Change-Id: Ic6d2a505d4f30c75d16d5c99eef306af7563ba4c
    Reviewed-on: http://gerrit.openafs.org/1639
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 88305c306530bb17cd850f9a2582f83ba8ff7fb3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Mar 23 18:57:19 2010 -0400

    Windows LWP and UNIX LWP do not have the same lwp_cpptr structure
    
    Windows LWP uses Windows Fibers.  There is no 'stack' field.
    
    Change-Id: I8ebc7b355642f9e3ad6f2953345b9858ab9c151a
    Reviewed-on: http://gerrit.openafs.org/1638
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7f1441b9e64bac9931abeffca4b37a9d8d8565eb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 23 18:36:17 2010 -0400

    Warning fix: print burstWait fields
    
    burstWait is a struct clock with two int fields, but we
    try to print it as a %u.
    Print the fields separately like we do for timeout.
    
    Change-Id: I42ab3e4557af96cacae00b89841b1fcdfa832d4b
    Reviewed-on: http://gerrit.openafs.org/1637
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 71b3dd155cc958ae818cc37b96c976a2965e2640
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 23 17:49:22 2010 -0400

    Fix #ifdef typo
    
    Fix ifdef typo.  The compiler complains that the variable
    is undefined.  Not sure what effect this may have had on
    the intended preprocessor output.
    
    Change-Id: Idef3f4ac42a96a096be25d31ff416f7a23560d70
    Reviewed-on: http://gerrit.openafs.org/1635
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b835b487377304338ce97e82b8541eb3ab7c511d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 23 17:32:11 2010 -0400

    Define __USE_XOPEN conditionally
    
    Only define __USE_XOPEN if not already defined.
    In this part of the code it might now already be defined since
    we enabled AC_USE_SYSTEM_EXTENSIONS.
    
    Change-Id: I0651658d82550ee9be593d281bf50205815f9ef7
    Reviewed-on: http://gerrit.openafs.org/1634
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b0a3d581a6cd20f3ac77212685b1645431bcb7ef
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Mar 20 16:46:05 2010 -0400

    Windows: Make default mode bits configurable
    
    Mode bits aren't directly exposed by the Win32 API. We were leaving
    them to default to 0777 when creating new files and directories.
    
    This patch introduces two configuration parameters;
    'UnixModeFileDefault' and 'UnixModeDirDefault' which are DWORD
    registry entries that are used to set the initial mode bits.
    
    If the values are set to 0, then the behavior is identical to what we
    had before.
    
    Change-Id: I7822141aab1e12cc8e151be771f779284fa68465
    Reviewed-on: http://gerrit.openafs.org/1602
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit afa12e265dbf4c7dd83b85b2b6f532992da46e5f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 23 16:06:38 2010 -0400

    remove vnop needs discon lock
    
    right now, the discon lock never happens over a remove.
    fix that. restructure the code to allow one unlock and exit.
    
    Change-Id: I88fefa30c9ba8ad4a4ccce1a5b02e9fb8403b99d
    Reviewed-on: http://gerrit.openafs.org/1629
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 464b99b8ffa4ee8c7a33cd34609ba2f6885f6b01
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Mar 22 23:35:22 2010 +0100

    Develop Kerberos renew system for ticket
    
        - In Preference pane has been added a tab called "Option" where are
          showned the option for kerberos renew
        - In AfsBackgrounder has been implemented the NSTimer that will call
          the krb5 renew action according to user preference value
    
    Change-Id: Ica4b705018722488613ac09586e60c69303d1076
    Change-Id: I79ce1334d99f926544e865fbb563a1ffecaa969c
    Reviewed-on: http://gerrit.openafs.org/1606
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6f52f9493a99974b88b7526287c8e291786e52b8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 23 16:53:31 2010 -0400

    kill MultiBreakVolumeCallBack too
    
    this is also now unused. kill it.
    
    Change-Id: Ie2f3edef4dc74ee874eb5aedaf2c0d2ee548ae6d
    Reviewed-on: http://gerrit.openafs.org/1631
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 368e07f7367252d8877e86b3a3df9c559622e90e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 23 14:27:28 2010 -0500

    Remove BreakVolumeCallBacks prototype
    
    BreakVolumeCallBacks was a dead function that was removed from viced.
    Remove the prototype for it.
    
    Change-Id: I12a4d69719163d3e7be7dcae6f39df17b245c807
    Reviewed-on: http://gerrit.openafs.org/1628
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6448d4edc8fc7e8ca581f608e2b98a257bd20251
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 9 14:48:36 2010 -0600

    vos: correct syncvldb -verbose server byte order
    
    'vos syncvldb -verbose' outputs the before/after VLDB entries for
    altered entries, but the 'after' output shows server addresses in NBO.
    EnumerateEntry expects server IPs to be in NBO, so correct one location
    where they were passed in HBO.
    
    Change-Id: I332fe83b45b2b595e091c8eb9bdc57d89d5e36a8
    Reviewed-on: http://gerrit.openafs.org/1550
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 189a99e8944c338ec57168cb88f6c700abbc2370
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Mar 18 13:18:27 2010 -0700

    vldb_check man page should say -vheader, not -pheader
    
    The option was given correctly in SYNOPSIS but not in the OPTIONS section.
    Thanks, Rod Widdowson.
    
    FIXES 126771
    
    Change-Id: Ibd9694c066b6750ad04273c22e66c84fb7b4a1c6
    Reviewed-on: http://gerrit.openafs.org/1589
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 51362aba7b22a44cb601fb5c7d8800d55cd4f7b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 9 14:13:50 2010 -0500

    make tryevalfakestat really not block
    
    turns out this VerifyVCache can end up hitting other lockers. move it out
    of the try path.
    
    Change-Id: I073318a44b4da519413905b677fd439f1edd6c54
    Reviewed-on: http://gerrit.openafs.org/1547
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4d1bc8e9980660e2952a231e97a0dedd8596e86c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 15 16:34:43 2010 -0500

    viced remove dead BreakVolumeCallBacks function
    
    this is no longer used. trash it.
    
    Change-Id: I0ad5aa203924c6a16afd68bc8ef55663951917c3
    Reviewed-on: http://gerrit.openafs.org/1315
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9af8d46e7794c323a69bed4a84dd73d5a8d05a8c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 10 14:15:58 2010 -0600

    vos: Avoid LWP stack overflow error on SIGINT
    
    vsproc's method of longjmp'ing out of a signal handler can thoroughly
    confuse LWP. At the very least, the information on our stack becomes
    incorrect, since we're no longer using the stack supplied by LWP. At the
    very least, we seem to (almost) always fail the sanity check checking
    for stack overflow. To prevent the test from happening, NULL the stack
    pointer before the longjmp so we can attempt recovery.
    
    FIXES 33360
    
    Change-Id: Ie910cb1cc8564ac119c3b751fd8295bf312a3ce7
    Reviewed-on: http://gerrit.openafs.org/1559
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf2d0db680f16394df6f0b9c4ee0c0738862276c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 10 11:58:04 2010 -0600

    vos: Use IOMGR_SoftSig for signals
    
    When vsprocs tries to longjmp from the signal handler, use IOMGR_SoftSig
    first, so sleeping processes are woken back up. Without this, IOMGR can
    bail out since it finds no processes READY when we attempt to do
    anything with RX.
    
    Change-Id: I9089bc4d003786d4a2205cd97f722fbf85fd1aa8
    Reviewed-on: http://gerrit.openafs.org/1558
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fe3ff8e91237f35fed33d6d417830e0fe44c6479
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 9 18:07:18 2010 -0600

    vos: Mark longjmp-used variables as 'volatile'
    
    vsprocs tries to do error recovery by calling longjmp from a signal
    handler. Although this is quite error-prone since we call a ton of
    non-async-signal-safe functions, make it a bit more likely to work by
    marking variables that are used after the longjmp as volatile. This
    reduces how often (depending on the platform) these values will be
    completely worthless after a longjmp since they were cached in a
    register or similar.
    
    FIXES 125535
    
    Change-Id: I8566f8cffde6cfdffd99a11d637645494e0a0514
    Reviewed-on: http://gerrit.openafs.org/1557
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f2db78a346112f5320efc6f0b6b9fe4ae0d893d3
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Mar 22 15:00:39 2010 -0700

    Fix strict aliasing problems or add -fno-strict-aliasing
    
    Create a new CFLAGS_NOSTRICT Autoconf substitution variable which
    is set to -fno-strict-aliasing if we're using gcc to compile.  Add
    @CFLAGS_NOSTRICT@ to the C compiler flags for source files that have
    significant strict-aliasing issues.
    
    Fix minor strict-aliasing issues elsewhere in the tree by using memcpy
    to copy the data into a properly typed variable.
    
    Change-Id: I43afdb5e33e06cb249b7db385a65daf8d2133a19
    Reviewed-on: http://gerrit.openafs.org/1617
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 129b6954a6f491c6f3c3e417055bdc68d4726408
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Mar 15 12:41:11 2010 -0500

    Use AC_USE_SYSTEM_EXTENSIONS
    
    Instead of defining various symbols like _XOPEN_SOURCE, _BSD_SOURCE, and
    the like, just use autoconf's AC_USE_SYSTEM_EXTENSIONS to define all of
    the appropriate symbols for us. Deal with some fallout by removing some
    of the existing defines.
    
    Change-Id: I1c1968c89cc2dfda1293fd2566dac8e266325a72
    Reviewed-on: http://gerrit.openafs.org/1582
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ac85550c9008baeba5cfdb400afb660fa85b6917
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 18 20:17:02 2010 -0400

    aix mount failure unlock and seterror
    
    set an error usefully and drop the vfs lock
    
    Change-Id: I9d901b50722c09e1b131077f0b19e2831e6a44c8
    Reviewed-on: http://gerrit.openafs.org/1590
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 42a3eaae931e209377f765d736e64a802b5e9731
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 14:16:48 2010 -0500

    update link order
    
    librx needs libsys on irix to get afs_syscall
    libsys needs librx for xdr_mumble for rmtsys
    
    Change-Id: I2e4d9771807546c14f8b16b8805c222d79aab8c1
    Reviewed-on: http://gerrit.openafs.org/1386
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7293ddf325b149cae60d3abe7199d08f196bd2b9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 18 00:04:22 2010 +0000

    XDR: Stop the madness
    
    We currently attempt to align our XDR implementation with what may
    be provided by the host system. This leads to a huge amount of parameter
    fudging, and general pain and misfortune. However, the only place that
    we still actually use the system XDR is for UKERNEL builds.
    
    Change this so that we use our XDR everywhere. Fix all of our type and
    function definitions so that they're standard. Remove the warning
    inhibitions.
    
    Change-Id: I53f4539e50eacb4e0691d8d3d6546bbfb7438358
    Reviewed-on: http://gerrit.openafs.org/1340
    Reviewed-by: Chaz Chandler
    Tested-by: Chaz Chandler
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>

commit 162cf1c51d167c43da49539c3956f5b94ba3c5e3
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Mar 22 12:56:09 2010 -0700

    Use sigset_t and sigfillset instead of memset
    
    Rather than using an arbitrary array memset to ones as our signal
    mask, use the POSIX sigfillset function and eliminate the static
    variable.  Fixes strict aliasing errors with --enable-checking and
    gcc 4.4.3 on Linux x86.
    
    Change-Id: Ic3e0499d03657d94f60808ed12e090dc62cce6fc
    Reviewed-on: http://gerrit.openafs.org/1616
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9dbe48ac2d14742d2acefb9cb4138b810a1a128e
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Mar 22 12:42:48 2010 -0700

    Move non-executable stack assembly code to end of file
    
    The non-executable stack annotation used for Linux works by adding
    an additional section to the generated object.  The annotation added
    in 9bfd03d723a9cf17673f40513a7adde1d503bcbc was added to the beginning
    of each assembly file.  This caused build failures on Linux s390
    because the remainder of the assembly code was then put in that
    section, which was discarded during linking.
    
    Add the annotation to the end of each assembly file instead, following
    the instructions at:
    
        http://www.gentoo.org/proj/en/hardened/gnu-stack.xml
    
    Change-Id: I5bd2d8d0ac31932b59757dcec0a942c459d61cac
    Reviewed-on: http://gerrit.openafs.org/1615
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 393820794c45b72a530b30bfd96aac982310eb7e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 20 10:59:20 2010 -0400

    multibreak callbacks add host marking
    
    to deal with refcounts, we have to mark hosts in a way other than holds.
    do so. all other h_Enum callers don't use this feature.
    
    FIXES 126497
    
    Change-Id: I0fc008495b93d2c361d476c7fcb6b355c0dab825
    Change-Id: I61128261b2e8c64fafbf7425d6a65dd48fd7e177
    Reviewed-on: http://gerrit.openafs.org/1599
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a724dc31d85b082d7337dd0fa399df72dc5d9afc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 21 13:49:21 2010 -0400

    salvage variable initialization
    
    root vnode creation change caused a new warning i missed. fix it now,
    set rootvnode to NULL
    
    Change-Id: I06fe7a60f2fcc48c498249142220f65291188baa
    Reviewed-on: http://gerrit.openafs.org/1610
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 38fd7259202d098fe7b142438fddc0b5270efa50
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 21 13:48:48 2010 -0400

    aix vfs table entry in rc script
    
    add an entry to the aix vfs table so umount works
    
    Change-Id: I29a27ca350b948da0283ae09df0acd30eb6384c4
    Reviewed-on: http://gerrit.openafs.org/1611
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 32ebc44f42aad7dd77d42d07bfd891e8be6f1fff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 3 13:02:23 2010 -0600

    Create missing root directory when ORPH_ATTACH
    
    When we are salvaging with ORPH_ATTACH, orphans are normally attached to
    a volume's root directory. If the volume is missing a root directory,
    however, nothing is attached, and the volume can appear empty or
    unusable.
    
    So, to make it possible to get a useful volume out of a volume that lost
    (only) its root directory, create a new root dir, and attach orphans to
    that root.
    
    FIXES 94658
    
    Change-Id: I946a60485b5793952707f44ac369ee243e8dc076
    Reviewed-on: http://gerrit.openafs.org/1235
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 88a40ffd3b82f3ca1a1b2d57f32859a9d57b922e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 20 10:40:32 2010 -0400

    comment assumptions in lih0_r
    
    previously, we checked for  (!held && !h_OtherHolds_r(host))
    now, we want to confirm only we hold it, so comment that that's how
    this works
    
    Change-Id: I98a65fbb4f2d0532054c71699dc2168e4592668b
    Reviewed-on: http://gerrit.openafs.org/1598
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c9761464e7d8f1446862a3c94d900c74403b0f07
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 21 12:49:34 2010 -0400

    aix krb5 error message handling
    
    handle krb5 error messages for aix in aklog and lam plugin
    
    Change-Id: Iac96dc62e7889d375db111d5c96d86cf09715ab6
    Reviewed-on: http://gerrit.openafs.org/1609
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a68104340b5d3768e533a7503deb068fdf06d72b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 21 11:42:15 2010 -0400

    panic prototype for aix 6
    
    aix does need a prototype for the lame version of the function
    
    Change-Id: I636b734bb725c425b2b4c6e4ae3e9473e087c21d
    Reviewed-on: http://gerrit.openafs.org/1608
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c4537f0442ac7ecbf8c946de45004992e17d535f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 17 11:56:12 2010 +0000

    Don't count root session keyrings against quota
    
    AFS PAM modules can call setpag() as root, regardless of the UID
    being authenticated. This leads to the session keyring being created
    using roots quota - on some systems (RHEL5) this quota is both small,
    and of a fixed size.
    
    Modify our keyring allocation code so that when a keyring is created
    by root, we don't do any quota checks.
    
    Change-Id: I2ee151ec1166a78475047bffd2c1d31f45e8dbdf
    Reported-by: Rainer Toebbicke <rtb@pclella.cern.ch>
    Reviewed-on: http://gerrit.openafs.org/1577
    Tested-by: Rainer Toebbicke <rtb@pclella.cern.ch>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e2134caed1812d523dc7c07a5307fd3ec53485f5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 18 15:27:35 2010 -0400

    macos fsevents hinting
    
    add support for faking it. no exported interface exists, sadly.
    currently does only authentication events, and is best-effort only,
    however for people who get tokens after viewing directories in finder,
    this is a drastic improvement.
    
    also adds needed setting to afssettings plist
    
    FIXES 23781
    
    Change-Id: I46d5a6cf103c30a2134decccc929e1ef85a26726
    Reviewed-on: http://gerrit.openafs.org/451
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 65dcd0a7dabea704973d7f67c1733d2a47559f1b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 6 17:32:57 2010 -0500

    afsadminutil: translate krb5 error messages on Windows
    
    util_AdminErrorCodeTranslate() is used to translate error
    code messages within the libadmin library set and is used
    by translate_et.  This has in the past not translated
    krb5 error codes.
    
    This patchset conditionally adds support for using
    krb5_get_error_message() or error_message() on the Windows
    platform if KFW is installed.  This is accomplished by
    adding new functions to afsutil.lib:
    
      initialize_krb5()
      fetch_krb5_error_message()
    
    which are used within util_AdminErrorCodeTranslate()
    only if AFS_KRB5_ERROR_ENV is defined.
    
    Support for Unix is not provided at the present time
    because doing this "right" will lead to a dependence on
    kerberos libraries from this library, which we might want
    to avoid.
    
    Change-Id: I7caf7b8e41cfd806f4defc175aa45afb165ec244
    Reviewed-on: http://gerrit.openafs.org/1531
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7595adc20b9ae1807cf720c72917eb6d133c765f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 19 09:31:04 2010 -0500

    volume_inline.h does not need sys/file.h
    
    src/vol/volume_inline.h does not need sys/file.h; at one point, it was
    using macros from sys/file.h for locking constants, but now we use the
    lwp/lock.h constants. So, include that instead. Also, only include it
    for DAFS, since we only use the constants in the DAFS case. Thanks,
    Jeffrey Altman.
    
    Change-Id: I114b438d7fb1fbb3a35bdfa0717ac334c7f80355
    Reviewed-on: http://gerrit.openafs.org/1596
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e55f39053a7a26648ad94fae7fa7eaf4e9fb0725
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 19 01:13:26 2010 -0400

    macos uninstall redux
    
    the rest of the uninstall changes. git add, sigh
    
    Change-Id: I69e4f4a870e08b1796b4546776e373f0a82e0e8e
    Reviewed-on: http://gerrit.openafs.org/1594
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9c39116015ffd53e532656146ab984c4294bdf65
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 19 00:57:13 2010 -0400

    update macos uninstaller
    
    make the uninstaller cope with the new receipts format and location
    
    FIXES 125634
    
    Change-Id: I6cf0cd3e979a34115f391477657ec37f0c3d8faa
    Reviewed-on: http://gerrit.openafs.org/1593
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 105481d3348a93d33695fb705f9fa5c8af210e7e
Author: Dan Hyde <drh@umich.edu>
Date:   Tue Feb 2 10:37:47 2010 -0500

    VOL_LOCK needed when traversing DiskPartitionList
    
    VLockPartition sets VOL_LOCK, opens (perhaps creating) the lock file
    for a partition, and flock's it.  VUnlockPartition, sets VOL_LOCK, and
    closes the lock file fd.
    
    VLockPartition is called from the salvager.  Nothing ever calls
    VUnlockPartition.
    
    VPFullUnlock is called every 30 seconds, does NOT set VOL_LOCK, and
    happily closes any lock file fd it finds, breaking any lock set with
    flock.
    
    Other routines use the VOL_LOCK when traversing DiskPartitionList.
    
    Change-Id: I683547f574b1f760e72014f5d44ce3987f07b5df
    Reviewed-on: http://gerrit.openafs.org/1213
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Tested-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 028240329c09b6a311cb85736f41d75f7ee7a01f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Wed Mar 17 01:55:41 2010 -0400

    Catch up with FBSD80's removal of thread argument to VFS calls
    
    FreeBSD SVN rev 191990 removed the thread argument to
    filesystem-dependent VFS calls.  Curthread is always assumed.
    There is a __FreeBSD_version bump that we could check if
    we felt like being precise, but FBSD80_ENV is probably good enough.
    
    Change-Id: I4534f01999b61eaeaa014c41473c693e6d432fef
    Reviewed-on: http://gerrit.openafs.org/1587
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>

commit 4bcd24e190ae1a69e7acd60d2e74d5c5a9383e63
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 15 13:15:34 2010 -0400

    aix vnode hold simplification
    
    instead of special-casing aix's AFS_FAST_xxx *and* calling
    VREFCOUNT_INC for AIX, make it all consistent; side effect, remove
    now-superfluous AIX ifdef'd code
    
    Change-Id: Ic6a91429aad26e17fd9e12884ba0eba86564c377
    Reviewed-on: http://gerrit.openafs.org/1572
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 46099b6d0b3f3ecec58b679518c9a267f71dfd49
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 14:25:38 2010 -0400

    regain glock on storedata error exit
    
    if we bomb out with EFBIG, we must regain the GLOCK before returing
    
    Change-Id: I3aec92f90abd665d86dcf413dad0e9cbb251a0af
    Reviewed-on: http://gerrit.openafs.org/1584
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit da68c39de16257b329f470c42c2d4cd8165340f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 13:23:30 2010 -0400

    kill apsl afssettings and fstab
    
    replace both
    
    afssettings with something patterned from webdav's (BSD-licensed)
    mount program with general plist reading code. the lists of
    valid oid objects of course have to be the same. eject old
    darwins. add the new one.
    
    fstab with something from freebsd umount
    
    Change-Id: I28f6765475314b9b78102c762daec19cda4988c3
    Reviewed-on: http://gerrit.openafs.org/1583
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b772bd7e3c1305710eb3c18b2fe4108e467bd383
Author: Evan Broder <broder@mit.edu>
Date:   Tue Nov 3 23:50:39 2009 -0500

    Increase the maximum number of sysnames
    
    Change-Id: I8438ca19649730260370d8b00fb0157e808abe31
    Reviewed-on: http://gerrit.openafs.org/778
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3cffaee790feef2b80915e9a247e0d5c3c1948da
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 17:13:01 2010 -0600

    DAFS: Replace partition locks with volume locks
    
    In DAFS, replace uses of the VLockPartition_r partition-level locks with
    the approprivate VLockVolume*NB volume-level locks (and sometimes
    FSYNC_VerifyCheckout). This allows for greater parallelization of
    volserver attachment / volume creation, for volume operations to occur
    during salvages, and for multiple salvages on a single partition to
    occur simultaneously.
    
    More architectural details of volume-level locks can be found in the
    changes to doc/arch/dafs-overview.txt.
    
    Change-Id: I4e8ef4c864002d7e7c976691824c53dfa9cfaf91
    Reviewed-on: http://gerrit.openafs.org/1406
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 57984286f3d96cb2dbf0038dbc67d2f3c069e22e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 17:02:08 2010 -0600

    Add code for locking individual volumes on disk
    
    This adds the necessary APIs and associated changes to lock (on disk) an
    individual volume on a particular partition. Nothing yet calls these new
    functions.
    
    Change-Id: Ibfa00293e7411f3f48eabdecb13b7e80e126a1ff
    Reviewed-on: http://gerrit.openafs.org/1405
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e42e0912d774cbfc309250052631c6e60c83164d
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Tue Mar 16 17:07:04 2010 -0400

    Avoid panic on shutdown with memcache and INVARIANTS
    
    When running with memcache, the filesystem cache is not initialized,
    so the file-local struct vnode *volumeVnode is never set to non-NULL.
    However, shutdown_cache() unconditionally calls vrele(volumeVnode),
    which triggers a KASSERT that the argument to vrele() is non-NULL.
    For certain kernel configurations, this results in a panic.
    Change this so that vrele() is only conditionally called if the
    volumeVnode is non-NULL.
    
    Change-Id: I80235f0d45ae11f26e9a09854bb34439f89bbb40
    Reviewed-on: http://gerrit.openafs.org/1576
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c9a4e11bbac143f7e44af4eb1e6fae1653679e33
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Thu Mar 11 00:13:12 2010 -0500

    Allocate and free backing store for event mutices
    
    Actually get memory for the event mutex.  With this and a locking
    tweak, afsd actually starts (with memcache; the UFS cache still
    has some locking issues).
    Note that struct mtx is small enough that we may want to just
    include it inline in afs_event_t and avoid having to do a separate
    allocation/free step.  However, Derrick wants to merge the FBSD and
    DARWIN versions of this file, so stick with the more compatible
    version for now.
    I find that without the memset(), mtx_init() will (sometimes?) complain
    that the mutex is already initialized.  The glock should ensure
    serialization here, though, so that we only allocate and initialize
    one mutex per event.
    Also remove an unnecessary cast while here.
    
    Change-Id: Ib304f4301a478a82f0fb8c9ae3bfee98a2a28acd
    Reviewed-on: http://gerrit.openafs.org/1560
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d9cf88428aa542d1cd304e82f02333eced0194ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 15 14:31:49 2010 -0400

    rx nat event connection reference
    
    hold a conn ref for the nat ping event. don't renew if the connection
    is being garbage-collected.
    
    Change-Id: I45ebf7b8d0362e409094666f186e6b4d58cc906a
    Reviewed-on: http://gerrit.openafs.org/1573
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit be2c1ea5ef4a7afb315c2220c4de4b73cfb10894
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Mar 15 21:34:28 2010 -0400

    growlagent: remove generated Makefile with make distclean
    
    Add the growlagent Makefile to the list that gets cleaned with
    the distclean target.
    
    Change-Id: I6c3385f3b839c436efb50d0fc7239c181e027be6
    Reviewed-on: http://gerrit.openafs.org/1575
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8ba939e12636d573404d2777505a61608a4f3bd8
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Mar 15 13:49:31 2010 -0600

    Remove return of value for afs_MarinerLogFetch()
    
    afs_MarinerLogFetch(), a void routine, attempts to return a value.
    While gcc (amongst others) merely issues a warning about this, the
    Sun Studio C compiler gets cranky (at least on x86) and treats it as
    a hard error, thereby aborting the build. Since there actually is no
    value to return, this update simply removes the attempt.
    
    Change-Id: Ic89fb05380a25a433f9c3b9fa57962f215348d95
    Reviewed-on: http://gerrit.openafs.org/1574
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6bfca9c06c1ddcf2cb238a821463dce91e4f2146
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 10 02:03:25 2010 -0500

    freebsd per-event mutexes
    
    use the same system for event mutexes macos does. this time for sure.
    
    Change-Id: I18be653607490ba42f40a0b069460ece2f6ab416
    Change-Id: I7e0a2f6042ef7f31612072c6625579de42b17f9b
    Reviewed-on: http://gerrit.openafs.org/1554
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 19670781ba6d3d9258786319e98003e7afd887df
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 9 13:03:06 2010 -0600

    vlserver: make rxinfo threadsafe
    
    The vlserver has a function 'rxinfo' used for printing out information
    about an RX call for logging purposes, which used a static string.
    Change it to use a caller-passed buffer, so it is safe to use in
    multiple threads.
    
    Change-Id: I186010792e743bc9676ddd5b4c99f011b64988e6
    Reviewed-on: http://gerrit.openafs.org/1545
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 81b7f1b010789cc6a345454c677e69bf2e5c8a3b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 8 15:58:42 2010 -0500

    afsdb lookup shouldn't leak memory on realname lookup
    
    when looking up the "real" cell name, avoid leaking memory. the strdup
    is inside a loop and would leak memory for each host returned above one.
    
    Change-Id: I36cc9bd27ddc831121f47046daaab11f752012fe
    Reviewed-on: http://gerrit.openafs.org/1538
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dfa356732fd10073c3b777ccf48f753fcd528c93
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sun Feb 28 13:02:40 2010 -0500

    squash warning in db_verify
    
    Fix warning from the prdb_verify -rebuild with
    supergroups fix, fa2536c02cf26f7db30bf623e95f42be88138d14
    
    Change-Id: I584cba07287660c9e560a2ba931545cbc5b4843f
    Reviewed-on: http://gerrit.openafs.org/1570
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 808cebbf45101c512480350ce373ac95c08fa57b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 13 11:47:51 2010 -0500

    Windows: warnings removal for afskfw.c
    
    Use StrSafe string manipulation functions in place of most
    instances of strcpy, strcat, sprintf, etc.  With the use
    of StringCbCopy, StringCbCat, StringCbPrintf, etc. there
    is no longer a need to manually assign a NUL to the end
    of a C string buffer as was required with strncpy or
    strncat.
    
    There is one strcpy instance remaining due to the inability
    to know what the length of the destination buffer.  The API
    needs to be altered to make the destlen available and that is
    not an appropriate change for this patchset.  A deprecated
    warning is a reminder to revisit this in the future.
    
    Several int to unsigned int type changes to avoid signed
    vs unsigned warnings.
    
    Shuffle the order of header files to avoid macro
    redefinition warnings.
    
    LICENSE MIT
    
    Change-Id: I4b5d15b60918cc8dc6ab205f1a7d45e17d14de43
    Reviewed-on: http://gerrit.openafs.org/1567
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 17f9444be39cb520efa09011f0f18db5b90e87f3
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 6 17:30:17 2010 -0500

    Windows: afskfw - conditionalize use of krb5_get_error_message for KFW 3.1 and earlier
    
    KFW 3.1 is supported by OpenAFS but does not contain krb5_get_error_message
    or krb5_free_error_message.  As a result it must be loaded at run-time
    and conditionally used.
    
    LICENSE MIT
    
    Change-Id: I803b4af726605dc49baf2c2d45fae3ecafe2ccf9
    Reviewed-on: http://gerrit.openafs.org/1529
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d4340c0da4574d61f25d7ebfba6afb352d1113bf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 6 17:32:22 2010 -0500

    Windows: netidmgr - conditionalize use of krb5_get_error_message for KFW 3.1 and earlier
    
    KFW 3.1 is supported by OpenAFS but does not contain krb5_get_error_message
    or krb5_free_error_message.  As a result it must be loaded at run-time
    and conditionally used.
    
    LICENSE MIT
    
    Change-Id: Ic2ad16bb5c2d905e30ec814951b5253e2ef888da
    Reviewed-on: http://gerrit.openafs.org/1530
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5026d73c8624e3eb36908ce16cc2bb6509eb4e37
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 12:10:38 2010 -0500

    macos dropbox fix for finder
    
    sadly this can mean we lie and say delete will work when it will fail, but
    finder looks for KAUTH_VNODE_DELETE_CHILD along with
    KAUTH_VNODE_ADD_SUBDIRECTORY and KAUTH_VNODE_ADD_FILE, not as one-offs.
    
    Change-Id: I4079b89e188992ee33594cad5bd15f7bf6106203
    Reviewed-on: http://gerrit.openafs.org/1561
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f1bfc6674e143a29ca6cc68621c22a6b8dd2cd36
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 9 16:51:56 2010 -0500

    dkms configure correctly
    
    push the correct configure options for dkms
    
    Change-Id: I18e33c693fa4c32e39cee08844312e67cb280443
    Reviewed-on: http://gerrit.openafs.org/1551
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2d7e83dccc4c7c90221ece5bc5f46e0620068b03
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Mar 10 10:16:04 2010 -0600

    Squash pthreaded vos warnings
    
    Trying to build vos in src/tvolser can produce a warning, at least on
    amd64_linux26, since we cast to an int of the wrong size in SendFile and
    ReceiveFile. Use intptr_t like we do everywhere else instead.
    
    Change-Id: Ic624bf90ab7338b63f8177b762e1deddbe7fb73d
    Reviewed-on: http://gerrit.openafs.org/1556
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d32b40ee7db535d36f4c167c7c3a2ea5855f6bf3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Mar 10 15:40:50 2010 +0000

    Don't always use the local cell for db clients
    
    Commit d008089a79ef268bbca91d660a840f32cb416865 broke things so that
    we were always trying to use the local cell, rather than the one specified
    by the user. Fix this so that the command line cell is used, unles -localauth
    is specified, which restores the existing behaviour.
    
    FIXES 126716
    
    Change-Id: I2ce34e764780d5a22c67474d5ae1076d52b04113
    Reviewed-on: http://gerrit.openafs.org/1555
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5383e6a330e45d3a2e6fb1ff0f80e4a50d2763ec
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Mar 9 22:17:05 2010 +0000

    Update RPM CellServDB
    
    Update the CellServDB in the RPM packaging to 2010-02-28
    
    Change-Id: I03d062a6c9b53edd6865932df5a93b42cd46e708
    Reviewed-on: http://gerrit.openafs.org/1552
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 63fe055ecd13c93a3a6070a15a745ace2e420817
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Mar 5 17:07:47 2010 -0600

    udebug: Fix byte ordering of last yes host
    
    Udebug gets the last 'yes' host in HBO, but afs_inet_ntoa wants it in
    NBO. So convert it to NBO.
    
    Change-Id: I5524d8086d5ac08875306fee923cb297c971cda8
    Reviewed-on: http://gerrit.openafs.org/1549
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 97b69af9255d2aca0f858588cc957c05690e387e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Mar 9 11:43:42 2010 -0600

    vldb_check: do not ntohl u_chars
    
    vldb_check was ntohl'ing fields like serverNumber when reading in a VL
    entry. Since this is a u_char, ntohl'ing will just always result in 0,
    not the actual value. Remove the ntohls so we read in VL data correctly.
    
    FIXES 126661
    
    Change-Id: If5117e1750d6dacd9bbe18bc936e0a1ba3d44340
    Reviewed-on: http://gerrit.openafs.org/1548
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 861cdf82de9f7fbaa28e87c5f26e97ddc30f3f9a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 17:04:29 2010 -0600

    Add FSYNC_VerifyCheckout
    
    Add the function FSYNC_VerifyCheckout, which can be used to verify that
    a previous checkout of a volume is still known by the fileserver, and
    hasn't been forgotten about (by e.g. the fileserver restarting).
    
    Change-Id: Ie3ec63d155fe16ca4929b370bbe55850075cec83
    Reviewed-on: http://gerrit.openafs.org/1404
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit aa8c114454f0825adcf03bd29377c052a3e4719a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 23 15:43:11 2010 -0600

    Add DAFS documentation overview for developers
    
    Add some developer documentation for DAFS. This isn't comprehensive or
    extremely detailed, but is intended to provide a larger-picture overview
    of some of the pieces of DAFS. More detailed docs are intended to exist
    in source comments (doxygen and such), and should already be there for
    the most part.
    
    Change-Id: I167b52c3bfb9e6b4b7111b3548ca8b1dafe305ea
    Reviewed-on: http://gerrit.openafs.org/1376
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 797fe86a8e6f7b6306e9dc2c3de1432e5fcbc0c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 16:48:30 2010 -0600

    Add VLockFileReinit
    
    Add a VLockFile function, VLockFileReinit, to close all locks on that
    particular lock file.
    
    Change-Id: Ie1e4af21a486fb0451b6d613117027a522c9bb5a
    Reviewed-on: http://gerrit.openafs.org/1358
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d7e2f2af801b734c1cb7fd3f84be419ad851348
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 16:48:06 2010 -0600

    VLockFile: add a couple of asserts
    
    Add a couple of asserts to make some mistakes very obvious, such as
    passing in an invalid 'locktype' or unlocking more times than locking.
    
    Change-Id: Ie6e707ea515d5a6527dedc8875f0a4694b7b93c9
    Reviewed-on: http://gerrit.openafs.org/1357
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9aa09f5e634db8a8b2dedf3a749f2a90ef206e2f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 19 15:17:56 2010 -0600

    Schedule all salvages via VScheduleSalvage_r
    
    Change I03ecf6302436c35fec705cd6c84a40b7cdbf6f97 allowed non-fileserver
    programs to schedule salvages via FSSYNC, making the FSSYNC call
    directly in VRequestSalvage_r. This isn't as safe as making the call in
    VScheduleSalvage_r (as is done when the fileserver schedules a salvage
    via SALVSYNC), since we may not have relinquished all of our handles and
    such for the volume by the time the salvager starts.
    
    So instead, make this path a bit more like the fileserver, and make
    non-fileserver programs actually make the FSSYNC call in
    VScheduleSalvage_r. Consequently, make VScheduleSalvage_r conditionally
    hit FSSYNC or SALVSYNC. Add a VCheckSalvage to attach2 failures, so
    non-fileserver salvage requests actually get scheduled.
    
    Also, reorganize the attach2 error handling a bit to make this a bit
    easier.
    
    Change-Id: I786a7953e860a132575caad8fe12168f6841442b
    Reviewed-on: http://gerrit.openafs.org/1356
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b550276579f929512a5fa3cf1d9482df914f67be
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 14:22:39 2010 -0600

    Add FSSYNC debug logging
    
    Add logging for what FSSYNC commands are being received by the
    fileserver, so it is possible to see what's going on with FSSYNC. Log at
    level 125, since this isn't interesting unless you knows some FSSYNC
    details, and it can get quite verbose.
    
    Change-Id: Ia067d3ba5084a919332989aac437ae4d4082e2e4
    Reviewed-on: http://gerrit.openafs.org/1349
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit faefa0dc8e40e9e4c81a30a6fe687173b3327725
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 24 09:47:03 2010 -0600

    Move *SYNC string translation out of fssync-debug
    
    Move the routines for translating ProgramType codes, and SYNC command
    codes, response codes, etc out of fssync-debug, and into header files
    anyone can use. These routines are useful especially for SYNC-related
    debug or error logs.
    
    Change-Id: Idc5ffe0dd798a9f18ca733e94d0bb4d740ad0836
    Reviewed-on: http://gerrit.openafs.org/1390
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e67e4405b713840dc4b4fec2337462948c55aa4f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 12:21:45 2010 -0600

    Do not rely on vol header for V*VolumeHandles_r
    
    VCloseVolumeHandles_r and VReleaseVolumeHandles_r were using V_id to get
    the id of the volume; just use vp->hashid so we can call these even if
    we lack a header.
    
    Change-Id: I0f0bc0ae82a7b86135aebe194c79a223a6f25094
    Reviewed-on: http://gerrit.openafs.org/1348
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 804a29034ffcabaf0009b3f41d4acd4f9ba0b056
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 9 11:02:13 2010 -0500

    darwin report kext load address
    
    also report unload. in event of panic after module is unloaded (which
    *shouldn't* happen but i have evidence it might) you can retcon where the
    module was
    
    Change-Id: I07f89d2393605c4b7cac853cbe09b5a4a52ea4cd
    Reviewed-on: http://gerrit.openafs.org/1544
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2724e9ee8544ad5bf598e6552ab9a42ed615aa88
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Mon Mar 8 23:38:15 2010 -0500

    Export prototypes for osi_fbsd_{alloc,free} for use in rx
    
    Include prototypes for osi_fbsd_alloc() and osi_fbsd_free() in
    osi_machdep.h, since afs_prototypes.h is not included when compiling
    the rx code.  afs_osi_Alloc_NoSleep is #defined to be osi_fbsd_free,
    and is used in the rx code; if the prototype for the latter is not
    included, then int is assumed for all parameters and return values,
    which breaks the calling convention for 64-bit pointers.
    
    Change-Id: I3d7575525f159097d1f8ca9ecb22af9f27b63111
    Reviewed-on: http://gerrit.openafs.org/1541
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0eb19d67f6848cd0216d079d66487b5c1b2a95fb
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Mar 6 15:37:50 2010 -0500

    Use correct types for UFS devices
    
    For the FreeBSD 5.3 release, UFS (and everything else) took a
    "dreaded s/dev_t/struct cdev */" change; we need to keep up
    with this when comparing mountpoints' devices.
    
    Change-Id: I47d3f874be05b16fc2da89dac2bb1b64c573ab8e
    Reviewed-on: http://gerrit.openafs.org/1540
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b6a3d7c9da9a0bfcd3e24698e083919ef72de768
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Mar 6 15:20:18 2010 -0500

    Use the correct API for msleep() in FBSD's afs_osi_TimedSleep()
    
    msleep() does not take a struct timespec*, it takes its timeout
    value as a multiple of the kernel's HZ parameter (tuneable at
    startup).  Since the afs_osi_TimedSleep interface is documented
    to take a timeout in milliseconds, we must correct for the (sometimes)
    different units (currently HZ defaults to 1000).  We prefer
    to multiply the timeout by HZ before dividing by 1000 so as to
    not lose precision; overflow is assumed to be unlikely.
    
    Change-Id: Ic101f3bf54213eebe249cb6c40a6d8cbd3d722f0
    Reviewed-on: http://gerrit.openafs.org/1539
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 430c68eb2ada1559c0b775e2e82cbf9c98a25b99
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Feb 28 17:07:15 2010 -0500

    FBSD build finishes for me
    
    Declare the fd variable.  Also a preprocessor tweak, as e2b65732
    seems to have gotten the sense of the AFS_FBSD50_ENV check wrong.
    
    Change-Id: I7e498a8276586af5afe0483380d00ef83266c316
    Reviewed-on: http://gerrit.openafs.org/1526
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 84eee2ed411cab64b136ccea3a6c29f1313e2ecc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 8 14:06:50 2010 -0500

    afsconf srv lookup fill cellname
    
    pull out the cellname from the reply
    
    Change-Id: I8e0dbb5b82e353ecd29a9cce25eaee1255062cd9
    Reviewed-on: http://gerrit.openafs.org/1537
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7aca59c2f6c8097fbc0cafab18fe4cdfe28e89c2
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Wed Mar 3 11:57:29 2010 -0700

    Begin support for OpenBSD 4.7
    
    Add config param header and sysname number for OpenBSD 4.7 (currently
    in beta).
    
    Change-Id: I6537bd352becd9a8c3937e95f79911c8bc08bcfb
    Reviewed-on: http://gerrit.openafs.org/1533
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a31bbd3123dd7bd5c0f73c1bcd89548d489930a8
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Sun Mar 7 14:50:06 2010 -0500

    OpenBSD: eliminate use of VREF() macro
    
    OpenBSD 4.7 (currently in beta) removes the (dummy) VREF() macro from the
    system header files. For at least as far back as OpenBSD 3.6, all this
    macro does is expand to a call to a system routine by the same name in
    lower case. This patch therefore replaces the single OpenBSD use of
    VREF() with a direct call to the routine to which it expanded.
    
    Change-Id: I44888ed1ba7ba8e7150202798def10bed2ab3158
    Reviewed-on: http://gerrit.openafs.org/1532
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2f9df771bbe418b9d1a3797a844c6965d0c1325f
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sat Mar 6 14:51:17 2010 -0500

    Be type correct in osi_ThreadUnique() for FBSD
    
    Formerly, in AFS_FBSD50_ENV, we used curproc for the ThreadUnique
    value; however, curproc (#defined as curthread->td_proc) is a
    struct proc *, not an actual pid.  (As such, it suffers from
    a 32/64-bit mismatch on 64-bit systems.)  Use the correct value,
    curproc->p_pid, instead.
    
    Change-Id: If07ef3b0814c0fee63b62d2f36fa94d6e45573b9
    Reviewed-on: http://gerrit.openafs.org/1528
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb37b133d4f186c6325ea16ad01210fe45145492
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Feb 28 20:08:52 2010 -0500

    FBSD module loads now
    
    Actually declare the global afs_global_owner, in afs_osi.c.
    This allows all symbols to resolve, so that the loader will
    accept the module.  There are still significant issues, though.
    
    Change-Id: I705178cfa152f4ceaf59f008f53c1f62fb92826f
    Reviewed-on: http://gerrit.openafs.org/1527
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit db13984fb2dd2f882be36b7055d89c5e1c992021
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 5 09:49:12 2010 -0500

    Windows: use krb5_get_error_message instead of error_message
    
    krb5_get_error_message() can return more descriptive errors
    based upon the context in which the error occurred by extracting
    the cached error message from the krb5_context.  Since aklog
    has a krb5_context, use that instead of error_message().
    
    Use GetProcAddress to load krb5_get_error_message and
    krb5_free_error_message function pointers because versions
    of KFW prior to 3.2 do not export them.
    
    LICENSE MIT
    
    Change-Id: I12043ec1890bcf0f4d9566f35bb1228e579c49fe
    Reviewed-on: http://gerrit.openafs.org/1520
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d9410aba89c5a257635fa33dbd78db2c0cb32ac8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Mar 6 00:13:06 2010 +0000

    Linux: Make keyring destructor remove all tokens
    
    The keyring destructor on Linux was only destroying the first
    unixuser structure found for the PAG being destroyed. In environments
    where each PAG contains tokens for multiple cells, this led to us
    leaking unixuser structures, and eventually grinding to a hault due
    to the length of the resulting hash chains (and some horrific
    O(n-squared) performance in the PAG statistics code).
    
    Add a utility function for the keyring destruction function to call
    which will mark as deleted all unixuser structures for a particular
    PAG, and use it.
    
    Change-Id: I355465c43cc2cf9d70f613d6f97cd65552260157
    Cc: Eric.Hagberg@morganstanley.com
    Reviewed-on: http://gerrit.openafs.org/1524
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7b0b4dea74e829ce0e36edd87a881a6f11df472
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Mar 6 11:21:06 2010 +0000

    Linux: Fix builds on RHEL4
    
    RHEL4 has a very old 2.6 kernel (2.6.9), which predates the start of
    the Linux git tree. When I started using page_offset, I mistakenly assumed
    that everything in the initial commit to that tree was available in all
    2.6 versions we care about. That isn't the case, sadly.
    
    Secondly, the new readpage code uses zero_user_segments, which has only
    been available in the mainline kernel since 2.6.25 (RHEL5 appears to have
    a backport)
    
    Implement local wrappers for both of these functions when configure can't
    find them in the kernel we're building for.
    
    These functions have been created independently of the Linux tree.
    page_offset is a copy of the code we used before we replaced it.
    zero_user_segments() is a first-principles implementation
    of the function (which zeros a pair of memory ranges within a single page)
    
    FIXES 126678
    
    Change-Id: I622aec4d653567d5234e7a127b981e97468bbe7c
    Reviewed-on: http://gerrit.openafs.org/1525
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80481fb14ea9301b0f6b3503d07ecaef39aef0d8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Mar 5 17:54:42 2010 -0500

    Linux: replace invalidate_inode_pages
    
    This helper has been deprecated for a while, and gets removed
    with 2.6.34.
    Replace it with invalidate_remote_inode, which has been around for
    all of 2.6's life, according to Chaskiel in RT #124377.
    
    Change-Id: I8658b454e1c997c041f654ba55d06f713ea25459
    Reviewed-on: http://gerrit.openafs.org/1523
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4ac68692d7c5db84d9edfaa45c36440e4f98e4d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 5 09:47:43 2010 -0500

    Windows: use krb5_get_error_message to translate krb5 errors in afskfw library
    
    Use krb5_get_error_message to translate krb5 errors to strings
    in the afskfw library.  This provides error translations to afscreds
    and afslogon.dll.
    
    LICENSE MIT
    
    Change-Id: Idd4c15b3719be517a79947f6af52a4bdf50b1155
    Reviewed-on: http://gerrit.openafs.org/1519
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 99875245107ba25c9a43210d8c123be379d7ce8f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 5 09:46:08 2010 -0500

    Windows: use krb5_get_error_message in netidmgr_plugin
    
    Use krb5_get_error_message to translate krb5 error messages
    to strings.
    
    LICENSE MIT
    
    Change-Id: Ia2fd5d655e4b0fa894ce724d4c123d2df433bb32
    Reviewed-on: http://gerrit.openafs.org/1518
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 198096887ba88b4ab6acf3bc5ef79399a16f8152
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Mar 5 09:43:13 2010 -0500

    Windows: Add krb5 error message functions to loadfuncs header
    
    Add krb5_get_error_message and krb5_free_error_message
    to loadfuncs-krb5.h so that they can be used in conjunction
    with LoadFuncs to obtain function pointers when available.
    
    LICENSE MIT
    
    Change-Id: Ice7c2f6384c480570fcec4810bd86f4d0c525227
    Reviewed-on: http://gerrit.openafs.org/1517
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 03d529681c1e3fb2211250f0a75c52832a0712b9
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Mar 4 16:23:36 2010 -0500

    Windows: reset local mount point count during freelance re-initialization
    
    When a re-initialization is taking place, be sure to reset
    cm_noLocalMountPoints to 0 in case someone deletes the "Freelance"
    registry key out from underneath the service.
    
    LICENSE MIT
    
    Change-Id: I2c3edd0d617d8fb7d670036510ca2a22eece0e6d
    Reviewed-on: http://gerrit.openafs.org/1514
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit eaccbc942e6f82f4549dc6c4e5d30d27fe4b0c39
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Mar 5 15:40:55 2010 +0000

    Linux : Don't leak GLOCK when writing CellServDB
    
    Don't leak the GLOCK when we're iterating over the CellServDB in
    response to a read of /proc/fs/openafs/CellServDB
    
    Change-Id: I2ed08b9d7f93c7513b49708d009e8acaa478b5f8
    Reviewed-on: http://gerrit.openafs.org/1522
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e49f42f2830945be940d28f145eab1db1d92d713
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 4 16:07:14 2010 -0500

    add growl agent for macos
    
    a userspace monitoring helper for mac users
    
    Change-Id: If81c0b9d2c7606e81f271465491f0a0eb5db62b3
    Reviewed-on: http://gerrit.openafs.org/1513
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 08aec0182a888f38fa50ca4e1dbd9ed83e022a2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 4 14:16:04 2010 -0500

    darwin afshelper fix startup check
    
    make the launchd check run as root without whining about passwords
    repeatedly
    
    Change-Id: Ib4bac7c9ddf1837a8e86bf17a8a66b6ba1247272
    Reviewed-on: http://gerrit.openafs.org/1511
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ee340811a6f225d1cc81f651530fb9bfc892e916
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 4 12:23:14 2010 -0500

    evalmount copy out volid for sure
    
    make sure we really have a volid and avoid dereferencing tvp
    if there's none
    
    Change-Id: Iec6e7cba4d43e2d9c9af296bd6a1574e290bd118
    Reviewed-on: http://gerrit.openafs.org/1512
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 92428f6f59c872be1e8b57681a984362ef0d58ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 23:14:47 2010 -0500

    macos shutdown consistent behavior
    
    on every other platform, we check for afs unmounted before allowing shutdown.
    do the same here.
    
    Change-Id: Ic8c287be3ae39ad2d2ecb633748813f7f07b16e3
    Reviewed-on: http://gerrit.openafs.org/1507
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5faeff77b0c9f551cd6d36daa2cbc12a41d8508d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 06:53:53 2010 -0500

    add user warning facility via mariner for macos
    
    existing mariner clients treat fetch$ and store$ special and otherwise
    just blat out a string. use this to our advantage
    
    Change-Id: Ib218918abe6038a08af58ea58405b2856ba1da9f
    Reviewed-on: http://gerrit.openafs.org/1505
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 73ea71b2d37443edd0d86b819e0a43ab3cf26df9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 06:42:41 2010 -0500

    support mariner messages sans vcache
    
    if a mariner message is passed in without a vcache, print it as-is
    
    Change-Id: I1791102826db3cde484e0809ba79d54f22220be1
    Reviewed-on: http://gerrit.openafs.org/1504
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c0056a01d70e7fd14de97d9f37c847f2680a0f7a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 06:36:02 2010 -0500

    rewrite marinerlogfetching
    
    marinerlogfetching and marinerlog have a lot of code duplication.
    fix that.
    
    Change-Id: I52624ab8d1a6310c92a580990c45cc9313ea7a1c
    Reviewed-on: http://gerrit.openafs.org/1503
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 958f7a28303175c1b4fcf2605afd0d19918f53fe
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 06:28:52 2010 -0500

    restore mariner storing message
    
    sometime after afs 3.3, the mariner log "storing" message was
    lost in code restructuring. restore it.
    
    Change-Id: I7832718973bf6378e643aea5391a0fd4940b5d3f
    Reviewed-on: http://gerrit.openafs.org/1502
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 73f0f34bd4b5c4335d721238d8072fb8c3eb8fa7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 06:14:19 2010 -0500

    de-printf the cache manager
    
    put most printfs into either afs_warn or comment out entirely
    
    move a couple uprintfs to afs_warnuser (and allow them to trigger on macos)
    
    Change-Id: If67a09287fcfbe44cc76961dd59d2aad3299e887
    Reviewed-on: http://gerrit.openafs.org/1501
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5fae0f0b9afd2396458d3dd9496a90eebd0cc626
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Feb 13 11:31:09 2010 -0500

    Add a section on how to tune the AFS cache using xstat_cm_test
    
    The cache tuning section covers how to use xstat_cm_test to measure
    the cache miss percentage.
    
    LICENSE BSD
    
    Change-Id: I895dbbecd7e16d44e18fa65e5e1aa1da5c567a06
    Reviewed-on: http://gerrit.openafs.org/1308
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 62bb20951e125274b29183f95481e7a519efe791
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Feb 26 17:00:58 2010 -0500

    Remove duplicate make targets in tubik, cleanup dependencies
    
    Eliminate a few duplicate targets in the tubik Makefile, and
    clean up some dependencies that could cause the same source file
    to be compiled by different threads simultaneously when building
    in parallel.  At least on my current gcc this would consistently
    result in a gcc internal error.
    The duplicate targets generate make warnings.
    
    Change-Id: I807debae67c04b00a88ec798b966628e10c5f316
    Reviewed-on: http://gerrit.openafs.org/1506
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f73145a3e4478a32d9a12266888b241a6c5a9dee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 05:59:30 2010 -0500

    darwin vfsops ansification
    
    kill off the old k&r prototypes in osi_vfsops.c
    
    Change-Id: Ifd9bb9bd7f303f0f05f0776bb94222c3b138e808
    Reviewed-on: http://gerrit.openafs.org/1500
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cfa2f3bac1a6c04c026110c2cf2150750eb49ddc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 2 05:54:12 2010 -0500

    afs_util don't use printf
    
    afs_warn and printf are ideally not interchangeable. fix it.
    
    Change-Id: Ib1b064549ef723fcac61e5ad89abe53a8ad76a51
    Reviewed-on: http://gerrit.openafs.org/1499
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ede82a2eb1c8180a117dbe78b3c42959f0efe0ec
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 27 15:30:06 2010 -0500

    BOP_MOVE and userspace move EXDEV helper
    
    turns background daemons into afsdb helper-like processes, which can
    exit and do work. for macos, add BOP_MOVE and implement mv in afsd:
    (macos EXDEV move is cp+rm, literally)
    
    run cp + rm and pass the return back in. if it fails, just give
    the client the error it had already
    
    Change-Id: Ia0d5d49725f6aa28b5c58d0b7c61cc22329a3bc1
    Reviewed-on: http://gerrit.openafs.org/1371
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7b51cb22c56cb7304a9d6c9c9b12eaaa470db49
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Mar 1 20:41:48 2010 +0100

    OSXPreferencePane
    checkAfsStatusForStartup method modification for search /afs volume for determinate if afs is on has been transfered into checkAfsStatus. checkAfsStatusForStartup method is used to check when afs start axitn system startup. Anyway these are only workaround we must use osx api or afs api to make this job.
    
    Change-Id: If9be5a91418eccc0c58a69b566af140d619d3057
    Reviewed-on: http://gerrit.openafs.org/1492
    Reviewed-by: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
    Tested-by: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f0ce809181d19e865817200dab4fb8370bceeb59
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 27 20:09:42 2010 -0500

    macos prefs pane more reliable running indicator
    
    instead of grepping ps output, look for AFS in df output. not
    happy with this either but it's way more reliable.
    
    Change-Id: I73ff53bc1cc24c9484011a870546b6334ff66b49
    Reviewed-on: http://gerrit.openafs.org/1410
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d2645b0ba07148926aeba319f33db048dce66a07
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Feb 28 16:42:22 2010 -0500

    More help for the FBSD build
    
    Remove extra #endif that was introduced in 6c628445.
    
    Change-Id: I8c42bfb15aadacc2b7d5a1d07e70b1181fc2f65c
    Reviewed-on: http://gerrit.openafs.org/1491
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 19eeb297c8eb1df6267cd392e92e4b9afb1827cb
Author: Ben Kaduk <kaduk@mit.edu>
Date:   Sun Feb 28 16:15:05 2010 -0500

    Make build progress farther
    
    Add a prototype for afs_global_owner in the AFS_FBSD50_ENV case.
    
    Change-Id: Ie9104af3e02e08cc46c479ff56f9e09aa3603e74
    Reviewed-on: http://gerrit.openafs.org/1490
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 375fdd4f866398a9d931408d0c40e6e782e291e1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Feb 28 11:08:11 2010 -0500

    Don't pass NULL to strcmp
    
    A recent gcc update gives me a series of warnings from the NULL
    argument to strcmp.  We should be passing an empty string instead
    of a NULL pointer.
    
    I suspect this was unintentional from a search/replace operation
    in commit 8229e668.
    
    Change-Id: I9677d80d32e5bd54ca1b560788a430c8cf40dae9
    Reviewed-on: http://gerrit.openafs.org/1489
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8ade30f3f14cb88151f2f5f47f044831c9ccc0ae
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 27 21:54:47 2010 -0500

    Windows: rx lowlevel nat ping
    
    sha1 d24078658d183ea2e72e61c1888e9900bac0ec32 added support
    for a low-level nat ping using rx version replies.
    
    Export rx_SetConnSecondsUntilNatPing from afsrpc.dll.
    
    Add NatPingInterval registry value to
      HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
    to permit Nat Ping to be enabled.  The default value is 0 seconds.
    
    Change-Id: I5122ea81e1a61934eba3c836632039c76f6c45e3
    Reviewed-on: http://gerrit.openafs.org/1487
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8b898af1b34054d18f8a33b4a9c608614fec15b5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 27 23:00:31 2010 -0500

    magic mount parser fix
    
    parse vnodes from magic mount objects correctly
    
    Change-Id: Id46afa7e6b1fa260d56ce54c8bffe2662b7c447d
    Reviewed-on: http://gerrit.openafs.org/1488
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 42d3d08b2285812ded74856c8e7d8f8253c3cab6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 27 17:48:19 2010 -0500

    macos prefs pane krb5 auth setup
    
    when we configure krb5-at-login, don't inadvertantly reorder the list.
    replace inline.
    
    FIXES 126628
    
    Change-Id: I23de38dadeae6a01d6f97d84e7bb6d9e75e99510
    Reviewed-on: http://gerrit.openafs.org/1408
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d459825b233a55d51e2218f2546e28eb12468316
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 23 19:45:21 2010 -0500

    irix syscall arg fix for rx
    
    rx uses the afs syscall to get network info in userspace. fix things to
    pass a useful set of args in
    
    Change-Id: I541f90d43ff79ba7a026832403d485b7738a53b8
    Reviewed-on: http://gerrit.openafs.org/1379
    Reviewed-by: Chaz Chandler
    Tested-by: Chaz Chandler
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fb79f1265826ae7eee6c70b62e9ef0caf3105958
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 27 11:52:03 2010 -0500

    institute afsdb dns lookup timeout if we can
    
    don't be willing to wait more than about an rx timeout period for afsdb
    retries.
    
    Change-Id: Idca642ff7abe6b9233c7501b0f06fd353567bb04
    Reviewed-on: http://gerrit.openafs.org/1407
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d24078658d183ea2e72e61c1888e9900bac0ec32
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 22:34:28 2010 -0500

    rx lowlevel nat ping
    
    for rfc 4787, do a minimal impact nat ping. this uses an rx
    "version request" reply debug packet, which will simply be discarded by the
    receiver, to keep the port mapping open.
    
    Change-Id: Ic2180bfa5c467e33c72e3f19d62488bd6a2dc61a
    Reviewed-on: http://gerrit.openafs.org/1393
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 23e600ae10db87da1c112b313631fcdbbc89d697
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 11:36:10 2010 -0600

    Convert ObtainSalvageLock to the VLockFile API
    
    Make ObtainSalvageLock use the VLockFile API, to consolidate
    platform-specific locking code, and to make it possible to acquire a
    shared lock on the salvage lock file. Create the ObtainSharedSalvageLock
    function to acquire such a lock.
    
    Change-Id: Ieadd77ac8d4030b31c48fff1c98712a6c95f93ad
    Reviewed-on: http://gerrit.openafs.org/1347
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b6408585b51322600460f0cbdf251a12a2391680
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Feb 26 16:15:37 2010 -0500

    Enable parallel build for tubik
    
    Allow tubik to benefit from parallel make.
    
    Change-Id: If4e7e1a603ef88f03bcc271ec6d742ba3387c61a
    Reviewed-on: http://gerrit.openafs.org/1402
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 00d56c519be35f690e4cf26eddc8143304d38bdd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 00:57:23 2010 -0500

    background daemon genericization
    
    previously only "just enough" of the background daemon request object was
    exposed. expose the rest of the generic pointers
    
    Change-Id: Ifcadf53675598bc102208700ff34a768474174ec
    Reviewed-on: http://gerrit.openafs.org/1384
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5b12214cef06758fee19a6e7afc4e461e7303574
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 00:59:16 2010 -0500

    hush another afsd warning
    
    we can't prototype call_syscall fully yet, but at least hush some warnings
    
    Change-Id: I4e5f77037700f82ebfa87bd4fee4f52a59e3479a
    Reviewed-on: http://gerrit.openafs.org/1385
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3d81e4c1f00735e5a8b0f4217f80e84a96ba91bf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 25 16:58:31 2010 -0500

    darwin vnops code cleanup
    
    simplify ifdef structure by moving code around. remove dead code
    and nonsensical code (darwin80 inside !darwin80)
    
    no actual code changes here
    
    Change-Id: Ifa7a5afa3bff731d73e7b4a5ee861c2cb48b71a3
    Reviewed-on: http://gerrit.openafs.org/1382
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 518b3abb737fd02245c4400491388d15f5cb9e1f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 00:30:28 2010 -0500

    darwin afscall syscall should set retval
    
    because of how the ioctl based syscall works, passing back a real
    return value should be done this way, as it is for the other other
    afs syscall subcalls. matters for userspace handlers.
    
    Change-Id: I894b4bd633ce4823b1ce906861251fcbb3949af2
    Reviewed-on: http://gerrit.openafs.org/1381
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 93e9964039a1b627f991e796495be49ea0b6fdb1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 25 16:52:02 2010 -0500

    macos bulkstat cleanup after racing stats
    
    if someone else stats it before we finish, make sure we clean up after
    ourselves properly
    
    Change-Id: I4a7257a403cccb02a114c60f5bb340dba6bb16cb
    Reviewed-on: http://gerrit.openafs.org/1399
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 726e1e13ff93e2cc1ac21964dc8d906869e64406
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Feb 24 12:02:08 2010 +0100

    Do not leak information on partial success in RXAFS_InlineBulkStatus
    
    Initialize all RXAFS_InlineBulkStatus return parameters in case portions
    remain unset on FetchStatus failures. Also ensure VolSync info is set even if
    the first FetchStatus fails.
    
    Change-Id: I8c502d25ef1362675fed2871dbd8c3c4e76af55b
    Reviewed-on: http://gerrit.openafs.org/1396
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 70c975728382557669d6f76b1b465efc54c3e216
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 00:41:48 2010 -0500

    correct magic vnode volumename parsing
    
    if /afs/.:mount/cell:volume:vnode is passed in, don't pass the :vnode
    into the volume id lookup
    
    Change-Id: If877b467cd37f06dcb090c34560bf76f8e4b0d10
    Reviewed-on: http://gerrit.openafs.org/1383
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d1923139e6d0fbe00dcde483810e56abef8bf66b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 00:19:20 2010 -0500

    irix kill efs and start pruning pre-65
    
    we haven't built on irix 6.4 in a while. likewise, no efs anymore.
    
    just remove the extra code
    
    Change-Id: I559f4bca5bf52f9a0344472ccf60b93751282a2b
    Reviewed-on: http://gerrit.openafs.org/1380
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 14ff060627f5c4b64121f9f7978966bc53486e18
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 23 23:57:14 2010 -0500

    irix cachemgr inode abstraction correction
    
    if the XFS function takes a dcache_id_t, pass that and not its child
    
    Change-Id: Ic68ae440be0df05320fe0a0b24e2ffa8e4de45b9
    Reviewed-on: http://gerrit.openafs.org/1378
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8940eb9dcf79e803449eb437d1f7076ceddba021
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 16:02:26 2010 -0500

    freebsd initglock endif fix
    
    when initglock hit freebsd it was broken. fix it. make it obvious that such is
    being done
    
    Change-Id: Iac716302061be91a43f168c9a1fe56cdbbb4227d
    Reviewed-on: http://gerrit.openafs.org/1391
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 142883cae8de203822c8be4f975e691b57be2834
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 24 11:13:23 2010 -0500

    remove dropbox attribute leak fix
    
    change 6ec18461649d3e4f44b2476f886bcc480c456500, avoid leaking stat info,
    appears to have side effects on at least macos, crashing the system
    coreservicesd. revoke the change until the exact behavior we want is
    better understood.
    
    Change-Id: I2a270750f9cef5ac6ecf1144d86988f030f78efe
    Reviewed-on: http://gerrit.openafs.org/1388
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7f4a67b8f0e91f013c840fe15b9cd0e0fb672d36
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 11:52:33 2010 -0600

    Make VLockFile not DAFS-specific
    
    The VLockFile API does not require DAFS functionality, so make it
    available to non-DAFS code, as well.
    
    Change-Id: I3d9bebb5d4034f0af739ccee37f64e2254be38cb
    Reviewed-on: http://gerrit.openafs.org/1346
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c43625d91bc104759666629e5a78dff7f74a14fd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 14:41:24 2010 -0600

    VLockFile: init fd to INVALID_FD, not zero
    
    Zero is a valid file descriptor; initialize lockfile fd to INVALID_FD
    instead, so we know it's invalid.
    
    Change-Id: Iacb549ec4ed821763d20cb0e4f25882b4151bf3a
    Reviewed-on: http://gerrit.openafs.org/1345
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cbf5f6341c389b0ae85f797ee7c73ba430a8b8f1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 18 11:42:27 2010 -0600

    VLockFile: Do not close fd on lock failure
    
    When we fail to acquire a lock in _VLockFd, do not close the fd if we
    fail to acquire the lock for any reason, since VLockFile does that for
    us already. There also may be other locks on that file, and we clearly
    do not want to release them when just one lock fails. VLockFile takes
    care of the necessary refcounting and fd closing, so don't do it in
    _VLockFd too.
    
    Change-Id: I65f27837dad033e0e84faf4aa0fb71ff26feda83
    Reviewed-on: http://gerrit.openafs.org/1344
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c5e5790661cebdf2b45c7218d238bf18af01f99c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 15 16:12:44 2010 -0500

    viced avoid global pruclient during acl ops
    
    acl_Internalize and acl_Externalize used the global pruclient
    
    use the ones we use elsewhere in viced FetchAcl/StoreAcl also
    
    Change-Id: Ia2b8d29035ed48a6aab8c9df243c9082bfacd201
    Reviewed-on: http://gerrit.openafs.org/1314
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c7c742afa07d3056b153fbe2529d709804532f03
Author: Chaz Chandler <clc31@inbox.com>
Date:   Tue Feb 23 17:20:39 2010 -0500

    add limits.h to sysincludes.h on IRIX
    
    xdr_mem.c wasn't including limits.h on IRIX when KERNEL was declared, so i
    INT_MAX was undefined.  this adds limits.h to sysincludes.h so it's included
    for all other places where it might be needed.
    
    Change-Id: I718f5bf4dc5d82e2ce74ecc30ab3bf5492b82e29
    Reviewed-on: http://gerrit.openafs.org/1377
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 91e50aa81bdeecbdf351088b3b5510fe3c8e848e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Feb 20 13:36:22 2010 -0500

    Linux: autoconf.h is moving in 2.6.33
    
    In 2.6.33, <linux/autoconf.h> is moving to <generated/autoconf.h>.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Change-Id: Ib97031728b89cf8e17581f3c425216ae4b5538ec
    Reviewed-on: http://gerrit.openafs.org/1351
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 660c7a3952f36fc892e12aa6b11eda3295b1416d
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Feb 20 13:28:59 2010 -0500

    Linux: Use kbuild to check for UML
    
    <linux/autoconf.h> is automatically included by kbuild; you aren’t
    supposed to include it directly.  That breaks in 2.6.33 because
    <linux/autoconf.h> is moving to <generated/autoconf.h>.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Change-Id: I56c90dfe90ef72408620793fcd4e927ea3d8f468
    Reviewed-on: http://gerrit.openafs.org/1350
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 99e704c791bbedd9aa3fc1a0feb9493b0eaefd7d
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Feb 20 20:52:06 2010 -0500

    Adjust afs_lockctl to compensate for byte-range lock fixes
    
    As of commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9, l_len is no
    longer 1 less than it should be.  Update afs_lockctl to expect this.
    
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Change-Id: I3fb7665457d489e56564b14933795084a0958d6f
    Reviewed-on: http://gerrit.openafs.org/1353
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d3abbebcb0651c5d2c7a3094270fd4f86bea3c1e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Sat Feb 20 20:28:42 2010 -0500

    Linux: Fix conversion of whole-file locks
    
    An overflow bug in commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9
    caused whole-file locks to be treated as byte-range locks, which fail
    to be propagated to other machines.
    
    Fix this by setting l_len = 0 for locks that range to the end of the
    file.
    
    FIXES 126561
    
    Change-Id: Ie2dc9d04f33559c73b3b86b64152c549b785f8ad
    Signed-off-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-on: http://gerrit.openafs.org/1352
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2cd1335257f069d534603c755fa18c4ee2cb4b5e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jan 27 15:08:34 2010 -0600

    Abstract /vicepX header traversal
    
    The code for examining all of the headers on a vice partition now exists
    in two places: the VGC scanner, and the salvager. Create the
    VWalkVolumeHeaders function that contains the common logic so it's in
    one place, and take a couple of function callbacks for the differences.
    
    Change-Id: I12c71b3344ffbd0b22ddf5418f9ff0509734f42b
    Reviewed-on: http://gerrit.openafs.org/1264
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit eb7d90fd0db68ea49ec1820adda599b5922c7de2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 15 16:22:56 2010 -0600

    Allow GetSomeSpace_r to select an optimal host
    
    Previously GetSomeSpace_r would never find an 'ideal' host for which to
    clear callbacks, since lih0_r and lih1_r required a non-NULL rock to do
    anything. Remove the requirement for the passed-in host rock to be
    non-NULL, and make lih*_r more threadsafe, by passing in a parameter
    struct for the rock.
    
    Also attempt to make the GSS_r code a bit more clear with some
    descriptive variable names and such.
    
    FIXES 126451
    
    Change-Id: Id754f4fa4b830896c5b03fc7ba0906950991a3b7
    Reviewed-on: http://gerrit.openafs.org/1317
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 380bd77c328d8d83a007cd97f6564fcb5b990a73
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Feb 16 11:08:38 2010 -0600

    h_TossStuff_r: make sure host does not go away
    
    When h_TossStuff_r h_NBLock_r's a host, it is not only possible for
    someone else to grab a hold on the host, but in theory it's also
    possible for someone to hold a host, release it, and for the host to be
    deleted again (assuming some callers hold HOSTDELETED hosts, which they
    should not be doing).
    
    To make this safety check a bit more robust, hold the host in
    h_TossStuff_r before h_NBLock_r'ing, to ensure that it does not go away
    while we're waiting for H_LOCK.
    
    Change-Id: I018a611143d6dccba79cc627803cce74aa830c77
    Reviewed-on: http://gerrit.openafs.org/1330
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1e731a22ae954900af036d1ade014a07418ae4ea
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 22 13:58:58 2010 -0500

    analyze warning fix
    
    initialize variable. warnings caught this in the other compiler
    
    Change-Id: Iae2ae5c1aefe29603bbf5d9952f65b0119f4db9b
    Reviewed-on: http://gerrit.openafs.org/1363
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1e744d5e56106093924869924fffde3a9093d140
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 22 11:56:07 2010 -0600

    Prevent deadlock if fs_stateSave panics
    
    fs_stateSave can call ShutDownAndCore(PANIC) if it detects host list
    corruption. Right now this will deadlock the shutdown thread, since
    we're still holding a read lock on the FS state when we do so, and
    ShutDownAndCore will attempt to acquire a write lock. Do two things to
    make this a bit better:
    
     -- Unlock the FS state before calling fs_stateSave, sine we're no
     longer looking at the FS state (the 'state' in fs_stateSave refers to
     the host list and callback lists, not the state locked by
     FS_STATE_*LOCK)
    
     -- If ShutDownAndCore detects that it was called inside of
     ShutDownAndCore, skip shutting down the volume and host packages, since
     they have already been shut down
    
    Change-Id: I24a994ff85a6d866a5800b777c0cf5ab2ba466e4
    Reviewed-on: http://gerrit.openafs.org/1362
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b8c3c6add90ea3face9a16ff04a1024be3d8f32d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 12 17:44:31 2010 -0600

    Check for HOSTDELETED before h_Hold_r
    
    A few places h_Hold_r a host and later drop and reacquire H_LOCK without
    checking if the hostFlags contains HOSTDELETED. This can cause a race
    with h_TossStuff_r where we later reference a host that is about to be
    freed or already has been freed.
    
    Add checks for HOSTDELETED in these places, and skip over the deleted
    hosts.
    
    FIXES 126454
    
    Change-Id: I5a61831f5afdbc908b82e4cf63cf14a34a36e275
    Reviewed-on: http://gerrit.openafs.org/1305
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4dfbbd34ce66c09593a0b1a88831ec0f36848fe8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Feb 12 16:30:44 2010 -0600

    Correct the h_Enumerate_r hostList safety check
    
    Ide1e5aca7c2c4a4af3f62bc07821db694f2f9999 added safety checks for a few
    traversals through hostList, including the traversal in h_Enumerate_r.
    Unfortunately, h_Enumerate_r may not hold H_LOCK over its entire
    traversal (h_Release_r can drop and reacquire it), so the value of
    hostCount is not guaranteed to stay the same.
    
    A host may be deleted during the loop, or right near the end, decreasing
    hostCount to below our current running 'count' of hosts, triggering the
    panic unnecessarily.
    
    Also, we break out of the loop if the H_ENUMERATE_ISSET_BAIL test
    succeeds, making the panic also incorrectly trigger then.
    
    So instead, remember the value of hostCount, and ensure that we've
    actually exceeded that count in the post-loop check.
    
    Change-Id: I7c13bbf111b592df6860e5852807fa463c3ebd7e
    Reviewed-on: http://gerrit.openafs.org/1304
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 45aceee9842265fb0ccdb5e8f3f6d32c8d2b99ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 15 10:55:33 2010 -0600

    h_TossStuff_r: check held-ness after lock
    
    h_TossStuff_r checks if a host is held or locked by another thread
    before trying to delete the host. Unfortunately, it checks if it is
    locked before checking if it is held, and the lock check drops H_LOCK.
    Thus, another thread could hold the host while we don't have H_LOCK, and
    we could delete a host that is being held.
    
    Although it is a bug if any thread holds a host that is being deleted,
    some instances of this still exist, so make the check more robust.
    Reverse the order of the tests, so we detect if someone held the host
    while the lock check dropped H_LOCK.
    
    Also log when this happens, as it indicates a bug occurring.
    
    FIXES 126454
    
    Change-Id: I8fa972c430e63fc46ca4fadcc3429173ac91a947
    Reviewed-on: http://gerrit.openafs.org/1312
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 48908e2a932420fe67fe1065d55f7e458b5cd1c2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 22 12:15:15 2010 -0500

    analyze paranoia
    
    don't pass a null pointer to FindVolume in case one shows up
    
    Change-Id: I76258d8f8ca18c536e3faa776df3e06005fe2bc2
    Reviewed-on: http://gerrit.openafs.org/1360
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01f42cad663cc860e451f694f973ca46f03289ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Feb 21 17:15:26 2010 -0500

    idledead client dont interrupt writes
    
    allowing failover is nonsensical, there's nothing to fail to. keep trying to
    write. if we want to change this, we need to handle it better than just this.
    
    Change-Id: Ibed4c63182f44ed9e659895e4868b4192d004688
    Reviewed-on: http://gerrit.openafs.org/1355
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa8601f9c579746d7247bdbe159fbd3affe8e3de
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Fri Feb 19 10:26:57 2010 +0100

    Init ih_synced for new ihandle
    
    One small step towards a valgrind-tolerant universe: ih_synced
    indicates that an inode should be synced which better be deterministic.
    
    Change-Id: Id6a09a07c6f90c59445b82fdceeba3c905cbae7e
    Reviewed-on: http://gerrit.openafs.org/1343
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ae0e8fc066c6046052d82bf4df2800faccdd3fb2
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Feb 18 21:20:20 2010 -0500

    Avoid dprintf conflict
    
    Rename dprintf to afs_dprintf to avoid potential conflict with
    system headers on some platforms.
    
    Change-Id: I2aef6a55c00ddf8a312531cc1203b3baaca4cd73
    Reviewed-on: http://gerrit.openafs.org/1342
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a9951410e1cb1a713f9d26a24d6b3cf485f94ac6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Feb 18 23:09:40 2010 +0000

    Linux: bdi doesn't always have a name
    
    The 'name' element of the backing_dev_info structure is new in
    2.6.32 - add yet another configure test, and #ifdef to protect our
    setting of it.
    
    Change-Id: I0a3e411e571e05771619381bf621d299482c695b
    Reviewed-on: http://gerrit.openafs.org/1341
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1b4f1648e925dab43cbad53c31d56be355de233a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 17 13:46:23 2010 +0000

    Unix: Fix objdir builds
    
    Make some changes to the Unix build system so that object directory
    builds work again. In particular, change the way that we call
    xcodebuild on Darwin, so that source and binary can live in different
    places.
    
    Change-Id: Ib2ab6182deaf7f344603cb5618707d3f212a5b86
    Reviewed-on: http://gerrit.openafs.org/1339
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 84167a86d407165a7b7007431f6cd0f95e7420d5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 00:45:19 2010 +0000

    Add xdrmem and xdrlen to shlib builds
    
    Another day, another set of forgotten build objects ...
    
    Change-Id: I1e449e0c71bd60ca4605cd5d0770f596fc2ac64f
    Reviewed-on: http://gerrit.openafs.org/1338
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d750c28ac23535524c9406ead4fa479451ff0e12
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 17 12:05:53 2010 -0600

    Add support for amd64_obsd46
    
    Change-Id: I41a9ad46cac3af1e02c64683e893c9547598e867
    Reviewed-on: http://gerrit.openafs.org/1337
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1e53da39f57777792eb9431a6c553db3e1f6b96c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Feb 17 12:56:51 2010 -0600

    Include stdint.h when using intptr_t
    
    Some platforms such as OpenBSD require including stdint.h before you can
    use intptr_t. So, include stdint.h (if it is available) whenever we use
    intptr_t.
    
    Change-Id: I6da005755752e8d52f62e78d15103b19a951e50a
    Reviewed-on: http://gerrit.openafs.org/1336
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 62016280224d6532f0807e9637b3c38cf025c7fe
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 17 13:26:43 2010 -0500

    kill macos prior to panther
    
    we haven't had a 10.2 machine to build on in quite a while...
    
    might as well pull it, it probably doesn't work anymore
    
    Change-Id: Iad809e83dadb0e7fa8c61b3f37f574a571042fc8
    Reviewed-on: http://gerrit.openafs.org/1335
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f96ca93b733ef27cd8a58fcc7462ce4a2f4b2f4a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 2 13:37:27 2009 -0600

    salvager: avoid needing temp files to stay around
    
    The salvager makes use of a couple of temporary files to store some
    information while doing a salvage. Instead of referring to these files
    by path name everywhere, pass around file handles instead. That way we
    can unlink the files immediately, and they will be deleted on close.
    This removes one of the roadblocks to allowing multiple salvages on the
    same partition to occur at once (since otherwise other salvagers would
    remove the temporary files on startup), and also makes it much less
    likely that old temporary files will be left lying around in the first
    place.
    
    Change-Id: Idfc696c2c75e21db717c720bd950af6e2766b9aa
    Reviewed-on: http://gerrit.openafs.org/1263
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 60e8dcb4e66c6edc90a0448221b7d1818bd5cafb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 4 16:47:19 2010 -0600

    DAFS: Maintain viced volume group hierarchy cache
    
    When salvaging a volume (with DAFS or not), it is required to read the
    volume headers of all volumes on the partition, so we know what volumes
    are in the same volume group as the salvaged volume. Currently with
    DAFS, this requirement can make demand-salvages very slow, since each
    demand-salvage must read each volume header on the partition.
    
    So, instead of having each demand-salvage read the volume headers
    itself, have a demand-salvage request the required volume group
    hierarchy information from the fileserver. The fileserver will scan the
    partition's volume headers, and will keep the hierarchy cached in
    memory. Any modifications to this hierarchy from volume
    creation/deletion will update this volume group cache (VGC) via FSSYNC
    commands.
    
    This results in a dramatic salvaging speedup when many demand-salvages
    are requested, and eliminates the cases where DAFS salvaging can be
    significantly slower than non-DAFS salvaging.
    
    FIXES 124488
    
    Change-Id: Ie9ae655593ad8a90ca6ad8f63e6b6e799f283988
    Reviewed-on: http://gerrit.openafs.org/880
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ab32b23806b840a67e9423865d594992b41a0602
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 4 16:08:48 2010 -0600

    Add a general file-level locking API
    
    Add an API for acquiring and releasing file-level locks. This abstracts
    away the platform-specific aspects of file locking, and also makes the
    locking work when several threads attempt to acquire a lock within the
    same process.
    
    This commit just adds the functions and datatypes; nothing actually uses
    them. The users will be added in (hopefully nearby) future commits.
    
    Change-Id: I6bffb6a7dd47ffb5c8a9942b16cd5ef6bc7eb62e
    Reviewed-on: http://gerrit.openafs.org/1237
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8f1e1199a2ef65ac0c5f00dcb30aeb8114c95551
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 16 13:10:09 2010 -0500

    linux bdi allocate memory
    
    allocate bdi with osi_Alloc (and free with osi_Free)
    seems to fix an oops
    
    FIXES 126514
    
    Change-Id: I667391710c5fd2b6712117471247f1cd7c20aa9b
    Reviewed-on: http://gerrit.openafs.org/1332
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 86acebb1233b82e82fbb5b0d7106ff13864a9111
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 13 01:14:07 2010 +0000

    aklog: Refactor token management operations
    
    Pull the token management operations (get, set and compare tokens) out
    into their own functions. Again, this is purely a refactoring exercise -
    no behaviour changes are anticipated as a result of this change.
    
    Change-Id: I9c64a319fcaa2edeb492c7822f9bae64c91cc20c
    Reviewed-on: http://gerrit.openafs.org/1326
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 725f0a63a36545fa9a6dae50362a936fd4b77ab2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 23:38:09 2010 +0000

    aklog: Refactor token acquisition code
    
    This change refactors all of the rxkad specific token acquisition code
    out of the common auth_cell loop, and into a number of functions of its
    own. There should be no functional changes.
    
    Change-Id: I61314588ba4db6b85db03314d4524322f74c9230
    Reviewed-on: http://gerrit.openafs.org/1325
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 267ccb986c850b2a8f4431fa210b6c7f1c09021b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 11:54:17 2010 +0000

    aklog: Use a function to print debug statements
    
    aklog was scattered with things like
        if (dflag) {
            printf("Oh no, the world is ending\n");
        }
    
    Simplify these by adding a dprintf() function, which only prints its
    arguments if dflag is defined. Use this throughout the code.
    
    Change-Id: I673942e9ea6a8b96ea9d11a608cfaeaf00098b88
    Reviewed-on: http://gerrit.openafs.org/1324
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7cdc89edca112870f5e9dcb27cbb4cd5551ae7a4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 17 14:01:14 2010 +0000

    aklog: Actually use new get_realm_from_cred fn
    
    An earlier patch added the new get_realm_from_cred function,
    but failed to update the callsite to use it. Fix that.
    
    Change-Id: I9e9d7545b20df041400d140e80c7f018b033043e
    Reviewed-on: http://gerrit.openafs.org/1334
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f7b5d7153cbac34b9411728c1c53d9c0064f5857
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 11:13:16 2010 +0000

    aklog: Tidy realm handling
    
    Assorted small changes to the way realms are handled by aklog:
      * Remove static buffers when realms are passed between functions
      * Add cleanup for all dynamically allocated strings to auth_to_cell
      * Create an extract_realm helper function to handle extracting realm
        information from principals.
      * Add a function to handle extracting realm information from decoded
        tickets
    
    Change-Id: I320389033f4862d30774b40103e536fd5bac841b
    Reviewed-on: http://gerrit.openafs.org/1323
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f8c6bfffd3a32f41d24a171026b985974a5cc7b3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 10:29:00 2010 +0000

    aklog: Dispose of the pointless confname string
    
    confname makes a static copy of the AFSDIR_CLIENT_ETC_DIRPATH string. As
    pr_Initialize takes it as const, there's no need to maintain our own
    copy, and so this is superfluous. Remove it.
    
    Change-Id: I64b13aae80b15f6b7511a040f39467bca76186b8
    Reviewed-on: http://gerrit.openafs.org/1322
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 60ea6a23ab98698351de4b0592dd5df2ac8eebc0
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 10:19:26 2010 +0000

    aklog: Clean up cell handling
    
    Clean up the aklog get_cellconfig routine, so that it is no longer
    reliant upon global variables.
      * Tidy the handling of local_cell, and use dynamically allocated,
        rather than fixed length buffers.
      * Use the cell name contained within the afsconf_cell structure,
        rather than a local copy
      * Access linked cell information from afsconf_cell, rather than
        explicitly returning it
      * Don't use globals for linkedcell
    
    Change-Id: I6ad42c70dcac7f285997be7c95a77dc67bf63679
    Reviewed-on: http://gerrit.openafs.org/1321
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 05d667e59bbf5e32efa08d5dd7156db20a56f9d9
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 12 09:48:44 2010 +0000

    aklog: Cosmetic cleanup
    
    Fix indentation so that code lines up correctly,
    Fix function declarations so they match the house style.
    Remove some dead code and comments
    Move comment blocks so they're above the code that they're describing.
    Remove unused 'lastcell' string
    
    Change-Id: Ief924675384e28885e4b7b88c4d5932279c9b26e
    Reviewed-on: http://gerrit.openafs.org/1320
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 481098e04c686c351fee02221fbe6d890dc1a767
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 7 21:51:55 2010 +0100

    Unix CM: Tidy up the statistics interface
    
    Sort out the function call statistics interface. Whilst it's still
    wretched, this makes it a little less so.
    *) Add some warnings at the start of the afs_CMStats structure about
       what needs to be done when adding things there
    *) Remove the conditionals around the CacheBypass counters, so that stats
       clients don't need to be built with the same options as servers
    *) Add all of the stats entries added after IBM to the xstat_cm_test
       routine
    *) Add a warning to xstat_cm_test if the data returned from the server
       differs in size to the local stats structure.
    
    Change-Id: If1ffb68c84bca972f685ae619febba8c6f8b5e17
    Reviewed-on: http://gerrit.openafs.org/1319
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa2536c02cf26f7db30bf623e95f42be88138d14
Author: Jason Rogers <jrogers@sinenomine.net>
Date:   Mon Feb 15 17:19:12 2010 -0600

    prdb_verify -rebuild with supergroups fix
    
    This change eliminates the redundant iteration over the
    supergroup[] array in DumpRecreate. By iterating over both
    this array and entries[], duplicate au lines are created
    and the count variable becomes incorrect. Furthermore,
    the au lines created in the supergroups[] section were
    incorrectly in the form of au <group> <member> instead
    of au <member> <group>.
    
    FIXES 126500
    
    Change-Id: I087772b63934406273f153f4b8a581d965f1e4d5
    Reviewed-on: http://gerrit.openafs.org/1316
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Tested-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4bc04a79e75ffa5ad852dfb475bfcb3b263b4e57
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 12 16:46:33 2010 -0500

    macos bulkstat support
    
    add KPI-based bulkstat support for macos
    
    Change-Id: I6d9afa968db5930d392a6298dc5094f3cb500a1b
    Reviewed-on: http://gerrit.openafs.org/1303
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a0c8c3da0d059df7bc0c6fad98ad55e7cc2f9aed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 15 23:51:52 2010 -0500

    xdrmem for ukernel
    
    fix up the build for ukernel when warnings are enabled
    
    Change-Id: I2520f77e043f2e75297ef66a4c44b6e456d30892
    Reviewed-on: http://gerrit.openafs.org/1329
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 000c665881f8941d62d236550727f886298e54e2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 00:45:19 2010 +0000

    Unix CM: Add xdrmem and xdrlen to kernel builds
    
    Add the new xdrmem and xdrlen XDR sources to kernel space. Make some
    changes to the xdrmem header file to permit it to build in kernel space.
    
    Change-Id: I2ab32f67287df28d4ffded651d3d49d1211dd40e
    Reviewed-on: http://gerrit.openafs.org/1328
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8cf4b945b93bfb7ba09a73fcec32a898efbc3ee2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sun Feb 14 00:38:47 2010 +0000

    Add xdrlen and xdrmem to pthread build
    
    Add xdrlen and xdrmem to libafsrpc, so they're available to pthreaded
    binaries.
    
    Change-Id: I55ed54a3fb87865d286bf2019858afb037c967ea
    Reviewed-on: http://gerrit.openafs.org/1327
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 06f6dc8dc70c0c9cdd875896eadf158b88a429ac
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 6 14:20:34 2010 +0100

    Remove the old new token interface
    
    ktc.c has had for a long, long time a 'new' token interface, which
    was only enabled if KERNEL_KTC_COMPAT is set. However, this is never
    defined in our tree, relies on a syscall that just won't work on
    platforms such as Linux, and won't support any of the new token
    formats we're planning. So, just remove this interface from our
    code - it's in version control should we want to revisit it in the
    future.
    
    Change-Id: Iab3dd04498799f061449a50bdac39c6407a9fdd7
    Reviewed-on: http://gerrit.openafs.org/1318
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 79ad82ccde98391ba59dc1234c10def78520b680
Author: Adam Megacz <adam@megacz.com>
Date:   Sun Feb 14 17:30:42 2010 -0800

    Have bosserver catch SIGTERM and shut down gracefully.
    
    Many modern process supervision systems (runsv, daemontools, sysvinit)
    expect to be able to terminate a process gracefully by sending it a
    SIGTERM; although SIGQUIT is nominally used for this purpose it seems
    to have fallen into disuse as a matter of practice.  Therefore, to
    integrate as smoothly as possible with the outside world, bosserver
    should catch SIGTERM and interpret it as a request to shut down
    gracefully.
    
    When used with process supervision (runsv or daemontools), the
    previous behavior would cause bosserver to die but leave its children
    running, and then bosserver would get restarted by the supervisor.
    The result is a situation where there would be two copies of every
    bnode process.  Mayhem ensues.
    
    Change-Id: I8690fba0af6c2b9f9613527254af915be9e76dfc
    Reviewed-on: http://gerrit.openafs.org/1310
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8ea6c727aa60dc60d5bc18a476f673554aaffff5
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Feb 13 09:16:22 2010 -0500

    Some minor rewording and grammatical tweaks of the CellAlias man page
    
    Added some text that the CellAlias file is only used on Unix.
    
    LICENSE BSD
    
    Change-Id: I913d6a0774240ffc16cf92cfa92c4b2d06f41fd6
    Reviewed-on: http://gerrit.openafs.org/1307
    Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c892043b9545ce6c87a062546b9cdab48f32186e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 12 16:37:19 2010 -0500

    add bulk newvcache method
    
    let NewVCache return a vcache which is already configured for bulkfetching
    takes the bulkstatus "sequence number" and sets the flags and length
    
    Change-Id: Ife67c3deccda2ceefb4a0f1c98a837a3b6401cd2
    Reviewed-on: http://gerrit.openafs.org/1302
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9a2741d001d89e7e828b547a05e9d89cd59733b0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Feb 12 19:23:52 2010 -0500

    Initialize variable that can potentially be used uninitialized
    
    Some compiler versions complain that "code" might be used uninitialized
    here.  If opening the configuration files fails, conf would be null
    and the condition would indeed test an uninitialized variable.
    
    Change-Id: I1d4da49a5afc94ac6617201110be84a0e5548f38
    Reviewed-on: http://gerrit.openafs.org/1306
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 029b470e673ecc2d4448aa6a46fd10b6d8de4e7e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 12 16:16:56 2010 -0500

    darwin vn hold dead code removal
    
    pull out the unused code which tries to cope with a failed vnode hold.
    if we become able to do so, we can do so later
    
    Change-Id: Ib53f469feaba4c6ec6b15730315e87e75f8f9eb8
    Reviewed-on: http://gerrit.openafs.org/1301
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e78f6f33b53798e4c742641746d3df9e7435eeff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 10 15:57:48 2010 -0500

    irix stdarg printing
    
    use icmn_err facility to print error (and panic for osi_Panic)
    note that solaris vcmn_err is basically the same, but there
    may be issues per some commenters.
    
    Change-Id: I56e825e16d69a232a2cdc5108071a00858ecf45c
    Reviewed-on: http://gerrit.openafs.org/1287
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 769be238b07897e94e77fa9b7743a53d8f887535
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 4 13:00:47 2010 -0600

    Document FSSYNC commands
    
    Provide some explanation for the various FSSYNC commands, and what they
    are there for.
    
    Change-Id: I572300b66cc8b6a1b0f2aa185edd198c237f7225
    Reviewed-on: http://gerrit.openafs.org/1236
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 344ba58a0785dff50dba8d232895ff7399abb92e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 12 00:07:02 2010 -0500

    irix test kernel cleanup
    
    add missing paren for irix test kernel case
    
    Change-Id: I1374cac568f5632c3bc29f492a47ea665abb9ef7
    Reviewed-on: http://gerrit.openafs.org/1300
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 135c5668f9197aae6d29b1575e76323dd147f521
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Feb 11 21:45:40 2010 -0500

    Windows: Prevent explorer shell extension from crashing if symbolic link add fails
    
    The explorer shell extension was passing the wrong parameters to
    the MessageBox API when a symbolic link add failed.   The end result
    was stack corruption.
    
    FIXES 126406
    
    Change-Id: I59b8b71d947525adccbd817cd5b6d4de5bf082b7
    Reviewed-on: http://gerrit.openafs.org/1298
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3b15ac44990095a694e5f9707c5de5619fdf22d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 11 00:30:54 2010 -0500

    remove erroneous disabling of darwin rx event scheduling hook
    
    the hook added to force reschedule to be noticed was disabled in the
    course of testing. re-enable it.
    
    Change-Id: Id9018b66c9adfc39709b3739510987402dc1fb18
    Reviewed-on: http://gerrit.openafs.org/1294
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 23848b4b742e13b8630f8ff25f5ed63094e6d01d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 10 23:57:57 2010 -0500

    Windows: 1.5.72
    
    Change-Id: Ifef2538d2020e9ecb17bc1ac7176c99f2651a96a
    Reviewed-on: http://gerrit.openafs.org/1292
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 70052370b7d7d87da9474bc02bfb8f6d330a3824
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 10 23:41:58 2010 -0500

    make unix 1.5.72
    
    update version for next release
    
    Change-Id: Idb0eeac9e5883f99ba787a41ab38081fcdabd855
    Reviewed-on: http://gerrit.openafs.org/1291
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b5cf121d6bfa5d8539354ca455c2de68534c598f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 10 22:12:04 2010 -0500

    set minimum darwin kernel rx sleep
    
    never be willing to sleep less than 500ms. additional tweaks to the
    rx scheduler may be needed however before we always slept for 500; now
    we'll sleep longer if no events are pending (but not forever)
    
    Change-Id: I7fdb02dd7a383131fffcfae532d71c8fbeb97545
    Reviewed-on: http://gerrit.openafs.org/1290
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bcdb5220e2db2bf0cd22c6316682046425048d87
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Feb 9 19:53:40 2010 +0000

    Linux: Use current_creds() if stashed creds fail
    
    If we can't use our stashed credentials (because SELinux hates us,
    most likely), then fall back to trying the processes current credentials
    instead of just oopsing.
    
    Change-Id: Ib3676ff66f8400e86cccb97fb207a5f094ceb4ad
    Reviewed-on: http://gerrit.openafs.org/1283
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 762c8b41edf3bec9dc4dfc7ec972af3a432b2b1a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Feb 10 16:45:33 2010 -0500

    Remove warnings in src/ptserver/ptclient.c
    
    1. Signed vs unsigned warnings.
    
    2. Casting of struct prentry * to struct prdebugentry * for
    ubik_PR_DumpEntry call.
    
    3. Casting of char * to struct in_addr *.
    
    4. ANSIfication of PrintHelp() and skip().
    
    5. Inclusion of ptuser.h to avoid missing prototypes.
    
    Change-Id: I7d4c10c5df784c1b9fecc83e21d92bdc0b7ca0ae
    Reviewed-on: http://gerrit.openafs.org/1288
    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>

commit 734bb14468cb071e22b45895e7bad21dda70fb2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 10 13:52:43 2010 -0500

    tweak osi_Panic until all platforms can grok stdarg
    
    for now, just move it to the end of the file
    
    Change-Id: I7bab901be76fabb75f688096e9637caada883816
    Reviewed-on: http://gerrit.openafs.org/1286
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64c24e84f9a0a96deac62cb3377577eadd582811
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 9 23:45:23 2010 -0500

    remove osi_Panic prototype on irix
    
    just don't prototype this on irix
    
    Change-Id: If9f6e6ef1eb4fcfcfbc81f7d69af00f72acfd517
    Reviewed-on: http://gerrit.openafs.org/1285
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fe246be823772262eb7f89415d5b8fb11798dc42
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 5 01:50:49 2010 -0500

    darwin rxevent sleep instead of polling
    
    use an interruptible sleep (and wakeups on shutdown or schedule) instead of
    polling, on macos
    
    Change-Id: I25934efac63ccaf9015f79c6711d09c693f0ad51
    Reviewed-on: http://gerrit.openafs.org/1066
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d0f083feb0415f7ab68ecdcd58fde2c9856043e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 9 15:07:09 2010 -0500

    reclaim CCore1 vcache state
    
    and the one place it was used it seems to have been used wrong anyway
    
    it's a relic from osf1
    
    Change-Id: Iae72030dcbb812422431d3d23737f6c8fb5f0ca3
    Reviewed-on: http://gerrit.openafs.org/1284
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7b6ccc1b9199d3787ea5457860fcb1c873a19a5c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 9 00:42:41 2010 -0500

    Windows: Permit Windows to build
    
    Recent changes added a new dependency of afspioctl.lib to all
    server binaries.
    
    Export new afsconf_ functions from libafsauthent.dll
    
    Fix afsconf_* usage in afsio.c
    
    Change-Id: I03e377a3d28b4efbea4a799e6ca63606eab699c9
    Reviewed-on: http://gerrit.openafs.org/1273
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a1616e2c93b0922a47958d2c4dc8db41202adca0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Feb 4 16:26:21 2010 -0600

    Consolidate code for reading/writing vol headers
    
    The code for reading in and overwriting/replacing volume headers is
    duplicated many times throughout the volume package. Consolidate the
    code into the functions VReadVolumeHeader, VWriteVolumeHeader,
    VCreateVolumeHeader, and VDestroyVolumeHeader. This makes it easy to
    change the semantics of how headers are read/written, though this commit
    should not change them.
    
    Change-Id: Id395ee25fc2db92de9301b9cdbe18f30830e18d3
    Reviewed-on: http://gerrit.openafs.org/1238
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3913aa55eed10f9d6316910ef950f5c3242e20d7
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Feb 8 15:18:04 2010 +0100

    afs_TruncateAllSegments() make sure correct afs_size_t comparison is
    used when selecting dcache entries for truncation
    
    Insure that afs_TruncateAllSegments() uses the correct [64-bit]
    comparison when deciding whether to truncate chunks:
    alen - AFS_CHUNKTOBASE(tdc->f.chunk) for a file > 2GB would fail
    to be recognised negative with an "afs_int32 newSize", even with
    alen = 0 and big tdc->f.chunk.
    
    Change-Id: Id77109fb8238234dae725bd876f70ea0fbd403fc
    Change-Id: If0120e21a52316e536d03241c83e8f0d36614c13
    Reviewed-on: http://gerrit.openafs.org/1252
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 880d35f8370ffc978bbcff3b3218f31a945d8555
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 9 13:54:30 2010 -0500

    ensure secObj is initialized in afs_ConnBySA
    
    NULL it so we don't compare against garbage
    
    Change-Id: Id80ab21a9a227ec8fd09dbc9a822fd1ce873b333
    Reviewed-on: http://gerrit.openafs.org/1281
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6c628445ebc3203ddcb8167914d61ef3711380c7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 4 03:22:15 2010 -0500

    provide afs_osi_TimedSleep
    
    this interface works how osi_Wait *should*, except on some platforms Wait
    appears to wake up all waiters(!) by using a single wait channel in the
    backend. rather than change that and risk problems, introduce an interface
    using the same system of events we use for osi_Sleep
    
    Change-Id: Ic91726b138bd2512282896ec48c542063ef000cf
    Reviewed-on: http://gerrit.openafs.org/1233
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01d8b61c7f7a9b5bb7c38f62ae432986d2ef3bee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 3 10:16:53 2010 -0500

    internationalize comerr
    
    reuse the Heimdal method for internationalizing comerr. as a side effect
    provide heimdal-compatible com_right.
    
    LICENSE BSD
    
    Change-Id: I6e699125ad3af1d402f14f9462e434c30ad4d1fd
    Reviewed-on: http://gerrit.openafs.org/1225
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d9af80b0bbc1a43a8da02cadb2d8841fe54bf0de
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Feb 6 14:04:50 2010 +0100

    Unix CM: Make cache bypass build again
    
    My recent afs_pioctl changes broke the build when cache bypass is
    enabled. Fix this.
    
    Change-Id: I515ff3c743d8f63c086ead86991ad6cd9faaab93
    Reviewed-on: http://gerrit.openafs.org/1280
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6011b3a325b64b2f9527b3e492b77b879ce2ec0b
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 5 13:49:27 2010 +0100

    Unix CM: Just use Bogus for VenusLogging
    
    The VenusLogging function no longer exists - instead of having a
    stub the returns EINVAL, just use the existing Bogus stub (which
    returns EINVAL) instead.
    
    Change-Id: I9cc1746577c19ff2e4087e16e8e2b56c0070c75d
    Reviewed-on: http://gerrit.openafs.org/1279
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6361d650490ead617e7acd9e798ba65dd872195f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Feb 5 12:18:42 2010 +0000

    Unix CM: Wrap afs_pioctl.c at 80 columes
    
    Much of the documentation in afs_pioctl.c spanned many many lines.
    Wrap it all at 80 columns for a more pleasant reading experience.
    
    Change-Id: Iae15a792a4cd6fa54eda65d43157ca3f7910ca2b
    Reviewed-on: http://gerrit.openafs.org/1278
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e2b65732c09c4d1097fd54addf6596aaba9043c4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 4 17:27:32 2010 +0000

    Refactor afs_ioctl code
    
    The ioctl code was a nightmare of #ifdefs. This patch reworks it
    so that there is a single function for each operating system, which
    makes it much easier to see what's going on. Eventually it should be
    possible to move these reworked functions out into the osi directories
    
    Change-Id: I61f70b23ad0c7ea137e6aa843be6f75c83c02843
    Reviewed-on: http://gerrit.openafs.org/1244
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 92946910e205252c23e435ff8fef2a3f29ea9592
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 4 16:08:26 2010 +0000

    UKERNEL: End the #define u insanity
    
    UKERNEL redefines the character 'u' to do a function call. This
    hurts other kernel developers in all sorts of interesting ways. Remove
    the definition, and instead explicitly reference the get_user_struct()
    function in those places that we need to.
    
    Change-Id: I64be2eb527c779df0a3d4508444ed68f3634667d
    Reviewed-on: http://gerrit.openafs.org/1243
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d5622d03196762bd8a60404fea98b4bb044e076d
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 4 15:09:34 2010 +0000

    Add rx security index enum
    
    Add a enumerated type for rx security indexes, initially containing
    the values reserved for null, kad, gk, and k5. Start to use this type,
    and related names, rather than hard values throughout the code.
    
    Change-Id: Ic71e5da28b4270abf7b6688b2c6438f17268f1da
    Reviewed-on: http://gerrit.openafs.org/1242
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d914ad4c75716b4870e22e8b43629057e35e2eee
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Feb 8 15:03:08 2010 -0600

    salvager: alias -f to -force
    
    DAFS added the -forceDAFS flag, which made the '-f' flag ambiguous, when
    it used to be short for '-force'. Restore the previous meaning of '-f'
    to reduce backwards incompatibility.
    
    FIXES 124916
    
    Change-Id: Ieb864b35a91000960f9d9c503c28db56602df13e
    Reviewed-on: http://gerrit.openafs.org/1254
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8459dc317bc6393d23f1afee0b211bcbdb9a5601
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 4 12:23:58 2010 +0000

    Unix CM: Simplify #ifdef ladder in lock.h
    
    Hugely simplify the ifdef ladder in lock.h, by using #elif, rather than
    multiple levels of nested ifdefs
    
    Change-Id: I8fc730242decab0a0f864a9814c6c47c9974b496
    Reviewed-on: http://gerrit.openafs.org/1241
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8e1d140d107b46ac0a88c544289b8d29f1542ede
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Thu Feb 4 12:18:30 2010 +0000

    Unix CM: Indent #ifdef ladder in lock.h
    
    The ifdef ladder in lock.h was a pain to read. Indent it to make it
    clearer.
    
    Change-Id: I673a85785e1e6207dae55616845d5cb982694189
    Reviewed-on: http://gerrit.openafs.org/1240
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 04adcfc78b038303d273f64ba756e9ecda478436
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 3 16:00:47 2010 +0000

    Unix CM: Reorganise security object code
    
    Reorganise the code which creates a client security object for the
    Unix CM into its own function.
    
    Change-Id: Ic92ca4022b000c5cd48bbe6318bf83379626e890
    Reviewed-on: http://gerrit.openafs.org/1239
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad4adb4aa2e458b744474931b0458d2146fb6f3a
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 9 16:26:57 2010 +0000

    Initialise ptuser to NULL
    
    Fix fallout from d008089a79ef268bbca91d660a840f32cb416865 - sc wasn't
    being initialised when it was declared, and some code paths would fail
    to set it. This led to the == NULL check failing, and a new rx
    connection being created with an invalid pointer as a security context.
    Disaster ensued ...
    
    Change-Id: Ibae3c72408d1145bc771bd07e573427d9f427679
    Reviewed-on: http://gerrit.openafs.org/1277
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6219c84243706ed46b922c2e037cceab2684d645
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 14:57:51 2010 -0700

    OpenBSD: don't use AFS_GLOBAL_SUNLOCK on single processor system
    
    Put back the header directives that only turns on AFS_GLOBAL_SUNLOCK
    when compiling for multiprocessors system. When enabled on a single
    processor OpenBSD system, it is possible to put the entire system
    into a lengthy (minutes) lock state when performing multiple AFS
    activities. The system behaves MUCH better when AFS_GLOBAL_SUNLOCK
    is not set (no problems encopuntered). This whole locking mechanism
    needs a bit more examination on OpenBSD before this is useful in
    single processor mode.
    
    Change-Id: I19813b78ad8d705b4f043ccb3a38c83e278972e9
    Reviewed-on: http://gerrit.openafs.org/1276
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5f39ae64bafe1e2073ff419fe62c2d5a86fc98f5
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 15:33:38 2010 -0700

    OpenBSD: allow for more graceful shutdown
    
    A shutdown or unmount of AFS on OpenBSD will invariably result in a kernel
    panic. This is because the afs_unmount() routine does not (can not?) force
    vnode releases if the vnode is still busy. However, it continues on
    nonetheless and dies a horrible death a little later.
    
    This update causes a return from afs_unmount() with EBUSY if all the vnodes
    weren't released. This results in error messages on shutdown but the overall
    process continues more reliably and reboots, for example, work.
    
    There is likely a better solution to this but at least this is no worse than
    a system crash and it doesn't require console (or power button) intervention
    so it should do until I have the chance to explore further.
    
    Change-Id: Ia70f83bda748ea3d0b81b341a292e83121446567
    Reviewed-on: http://gerrit.openafs.org/1275
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d06bc699f2e3848da8ce9a7fa20ac99db630bd1b
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 15:23:03 2010 -0700

    OpenBSD: fix lookup of network interfaces
    
    Starting with OpenBSD 4.2, the interface list returned by sysctl using
    NET_RT_IFLIST contains multiple versions of the data. This really
    messes up the rx_getAllAddr_internal() routine that returns a list of
    valid interfaces for the system (to the point where none are returned).
    
    This change adds a routine that cleans up the data returned by sysctl
    so it returns only a single (the most current) version of the data.
    That stops afsd (among others) from being cranky when it starts up.
    
    Change-Id: Ief1df0d2c3eb241c45b439a785ddb67d3afe992c
    Reviewed-on: http://gerrit.openafs.org/1274
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1d2735c0a85ab0544cf60be9f832cab2d0e434cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 9 00:40:20 2010 -0500

    Windows: add xdrlen
    
    Adds xdrlen.c to librx.a and libafsrpc.dll
    
    Exports xdrlen_create from libafsrp.dll
    
    Change-Id: I
    Change-Id: Ia3754f73f44f2c842b7aefa3104c8143f8a2b78d
    Reviewed-on: http://gerrit.openafs.org/1272
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 03ac7bd100d93f2f47b5e3724c61e3d93a9eca56
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 15:07:09 2010 -0700

    OpenBSD: move AFS memory type offet
    
    The internal malloc memory types for IPv6 (M_IP6OPT, ...) conflict
    with the type numbers used to designate AFS memory (M_AFSFID, etc.).
    This change moves the AFS memory type to a new number that does not
    conflict. This is not a serious issue but can create real confusion
    when trying to debug or track memory issues, among other things.
    
    Change-Id: Icccaa7c06443cab008013414cb3c2ab4ea08889e
    Reviewed-on: http://gerrit.openafs.org/1271
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4221d7acc8595a052dbc5fbb4366050c00d6ef37
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 16:01:46 2010 -0700

    Fix segmentation fault in vsu_GetVolumeID
    
    When determining the volume type of a volume, vsu_GetVolumeID() checks
    to see if the volume name ends in '.backup' or '.readonly' by backing
    up the appropriate number of characters from the end of the name. It
    does not, however, check to see if it skips past the beginning of the
    volume name. This can result in a segmentation fault (which it has for
    me on many occasions during a vos release) depending on where memory
    is allocated or how/if memory is protected.
    
    This patch corrects this behaviour by checking the volume name string
    length prior to doing the string comparison.
    
    Change-Id: Ia27fcac76b86ae2707663caa6bff365a4e8dd0da
    Reviewed-on: http://gerrit.openafs.org/1269
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 267c22e77197ebeed1a4d61041a60cd99dac7dcd
Author: Chaz Chandler <clc31@inbox.com>
Date:   Mon Feb 8 20:59:10 2010 -0500

    irix label changes rx subdir
    
    no label support in non-c99 irix cc, xdr_len.c and xdr_mem.c
    changed accordingly
    
    Change-Id: I9f9780254cd7e80649d40b3df6bcdd84a2f90404
    modified:   src/rx/xdr_len.c
    modified:   src/rx/xdr_mem.c
    Reviewed-on: http://gerrit.openafs.org/1266
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 87af0e4cb603218417a04e203b5182929f7c5a0e
Author: Chaz Chandler <clc31@inbox.com>
Date:   Mon Feb 8 21:42:35 2010 -0500

    fix AFS_ASSERT_GLOCK on irix and aix
    
    irix and aix do not have a vararg version of osi_Panic, fixed
    AFS_ASSERT_GLOCK macro definition in afs/afs_osi.h for those two
    platforms
    
    Change-Id: I0b541d2c1edad1364ef1c91dec84b9d4319c4e62
    modified:   src/afs/afs_osi.h
    Reviewed-on: http://gerrit.openafs.org/1267
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ab17ebef16a04180b2ede8c8ed07cd9c1871ae42
Author: Antoine Verheijen <antoine@ualberta.ca>
Date:   Mon Feb 8 15:45:25 2010 -0700

    Add support for OpenBSD 4.6
    
    Add config param header and sysname number for OpenBSD 4.6.
    
    As well, add an additional parameter to a call to ifa_ifwithnet()
    when looking up the MTU for an interface to indicate that the call
    should use the default routing table. With the advent of OpenBSD
    4.6, the system has started to make provisions for multiple routing
    tables which included a change to the calling sequence for this
    routine.
    
    Change-Id: Idb53efef0e229ca26bd587f2f8cd9df8a0248227
    Reviewed-on: http://gerrit.openafs.org/1265
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80151fdfcacf8c2d673bf79ac9276b30979de976
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon Feb 8 14:38:49 2010 -0600

    tubik: Initialize mutexes and cvs
    
    Initialize some mutexes and condition variables for pthreaded ubik.
    
    FIXES 124977
    
    Change-Id: I95833c5e277183e3c912e1b2fde2b02f88cff0c9
    Reviewed-on: http://gerrit.openafs.org/1253
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a5c733d0cfd61cb34ca99446c546629d059fc968
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 6 22:36:18 2010 -0500

    darwin vnodeops cleanup
    
    remove dead code, and retabify
    
    Change-Id: Ia11ec13773688a0fd7987dc777905364e1354e15
    Reviewed-on: http://gerrit.openafs.org/1251
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 80a1130612a68d14e1beda90013bd90d5523aa25
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 6 19:48:44 2010 -0500

    macos package allow backrev
    
    in order to go back versions, tell the install not to enforce
    "no backrev"
    
    Change-Id: Ifb4bee86344560d63c9b8ab3cd789f25ed8629b8
    Reviewed-on: http://gerrit.openafs.org/1249
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7e14ccf1cd1598a8ae851fcb942578141675e49c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 5 20:40:22 2010 -0500

    fetchstore reorg
    
    shift the functions around to avoid forward decl
    
    Change-Id: I50a8280674745a5ccf0f01863ce5d0351f62366b
    Reviewed-on: http://gerrit.openafs.org/1248
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 57d8e4544713170dc31afede27a1d6e2f94f5b95
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 5 19:54:22 2010 -0500

    set storeproc for non-linux
    
    forgot to push this with 0683c04a
    
    Change-Id: Ifce009ed8b2877befc364b831a185126bf692ede
    Reviewed-on: http://gerrit.openafs.org/1247
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b80efa48f48ddfafe0ad2bdb9d00b6774de17357
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 5 15:01:31 2010 -0500

    decode-panic deal with kextload
    
    kextload won't handle -arch. deal appropriately.
    
    Change-Id: Iac7dac9b484e44b9610da028027aadbd94cfe151
    Reviewed-on: http://gerrit.openafs.org/1246
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 521b3363aa1aa5530a83be3a7c55302c557e7818
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Feb 5 13:45:48 2010 -0500

    Windows: Remove use of AFS_AFSDB_ENV from kauth/user_nt.c
    
    AFS_AFSDB_ENV was removed from the rest of the source tree.
    Now remove it from kauth/user_nt.c so that DNS lookups can
    be performed from the ka_ authentication routines.
    
    FIXES 126366
    
    Change-Id: I99cf6ada8b672398c0cfc6c8251cfc8dfdae9a31
    Reviewed-on: http://gerrit.openafs.org/1245
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0e8beecff3bffc0aa6f10d342cd4d100412ca29f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 3 21:46:06 2010 -0500

    macos prefs pane spelling
    
    fix spelling of link to the usual unix spelling
    
    Change-Id: Id8464a22c049200526c6ffe471ea6dc6d4b0ed9a
    Reviewed-on: http://gerrit.openafs.org/1230
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 604471a3f881a7895cda218a823692a63044dd2e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Feb 3 21:34:24 2010 -0500

    Don't clear afs_stats_cmperf too early during shutdown
    
    Commit 21cbf7fee0a089d94f62baa7df2422e7bc8293f7 activated some
    previously unused cleanup code.  Part of this clears afs_stats_cmperf,
    but these stats are used later to check for leaks of chunks allocated
    with afs_AllocSmallSpace and afs_AllocLargeSpace.  The result is a
    message about unfreed blocks in the syslog with negative counts.
    
    Since the structure is already cleared later in the shutdown process,
    just remove this instance.
    
    Change-Id: I6bf2ab37752d2623d072469fb87fa6d06e85b9ec
    Reviewed-on: http://gerrit.openafs.org/1229
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 682db4d64d550af86dc5a09786e050c6a98ffb0c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 3 19:01:28 2010 -0500

    fakestat should preclude afsdb lookups too
    
    macos tries to look up ._foo stuff. correctly identify those (mvstat 2, not
    1) and also use tryEvalOnly to preclude AFSDB lookups
    
    Change-Id: I490fe98d695c4d230210bc4e4645ea20cd4d8fa2
    Reviewed-on: http://gerrit.openafs.org/1228
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8419da9ffec8297759e2e4198eb3963d1d1ed843
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 3 16:49:23 2010 -0500

    macos installer scripts shouldn't echo
    
    remove the other echoes from these scripts
    
    Change-Id: I46b43aabc0f6080f776e2ec610d748920bc18d3b
    Reviewed-on: http://gerrit.openafs.org/1227
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bea0fbf816744330863974d7ccb2d89cc2ccae0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 3 16:40:29 2010 -0500

    format fallout
    
    this was missed somehow in my verification. fix it now.
    
    Change-Id: I35b16ed8dcb35b153d7bfb2360673a0f1323f03e
    Reviewed-on: http://gerrit.openafs.org/1226
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d72846bb0a0650f96362ba190fa8f1fed90ba7d5
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 3 00:37:20 2010 +0000

    Fix fs storebehind on files with 2 or more servers
    
    fs storebehind didn't allocate a large enough buffer for its call
    to VIOCWHERIS. This meant that when it was called on a file with
    more than one server (one in a readonly volume), it would error
    out with E2BIG, rather than a more appropriate message.
    
    Fix this, by using the generic 'space' buffer for the VIOCWHERIS
    call.
    
    Change-Id: Ida0d40175f07ad528720ca700db5b5027b975095
    Reviewed-on: http://gerrit.openafs.org/1224
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 718f85a8b69a78ac77beb5c8471af20657be2a53
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 3 00:31:32 2010 +0000

    Fix pioctl input and output handling
    
    Pioctl input and output handling was being handled in an adhoc
    manner, with little or no detection of input and output buffer
    overflow. Whilst overflow is difficult to provoke on a real system,
    due to the size of the buffers being allocated for output, the code
    was difficult to read, and fragile to maintain.
    
    This patch adds an XDR like abstraction for marshalling and
    unmarshalling pioctl data. Whilst the real XDR can't be used and
    maintain backwards compatibility, this gives a similar elegance.
    
    Input and output pointers are replaced with instances of
    struct afs_pdata, which store both a pointer to the current position
    in the data stream, and a note of where the stream ends.
    
    All access to a data stream is now performed through a set of helper
    functions, which handle the reading and writing of integers, strings,
    and arbitrary blocks of bytes. An 'inline' function is provided for
    those cases where direct access to the stream is required.
    
    Change-Id: I6ed2e8e80cebde2abc6a517f4dbef09042b47037
    Reviewed-on: http://gerrit.openafs.org/1223
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a1fd212bc6b05d4b6fe74b9c0e5258165cea41d4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Wed Feb 3 00:25:17 2010 +0000

    Make twiddle build
    
    Update the twiddle utility (for manipulating rx settings in the
    Unix CM) so that it builds with error checking enabled.
    
    Also, add the binary to the gitignore file in that directory.
    
    Change-Id: I5c19832579db139e5c558b3488d7c49fdb7c08c4
    Reviewed-on: http://gerrit.openafs.org/1222
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e501c45c4ab30bb8409d0dd1e4c7ebabed1e9669
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jan 30 22:28:47 2010 +0000

    Add xdr_len, to work out required buffer size
    
    Currently, code which uses xdr_mem needs to take a guess at the
    buffer size required, allocate that guess, and error out if the
    data being encoded actually exceeds the guess.
    
    This adds a new XDR mechanism - xdr_len, which can return
    (using xdr_getpos) the length of the buffer required to XDR
    encode a given structure.
    
    Change-Id: I6e04c051118a26441caebdbcb2b5768d3c4389b6
    Reviewed-on: http://gerrit.openafs.org/1221
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fa033c6beae5a8c912ea440385e1b7d16c1443d3
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Jan 30 21:56:57 2010 +0000

    Add xdr_mem to the Unix build
    
    A number of forthcoming attractions require xdrmem, which is
    currently not part of the Unix build. Fix it so that it builds
    without warnings, and add it to the standard RX build.
    
    Change-Id: I5a21b2c7cd837c317f16dc35bf12cdac69d10167
    Reviewed-on: http://gerrit.openafs.org/1220
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0b234aa57f6b3de37bd167d1efad1c8987db7bc2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 23:48:14 2009 +0000

    Add printf format checks to the rest of tree
    
    Add printf format checks to the remaining va-arg printf-style
    functions in the tree. There are no error fixes required from this
    change.
    
    Change-Id: If774532a3ac5d8b611ec9f47576e933a57907185
    Reviewed-on: http://gerrit.openafs.org/796
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a150df6107c07955a3a2fd97ddb94d401649e4e1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 23:43:25 2009 +0000

    Add printf format checks to rx
    
    Add gcc printf format checks to rxi_DebugPrint() and osi_Panic()
    Deal with the small amount of fallout.
    
    Change-Id: Ic356028613087bda02beb9907886421d80a227c3
    Reviewed-on: http://gerrit.openafs.org/795
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d008089a79ef268bbca91d660a840f32cb416865
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 29 17:52:17 2010 +0000

    Add interface to select client security objects
    
    Add a pair of interfaces to support the selection of a security
    object by the client. The idea of these interfaces is to abstract
    out the job of selecting an interface from the client code itself,
    and into a common library. This reduces duplicated code, and makes
    it easier to add new security objects in the future.
    
    Change-Id: I2bf411e6b56534070c827d009d36fa8a618c4511
    Reviewed-on: http://gerrit.openafs.org/1219
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d302f1e193f631abb1c17253e8e3558f9c4a528c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 21:19:42 2009 +0000

    Add printf format checks to the cache manager
    
    Add printf format checking to the afs_warn and afs_warnuser functions
    and fix the fallout.
    
    Change-Id: I81ed776308a31706bf307246c470ee409797f044
    Reviewed-on: http://gerrit.openafs.org/792
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8229e668deee3eb00a295a8c9ea96a66b7049687
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 22:31:08 2009 +0000

    Add printf format checks to afs_com_err()
    
    Add gcc printf format checks to the afs_com_err() functions
    
    Deal with the fallout, in particular change callers which pass
    an empty format string to pass NULL instead - the com_err functions
    already permit this alternate use.
    
    There's a couple of real bugs here - in one case, we attempt to
    print a NULL pointer, rather than a security index, and in the other
    we supply a NULL format string, rather than the string we meant to
    print.
    
    Change-Id: Icd48f92a4447d4af3dba9a4caa2ff73c1657ad47
    Reviewed-on: http://gerrit.openafs.org/794
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 68463b6ab9c664303692ac264871723c27bfc524
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 21:21:00 2009 +0000

    Add printf format checks to util's log functions
    
    Add gcc printf format checks to all of the logging functions
    defined in src/util/afsutil.h
    
    Deal with the fallout, in particular create cast functions to go
    from VolumeId and VnodeId to (unsigned int)
    
    Change-Id: I28181b73cfeac22cf869d34e75a8335e65125e36
    Reviewed-on: http://gerrit.openafs.org/793
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dac001a0a04f54a76f254200ee24ab09f5ad22f7
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 29 15:12:42 2010 +0000

    Don't pass tokens around the backup system
    
    The backup system has a global ktc_token, which is used
    to work out when its credentials are about to expire. This leads to
    an unfortunate dependency throughout the code on the format of this
    token.
    
    Replace this with a global time_t which stores the expiry time, and
    copy the required field from the token into this when we get the
    token. This limits the exposure of the token, and simplifies the code.
    
    Change-Id: Ia2929c2c0a4c1ba9ca5db881865f33af5a732d2f
    Reviewed-on: http://gerrit.openafs.org/1218
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a82f8591a174f22529f1fa9a1a68c4030abd56c9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jan 28 23:50:54 2010 +0000

    Common interface for server security objects
    
    Add an interface for creating arrays of server security objects.
    This collects all of the various daemon code for initialising
    security objects into one place, reducing duplication and making
    it easier to add new objects in the future.
    
    Change-Id: I9df20afccdbac4a610cb5bde32f01069272f27a2
    Reviewed-on: http://gerrit.openafs.org/1177
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 61af204cf386deaeebf295dda5f9b58ea25fa225
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Feb 2 22:13:45 2010 +0000

    Document the extra options to fs getcacheparms
    
    Write some documentation for the -files and -excessive options to
    fs getcacheparms
    
    Change-Id: I769f8c0cf6d9d100a1687ae73a337132befb2449
    Reviewed-on: http://gerrit.openafs.org/1217
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7533adaf34ef76324b971a211bcbf3fba5b40627
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 2 15:59:12 2010 +0000

    Add a set of strings for the InstallationCheck
    
    InstallationCheck needs a strings dictionary to turn its errors
    into human readable content. Add such a dictionary, and use the
    correct product name and version for each Mac OS X release.
    
    FIXES 126322
    
    Change-Id: I8401a1163ea078e690152215c20db6970969ee04
    Reviewed-on: http://gerrit.openafs.org/1208
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 289d06650d0e3c7c0a308a275cf229d671135bf5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 25 16:56:13 2010 -0600

    Squash pthreaded ubik warnings
    
    Fix/ignore some warnings with --enable-pthreaded-ubik:
    
     - ubik/ubik.c: move rx_stackSize decl to non-pthread code, since it's
       only used there
    
     - budb/db_dump.c: move 'code' decl to non-pthread code, since it's only
       used there
    
     - ubik/recovery.c: move return to outside the ifdef, so we still have a
       return statement in the pthreaded case
    
     - Add -Wno-error to beacon.c in tubik, to match the ubik case
    
    Change-Id: I614f2425c36e77bb1a08838b45166d8edb080c73
    Reviewed-on: http://gerrit.openafs.org/1211
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6beb32f0e059d1dbfbf82260a9103665aba88565
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 25 17:05:09 2010 -0600

    Use -A and -u in pthreaded ubik rxgen
    
    Use -A for rxgen in tvlserver and tptserver to generate ANSI code, so we
    don't generate warnings. Also use -u in tubik rxgen, so we generate the
    ubik_* functions that new code uses.
    
    Change-Id: Id13168e65e36aeebf48610c28e7b3df2164fc073
    Reviewed-on: http://gerrit.openafs.org/1210
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 61afb03fddcb21bfc83b277074784b31bc6739bb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 25 17:08:36 2010 -0600

    Build utst_client for pthreaded ubik
    
    Build utst_client in src/tubik, as it is in src/ubik.
    
    Change-Id: I655445905efbaaa9e578a9e2061091679813a768
    Reviewed-on: http://gerrit.openafs.org/1209
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c0724584680562330347026ee9ec72f74066bc51
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 2 15:47:02 2010 +0000

    Don't echo from the InstallationCheck script
    
    Return codes from InstallationCheck are turned into errors by
    the GUI - don't echo them out to stdout as well.
    
    Change-Id: Iee9c1ff4687ea42ab8c18566493a8a92b6d51fed
    Reviewed-on: http://gerrit.openafs.org/1206
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 642e380ac10f1f249dc75b3656a6b82c3df9ace4
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 29 14:17:46 2010 +0000

    Remove internal vldbClientInit prototype
    
    vldbClientInit is used by other modules in the backup suite, and is
    already prototyped in bucoord_prototypes.h. So, remove it from the
    internal header.
    
    Change-Id: I2688426189c3aeaacc8db4f815ede466caa5dde0
    Reviewed-on: http://gerrit.openafs.org/1205
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 248da50aa56f19bdc8b2b322f5e17b3d2a363dce
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 2 00:36:58 2010 -0500

    icl 64 bit platform rationalization
    
    be consistent about how we apply 64 bit longness. right now we were
    doing 3 different things. oops.
    
    Change-Id: Ie48816852d5db916e3023ae6e3cd2f6298802668
    Reviewed-on: http://gerrit.openafs.org/1200
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 44147f3c0265ed257fcc8dc459a7fbad224ebc14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 2 00:16:54 2010 -0500

    icl trace code deduplication
    
    right now we have 2 copies of the same code for dealing with traced objects.
    it's the same code! make a function, and call it 4 times.
    
    Change-Id: I1c8b6d7b2cff59108eada1522ba1ec76efeba421
    Reviewed-on: http://gerrit.openafs.org/1199
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 837fb322e57c80aac5e5dee43fc7220727c1049f
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 29 14:13:47 2010 +0000

    Fix USS to use volser prototypes
    
    Fix the uss_vol.c file to use the volser prototypes. This clears up the
    list of the warnings in this file, so drop the warning supression from
    the Makefile, and remove the entry from README.WARNINGS
    
    Change-Id: I9e4ec8bdfa39e3a7adafea454a4c6d96c5fc9d0f
    Reviewed-on: http://gerrit.openafs.org/1204
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0d17a5a209ae80d880720fcd85b7555853605178
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 2 13:14:28 2010 +0000

    xdr_proc_t really is different on linux26_i386
    
    i386 Linux uses a register based calling convention within the
    kernel, but uses the stack for va_args based functions. This means
    that the hack of prototyping xdrproc_t as a va_args function doesn't
    work, as you end up with arguments being in the wrong place.
    
    Restore the Linux only xdrproc_t prototype that
    167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6 removed, add a warning to
    explain why its there, and modify xdr_free() so that it works
    without error.
    
    Change-Id: I789d387b01fcb892b187fe05f961f01c2c1f55e4
    Reviewed-on: http://gerrit.openafs.org/1202
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cad1df43d89d829f36c9aa72e648bab827a2ea53
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Mon Feb 1 14:12:05 2010 +0000

    Darwin: Stop CM builds when errors occur
    
    Make the kernel module build on Mac OS stop when errors are
    encountered, instead of just ploughing on regardless
    
    Change-Id: I489357c04cb7c78663f593af2c2adbc50ebfffff
    Reviewed-on: http://gerrit.openafs.org/1203
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7d3398f48d15fc4e334e4f1acbf6b7156f0ab522
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Feb 1 19:31:05 2010 -0500

    Linux: warning fix in osi_file.c
    
    Cast printed variable to avoid a warning about a mismatch between
    %d and long int.
    
    Change-Id: I3245cbb5e4780a258e8756b4210c1078f4fbc51c
    Reviewed-on: http://gerrit.openafs.org/1195
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c75396e23a50a144de6d08d57304c1803722ead2
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Tue Feb 2 00:03:04 2010 +0000

    Linux: Fix breakage in llseek error handling
    
    Commit 7a5cee30cc5f0e6d5780387633ce2b46608fd5fb changed the way
    that errors from llseek are dealt with. Unfortunately, it is missing
    some all important bracing, and so we end up going down the error
    path, even when the llseek succeeds.
    
    My fault. Sorry.
    
    Change-Id: I03061ba0663b610a8fb73a08d257f6d786795076
    Reviewed-on: http://gerrit.openafs.org/1194
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a97fffc08a02ad8583c7f7b50d41fe07c93520b8
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Mon Feb 1 16:59:14 2010 -0500

    call afs_osi_suser correctly in PNewUuid
    
    we were using the wrong level of indirection on acred. fixed.
    
    Change-Id: I00ab1a97b42717adc2d9d26e885b91c44103ab1d
    Reviewed-on: http://gerrit.openafs.org/1190
    Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 43bcd4db710cec13e14e3e53a3e5ce1f995153d7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 1 00:00:39 2010 -0500

    make 1.5.71 for unix
    
    version updates for unix
    
    Change-Id: Ia7901e3969b3afb72b870e7bfaf1be931c2fb0c5
    Reviewed-on: http://gerrit.openafs.org/1185
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e1fd1f60d37bdb37e79883045caf17b7ecbd07ba
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 31 23:27:32 2010 -0500

    Windows: ChangeLog and Version Number for 1.5.71
    
    Change-Id: I0969e2b3fcff98489aef1b0e660ef12149a4b96c
    Reviewed-on: http://gerrit.openafs.org/1184
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0683c04a61ab8946fe715500888a983172298972
Author: Chas Williams <chas.williams@cmf.nrl.navy.mil>
Date:   Wed Jan 6 16:48:41 2010 +0000

    Unix CM: Always use ->storeproc()
    
    Always use ->storeproc() and avoid branching
    
    "do or do not -- there is no try"
    
    Change-Id: Idbcf0c80930d6a433b4c921b44db28cb6fbbf9bb
    Reviewed-on: http://gerrit.openafs.org/1073
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d52213fcc5dae5095d660e1861f77e90c07bb2ab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jan 30 13:54:20 2010 -0500

    rx idledeadtime don't track window wait
    
    if we're in writer mode and waiting for more window, don't consider it idle.
    
    Change-Id: Id1e80f297929eef363ffe88bfe181b74bb331515
    Reviewed-on: http://gerrit.openafs.org/1182
    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>

commit b85929698b496baee34c7d9e0a7ad654a7f5ae33
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Fri Jan 29 17:47:12 2010 +0000

    Darwin: Don't use ARCHFLAGS to determine arch
    
    The Darwin build uses ARCHFLAGS to control the architectures it
    builds binaries for. However, this causes problems for standalone
    builds which just do ./configure && make. So, if ARCHFLAGS is
    undefined, ask gcc which architecture it thinks that it is
    building for, and use that.
    
    Change-Id: If9e7dc3c41ded5ac0593ae20ddd741690914a699
    Reviewed-on: http://gerrit.openafs.org/1181
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8b395497d5a464c57c65ba73ca757d47e4ff109a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 29 12:59:59 2010 -0500

    macos prefpane fat binary arch selection correction
    
    don't choose 64 bit arches for the prefpane if we're not on macos 10.6
    
    sadly, this is the best i can do to conditionalize
    
    Change-Id: I31fb2e10fbef5c66a27e0170e8925513a1b63050
    Reviewed-on: http://gerrit.openafs.org/1180
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1d57791d4eadd3e0bc5de5b8654e7964b662b3e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 28 11:35:56 2010 -0500

    linux cache file open fail print error
    
    if we're going to oops, print a little more info about why. in this case,
    knowing why dentry_open failed would help
    
    Change-Id: I78a3c97d67c7c29110de975465cce0edd6367496
    Reviewed-on: http://gerrit.openafs.org/1173
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 167e1aa21f5bbea1272b239dc6518a7bdbfc3ee6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 29 00:03:07 2010 -0500

    xdrproc_t probably not really different on linux26
    
    for some reason we prototype it differently. makes xdr_free sad.
    
    Change-Id: Icd6060acd922314fc400aa2fe360c662ec705fa6
    Reviewed-on: http://gerrit.openafs.org/1179
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 008eb3c011d58375180f150b1591a0c0c4d07a24
Author: Chaz Chandler <clc31@inbox.com>
Date:   Thu Jan 28 23:59:12 2010 -0500

    further irix updates
    
    updating for non-c99 and for no vprintf in the irix kernel
    
    Change-Id: Id7239dae35ff195007c615319522827d06395f8f
    Reviewed-on: http://gerrit.openafs.org/1178
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 054e853922b98984ed25b5482fb4f5cd4e5efdf5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 28 18:12:44 2010 -0500

    afsd missing close brace
    
    fallout from the open-by-path-only unification
    
    Change-Id: I06f6a7bbb45368b5ab8c336e93ffae11af6b3fac
    Reviewed-on: http://gerrit.openafs.org/1176
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2ca0c2828d48cd377e9cfc2e325a1ff6011ce18b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 28 00:35:36 2010 -0500

    ignore generated macos packaging description file
    
    added ignore for OpenAFS.Description.plist as it is now generated
    
    Change-Id: Icbad9f8bbbdd5be6604838366d14f648eec05ee4
    Reviewed-on: http://gerrit.openafs.org/1171
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a340dc7981cb75cee66defd4cec5becdb4b7dfea
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 28 14:22:53 2010 -0500

    irix cc defaults to pre-c99
    
    no xdr labels for irix
    
    Change-Id: I4e1ca001d62a0a3d1f2f6ddef4b6419d1b2b2c13
    Reviewed-on: http://gerrit.openafs.org/1174
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fca5ace4da5e685fdf665ff8f6e70bcab76eeaae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 28 14:25:32 2010 -0500

    irix can't have vprintf in the kernel
    
    vprintf doesn't exist for irix either. deal
    
    Change-Id: I60f78feaf36dbbb086e2ea9e6f7a839c76074647
    Reviewed-on: http://gerrit.openafs.org/1175
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9e4477fbfb212bcaaa6c9324ed992dd769502737
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 26 10:23:03 2010 -0500

    Windows: drop cm_Freelance_Lock before call to cm_FreelanceAddMount
    
    The cm_Freelance_Lock must not be held before calling
    cm_FreelanceAddMount().  cm_InitLocalMountPoints() was violating
    this requirement.   It is safe to drop the lock because the only
    time the lock would be dropped is if the "Freelance" registry
    key does not exist.  This should only be true during the initial
    startup of the application the first time afsd_service.exe
    executes on the machine.   At this point in time there is only
    one thread that is executing that could be initializing the
    Freelance mount point list.
    
    LICENSE MIT
    
    Change-Id: Ib49cf8bc830836c8e08446073e64ccf30086d354
    Reviewed-on: http://gerrit.openafs.org/1164
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 3a986e9b8aeacf1a23f6f06e301999d4a2dd2cb5
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 27 14:09:19 2010 -0500

    Windows: export xdr_serverList and xdr_Capabilities from afsrpc.dll
    
    Required by new xdr_free() usage.
    
    Change-Id: I585947f110204c9043f92fc573d5d7263a46fd64
    Reviewed-on: http://gerrit.openafs.org/1170
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a3812f211a56c0d6e0a7ff8a97f157707d3d8c28
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jan 26 19:48:24 2010 -0500

    Linux: don't count pag keys against root's keyring quotas
    
    Keys associated with PAGs are created with root ownership for
    security reasons, which means that they count agains root's
    keyring quotas.  The default configuration used by most distros
    restricts root to the same quotas as a regular user, so a single
    user can potentially fill up the quota and prevent new pags from
    getting created system-wide.
    This can also be an issue for busy multi-user systems where the
    default maximum number of keys (200 currently) can easily be reached.
    
    Change-Id: I37e3f3d881facff9b14f2057b404d4b441e72305
    Change-Id: Id1ef2d5a7109d8ee7c08aa81dfd98ecf951c8ba8
    Reviewed-on: http://gerrit.openafs.org/1167
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c51e2661835b4499f1125eb2d677a06260159dbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 27 12:58:49 2010 -0500

    init pthread mutexes only if an initializer exists
    
    and windows has none
    
    Change-Id: Iaff3047abde197791e3fbb42c12066f896e540d1
    Reviewed-on: http://gerrit.openafs.org/1169
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 900dc5b31baea50370fba93b1f96002ad6652c8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 20 11:38:43 2010 -0500

    switch to always attempting cache-config-by-path
    
    solve the "are we built for linux fh or inode" problem: just always use path.
    
    Change-Id: I076ee495b29e4a2dc964ce04001f86e100528fb6
    Reviewed-on: http://gerrit.openafs.org/1133
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f02f2e80267fb45c22ab199dee0e0c15425674b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 27 02:30:09 2010 +0000

    XDR memory management fixes
    
    Change the xdr_free function so that it matches in signature and
    behaviour the xdr_free that is available in other xdr packages, and
    update all callers.
    
    Don't use xdr_alloc where the data we're allocating isn't freed by
    xdr. The only place where xdr_alloc is required is in server stubs
    when filling OUT parameters.
    
    Change-Id: Ice231f163726afc374cb25a89302e3d82fa1e093
    Reviewed-on: http://gerrit.openafs.org/1168
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0559a23d38f98280e2eb1c1e2fc91ae7a1798537
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 26 13:32:03 2010 -0500

    initialize pthread mutexes to avoid compiler common variable stupidity
    
    instead of worrying about ranlib versus ranlib -c, -fno-common, etc,
    just initialize the variables if an initializer exists
    
    Change-Id: I6ed28df4d2134f84359a1bc55706e75d54e6e083
    Reviewed-on: http://gerrit.openafs.org/1166
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f3da1f9e1af4daa5b6f3ec46bad3db5226377fc4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 25 16:49:53 2010 -0500

    rx ResetCall should wait if it says it will
    
    We set TQ_WAIT... and then don't bother to wait. uh.
    
    Change-Id: Ia7d3e52c8880db53fcf26b7d79ad349720018701
    Reviewed-on: http://gerrit.openafs.org/1160
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f0b1d7ccbbc4056338dde92c8b131ad2070351ad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 25 16:02:23 2010 -0500

    rx avoid discarding packets while tq is busy
    
    we don't check here that no one else is working the tq *after* getting the
    lock. do so.
    
    Change-Id: I91d1ac020334b038a6a045734911335299613875
    Reviewed-on: http://gerrit.openafs.org/1159
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 14e050033f40272a919bb54e981d8165d927240a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 26 12:27:11 2010 -0500

    viced detailed stats should record stored bytes correctly
    
    if we get an error reading data, don't subtract it from the length
    stored statistic
    
    Change-Id: I2fec260a9f677c0747ff2c6f975745ccb1e58447
    Reviewed-on: http://gerrit.openafs.org/1165
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 73392259ec523fd9648e2c589d491050066d84d7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 25 12:36:25 2010 -0500

    darwin80 if changes cleanup
    
    fix the indirection here to be correct.
    ifnet_list_get needs a pointer to a pointer for the ifnet structure
    Change-Id: I81bd7c383c63cc1e312fcfd482d7162d50f6f1d3
    Reviewed-on: http://gerrit.openafs.org/1158
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0b7669d937ca7a34b69163963be8cbfa6db31094
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 25 10:44:54 2010 -0500

    darwin rx if structure fix
    
    link kernel to correct ifaddr symbol for withnet
    
    Change-Id: I384974bef73b9cc44eba7ddba43f28f65c03f39b
    Reviewed-on: http://gerrit.openafs.org/1157
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e58f77fe56b69e82ab82698b93ee011d272676cf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 24 11:25:00 2010 -0500

    pagsh dependencies don't get to include system libs
    
    we'll never be able to "build" -lresolv
    
    revert this part
    
    Change-Id: I2b1caa5bffc3d826412967fb70d9eadf8223f1f8
    Reviewed-on: http://gerrit.openafs.org/1154
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7a5cee30cc5f0e6d5780387633ce2b46608fd5fb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 25 00:02:11 2010 +0000

    Linux: Handle llseek failure
    
    If llseek fails, then we return immediately, potentially leaving the
    wrong address space configured for this process, and without resetting
    the processes saved limits.
    
    Fix this by creating a common exit point for osi_rdwr, and using it.
    
    Change-Id: Ifff8cb0155f92a4130d21828d5ee2d2a55c09195
    Reviewed-on: http://gerrit.openafs.org/1155
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a16e6f396464bd860d08b9fec1f37f96ea8ac30a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 24 10:09:41 2010 -0500

    unix 1.5.70
    
    make 1.5.70 for unix
    
    Change-Id: I84ed384e9cd38e49a2c002a4ffe19a6ff5ba633d
    Reviewed-on: http://gerrit.openafs.org/1153
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit aacc766252aacadf8f6e3ab234ba77bfeb61714e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 22 14:24:17 2010 -0500

    Windows: 1.5.70
    
    ChangeLog updates
    
    Version number updates
    
    Change-Id: I16fd2d2ef507cc862417eef8d221ea5ba58567a1
    Reviewed-on: http://gerrit.openafs.org/1146
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0caf14224a9153bb488be9e52d67892a2c441a5a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 22 20:03:58 2010 -0500

    Linux Keyrings: don't ignore error code from session keyring creation
    
    Creating a session keyring can fail, for instance if the user's
    keyring quotas are reached (number of keys/keyrings or data size).
    
    Instead of ignoring errors, return them so they can be passed back
    to the caller.
    
    FIXES 126230
    
    Change-Id: I745abeef4b3b8e4c3ab1b90667c6a5478c1e0ad2
    Change-Id: I4b0ce6423ee493fbbcbdac1c580e3a157d3c11f4
    Reviewed-on: http://gerrit.openafs.org/1151
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8462b1a1b2272eab004ed266a1bd9ffaf51266f3
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jan 22 20:05:34 2010 -0500

    Add missing dependencies for pagsh in Makefile
    
    Make pagsh and pagsh.krb depend on the libraries that are used to
    link them, and on the source file pagsh.c
    Without this dependency, modifying pagsh.c would not trigger a
    rebuild of the executable.
    
    Change-Id: I9ed20ce69f10916f97d6c335be9bb8374fb9ecd1
    Reviewed-on: http://gerrit.openafs.org/1150
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b1eb6a7a3f80500f0187cc6a1dd2013e1a5e154a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 22 20:11:21 2010 +0000

    Don't throw data away in afs_StoreMini
    
    afs_StoreMini had some interesting error handling. Instead of returning
    the error code from StoreData, it would return the error from EndCall,
    potentially masking the StoreData error. When it encountered an error
    it would discard all of the cached data.
    
    StoreMini's only caller is afs_StoreAllSegments. If StoreAllSegments is
    called from DoPartialWrite, then it squashes the error code. This
    combination could lead to the user's data being disposed of, without an
    error being reported.
    
    Fix all of this by not invalidating segments in StoreMini. Make
    StoreMini static to make it clear its only used by StoreAllSegments, and
    fix the error handling in StoreMini so that StoreData errors always take
    priority.
    
    Change-Id: I41f0c753655fac343485d2a473ad70b6ae96bb78
    Reviewed-on: http://gerrit.openafs.org/1147
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 637e1eac97c2e9c0f0354cfff1a83deddb4ae24f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 22 21:50:44 2010 +0000

    Revert "Fix afs_AccessOK for dropbox case"
    
    This reverts commit 3f89c0feae89e9a255afb8a7f08995412a3f1b79.
    
    That change broke the expected semantics of a drop box, by
    opening up read() access to users to whom it would usually be
    denied. The expected dropbox behaviour is that whilst anyone
    can write a file there, only those who are specifically given
    r permissions may read it.
    
    Change-Id: I025cef7cad1031fbed1e914d58a0a515561f3f78
    Reviewed-on: http://gerrit.openafs.org/1149
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d9cef89c93d33985c43c0bf5d28d96955bb0e457
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 14 15:41:23 2010 -0500

    abstract rx if structure access
    
    change things to use accessor macros styled after the mac KPI
    where feasible, and make access consistent.
    
    Change-Id: I284101b370666e1aeb8e42bc1a651a2781a9af78
    Reviewed-on: http://gerrit.openafs.org/1101
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f02ab3339d01bca414fe705f3a990a1db146f29b
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jan 22 10:59:14 2010 -0800

    Enable weak enctypes for klog.krb5 if supported by Kerberos
    
    The same as cb4b62a40352ccebae3a299f4327fa70fc7a0c5c, but for klog.krb5.
    
    Current versions of both MIT Kerberos and Heimdal disable DES enctypes
    by default, but DES enctypes are still required for AFS service tickets.
    Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
    krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
    enctypes.  If neither is found, assume that the Kerberos libraries are
    old enough that DES is enabled by default.
    
    Change-Id: I99c93621c847f6edcc485207f5b6b99b2370b347
    Reviewed-on: http://gerrit.openafs.org/1144
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3f89c0feae89e9a255afb8a7f08995412a3f1b79
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jan 21 20:42:33 2010 -0500

    Fix afs_AccessOK for dropbox case
    
    afs_AccessOK did not check for if we have 'i' rights on a directory, nor
    if we were the owner of a file, if we were only checking PRSFS_READ or
    PRSFS_WRITE. Thus, it does not correctly address the 'dropbox'
    permissions case (if you are the owner of a file and have insert
    permissions, you get implicit 'r' and 'w').
    
    Fix this to check for 'i' and ownership when we need to, so the dropbox
    special-case check works as intended.
    
    FIXES 126216
    
    Change-Id: Ib629bc30b73bc3965e777747067259451f0adff6
    Reviewed-on: http://gerrit.openafs.org/1143
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb4b62a40352ccebae3a299f4327fa70fc7a0c5c
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jan 21 15:41:49 2010 -0800

    Enable weak enctypes for aklog if supported by Kerberos
    
    Current versions of both MIT Kerberos and Heimdal disable DES enctypes
    by default, but DES enctypes are still required for AFS service tickets.
    Probe for either krb5_allow_weak_crypto() (MIT Kerberos 1.8) or
    krb5_enctype_enable() (Heimdal) and, if found, call them to enable DES
    enctypes.  If neither is found, assume that the Kerberos libraries are
    old enough that DES is enabled by default.
    
    Change-Id: Ib5231bb7c2fe88f4c424628394ed08122d5710a1
    Reviewed-on: http://gerrit.openafs.org/1141
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ddc64898e7b3a26e6514be63ef01672fe67cb851
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 21 17:53:42 2010 -0500

    afs_vnop_attrs: syntax error in conditional expression
    
    Add a missing && in a 2-line condition.
    Not sure how this could have compiled successfully on the affected
    platforms.
    
    Change-Id: I2e8b791c6d8cd09795be1ef52c078ebfa5a3e53b
    Reviewed-on: http://gerrit.openafs.org/1140
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 14ffee4bbc1c8df93110ae1b86edb2a172aae091
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 21 20:05:25 2010 -0500

    Windows: AFS_AFSDB_ENV preprocessor symbol no longer exists
    
    The decision to add AFS_AFSDB_ENV to make code consistent was
    a mistake.  The preprocessor symbol no longer exists.  AFSDB
    is broken in 1.5.69.
    
    Change-Id: I7ea147b824f3a67e2039abee8b2513af175fcc5d
    Reviewed-on: http://gerrit.openafs.org/1142
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 0342cdb2d3710f7d56a5b93ca8aedf7b2df835fc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 21 17:38:43 2010 -0500

    Windows: add build and clean rule for bc.h
    
    Add a dependency rule to build bc.h before it is installed
    
    Add cleanup rules to delete bc.h and other installed files.
    
    Change-Id: I9a40fd64aff048bfc87b9fd823ae7499816cb3e5
    Reviewed-on: http://gerrit.openafs.org/1139
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d8bda273b09ed7d7b7395390f58891913e5fafdc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 21 16:43:18 2010 -0500

    Windows: Windows v6.0 SDK does not define __RPC__out
    
    The Windows v6.0 SDK does not define __RPC__out in the rpcsal.h
    header file.  The preprocessor symbol was added in the v6.0A SDK
    update.  In case the v6.0 SDK is used with the 6000 WDK, add a
    symbol declaration.
    
    Change-Id: Iecce566e906977f41be00efb458753acd09f7949
    Reviewed-on: http://gerrit.openafs.org/1138
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 7a5d90b7735e4047eb926dc03dbaafce556bccfe
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 21 15:34:49 2010 -0500

    Undo labeling of elements of rx structures for Windows
    
    Change I006bbbdb8923dbb72a97fde931a1b23e303375c2 broke
    the Windows build.  Restore the unlabled assignments for
    Windows since Windows always uses the AFS xdr implementation.
    
    Change-Id: I2eadc624d84f4100281424993b7287a330d6c753
    Reviewed-on: http://gerrit.openafs.org/1136
    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>

commit 18ace069417cde36b2af8439c375fd247ed4d8aa
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Jan 21 15:30:23 2010 -0500

    Install bucoord/bc.h to permit Windows to build
    
    Change  I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704
    broke the Windows build.   Fix it.
    
    Change-Id: I08db225790a37eee3e4fd778eacabc7168abee77
    Reviewed-on: http://gerrit.openafs.org/1135
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7f1046896ee14d3e7ee6975e70cd1a9bb9f24736
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jan 20 21:03:08 2010 -0500

    Warning cleanup: implicit function declarations in butc and bucoord
    
    Cleanup some prototype related warnings under bucoord and butc:
    - Copy a few prototypes from bucoord_internal.h to bucoord_prototypes.h,
    since they are used in other source directories
    - Install bc.h under include/afs, and include it in tcmain.c
    - Include bucoord_prototypes.h in tcmain.c
    - Add a prototype for GetResponseKey
    - Remove warning inhibition for tcmain.c, and entry in README.WARNINGS
    - Remove warning inhibition for bucoord/dump.c (no entry in README)
    
    Change-Id: I0a0ae92d3c7ba75e4a331bf59ea9c031763cc704
    Reviewed-on: http://gerrit.openafs.org/1134
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 21cbf7fee0a089d94f62baa7df2422e7bc8293f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 20 11:15:29 2010 -0500

    simplify ufs cache mechanisms available
    
    instead of having use_fh for linux, vnode_path for solaris and darwin,
    use the same mechanism for both. for darwin/solaris we cache the path
    (tested via gop_lookupname) instead of an fh, freeing the path at
    shutdown.
    
    Change-Id: Id22052db0803264bdaba6b870d9e511953e348bc
    Reviewed-on: http://gerrit.openafs.org/1132
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1b7836e44f33c8dccc486aa49a25e9fe5a2d5aed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 19 01:29:11 2010 -0500

    batch panic decoding for MacOS
    
    add support for decoding (nominally) any panic for MacOS. Limited testing.
    Requires hdutil from http://www.dementia.org/~shadow/dmgutil-0.1.tar.gz
    to extract files from DMGs.
    
    now with support for cross-version debugging, when run on 10.6 (e.g. with kextutil)
    Change-Id: I5d9db005e3014e22f916070f8af25271a28615ea
    Reviewed-on: http://gerrit.openafs.org/1125
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit be916b0f009e3c643da5cd928907a28629cc9726
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 18 19:25:02 2010 -0500

    macos set don't backup attribute on cache files
    
    hint to time machine that cache files should not be backed up
    
    Change-Id: I098c9231139b91ff093be74d8a39f94c185d478c
    Reviewed-on: http://gerrit.openafs.org/1122
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 04e6ddb60bf3ce4ddfe7a5d6e4950fb25d2a3f86
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 20 13:13:58 2010 +0000

    Fix so that UKERNEL can keep using system xdr
    
    This fix modifies the way that the RX XDR operations are declared
    so that UKERNEL can continue using the system provided XDR glue,
    rather than using our own (as is the case in userspace, and in
    normal kernel modules)
    
    Change-Id: Ib6abad376c7f7a7f0f5c2314efe80f5b7b44f842
    Reviewed-on: http://gerrit.openafs.org/1131
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f18a6c36b38ed8422eb6ed5e43cebaa3d212917c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jan 17 18:34:03 2010 +0000

    Label elements of rx structures
    
    Label all of the assignments to the xdr_ops structure. This allows
    the rec, stdio and mem variants to continue to function, even when
    the ordering of the elements has changed in the header.
    
    Change-Id: I006bbbdb8923dbb72a97fde931a1b23e303375c2
    Reviewed-on: http://gerrit.openafs.org/1126
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5dddb87eb362c824dee4b0340a95ca929c71d26f
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jan 19 17:43:35 2010 -0800

    Avoid executable headers in local include tree
    
    sys_prototypes.h, afs_AdminErrors.h, and afs_Admin.h were being installed
    into include/ in the build tree via ${INSTALL} instead of ${INSTALL_DATA}.
    rx_prototypes.h was executable in the repository.  Install header files
    non-executable and make rx_prototypes.h non-executable for cleanliness.
    
    Discovered by Lintian because the executable permissions were duplicated
    by make libafs_tree.
    
    Change-Id: I609b62f69d1fecc2cdbba7e7442d93e9675c2fa0
    Reviewed-on: http://gerrit.openafs.org/1129
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 340d3be82aa6d1fbaa0c775fe743f86e5a7335ed
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 18 22:23:54 2010 -0500

    Windows: Help text update for Network Identity Manager Provider
    
    Update the NetIdMgr provider help text to better describe its
    functionality.  (Or at least not be incorrect.)
    
    Change-Id: I5d6b18f15cab7c48751666e754223ee68fb18d11
    Reviewed-on: http://gerrit.openafs.org/1124
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e010c8e9379bd2fa9b08a142e57cee56c123791c
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jan 18 16:47:31 2010 -0500

    Windows: Add a context menu for the AFS icon
    
    The OpenAFS plug-in for Network Identity Manager displays an icon
    in the notification area that displays status information about
    the AFS service and tokens.  Add a context menu to the icon so
    that users can open the NIM application and get help for the
    plug-in from the notification icon.
    
    Change-Id: I704934b4f4eab72a18c54ef2a7a7dc3ca248ba78
    Reviewed-on: http://gerrit.openafs.org/1121
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b0ff95e2ee26f04dd7b03172acca075ddcd963a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 16 11:07:23 2010 -0500

    Windows: Version number update for 1.5.69
    
    Change-Id: I8af0167649cfeec95e5a5e5a72faeaccdeb92102
    Reviewed-on: http://gerrit.openafs.org/1115
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e33a7346a6b9153daf593ae4c084ce3839f822cf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 16 11:05:57 2010 -0500

    Windows: ChangeLog for 1.5.69
    
    Change-Id: I078f719c6e769cfcb7997bb8b67403de480255f9
    Reviewed-on: http://gerrit.openafs.org/1114
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 97d0d22e34dbb1e927c90695e55ee582c51f9e64
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 18 19:59:28 2010 -0500

    make 1.5.69 for unix
    
    set version number for unix
    
    Change-Id: I2273e97ec43fd172e6f486ab6226cc6376885163
    Reviewed-on: http://gerrit.openafs.org/1123
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cc47e765912e1a5dedddb6ef00ca8b8c8d567f0e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 17 01:10:28 2010 -0500

    create debugging kext package for MacOS
    
    this creates and installs a debugging kext package for macos. it also
    always installs the decode-panic script (which can be used even without
    the debug kext)
    
    Change-Id: Iff03de66cd3df2690f03333e6629d21660364cd1
    Reviewed-on: http://gerrit.openafs.org/1120
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9f79dde2c804e943c2d6f7deaa00c6997b991691
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 16 17:40:52 2010 -0500

    More pam warning cleanups - test_pam.c
    
    Clear up a few more warnings in the pam code.  The changes here
    are very similar to the ones in the previous patch and use
    the same configure test:
    - use PAM_CONST to conditionally declare pam_message as const
    - cast a few arguments to putenv, which expects a non-const pointer
    
    Change-Id: I6c98623c35f4453f34c1d48b8b7d6ff1bfbc1e0c
    Reviewed-on: http://gerrit.openafs.org/1116
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fdee40d8eac5466dff3969183debd422df60c269
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 16 16:29:10 2010 -0500

    up.c: remove unused variable pageSize
    
    Variable pageSize is declared and set to the system page size
    using getpagesize(), but the value is not used anywhere.
    
    getpagesize() doesn't necessarily have a prototype declared in
    unistd.h with recent glibc, which can generate a new warning and
    trip up an enabled-checking build.
    
    Instead of trying to put in a workaround, just remove the unused variable.
    
    Change-Id: I6a9519eb2642bb0479edd1cf1195ce3f751c72bb
    Reviewed-on: http://gerrit.openafs.org/1117
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 41ae68f2986709daecd1b00a91919df8b2d9581f
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jan 16 18:57:24 2010 -0500

    uss: Fix IP address parsing and cleanup warnings
    
    In uss_vol_GetServer(), the IP address octets are scanned into "char"
    variables, and later cast to afs_int32 to build the address.
    sscanf gives warnings because it's expecting an int pointer, and
    testing shows that this code doesn't work as expected - the first
    3 octets are always parsed as 0.
    
    Use afs_int32 variables instead, which works, eliminates warnings and
    simplifies the code.
    
    Note that this code does not seem to be reachable currently.
    It was probably meant to be used by planned additional uss commands.
    
    Change-Id: I646d4cbfa8ac0d0c50f98a334ac3fe387d6d361b
    Reviewed-on: http://gerrit.openafs.org/1119
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ad48e6fb1f8749a059696612ad503aea28c4707d
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Jan 15 15:39:12 2010 -0500

    Windows: Query the MTU value from the registry
    
    The syscfg_GetIFInfo() call uses the interface info returned by
    GetAdaptersAddresses().  Also manually query the MTU value in the
    registry for any interfaces bound to the same adapter and use the
    smallest such MTU as the value returned by syscfg_GetIFInfo().
    
    Change-Id: I8a1d487b51f6674ff6ebbf6b1f20d37b1e278279
    Reviewed-on: http://gerrit.openafs.org/1105
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 806423be3c55f3de91c2b836d2088eeb0f4e4665
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jan 16 15:35:34 2010 +0000

    Don't double free call structure
    
    If the rx_Read() of the number of bytes in the FetchData64 response
    fails, then it sets code, and disposes of the call structure. However,
    the length safety check that was added in
    c7b92a3018044f7aca4d9a77644e5c06ef64d1e9 executes regardless of whether
    code is set, and the call has already been freed. So we end up calling
    rx_Error with a NULL call structure, and panic.
    
    Change-Id: Ia2e341b7a9a2ddc1d656e8b8a31698c0d1771d5e
    Reviewed-on: http://gerrit.openafs.org/1112
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3c57a1a85a2b3299b7b38557c95ff79a77dc3252
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jan 16 02:15:36 2010 +0000

    Linux: Add missing prototype
    
    6e65ffbb6c520bf1c28356206410363d8eb36d78 added osi_get_group_pag.
    On most platforms this is static, but on Linux it's provided by
    the OSI layer. Add a prototype so the compiler doesn't go boom.
    
    Change-Id: I106fa5d5299f8ed486e70cea2ea8681b43a81a33
    Reviewed-on: http://gerrit.openafs.org/1110
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f5cfa4cf7345e3d36c44f9bc01e0c70762e366b9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jan 16 02:09:34 2010 +0000

    Unix CM: Fix negative file length case, again
    
    As originally noted in f6f9ee5402f1718f330a00ec89fb34b05c3cd360
    some fileservers return a negative length, typically when a client
    is attempting to fetch data that is past the extents of the file,
    the CM needs to retain this negative length, and handle it correctly.
    
    c7b92a3018044f7aca4d9a77644e5c06ef64d1e9 added safety checks for
    the fileserver returning a length larger than that asked for by
    the client. Sadly, this check does a comparison between a
    signed, and an unsigned, variable. This leads to it incorrectly
    classifying negative responses as being too large.
    
    Add a cast, and a comment, to fix this.
    
    Change-Id: I2ca67f55204c565667d5cd91cde3d520f8d9b10c
    Reviewed-on: http://gerrit.openafs.org/1109
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit df702210275453e0d2362b0e142d82bfaf14406c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 15 09:06:05 2010 -0500

    Rx: Correct AFS_NT40_ENV rx_GetIFInfo max MTU assignments
    
    On UNIX, the rx library values for rx_maxReceiveSize and
    rx_MyMaxSendSize are sent by the cache manager directly.
    In Windows, they are set by rx_GetIFInfo() which had two
    errors.
    
    (1) The comparison of rx_maxReceiveSize and maxsize were
        reversed which prevented rx_maxReceiveSize from ever
        being set to the interface MTU.
    
    (2) rx_MyMaxSendSize was never assigned a value.
    
    As a result, two problems occurred.
    
    (1) The remote peer was never told about the local MTU.
    
    (2) The local peer ignores the MTU.
    
    From 1.3.60 to 1.5.33, OpenAFS for Windows installers
    provided a registry default RxMaxMTU of 1260.  This caused
    the cache manager to call rx_SetMaxMTU() which in turn set
    both rx_maxReceiveSize and rx_MyMaxSendSize in effect
    masking these errors.
    
    Change-Id: Ib05927d7985052e233ff6f4bd170a939eb05c320
    Reviewed-on: http://gerrit.openafs.org/1107
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c5d9f23cde1a024835582536e56cf4ea1652b7a8
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 15 09:18:50 2010 -0500

    Rx: Do not drop call lock in rx_WriteProc* and rx_ReadProc*
    
    rx_WriteProc and rx_ReadProc has special fast logic that
    handles the most frequent case.  This code was called
    without obtaining the call lock. However, each of these functions
    must obtain the call lock for the queue_IsNotEmpty() test and
    must re-obtain the call lock if the rxi_XXX variant is required.
    Dropping the lock and re-obtaining it is more expensive than
    holding it across the memcpy.  Therefore, we shouldn't drop the
    lock until we are done.
    
    Change-Id: Icca679567994e91bbbf3afec72b863d986f86582
    Reviewed-on: http://gerrit.openafs.org/1108
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c1b74af7504e699ac831c81d0d7556ca36239298
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Jan 15 09:00:41 2010 -0500

    Rx: Remove last remnants of DJGPP support
    
    DJGPP code just clutters the AFS_NT40_ENV specific code
    but is never built.
    
    Change-Id: I90192bb5cf35239fdbbeaa28f85d1381162f3bae
    Reviewed-on: http://gerrit.openafs.org/1106
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d4c97c0017be80c798206767c750e0855ee6c015
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 14 18:56:49 2010 -0500

    src/pam warning fixes
    
    The second parameter to pam_conv() should be a const pointer on
    recent systems.  Make it so to eliminate a couple of warnings.
    A configure test is added to deal with some systems where pam_conv()
    might not be const.
    
    Cast a few assignments to cell_ptr in afs_auth.c and afs_setcred.c
    since the argv parameter is const.
    
    Change-Id: I5757310c94a6f26ca7dab656edaa416d16e32e2a
    Reviewed-on: http://gerrit.openafs.org/847
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 62e4bf7ddd99d6958cde8dc3639ff4305fb66556
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Jan 14 19:15:03 2010 -0500

    Fix typo in AdminGuide
    
    </pare> -> </para>
    
    Change-Id: If0f8183f59f038b1b5e033d5ebd2607b5091f6da
    Reviewed-on: http://gerrit.openafs.org/1103
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit d4f6ece19b05f2233e53f2d3c59f92316ec5ec3a
Author: Dan Hyde <drh@umich.edu>
Date:   Wed Jan 13 14:38:47 2010 -0500

    volmonitor keep vtrans lock
    
    VolMonitor must maintain the VTRANS lock the whole time it is walking
    the allTrans list.  Failure to do so can cause core dumps trying to
    access memory that has already been free'd.
    
    Two versions of this change were coded and tested.  The other version
    used the VTRANS lock only around a THOLD, but needed a TRELE, too.
    Timing tests were run counting the number of vos status, vos listvol,
    and vos backupsys operations that could be performed during a fixed
    number of vos status operations.  The THOLD/TRELE version caused other
    vos operations to run about 5% slower.
    
    FIXES 126110
    
    Change-Id: I7e749d30c955867faacafa978d7d643dee648ca3
    Reviewed-on: http://gerrit.openafs.org/1098
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64778fd7bece52360482f9a51f19b34dac1d2678
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Nov 17 20:46:17 2009 +0000

    Kernel is always defined
    
    When we build the kernel module, either in the real or the ukernel
    case, KERNEL is defined. So, remove the #ifdefs around our locking
    primitives, so that things are a little bit clearer.
    
    Change-Id: I60893cc630d8cd4dd6cb11cdc44e8bf4f2f9f863
    Reviewed-on: http://gerrit.openafs.org/838
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1a027a3ee151c7f77bbfa74c8002c8ff4b406985
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Nov 17 19:52:15 2009 +0000

    Move GLOCK initialisation to platform directories
    
    Rework the GLOCK initialisation code so that it's moved out into
    platform directories, rather than all being done in osi_Init.
    
    Change-Id: I1aae76ba12cd4e45f54881f5573ed1713159b64b
    Reviewed-on: http://gerrit.openafs.org/837
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 39b59269e5b7715c5a3017fb5e0a3e5222129ac5
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 5 00:22:19 2010 +0000

    rewrite afs_MemWriteBlk() using afs_MemWritevBlk()
    
    this avoids the code duplication of extending/shrinking cache entries
    
    Change-Id: Ieeae668caa506e934f92edf193b99dabdba2eabe
    Reviewed-on: http://gerrit.openafs.org/1062
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9984a95687ab23fea422bbf2b01d92caf33a24a1
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 5 00:18:36 2010 +0000

    Quick fix for readpages when using memcache
    
    Just don't do readpages if we're using memcache
    
    Change-Id: I6b8b45f291d106ad1303d5bea1caf7f910b7ecf4
    Reviewed-on: http://gerrit.openafs.org/1061
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 18459cd32abe9aba75d46910f9a676e4a535e0da
Author: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 7 18:07:43 2010 -0500

    afsd: decprecate -mem_alloc_sleep flag (and related code)
    
    On most platforms, afs_osi_Alloc_NoSleep() is already afs_osi_Alloc().
    I have tested this on Solaris (the major exception) and haven't seen
    any problems.
    
    Change-Id: I0e8bfd76b2bd25889c1491633a3a6d50aceac510
    Reviewed-on: http://gerrit.openafs.org/1079
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1544243167b0f294f080866710b3f29dec133f02
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 11 13:36:32 2010 -0600

    Always check VInitVolumePackage2 return code
    
    Some programs were not checking the return code of VInitVolumePackage2.
    Although some programs do not care so much if we fail to properly init
    the volume package (SYNC debug tools), at the very least log/print an
    error, so it doesn't silently fail.
    
    Other programs are changed to exit when VInitVolumePackage2 fail, so
    e.g. salvages don't accidentally cause corruption on 'logging'-mounted
    UFS partitions.
    
    In any case, ensure the return code is always checked anywhere it is
    called.
    
    Change-Id: I164d5920a5ea2dd7e5ed9ad4ccc578e9bdf0db0b
    Reviewed-on: http://gerrit.openafs.org/1090
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9b23804a82ea12b5d46e6ee2667ec05bed502081
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 13 17:28:24 2010 +0000

    Remove weekly bosserver restarts
    
    Change the default so new installations of the bosserver have
    no weekly restarts. Update the manpage and XML documentation to
    reflect this change.
    
    FIXES 126138
    
    Change-Id: Ic22b750a602f6d2a22be881f5e1b04cd4fa132ae
    Reviewed-on: http://gerrit.openafs.org/1097
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6e65ffbb6c520bf1c28356206410363d8eb36d78
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 19 23:58:54 2009 +0000

    Linux: Rework PAG to group conversions
    
    The change to using a single group for PAGs on Linux led to a load
    of special cases throughout the code. This patch moves the OS
    dependent parts of this into the LINUX/ platform directory, and
    rearranges that file so that there is a clear distinction between
    the one and two group sections of the code.
    
    Change-Id: Ib6e6f081519b23494dcf731b4be689c006180c68
    Reviewed-on: http://gerrit.openafs.org/1007
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d2ddc3b6cfb1bc05fa045360bc09d708fe9cf611
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 11 14:35:12 2010 -0500

    Windows: remove signed vs unsigned error in smb_Init
    
    Use UINT_PTR instead of INT_PTR.
    
    LICENSE MIT
    
    Change-Id: Id10cd7b7a18688c9eee68e3eac9c20348519fd37
    Reviewed-on: http://gerrit.openafs.org/1089
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 6789f170d64695907970f01c22ac6eb8c7b14d15
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 11 14:21:11 2010 -0500

    Windows: Protect buffers in smb_WriteData from simultaneous writes
    
    smb_WriteData does not properly use CM_SCACHESYNC_WRITE to
    protect buffers from simultaneous writes.  Instead of simply
    testing CM_SCACHESYNC_WRITE at the top of the while loop,
    the flag must remain set until the entire write completes.
    cm_SyncOp is now called once and cm_SyncOpDone is only called
    upon final success or error.
    
    In addition, as 'count' is unsigned, the test for count < 0
    is replaced with count != 0.
    
    LICENSE MIT
    
    Change-Id: I82c8dc20e62079b13bf305e906f4744756aa0ac2
    Reviewed-on: http://gerrit.openafs.org/1087
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 513a7e48a2e586bd687af75084cfdf955f37b42f
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 21 12:35:12 2009 -0500

    Windows: fs examine owner and group are signed
    
    Change the owner array to be signed for displaying owner
    and group within fs examine output.
    
    LICENSE MIT
    
    Change-Id: I807e3f1b3c07eb26c1782d6b76cd49977467ce33
    Reviewed-on: http://gerrit.openafs.org/1017
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 57aac9734c12d12b12cb0f2c83a5d97c093a979e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 11 13:59:12 2010 -0500

    Windows: do not call cm_SearchCellByDNS if AFS_AFSDB_ENV is not defined
    
    cm_SearchCellByDNS is only available when AFS_AFSDB_ENV is
    defined.  Do not call it when it isn't.
    
    LICENSE MIT
    
    Change-Id: I203ab775513bd75ff6a547c557579c0bc095d555
    Reviewed-on: http://gerrit.openafs.org/1086
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 35ed0439e32b6aeffc4aee2601a08e0406302cbc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 11 13:51:42 2010 -0500

    Windows: buf_Recycle should clean up flags and reset version
    
    The CM_BUF_EOF and CM_BUF_ERROR buffer flags and the
    buffer dataVersion should be reset within buf_Recycle()
    instead of by the caller of buf_Recycle().
    
    LICENSE MIT
    
    Change-Id: I643da102553200b20f5ecc23ec43974581663a8e
    Reviewed-on: http://gerrit.openafs.org/1085
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit edc39892cbf60eb2f918180f0b4c217ac3bd6dab
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Jan 9 00:26:37 2010 -0500

    Windows: do not leak scp->dirlock if cm_BPlusDirBuildTree fails
    
    In cm_BeginDirOp, the scp->dirlock would be leaked if
    cm_BPlusDirBuildTree() failed.   This would either result in
    a panic later on if lock order validation is active; or as
    an inability to process subsequent requests on the directory.
    
    LICENSE MIT
    
    Change-Id: I03afd0c9e6296c0f43ae39e5a7b1ff29a1619a43
    Reviewed-on: http://gerrit.openafs.org/1083
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6a96e0bf92e0a454e9d4fccf61402c033f374722
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Dec 21 12:29:10 2009 -0500

    Windows: alter nmtest CreateFile modes
    
    Change -r to open the file for FILE_SHARE_READ
    
    Change -w to open the file for FILE_SHARE_WRITE
    
    Change -w to open the file twice.  Once for sequential access
    and once for random access.
    
    LICENSE MIT
    
    Change-Id: I295a7e7408e7e7eac06901108a726fe9e94bf18f
    Reviewed-on: http://gerrit.openafs.org/1016
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6f4ed82da9d941ac303eb2f886f95d97828119bc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 8 09:38:53 2009 -0500

    Windows: return ENOMEM from cm_BPlus functions on malloc failure
    
    There are several cm_BPlus functions that do not return
    an error code on malloc failure.
    
    LICENSE MIT
    
    Change-Id: I3a3d78cc6d6844c78e51fa81ebf330f5af88a7a5
    Reviewed-on: http://gerrit.openafs.org/900
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 987f3bf9c7420bb555eccde3b7407080a760b641
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Nov 22 23:31:00 2009 +0000

    Use dget_parent to handle getting inode of parent
    
    We can't safely do dp->d_parent->d_inode to access the parent inode
    of a given dentry. Instead, use dget_parent() to get safely get a
    reference on the parent dcache, and access the inode using that
    reference. Dispose of this reference with dput() as appropriate.
    
    Change-Id: Ic4f2159f68f95744bca08ebc99ecd5f45dc46966
    Reviewed-on: http://gerrit.openafs.org/1075
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 90f91f4464f5785290040436b2d8cbe4b8ed5810
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Jan 4 21:31:27 2010 -0500

    freebsd:  CM changes targeting RELENG_8
    
    Force all vnodes onto the fs mount queue when allocated.  This fixes
    a long-standing vnode recycling problem.  Don't call vgone() on a vnode
    whose refcount is 0.  Always destroy vnodes in VOP_RECLAIM.  This is work
    in progress towards fixing old reclaim bug mentioned in Rees comment.
    Hold vnode returned from gop_lookupname_user in afs_pioctl_syscall,
    to avoid it going inactive before we're finished.  Also unlock it if
    necessary.  Don't use custom vop_lock impl when AFS_FBSD80_ENV.  Remove
    duplicate conditional code in vnode pretty-print (old cruft).  Also don't
    format fid members as hex. Revert vn_lock exclusve in osi_VM_StoreAllSegments
    (fixes deadlock introduced by me in a 2009 changeset).  Remove unused
    variables in osi_VM_StoreAllSegments.
    
    Change-Id: I9fd146d6f405382a20a75523ec2b75c62ac6d17a
    Reviewed-on: http://gerrit.openafs.org/1068
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7c24f660474dea82a96e6c65883e53c9ad77379f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 17 13:59:57 2009 -0600

    DAFS: avoid saving fileserver state when panicing
    
    When ShutDownAndCore is called with dopanic=1, avoid trying to save
    fileserver state. When we are panic'ing it is very possible that the
    thread that called ShutDownAndCore is one of the background threads we
    are waiting for, or that the calling thread is holding H_LOCK. Since we
    are panicing, the fileserver state is probably not consistent anyway, so
    just avoid trying to save state altogether, and avoid a possible
    deadlock.
    
    Change-Id: If727808bfdfda74a4ec0e65b27ef9c77fbee4aae
    Reviewed-on: http://gerrit.openafs.org/997
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fe07f017f75b2ce0f783bbd8f31eb5b1bcd7c61b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 6 14:05:16 2009 -0600

    DAFS: Allow non-fileserver to schedule salvages
    
    Allow non-fileserver programs to schedule salvages through the fileserver
    via FSSYNC (VOL_FORCE_ERROR with the FSYNC_SALVAGE reason code). Also
    make the volserver schedule salvages this way when it encounters the
    appropriate errors.
    
    FIXES 124484
    
    Change-Id: I03ecf6302436c35fec705cd6c84a40b7cdbf6f97
    Reviewed-on: http://gerrit.openafs.org/787
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9a08865c36013e7e2c6b564588f5a2a6b2a9fd1e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 8 17:29:16 2010 +0000

    Revert "Linux: Replace invalidate_inode_pages"
    
    This reverts commit 40719534d5d906f97a6ae7d28a00289270daf2a6.
    
    RHEL5 kernels publish the invalidate_mapping_pages symbol as
    EXPORT_SYMBOL_GPL, so we can't use it with them.
    
    For now, revert this change - we can live with the deprecated
    warning at present...
    
    Change-Id: I22875683e643c4184bb2c1e06f37d4c6eb9ea0be
    Reviewed-on: http://gerrit.openafs.org/1082
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 165571947be770645900bb8d55ba7b6a3c58f8fd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 4 17:57:30 2010 -0500

    linux kernel lacks uintptr
    
    sadly only recent kernels include uintptr_t. change the cast to use unsigned
    long
    
    Change-Id: Ib69f7aa0f2d316c5ea8bdc960b15ee0f89f96250
    Reviewed-on: http://gerrit.openafs.org/1059
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 708dc955012334fc9ada5fad576cfecd33edb326
Author: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 7 17:48:15 2010 -0500

    UNIX CM: remove the last remaining reference to afs_rxglobal_lock
    
    Somehow this was missed earlier.
    
    Change-Id: Iebebdb90cb42cc9ef716409af435509916e4ab58
    Reviewed-on: http://gerrit.openafs.org/1078
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f72207d8c48bfa087bd677e3966e82952c25fd83
Author: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 7 17:35:20 2010 -0500

    LINUX/: ifdef for GFP_NOFS conditionals
    
    Remove the conditionals in the linux 2.6 tree for GFP_NOFS.  This feature
    has existed since the beginning of the 2.6 tree.  This makes the code
    easier to read.
    
    Change-Id: Ib42af012c57912f72effb836743ab8f1ddc30486
    Reviewed-on: http://gerrit.openafs.org/1077
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fcce9a4727d80762552c10075b03a48ecd40edac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 3 19:01:47 2010 -0500

    darwin module prototype and cleanup
    
    tidy up the osi_module and osi_misc prototyping, and the error checking
    and returns at module load time. side effect: also use the afs3_syscall
    prototype for the BSDs.
    
    Change-Id: I373f44f3b5999dc05ba23f09c74149aaf237edcc
    Reviewed-on: http://gerrit.openafs.org/1056
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8f689aec1499fa0c8d1b49cff1a51a9f0dcd8890
Author: Dan Hyde <drh@umich.edu>
Date:   Wed Jan 6 10:49:39 2010 -0500

    volmonitor copy link before calling free
    
    Copy tt->next before TRELE(tt) calls free(tt).
    
    We have a core file from a VTRANS_OBJ_LOCK(tt) assert failure, with tt
    pointing into glibc's malloc data structures.
    
    Change-Id: Id52b774520c59c224b58f5d507cc490dafea5ca1
    Reviewed-on: http://gerrit.openafs.org/1069
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Thomas L. Kula <tkula@umich.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c37b9230c5ce845483d573efbb19e41d5b5cc48f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 6 15:43:18 2010 +0000

    Linux: Mark our super block as not updating access time
    
    We don't update access times, so mark our mount options as such.
    
    FIXES 126084
    
    Change-Id: Ic1591b943288dae45267676046f78e02c306ec08
    Reviewed-on: http://gerrit.openafs.org/1071
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e34702ef89649df47745121f45df32bec1f2fccb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 6 15:12:32 2010 +0000

    Linux: Use the correct ATIME flag
    
    Since Linux kernel 2.4.0, MS_NOATIME has been a super block flag,
    and S_NOATIME has been the corresponding inode flag. Use the
    correct flag when we're opening cache files.
    
    FIXES 126084
    
    Change-Id: I69cbcd651584cc86568c51793dd3f6d3e8644709
    Reviewed-on: http://gerrit.openafs.org/1070
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2433a3e4cf08e2c489100ea6c7a676712e25369
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 5 00:14:26 2010 -0500

    cachemanager additional cleanup
    
    integrate support for additional cachemanager cleanup. free
    volume, server, unixuser objects. cleanup messages printed at shutdown.
    zero/null/init additional locks and structures.
    
    FIXES 126069
    
    Change-Id: Id00219b679a0b4ad15ca06fc16335b0e4282e0eb
    Reviewed-on: http://gerrit.openafs.org/1065
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c03980f710a9b169f68ce72a2f00b1a414c0ad2d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 4 13:44:48 2010 -0500

    macos code signature for afsd
    
    this is a dodge; we should sign with a real certificate and distribute
    signed binaries. until we more formally exist, this allows application
    firewall to at least cope better with us.
    
    Change-Id: I84d18f72f7b9a42f4eb41f86e2e6dc1ae54f662a
    Reviewed-on: http://gerrit.openafs.org/1057
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6e82a621e6ddfe6b38c42f8302168b2b58502522
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 18 12:17:41 2009 -0600

    Refuse to attach inode partitions with UFS logging
    
    Partitions with the 'logging' UFS mount option are known to cause
    corruption when using the inode fileserver backend. So, if we detect
    that we are attempting to attach a 'logging' partition, refuse to attach
    it.
    
    Change-Id: I0ee23b9935ac6ffc66e6228fe03d6bbfb5d64574
    Reviewed-on: http://gerrit.openafs.org/999
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 94ff83fee835f6d6c43d1907daee7c0e1567ff52
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jan 4 19:37:40 2010 -0500

    Linux: don't oops on writeback if vcache has no stashed credentials
    
    When doing writeback, use current credentials if we can't find
    stashed credentials in the vcache entry.
    This is normally stashed in afs_open, so it's not clear how we
    get to that point, but that's not a reason to trigger an oops.
    
    Change-Id: I60937e3f9e360e68ea84205570c05cabb47ef08e
    Reviewed-on: http://gerrit.openafs.org/1063
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 747a8c0642aeaef814d953d16968fb5026e1ec69
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Dec 29 13:40:15 2009 -0500

    viced: allow alternate addresses on the same hash chain again
    
    Revert the logic meant to prevent duplicate entries in the
    host address hash table so hosts with multiple addresses can
    be stored in the same hash bucket again.
    
    Add a new log message to show when the host cannot be stored
    in the hash table because of an address-port pair collision
    with a host already in the hash table.
    
    Change-Id: I24bf48b912dcf3062201691b446372d78de9bc14
    Reviewed-on: http://gerrit.openafs.org/1046
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit daff4006627fc88be85dade3d72aa45e57a6804a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jan 5 00:14:06 2010 +0000

    Fixes for supergroups on Darwin 64bit
    
    Some fixes needed to make supergroups build on 64bit Mac OS 10.5
    
    Change-Id: I1aea100b138a8212010dd9f511377c993589977f
    Reviewed-on: http://gerrit.openafs.org/1060
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4eb19cdc03c4f31ed1d4cefcd01163036ed8c6d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 30 11:32:58 2009 +0000

    Unix CM: Use xdr_free to free memory allocated by XDR
    
    In src/afs/afs_volume.c VL_GetAddrsU() returns memory allocated by the
    xdr package. In 1.4 there was no method of freeing this safely. On the
    head there is using the xdr_free() function.
    
    FIXES 124937
    
    Change-Id: I72b8333e02e0e58dd16d25e9ed258a2551cdef9d
    Reviewed-on: http://gerrit.openafs.org/1047
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 54c4ce48bf4883ee4f1cb8db8899d754baef9c34
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Dec 30 19:19:09 2009 -0500

    freebsd: fix afs_root signature (RELENG_8)
    
    Track removal of thread id param, which had become redundant.
    
    Change-Id: Ifa8ddce411373a1aee01b577bf7e5a268e644dd7
    Reviewed-on: http://gerrit.openafs.org/1055
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a5d054668a8ec5f0cff2e446512a7d027fc65343
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Dec 31 11:08:32 2009 -0500

    Build fix: restore centry in ptutils.c
    
    The declaration of centry is needed when supergroups are not
    enabled.  Restore it within the ifdef so that we don't get
    an unused variable warning if supergroups are enabled.
    
    Change-Id: I0e7916b7898cdd5c47accb7f185764bbb1f2e94d
    Reviewed-on: http://gerrit.openafs.org/1054
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4d6d7866689a2c005a055c580b8a54d7c9412386
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 30 16:22:37 2009 -0800

    Remove warnings from supergroups code on x86
    
    Prototype functions where necessary, remove unused variables, fix
    mismatches of data types (char * != void *), initialize variables the
    compiler can't tell are initialized, compare integers against 0 and
    not NULL, and wrap assignments used as conditions in an explicit
    comparison.
    
    This removes all warnings that fail --enable-checking on x86 with
    --enable-supergroups.  64-bit will still have warnings.
    
    Change-Id: I5ab6e317a280bea29cb44b97f2805a00e387577f
    Reviewed-on: http://gerrit.openafs.org/1050
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1526593621f78efaf2b37e4ac25a2944b6099920
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 30 20:30:27 2009 -0800

    Correct spelling errors in man pages
    
    Correct several spelling errors in the man pages detected by Debian's
    Lintian package checking tool.
    
    Change-Id: I3834a12776ec5e27b04d80fbfcc43ffe71cf1790
    Reviewed-on: http://gerrit.openafs.org/1051
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64cacab28ba7b9692db0b494e2d4399c535bd1ae
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Dec 22 19:48:02 2009 -0500

    freebsd: track RELENG_8
    
    Fixes to re-enable build and load of kernel module on FreeBSD's
    RELENG_8.  Includes the following changes:
    
    Remove cred pointer argument to vop_getattr and vop_setattr.
    Restore VSUID and VGUID defines, but move to osi_machdep.h.
    Fixup calls to vinvalbuf, create a macro to avoid too many ifdefs.
    Revert incorrect definition of gop_lookupname_user.  Avoid
    uninitialized use of 'code' variable in vop_access, and track
    new a_accmode member name.  Remove cred pointer in VFS_STATFS.
    Avoid including sys/ioctl.h in kernel mode (formerly had no
    effect, it's now an error).  Avoid using an empty file as an
    object file in shlibafsrpc link.  Replace suser() calls with calls
    to priv_check, using defined OpenAFS privileges (thanks due to
    Ben Kaduk).
    
    Change-Id: I96fc29599a797b975630c8fa5b8b84798b3740a6
    Reviewed-on: http://gerrit.openafs.org/1023
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e4708157ea55ef79d1c3a5387859618bdba90395
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Dec 27 11:28:43 2009 +0000

    Linux: Check for multiple silly renames
    
    We don't want to do multiple silly renames of the same dcache entry,
    so add a check for that occuring, and just return EBUSY if we're
    trying to do so.
    
    Change-Id: Ic1cb4061d89bf87926995162f1ac410375bddcb5
    Reviewed-on: http://gerrit.openafs.org/1035
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ec352e0bfd6f324c6b95a3b1e816809c24004e84
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Dec 27 11:06:01 2009 +0000

    Abstract out Linux sillyrename function
    
    In order to keep the dcache happy, the Linux client has its own
    sillyrename function. Abstract this out from afs_linux_unlink into a
    function of its own (afs_linux_sillyrename) so we can make use of it
    from other vnodeops.
    
    Change-Id: I298251c400dfc22efb3bacaa72612b28a5409112
    Reviewed-on: http://gerrit.openafs.org/1034
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 35d5b6c4e101c92e2c242bb75029db24eb1aa7d7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 26 18:22:32 2009 +0000

    Remove unused configuration tests
    
    Remove configure tests that are no longer used by the build. Testing
    for unused features just slows down the configuration process.
    
    Change-Id: I18e161e8e608a69801c53980e545c3077a7578d7
    Reviewed-on: http://gerrit.openafs.org/1033
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 16a824222ba1ecdee4734659d76680bf4f61695a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 24 18:19:01 2009 +0000

    Remove HAVE_STRUCT_BUF test
    
    Ever since b1edf891d717ee8e08c0d93738a204cff09cf68f was committed,
    we've not needed to test to see if the OS provides struct buf - we
    can just declare it as a structure without providing a definition
    in all circumstances.
    
    Change-Id: I81ebad0dcda91229883f44b657e8113ec832668d
    Reviewed-on: http://gerrit.openafs.org/1032
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f54588201488fe1038f52546853c7c2082ff069a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 24 15:35:47 2009 +0000

    Remove --disable-full-vos-listvol-switch option
    
    Remove the --disable-full-vos-listvol-switch configuration option,
    and the corresponding #ifdefs. Full output from vos listvol is now
    always enabled.
    
    Change-Id: Ib4900cc0a8532b3db31d13d34fe59946b34e86ed
    Reviewed-on: http://gerrit.openafs.org/1031
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5364fada4e4eb48dcb72cd0802b8486bee3228c9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 24 15:14:46 2009 +0000

    Remove --disable-afsdb
    
    Remove the --disable-afsdb option from configure, and the
    corresponding AFS_AFSDB_ENV #ifdefs from the code. This means that
    the AFSDB code will always be built, but whether it used or not
    can still be controlled by runtime options in the cache manager.
    
    Change-Id: I1378c4626568e02345c7c400804747c446078c7e
    Reviewed-on: http://gerrit.openafs.org/1030
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0fce88e07934899eb2dfcff87ec289e0d4f683eb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 29 11:29:09 2009 -0500

    clean up axscache at shutdown
    
    modify allocations in axscache code to be able to be tracked. at shutdown,
    clean up allocations.
    
    Change-Id: I1fbde0fe49cf0cdeea451dac58718a90f1c87e66
    Reviewed-on: http://gerrit.openafs.org/1037
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d11ca53be7d80096c21b777ec04e1874bed870d9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 30 11:44:39 2009 -0500

    Make DAFS 'bos salvage' work in restricted mode
    
    bosserver currently has code to specifically allow 'bos
    salvage'-initiated salvages to run when in restricted mode. This only
    specifically tests for running salvager, though, and so fails when 'bos
    salvage' is run against a DAFS fileserver and tries to run
    'salvageserver -client' instead.
    
    Test for 'salvageserver -client' as well, so we can run 'bos salvage'
    for DAFS fileservers in restricted mode.
    
    Change-Id: I27052a440ea8d6347a9d86e4a1f1a7131a277b0b
    Reviewed-on: http://gerrit.openafs.org/1048
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 12f35e84934015251ec4e0171d302e7f10f894c2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 24 14:34:42 2009 +0000

    Remove --disable-largefile-fileserver
    
    Make largefile fileservers the only option. Remove all of the
    AFS_LARGEFILE_ENV ifdefs, and tidy up some code as a result of
    this change.
    
    Change-Id: I126f7dc5505bbdb28c9337dcd2e81403045707f4
    Reviewed-on: http://gerrit.openafs.org/1029
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Andrew Deason <adeason@sinenomine.net>

commit f085951d39c0d6c1e6a626177c30235704317600
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 24 13:00:53 2009 +0000

    Turn on bos restricted code
    
    Remove the #ifdef's around the bos restricted mode code. This makes
    restricted mode available as part of the standard build, but a server
    will not go into restricted mode unless the relevant command line
    options are specified, or bos setrestricted is run.
    
    Document bos_setrestricted and bos_getrestricted, and the new
    '-restricted' command line option. Add a note to the man pages of
    all of the commands whose behaviour is affected by restricted mode.
    
    Add 'setr' and 'getr' aliases for setrestart and getrestart so that
    these documented shortcuts continue to work (otherwise they'd be
    ambiguous against setrestricted and getrestricted). Note that
    setre, setres, and setrest will not work once this patch is applied.
    
    Change-Id: Ie69d21493ea5f78757f0a3d478de43fdaabd3c31
    Reviewed-on: http://gerrit.openafs.org/1028
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bd4c636e9169cc098696916a40da1301c3100d88
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 30 20:33:14 2009 -0800

    Update .gitignore for copied rxkad files
    
    src/rxkad/Makefile copies fcrypt.h and sboxes.h from the domestic
    subdirectory, so ignore the copies in the src/rxkad directory.
    
    Change-Id: I263c8f5ea45c3c6b32bc377f6451424477d255a2
    Reviewed-on: http://gerrit.openafs.org/1052
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c45e2b374b7fd03863e82e013fee6bc8821717a1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 22:48:39 2009 +0000

    Linux: #if BLAH should be #if defined(BLAH)
    
    As the subject says, using #if BLAH gives warnings. Fix them
    in osi_ioctl.c
    
    Change-Id: Iee3da68cd29e84bd201a1ee657d3f80ca9b2f5d5
    Reviewed-on: http://gerrit.openafs.org/1041
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit dab6cbadd666f83ebaf597b5fe228525ad65bed3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Dec 30 13:02:31 2009 -0500

    missing brace in afs_get_sb
    
    Fix a syntax error when GET_SB_HAS_STRUCT_VFSMOUNT is
    not true so we can build on older versions of linux.
    
    Change-Id: I85aac803f68c3f3729abd32dfcecbc20ccac8ab9
    Reviewed-on: http://gerrit.openafs.org/1049
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 187630ed3e2fa65c8c49143da0b99b91450a6c5e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 17:06:42 2009 +0000

    Unix: Rename aklog_main.c as aklog.c
    
    Now the reasons for having aklog_main.c separate from aklog.c have gone,
    rename the file so we've just got aklog.c
    
    Change-Id: I32e34be246a5357be25ab93328d434c396483042
    Reviewed-on: http://gerrit.openafs.org/1038
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit da8c26533d101f5e90d7c2d829441c0f2c48a63b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 17:03:50 2009 +0000

    Unix: Merge aklog with aklog_main
    
    Historically, aklog was split into aklog.c (which just contained a
    wrapper) and aklog_main.c, which did all of the hard work. Now
    that we've purged all of the Windows code from aklog_main.c, we
    can merge them both into the same file, so do so.
    
    FIXES 20884
    
    Change-Id: Ifdcb33f4eb2b26703c833056882d95f7f0f654b1
    Reviewed-on: http://gerrit.openafs.org/1036
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6ec18461649d3e4f44b2476f886bcc480c456500
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 17 15:33:42 2009 -0500

    avoid leaking stat info
    
    if a file is already CStatd we just copy out the information without doing
    access checks. add an access check.
    
    Change-Id: I94d1dc118189b19759d8e9635988c40f38026cbb
    Reviewed-on: http://gerrit.openafs.org/995
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6c9d49d096017f15306d0c9256f6dc2d933f001e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 29 15:45:51 2009 -0500

    Return a cell name from afsconf_LookupServer
    
    Previously, afsconf_LookupServer could not meaningfully return a cell
    name, since a char* was passed in for realCellName, and
    afsconf_GetAfsdbInfo was expecting the value of the pointer to change.
    Change afsconf_LookupServer to take a char**, and pass realCellName by
    reference, so we can get a cell name back.
    
    Change-Id: Ib945fcb4be482ee155cdd1dcd62fe577c002082d
    Reviewed-on: http://gerrit.openafs.org/1039
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 87de027fa430f67bd92153feedfc3fbab54c4c64
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 21:56:36 2009 +0000

    Fix ioctl32 inclusion on Sparc 64
    
    ioctl32.h only became available in Linux 2.5.44, so reduce the scope
    of the include. It went away again, in Linux 2.6.22. In its short
    life, it only ever provided prototypes for registering translation
    handlers, and for sys_ioctl.
    
    Only include it where we call those handlers, and when we call them,
    to remove compilation errors for Sparc64.
    
    Change-Id: I7816bd8b1e18ead68f7e5078e684d60bf59ac470
    Reviewed-on: http://gerrit.openafs.org/1040
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 99d007067329e451b99058e94f7a76e37b3dbdcd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Dec 30 01:39:26 2009 +0000

    Documentation: Fix asetkey syntax
    
    To set a key, use "asetkey add", not just "asetkey"
    
    FIXES 125430
    
    Change-Id: Ifa381ec95f9253bcc5c7a1d374fbf88408f82f67
    Reviewed-on: http://gerrit.openafs.org/1045
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 40719534d5d906f97a6ae7d28a00289270daf2a6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 22:58:56 2009 +0000

    Linux: Replace invalidate_inode_pages
    
    invalidate_inode_pages is now marked as deprecated in the kernel
    headers. Use the equivalent call to invalidate_mapping_pages() which
    has been available since Linux 2.5
    
    Change-Id: I58de20e16874bb06991320b26bc6ce63685b8bb4
    Reviewed-on: http://gerrit.openafs.org/1042
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit acd1bcf7267ea800ee4e3a19761105482a24f7b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Dec 30 01:04:23 2009 +0000

    Documentation: vos dump -verbose outputs to stderr
    
    vos dump -verbose sends its logging to stderr, not to stdout (where
    it would potentially collide with the dump data itself).
    
    FIXES 124911
    
    Change-Id: I515c50df59d2f376787969df59b6e01e244ecbc7
    Reviewed-on: http://gerrit.openafs.org/1044
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 10c00e1f17ceb0c74c074593d09633b6c0e51278
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 29 23:20:36 2009 +0000

    rxgen: Remove stray debugging statement
    
    A stray "Printing ex_req" slipped into the last set of rxgen changes.
    Remove the unnecessary debugging statement.
    
    Change-Id: I2dda4138d70bf3429122f58bbbae996b84baefac
    Reviewed-on: http://gerrit.openafs.org/1043
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 9f1c90a6e0004bda153e9e077dc68381b2beec13
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 24 13:32:14 2009 -0500

    Move TOP_INCDIR/des dependency to prelude
    
    Make TOP_INCDIR/des a dependency of the 'prelude' target, not all of the
    'dest'-ish targets. Without this, things like 'make tviced' fail since
    we never create the TOP_INCDIR/des directory, but 'des' needs to copy
    headers into there.
    
    Also, remove the other redundant INCDIR/LIBDIR deps in the 'dest'-y
    targets, and put them in 'prelude'.
    
    Change-Id: I1beb1a0c8b93a7bf17af71792ab38590d03c9976
    Reviewed-on: http://gerrit.openafs.org/1027
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1f23ff72e9d0b555c44dca90a92c6379e5d52f3a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 17 15:16:50 2009 -0600

    Check viced FetchData length for cache bypass
    
    Same fix as change I413393a7bacbf207332d7f904cf396c79b77b6b5, but for
    the cache bypass code.
    
    Change-Id: Ic181e257f7d0e1892bd10bf14d8d5571b4804d63
    Reviewed-on: http://gerrit.openafs.org/1000
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9651fd726f8cc5d7b2ebdadf48b7e22bf25d1715
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Dec 23 15:23:30 2009 -0500

    Fix warnings in fs.c with --enable-cache-bypass
    
    Fix some warnings in src/venus/fs.c so we can compile with
    --enable-cache-bypass and --enable-checking:
    
     -- Include ctype.h so isdigit gets a prototype
    
     -- Make BypassThresholdCmd have the proper signature
    
     -- Remove the unused 'size' variable
    
    Change-Id: I09afc6c04c990476226d1c2a751e23d3d39085b6
    Reviewed-on: http://gerrit.openafs.org/1025
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2c0a9ab3c361ade9218c2f458d86165de8eadc76
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 22 21:46:43 2009 +0000

    Solaris: Don't access lbolt directly
    
    Recent changes in OpenSolaris have removed the 'lbolt' variable.
    However, the ddi_get_lbolt accessor (which has been present since
    Solaris 10) can be used to get access to the same value. So, use it.
    
    Change-Id: I7a72bab14b0226fb25adb642f3621512e02ca216
    Reviewed-on: http://gerrit.openafs.org/1022
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dd9ab4b84c0bad163ccef8c3d24554e19f005cb1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 22 21:42:19 2009 +0000

    Solaris: Don't directly fiddle with the groups structure
    
    Solaris doesn't let us directly play with the groups structure
    anymore. Instead, there is a crsetgroups accessor which can be
    used instead. So, use it.
    
    Change-Id: I4d5b99110318630c8a7744812476e1941c117381
    Reviewed-on: http://gerrit.openafs.org/1021
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0f0f6cd613fe1084af948f1765a5e7e0772b117d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 22 21:38:00 2009 +0000

    Solaris: Be more flexible about compilers
    
    OpenSolaris doesn't have its C compiler in /opt/SUNWspro/bin/cc,
    but we still have to be careful to avoid gcc, as that can't
    build the kernel module.
    
    As a short term stop gap, add a PATH_PROG test which looks in
    both /opt/SUNWspro/bin and /opt/SunStudioExpress/bin for cc.
    We probably should look in more places, and in the long run,
    we should probably be taking whatever autoconf gives us
    (for userspace, at least)
    
    Change-Id: Ie31cf1bf474650a081fc101a2aa40cfa6bd39423
    Reviewed-on: http://gerrit.openafs.org/1020
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b631f5d64c629f5cda8ca02d859a089dca0a71fe
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 22 21:34:23 2009 +0000

    Look for aclocal in more places
    
    Some operating systems (cough, OpenSolaris, cough) have multiple
    versions of aclocal installed, and don't populate the 'aclocal' name.
    If 'aclocal' isn't present, then try using 'aclocal-1.10' before we give
    up in disgust.
    
    Change-Id: Iad6daf1038942aeee13f38cb0c00c58da621cfd1
    Reviewed-on: http://gerrit.openafs.org/1019
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2ec18e9f7adb8a5916e54cd9f45e5e6db6408de9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Dec 22 09:49:21 2009 -0500

    Fix typo in afs_linux_cred_is_current
    
    987816dfa852750caca8c64c44174a5333ae0e3b introduced a stray 'cred' in
    one of the afs_linux_cred_is_current definitions. Remove it so we can
    build without STRUCT_TASK_HAS_CRED.
    
    Change-Id: I7ef94c1c3d15a2a744755d8a20ec2b0c92cd5349
    Reviewed-on: http://gerrit.openafs.org/1018
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 846f772601114dc57ddba934fbdca2b2f2a4aa31
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 10 16:13:45 2009 -0500

    Prefix global defines
    
    Prefix constants relocated to the common afs_consts.h
    header to void naming collisions.
    
    Change-Id: Ib657e00385002c957b40b36058f260c6cabd108c
    Reviewed-on: http://gerrit.openafs.org/905
    Reviewed-by: Mickey Lane <mlane@sinenomine.net>
    Tested-by: Mickey Lane <mlane@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2b8e09315c6f08f3972754b3ea0b6847b1f12d25
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Dec 10 11:37:34 2009 -0500

    Consolidate duplicate definitions
    
    Housekeeping change to consolidate some common definitions.
    Create a new common header called afs_consts.h.  This allows
    us to remove the afscp.c dependency on afs.h (so src/tests
    will build again.) Rename the max filename definition in the
    update server package to MAXFNSIZE to avoid a name conflict
    with MAXSIZE.  The global defines will be prefixed with
    AFS_ in a second patch.
    
    Change-Id: I2b8d555a244cc92d889618de4eec4a99550d7c7f
    Reviewed-on: http://gerrit.openafs.org/855
    Reviewed-by: Mickey Lane <mlane@sinenomine.net>
    Tested-by: Mickey Lane <mlane@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bbd7a211761db6bd9c9412037a35d3024af26cc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Dec 20 08:30:07 2009 -0500

    Linux: fix sysctl for 2.6.33
    
    The sysctl patch for 2.6.33 was a bit overzealous and ifdef'ed
    a few lines that it shouldn't have.
    
    Change-Id: I7033259e567a06ce05b968366e810c5b2688c271
    Reviewed-on: http://gerrit.openafs.org/1011
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 36f97969f39637042a54c0d45877a48cc9dfcac1
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Dec 19 22:22:05 2009 -0500

    Linux: utsrelease.h is moving
    
    In kernel 2.6.33, utsrelease.h has moved to include/generated.
    Adapt the configure code to consider that location, and clean
    up that section's indentation.
    
    Change-Id: I5061043ff7f46875a39953b11c472693650c7485
    Reviewed-on: http://gerrit.openafs.org/1009
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 846c28282fb4ccd2136e3e27b60b9363ea7f759e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 19 21:53:54 2009 +0000

    Fix PAGs for all platforms without Linux keyrings
    
    The changes in 7b272177de4c6f78db7f2315f4e30e85ab7660bb sadly break
    all platforms which aren't Linux. This is because the logic in PagInCred
    doesn't handle the non-Linux case at all. Fix this so that we call
    afs_get_group_pag whenever we're not running on Linux.
    
    The code also doesn't match the comment - Linux kernels which don't
    have keyrings should use afs_get_group_pag(), regardless of whether
    STRUCT_TASK_HAS_CRED. It's unlikely this bit would ever bite anyone
    though, kernels with cred support almost certainly require keyrings.
    
    Change-Id: I5373da51151229dc13b6dc60c3cf10700f0f881a
    Reviewed-on: http://gerrit.openafs.org/1006
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 987816dfa852750caca8c64c44174a5333ae0e3b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 19 20:21:36 2009 +0000

    Linux: Simplify keyring compatibility code
    
    This introduces a few inline functions in osi_compat.h, to reduce the
    number of #ifdefs in the main chunk of code. In particular, we gain
      * afs_linux_key_alloc : to handle all the different key_alloc
                              signatures
      * afs_linux_search_keyring : to handle our two different mechanisms
                                   for searching a keyring
      * afs_linux_cred_is_current : will return true if we're using native
                                    credentials, and the passed creds are also
                                    those of the current task
    
    Change-Id: I138f3533a7e8e88e04e4b5508158e003882d63ee
    Reviewed-on: http://gerrit.openafs.org/1005
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cda45cc7a11495c1acc5a5ebbac1474f3eb5a6bd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 19 15:40:49 2009 +0000

    Linux: Don't panic when keys aren't found
    
    This fixes two potential problems in our session keyring lookup code,
    which can lead to panics in situations where we're using the new struct
    cred based code.
    
    The first is that if there is no session kerying installed for the
    current task, we'll attempt to do a lookup on a NULL kerying and oops.
    
    The second is that if the keyring_search returns EPERM, then we can end
    up unmasking that error code, and return NULL, rather than an error.
    
    Change-Id: If0e2804408ec17b00f352980cee6a8e56704d93f
    Reviewed-on: http://gerrit.openafs.org/1004
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 994ef0e7cab95e2fc6f47fc8838490112e432ffd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Dec 19 14:48:32 2009 +0000

    Linux: Flush vcaches when a mount fails
    
    GetVCache (well, really NewVCache) creates a new vcache, with an attached
    inode, and links it into the VLRU queue, regardless of whether it is
    successful in populating that vcache or not. The attached inode, on Linux,
    contains a reference to the super block of the filesystem. If the created
    vcache is for the root, however, and populating that vcache failes, then mount
    fails, and the super block is disposed of. This leaves us with a vcache in
    the VLRU queue which contains a reference to a non-existent inode.
    
    When ShakeLooseVCaches comes along a few minutes later, it attempts to discard
    this inode. However, doing so fails because the inode no longer has a valid
    super block.
    
    Avoid this trauma by ensuring all vcaches are disposed of before the super
    block goes away, in the event of a mount failure.
    
    Change-Id: I68864f1ea401d24adba76164905a17de6ab3e6ce
    Reviewed-on: http://gerrit.openafs.org/1003
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c7b92a3018044f7aca4d9a77644e5c06ef64d1e9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Dec 17 14:59:44 2009 -0600

    Do not trust FetchData length from fileservers
    
    Currently the Unix CM implicitly trusts that the length from a FetchData
    request from a fileserver will always be less than the requested length.
    If the fileserver sends more data than requested, we can use up more
    cache space than we intended, possibly exceeding the cacheinfo cache
    limits.
    
    Add a check for this, and return EIO to the caller if the fileserver
    responds with too much data.
    
    Change-Id: I413393a7bacbf207332d7f904cf396c79b77b6b5
    Reviewed-on: http://gerrit.openafs.org/996
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 244397335e41bb83e4dba12bc30a7b4ec6fc6218
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Dec 18 12:21:35 2009 -0600

    platform target depends on cmd and vol
    
    The 'platform' target depends on cmd and vol, since on solaris
    non-namei, we build fs_conv_sol26.c, which depends on some volume
    structures, and uses libcmd. So, have Makefile.in accurately reflect
    that dependency so we can build.
    
    Change-Id: Ic7038f252dd069522ebfc8e72b9743c01c97d99c
    Reviewed-on: http://gerrit.openafs.org/998
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9faaa2fed8c8dd0ae1c9288b1e1130bec78dc9f8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 17 09:48:06 2009 -0500

    kernel ioctl32 conversion typecasting
    
    cast types to avoid a pointer from integer warning when using pointer
    types for sizing
    
    Change-Id: Idac76608e5352c65a13d07bfadb66d78f9db0ffd
    Reviewed-on: http://gerrit.openafs.org/988
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3df80a163874c841f32c4c523fba641142e6d698
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 16 17:12:35 2009 -0500

    Add the 'vos endtrans' command
    
    Add a command to vos to explicitly end volume transactions. These can
    happen if (for example) we segfault or the user ctrl-C's in 'vos'
    before/after a volume operation, but before we AFSVolEndTrans.
    
    Change-Id: Ie34ee1fdff917b56900f456c7cf8b1329533a7da
    Reviewed-on: http://gerrit.openafs.org/870
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2a69aa22c1278d62008863aabe6833954b4466c0
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Fri Dec 11 22:03:39 2009 +0100

    OpenAFS Preference Pane
    Now the preference pane is fat compiled.
    
    Change-Id: I5c54555d00b16d85f01286719bbc41ea5f1fb67d
    Reviewed-on: http://gerrit.openafs.org/906
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6f439ff7edc0e333d477bf7c65b291dae5d993c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 6 14:03:52 2009 -0600

    Expand ProgramType enumeration
    
    The ProgramType values volumeUtility and salvager are overloaded. Expand
    the ProgramType enum to include more specific program types, and adjust
    conditionals to match.
    
    Also, instead of determining all behavior by checking programType, add
    some flags to be passed in to VInitVolumePackage to determine e.g.
    whether or not we can use the FSSYNC channel. This makes it easier to
    see the intent of some conditionals, and reduces the number of times a
    caller must lie about what program it is.
    
    Change-Id: Ic9852a35bb16a6b1f4b0aa9766de63178ecea56f
    Reviewed-on: http://gerrit.openafs.org/786
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 34ffc9cd7d7eed62229704ad0e1d327f076ea7b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Nov 20 15:08:25 2009 +0000

    Linux: Use splice to speed up cache storeback
    
    This patch adds a new cache store function for Linux, which uses
    splice() and direct access to the page cache, rather than doing
    data copies to a temporary buffer between rx and afs. It removes
    one copy, and some context switching, from the write codepath.
    
    One side-effect here is that it will delay storebehinds from
    returning control to the user. Instead of returning once the first
    4k has been successfully transfered, we will wait until a cache
    chunk has been transmitted. This is currently unavoidable, as we
    can't take the GLOCK within a splice actor.
    
    Change-Id: I5b0284d67febccf099710589908fad18b808332c
    Reviewed-on: http://gerrit.openafs.org/903
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 292ec075d2beea2d718caa3f50929e125b1b97c1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Nov 20 15:03:37 2009 +0000

    Rework cache store back
    
    This patch reworks the code to store data from the cache to the server,
    such that the entire store loop can be replaced. The idea here is that a
    platform which wishes to provide a different store loop, in particular
    one which doesn't rely upon multiple data copies, may do so simply by
    plugging in a new function.
    
    Change-Id: I6573c6a5c3e93a1259266e7e1a2b7bd17357203f
    Reviewed-on: http://gerrit.openafs.org/902
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 886801b069fab1e6fc94003221dcfe18e05ac376
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Dec 9 19:06:18 2009 -0500

    Linux: deal with ctl_name removal
    
    The binary sysctl interface will be removed in kernel 2.6.33 and
    ctl_name will be dropped from the ctl_table structure.
    Make the code that uses ctl_name conditional on a configure test.
    
    Change-Id: Iba0f107f299c6515e4e560d7596e6187bd68e399
    Reviewed-on: http://gerrit.openafs.org/904
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 33a87fce6b46515c7e9e057858141cfb0c601d81
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Dec 8 15:21:54 2009 +0000

    pt_util runs on database servers
    
    Fix the pt_util manpage to reflect the fact that it is run on database
    servers, not fileservers.
    
    Change-Id: If2a8e5b65ef925c50eb9bfebea4e0d30c20f0970
    Reviewed-on: http://gerrit.openafs.org/901
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 62a21819a1b57d006c73f84362494794651d1a37
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 5 10:51:27 2009 -0500

    Windows: cm_BPlusEnumAlloc should not fail for zero entries
    
    If cm_BPlusEnumAlloc returns NULL, the caller assumes a
    memory allocation error.  If the enumeration consists of
    zero entries, allocate a structure that stores zero entries.
    
    LICENSE MIT
    
    Change-Id: I8ed3811a1b3a0e4262749e110027c5d5812338b6
    Reviewed-on: http://gerrit.openafs.org/892
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2bffe725c5ebb785257555286567f128e0911cb7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 5 10:53:03 2009 -0500

    Windows: cm_BPlusDirBuildTree can fail
    
    It is possible that cm_BPlusDirBuildTree can fail.  For example,
    the server could be marked down after a callback is obtained
    but before all of the directory data buffers have been fetched.
    cm_BeginDirOp must check for the failure, destroy the tree,
    and return the failure code to the caller.  Otherwise, a tree
    with no entries may be created and marked with the current
    data version.
    
    LICENSE MIT
    
    Change-Id: I26fbfceaf68389a1906797b12721c49172b027ec
    Reviewed-on: http://gerrit.openafs.org/893
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 019ae5240691f27beaf583084fc81f4efb84b166
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Dec 6 23:44:53 2009 -0500

    macos avoid dotunderbar lookups in fakestat mode
    
    cocoa tries to lookup ._ files for every object, possibly generating
    AFSDB queries and other fun. avoid them
    
    Change-Id: Id70b6335d4dddcb6d5628a9883b2c81193bb39d7
    Reviewed-on: http://gerrit.openafs.org/896
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 61ba8e5a88f0fa09a212b89b375167f0b4e1c70d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 7 15:43:33 2009 -0500

    add newline to lockprocs_prototypes.h
    
    gcc was unhappy about the lack of trailing newline. add one.
    
    Change-Id: Ie9c93bd9ed8c923ea8069fe49e7f5ddb20c28f80
    Reviewed-on: http://gerrit.openafs.org/898
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3cb49f57a34b42c9efdc24797efda053cd88be80
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 24 16:09:42 2009 -0500

    Dump all hostFlags in hosts.dump
    
    Currently only certain flags are dumped in hosts.dump. Also dump the
    value of hostFlags itself, so we get more information from a host dump.
    
    Change-Id: I2d265b85e057c2d44938e1d92f4c102048c4bf1f
    Reviewed-on: http://gerrit.openafs.org/869
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5529bf9b6b6b69bbe244f1185e4842e3eca732f5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Dec 6 14:56:20 2009 -0600

    Make HandleClientContext take an afs_ucred_t
    
    5d5d18071608d9782a5d936f79215048af641410 missed one occurrence of
    AFS_UCRED. Make HandleClientContext take an afs_ucred_t instead of
    AFS_UCRED, so afs_pioctl.c builds again.
    
    Change-Id: I04c831ad262cade5da0f90fb8860174657dae4bf
    Reviewed-on: http://gerrit.openafs.org/895
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 03b5994d7bec0088d0edbfc83f5820c089ac9599
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Dec 6 14:25:08 2009 +0000

    Remove AFS_USEBUFFERS
    
    The AFS_USEBUFFERS code has been disabled for all supported platforms
    since the initial OpenAFS code drop. Simplify the buffers code by
    removing it entirely.
    
    Change-Id: Iab6b2d54361eca1a1446b4804b3d6533d75f2831
    Reviewed-on: http://gerrit.openafs.org/894
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ae1926fa95dea39dce2166583d2948c22d59f2c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 4 19:53:21 2009 -0500

    Windows: Version update for 1.5.68
    
    1.5.6800 = 1.5.68
    
    Change-Id: Id3bdc21e5f72ebe2047cb70c2496df2ba7300b4b
    Reviewed-on: http://gerrit.openafs.org/891
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit adf9baebc81dd0a1a88007a1982b889d9eefe72e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 4 11:52:29 2009 -0500

    unix 1.5.68
    
    update version numbers for unix
    
    Change-Id: Ic8a42a9ca1cfc74ab2d8f8d2ac0442efa716a84b
    Reviewed-on: http://gerrit.openafs.org/888
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ad30c2ea8cd2139a14ebe698117f1dc08fb4cf4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 4 15:31:10 2009 -0500

    rx packet dumper not in kernel
    
    don't compile the rx packet dumper when in kernel
    
    Change-Id: I8484f3ed80d3b97d733091901f6e252a455cefa1
    Reviewed-on: http://gerrit.openafs.org/889
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b6b18f12315f648614823bafa016c422a3e0c6f7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 4 10:52:21 2009 -0500

    Fix midnight volume calculation to build on Windows
    
    Change I516d732d broke the Windows build.  localtime_r does not
    exist on Windows.
    
    Change-Id: Ib28e414a85d763dbe146bc2fadec91310f6144ab
    Reviewed-on: http://gerrit.openafs.org/887
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f48c0a20a1a5507f499260175e5308931ecd03be
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 4 00:43:54 2009 -0500

    Windows: Version update for 1.5.67
    
    1.5.6700.0 == 1.5.67
    
    Change-Id: I0f4402cdb8f387b67c93ee9066dc3be352d163c1
    Reviewed-on: http://gerrit.openafs.org/886
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ccb64bd3aacf6f1253dfe4dc3d04bb6b87e100b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 3 23:26:18 2009 -0500

    unix 1.5.67
    
    make 1.5.67 for unix
    
    Change-Id: I1e25ec581b9b2a37230bd2a889f88f454a73ba8f
    Reviewed-on: http://gerrit.openafs.org/885
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a031c900ca6eb40a914327bfc9e9cca370016d56
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 3 15:37:52 2009 -0500

    add rx packet trace debug dumping for unix
    
    revised version of a patch i've had for months to actually be clean.
    allow state of all packets to be dumped so you can see what's on what
    queues where.
    
    Change-Id: Ibaa692c835e9ced5e7cd3299922f5bac09344d28
    Reviewed-on: http://gerrit.openafs.org/883
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b98ca30c160c85834b1ad63a9d806efdd2940e61
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Nov 19 14:07:07 2009 +0100

    Calculate midnight (for volume stats) based on standard functions
    
    The "tz" structure used with gettimeofday is not blessed by common
    standards and not widely supported, on Solaris for example it does not
    return anything useful.
    Calculate midnight based on standard functions (localtime/mktime).
    
    Change-Id: I516d732d4a9dd4696a524a271d806d349c074c25
    Reviewed-on: http://gerrit.openafs.org/849
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 96eaa67edbe25c475836aa31921864936c271941
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Dec 3 15:47:38 2009 -0500

    Windows: change notes for 1.5.67 release
    
    Change-Id: I0eedd81fbfee98c591cfd57364bc23392ccca2da
    Reviewed-on: http://gerrit.openafs.org/884
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e26926210057a6666c66825a78dbb04bf3238846
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 1 16:17:49 2009 -0500

    add unlock support to afscp
    
    make the afscp test client able to drop a lock on a file.
    additionally, make it build again.
    
    Change-Id: Ib4a5acf787f8f2e84699e1638a662068b993d965
    Reviewed-on: http://gerrit.openafs.org/881
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b40b60650cf91f005990bc2e55185a4af7e2cd4b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 17 12:30:44 2009 -0400

    Use xdr_alloc and xdr_free within ptuser
    
    If the memory allocation routines for libafsauthent and libafsrpc
    differ, callers of the ptuser routines in libafsauthent will crash.
    Use xdr_alloc and xdr_free in ptuser to ensure that the memory
    allocation routines are always consistent.
    
    LICENSE MIT
    
    Change-Id: I20fa1e1fc0677917e47e2ed9f0eaec83f23b699b
    Change-Id: Id31bf20b482e9502a5af79f4d86319fe530aa5a5
    Reviewed-on: http://gerrit.openafs.org/319
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 14dbe49786f2547b66a6ad38bdae0db9d1648c49
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 30 19:28:13 2009 -0500

    shutdown_icl return type void
    
    Change the shutdown_icl return type to void
    to match the 1.4.x branch.
    
    Change-Id: I641abbd0f87d648c3c9de3cab4d0dd926a51eb89
    Reviewed-on: http://gerrit.openafs.org/879
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit d393aabca577917b107afdd42efb40cc2fdac50c
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 26 14:09:41 2009 -0500

    Correct duplicate special inodes while salvaging
    
    Right now when the salvager encounters duplicate special inodes for a
    volume, it refuses to salvage the volume, presumably because it does not
    know which inodes to use when recreating the volume header.
    
    However, this can cause the confusing state where the fileserver and
    various volume utilities have no problem with a volume, but the salvager
    refuses to salvage it and marks the volume as needing salvage. When
    salvaging, if we already have a volume header, and we encounter
    duplicate special inodes, it is likely that the special inode referenced
    by the volume header is the correct one.
    
    So, instead of erroring out, keep track of which inodes are referenced
    in the volume header, and if there are any duplicates, either ignore or
    delete the unreferenced ones, depending on the -orphans setting. Also be
    a little more verbose when logging errors in this area.
    
    Change-Id: I15e34e8f2bccdc666bb59e3730fdf8bf51624259
    Reviewed-on: http://gerrit.openafs.org/736
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Steve Simmons <scs@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 19f0da1e44c6ac5acd22f8a2b1d9095d568d216e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Nov 19 18:29:08 2009 -0500

    Warning fixes - key handling
    
    Various warning fixes related mostly to the different types used
    to handle keys.  This should clear most of the remaining warnings
    in this area.  The technique of inline converter helpers is
    extended to cover a few more cases.
    
    README.WARNINGS is adjusted to reflect the current status.
    
    Fixes:
    - bos: define and use an inline converter from a ktc key to a bozo key
    - bos.c and bos_utils.c should no longer have warnings - adjust Makefile
    - define a ktc key to char * converter and use it in a few places
    - define kas key to bozo key ptr converter and use it in a few places (afs_bosAdmin)
    - cast a few arguments to ka_StringToKey which expects non-const pointers
    Change-Id: I1c19869ac232d78209126d4eeeb11af8bcb95815
    Reviewed-on: http://gerrit.openafs.org/860
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0188cf081f3c21cc1cb467a9babeb22a52b093f7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sat Nov 28 22:25:27 2009 -0500

    Add server prefix to utst_int.xg
    
    When compiling src/ubik/utst_int.ss.c, a warning would be produced since
    the server stubs are defined as accepting an rx_connection instead of an
    rx_call, and since the server and client RPC stubs have the same name.
    Give a server prefix so we can distinguish between the two, and fix the
    server stubs and squash the warning, similar to
    bd011aeee7f5dad5c61fd81a90b296c46a0b9058.
    
    Change-Id: Iebf843bcabb4cf8f4a56c6ac30d210573b58d801
    Reviewed-on: http://gerrit.openafs.org/876
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 58258ba3b89732ea825e1aff2decab54347ab92e
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Nov 20 14:15:28 2009 -0600

    Add safety checks on all hostList traversals
    
    Currently, h_Enumerate checks that it doesn't enumerate over more than
    hostCount hosts, in case the hostList has a cycle or is otherwise
    corrupt. Add similar checks to all places in the code that loop over
    hostList, to prevent the code from getting in an infinite loop under
    H_LOCK in the case of a hostList cycle.
    
    Also, ShutDownAndCore instead of assert'ing, so we try and detach
    volumes first, possibly reducing salvaging time when we restart after
    core'ing.
    
    Change-Id: Ide1e5aca7c2c4a4af3f62bc07821db694f2f9999
    Reviewed-on: http://gerrit.openafs.org/863
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bff2027cb963343778001512d5cdf00cc7094c6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 25 16:23:06 2009 -0500

    Add a watchdog timer for ShutDownAndCore(PANIC)
    
    Add a watchdog timer that is started when ShutDownAndCore(PANIC) is
    called, to ensure we actually panic and do not e.g. get stuck in
    deadlock.
    
    Change-Id: I9201fe7d09aeb6819beefaf1755b51129c7bda6b
    Reviewed-on: http://gerrit.openafs.org/873
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4780421a41a05683bcec8d1092534c2ad58f341
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 25 10:25:14 2009 -0500

    Correct include paths in fs_conv_sol26.c
    
    Make the #include paths in fs_conv_sol26.c correspond to the
    36524b2ed73a2774ee1f6242208a1395be7736a8 changes, so fs_conv_sol26.c
    will build again.
    
    Change-Id: Ic454dae07c0fb324f8550d1281b63fe539f8d525
    Reviewed-on: http://gerrit.openafs.org/871
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit af9d80512852c083dd25655c2f717cfd75a9dce5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 25 16:47:27 2009 -0500

    'Flexible client buffer growth' fallout
    
    e7c966354c428a5a5929a3db6a829ee71c8ba2fc re-introduced a usage of the
    'M' lock macro variants previously removed by
    bab6fd227f5724c4e4ca5d0ba1dc64e21ed21f97. Use the non-'M' macros
    instead so we can build.
    
    Change-Id: Ie27fb8e82a7440a6952517d9a0cc1aeb8523511c
    Reviewed-on: http://gerrit.openafs.org/872
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3138aaba25fc93ec0ef38cd1cf61100b86990e80
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 24 18:08:55 2009 -0500

    Windows: Fix test for setting FILE_ATTR_READONLY
    
    When checking whether or not to enforce the unix mode
    bits as if they were the Windows FILE_ATTR_READONLY flag
    the mask 0200 is used.  Make sure that the same mask is
    used when publishing the FILE_ATTR_READONLY flag to the
    smb client.
    
    LICENSE MIT
    
    Change-Id: Ia68bd17ad80341f1c14f3c0caaec8f09a0a2f3c5
    Reviewed-on: http://gerrit.openafs.org/868
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e7c966354c428a5a5929a3db6a829ee71c8ba2fc
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Oct 29 14:52:45 2009 +0100

    Flexible client buffer growth
    
    Allocates the 2k-directory-buffers for the client as needed, in
    small increments, rather than a fixed-length area upon startup.
    
    Change-Id: I6061b71d40284a0059e54377e3b374fee9b86816
    Reviewed-on: http://gerrit.openafs.org/799
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f716962ab41847af4450d0a361f5de9195b32ed0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 18:53:56 2009 -0500

    Windows: disable readonly volume versioning due to file server bug
    
    Change I17e3980184ec68e38c5186e1c9637ac6e38451fe corrects a file
    server bug that results in invalid volume sync data being sent
    to clients during bulk status rpcs.  Unless this is fixed in the
    file servers it is not safe to use the volume versioning functionality.
    
    This patchset disables the functionality by default and permits
    it to be turned on via a registry value.  If the client is deployed
    in an environment in which all of the file servers have been fixed,
    then it will be safe to turn this feature on.
    
    LICENSE MIT
    
    Change-Id: I0db38ffc9cdeb90db20b92adca9a42a06fed2e2f
    Reviewed-on: http://gerrit.openafs.org/859
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 072d69ac27587b6d384aae52de27b6e9b83fdea3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 11:35:12 2009 -0500

    Windows: provide enhanced error output to aklog
    
    Add Simon Wilkinson's change from Unix aklog to Windows aklog
    If afs_com_err fails to describe the error, allow the krb5
    error_message function try.
    
    LICENSE MIT
    
    Change-Id: I47bb6806f1076116a68967617d32d69b98a5bba9
    Reviewed-on: http://gerrit.openafs.org/852
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c5e362a683c5a0b2e046aa62d652ff1c83e42818
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 18:21:39 2009 -0500

    Windows: cm_TryBulkStatus processing changes
    
    move the logging of success or failure in order to
    try to avoid the VS8 compiler optimizing them out.
    
    merge the bulk status information if the current
    cm_scache_t object is flagged with an access denied
    failure on the last request or if it is a readonly
    volume.  This permits us to return something valid
    to the directory enumeration that generated the
    cm_TryBulkStatus call.
    
    LICENSE MIT
    
    Change-Id: I97e9e096e2c36b0a87baaa8d728b588aaf10f153
    Reviewed-on: http://gerrit.openafs.org/858
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit dac817389081d45dab15880f34d9a35c059853c9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 18:19:39 2009 -0500

    Windows: when assigning a new clientModTime, hold a lock
    
    The smb server modifies the cm_scache_t clientModTime without
    holding a write lock creating a race condition.  Fix it.
    
    LICENSE MIT
    
    Change-Id: I6f110f87ef76131965da31a8bf02685480ad9641
    Reviewed-on: http://gerrit.openafs.org/857
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 985a62bcf1a3315ce0460f64e56fa667a4268f1b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 14:18:18 2009 -0500

    Windows: modify src/rxkad/NTMakefile to avoid file copies
    
    Permit src/rxkad/domestic/* files to be compiled / installed
    in place.  This permits the tree to build after the
    application of change I0796fabcf83ffcd74e533624c64e138a160dd632.
    
    Change-Id: I5616c7ab9374751dcb44bb2bce37dec40e01148a
    Reviewed-on: http://gerrit.openafs.org/854
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 13843d852749ba081804f3af368620db7b4b7d7a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 19 18:11:06 2009 -0500

    viced: set volume sync data in bulk status rpcs
    
    The bulkstatus and inlinebulkstatus rpcs have a bug
    that prevents the volume sync data from being set.
    Currently the data is being set within the for loop
    only when i == nfiles.  The conditional of the loop
    is i < nfiles so the SetVolumeSync call is never
    performed.  This patch changes the test for performing
    SetVolumeSync to i == 0.
    
    LICENSE MIT
    
    Change-Id: I17e3980184ec68e38c5186e1c9637ac6e38451fe
    Reviewed-on: http://gerrit.openafs.org/856
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7b272177de4c6f78db7f2315f4e30e85ab7660bb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 24 22:10:46 2009 -0400

    Linux: Keyrings PAG handling changes
    
    We can take advantage of the fact that PagInCred now receives
    a kernel credentials structure as an argument (including any session
    keyring) to make some improvements in the handling of PAGs
    when keyrings are in use.
    
    These changes are effective only if keyrings are in use and we
    have a recent enough kernel where we can use the kernel
    credentials structure.
    
    1 - Search the session keyring of the passed credentials instead of
    the current process' to determine the PAG, if any.  This was always
    not really correct, and now we're able to do the right thing.
    In some situations such as background writeback and pre-fetching,
    this means that we'll now do it with the right credentials, even when
    in a PAG.
    
    2 - Don't use groups at all to determine PAG membership.  Doing so
    can lead to some inconsistent situations such as the one described
    in RT 125198, where a process gets access through a soon to be
    deleted PAG.  Make PagInCred look exclusively at the keyrings.
    Groups are still updated to try to reflect the current PAG for now,
    if the passed credentials belong to the current process.
    
    Note that a process can no longer get a PAG's privileges simply by
    adding the corresponding groups to its group list.
    
    No behaviour change for kernels prior to 2.6.29.
    
    FIXES 125198
    
    Change-Id: Ifb171993cc9ca9d6a97fb7312909485ec0666efb
    Reviewed-on: http://gerrit.openafs.org/730
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 51ece42ab438295d3807180dae34963c676f170a
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Nov 22 14:17:19 2009 -0500

    Remove "unused" warnings from lex generated files
    
    Some (f)lex generated source files produce warnings because of unused
    labels or variables.
    Since there is limited control of the source itself, just be more
    permissive in this particular case with -Wno-unused.
    
    Change-Id: Ice25019f8a592a25f5084e88119b68846d900033
    Reviewed-on: http://gerrit.openafs.org/867
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 85fd4e86af2a6c8a1742774ea4126b8a7b919f3c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Nov 20 17:27:20 2009 -0500

    Linux: hinting removal fallout
    
    The removal of the hinting missed a few things - the prototype to
    afs_linux_raw_open needs to be changed, as well as a few additional
    call sites.
    
    Change-Id: I006540cee574bca7155d9209c2d9b6702c4f6c94
    Reviewed-on: http://gerrit.openafs.org/864
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8ebade0e67c62335416ba3cfd40d19d1e152de02
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Nov 20 17:50:41 2009 -0500

    Revert "osi_UFSOpen returns struct osi_file *"
    
    This reverts commit 4057a9941b95f7a00c57738c1810ec5abf315e97.
    
    UFSOpen shares a prototype with MemCacheOpen because of the
    afs_cacheOps structure.  This is why a void * is used.
    Revert until a more complete fix can be submitted that adresses
    the memcache case as well.
    
    Change-Id: I2e259c08a0bfbc695260c981d29319c2bb7c93dd
    Reviewed-on: http://gerrit.openafs.org/865
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4057a9941b95f7a00c57738c1810ec5abf315e97
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Nov 19 16:34:07 2009 +0000

    osi_UFSOpen returns struct osi_file *
    
    The osi_UFSOpen function always returns a (struct osi_file *). Fix
    the code to reflect this, rather than casting to and from (void *).
    
    Change-Id: I3aa0bb17b547060671aa7045a8237b3926ec613f
    Reviewed-on: http://gerrit.openafs.org/851
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6f803428fdb1d85021cde1606498178d557a9db1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 18 20:07:04 2009 +0000

    Remove inode hinting for dcaches
    
    The VNOP read code has always contained incomplete support for inode
    hinting. In theory this would let us attach open cache files to dcache
    structures, so that we don't have the overhead of opening the file
    with every read that we do.
    
    However, this has been ifdef'd off ever since the first release, and
    is fundamentally broken - it relied upon structure elements that just
    don't exist, and has no mechanism for throttling the number of inode
    hints that are maintained. Inode hinting also required that we store
    an inode number within the osi_file structure (so hint validity could
    be checked), which causes a problem on some modern OS's.
    
    Simplify all of this, by just removing the partial hinting support.
    If we want to revisit this in the future, then the code is in git,
    but if we _do_ feel we want to keep open cache files around, it's
    probably better to start from scratch!
    
    Change-Id: Ia378922f7fcc24fb27b343015dbd16818302ec10
    Reviewed-on: http://gerrit.openafs.org/850
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 573cd80cd145ca2d6bbfcc48499599ec4a86c0b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 18 14:33:09 2009 -0600

    Define afs_maxvcount everywhere
    
    afs_maxvcount can be referenced by non-Linux code, so define it
    everywhere, not just on Linux.
    
    Change-Id: I6e99b6735d58823d0809a00be42a447deb3ced89
    Reviewed-on: http://gerrit.openafs.org/845
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dce56fb8ceff9d052ebcebd21db9e070015142ab
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 19:58:53 2009 +0000

    Fix prepare and commit_write to do the right thing
    
    Even when we're doing syncronous writeback, as we currently do
    for write() operations, it's important to correctly fill, and flag
    the pages we're writing to. Not doing so has a huge performance
    penalty, as it means even when we've just written a page, we have to
    pull it back from the backing store for a read.
    
    This code fixes prepare_write and commit_write (for RHEL5) and
    write_begin and write_end (for Fedora) to correctly populate and
    flag pages which are being written.
    
    Change-Id: Iaa2165b9b429000dcf0c6dd452e3eb8033257277
    Reviewed-on: http://gerrit.openafs.org/820
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4f91de7cf429db63bcf67466cf3fb36feb990643
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Oct 24 15:08:52 2009 +0100

    Linux: Use atomics for credential reference counts
    
    The reference count maintained as part of the afs_cred structure
    wasn't being maintained atomically, requiring that crfree and
    crhold always be called with the GLOCK held.
    
    This patch just switches to using Linux's inbuilt atomic types to
    maintain the reference count.
    
    Change-Id: I1787061afbb48e234b4839b38b8801168ea2f25f
    Reviewed-on: http://gerrit.openafs.org/726
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b9f6a8ce1898cd90c713dc4b54a27bd1644fe47a
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 18 15:43:17 2009 -0600

    Define WCOREDUMP in salvsync-server.c
    
    Some platforms do not define WCOREDUMP. Conditionally define WCOREDUMP
    in salvsync-server.c, and make all of the similar WCOREDUMP defines in
    the tree consistent.
    
    Change-Id: I197979881ade20f6e790bf41523938089379dbe3
    Reviewed-on: http://gerrit.openafs.org/846
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ca9a12c422ad2d29a0c865a2c35ea12fc71158e0
Author: Mickey Lane <mlane@sinenomine.net>
Date:   Wed Nov 18 12:23:15 2009 -0500

    Fix 2 errors in Windows release Notes
    
    Description of registry key HKLM\ SOFTWARE\ OpenAFS\
    Client\ Server Preferences\ File (and \ VLDB) states
    "256" - should be 15 - and "ServerPreferences" should
    have a space between the words.
    
    Change-Id: Ia2147f920ecc023d26250efaf9815f1b09d1550a
    Reviewed-on: http://gerrit.openafs.org/840
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit aa9072ce40f7af11919252da82179b45481eb878
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 13 13:56:20 2009 -0500

    Windows: cm_BkgDaemon requeuing only applies to BkgStore
    
    cm_BkgDaemon currently requeues failed requests for a variety
    of errors.  It only applies to cm_BkgStore requests.  The current
    code only supports cm_BkgStore and cm_BkgPrefetch operations.
    Additional background operations may be added in the future.
    If requeues are meant to apply to the new operations, they should
    be explicitly specified.  Specify cm_BkgStore explicitly now.
    
    LICENSE MIT
    
    Change-Id: Iae7c5fe4f2f7bc701ebe93500626b68f49b0063f
    Reviewed-on: http://gerrit.openafs.org/824
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4c58b1db9f34c220d839dd4a1b38ed11e9ce2197
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 14 16:33:31 2009 -0500

    Windows: Improvements to background fetch processing
    
    Log offset and length in cm_BkgPrefetch()
    
    Convert mxheld to rwheld in cm_BkgPrefetch() now that cm_scache_t
    objects use rwlocks.
    
    Do not clear CM_SCACHEFLAG_PREFETCHING from within the error
    returns from cm_CheckFetchRange().  Let the caller decide if
    that is appropriate.
    
    Add CM_BUF_CMBKGFETCH cm_buf_t cmFlag to make it possible to
    quickly detect if a background fetch operation has already
    been queued for a particular cm_buf_t data range.
    
    LICENSE MIT
    
    Change-Id: I4ac9a2f84ddd64cba86612d7a2abe849bd0bec0b
    Reviewed-on: http://gerrit.openafs.org/827
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 87b1b849811cb4c8c7d3a7e9fd22e5a9f8b3fadc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Nov 15 00:11:24 2009 -0500

    Windows: buf_DirtyBuffersExist uses fileHashp not allp list pointer
    
    buf_DirtyBuffersExist() should use the fileHashp pointer and not
    the allp list pointer in order to walk the hash table list.
    
    LICENSE MIT
    
    Change-Id: Ie043647cbeec479abe0d96b3b5405130f2ba1aac
    Reviewed-on: http://gerrit.openafs.org/828
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3f3a76c0ca2a6e098f337e28cdfcb39ee865446a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Nov 15 15:48:00 2009 -0500

    Windows: Permit custom version numbers and default cellname
    
    Permit custom version numbers and default cellname to be
    specified using environment variables.
    
    LICENSE MIT
    
    Change-Id: If72430a33d8317fcb59d2f83769193e79984046c
    Reviewed-on: http://gerrit.openafs.org/829
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 84cc4f2b367399cdadf544c473566c3ffa908535
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 18 14:14:16 2009 -0600

    src/afs/afs_user.c typo
    
    Commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d had a paren-related
    typo. Correct it to make afs_user.c build on some platforms again.
    
    Change-Id: Iec4634b4c0f1769c81bf9baab0d2cc53f47aaa9c
    Reviewed-on: http://gerrit.openafs.org/843
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9c61e1196a4eb5131cff555fbaeb357bf2e78c1f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 18 14:08:49 2009 -0600

    Define T_SRV when not defined for us
    
    Define T_SRV when we don't have a usable arpa/nameser_compat.h, just
    like we do with T_AFSDB. Some platforms like AIX do not have an
    easily-usable arpa/nameser_compat.h.
    
    Change-Id: I8406a3d2b1f98d0849a1739875656432869ea3c4
    Reviewed-on: http://gerrit.openafs.org/842
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c42222c40e3c4ef80edcdaa34b976505ae9421ac
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 18 14:25:48 2009 -0600

    AIX: Missing brace in afs_vnop_flock.c
    
    Commit 50f6529cf1f191606f55add4cabe53fceab492ed missed a brace in the
    AIX lockIDSet. Add it back to make afs_vnop_flock.c build again.
    
    Change-Id: I09c5ee58ee5258fb904fd752213eb28a1e80291a
    Reviewed-on: http://gerrit.openafs.org/844
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0a8e7b15486f5baa089eef661cdf0924af736160
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Tue Oct 6 08:42:51 2009 -0400

    viced ihandle boost
    
    Make ihandle file descriptor cache parameters tunable, and accommodate
    platforms where max open files is large.  Expand the fd cache hash table
    to 2048 entries.  Raise fd cache size automatically to match configured
    number of lwps.
    
    NOTE: This code has been tested on Centos 5.3 x86_64, on VMWare, 2 physical,
    2 logical CPUs (in tandem with viced_more_threads).
    
    LICENSE BSD
    
    Change-Id: If68eda6e1c955e026b250ca52bddf0b8383959c9
    Change-Id: I5fbbec95523ea9cd9ff42dcf43f17db94c7bb161
    Reviewed-on: http://gerrit.openafs.org/584
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 82c131f6c5b57c224d157e810df264b66d052ba0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 18 11:23:06 2009 +0000

    Name chunkOps structure elements
    
    Name the structure elements in chunkOps, to reduce the danger of
    things getting misaligned when new function pointers are added.
    
    Change-Id: I3d22130f9bd9625d836681531646b9eac75329f5
    Reviewed-on: http://gerrit.openafs.org/839
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 42516f2c0bb6445c9f870cf1943efa016d66349b
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Nov 18 14:05:02 2009 -0500

    fix for volser transaction object race conditions
    
    Spell AFS_PTHREAD_ENV correctly and fix
    missing pthread_mutex_init() argument.
    
    Change-Id: I9a6397ef5ba3ef7197f3d927759258be31914fd7
    Reviewed-on: http://gerrit.openafs.org/841
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a2744cab12c87a8c42ba40a9f186a1f05c6886f8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Nov 16 22:52:01 2009 +0000

    Linux: Fix lock ordering
    
    The inode mutex (or semaphore) should be held before acquiring the
    alloc semaphore. Fix the lock ordering to avoid theoretical deadlocks.
    
    Change-Id: Ifc572083dc92fff51be6785b0bcc92152fab1d73
    Reviewed-on: http://gerrit.openafs.org/835
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 22541ea8323434cc555d71daf3c90b66e34c7c87
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 17 17:59:58 2009 -0500

    aklog build fix: com_err.h header
    
    Fix this build error:
    aklog_main.c:67:21: error: com_err.h: No such file or directory
    
    On some systems this system header is actually "et/com_err.h".  Cope
    by checking for this at configure time and using that location if
    needed.
    
    Change-Id: Iaf4fb4fe157ff8e54aa043785377706eab6fb3d1
    Reviewed-on: http://gerrit.openafs.org/836
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 36524b2ed73a2774ee1f6242208a1395be7736a8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Nov 13 09:50:29 2009 +0000

    Rationalise our include paths
    
    Our include paths are a bit of a mess. Fix these so that they're
    more rational, and more in line with normal coding style.
    
    In particular:
       *) Don't include all of the subdirectories of our top level
          include directory. If a file wants afs/file.h, it should
          include that, not "file.h"
       *) Try to avoid including '.' in the search path (although
          objdir builds make this harder)
       *) Don't blindly include other directories from the code tree
          in the search path. If a package wants another packages header,
          then it should get it from the include directory
       *) Use the convention that quoted includes ("") pick up local
          headers. Bracketed includes (<>) pick up ones from the top level
          include dir
       *) In directories which pull in files from multiple packages, don't
          blindly put all of the package directories in the search path.
          Specifically include the file's package directory when required
    
    The big change here is that it's no longer possible to hide a system
    include by placing a header of the same name in include/afs. The most
    common case where this was happening was for 'assert.h'
    
    Change-Id: I0796fabcf83ffcd74e533624c64e138a160dd632
    Reviewed-on: http://gerrit.openafs.org/834
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cb6681c0d189d15fb5ff0d21cf47c9ac223a98c5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 16 20:58:11 2009 -0500

    ktc remove unused variable
    
    inadvertantly introduced non-linux warning (error) due to unused variable.
    fix it.
    
    Change-Id: Ie44013fdf2ff8e5d401f5598a7ec628fd887588a
    Reviewed-on: http://gerrit.openafs.org/832
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 146b732fc877a23d515191471603a9ef0a655501
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Nov 13 16:40:53 2009 +0000

    Translate messages from ktc_SetToken
    
    Error messages from ktc_SetToken weren't being passed through com_err,
    leading to the confusing
    
       unable to obtain tokens for cell inf.ed.ac.uk (status: 11862788).
    
    error message. Instead, call into afs_com_err here, which gives:
    
       a pioctl failed while obtaining tokens for cell inf.ed.ac.uk
    
    Much nicer ...
    
    Change-Id: Id4c7e6f6a2f52efc6ac1db9fa007ba1a452092fe
    Reviewed-on: http://gerrit.openafs.org/822
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fda55b178c12bba1474ae2c63bc7b803cdc9730f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Nov 13 16:33:52 2009 +0000

    Better errors from aklog
    
    Since the great com_err fracture, aklog has only returned decent
    error messages from AFS, leaving Kerberos errors untranslated.
    Needless to say, this causes user confusion and distress.
    
    This patch uses the error display proc hook to call out to the real
    com_err in situations where AFS can't supply an error message, giving
    clearer errors for Kerberos problems.
    
    Change-Id: I8832b755beb84c593e1b2eace5c356e71a582b2a
    Reviewed-on: http://gerrit.openafs.org/821
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bfd03d723a9cf17673f40513a7adde1d503bcbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 11 19:36:01 2009 -0500

    asm unexecutable stack
    
    make stack not executable in assembled files
    
    FIXES 125491
    
    Change-Id: I396680b6877843201f6c07d5607385044abd5e74
    Reviewed-on: http://gerrit.openafs.org/818
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 65db6150246294e49e0c4a1a0e64780d040faf7a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 14 16:24:41 2009 -0500

    Windows: Code signing with cross-signed certificates
    
    Permit the version of signtool.exe to be specified with
    the SIGNTOOL environment variable.
    
    Add the CODESIGN_CROSS_CERT environment variable to
    specify the cross-signed certificate to be used
    
    LICENSE MIT
    
    Change-Id: Ib549e31f1f240e0de2cedfabac9bb998ee58a517
    Reviewed-on: http://gerrit.openafs.org/825
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7d44a087712def4b07011212f978c6d4572bf0de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 14 16:27:37 2009 -0500

    Windows: Error mapping for VBUSY and VRESTARTING
    
    Add error mapping for VBUSY and VRESTARTING to
    cm_MapRPCError().  Return CM_ERROR_ALLBUSY.
    This prevents an unknown error from being returned
    to the SMB redirector.
    
    LICENSE MIT
    
    Change-Id: Ie8bf8bc88e087a8eef428444ca07c7ca7c4621a8
    Reviewed-on: http://gerrit.openafs.org/826
    Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1594cf98926ceef1de36010335f9ca19cc050bad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 31 10:33:00 2009 -0400

    Windows: Use STATUS_IO_TIMEOUT where STATUS_TIMEOUT was returned
    
    STATUS_TIMEOUT causes the smb redirector to drop the connection.
    STATUS_RETRY is interpreted by the smb redirector as if the error was
    generated by the transport stack and not the smb server.
    STATUS_IO_TIMEOUT is listed in the SNIA CIFS 1.0 spec as a valid
    return code for the smb server.  Lets us that.
    
    LICENSE MIT
    
    Change-Id: I842a78cde3d975c88bbeb64294dd53cc8b101047
    Reviewed-on: http://gerrit.openafs.org/831
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4c25f00088a603723b75e60d6b808a89034b33d3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Nov 15 01:01:23 2009 -0500

    Windows: Fix port assignment to use network byte order
    
    Service port numbers are stored within sockaddr* structures
    and returned by afsconf_FindService() in network byte order.
    getAFSServer() and afsconf_GetAfsdbInfo() accept and return
    service port numbers in network byte order.
    
    When processing the special case for 7002 and 7003 in
    afsconf_GetAfsdbInfo(), the comparisons must consistently
    use network byte order.
    
    When assigning port numbers for AFSDB lookups, getAFSServer()
    must use network byte order.
    
    Document the use of network byte order for each variable.
    
    LICENSE MIT
    
    Change-Id: I2163826e8a234a1d19474b2eba3d36335ba12afb
    Reviewed-on: http://gerrit.openafs.org/830
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9d245a26228a80e4584cb3b481dffa3fd77514cb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 18:41:59 2009 -0400

    Windows: ports in the cache manager are stored in network byte order
    
    When assigning ports from SRV/AFSDB lookups, convert to network
    byte order when assigning them to cm_server objects.
    
    LICENSE MIT
    
    Change-Id: Ic22a445c9f6433f9f7544774ea9952d82fcdba8a
    Reviewed-on: http://gerrit.openafs.org/791
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit c53abbb3e8d14643f3f82999cbe24fb12d358ce0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 11 11:23:49 2009 -0600

    Make ktc_curpag also detect ONEGROUP PAG gids
    
    ktc_curpag falls back to looking at the group list if the VIOC_GETPAG
    pioctl fails. If we're in AFS_LINUX26_ONEGROUP_ENV in the kernel,
    though, ktc_curpag still looks for two groups, instead of the one
    combined group. Add a check for the big one group in the fallback if
    we're on LINUX26.
    
    Change-Id: I28e5eda5c62f13a6fb466c8a2b04d2628706498f
    Reviewed-on: http://gerrit.openafs.org/815
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5e99d56cf2a8c4c9789bc7ace04a804d07e6238f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 21 23:17:15 2009 +0100

    Use set_page_writeback and end_page_writeback
    
    Calling set_page_writeback and end_page_writeback is necessary to
    ensure that the dirty page radix tree and the page dirty flags
    tally. The results of end_page_writeback are also used by the
    bdi code to prioritise writeback. The Linux kernel
    documentation contains further warnings of doom for what may
    happen due to not calling them.
    
    Adding set_page_writeback and end_page_writeback also allows us to
    unlock the page earlier (the page can be locked any time after the
    writeback flag is set). This means that we're not calling the
    backing filesystem's ->write function with our pages locked, and
    should help reduce contention and the potential for deadlocks there.
    
    Change-Id: I9130b2ad9a09c6b9b16a0f63d7b4a614a93de8d3
    Reviewed-on: http://gerrit.openafs.org/819
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dc85abcaa6e3423452078e36bbfcd281e613c407
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 29 19:58:00 2009 -0400

    Linux: Use the kernel's credentials structure
    
    Recent kernels (2.6.29 and above) have a separate ref-counted
    structure for holding credentials.  Use it directly instead of
    keeping a separate afs specific structure that shadows the same
    information.
    
    Also adapt Linux for the change from cr_xxx to afs_cr_xxx wrappers.
    
    Reference counting is done with the appropriate get/put calls.
    
    Change-Id: I1135bb5a66cda51cee4fa9f3f3e63eaa9af28f61
    Reviewed-on: http://gerrit.openafs.org/797
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 97d3fcfcd1617bafa6ee62d291f09b2e8bb6daf7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Nov 11 10:51:19 2009 -0600

    Do not check *aoutSize in PGetPAG
    
    *aoutSize is always zero in pioctls, since afs_HandlePioctl handles
    checking the output buffer size, and sets outSize to 0 before calling
    the pioctl. So, PGetPAG was always returning E2BIG; remove the check to
    make it work.
    
    Change-Id: Ibed16b35ea14237f44a494add8c7a4a48e0c2b71
    Reviewed-on: http://gerrit.openafs.org/814
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e854e26ef1a2ddb26d926891ffb32c1f46293878
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 10:34:30 2009 +0000

    Update warning inhibition
    
    A number of recent changes haven't caught all of the locations where
    warning inhibition can be removed. This patch updates all of the
    inhibitions to reflect the current state of the tree when built with
    gcc4.2
    
    Change-Id: I7bad4fee1258f4e37fd729cda84711fed66acbc9
    Reviewed-on: http://gerrit.openafs.org/813
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 748eaf804119a632204f0c6cce5e07ec4c372c13
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 10:32:59 2009 +0000

    Prototype kalog_Init
    
    Prototype the kalog_Init function in kauth_internal.h, and remove
    the warning inhibition from kaserver.c
    
    Change-Id: Ic48d199126629f1c0c2e498081be97901678ec70
    Reviewed-on: http://gerrit.openafs.org/812
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 420dfad900267720d1665a67c92c567a341728c7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 10:28:29 2009 +0000

    const char paths for ubik_ServerInit
    
    ubik_ServerInit* take a pathname, which should really be a const.
    It already is in many of the callers, some of which remove the
    const by casting, the others throw errors.
    
    Make pathName const for all of ubik_ServerInitByInfo, ubik_ServerInit
    and ubik_ServerInitCommon.
    Update all of our callers to remove the now unecessary casting.
    Remove the now uneccessary warning inhibition on vlserver/vlserver.c
    
    Change-Id: I009103dc49e4473eec65ebd75aab727915c26f3c
    Reviewed-on: http://gerrit.openafs.org/811
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 420a544ecea96d5f72e5446f1f75add666b4f463
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 10:19:07 2009 +0000

    Fix des key type issue in bosoprocs
    
    The call to afsconf_AddKey was using 'akey' rather than 'akey->data'.
    As data is the first element of the akey structure, these are actually
    identical, but the compiler sees it as a type error. Fix to use the
    correct name, and remove the warning inhibition.
    
    Change-Id: Id4775a836276ddd6f5ae105c298dcc3c68b92145
    Reviewed-on: http://gerrit.openafs.org/810
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit be305ae119c4bd71431596f81d97f9195faa069f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 10:13:57 2009 +0000

    Prototype UV_Bind
    
    Publicly prototype UV_Bind in volser_prototypes.h
    
    Make dump.c use the public prototype, instead of an incomplete
    private copy, and remove the warning inhibition that was required to
    support the private copy.
    
    Change-Id: I945192454702d79083a10062adaf2cb124d14a35
    Reviewed-on: http://gerrit.openafs.org/809
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bab6fd227f5724c4e4ca5d0ba1dc64e21ed21f97
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 08:32:48 2009 +0000

    Remove 'M' variants of lock macros
    
    Since the beginning, we've had M variants of the lock macros, which
    are identical to the normal form. Dispose of these variants, to make
    it clearer what's going on.
    
    Change-Id: I0b7708ec670ef0edb4c1dc21d472e5041d31f6a2
    Reviewed-on: http://gerrit.openafs.org/807
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cbe83cb1a12fddc63c1775243c47fb43da40f9c1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 09:10:36 2009 +0000

    Fix warnings from afsconf_SetExtendedCellInfo
    
    If a is declared as an array, then a == &a. However, the compiler
    still gives a type warning when usign the & form, as the types no
    longer match. 5f720faab920a1007327de415ceaf187c16fdbe6 fixed this
    problem for calls to GetExtendedCellInfo - do the same for the
    corresponding Set calls.
    
    Change-Id: I8204afe7df0c0db1d059cb3f6ab61eff1cdf9140
    Reviewed-on: http://gerrit.openafs.org/808
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c90132f2af3455948f029f9c475c768e476f66e4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 08:28:32 2009 +0000

    Include signal.h for sigfillset
    
    f6ce2af008feb615e94d924fc9f81e2098e73e7c added a call to
    AFS_SIGSET_CLEAR to vol/volume.c. However, it didn't add signal.h
    to this file. As AFS_SIGSET_CLEAR calls sigfillset(), this broke
    checked builds.
    
    Add signal.h to the list of headers to fix the build warning.
    
    Change-Id: Ib861abfbd153f6ef2ff4b42ea03b5604a95975d4
    Reviewed-on: http://gerrit.openafs.org/806
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d616d1ee99794525aa2d778d11552c1986007ebb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 10 18:36:55 2009 -0500

    krb_udp.c warning fix
    
    This file generates a warning because the left side of a variable
    assignment is commented out.  Keep the effect of the line
    (incrementing packet) but remove the unused casting and
    reference, and remove the comments that date from the original
    IBM source.
    Leave a new comment in place in case the information is useful.
    
    Adjust the Makefile and README.WARNINGS to account for the change.
    
    Change-Id: I944e1c488e39411d32d700cba2d3ef567eddddb4
    Reviewed-on: http://gerrit.openafs.org/804
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4dfacc9341cd47805de5cd2d2de151199344a67
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Mon Nov 9 11:03:10 2009 -0500

    cm: address race condition in afs_QueueVCB
    
    Access the vcache callback member after taking
    the xvcb lock to avoid the server object from
    being freed in FlushServer on another thread.
    
    Eventually, we should have a ref count on
    avc->server.
    
    FIXES 125596
    
    Change-Id: I760819b1632d0e8188eaa34531239951aab980d3
    Reviewed-on: http://gerrit.openafs.org/800
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2d0824245c030b08f90972ea0756fccf981263c0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Nov 10 18:16:45 2009 -0500

    src/pam/afs_auth.c warning fix
    
    ka_UserAuthenticateGeneral expects an afs_int32 pointer for the
    password_expires argument.  A (long *) was used in afs_auth.c,
    generating a few warnings.
    
    Change-Id: Iafc92e72022644ff23c642e801d51bd4387afa88
    Reviewed-on: http://gerrit.openafs.org/803
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 954f67c682bdceb10c58646336ae0178ad47e317
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 11 08:12:51 2009 +0000

    cr_gid is already used by Darwin
    
    Commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d introduced a variety
    of functions for accessing members of the credentials structure in a
    platform independent way. Sadly, cr_gid is already defined by the
    Darwin platform headers (on Darwin, the GID is just the first of
    the user's groups)
    
    Turn cr_gid() into afs_cr_gid() to avoid this problem, and for
    consistency, also rename cr_uid, cr_ruid, cr_rgid, and the
    corresponding set_* functions.
    
    Change-Id: I82d74900324d079b5a5c8985510a2c9586c4a526
    Reviewed-on: http://gerrit.openafs.org/805
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fc5e2a4d81f535db29cea962b26748a04f1bca4d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 9 13:10:55 2009 -0500

    unix srv record network byte order fix
    
    correctly process dns lookups corresponding to the srv record changes in
    network byte order
    
    Change-Id: Id70f972331582912ca984ae1b1c027c7b702a22c
    Reviewed-on: http://gerrit.openafs.org/801
    Reviewed-by: Thomas L. Kula <tkula@umich.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 24de8dae6d5d9ef72bd89877eb2f29c401024504
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Nov 8 17:31:25 2009 -0800

    Update afsd cache and firewall details
    
    Cache parameters are discussed in two locations in the afsd man page,
    and the first copy had not been updated for the new auto-tuning of
    the chunk size and the stat parameter.  Fix both.
    
    Note that the firewall requirements for klog only apply if you're using
    kaserver and klog.  Kerberos v5 has its own requirements, but this is not
    the place to talk about them.
    
    Change-Id: I9cdaaa71351a64cecc1b6904efba87d4871d42fb
    Reviewed-on: http://gerrit.openafs.org/798
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c9197a1f32f3ba69b4c609726532977324dabd7b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Nov 9 23:20:14 2009 +0000

    Fix locking in FlushVCBs when called from discon
    
    The disconnected code doesn't request locking from FlushVCBs when
    it calls it, but also doesn't hold the required locks itself.
    
    Fix this.
    
    Change-Id: I2450df4b19b2d44dca80990197e5e7637c9c8334
    Reviewed-on: http://gerrit.openafs.org/802
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit eb8e55bba7740a87e07ef07bb4b789e6d4e36f0d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 29 19:23:28 2009 -0400

    Unix client: wrappers for credentials structure access
    
    This patch introduces and makes use of wrappers for access
    to credentials structure members:
            cr_uid (afs_ucred_t *)
            cr_ruid(afs_ucred_t *)
            cr_gid (afs_ucred_t *)
            cr_rgid(afs_ucred_t *)
            cr_group_info(afs_ucred_t *)
    
    Inline functions are also introduced to set values:
            set_cr_uid (afs_ucred_t *, uid_t)
            set_cr_ruid(afs_ucred_t *, uid_t)
            set_cr_gid (afs_ucred_t *, gid_t)
            set_cr_rgid(afs_ucred_t *, gid_t)
            set_cr_group_info(afs_ucred_t *, struct group_info *)
    
    This will allow an architecture to make use of an alternate
    structure to hold credentials.  In particular it will allow
    the linux client to be modified to use the kernel credentials
    structure directly instead of shadowing it into our own local
    structure.
    
    There should be no functional change.
    
    Change-Id: I7739196a0691a9c30887043b085e4878e88780ae
    Reviewed-on: http://gerrit.openafs.org/768
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f6ce2af008feb615e94d924fc9f81e2098e73e7c
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Nov 5 11:08:08 2009 -0500

    viced: avoid useless core if shutdown during initialization
    
    Avoid leaving an unnecessary core file when the fileserver is
    shutdown while still attaching volumes.  The bosserver issues
    SIQUIT to shutdown the fileserver which leaves a core file by
    default.
    
    Register the fileserver shutdown signal handler earlier in the
    fileserver initialization, before the long running volume
    attachment is started. The volume package shutdown has been
    changed to allow the VShutdown to gracefully abort the volume
    attachment (or pre-attachment for DAFS).
    
    FIXES 124485
    
    Change-Id: Ic22e68afb7bcc54ad956b2ae093375f29b969191
    Reviewed-on: http://gerrit.openafs.org/764
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d98d3060f880f4c7d4089fd2fb981ee08fd1486f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 11:52:59 2009 +0000

    Add printf-style format checking
    
    Add the AFS_ATTRIBUTE_FORMAT macro which can be used to turn on
    printf-like format checking for our va-arg log functions.
    
    Enable this checking for volser's Log(), and fix the fallout from
    doing so.
    
    Change-Id: Ic5ab93ba731856f1f90e894d711b0f84298ded12
    Reviewed-on: http://gerrit.openafs.org/789
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 392dcf676bd3642fc114abb29b79888055d8c409
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 4 20:15:36 2009 +0000

    Complete removal of DUX client code
    
    With commit cfce015ead18c72ee921f480c73e9247a98838fc (in 2006) all
    of the files specific to the DUX cache manager were removed.
    However, the DUX code within general files remained untouched.
    This patch completes the removal of the (entirely non-functional)
    DUX client, by removing all cache manager code which is for
    AFS_DUX*_ENV and AFS_OSF_ENV platforms.
    
    It also takes the advantage of this removal to simplify some #ifdef
    ladders, and indents others (purely because I needed the indentation
    to work out what on earth was going on!)
    
    Change-Id: Icbea5ed3ef94c5e902cdb0d722be85f376c3d296
    Reviewed-on: http://gerrit.openafs.org/785
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c90134fd1f1b5cd16052c5fdc91ddd1b1ac6e19a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 4 18:09:51 2009 +0000

    Move vnode macros to their own directories
    
    The tree is inconsistent whether macros for access to vnodes are
    provided by the OS directories, or in afs_osi.h. This makes things
    very confusing, especially in the Linux case where macros are
    provided in afs_osi.h, and then promptly redefined in
    LINUX/osi_machdep.h
    
    Adopt a convention where default macros are conditionally provided
    by osi_machdep.h. Where these aren't wanted, they should be disabled
    in osi_machdep.h, and OS specific versions provided in the individual
    OS's directory.
    
    Change-Id: I47bc969af3f6670db9348689b5ce60181fd44f21
    Reviewed-on: http://gerrit.openafs.org/784
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 457303440042ad43e61652b6ca11c84fab390b82
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Nov 7 10:51:52 2009 -0500

    Linux: always use afs_maybe_unlock_kernel
    
    In one error case in afs_linux_lookup unlock_kernel() is called
    directly instead of using the conditional "maybe" form.
    If the config is such that the BKL is not taken, this can result
    in an attempt to unlock when the lock has not been taken, and
    can cause an oops.
    
    Change-Id: I27d5db58e9b9d45d925b24e27bc43960499c6ead
    Reviewed-on: http://gerrit.openafs.org/790
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 09c4c1978b8901cac0191900c8679095b7e53e6d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 7 01:10:22 2009 +0000

    Add error_table.c to gitignore in comerr
    
    error_table.c is a build product for comerr, should we should
    gitignore it
    
    Change-Id: Ie47ae4daec734b31c884e4732d053635ee1048bb
    Reviewed-on: http://gerrit.openafs.org/788
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fd592c7674d4aa44dda90998b54d7b56947f6ed8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Nov 3 21:22:50 2009 -0600

    Cleanup VOffline log message
    
    Make the 'Volume X (Y) is now offline' messages appear more sanely in
    the log; logging as one line at once.
    
    Change-Id: I8a3cf986fb30e292e509237357bd1039f2f181b9
    Reviewed-on: http://gerrit.openafs.org/782
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 95770bf95ad766207252ea0c2d2b5ab2415c896f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 4 23:40:39 2009 +0000

    Prevent VLRUQ race in ShakeLooseVCaches
    
    When ShakeLooseVCaches is called from afs_Daemon, the xvcache lock
    is not held. This means that if the GLOCK is dropped for any reason
    (for example, whilst purging the dentry cache), then
    ShakeLooseVCaches can be raced, end we can end up attempting to
    flush the same vcache twice.
    
    The symptoms of this in Linux are that we oops in clear_inode.
    
    Get the xvcache lock in afs_Daemon(), before calling
    ShakeLooseVCaches. Also, remove the conditional GLOCK code from
    that function. If we don't have the GLOCK on entry, then we're really
    in trouble (and both code paths - afs_Daemon and afs_NewVCache should
    get the GLOCK for us, anyway)
    
    FIXES 125589
    
    Change-Id: I3fe5b41a661cd162ec73c51492925ad87c6d4c13
    Reviewed-on: http://gerrit.openafs.org/781
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 86858bdfb6e25168828d8595f387ef5919e0df3a
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Fri Oct 30 12:10:21 2009 +0100

    Correct diskused and files when cloning a volume
    
    Recalculates a volume's disk space used and number of files upon
    every clone where it is effortless. Even though tracked mostly
    correctly, bugs and accidents leave their traces which only a
    salvage would correct.
    
    Change-Id: Ied6fb9eb3944b6e30eac175fe42649c5b7cfaefb
    Reviewed-on: http://gerrit.openafs.org/756
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2df6f25f61cc888bc2a8fb3ccab1de37fc4c04b0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 3 19:26:33 2009 -0500

    macos fstrace msgcat search path
    
    everything else on osx will look for config in /var/db/openafs; make
    fstrace do the same
    
    Change-Id: I7b787435343b15c82cd8eb8f3ed00096d469e888
    Reviewed-on: http://gerrit.openafs.org/772
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 848b781d114cbf5cd245273f37be97f64047c8cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 3 19:25:23 2009 -0500

    macos 10.6 64bit trace fixes
    
    the 64 bit pointer massaging was incomplete for kernel
    tracing on macos. add in the missing cases.
    
    Change-Id: I38eb608c233819ab437adec25e2cd3afac3e234e
    Reviewed-on: http://gerrit.openafs.org/771
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c41d3b21323de122fc0a60dc602a5377dfb19d3e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Oct 28 17:54:32 2009 -0400

    Linux - Fix disk cache access for selinux/AppArmor constrained processes
    
    Preserve the credentials used for cache initialisation and use then
    whenever disk cache files are opened.  This takes advantage of the
    credentials separation work from David Howells available in kernels
    2.6.29 and above.
    Access to cache files was done under the security context of the
    user process, causing processes constrained by selinux or AppArmor to
    fail to access AFS cache files and causing the cache manager to panic.
    
    Besides the RT tickets, should also fix the following Ubuntu bugs:
     415766 429260 457779 459299
    
    FIXES 92944,125544
    
    Change-Id: Ief8acd65c1a3e4d8c951f80bfd65f8340b8cec34
    Reviewed-on: http://gerrit.openafs.org/752
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit cbe580fee176c9e9e083379129c309fd15d0f24c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 23 09:54:35 2009 -0500

    Check for (hostFlags & HOSTDELETED) after h_Lock_r
    
    Many callers of h_Lock_r do not check if the HOSTDELETED flag is set,
    even though it could have been set while waiting for the host lock. Add
    checks for it everywhere we call h_Lock_r and we care if the host has
    been deleted.
    
    FIXES 125507
    
    Change-Id: Id1430529a1afdb5e2af29d40148877f5e4260a41
    Reviewed-on: http://gerrit.openafs.org/716
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f08c714f8800aaa28177c3d58e7a5641af61d7de
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 2 12:19:45 2009 -0600

    DAFS: Avoid SALVSYNC communication during shutdown
    
    Avoid trying to contact the salvageserver for any reason while we are
    shutting down. During shutdown the salvageserver may not be around
    anymore, so any SALVSYNC communication will appear to hang.
    
    Just set a global flag to indicate 'no-SALVSYNC' on shutdown, in
    addition to the thread-local flag we already have.
    
    Change-Id: Id96f20917fd0753b4934a0377b91032b2ea3d0dc
    Reviewed-on: http://gerrit.openafs.org/765
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5e6842283f5c2fdf0fe3306993a6e18c2e590716
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Nov 2 17:18:19 2009 -0600

    DAFS: Wait for exclusive ops in FSYNC_VOL_OFF
    
    In the FSYNC_VOL_OFF handler, fssync-server.c errors out if the call to
    VGetVolumeByVp_r fails. However, this can fail if the volume is in an
    error state such as SALVAGING. Normally we don't even call GetVolume
    when the volume is salvaging, but the volume state can change to
    SALVAGING inside GetVolume. This is particularly likely to happen on a
    demand salvage, since we switch to the SALVSYNC_REQ state when
    scheduling the salvage, and if we are still in that state when the
    salvaged child requests a VOL_OFF, we will fail to get the heavyweight
    ref.
    
    Fix this in two ways. First, we VWaitExclusiveState_r before examining
    states for the short-circuit logic so our view of the volume state is
    more accurate. Second, re-examine the volume state after the call to
    GetVolume, and perform the same short-circuit logic, since the volume
    state may have changed during GetVolume.
    
    Change-Id: I4ebb87691c28170b42e0056b342477a12d0f6888
    Reviewed-on: http://gerrit.openafs.org/769
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 93d48b1735b88b3051357307bdbebf5da9872d69
Author: Dan Hyde <drh@umich.edu>
Date:   Thu Oct 29 12:07:47 2009 -0400

    Add array bounds checking in h_Enumerate
    
    When hostList is not properly NULL-terminated, the current code does
    not protect from buffer overflow.  The following patch prevents buffer
    overflow, prints a message, and asserts.
    
    On our Linux hosts, we never reached the original assert, as there is
    a problem handling the segfault the buffer overflow causes.
    
    FIXES 125506
    
    Change-Id: Ifce92c593d17050e45add9e37a7a9ed4fbc377ef
    Reviewed-on: http://gerrit.openafs.org/757
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 715c67f2fb3c1756f0c9cee0bc3258a3e378d3fd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 31 13:27:18 2009 -0400

    Linux: Fix write_begin configure test for recent RHEL kernels
    
    Recent RHEL kernels now define simple_write_begin, which was used as
    a test for the write_begin address_space op.  This makes the test
    succeed when it shouldn't, and breaks the build.
    Rewrite the test to actually check the address_space operation.
    
    Change-Id: Idac9b318ff716b61bf8ca4508d2dbdbfbad5b50d
    Reviewed-on: http://gerrit.openafs.org/759
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5a537f071970c38881fde1ad8508775fafd7489d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Oct 31 08:54:52 2009 -0400

    Fix memory allocation warnings at shutdown
    
    At shutdown we check for unfreed memory allocated with AllocSmallSpace
    and AllocLargeSpace and complain in the syslog if there are dangling
    pieces.  This patch takes care of a few cases that always showed up
    as warnings, even after a simple start-stop of the client.
    
    - The cacheInode file needs to be closed before the checks, since it
    uses a large piece for its struct file.
    
    - The ICL logging code allocates 6 small pieces that are never freed.
    Add a shutdown_icl() function that releases everything.  While we're
    at it, correct one place where we allocated with afs_osi_Alloc but
    freed with osi_FreeSmallSpace, confusing our accounting.
    
    Change-Id: I4c28c848f155dec9d89e6199cde34209227ca5c9
    Reviewed-on: http://gerrit.openafs.org/758
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8b3d2c1a3c9c430bb28e8d209d8399a9dc635f4b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 29 17:11:34 2009 -0400

    Linux: remove unused cr->next member in struct afs_cred
    
    This field was once used to track allocations in a credentials pool.
    That code was removed a few years ago but the field remained.
    
    Change-Id: Ieac642d7d55c4da766a5a3aa8ff790a514b606d6
    Reviewed-on: http://gerrit.openafs.org/753
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit afdfbefe9cbf1818bee0072d2845fd02f7ac69a4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 29 18:53:30 2009 +0000

    Cleanup cache bypass
    
    This patch cleans up the cache bypass code so that it uses a
    consistent form of indentation throughout the file.
    
    It also changes the do { } while(0); macros to omit the trailing
    semicolon, as macro definitions with trailing semicolons break
    normal coding conventions.
    
    Change-Id: Id5161fe4b1ba27110e41ed27e14a2bb3c9cccd4a
    Reviewed-on: http://gerrit.openafs.org/754
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 416e2f11c35f5d55f91090b30b4db1a9bf6d6e07
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 28 11:06:47 2009 -0500

    Avoid using released hosts
    
    Since h_Release_r has the possibility of freeing a host, we should not
    be using a host after it has been released. A few places can still use a
    released host, potentially causing heap corruption, double frees, and
    generally weird behavior.
    
    So either move calls of h_Release_r until after we finish using a host,
    or make sure to set the pointer to NULL after it has been released.
    
    Change-Id: I3d5275c3862003e372d3c19a5462e62bf9cb269e
    Reviewed-on: http://gerrit.openafs.org/747
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Dan Hyde <drh@umich.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 28ccbd1ad88f8cee34515b0552441083c310aa1d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 29 18:42:41 2009 +0000

    Coding style cleanup
    
    Our style for function definitions has the name of the function as
    the first item on a new line - this means you can find a definition
    by using grep ^functionName. Fix the disconnected code to follow this
    style.
    
    Change-Id: I925039070f2bbbd97f04fbee006ea08df92d7cf5
    Reviewed-on: http://gerrit.openafs.org/751
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7833e472b9585ee1a7085ca704e642a73ca969a5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 28 11:12:18 2009 +0000

    Make afsd.pod reflect reality
    
    9d396c4916fdac64fcface30e6637ca6e2911203 (from 2005) introduced
    autotuning for afsd, and changed some of the defaults which aren't
    autotuned. Update the afsd man page to reflect the autotuning, and
    the new defaults.
    
    Change-Id: Iea2035743cb45cca1c249bc2e838405039ad7d3a
    Reviewed-on: http://gerrit.openafs.org/744
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 53fc41a856da4a23fa603bd5a274d819e7a3b54e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 28 18:24:33 2009 +0000

    Move PMTU header block to top of file
    
    1206e7538be86f073b21cd289266286b60a95d0a added linux/errqueue.h to
    rx_user.c, but added the include in the middle of a function - which
    means that the new structure is out of scope for the rest of the file,
    which breaks the build on Linux.
    
    Put the header include at the start with all of its other friends.
    
    Cc: Alf Wachsmann <alfw@slac.stanford.edu>
    Change-Id: Id932ff63b59e6cd62eda3df4f01e4eef354736ca
    Reviewed-on: http://gerrit.openafs.org/748
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 21efa6394ebf0b1eea440b74aef9f62160d5f851
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Oct 26 18:23:00 2009 -0400

    afs_buffer.c: fix uninitialized variable warning
    
    Squash a warning about lt being potentially used uninitialized.
    
    Change-Id: I41bfccfd1a0db925a4d728a217b154f45c28b112
    Reviewed-on: http://gerrit.openafs.org/742
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bea4c4ea5d563bebe9f9c6289a1f25fd016a01a4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 19:52:48 2009 +0000

    Use fewer #ifdefs for dynamic vcaches
    
    When we're not in AFS_MAXVCOUNT_ENV, make afsd_dynamic_vcaches a
    static 0, which allows the removal of a scattering of #ifdef's in
    the middle of conditionals in afs_vcache.c, and generally improves
    the code browsing experience.
    
    Also, move the externs for this variable to afs.h, where they belong,
    and fix related formatting.
    
    Change-Id: I4d56ebae63fe1855ac80f8511b9fc76f7e5a326f
    Reviewed-on: http://gerrit.openafs.org/741
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d769b27694b4ab6d3fba23c6121238b311bd82d6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 23:17:36 2009 +0000

    Make cache bypass build again
    
    Recent commits had left cache bypass somewhat behind, make it
    build again.
    
    Change-Id: I500372f4584f4d0d90f6ea9f98a9ac3fb05f5185
    Reviewed-on: http://gerrit.openafs.org/743
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 293e8c6a1048bf3c342134b5ca6f79d68023258b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 18:52:52 2009 +0000

    Remove hardcoded maximum time
    
    When iterating across the buffer list, afs_newslot used a hardcoded
    maximum time to find the oldest. Instead of using this, just use the
    accesstime of the first unused buffer that we find as the oldest, and
    continue as normal.
    
    Change-Id: Ifeacb8a407901b46a23fbc838b1fca761108ebbb
    Reviewed-on: http://gerrit.openafs.org/738
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f97262c1d422e0a32289c75665d051914c8d69ad
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 19:36:53 2009 +0000

    Fix dynamic vcache / rxmaxmtu cmd id collision
    
    Both dynamic vcaches and rxmaxmtu had been committed as using the
    35th command entry. Fix this according to the order they are in
    the command list (35 and 36, respectively). Tidy up the command list
    so it's easier to read, and remove the #ifdef notdef entry from it,
    as adding it back in would just cause chaos.
    
    Change-Id: I3fce403aa0ab01c42f0e1a48ae401503b0e21c24
    Reviewed-on: http://gerrit.openafs.org/740
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b21b209f1cb2bafe916543c1ac8f232d6fc84847
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 17:06:20 2009 +0000

    Fix locking in afs_buffer.c
    
    Back in 2002, 0eb68f307aac84472a13523a0ce8b7a865f01ac7 was committed
    to fix locking problems in dir/buffer.c.
    
    Sadly, similar changes were never made to afs/afs_buffer.c, so the
    same problems remain in the cache manager.
    
    The issue here is with two processes racing in afs_newslot. Calls to
    afs_newslot protect buffers with a zero reference count using
    afs_bufferLock. If we release afs_bufferLock, before we increase the
    reference count of the vcache, then we can end up with newslot
    picking the same buffer for two different purposes.
    
    The GLOCK actually protects us from the worst of this, but this fix
    is necessary both for correctness, and for symmetry with the file
    server buffer code.
    
    Change-Id: I7f1c7d6571559c5f1784926c39d4889b77677231
    Reviewed-on: http://gerrit.openafs.org/737
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ba93d8f9f1379e3342460273234f964a39e1caf9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 19:46:09 2009 +0000

    Remove pininodes
    
    The pininodes option has been commented out of afsd since the
    original OpenAFS commit. Enabling it now would cause chaos, due to
    the way that cmd orders its arguments. Just remove the sections
    of code to avoid this danger.
    
    Change-Id: I9e9944d4470fd21d2ec9e36e17771b499d7c8e0b
    Reviewed-on: http://gerrit.openafs.org/739
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dbe3b7b8eeb4a010f82248befc6167b3b5ed9606
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 26 14:04:48 2009 -0500

    Dec old special inodes in inode convertROtoRW
    
    The convertROtoRW code for the inode fileserver makes copies of the
    volume's special inodes, but leaves the old (RO) inodes around. If the
    RO is created again, this will result in duplicate special inodes for
    the same volume, which freaks out the salvager (and possibly other
    things).
    
    So IH_DEC the old RO special inodes after converting, so they go away.
    
    Change-Id: Ifefa2cb69c5b2960b81dbee9d54e5ea8401b240e
    Reviewed-on: http://gerrit.openafs.org/735
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c95ace2c5963076deaf5f5c3a9856978f19ea0c4
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Mon Aug 3 12:36:25 2009 -0400

    viced (non atomic) refcount/more-threads
    
    Replace host-hold bitmap with reference counting, phase 1, not atomic.
    Increase viced MAX_THREADS.
    
    NOTE: This code has been tested on Centos 5.3 x86_64, on VMWare, 2 physical,
    2 logical CPUs.
    
    LICENSE BSD
    
    Change-Id: Id62dcc786619dfd99e1a7b69a196bbaa0b45158c
    Change-Id: I8ee2ec645402f02fdba0920815409b56172d393b
    Reviewed-on: http://gerrit.openafs.org/268
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf8355bd9aa7e7bd47ec5554030258fe43e2abdb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 26 07:13:00 2009 -0700

    ubik_VL_GetAddrsU does not accept a VLCallBack parameter
    
    ubik_VL_GetAddrU accepts a pointer to a uniqifier and not
    a pointer to a VLCallBack structure.  Remove an incorrect
    cast and provide the correct parameter in src/volser/vos.c.
    
    Change-Id: I4b12cf2d4c65f115fdef76f0a4306960b5cd0413
    Reviewed-on: http://gerrit.openafs.org/733
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b90f4241285efccdf8be5f9ce3ae28c64fbccd38
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 23 15:02:12 2009 -0500

    Avoid 'salvageserver -client -showlog' segfault
    
    Running salvageserver with the -client and -showlog options will
    currently segfault, since -client does not open logFile, and -showlog
    will attempt to rewind logFile on exit.
    
    Fix this by not allowing -client and -showlog together (since it won't
    work anyway, as -showlog tries to read SalvageLog), and by making
    showlog() check logFile for NULL-ness.
    
    Change-Id: I30f43ef1696f1e7e8873b9e1cc3867b4e06d1980
    Reviewed-on: http://gerrit.openafs.org/734
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8edafd92c0ec5b31aff7f86b73f954a04d0f17d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 17 12:23:57 2009 -0400

    Updates to Jake's RTT based server ranking (Gerrit 317)
    
    Remove check on powerStateSuspend in cm_Daemon()
    
    Update the server Reference lists if the ranking changes.
    
    Change-Id: Id290e0f98c616a12f4f8b1746dca58ad7a0f06ce
    Reviewed-on: http://gerrit.openafs.org/729
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d22c05e6799649a1b5c06b0396e78b0520b3e4f6
Author: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Date:   Wed Aug 12 01:32:06 2009 -0400

    Adds cm_RankUpServers() and cm_RankServer()
    
    This adds the functions cm_RankUpServers() and cm_RankServer() to
    the Windows cache manager. cm_RankUpServers() steps through the
    list of servers, and calls cm_RankServer(), which in turn re-ranks
    the servers that are currently up based on rx peer statistics as
    exposed by rx_GetLocalPeers().
    
    cm_RankUpServers() is called every 10 minutes by the cache manager
    daemon, so as to allow re-ranking of the servers.
    
    Also added is the struct server->adminRank data structure, to
    allow for the modification of the rank that the admin has set,
    without but basing this modification on the admin-set rank.
    
    Change-Id: I118b885e179e4f84901dd9a3180ce821f194feb8
    Reviewed-on: http://gerrit.openafs.org/317
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4a006f167bf6fe550eac9c96c6fce1f538760709
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 26 12:49:11 2009 +0000

    Clean up console message
    
    Clean up the 'all buffers locked' console message so that it's
    clear that it comes from AFS, and so it has a trailing newline.
    
    From a bug report by Rainer Toebbicke to openafs-info
    
    Change-Id: I3f69e57e37a91ae3e6e8822ccfe72dddc06b4359
    Reviewed-on: http://gerrit.openafs.org/732
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b8e4c573a5da18ecd80578a1061594891528ffc9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 23 16:34:33 2009 +0100

    Don't return AOP_WRITEPAGE_ACTIVATE to write()
    
    When we're called from write(), we don't have the option
    of deferring the writing of a page by returning AOP_WRITEPAGE_ACTIVATE.
    Instead, write() simply sees this as the output of 0x8000 bytes of data.
    
    So, whilst we can mark a vcache as being output, we can't defer the
    processing of one which is already being written (by, for example, an
    earlier writepage()).
    
    This problem only affects files which are have mmap() and write()
    called in quick succession, but it does break the fsx utility.
    
    Change-Id: I750a186de38da9873665a862f5b584a78e6979ad
    Reviewed-on: http://gerrit.openafs.org/725
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 70c8deab1694e2cd200f4ff7a81f5f3f028a4c19
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Oct 24 10:54:32 2009 +0100

    Use user credentials for Linux writepage()
    
    We have no control over the context in which the kernel calls our
    writepage routine. It may be from the process which original wrote the
    page, from any other process on the system which is writing and goes
    over the dirty page threshold, or from the flush thread (pdflush /
    flush-afs). Therefore, we cannot use the credentials of the current
    process to perform the writeback. This is an issue both for afs_write
    (which, in our current MM model, may need to contact the fileserver
    to read missing chunks), and for DoPartialWrite (which needs to be
    able to store chunks when the local cache is getting full)
    
    This patch stores the credentials of the first process to open a file in
    the vcache structure. Whenever writepage() is used to writeback pages
    for this file, the cached credentials are used rather than those of the
    current context.
    
    Thanks to Marc Dionne for his work in testing and refining this patch.
    
    FIXES 125471
    Change-Id: I2900f711150fd81b2b4839bbc2bf77623bde3b64
    Reviewed-on: http://gerrit.openafs.org/724
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 207882ec4fa91a69d1ec0f25d23a409fd19898de
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 23 17:50:09 2009 -0400

    windows 1.5.66
    
    make 1.5.66 for windows
    
    Change-Id: I04902106c35eea2dccf6db594c496302cde3f15b
    Reviewed-on: http://gerrit.openafs.org/723
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 944580c19566fbf1d6d2717cf21f9afd3ef93c14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 23 17:35:37 2009 -0400

    make 1.5.66 for unix
    
    push version changes for 1.5.66
    
    Change-Id: I5302e9aa83b4aba0081130934f0d6df0786ce43c
    Reviewed-on: http://gerrit.openafs.org/722
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 11cdb701556fc0430445caaf3a4c6955683d9bd7
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Thu Oct 22 15:51:33 2009 -0400

    volser transaction object race conditions
    
    Fix the transaction object races between VolMonitor and the
    volume operation procedures which can cause the volume
    server to crash.
    
    Add a per transaction object mutex to safely set the
    transaction call pointer and name. Fix VolMonitor to safely
    traverse the transaction list and to access the call pointer
    and last proc name while copying info to send to the vos
    client.  Fix the sleep thread to safely access the last proc
    name.
    
    FIXES 125479
    
    Change-Id: I59595b93522d111b6a771d3d93c246bfc2ce65de
    Reviewed-on: http://gerrit.openafs.org/718
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bbcfbe1a04eda9e75b1643be88cf9d4842a8aa86
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 22 11:12:30 2009 -0500

    Avoid prematurely destroying callback_rxcon
    
    Currently, h_GetHost_r and removeAddress_r can destroy the
    callback_rxcon of a host. Having a NULL callback_rxcon can cause
    segfaults in code that does not properly check if a host has been
    HOSTDELETED before trying to use it.
    
    Although such code is incorrect and should be fixed, we can still avoid
    a segfault in those situations by not destroying callback_rxcon until we
    destroy the host itself. This just prevents destroying callback_rxcon in
    h_GetHost_r and removeAddress_r, leaving it to h_TossStuff_r to destroy
    when it destroys the host.
    
    Change-Id: I6fd5cbb924053446689c576026f9044f78ba71be
    Reviewed-on: http://gerrit.openafs.org/717
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ed8d83e0f6b9825503643d1ee8398b2310946dd7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 23 12:42:19 2009 +0100

    Resolve error return issues in writepage
    
    The writepage_sync changes get error returns wrong in a couple of places. In
    particular, they return a 0 code from dopartialwrite in preference to the
    length return from page_writeback
    
    Change-Id: I34a848fed5f799aa6844e9ef0339321f91c7e59b
    Reviewed-on: http://gerrit.openafs.org/721
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5f720faab920a1007327de415ceaf187c16fdbe6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 22 10:38:23 2009 -0400

    Remove warning from all calls to afsconf_GetExtendedCellInfo
    
    Fix 'afsconf_GetExtendedCellInfo' : different types for formal
    and actual parameter 5
    
    Change-Id: I922d653a88a9d0c04ed6dbd1c9c0b3fc90719337
    Reviewed-on: http://gerrit.openafs.org/715
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ecfeb5365f7b7812529b8f6c269700f4ce30b45e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 23 00:16:01 2009 -0700

    Windows: Notes for 1.5.66
    
    ChangeLog description for 1.5.66 on Windows.
    
    Reviewed-on: http://gerrit.openafs.org/720
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d0080431fab17c5e96f617ce78980adb3680d0f8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 23 00:04:52 2009 -0700

    Windows: Updates to Release Notes
    
    Add support for Windows 7 and Server 2008 R2.
    
    Improve text in a variety of areas.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/719
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e16ce66634a85a870dae3323a2257953cfe571be
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Oct 20 12:38:53 2009 +0100

    Refactor writepage_sync
    
    This change refactors writepage_sync into 4 functions -
    *) prepare_writeback() readies a vnode for writeback, and performs
       the anti-recursion check.
    *) dopartialwrite() intialises a request and performs the call to
       DoPartialWrite
    *) page_writeback() does the actual work of writing an AFS page into
       the disk cache page
    *) complete_writeback clears the writeback flag from a vnode
    
    There should be no change to the current behaviour of writepage_sync,
    these modifications are the first part of a fix to our writepage()
    behaviour.
    
    Reviewed-on: http://gerrit.openafs.org/712
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 234acbbb84534c5327bb69a2fcb7675dcd0d1198
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 22 10:27:41 2009 -0400

    Windows: no longer use WinExec in afscreds
    
    WinExec is a compatibility interface for 16-bit applications.
    It is not compatible with Windows 7.  Replace it with ShellExecuteEx.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/714
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 95cddea6da14d2dd58a2d5e5da775d26d647033f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 21 14:42:23 2009 -0400

    pthread pid casting
    
    in rx, we use pthread_self (which can return a pointer) as a pid;
    in order to not cause problems, cast it as we do elsewhere
    
    Reviewed-on: http://gerrit.openafs.org/703
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cd2d4ceadcb3c52ec8e1b7bfd078b32226bd0d9f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 22 10:10:12 2009 -0400

    rx lwp include assert.h where AFS_NT40_ENV builds can see it
    
    Reviewed-on: http://gerrit.openafs.org/713
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 196b2a2cb35eb85fe599e5faa946c93073935928
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 22 08:57:04 2009 -0400

    Windows: Update Control Panel to use ShellExecuteEx instead of WinExec
    
    WinExec is for 16-bit application compatibility.  Starting with
    Windows 7 it cannot be used to execute a process that requires
    elevated privileges.  ShellExecute[Ex] must be used instead.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/711
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a3bad94d1726a13460dd2c6f55f8742efa9c34d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 22 08:07:43 2009 -0400

    remove spurious log in icl
    
    fstrace should not log sets to the kernel message log
    
    Reviewed-on: http://gerrit.openafs.org/710
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e83d382d208950029610ff04ec696b7ce6840a56
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 22 00:34:50 2009 +0100

    Add -Wpointer-arith to warning and checking builds
    
    GCC doesn't catch issues with performing pointer arithmetic on
    (void *)s, unless the -Wpointer-arith warning flags is supplied.
    Enable it for warning and checking builds.
    
    Reviewed-on: http://gerrit.openafs.org/708
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5f688ff4bd89aa0c73d96a51c0d5343a2ed2e843
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 21 14:43:26 2009 -0400

    rx don't exit
    
    exiting in library code is antisocial. if rx encounters an error
    which cannot be returned and would otherwise indicate a service thread
    has gone away, assert.
    
    Reviewed-on: http://gerrit.openafs.org/668
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>

commit 304f21cb7094e68224b22f8a91144f80207d7a3c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 22 00:31:10 2009 +0100

    Fix fall out from removal of memset casts
    
    In places where we're doing pointer arithmetic, we must cast to (char
    *), because pointer arithmetic on a void * isn't permitted by the C
    standard. Sadly gcc lets us get away with it 'for convenience'.
    
    Reinstate the necessary casts.
    
    Reviewed-on: http://gerrit.openafs.org/707
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a8a9c3c0f248d8ce0fbe7da701abb898adfe003c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 18:51:09 2009 -0400

    Windows: Update MSI installer properties
    
    Reference useful web pages such as docs.openafs.org for help,
    www.openafs.org/windows.html for upgrade info, etc.
    
    Reviewed-on: http://gerrit.openafs.org/706
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 32b2f18628f4e7942e988111ba9903e9a2967754
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 18:41:59 2009 -0400

    Windows: ports in the cache manager are stored in network byte order
    
    When assigning ports from SRV/AFSDB lookups, convert to network
    byte order when assigning them to cm_server objects.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/705
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2a9263a451847f4f1fb4deff56ee68d73c70e5bc
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Oct 21 15:56:12 2009 -0400

    Windows: Set the ARPINSTALLLOCATION property when installing
    
    The WiX based Windows Installer package for OpenAFS should set
    the ARPINSTALLLOCATION property when installing.  This property
    contains the main installation directory for the product and is
    necessary for Windows Logo compliance.
    
    Reviewed-on: http://gerrit.openafs.org/704
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b9eaf43bbe31ac20604e79b0fd4e35aa029a06bd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 21 17:34:30 2009 +0100

    Don't cast the pointer past to memset
    
    memset() takes a void * as it's first argument. Don't explicitly cast
    what we're passing in to (char *), as this may mask other errors.
    
    Reviewed-on: http://gerrit.openafs.org/701
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5d5d18071608d9782a5d936f79215048af641410
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Sun Oct 11 20:52:26 2009 -0400

    Make typedefs of AFS_UCRED and AFS_PROC with renaming
    
    Make typedefs of AFS_UCRED and AFS_PROC, with a corresponding name change.
    The names afs_ucred_t and afs_proc_t are chosen since these appear to be
    the best available choices.  The names cannot actually collide with anything
    which POSIX might later introduce.  For UKERNEL, the preprocessor is used
    to redirect references.  This seems not easily avoidable at present.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/645
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bf9c51a4e13b3e621b99866e9be53c8fe35a39fe
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Oct 20 12:43:42 2009 -0500

    HPUX: Do not sigwait on critical signals
    
    On HPUX, it is possible for 'critical' signals such as SEGV, ABRT, etc
    to be delivered to the softsig thread when we sigwait(). The current
    code marks these as 'fatal' and just exit(0)s when they are received,
    preventing us from getting cores in the case of a SEGV, ABRT, etc.
    
    To work around this and keep behavior on other platforms the same, just
    do not wait on 'critical' signals on HPUX in the softsig thread.
    
    Reviewed-on: http://gerrit.openafs.org/693
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4141bf4084b3f473a8a756b42556c6273cd7c9bd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 09:14:51 2009 -0400

    Windows: Add registry entries for rx_SetMinPeerTimeout, rx_SetMaxRecvWindow, rx_SetMaxSendWindow
    
    Permit the new rx settings to be configured via the registry and
    set at startup.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/700
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c4263054a0c3101199d84527f36e18e2743169c4
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Oct 21 09:13:22 2009 -0400

    Add rx_SetMinPeerTimeout and rx_GetMinPeerTimeout
    
    Permit the minimum peer timeout value to be adjusted at runtime.
    The default remains 350ms.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/699
    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>

commit 54d9c6cb34af3da75831b4b8c68cb40475eee1ea
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Oct 20 15:30:33 2009 +0100

    Use real names for page lock operations
    
    Call a spade a spade. Don't use macros to rename lock_page as LockPage,
    and unlock_page as UnlockPage. Instead use the same names as the kernel,
    which makes it a lot easier for people familiar with kernel code to read
    ours.
    
    Reviewed-on: http://gerrit.openafs.org/692
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 040712a744dd5e021d20987c2e2a98ac0f129b15
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 14 23:43:46 2009 -0400

    Windows: Modify afscreds.exe and afs_config.exe to be UAC compatible
    
    afscreds.exe:
     1. disable the drive mapping and advanced tabs.
     2. on exit, remove the option to stop the service.
    
    afs_config.exe:
     1. disable the drive mapping tab
    
    Removing this functionality by default will address some of the
    problems while permitting users that wish to continue using these tools
    to do so.   The drive mapping tab can be re-enabled setting the registry
    value to be non-zero:
    
      {HKCU,HKLM}\Software\OpenAFS\Client DWORD "ShowMountTab"
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/663
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ee7399fa3795652c3d903e9af2baa9ba0174ca03
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 09:02:04 2009 -0400

    Windows: Do not permit infinite attempts to obtain a pioctl file handle
    
    The recent change to detect sharing violations and initiate retries
    permits infinite attempts.  Change this to a limit of 100 attempts
    and increase the sleep period between attempts from 1ms to 100ms.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/697
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2e9dc9ee20181db0e3c6dbee0b51b0f8de5d52ec
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 21 09:07:47 2009 -0400

    Windows: digital signatures are required for resource dlls
    
    Windows 7 logo requirements state that all dlls including
    resource only dlls be digitally signed.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/698
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 7673b2450c9e7449d8165a0be5bbd8e0c063dfd2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 14 22:06:38 2009 -0400

    Windows: Adjust error return values
    
    Do not return STATUS_TIMEOUT to the smb redirector, doing so
    results in an undesireable disconnect.
    
    Map RXKADNOAUTH to STATUS_CLOCK_SKEW as that is the most
    frequent cause of rx level authorization failures.
    
    Map CM_ERROR_UNKNOWN to access denied since there is no
    better error choice.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/661
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 310cec9933d1ff3a74bcbe716dba5ade9cc28d15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 29 05:34:30 2009 -0400

    rx window size increase
    
    window size was previously pushed to 64; push to 128. as this increases memory
    use, anything further should be arguably tied to rx-using-program's
    resource allocation preferences, e.g. fileserver -LL should be willing to
    up this
    
    Reviewed-on: http://gerrit.openafs.org/549
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b8e3de897a05ac07ea8cff5774d982ce6ad605b2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 20 15:03:09 2009 -0400

    afscp warnings cleanup
    
    make the copy of afscp in src/tests compile with fewer warnings
    (and provide needed prototype for RXAFSCB_ExecuteRequest)
    
    Reviewed-on: http://gerrit.openafs.org/694
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cc112e7a59d441d28a1d195cb48f23887df51929
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 20 16:16:47 2009 -0400

    prevent rx peer timeout from reaching 0.0 seconds
    
    The rx peer timeout is computed from the round trip time
    calculation.  It traditionally has had a lowerbound of 350ms.
    The computation in rxi_ComputeRoundTripTime() was incorrect
    and instead used 350ms as an upperbound.
    
    rxi_ComputeRoundTripTime() had a second problem wherein if
    the actually RTT is shorter than the resolution of the clock
    then the RTT would quickly approach 0.0 seconds.  Enforce
    a lowerbound of 1ms if the RTT for a given packet appears
    to be 0.0 seconds.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/696
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e7e057346fa456cb27c54112a4dba311bcaf9aaf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 20 15:08:51 2009 -0400

    Rx warning removal
    
    This patch set removes many but not all of the warnings
    in the rx library.
    
     - use AFS_PTR_FMT in dpf debugging output
    
     - fix many signed vs unsigned warnings
    
     - on Windows, the first parameter to select() is ignored.
       Passing an osi_socket produces an unnecessary warning.
    
     - In rx_SlowReadPacket and rx_SlowWritePacket, use 'r' the
       unsigned value for internal computation and 'resid' for
       holding the original value.  This avoids many signed vs
       unsigned warnings.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/695
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c188acf396487be4b902549c215e3da5cda615ce
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 20 12:32:22 2009 -0400

    Windows: AFS_PTR_FMT is just 'p'
    
    The printf format specification for a pointer of any size is
    just 'p'.  The 'I' is only to be used for [duox].
    
    Reviewed-on: http://gerrit.openafs.org/690
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 840e4d2123e1e94adfc27ae0b286a11d472cf0fc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 18 22:48:56 2009 -0500

    Avoid 'static __inline' on HPUX
    
    'static __inline' functions on HPUX can segfault the /opt/ansic compiler
    (unless we lose debugging symbols). So, just use 'static' for those
    functions on HPUX. Also revert a9368a6c3dfe4435ec2ae63fff4a3325104ed9f7,
    so we get a static inline function on other platforms.
    
    Reviewed-on: http://gerrit.openafs.org/691
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a26f10a01a39747cd275baa326adf8415c5648e4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Oct 20 13:38:08 2009 +0100

    Remove pageoff macro
    
    The pageoff macro is now unused. Remove it.
    
    Reviewed-on: http://gerrit.openafs.org/689
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bd011aeee7f5dad5c61fd81a90b296c46a0b9058
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 19 18:43:44 2009 -0400

    Add server prefix to bumon.xg; avoid rx_call * vs rx_connection * warning
    
    When compiling src/bubasics/bumon.ss.c a warning would be produced
    due to an rx_call* being passed into BC_Print which in its client
    form requires an rx_connection*.  The server implementation and client
    stub each were called BC_Print because there was no server prefix
    specified in bumon.xg.  Add prefix 'S' and update bucoord/server.c
    to match.
    
    Reviewed-on: http://gerrit.openafs.org/686
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    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>

commit 3eec9fa7700de5d20a5c7eec8fc02f87ead1f342
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 19 23:56:12 2009 +0100

    Return both error codes for rxfs_fetchInit
    
    The FetchStore refactoring was causing the result from rx_EndCall to
    be discarded. This change will cause that to be returned to the caller
    if rx_Error() returns 0
    
    Reviewed-on: http://gerrit.openafs.org/687
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6f2ce4cdc216ad5a3e8ed09a011a5f0681f098b4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 16 16:39:24 2009 +0100

    Always unlock pages when returning from writepage
    
    Writepage has a return path which returns an error with a locked
    page. However, all returns that are not AOP_WRITEPAGE_ACTIVATE must
    unlock their pages - using this codepath would leave a stray page lock,
    which would eventually hang the machine.
    
    The logic behind the -EIO return was also incorrect. In the Linux page
    cache model, truncates simply reduce the size recorded in the inode. If
    there are pages pending writeback then they may still have writepage() called
    upon them - it's up to the writepage routine to discard the write
    request (rather than returning an error)
    
    Reviewed-on: http://gerrit.openafs.org/685
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ebf6516db2f1105e5ca8172f6d64038c6acc60bd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 15 13:15:44 2009 -0500

    Fix a couple more unlink()s in vol-salvage.c
    
    There are a couple more unlink() calls in vol-salvage.c that were using
    relative paths. Fix them to use absolute paths and to log a warning if
    the unlink() fails.
    
    Reviewed-on: http://gerrit.openafs.org/684
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6b0e4039c65262e68481ff43bc0cce531c5b39eb
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Oct 19 17:12:32 2009 -0400

    Windows: Add a token status icon to the NIM plug-in
    
    The Network Identity Manager plug-in for OpenAFS replaces
    afscreds.exe for token management.  However, unlike afscreds.exe,
    the plug-in did not indicate the status of AFS tokens using an
    icon in the notification area.
    
    This patch adds a token status icon to the plug-in so that while
    the plug-in is used, a familiar padlock icon in the notification
    area will indicate the status of tokens as well as the OpenAFS
    service.
    
    There are four possible states indicated by the icons:
    
    - No tokens: indicated by a padlock with a bright red 'X' beside
      it.
    
    - At least one valid token: indicated by a normal padlock.
    
    - Service is not running: indicated by a grayed out padlock with
      a black square beside it.
    
    - Service error: indicated by a padlock broken in half.
    
    The 'Service error' state means that the OpenAFS client service
    is technically running (as reported by Windows), but is not
    responding to requests.
    
    In addition to the icon, hovering the mouse cursor over the icon
    will show details about the current state (such as the list of
    cells for which valid tokens exist) and the version of OpenAFS
    running on the machine.
    
    Reviewed-on: http://gerrit.openafs.org/683
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit edbef134b7ee2abbd8e2b9639991e5906f3b8fb0
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Oct 19 17:34:09 2009 +0200

    AFSPreference Pane Mounts View refresh issue
    
    Resolved the bug that prevented to show the link description after it was added.
    Now the table is refreshed at any operation(add/remove).
    
    Reviewed-on: http://gerrit.openafs.org/682
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e82f3b210e0e49fb9d9531565f634ed9d49426a5
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Sun Oct 18 20:39:21 2009 +0200

    OpenAFS Preference Pane 64bit and Symbolic Link features implemented.
    
    Now the OpenAFS preference pane is compiled with 32 and 64 bit snowleopard support, so the preference
    windows is no more restarted in 32 bit mode.
    The tab for symbolic link creation has been implemented. Now the user can create and delete link.
    For create a link both name and destination path must be set. AFSBackgrounder has been updated to
    manager in a separate thread the link creation and destroy operation, according to the vaule of
    checkbox "Enable Symbolic Link" in "Mounts" tab.
    
    Reviewed-on: http://gerrit.openafs.org/677
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 67395a7b6a3c83d3f15fae75cf78db9f60730bbc
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 18 21:05:58 2009 -0500

    Prototype encode_krb5_enc_tkt_part for aklog
    
    Prototype encode_krb5_enc_tkt_part in aklog_main.c, since it is a
    private interface so we don't get a prototype from the krb5 headers.
    
    Reviewed-on: http://gerrit.openafs.org/680
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bb7f31bc3cd85557ddaf89e801572e0d933702af
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 18 22:20:59 2009 -0500

    Fix format warnings in tviced/state_analyzer.c
    
    state_analyzer.c assumes subtracting two char*s will result in an
    unsigned int, which can cause warnings. Lacking a portable format
    specifier, just use %ld and cast to long.
    
    Reviewed-on: http://gerrit.openafs.org/681
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9818e3dce9461f08f4aafbfd99be5a48ac098464
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 18 20:46:27 2009 -0500

    Fix a couple of size_t warnings
    
    fsprobe/fsprobe.c and kauth/ka-forwarder.c were trying to print size_t's
    without using AFS_SIZET_FMT. Fix that.
    
    Reviewed-on: http://gerrit.openafs.org/678
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3dbee6f66d3932d1e2e9141220c0e9f6623a9b94
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 18 20:47:43 2009 -0500

    Prototype ka_log
    
    Prototype ka_log in kauth/kalog.h to prevent warnings. While we're at
    it, only prototype kalog_log and kalog_Init when they actually get
    implemented.
    
    Reviewed-on: http://gerrit.openafs.org/679
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9bbe16d33097b387c5f855de0ca7ba4c67631e67
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 18 12:07:37 2009 +0100

    Fix warnings in tviced
    
    Prototype hpr_Initialize and hpr_End to remove warnings in the tviced
    build.
    
    Reviewed-on: http://gerrit.openafs.org/675
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c9dc69afae4c359058f1f524a388f4cd059fdf10
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 16 14:30:34 2009 -0500

    Log error messages in volser i/o errors
    
    Currently, in various places in src/volser/, we log/print an error
    message when some disk i/o error occurs, but we don't log what error was
    returned. Log that little bit more info to make debugging easier in some
    cases.
    
    Reviewed-on: http://gerrit.openafs.org/671
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4f190ca605597fd31972192c65363117863e262
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 16 23:15:52 2009 +0100

    More warning fixes for kauth
    
    Resolve more minor warnings from the kauth directory.
    
    *) kaux_read takes an unsigned for the number of failures
    *) The COUNT_REQ macro generates an unused variable (this_op)
    *) kas is missing some headers
    *) Add some more prototypes to kauth_internal.h
    *) Add the standard boilerplate to kauth_internal.h
    *) recvfrom takes a socklen_t * as its 6th argument
    
    This make kaprocs.c, kaauxdb.c, kas.c, klog.c, and ka-forwarder.c
    warning clean. Mark them as such.
    
    Reviewed-on: http://gerrit.openafs.org/673
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3064879c8d69ca9541c622e9f3f90e7c1e35c26c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 16 22:45:50 2009 +0100

    Update warning management
    
    This change tidies up after the recent slew of warning reduction. It
    updates README.WARNINGS to reflect the current state of the tree,
    disables warnings for a couple of files that are now warning clean,
    and ensures that the libuafs and libafsrpc Makefiles match the state
    of the rest of the tree in terms of which warnings are enabled.
    
    Reviewed-on: http://gerrit.openafs.org/672
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7de8be52f5720f865fdfbf59772df1f2ab1bd8e5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 18 12:44:56 2009 +0100

    Use ranlib -c for Mac OS X Leopard
    
    Building with --enable-demand-attach-fs requires that ranlib -c be
    used on Leopard (it is already the default for Tiger)
    
    Reviewed-on: http://gerrit.openafs.org/676
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 20a5b58e23ceab1c6be60e173e631ee8fb6834a5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Oct 17 08:49:03 2009 +0100

    afs_Conn must be called within the analyze loop
    
    afs_Analyze calls afs_PutConn, so each pass through the
    afs_Analyze loop must call afs_Conn to get a new connection handle.
    
    afs_CacheStoreVCache (part of the fetchstore refactoring) wasn't doing
    this, and so producing garbage data upon retries.
    
    Reviewed-on: http://gerrit.openafs.org/674
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f3d5b94f2e2dfcdb5c626a42b6be4f1e412f4a33
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 16 15:28:04 2009 -0400

    Windows: Always compute time remaining in cm_Analyze
    
    In cm_Analyze, the time remaining for processing the request
    is used to determine if a retry should requested upon return.
    If the request's CM_REQ_NORETRY flag is set, cm_Analyze can
    still permit a retry if a new rx connection is to be forced.
    This cannot happen if the time remaining is not calculated
    when the CM_REQ_NORETRY flag is set.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/670
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2285341b5f009329d84f1ccdb6bcadcb6a507047
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 16 15:31:02 2009 -0400

    Windows: mark volume status online during cm_MergeStatus
    
    During cm_MergeStatus, if the volume status is not vl_online
    mark it vl_online.  The volume must be online because an
    AFSFetchStatus was just processed.  This change reduces the
    amount of work that must be performed by the daemon thread's
    volume status check.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/669
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3abc87a5a94f0d5eaca702c7bd66fbe35ce7b896
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 8 21:53:03 2009 -0400

    Linux: kmem_cache_create fix and cleanup
    
    Fix the kmem_cache constructor function to match the current
    expected prototype, and cleanup related code.  This has been wrong
    for a while, but since we were just passing extra parameters the
    only effect was to generate a warning.
    
    - Add a new configure test to detect the new constructor function
    signature
    - Define the older versions of the constructor in osi_compat.h,
    making them call the current version
    - Move a few compatibility #defines to osi_compat.h
    
    Reviewed-on: http://gerrit.openafs.org/657
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 508bcd69b5ad55bcadf26d9b748f175c7a33ce77
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 15 13:48:08 2009 -0400

    Fix rxgen-generated warnings
    
    Prevent rxgen from generating code that produces warnings at compile
    time.
    
     * Add print_ifarg_with_cast().  Used within print_ifstat() to generate
       a member in an argument list complete with a type cast.  The type
       cast may be a pointer to the type or the type depending on the value
       of the 'ptr_to' parameter.
    
     * When print_ifstat() generates the output for an opaque vector, cast
       the object to 'caddr_t' as xdr_opaque() accepts an argument of type
       'caddr_t'.
    
     * When print_ifstat() generates the output for an opaque array, cast
       the object to 'char **' because xdr_bytes() accepts an argument of
       type 'char **'.
    
     * When print_ifstat() generates the output for any array that is not
       opaque or string, cast the object to 'caddr_t' because all of the
       xdr_XXX() functions other than xdr_opaque and xdr_bytes accept an
       argument of type 'caddr_t'.
    
     * When print_ifstat() generates the output for an alias, cast the
       output to a pointer to the specified type because xdr_<type> accepts
       an argument of type '<type> *'.
    
    This addresses warnings generated when compiling fsint/Kvice.xdr.c and
    fsint/afsint.xdr.c.
    
    Reviewed-on: http://gerrit.openafs.org/664
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit fe68604f113773c1ffcb6d83d4a2febc3e0e3ed8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 16 10:44:58 2009 -0400

    exit less
    
    start cleanup of calls to exit scatter into library code. ugen_ callers handle
    error returns correctly; rmtsys already deals with errors; and rx_pthread can
    already deal with errors in the case that's fixed
    
    Reviewed-on: http://gerrit.openafs.org/667
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 50313a72a99ab312a796108d807aef0f6b4d2ca9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 15 19:21:54 2009 -0400

    snowleopard 64 bit warning death
    
    make all errors from warnings when compiling on snowleopard die
    
    as a note, the ukernel pid, and pthread self as id changes, probably
    should be revisited, but for now i have changed nothing. it should
    be a separate change.
    
    Reviewed-on: http://gerrit.openafs.org/666
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 58628eb745acdf4b1b7e9f5ab828e4ca0fa18b81
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Oct 11 21:55:05 2009 -0500

    Detect and use %zu for size_t when available
    
    Commit db949b7fade69d7eb1e38ad85d5b822c443306cb was incorrect and
    generated warnings on many platforms; we cannot determine the correct
    format string for a size_t at compile-time. Instead use the %z length
    modifier when we can detect that it is safe to use. Otherwise, fall back
    to just %lu on Unix, since it is reasonable to assume
    sizeof(size_t) == sizeof(unsigned long) on Unix.
    
    Reviewed-on: http://gerrit.openafs.org/647
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1fa650cee2d6cc708ee29a963ad3498a808bbde8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 14 22:43:27 2009 -0500

    Fix unitialized variable warning in cfghost.c
    
    Initialize cellentry. It does not appear to be possible to actually hit
    code that references an uninitialized cellentry, but the compiler can
    still complain.
    
    Reviewed-on: http://gerrit.openafs.org/665
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 862390a987f5ef4438079e7d1e961c7ddafb94ac
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 13 23:36:26 2009 -0400

    Windows: AFSVolSync creationDate based readonly volume versioning
    
    Implement readonly volume versioning based upon the .readonly
    volume creation date as reported in the AFSVolSync output
    parameter of every RXAFS RPC.
    
    Whenever a new callback is obtained for an object stored within
    a .readonly volume, the volume creation date is recorded in the
    cm_volume object along with the callback expiration time and
    a reference to the server that issued it.  These values are
    used to determine if a callback is present when the cm_scache
    object's volume creation date matches the cm_volume object's
    volume creation date.  If there is no match, the cm_scache
    object's individual callback information is used to determine
    whether a callback has been registered.
    
    This mechansism ensures that the whole-volume callback issued
    in response to a RXAFS_FetchStatus request against a .readonly
    volume can be applied to all objects that are cached from the
    same version of the .readonly volume instance.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/654
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0468b18058332a21c52dd336eaea9768de271208
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 14 22:33:11 2009 -0400

    Windows does not provide sys/wait.h
    
    sys/wait.h was added to butm/file_tm.c by
    patch set 789580d13591ff1aa53cfbf5fef4d46b0b65c805
    (gerrit 635)
    
    Reviewed-on: http://gerrit.openafs.org/662
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 25882899879531d7bea20ab2d8c1e3dea0a7975b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Oct 10 00:30:01 2009 +0100

    Fix checked builds with gcc4.2
    
    Recent change sets removed the 'ignore-all-warnings' mode from a
    number of files, in favour of using the implicit-function-declaration
    pragma. Sadly, that pragma isn't available in gcc 4.2. Revert the
    Makefile changes such that ignore all warnings is turned back on
    for the affected files, and note this in README.WARNINGS
    
    Reviewed-on: http://gerrit.openafs.org/639
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 41baf5c58fabc62145731be1d6c99c833c8ee003
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 7 09:21:53 2009 -0400

    add SRV record lookups to unix afsconf support suite also
    
    create new api call afsconf_LookupServer
    make afsconf_GetAfsdbInfo call it
    include T_SRV support
    
    Reviewed-on: http://gerrit.openafs.org/594
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 34c71e6b11e4e7fae40fa64a998a564feaa4a4b0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 14 22:27:34 2009 +0100

    Add fsint dependency to audit builds
    
    The 'audit' target requires that fsint is built first. Express this as a make
    dependency.
    
    Reviewed-on: http://gerrit.openafs.org/660
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 94ceae1220538dec8ba3400b1368b599fe28197d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 12 21:57:52 2009 -0400

    Windows: refactor afs status cloning and clone when fs fetchdata bug detected
    
    When the file server fetchdata invalid length bug is detected the
    cache manager must fake the AFS Status info for the file as well
    as the AFSVolSync info.   Otherwise, the merge status is incorrect.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/651
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a394d74e4462a2a3e006ca161f22e35a9f44a77c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 14 09:26:27 2009 -0400

    Revert "Windows: Readonly Volume Versioning for Windows Cache Manager"
    
    This reverts commit bb6e38a45b8b5061cd4c9613262fa015957fb8d8.
    
    Reviewed-on: http://gerrit.openafs.org/659
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5a403db74efc732c3695fb60d4baa652656151a5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 13 22:35:55 2009 -0400

    Windows: fix build due to broken src/volser/NTMakefile
    
    Commit 82aa5b4e09ac8a550525efd0e357783a3b3aed88 incorrectly
    updated the src/volser/NTMakefile resulting in a broken
    build system.
    
    Reviewed-on: http://gerrit.openafs.org/658
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 958f54766452d3468e849570114fe1ff685bb0cc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Oct 13 21:52:47 2009 -0400

    Linux: Remove declaration of unused variable filp
    
    filp is unused after the recent rework of osi_file.c
    
    Reviewed-on: http://gerrit.openafs.org/656
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 789580d13591ff1aa53cfbf5fef4d46b0b65c805
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Oct 9 10:17:43 2009 -0500

    Fix warnings in butc, tbutc, and butm
    
    tbutc:
     - Ignore warnings for dump.c
    
    butc/dump.c:
     - butm_WriteFileData takes a char*, no need to cast buffer
    
     - volumeHeader_hton takes a struct volumeHeader*, though, need to cast
       buffer there
    
     - Ignore strict prototypes
    
    butc/recoverDb.c:
     - scanVolData takes a uint*, not an int*
    
     - Initialize nbytes to 0
    
     - Remove warning inhibition
    
    butc/tcmain.c:
     - atocl takes an int*, not a uint*
    
     - Ignore implicit function declaration warnings
    
    butc/tcudbprocs.c:
     - Ignore implicit function declaration warnings (ubik stuff)
    
    butm/file_tm.c:
     - Include sys/wait.h for the waitpid() prototype
    
    Reviewed-on: http://gerrit.openafs.org/635
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 664e5aca1692b664cfacd906bd4e632baedf4a4b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 12 14:20:00 2009 -0400

    Windows: If SecurityLevel is configured use it for vos.exe and pts.exe
    
    If the SecurityLevel registry value indicates that crypt should be
    the default, then always set -encrypt for vos.exe and pts.exe.
    
    Reviewed-on: http://gerrit.openafs.org/648
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 78d8b8c5c19b8d6873b2d62beaa60cc7acba1840
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 24 12:02:55 2009 -0500

    Use f_bsize for ZFS afs_fsfragsize
    
    On ZFS, the disk space files can use up can be rounded up to the next
    recordsize boundary if they've been truncated. This can cause the Unix CM
    to mis-estimate cache usage, since it truncates files fairly often, and
    assumes the disk space used is the file length rounded up to the next
    f_frsize.
    
    Since the ZFS recordsize is available via the statvfs f_bsize, just
    round up to that instead. There is still some additional file metadata
    that takes up some additional space on disk, but according to ZFS people
    I've spoken to about this, it cannot be known in advance. In practice,
    the additional metadata storage doesn't appear to exceed about 10% of
    the data storage, which should be acceptable.
    
    FIXES 125365
    
    Reviewed-on: http://gerrit.openafs.org/650
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Andrew Deason <adeason@sinenomine.net>

commit 82aa5b4e09ac8a550525efd0e357783a3b3aed88
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 9 21:17:16 2009 +0100

    Add public protoypes for volser
    
    Add a new public header file volser_prototypes.h, which contains
    prototypes for those volser functions that are used by the rest of the
    tree, and link it into the Unix and Windows build systems.
    
    Rename the current volser_prototypes.h volser_internal.h, and update
    references to it.
    
    Make those places that should use the new public header use it, and
    re-enable warnings-as-errors as appropriate.
    
    Remove the warning free files from the list in README.WARNINGS
    
    Add butm_prototypes.h to butc/lwps.c, so we can enable warnings for that,
    too.
    
    Reviewed-on: http://gerrit.openafs.org/636
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9bd725692787534c5fb0d209b69be1de01c3cdf2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Oct 12 13:26:57 2009 -0500

    Formatting typos in pts.pod
    
    Fix a couple of B<...> sequences pod2man yells at us about.
    
    Reviewed-on: http://gerrit.openafs.org/649
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 633047c378b58b4bcd7e9dac046224955e868ea9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 9 21:21:23 2009 +0100

    Add afsio to gitignore
    
    Add the new afsio binary to the appropriate .gitignore file
    
    Reviewed-on: http://gerrit.openafs.org/637
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit bb6e38a45b8b5061cd4c9613262fa015957fb8d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 5 14:00:50 2009 -0400

    Windows: Readonly Volume Versioning for Windows Cache Manager
    
    When the HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
    "ReadOnlyVolumeVersioning" DWORD registry value is non-zero, the volserver
    will be queried for each .readonly volume to obtain the lastUpdateTime.
    The lastUpdateTime will be used as a volume version identifier for each
    cm_scache_t object stored in the volume.  With a known volume version,
    whenever a current status is obtained for any object within the .readonly volume,
    all the cached objects within that volume that have the same volume version
    can share the resulting callback registration.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/579
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit e026fcb2f03d792c80a81d99435a4ecdebba8fc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 11 18:06:25 2009 -0400

    Windows Explorer Shell Extension: Remove OutputDebugString calls
    
    Remove all OutputDebugString calls from the explorer shell extension.
    OutputDebugString() requires acquiring system global locks.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/643
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 93fb21a8d090cea1ce25d0394bff921c44096575
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 12 08:28:54 2009 -0400

    Windows: Correct lock error codes and log file server lockCount
    
    The error codes that should be returned when a lock request
    fails are:
    
      STATUS_LOCK_NOT_GRANTED for an explicit lock request
      STATUS_SHARING_VIOLATION when a CreateFile fails due to a previous lock
    
    Correct the service to ensure that these values are in fact returned.
    
    Also, add 'fsLockCount' field to cm_scache_t and dump its value
    as part of the "fs memdump" output.  This permits some ability to
    identify what the file server thinks the lock count is.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/646
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 917a860e818d5cdda82add0d4d50b594820816f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Oct 5 14:34:59 2009 -0400

    Improve accuracy of Rx RTT calculation by skipping retransmitted packets
    
    Rx RTT calculations are based on Van Jacobson's work using
    constants that make computations fast but are not necessarily
    the best for modeling Rx protocol exchanges.  This patch does
    not alter the constants but does improve the comments to show
    that the math is correct.
    
    Phil Karn in 1987 demonstrated that Van Jacobson's algorithms
    produced inaccurate results when the RTT computed from an
    acknowledgement of a retransmitted packet were included.  The
    resulting RTT would either be too small causing the system to
    retransmit too many packets or too long resulting in too few
    being sent.
    
    This patch follows Phil Karn's advice which was also adopted
    as mandatory for TCP in RFC2988.  Retransmitted packets and
    delayed acks are skipped and the retransmit time is backed off
    (up to a maximum of 3 seconds) until a successful acknowlegement
    is received for an initially transmitted packet.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/580
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 76ae0f51892a703d7bd4aea5fdcf60c586e4a440
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Sat Oct 10 09:09:53 2009 -0400

    Use AFS_PROC consistently
    
    Make consistent use of AFS_PROC in portable and mixed files, adding the define
    for platforms which lacked it.  This completes a change that has been ongoing
    for several years.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/642
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d705e26eac5c4327ef1499cd59228e123f03971f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Oct 10 00:46:08 2009 +0100

    Revert "Linux: kmem_cache_create fix and cleanup"
    
    This reverts commit 6133d25397b8365d450c99b8bc147972f8600074.
    
    This patch breaks builds on RHEL5.3 - revert it until we can come up
    with a fix.
    
    Reviewed-on: http://gerrit.openafs.org/640
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit dc94d7da5f6767d0de4e11e8b41408394092a48b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 8 08:59:15 2009 -0400

    Windows: use port when finding server by address
    
    Modify cm_FindServerByIP to search by port as well.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/607
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8788462b65eca3e4b25f0e5bda44eac43a135d79
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 9 06:23:10 2009 -0400

    Windows: Prevent fs fetchdata offset bug error from propagating to caller
    
    When the file server fetchdata offset bug is triggered and detected,
    not only do we have to behave as if 'length_found' is zero, but we
    also must ignore the RXGEN_CC_UNMARSHAL error that will be returned
    from rx_EndCall() due to the parsing error that occurred during the
    rx_Read32() call.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/634
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6133d25397b8365d450c99b8bc147972f8600074
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 8 21:53:03 2009 -0400

    Linux: kmem_cache_create fix and cleanup
    
    Fix the kmem_cache constructor function to match the current
    expected prototype, and cleanup related code.  This has been wrong
    for a while, but since we were just passing extra parameters the
    only effect was to generate a warning.
    
    - Add a new configure test to detect the new constructor function
    signature
    - Define the older versions of the constructor in osi_compat.h,
    making them call the current version
    - Move a few compatibility #defines to osi_compat.h
    - Clean up the call to kmem_cache_create by introducing an inline
    afs_kmem_cache_create in osi_compat.h
    
    Reviewed-on: http://gerrit.openafs.org/621
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6d59a0fcd04b7eaa917a84b98c7a932734e69b91
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 8 17:50:06 2009 -0500

    Fix warning in vol/namei_ops.c
    
    Commit 906403c6d770026fd9da606ea468e47ee911f896 introduced a warning by
    making 'error' unused anywhere. Remove the declaration, as well.
    
    Reviewed-on: http://gerrit.openafs.org/620
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 94eae9ed26c9de6d30f2abf3b856412503359270
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 23:03:06 2009 +0200

    Update README with solved/pending docs tasks
    
    Reviewed-on: http://gerrit.openafs.org/618
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 04fa499ac9285f51fdbc2ff724c2a1bd7f0e5d58
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 23:01:39 2009 +0200

    Update backup suite manpages
    
     -- Add missing POD links (L<>)
    
     -- Verify all subcommands and options
    
     -- Format > 80 columns synopsis lines
    
    Reviewed-on: http://gerrit.openafs.org/617
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a6e15c992e0d1d4a6934917acacc864160846eb0
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 22:58:31 2009 +0200

    Update fstrace suite manpages
    
     -- Add missing POD links (L<>)
    
     -- Verify all subcommands and options
    
     -- Format > 80 columns synopsis lines
    
    Reviewed-on: http://gerrit.openafs.org/616
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 923721f8396178902a001887497566b8a8d2efa4
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 22:57:03 2009 +0200

    Minimal left docs updates for vos suite
    
    Reviewed-on: http://gerrit.openafs.org/615
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit eb46f02e560653d8fa72b7ef453b87c8f1986575
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Oct 8 13:15:00 2009 -0500

    Typo in vos_remsite.pod
    
    A typo in c717fcd32cabbc9651b81ef3d0cea11d3a6ecd57 removed the = before
    the first head1 in vos_remsite.pod. Put it back.
    
    Reviewed-on: http://gerrit.openafs.org/612
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 065d9a65ba90505b6a1a2ad58b7e208028a17ced
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 19:32:36 2009 +0200

    Add POD links (L<>) in pts.pod and symlink.pod
    
    Reviewed-on: http://gerrit.openafs.org/610
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c717fcd32cabbc9651b81ef3d0cea11d3a6ecd57
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 19:31:00 2009 +0200

    Update vos suite manpages
    
    Larger collection of all vos suite commands, including but
    not limited to:
    
     -- documented all commands / options, verified against both 1.4 and 1.5 tree
        (including the common -encrypt/-noresolve options)
    
     -- correct order, POD formatting and synopsis for all commands' options
    
     -- shorthand synopsis provided for all commands that missed it, with proper
        non-ambiguous command abbreviations of all options
    
     -- POD synopsis formatted to 80-columns in commands where it was running over
    
     -- for newer options, documented which OpenAFS version they became available
    
     -- proper manpage links using L<> in vos.pod
    
    Reviewed-on: http://gerrit.openafs.org/609
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dde6f7d84087ad7a99bc7694f58521d6947c0665
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 19:20:33 2009 +0200

    Allow check-pod to work on specific files or dirs
    
    Reviewed-on: http://gerrit.openafs.org/608
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f387806bd43e9fa357b48a5c9381d1434a311f2e
Author: Davor Ocelic <docelic@spinlocksolutions.com>
Date:   Thu Oct 8 19:33:26 2009 +0200

    Update readme with solved and pending tasks
    
    Reviewed-on: http://gerrit.openafs.org/611
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8314001bdb305204467adfb27b3dfa2e6890a3b1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 15:57:04 2009 -0500

    Reduce warnings in vos.c
    
    Squash a few miscellaneous that appear when building vos.c:
    
     -- CreateVolume should use util_GetUInt32 to parse vol ids, since they
        are now unsigned
    
     -- The m_uuid argument of print_addrs is altered, so do not declare it
        const
    
     -- Declare the confDir argument of ugen/vsu_ClientInit to be const,
        since it does not change, and vos.c passes a const confDir in
        MyBeforeProc
    
     -- Ignore implicit function declaration warnings and remove
        CFLAGS_NOERROR from the vos.c build, since the only remaining
        warning is an implicit function declaration
    
    Reviewed-on: http://gerrit.openafs.org/602
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c8482d0fb97b3cfe0445c14a605af8c2d00fb50d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:33:02 2009 -0500

    Fix warnings in rxkad
    
    Some miscellaneous warnings throughout rxkad:
    
    rxkad/ticket5.c:
     - Explicitly cast ticket blob to unsigned char*, as some functions take
       a ticket as a char*, and some take it as an unsigned char*
    
     - in tkt_DecodeTicket5, make 'start' and 'end' be unsigned, since that
       is what their callers think they are
    
     - Ignore implicit function declaration warnings (for CRC functons)
    
     - Remove general warning inhibition
    
    rxkad/ticket.c:
     - in tkt_DecodeTicket, make 'start' and 'end' be unsigned, since that
       is what their callers think they are
    
     - Remove general warning inhibition
    
    rxkad/v5der.c:
     - In decode_enumerated, use der_get_unsigned instead of der_get_int,
       since we're decoding an unsigned integer.
    
    rxkad/rxkad_server.c:
     - The last two arguments to rxkad_DeriveXORInfo are char*s, so
       explicitly cast them to be so
    
     - Remove general warning inhibition
    
    rxkad/rxkad_common.c:
     - rxkad_stats_t has had a couple of spares transform into
       clientObjects/serverObjects; account for them and don't overrun the
       spares array
    
    Reviewed-on: http://gerrit.openafs.org/600
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 549002c906795f978eebf81c706995116a04a8ff
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 16:42:42 2009 -0500

    Remove warnings related to type-punning
    
    cmd/cmd.c:
     - Just make dummy be a struct cmd_item instead of casting
    
    rxdebug/rxdebug.c:
     - Access the stats packet through a union instead of casting and
       dereferencing
    
    util/uuid.c:
     - Access the seed through a union and an array instead of that
       incrementing-pointer approach
    
    Reviewed-on: http://gerrit.openafs.org/599
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7197d35ef181bdbbe813ec7fd9c7e5173b801bdb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 8 08:35:09 2009 -0400

    Windows: use xdr_alloc to allocate memory for Callback data structs
    
    xdr_alloc must be used instead of malloc in SRXAFSCB_GetLocalCell
    and SRXAFSCB_GetCacheConfig
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/606
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7f7b4c9aad5deb5be62825ed6b88ca17093c0da6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Oct 8 08:12:28 2009 -0400

    authclient.c: fix 64-bit specific warnings
    
    Commit 36be36e034141ded8fff5ff2edab3223b23c9fcf introduced some casts
    from an integer type to void *.  This generates warnings on a 64-bit
    platform.
    Use uintptr_t casts to make the compiler happy.
    
    Reviewed-on: http://gerrit.openafs.org/605
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3ea144bde535f405f1cef101daa461e0bbbf0fc5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 8 07:25:24 2009 -0400

    Add missing variable to afsio
    
    Callback variable missing in WriteFile
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/604
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e249aace420e20996fef8ace2b5051d5bbdcd809
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Oct 6 14:46:09 2009 -0400

    Permit DNS SRV record lookups to be used by the Windows afsconf_GetAfsdbInfo
    
    Permit DNS SRV record lookups to be used by the Windows afsconf_GetAfsdbInfo
    
    As per the published DNS SRV internet draft for the AFS3 protocol,
    DNS SRV records are to replace AFSDB records as the primary method
    of looking up AFS3 service location information.
    
    In order to make that happen for Windows:
    
    1. afsconf_GetAfsdbInfo must be able to translate from internal service
    names to IANA assigned service names.
    
    2. The Windows getAFSServer() API must accept IANA service and protocol
    parameters as well as the port number to use if AFSDB record fallback is
    required.
    
    3. The Windows cache manager must pay attention to the port number
    stored within the sockaddr_in structure instead of using hard coded
    values based upon the server type.
    For afsconf_GetAfsdbInfo, in addition to searching for the requested
    IANA service, if that service is prserver or kaserver fallback to
    the vlserver record (if any).
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/593
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 38ffa111190548f2648f15dd7f1d3469c7f96e08
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:14:08 2009 -0500

    xdrproc_t functions take a caddr_t, not caddr_t*
    
    Callers of xdrproc_t functions give the function a foo* as the second
    argument, not a foo**, and the xdrproc_t functions themselves expect
    this. Make the xdrproc_t typedef accurately reflect that, thereby
    ridding us of some warnings.
    
    Reviewed-on: http://gerrit.openafs.org/603
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1d8118d3da8251ecbb18743fbaff6ebd3330f484
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 16:39:18 2009 -0500

    Ignore libafsrpc warnings for shlibafsrpc also
    
    Some warnings were ignored in libafsrpc, but not in shlibafsrpc. Ignore
    them in both places.
    
    Reviewed-on: http://gerrit.openafs.org/601
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8ef41263cfaff03cd5c33a0278d327596c68b730
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:07:52 2009 -0500

    Fix warnings in lwp/process.c
    
     -- The EP/ep function does not return anything; declare the function pointer
        accordingly
    
     -- Explicitly cast &stackvar to char* to avoid a warning
    
    Reviewed-on: http://gerrit.openafs.org/598
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 36be36e034141ded8fff5ff2edab3223b23c9fcf
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:48:52 2009 -0500

    Fix warnings in kauth/authclient.c
    
     -- In ka_Authenticate, explicitly cast 'start' and 'end' to void*,
        since kawrap_ubik_Call takes all arguments as void*s
    
     -- Fix kawrap_ubik_Call to not be an old-style declaration
    
     -- Only ignore strict prototypes and implicit function declaration
        warnings
    
    Reviewed-on: http://gerrit.openafs.org/597
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f512597b0ad288081930c1e578f76a3d417aab23
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:16:30 2009 -0500

    Remove a pointer->integer warning in fstrace.c
    
    Explicitly cast eparm to a long in afs_syscall when calling
    proc_afs_syscall, to avoid a warning.
    
    Reviewed-on: http://gerrit.openafs.org/596
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 72c2473724e1b0a8cdc4a9e3e7639d80e5ec1086
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 17:19:22 2009 -0500

    Prototype strcasestr in afsmonitor.c
    
    If we HAVE_STRCASESTR, we lack the prototype for strcasestr in
    afsmonitor.c unless we def _GNU_SOURCE before including string.h on GNU
    systems. To avoid side-effects or pulling in extra stuff, just prototype
    strcasestr ourselves for the time being (if we have it) instead of
    def'ing _GNU_SOURCE.
    
    Reviewed-on: http://gerrit.openafs.org/595
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit db949b7fade69d7eb1e38ad85d5b822c443306cb
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 14:52:02 2009 -0500

    Correct and use AFS_SIZET_FMT
    
    On *nix, a size_t needs either %lu or %u to be interpolated in a string,
    depending on if we're on an ILP32 arch or not. Define AFS_SIZET_FMT
    accordingly, and actually use AFS_SIZET_FMT when we try to print a
    size_t.
    
    This removes numerous -Wformat warnings, at least when building on
    i386_linux26.
    
    Reviewed-on: http://gerrit.openafs.org/592
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 6ef4627412ed554f3a3c0d7c2e1b9132b3a624d0
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Sat Jul 25 15:28:07 2009 -0400

    Allow gnu-style long options
    
    New users are surprised when OpenAFS command options
    cannot be prefixed with two dashes, as is common
    with most modern tools.  Permit an extra dash for
    common commands when more than one character is
    given. For example vos listvol --server foo.bar.com is
    equivalent to vos listvol -server foo.bar.com, but
    vos listvol --s foo.bar.com is an error.
    
    Reviewed-on: http://gerrit.openafs.org/216
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1793f454e4bb4f0eb5cbe9009ddb6bd48cc1cfd3
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Oct 7 15:26:42 2009 +0200

    pioctl with VIOC_FS_CMD removed
    
    This should ease the ingtegration for Windows.
    Instead RXAFS_FetchStatus is called.
    
    Reviewed-on: http://gerrit.openafs.org/590
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 811418887df505b9012a96802aa3dc3281b302e7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 6 11:03:27 2009 -0400

    Build afsio on Windows; remove many warnings
    
    With this commit afsio builds on Windows.   It will not work
    until the VIOC_FS_CMD OSD extension is implemented in the
    Windows Cache Manager.
    
    Required changes:
    
      * Export ugen_ClientInit from libafsauthent.dll
    
      * Fix util_GetInt64 and util_GetUInt64 to return afs_int32
        instead of afs_int64 since it is just returning success
        or error
    
      * Define VIOC_FS_CMD for Windows even though it isn't implemented
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/587
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 906403c6d770026fd9da606ea468e47ee911f896
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Oct 7 12:14:11 2009 -0500

    Make namei convertROtoRW'd volumes usable
    
    Right now, if you convertROtoRW a volume on namei, the converted volume
    appears to need a salvage before it is usable, and the header of the old
    (now empty) RO volume is kept around. Fix this:
    
     -- Set inUse = 0 on the converted volume, so the fileserver will be
        able to attach the volume when we give it back
    
     -- Unlink the RO header file, instead of trying to unlink the
        VI_VOLINFO file twice
    
     -- Log the actual error code (errno) in the error message for the last
        unlink
    
    Reviewed-on: http://gerrit.openafs.org/591
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e3d1eaf0ca6bfddede5aba1d1fc3f1e25cdb259e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 23:15:26 2009 +0100

    Use page_offset() on Linux
    
    Since time began, Linux has provided page_offset() to turn a
    page index into an offset into the corresponding file. Make us use
    this everywhere we calculate a page offset, rather than doing our
    own maths.
    
    Reviewed-on: http://gerrit.openafs.org/581
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5d7084fc5e5cfb47a36ea2d26a74b0b5bbd7724a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 6 09:33:45 2009 -0400

    Windows: fs listacl -cmd
    
    Add the new functionality from the Unix fs command to Windows.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/585
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e74f81955568f68ed2d5166f5dea3f20706bf4f3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 6 09:48:57 2009 -0400

    documentation for "fs listacl -cmd"
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/586
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Hartmut Reuter <reuter@rzg.mpg.de>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ea78369ab6e67dfc7d9fbc355efe333ec057a50d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 5 12:45:26 2009 -0400

    afs_FindService should handle iana portnames
    
    right now we compare against /etc/services, and a hardcoded array.
    but since there's no guarantee /etc/services will be useful, this
    can mean inconsistent behavior. hardcode the iana names in the table,
    and take the internal structure used private at the same time.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/577
    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>

commit e5cf14ba043f29b8b81440e6c32cf6f1cc91851c
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Oct 6 09:10:45 2009 +0200

    New option '-cmd' for 'fs listacl'
    
    prints 'fs setacl' commands necessary to create the current
    ACLs. This is useful for backup scripts using TSM (or others)
    to save the ACLs into a file to allow for later restore.
    
    Reviewed-on: http://gerrit.openafs.org/556
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f7d601eefa0b98dd54720a4639ed746039d2675c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 23:43:46 2009 +0100

    Use standard Linux paths for all headers
    
    As we're being built by the standard Linux module build system, we
    can use the normal #include <linux/blah.h> convention from including
    kernel headers.
    
    Reviewed-on: http://gerrit.openafs.org/582
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f8cf2a44ab2e896b3c22c9a9e39cc9ade839545e
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Oct 5 13:42:27 2009 +0200

    OSX Launchd Startup Manage  with Preference Pane
    
    OpenAFS preference pane has been updated to manage the new launchd startup mode. Has been delete the custom startup and shutdown file now is user the /Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.rc
    
    OpenAFS.postinstall has been modified to remove the old existing /Library/StartupItems/OpenAFS directory
    OpenAFS.pre_upgrade has been modified to shutdown daemon, if it is runnig, and remove the old preference pane to permit the one to be installed
    
    Reviewed-on: http://gerrit.openafs.org/578
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4e3d3d50496cc96799a84cf98873d6f68e9a8ca7
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Sep 30 10:06:14 2009 +0200

    afsio is a command to pipe data into or out of afs files
    
    afsio bypasses the cache manager to achieve higher throughput.
    However, it uses the cache manager to stat or create files over the
    AFS path.
    
    Besides 'apropos' and 'help' there are 3 subcommands:
    
    'write' pipes data into a new or empty AFS file
    
    'append' pipes data at the end of an existing AFS file
    
    'read' pipes data out of an AFS file
    
    for 'write' there is an option '-md5' which calculates on the fly
    the md5 chscksum and prints it to stdout. (Useful when you create
    long time archives to keep it separately for later ...)
    
    for 'write' there is also an option '-synthesize <size>' to do just
    performance tests. It creates a file which contains at the
    begin of each 4 KB block the offset printed in ascii.
    
    for all subcommands exists a '-verbose' option which writes to
    stderr data rate and timing information.
    
    All three subcommands may also be used prefixed with 'fid' accepting
    then a Fid instead of an AFS path. With the 'fid' prefix also a '-cell'
    option is allowed.
    
    Reviewed-on: http://gerrit.openafs.org/555
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit db23268f682564000f2ac4f9f845d4fd261d4c90
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Sep 17 16:57:52 2009 -0400

    Linux: 2.6.32 - Adapt to writeback changes
    
    Adapt to the writeback changes in kernel 2.6.32
    - Since we define our own backing_dev, it needs to be registered with
    the writeback code and attached to the super_block.  Otherwise it
    might get ignored when writeback is needed.
    - Each backing_dev now gets its own kernel thread.  The name of the
    thread is based on the registered name - the openafs one will appear
    as "flush-afs".
    
    Reviewed-on: http://gerrit.openafs.org/574
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fa8766d220e37d5c11fc6ac72e3de40f5054cfff
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Oct 4 13:40:10 2009 -0400

    rxfs_storePadd: return 0 on success
    
    On success, storePadd should return 0, not the number of bytes
    written by the last rx_Write call.  In some cases this return
    value would leak all the way out to the close() system call,
    causing it to fail.
    
    Reviewed-on: http://gerrit.openafs.org/573
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d9ad2e4d0c5e87a8d2d02834134ca68122b8e33
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 14:34:50 2009 +0100

    Refactor linux readpage support
    
    The readpage call on Linux was becoming horribly complex.
    
    This patch refactors it into three main components - a function which
    fills a locked page (without unlocking it), a function which triggers
    a cache bypass operation on a page, and a function which does
    conditional prefetch, based on the properties of the page that was just
    read.
    
    In addition, we abstract out the cache bypass code further, and provide
    static inline variants which are simply stubbed out when cache bypass is
    disabled.
    
    Reviewed-on: http://gerrit.openafs.org/569
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3e164335affa617137ebf280fe4c82a51c99894e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 13:43:01 2009 +0100

    Rationalise some #ifdefs in the LINUX osi layer
    
    Introduce osi_compat.h, a place to hide compatibility #ifdefs. Make
    a start on using this by purging #ifdefs from osi_vnodeops, and pushing
    changes into inline compatibility functions.
    
    The general idea here is to create a single location where we can do our
    multiple version compatibility magic, and by doing so reduce the
    complexity of the rest of the code. The approach is that where the
    kernel introduces a new interface, we should switch to using it in the
    rest of the code, and add a compatibility function (in osi_compat.h)
    which implements the new interface in terms of the old one, suitably
    protected by #ifdefs.
    
    Where an interface changes signature, but not name, we should implement
    an afs_<blah> version of the function which has the signature of the
    newest version, and within that call out to the real kernel versions,
    mapping between the different parameters as appropriate.
    
    Reviewed-on: http://gerrit.openafs.org/568
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 109927bf6f54b58b76ac48ba41c2012c74937fed
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 11:51:52 2009 +0100

    Remove pre-Linux 2.6 support
    
    This change removes support for kernels before Linux 2.6.0 from
    src/afs/LINUX. Older kernels should be supported by the src/afs/LINUX24
    code.
    
    Reviewed-on: http://gerrit.openafs.org/567
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7cc8bf2850c5650a9e47416af8bd488f9be9161
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 1 16:09:17 2009 -0400

    create LINUX24 directory
    
    shadow src/afs/LINUX into .../LINUX24, removing 2.6 code from it
    same for rx/LINUX
    
    cheat and simply modify MKAFS_OSTYPE in MakefileProto.LINUX.in
    
    Reviewed-on: http://gerrit.openafs.org/565
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 2ea379b9f9a1df59327fb2b05b8d9af3bf6615af
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 2 18:36:24 2009 +0100

    There can be only one ... MD5
    
    The cache manager has two implementations of md5 - one in afs_md5.c
    (used by afs_NewCell) and one in afs_util.c - used by Linux's MD5-inode
    code.
    
    Remove the one in afs_util.c in favour of using the common
    implementation in afs_md5.c
    
    Reviewed-on: http://gerrit.openafs.org/572
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 69290ffe9488ea5d5b3c3b9ccc875d1a0bab393c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 1 04:34:09 2009 -0400

    launchdaemon support for MacOS
    
    the changes needed to switch from a StartupItem to a LaunchDaemon for
    the MacOS OpenAFS client
    
    Reviewed-on: http://gerrit.openafs.org/564
    Tested-by: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d192fec670e6c5fce8910b40322da22f95fa5010
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 1 21:27:11 2009 +0100

    Remove page past end of file optimisations
    
    The kernel checks itself for read() calls which attempt to fetch
    pages past the current file extents. Remove ours.
    
    Reviewed-on: http://gerrit.openafs.org/566
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 031f5eb528c94c1ad13fb1485db5cd40bc2877c2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 30 16:50:07 2009 -0500

    DAFS: Wait until preattach to service FSSYNC reqs
    
    Make FSYNC_sync wait until VInit == 2 before serving FSSYNC requests.
    This follows the existing similar behavior of waiting until after volume
    preattachment is completed before serving RPC requests in DAFS. This
    prevents FSSYNC clients from being denied requests simply due to a
    volume not having been preattached yet, at the small cost of delaying
    how soon we can serve FSSYNC requests.
    
    This does not alter the behavior of non-DAFS, which still only waits
    until VInit == 1, since volume attachment takes significantly longer
    than preattachment.
    
    Reviewed-on: http://gerrit.openafs.org/563
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d88c03492d1ea9a7533298977d8d6bec5e91ebcd
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 30 16:42:46 2009 -0500

    DAFS: Avoid volserver segfault in GetVolInfo
    
    It is possible for GetVolObject to return success, but result in a NULL
    fs_tv. In particular, when the fileserver responds with FSYNC_WRONG_PART
    or FSYNC_UNKNOWN_VOLID. It is possible, though difficult, for the
    fileserver to respond with FSYNC_UNKNOWN_VOLID if the requested volume
    hasn't been preattached on the fileserver yet.
    
    So, in GetVolInfo, also check fs_tv, so we don't try to dereference it
    later.
    
    Reviewed-on: http://gerrit.openafs.org/562
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b5c4dbf861a0be675e5dbe775059e3bf7628f127
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 30 21:43:45 2009 +0200

    Windows version 1.5.65
    
    Reviewed-on: http://gerrit.openafs.org/560
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1937eadfdad6e7616f6db97d802c3b8c5000f5d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 30 17:28:36 2009 -0400

    openafs 1.5.65
    
    make openafs 1.5.65 for unix
    
    Reviewed-on: http://gerrit.openafs.org/561
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 75dbaa82cd54bdbfc99a8c66a9d7a7327041863b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 30 21:42:16 2009 +0200

    Windows: change log for 1.5.65
    
    LICENSE: MIT
    Reviewed-on: http://gerrit.openafs.org/559
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d5b40d99a9e8284c1ce8784a6b8fcc7fb7453532
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 30 11:44:51 2009 +0200

    Add configure test for pagevec_lru_add_file
    
    pagevec_lru_add_file isn't available on all Linux kernels.
    Fallback to using pagevec_lru_add where necessary.
    
    Reviewed-on: http://gerrit.openafs.org/558
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2f270a3e9206344464f1414cb04895090d93590d
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Tue Sep 29 10:25:55 2009 -0400

    make VOL_STATE_VLRU_ADD exclusive
    
    VLRU_Add_r() places a volume into VOL_STATE_VLRU_ADD before
    calling VLRU_Wait_r(), which drops VOL_LOCK while waiting
    for the required VLRU queue to quiesce.  Thus, it is essential
    that state VOL_STATE_VLRU_ADD be marked exclusive so that
    another thread cannot mutate state until the VLRU generation
    add transaction completes.
    
    Reviewed-on: http://gerrit.openafs.org/554
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 06520711cbbb731da57e34cf955e525140bef33a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 29 14:29:55 2009 +0200

    Windows: short circuit background volume checks for shutdown
    
    If the service is shutting down or the machine is entering
    a suspend state, short circuit the background volume checks
    to permit faster shutdown.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/552
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit af9c9d905a08f28dc672dda6e5a6b9437f1650a8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 15 00:02:31 2009 +0100

    Add support for background page copies
    
    LICENSE BSD
    
    This patch adds support for backgrounding the page copies which are
    caused by a call to readpages() In theory, this should improve the
    throughput of the AFS kernel module as it permits processes to start
    work whilst data is still being read into the page cache for later
    pages.
    
    Reviewed-on: http://gerrit.openafs.org/537
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f75d84c404761a03ebf24406db12bfaff4bc3e74
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 14 23:55:18 2009 +0100

    Add support for blocking readahead
    
    This patchset adds support for the readpages() system call, and enables
    readahead on Linux. At the moment each page read causes readpages to
    block, so the client won't see much benefit from readahead, beyond the
    reduction in call overhead.
    
    Reviewed-on: http://gerrit.openafs.org/536
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f5c55d23a2a745e848c6e013c8b42cf3292c4691
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Sep 29 12:26:55 2009 +0200

    Demand attach warning fixes
    
    Fix a whole host of warnings in the demand attach code.
    
    Make a broken tvolser build stop the build, rather than carrying on
    regardless.
    
    Reviewed-on: http://gerrit.openafs.org/551
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 36700b51b34bbab515e947ed60104ada5ba6f827
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Sep 29 10:25:53 2009 +0200

    Don't use volatile when it makes no sense
    
    The demand attach code defines volume pointers as volatile in
    a number of places, despite the fact that the values in question
    aren't being shared between multiple threads. It then also passes
    these volatile pointers into functions which don't treat them as
    volatile (and even to some which assign them to registers).
    
    This patch simply removes the use of volatile in this situation.
    
    Reviewed-on: http://gerrit.openafs.org/550
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ca8890245b44cc3abf311797ae62d2f0aaca5429
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 29 10:26:23 2009 -0400

    intptr fallout
    
    some kernels don't have e.g. uintptr_t; revert this hunk for now.
    also, autoconf as recent as what's in rhel5 has no macros. provide
    some.
    
    Reviewed-on: http://gerrit.openafs.org/553
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 88a037585d65e31e9d832bea89bb1cc1f107ab0f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 14 23:39:44 2009 +0100

    Use readpage, not read for fastpath access
    
    Modify the fast path case so that it uses readpage(), rather than read()
    to access data in the cache. This removes a lot of the hidden, uncessary
    work that the kernel was doing behind the scenes, and takes advantage of
    the fact that we know a page read will always result in a page read
    against the backing cache.
    
    Reviewed-on: http://gerrit.openafs.org/535
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4bffd7efbcf27f7a8c9c0f81c4b79d3251a5d3a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 29 05:25:46 2009 -0400

    irix compile fixes
    
    fix compilation for irix (and warning for solaris) for icreate
    as well as more stdint.h fixes
    
    Reviewed-on: http://gerrit.openafs.org/548
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e0bbecf2693c2a7e3ec06fbb9335254f841c8e71
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 28 16:58:25 2009 +0200

    Windows: Trace log smb_FindFID errors
    
    To assist with debugging, add consistent trace log messages for
    smb operations that generate an error because smb_FindFID failed.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/545
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d9d3902894d1bde920feda7f5f1a798037b52cf8
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Tue Sep 29 09:57:52 2009 +0200

    OS Preference pane clean for final version
    
    Has been removed from license file the reference to menucracker for hack NSMenuExtra, that is no more needed.
    
    Reviewed-on: http://gerrit.openafs.org/547
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 45e98a4455e1da7e79b70a4c42dccb07ab9102a6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 28 16:22:31 2009 +0200

    Windows: cm_GetBuffer does not need to contact file server when extended a file
    
    If cm_GetBuffer is being called in order to obtain a buffer to store
    data beyond the end of the existing file as known to the file server
    there is no reason to contact the file server.  Instead use the cached
    status info in order to allocate a new buffer zero initialized.
    
    This logic avoids triggering the FetchData bug in all file servers
    older than 1.4.12 and 1.5.65 in which the file server returns a
    large negative number (filesize - requested_offset) when a FetchData
    is received where the requested_offset is larger than the filesize.
    It also avoids unnecessary work.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/542
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 50e98677ca5b62b3b82608c6da3e719956d3a03d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 28 16:52:45 2009 +0200

    Windows: Directories do not have a default stream
    
    When enumerating streams for objects, do not offer a default stream
    for directory objects (including mount points).
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/544
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fee0efedc12a90605f2c2e3e10d2492be5f42be3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 28 10:14:23 2009 -0500

    Formatting typo in vos_setfields manpage
    
    The POD formatting code for bold is B, not b.
    
    Reviewed-on: http://gerrit.openafs.org/546
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 158043416326d67708880ed801de53653d9453ad
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 16:21:21 2009 +0200

    Don't try to print the thread ID
    
    pthread_t is defined as being opaque - there's no way to portably
    print it on a way that makes sense on all platforms. Remove this output.
    
    Reviewed-on: http://gerrit.openafs.org/541
    Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4f65bec3fc4d0c1157aa80323c8d7ecc8a53d3a1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 16:50:20 2009 +0200

    Fix warnings in new dumptag code
    
    3f2dd80697959f5922032f4d4a7c9ef0cfadf35c contained a number of
    new warnings. This patch fixes them.
    
    It also adds the AFS_UNUSED_FUNCTION macro which can be used to
    portably mark functions as unused.
    
    Reviewed-on: http://gerrit.openafs.org/543
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d628bbb7c188e5644e27b3657d824c1481034b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 17:44:06 2009 +0100

    Squash more viced warnings
    
    Get rid of more warnings in viced
      - Cast fids that we pass into the Dir package to avoid type warnings
      - Add ()s to a && b || c, to clarify its meaning - (a && b ) || c
      - Don't use %ld to print ints
      - Prototype another function from the host package
    
    Reviewed-on: http://gerrit.openafs.org/539
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e287f72e4e4de82fd2ab5c4a4137aa58a5f45b55
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 09:53:11 2009 -0400

    irix UCRED is already a struct
    
    just like everywhere else. move the one last
    struct UCRED to UCRED like everywhere else
    
    Reviewed-on: http://gerrit.openafs.org/538
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0ec76649b62919cff3244eb0a6390662f72d7950
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 14 23:33:16 2009 +0100

    Minimise crref() and add a fastpath for cache hits
    
    Reduce the number of times we cref() unnecessarily, and add a fastpath
    at the beginning of readpage() to handle the cache hit case.
    
    Refactor the Linux implementation of afs_open to provide a directly
    callable version that bypasses the OSI layer.
    
    Add a non-blocking variant of ObtainReadLock()
    
    Reviewed-on: http://gerrit.openafs.org/534
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit be34175e0f089cbf8a90a0afc7362432be004e06
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 09:21:59 2009 -0400

    macos 10.6 warning fixes
    
    due to 32/64 and a newer compiler, macos 10.6 finds more warnings.
    these are fixes for some of them.
    
    Reviewed-on: http://gerrit.openafs.org/533
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit f63a8662a7b05c60e85f5e525b58ccf476bc1753
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 08:05:15 2009 -0400

    kauth should use static_inline for irix et al
    
    "static inline" doesn't work on various still-supported systems.
    use the workaround macro
    
    Reviewed-on: http://gerrit.openafs.org/532
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit efe8258a924903e3c9d7b339349f83861d6be0d1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 12:01:54 2009 +0200

    Use configured compiler for libuafs on Darwin
    
    There's no need to hardcode 'cc' for libuafs builds on Darwin. Let
    the user specify the compiler to use, in the same way as for the
    rest of the tree.
    
    Reviewed-on: http://gerrit.openafs.org/531
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6d51ebd6c8d4d5d6ddc42b539be5814e7c468d9c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 12:07:58 2009 +0200

    Add support for warning checked builds
    
    This patch adds a '--enable-checking' configuration option. When this
    option is supplied, and gcc is in use, the compiler will treat any
    warnings as errors. This will hopefully help stop new warnings from
    creeping into the tree.
    
    In order to still be able to build, all of the currently existing
    warnings are accepted (these are documented in README.WARNINGS). With
    this set of warning inhibitions, the tree is known to build on 32bit
    Leopard - other systems may vary. Warning inhibition may be disabled
    by supplying --enable-checking=all - in this case the tree will
    definitely not build!
    
    If --enabled-checking is not specified, the existing compilation
    behaviour is maintained, so there is no user-visible change.
    
    Gcc 4.2, or later, is required to use the pragma sets contained within
    this patch. Again, they are not visible unless --enable-checking is
    given.
    
    Reviewed-on: http://gerrit.openafs.org/526
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5afd2c34699c60ba247b1de8ec42efbed1c09e39
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 07:54:02 2009 -0400

    conditionalize stdint.h inclusion in lwp
    
    Irix has no stdint.h; wrap in ifdefs so we don't include
    when we don't have it.
    
    Reviewed-on: http://gerrit.openafs.org/530
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5d3400f4e103a7c4d7027cb809c8a109bf003316
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 07:46:48 2009 -0400

    afsmonitor warnings fix
    
    again, add missing format strings to *printf to
    eliminate warnings
    
    Reviewed-on: http://gerrit.openafs.org/529
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9ee76d8a8fe326c64a08aeb0e1785d009b9ffb36
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 28 06:32:09 2009 -0400

    kill cnvldb warnings
    
    previously we used fprintf without a format string in some cases. now we don't
    
    Reviewed-on: http://gerrit.openafs.org/528
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3f2dd80697959f5922032f4d4a7c9ef0cfadf35c
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri Sep 11 12:29:45 2009 +0200

    Implementation of new dump tag and length standard
    
    The implementation follows the specification from October 2007.
    
    All old tags are accecpted as before.
    New tags 0x06-0x60 (capital letters) are followed by a 1 byte length
    field which may contain directly the length (up to 127) or the length
    of the then following length field (max 8) ored with 0x80.
    New tags 0x61-0x77a are directly followed by 4 bytes building a 32bit
    integer.
    0x7b-0xf are single-byte tags, 0x7e meaning next tag is critical.
    
    On this basis unknown tags can be skipped unless they were marked
    critical. In this case the restore is aborted.
    
    in dump.h tags following the new standard are marked by an asterisk
    
    Last update: added parameter types for HandleUnknownTag.
    
    Reviewed-on: http://gerrit.openafs.org/191
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 9a82cdae42512dc6cd55dcc961eec6b1932e707f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 11:41:52 2009 +0200

    Avoid redefinition errors for AFS_NONFSTRANS
    
    Some parts of the build provide -DAFS_NONFSTRANS on the command line.
    This causes an error when the 'param' file redefines it. Fix this
    by #undef ing the token before defining it.
    
    Reviewed-on: http://gerrit.openafs.org/510
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d7b00d5f19e7dfd7d8ee3d600d0184e4364fa7be
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Aug 28 17:03:44 2009 -0400

    Use intptr_t and uintptr_t for integer/pointer conversions
    
    Use intptr_t and uintptr_t casts to appease the compiler when
    values are converted between 32-bit integers and pointers.
    This generates many warnings (currently ~170 on linux amd64)
    when pointers are 64-bit.
    
    These types are normally defined in stdint.h, and get defined
    by autoconf if that's not the case.
    
    In a few places, NULL is simply replaced with 0 where compared
    with an integer.
    
    Reviewed-on: http://gerrit.openafs.org/474
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01aa7055142936f73919c48468707ee90df73dbd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 28 10:43:24 2009 +0200

    Make butc logging use va_args
    
    Change the logging functions in butc so that they use va_args. This
    means that we can prototype the logging functions, and kill a bunch
    more compiler warnings.
    
    Reviewed-on: http://gerrit.openafs.org/509
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a53732ef5f425706abc1c5e511df23cecb2f6113
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 18:11:53 2009 +0100

    Miscellaneous warning cleanup
    
    Assorted warning cleanup, that it didn't seem to make sense having one
    patch per file for.
    
    This patch
        - Adds some casting for syscall pointers
        - ANSIfies SRXAFSCB_GetDE in fsprobe
        - Loads sys/ioctl.h on some more platforms in usd
        - Includes some missing header files
        - Removes unused variables
        - Makes it clear that VIsSalvager does handle all enumerated types
        - Adds some more prototypes
    
    Reviewed-on: http://gerrit.openafs.org/508
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6dcf37d8109a31ec1b95438a70e485a66fede848
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 18:04:06 2009 +0100

    Remove some more warnings from rx
    
    The mtu variable in InitPeerParams is in the wrong place. It's only
    required when the (never used) AFS_USERSPACE_IP_ADDR code is enabled.
    Move the variable to the appropriate location, and indent the if and
    endif directives in this section to try to make it clearer what the
    control flow is (my brain hurt)
    
    Remove the unused rx_pthread_n_event_wakeups variable
    
    ANSIfy rxi_syscall - we can't prototype it yet, sadly.
    
    Reviewed-on: http://gerrit.openafs.org/503
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9d42c45e6513ebfa405ecd1d5404f753a0b2045b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 22:12:11 2009 +0100

    Warning fixes for afs_fetchstore
    
    The recent afs_fetchstore refactoring added a load of warnings. Remove
    them.
    
    Reviewed-on: http://gerrit.openafs.org/502
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 4c1c92c0bdd2b62845187c19a5f5821fe08cf47b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 17:34:48 2009 +0100

    Fix signed/unsigned warnings in XDR
    
    Our xdr routines use the same native functions to read signed, and
    unsigned integers from the wire. This leads to compiler warnings when
    the unsigned versions of these functions are called. This patch always
    casts to (afs_int32 *) when calling PUT_INT32 and GET_INT32, to resolve
    these warnings
    
    Reviewed-on: http://gerrit.openafs.org/507
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4bbc4a5a1dc3c07ac130e9afdfab03ac5a245a16
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 17:50:04 2009 +0100

    Tidy up unlog
    
    Remove warnings from the unlog code
       - Prototype internal functions, and make them static
       - Define variables appropriately
       - Remove uneccesary local function defintions
    
    Reviewed-on: http://gerrit.openafs.org/505
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ace95ffa63f718c15a3ef362482c030e1f69186f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 17:52:57 2009 +0100

    Remove warnings in the update client and server
    
    rx_Read and rx_Write take a datablock which is a char *, rather than a
    void *. Cast appropriately.
    
    Reviewed-on: http://gerrit.openafs.org/506
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fabe41d6443586778cd992ad0aa8fad41b130114
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 17:56:48 2009 +0100

    Squish some warnings in ubik/
    
    Remove some more warnings from the ubik/ directory
       - Remove a dangling else case from an if statement
       - Prototype ubik_dprint_25
       - Don't do (a || b()) - it's horrible, and causes warnings!
         Replace with if (!a) b();
    
    Reviewed-on: http://gerrit.openafs.org/504
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e14e5aa0cfba456eee9252c47294d863e935f67b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 20:54:06 2009 +0100

    Relax compiler specification on Darwin 9 and 10
    
    Commit 1992b702f64f561c75cc74d4645bb0e1afeec6bd made it possible to
    relax the compiler choice on a per architecture basis. That commit
    allowed the user to specify their compiler of choice on all Linux
    systems, but hardcoded 'cc' everywhere else.
    
    This patch permits Darwin 9 and 10 users to also override the default
    compiler for user space builds.
    
    Reviewed-on: http://gerrit.openafs.org/501
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 291d31e55f64992d8d529522f3479e5ffe5fd607
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Sep 26 09:32:46 2009 -0400

    fetchOps: fix more() prototype
    
    Adjust the prototype in the fetchOps structure to match the recent
    change to rxfs_fetchMore().
    
    Reviewed-on: http://gerrit.openafs.org/499
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 529d487d65d8561f5d0a43a4dc71f72b86efd975
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 25 03:15:40 2009 -0400

    viced cap fetchdata len to avoid negative
    
    when trying to read from a short or zero length file,
    it's possible for sanity checking to knock the length below
    zero. set a floor at zero.
    
    Reviewed-on: http://gerrit.openafs.org/494
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bc6559d62c21ee046c4082aba282097a8c1de9ac
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Sep 26 10:06:27 2009 +0100

    Attempt to fix CForeign moredata behaviour
    
    The fetchstore patches changed the behaviour of the multiple chunk handling
    that's used in FetchData when the vnode's CForeign bit is set. In the original
    code, the data would be read as (length, payload) chunks. The new code does
    (length, length, payload), which corrupts the incoming data.
    
    This patch restores the original control flow.
    
    Reviewed-on: http://gerrit.openafs.org/498
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5d765426e597c60228e66bddaa21bf2453c74a85
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 25 05:19:33 2009 -0400

    h_GetHost_r cleanup cases
    
    avoid potentially leaking a cb_in or a capabilities blob;
    use a common exit function and free when these were left set.
    
    Reviewed-on: http://gerrit.openafs.org/496
    Tested-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ce9da0d76c53127e7f2f2142832602b52dd78f10
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Thu Sep 24 19:03:28 2009 +0200

    AFSPreference Pane, has changed the content of launchd xml control file for AFSBackgrounder
    
    has been used <key>Program</key> instead of <key>ProgramArgument</key>
    
    Reviewed-on: http://gerrit.openafs.org/495
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f6f9ee5402f1718f330a00ec89fb34b05c3cd360
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Sep 25 00:27:40 2009 +0100

    Fix CacheFetchProc in cases where the fileserver hates us
    
    In some situations, the fileserver returns a large negative number
    as the length in an FetchData64 call. The old FetchProc code used an int32
    to hold this number, and checked length > 0 before attempting to read more
    data. The new code uses a uint32, and does while (length), which causes the
    cache manage to loop until RX aborts the connection.
    
    This patch restores the old behaviour. length becomes a signed int once more
    (and the original 32 bit length from the wire is used, rather than truncating
    the 64 bit value), and the conditional checks for > 0.
    
    Reviewed-on: http://gerrit.openafs.org/493
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 29ee678f3ab051a27cae46b02a0d42e0958a6bc8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 21 12:48:30 2009 -0500

    Unlink correct files in salvager
    
    Fallout from 0ac956b3384842b3c60e72bde78a4baf58a5877f; a couple of
    unlink() calls were not updated to use the absolute path. Update them,
    and log errors from unlink(), since otherwise it is difficult to tell
    that anything is going wrong.
    
    Reviewed-on: http://gerrit.openafs.org/479
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 07b1dc861bee97c44507f437685d7f8c3d094807
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 22 16:59:34 2009 -0500

    Solaris: Default to fs_pathconf in afs_pathconf
    
    Instead of returning EINVAL in afs_pathconf when we don't recognize the
    pathconf command, return the result of fs_pathconf. fs_pathconf provides
    sensible defaults or correctly represents a filesystem not implementing
    a particular pathconf cmd; all in-tree (Open)Solaris filesystems call
    fs_pathconf for unimplemented commands. Returning EINVAL allegedly
    represents that the fileystem does not support pathconf at all.
    
    Also, account for OpenSolaris adding another parameter to
    pathconf-related calls.
    
    Reviewed-on: http://gerrit.openafs.org/488
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b56a794f8d77987df07d2efcb8af5f9d63f6e678
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 23 18:18:34 2009 +0100

    Refactor the cache bypass determination code
    
    The code which determines whether the cache can be bypassed occurs in
    multiple locations in this file. Make a single static inline function
    that can do this, and use it.
    
    Reviewed-on: http://gerrit.openafs.org/489
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3567441f92349bb21bb42405ecf6ada4844551e5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 22 17:36:38 2009 -0500

    Remove one more AFS_UCRED struct
    
    After 8a8244dd351f865af2da3b5ebb746ba57723b6a9, AFS_UCRED is no longer
    assumed to be a struct. Fix one instance that still declares it as a
    struct.
    
    Reviewed-on: http://gerrit.openafs.org/487
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7edc6694e7632c9736bd1516935604a638165313
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Sep 22 17:18:34 2009 +0100

    Whitespace cleanup (sorry)
    
    The cache bypass code changed the indentation of afs_linux_readpage so
    that pullups from 1.4 no longer works.
    
    This patch simply restores the original (correct) indentation. Sorry for
    a whitespace change, but this will make things much easier going
    forwards.
    
    Reviewed-on: http://gerrit.openafs.org/486
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f3c3e4da18519571ef3a8a868297510ed4e132a3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 22 04:51:15 2009 -0400

    DAFS protocol state diagrams
    
    update DAFS protocol state diagrams
    
    FIXES 124990
    
    Reviewed-on: http://gerrit.openafs.org/485
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 40b18318e4a04a323dbdd9e3c4a73d3b2e92104d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 21 16:57:01 2009 -0500

    Implement _PC_FILESIZEBITS for solaris pathconf
    
    Using recent NFS clients and servers with the translator under Solaris
    causes AFS to be queried for the _PC_FILESIZEBITS pathconf value. Right
    now we don't implement it and return EINVAL, causing at least some
    modern NFS clients to be unable to mount AFS via the translator on at
    least some modern NFS servers.
    
    So, return _PC_FILESIZEBITS as either 32 or 64, depending on whether we
    are a 64-bit client or not.
    
    Reviewed-on: http://gerrit.openafs.org/481
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7ae31a7484b609cd22d029fd753798001f72864
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 21 14:28:29 2009 -0500

    Avoid salvager vol header read assert
    
    When we read the volume header in order to write it back with a modified
    inUse while salvaging, we were aborting if we couldn't read the header.
    Since we can fail to read the header data if the volume header file
    isn't associated with any data (and will be deleted by the salvager),
    don't abort. Do still abort if we can't write the data back, since if
    the data can be read but not written, other programs may think that the
    volume is not being salvaged.
    
    Reviewed-on: http://gerrit.openafs.org/480
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 759c756b0fa51b774e3894d5f9a5029955232612
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Sep 21 11:09:56 2009 -0500

    DAFS: Put back volumes we get in FSSYNC handlers
    
    fssync-server.c has a few issues with not properly VPutVolume_r'ing
    volumes that were VGetVolume_r'd. The most important of these was that
    the handler for FSYNC_VOL_MOVE can put back a volume it did not get,
    when DAFS is enabled.
    
    Fix that, and another erroneous edge case in the FSYNC_VOL_QUERY_HDR
    handler when DAFS is not enabled.
    
    Reviewed-on: http://gerrit.openafs.org/477
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1542d943df24de94e4b61e0303db542f0e2c982d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 21 12:33:37 2009 -0400

    make 1.5.64 for unix
    
    update version strings to 1.5.64
    
    Reviewed-on: http://gerrit.openafs.org/478
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e646a3e4dc62aaccebb81dada9d6d744ac19354f
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Sun Sep 20 14:43:34 2009 +0200

    Use the padd op.
    
    When the padd operation was added, the change that makes actual use
    of it got lost somewhere along the line. Fixed now.
    
    Originally introduction of the padd op:
    6220ede6a96d06c53eddd848435764cff96be1b4
    
    Reviewed-on: http://gerrit.openafs.org/471
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4fd7101577613bbafcf4488f3d82dd03642b01c0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 21 17:11:25 2009 +0100

    Windows version number 1.5.64
    
    Reviewed-on: http://gerrit.openafs.org/476
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 91d9ca106def5cde2b75e2b03ad0111a44551868
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 21 17:07:23 2009 +0100

    Windows: 1.5.64 updates for Windows Notes
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/475
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 10706d8208df865ac0bc89f6d83a5779b9794128
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 20 11:06:07 2009 -0400

    Windows: uninitialized variable in cm_GetBuffer
    
    Initialize code and code1 to zero.  Otherwise, a non-zero
    value on the stack can result in an incorrect error value
    being passed to cm_Analyze().
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/473
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 65d1d94634c2d31aeecf1c512828a1bcbd93bbe5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 20 11:04:07 2009 -0400

    Windows: Protect against null serverp in cm_Analyze
    
    If cm_Analyze is called with both 'serverp' and 'connp' set
    to NULL and an RX error is provided, a null pointer dereference
    will occur.  Test for non-NULL serverp before dereferencing
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/472
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 427b27a87fd34035f855ff8b1b9ec3ad618829c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 19 13:52:32 2009 -0400

    Windows: Do not mark server down due to Store / Fetch Data protocol error
    
    When performing a StoreData or FetchData operation there are
    several data validation checks performed to ensure that the
    lengths of data obtained with rx_Write and rx_Read are consistent
    with the RXAFS_FetchData and RXAFS_StoreData protocol operations.
    When an inconsistency is detected the cache manager terminates the
    call and returns an error to the caller which is passed to cm_Analyze().
    The cache manager was returning -1 as the error code which is
    equivalent to RX_CALL_DEAD which in turn will result in the server
    being marked down.
    
    This commit makes the following changes:
    
     . add trace logging to permit monitoring this case
    
     . instead of returning -1 return either RX_PROTOCOL_ERROR or RX_EOF
       depending on the situation
    
     . in cm_Analyze do not mark a server as down for rx errors other
       than RX_CALL_DEAD.  Instead, force a new connection and retry
       until the request timeout limit is reached.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/470
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 5b5dc4a85bde6e959a0943ac694833784a838164
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 14 07:59:54 2009 -0700

    Windows: more pioctl output validation
    
    Add output validation checks to the Explorer Shell and the
    Client configuration control panel.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/458
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 72e8bac22201e194242e715a107f3b3cb8a480df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 19 04:55:09 2009 -0400

    Windows: Use "Name not found" instead of "File not found"
    
    When a file cannot be opened because the name of the file or
    a directory in the path cannot be found, return "Name not found"
    instead of "File not found".  "File not found" is the error returned
    by the smb redirector to the application when the file cannot be
    located in the search path.  "Name not found" indicates that the
    entry is not present at the location requested.
    
    The use of "File not found" prevented execution of applications
    from the \\AFS name space on Windows 7.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/469
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3be5d2ca5f2a1af97502f5fd0f5b25f382b123c4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 18 10:46:07 2009 -0400

    Windows: trace logging changes for smb_ReceiveTran2QPathInfo
    
    Add new trace log entries in smb_ReceiveTran2QPathInfo to
    help track down the reason for queries in which the path and
    tidPath are both the empty string.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/467
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2c54ae82a49f6df7f7c76d333d3fe00a0b1cff28
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 18 10:41:14 2009 -0400

    Windows: Improve WKSSRC and SRVSVC compatibility with Windows
    
    This commit includes several changes to improve compatibility
    with Windows (in particular Windows 2000).
    
    1. Specify a Lan Workgroup name.  We use "AFS".
    
    2. Ensure that the server name returned does not include
       leading slash or backslash characters.  The name provided
       might include them but they are not part of the name and
       cannot be returned.
    
    3. The NetrWkstaGetInfo and NetrServerGetInfo responses must
       be consistent.  Otherwise, the Explorer Shell will get confused and
       refuse to provide access to the server shares.
    
    This commit also includes some minor comment changes.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/466
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 211a23a06fd762478aa2f420b9cc638320857463
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 18 10:25:59 2009 -0400

    Windows: Trace wkssvc and srvsvc rpc calls
    
    Add osi_Log statements identifying which RPCs are being called
    from the wkssvc and srvsvc modules
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/465
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ccb02bf6eb7395bbb3d66c11b99a576c19d033d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 18 10:01:10 2009 -0400

    Windows: No rand_s on Windows 2000
    
    Even if the rand_s() function is supported by the compiler
    it is not supported on Windows 2000 because the kernel level
    functionality it requires does not exist on that platform.
    Calling rand_s() on Windows 2000 will throw an exception
    and terminate the service.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/464
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ba9e95715a5c769580adbbda2ca19aae62eef75
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Sep 18 13:23:46 2009 -0500

    DAFS assert correction in GetVolume
    
    FSSYNC_VolOpRunningUnknown is a vol op state, not a pointer to a vol op
    itself.
    
    Reviewed-on: http://gerrit.openafs.org/468
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 48589b5d3957c27a5944e23fd770687adc078934
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Sep 14 17:40:23 2009 -0400

    Linux: Restore aklog -setpag functionality for kernel 2.6.32+
    
    With kernel 2.6.32 it is now possible for a process to copy its session
    keyring to its parent through the use of the KEYCTL_SESSION_TO_PARENT
    function of the keyctl syscall.
    
    We can't use this easily from kernel space to cover all calls to
    VIOCSETTOK with the setpag flag - we'd need to make a syscall
    or have keyctl exported.  Instead, a hook is added to ktc_SetToken to
    make it honour the AFS_SETTOK_SETPAG flag, which was ineffective with recent
    kernels.
    This should cover the most common cases (ex: aklog) where this is needed.
    
    The syscall is coded directly to avoid introducing a dependency on the
    keyutils library or header files which may not be installed everywhere.
    
    Reviewed-on: http://gerrit.openafs.org/463
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1ea845ebc953bb49afc354afe036f7f01cd05db8
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Tue Sep 15 09:29:21 2009 +0200

    Manage the login in the OSX Fast User Switch mode
    
    AFSBackgrounder has been update to get notification for switch in/off in the "Fast User Switch" mode, and in switch in it try to get tokens.
    
    Reviewed-on: http://gerrit.openafs.org/460
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 8af8af05f0a87af154f11bc8a7a7ec3f2505291e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Sep 14 13:49:22 2009 +0100

    Remove unecessary initialisation
    
    We already memset av to contain all 0s, therefore we don't need to
    initialise individual elements to 0 as well.
    
    Inspired by Rainer Toebbicke's patch for RT 125355 (which is 1.4.x only)
    
    Reviewed-on: http://gerrit.openafs.org/456
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 090b61e9d731d1cc55707fcb9ea6dbc7bc7b5018
Author: Brant Gurganus <brant@gurganus.name>
Date:   Sun Sep 13 22:02:10 2009 -0400

    Corrects file_CmdRef_1_fs_chgrp_html and file_CmdRef_1_fs_chown_html sharing short names.
    
    Reviewed-on: http://gerrit.openafs.org/455
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit bb4a5038d9f8d0585ed39ba3d82d459d7ca5d398
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 13 10:32:12 2009 -0400

    Add indexing to Windows Release Notes
    
    An initial pass at adding indexing to the Windows release notes.
    The next pass should refine the index terms and add appropriate
    secondary index values.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/454
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d190d2400eeef7f736338edea943ba8b93f64c69
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 13 01:45:48 2009 -0400

    Windows Release Notes XML
    
    Reformat the Registry and Environment Values in Appendix A
    so that they are easier to identify in the table of contents.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/453
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit a747e934c40040061386d8ca591eba09b9745287
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Sep 13 01:00:45 2009 -0400

    cm fetchstore should dereference unset ops
    
    if rxfs_fetchInit fails, ops will not be set; calling the destroy op
    unconditionally thus leads to a panic.
    
    Reviewed-on: http://gerrit.openafs.org/452
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4b6fafa440fa51652d12d6522769c8f156b7bda1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 11 13:26:01 2009 -0400

    macos package updates
    
    make the readme correct; allow back reving (downgrades)
    
    Reviewed-on: http://gerrit.openafs.org/447
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 431b54f642c5c34e260a1b35ecfca17d5e3dcde5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 11 11:44:41 2009 -0400

    Windows: Version 1.5.63
    
    Reviewed-on: http://gerrit.openafs.org/445
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d15ca10da0074bd14a777a0590e7271fe28ecf01
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 11 13:30:29 2009 -0400

    unix 1.5.63
    
    make 1.5.63 for unix
    
    Reviewed-on: http://gerrit.openafs.org/448
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 60c44cc6ddf101b8085f242f2c1bf85896563923
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 11 11:41:01 2009 -0400

    Windows: changelog updates for 1.5.63
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/444
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5b6e5019453952f122523354d0001b04189271a7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 8 14:31:09 2009 -0400

    make fileserver avoid salvage loop on init failure
    
    if the vlserver or prserver setup can't succeed, it doesn't indicate
    a condition which salvaging is required to fix; instead, come up
    and retry in the background.
    
    Reviewed-on: http://gerrit.openafs.org/428
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 133fed07384aec910e22b4fd315f86440dff2fb2
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Thu Jul 16 08:26:55 2009 +0200

    Code beautifications.
    
    * get rid of register declarations
    * remove unused local var InStatus
    * comment prototypes properly (correct .c file)
    * save some linebreaks in function headers
    
    Reviewed-on: http://gerrit.openafs.org/135
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit bffbc55c220bd28c20856b5d00ed423f878319d8
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 13:40:26 2009 +0200

    More cosmetics.
    
    * FetchProc: length loop shorter condition
    * added fancyspace in FillStore call.
    * removed unused bsent variable
    * shortened some conditions
    * storeDestry: saved the code2 variable.
    
    Reviewed-on: http://gerrit.openafs.org/134
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e99490ffd31edef1a349f06f975949b82707a0ee
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 13:28:41 2009 +0200

    Cosmetics in CacheStoreDCaches, CacheStoreVCache and storeInit.
    
    * StoreProc: renamed alen to size.
    * StoreProc: Make connection before do {}
    * rename fP to tfile.
    * Declare nchunks later in StoreProc.
    * Fixed order of storeInit parameters.
    * storeInit: renamed tlen to length.
    
    Reviewed-on: http://gerrit.openafs.org/133
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d47eb8f21b2782d9441c2ea4d0261c21cb423a19
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 11:13:21 2009 +0200

    Immediately abort call when not able to fetch length (fetchInit).
    
    Reviewed-on: http://gerrit.openafs.org/132
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 63abaf515c6f16907fdd9a226797bdc310dd704a
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 10:26:47 2009 +0200

    Locking comment in FetchProc
    
    Reviewed-on: http://gerrit.openafs.org/131
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 46f7bbb19dbb697e626a20363ff23ad2fe0ee4c0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 9 09:22:02 2009 -0500

    Do not respond to SYNC_COM_CHANNEL_CLOSE requests
    
    SYNC clients, when closing a channel, send a SYNC_COM_CHANNEL_CLOSE
    command, and immediately disconnect before waiting for a response. So,
    don't send a SYNC response, since by the time we send it, the other end
    will most likely have already hung up, causing a lot of needless
    'SYNC_putRes: write failed' messages whenever a SYNC channel is closed
    (e.g. when a demand-salvage finishes).
    
    Reviewed-on: http://gerrit.openafs.org/434
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c1c8da78b680964b0259266207b2c07df54b5ef1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 11 11:54:27 2009 -0400

    Windows: Handle "(Default)" regsitry value in MountGlobalDrivesThread
    
    In MountGlobalDrivesThread(), if the "(Default)" registry value
    is defined that should be interpreted as a drive mapping to a
    device with no name.  This is specified using NULL instead of the
    nul-string.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/446
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit bef42619ba3cf7f4b20783942c989e6d96185104
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 10:08:37 2009 +0200

    fetchDestroy can end calls now too.
    
    Reviewed-on: http://gerrit.openafs.org/130
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b961dc1630baf9e6e1171c66430074fc1e7f9ef8
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 10:06:50 2009 +0200

    Included proper 64bit case in fetchClose() and storeClose().
    
    Reviewed-on: http://gerrit.openafs.org/129
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3898524693e7297e228ded03f34125558f225d58
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 11 01:59:08 2009 -0400

    darwin knet avoid rx socket during shutdown
    
    theoretically a user thread can race us during shutdown and end up
    panicing us if the soclose happens at the wrong time. if we're shutting down
    just return. using afs_shuttingdown would have the side effect that we'd lose
    the ability to add any graceful behavior.
    
    Reviewed-on: http://gerrit.openafs.org/443
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit cc7938e8ff2a56575122066a8750e881c4d280b0
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 09:07:17 2009 +0200

    Added guard against missing call and moved alength assignment in fetchInit.
    
    The returned value of rx_NewCall is important of course and must be taken
    into account before trying to start RPCs. Do assign the length output
    variable ASAP.
    Also fixes an overlong line and the type of the pos local var to unsigned.
    
    More style fixes:
    * Moved length64 to use proper scope, initialized code.
    * Generally make more tidy
    
    Reviewed-on: http://gerrit.openafs.org/128
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 98f9b6ae2bafe69440c090443efb2f71ec15309c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 11 01:28:49 2009 -0400

    des crypt cope with 64 bit longs
    
    we test for them in configure; instead of hardcoding it in yet
    another place, use the information we have
    
    Reviewed-on: http://gerrit.openafs.org/442
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e24d64f2a696eb85b44fb471326f6dbb525d60a0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 11 00:35:04 2009 -0400

    Windows: Add pioctl data output validation to fs and symlink command line tools
    
    pioctl data buffer output was not being validated to ensure that
    buffers were not overwritten or accessed beyond their limits.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/441
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fdea6a3418315cd7b88219778118857fd32e9da6
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Sep 10 11:02:46 2009 -0700

    Windows: update build system for restorevol man page move
    
    restorevol moved from section 8 to section 1.  The Windows build
    system needed corresponding changes.
    
    Reviewed-on: http://gerrit.openafs.org/440
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d96ec9ec031d0d15d1cfe3b86e58c12c4c267c00
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 21 18:59:01 2009 -0700

    Stop using sig_t
    
    acinclude.m4 was adding to afsconfig.h some code to define sig_t as the
    type of a signal handler.  This definition was in terms of RETSIGTYPE,
    which is deprecated by Autoconf.  It also adds an unnecessary abstraction
    for only two places in the AFS source code where it was used.  Remove it
    and change those two spots to use the standard C declaration of the
    function pointer.
    
    Reviewed-on: http://gerrit.openafs.org/335
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d6df1a8cec39edf7c0d2598921c735ac6aca70d7
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 21 18:12:39 2009 -0700

    Move restorevol to bin from sbin
    
    restorevol only requires access to a dump file and write access to the
    directory in which the dump is being unpacked.  It doesn't require being
    a superuser, so it should be installed in bin instead of sbin.  Also
    move the man page to section 1 and update references accordingly.
    
    Reviewed-on: http://gerrit.openafs.org/333
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit c46689c05ffd56299a12f9883645e8fcf50fa29a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 1 11:18:19 2009 -0400

    redhat spec dkms don't strip modules
    
    provide a debug module which is unstripped. this is necessary for debugging
    problems.
    
    Reviewed-on: http://gerrit.openafs.org/391
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 96a176ed5872f54402e1625f6e67ce2979e48875
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 13 10:05:44 2009 -0400

    make salvager able to cope with corrupt class index
    
    right now if a directory ends up in the small vnode index, the salvager
    will never fix it. unlinking from the index (and recovering an orphan later)
    beats crashing forever
    
    Reviewed-on: http://gerrit.openafs.org/309
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 754a4b628a14657db2e00931926311a1c703558b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 9 18:49:29 2009 -0400

    macos panic decoder should handle 64 bit kernel in 32 bit mode
    
    panic from 64 bit should be decodable in 32 bit mode. make it so. add
    -k switch to allow a path to a kernel to be specified.
    
    Reviewed-on: http://gerrit.openafs.org/438
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 392e3dab970c998af63ddb43665655e0f3815c45
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 9 19:00:49 2009 -0400

    Avoid __USE_XOPEN redefinition
    
    Only define __USE_XOPEN if not already defined.
    This eliminates a few build warnings where __USE_XOPEN is already
    defined in system header files.
    
    Reviewed-on: http://gerrit.openafs.org/439
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 12a7afa6481e8e4a9c0ef8115eaf328dc7af3029
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Sep 9 18:39:24 2009 -0400

    Remove extraneous + character in src/volser/common.c
    
    Remove an unneeded extra + character at the end of line - probably
    from a typing accident.
    
    This generates a warning at compile time.
    
    Reviewed-on: http://gerrit.openafs.org/437
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f041bd25343f40986c035ed6c0a087709ed64bc4
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 13 08:54:23 2009 +0200

    Cosmetics: Rename some variables, fix types.
    
    * Replaced tsize by new local var llbytes in rxfs_storeInit.
    * Make int32 lengths unsigned in rxfs_storeInit.
    * Renamed lengthFound to length64.
    * renamed abase to base.
    
    Reviewed-on: http://gerrit.openafs.org/127
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 23143230e68516c89f3acf76999223dad4af612f
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Wed Sep 9 16:21:44 2009 +0200

    Moved CForeign check to rxfs_storeInit/storeMore.
    
    This is rxfs-specific, so move it out of CacheStoreProc.
    
    It must be done before entering the do { } while (moredata) loop proper
    now, as rxfs_fetchMore is never called during the first iteration
    
    (moredata is always 0), but the length may need fixing (note that
    this was done after what is now the fetchMore op originally). Thus
    it appears in rxfs_fetchInit.
    To prevent a bogus call during the first loop iteration, also check
    for length!=0. Finally, don't bother with fetchMore at all unless
    CForeign is set.
    
    In rxfs_fetchInit, we added an additional check for length_hi being
    zero.
    
    uploade patchset 8.
    
    Reviewed-on: http://gerrit.openafs.org/126
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 01fae602425b91647b54888c82450091d4c89714
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 8 16:36:32 2009 -0400

    Windows: Use secure ctime and strncpy in afs_ctime
    
    Microsoft compilers version 1400 and above provide secure
    versions of ctime and strncpy. Use them in afs_ctime.
    
    Correction to sha1:359c64bb674ea0606e64b91fd8252297310a9862
    
    Thanks to Andrew Deason for identifing the mistake.
    
    Reviewed-on: http://gerrit.openafs.org/429
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5d1efd3cd86f12d6be073e9b8103f16bf33d8bab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 8 16:43:01 2009 -0400

    Windows: secure rand()
    
    rand_s() is available on Visual Studio 2005 and above (aka 1400 and above)
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/430
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0f7efd94fa12cf82efe6c31ee33d9b3ca51666e1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 6 15:10:56 2009 -0400

    Windows: Add data validation to ktc_xxxx functions that perform pioctls
    
    The ktc_GetToken and ktc_ListTokens functions perform a pioctl
    and then parse the response data.  There is no validation that the
    data required is not longer than the pioctl output or that the
    data received fits into the data structures that are being written.
    As a result, random crashes have occurred when the wrong data
    has been received from the pioctl.
    
    This commit adds data validation to at least ensure that these
    functions cannot read beyond the data provided or write beyond
    the allocated memory.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/405
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit f7085c38e15db15e2795ff33e9b54977e703a097
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Sep 8 17:58:41 2009 -0400

    build fix: ubik_client is a struct
    
    Fix a build failure - ubik_client is a struct and not a type
    
    Reviewed-on: http://gerrit.openafs.org/431
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 359c64bb674ea0606e64b91fd8252297310a9862
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 6 18:47:54 2009 -0400

    Windows: Use secure ctime and strncpy in afs_ctime
    
    Microsoft compilers version 1500 and above provide secure
    versions of ctime and strncpy.  Use them in afs_ctime.
    
    Reviewed-on: http://gerrit.openafs.org/408
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1992b702f64f561c75cc74d4645bb0e1afeec6bd
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Aug 22 00:31:22 2009 -0700

    Only force a specific compiler where necessary
    
    Rather than setting the compiler to cc on all platforms by default,
    use the Autoconf default unless the specific compiler might matter.
    Conservatively set the compiler to cc for all non-Linux, non-BSD
    operating systems that previously didn't explicitly set it.  Fix a
    few places on Linux where the compiler was set to gcc explicitly
    rather than using the Autoconf result.
    
    Don't bother setting the Linux i386 compiler to gcc -pipe.  The compile
    performance difference isn't enough to bother with the special
    exception, and we don't do this for other Linux systems.
    
    With this change, setting CC at Autoconf time will correctly set the
    compiler per the user's preferences unless they're on an operating
    system where we care about having a particular compiler for kernel
    purposes.  This can be relaxed further in the future, particularly if
    the kernel compiler is broken out to a separate setting.
    
    Reviewed-on: http://gerrit.openafs.org/337
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 950b96f290d0874e5a8e6d8bc693d4d03a3e88f2
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 21 19:11:58 2009 -0700

    Remove old disabled code to support truncated passwords
    
    ka_UserAuthenticateGeneral had code disabled with #ifdef OLDCRUFT to
    retry failed authentications by truncating the password to eight
    characters, with a comment that the truncating behavior of kpasswd
    was disabled in 1990.  Nothing references this preprocessor define in
    the source tree.  Delete the dead code.
    
    Reviewed-on: http://gerrit.openafs.org/336
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 7e91d071f007c3be74dce800c38b0ac980465df0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 6 15:25:42 2009 -0400

    Windows: Prevent pioctl races from crashing afsd_service
    
    The SMB redirector will permit two processes to open the
    pioctl file at the same time without giving SMB server an
    opportunity to say 'no'.  As a result multiple reads and writes
    on the allocated smb_fid->ioctl can play havoc with the pioctl
    state.  Since afsd_service doesn't know the writes and reads
    are coming from separate requests there is nothing it can do
    to prevent incorrect data going to the wrong process.  However,
    it can (and should) protect itself when the state becomes invalid.
    
    Two prevention methods are applied:
    
     1. add an additional state flag that explicitly indicates
        when the ioctl is in the dataout state
    
     2. validate the length of data in the ioctl input or
        output buffers before copying it.  If the length
        becomes negative, return a CM_ERROR_INVAL error.
    
    In addition, when the invalid state results in a failure to
    to find a matching pioctl function do not return CM_ERROR_BADOP.
    CM_ERROR_BADOP can only be returned if the SMB operation is not
    supported.  Returning it in response to a ReadFile request will
    cause the SMB client to drop the connection.
    
    Finally, fix smb_FindFID to prevent the same 'fid' from being
    used for more than one open file.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/407
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 96ebb6df31ad300680d4a1dd7d04a714f54a22b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 6 15:20:58 2009 -0400

    Windows: Fake scache not completely initialized
    
    The fake scache object used for pioctl operations was not
    fully initialized.  The magic value, data version, and
    several locks were not initialized.  Do so.
    
    Since the fid of the fake scache object is 0.0.0.0
    remove the assert in cm_GetSCache for cell != 0.
    Instead simply return CM_ERROR_INVAL.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/406
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 132268042d1992d39614e72d67957b2b10ebfba6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 6 14:45:42 2009 -0400

    Windows: Prevent simultaneous pioctls
    
    The Windows pioctl implementation makes an incorrect assumption.
    It is not true that every CreateFile() operation results in a
    SMB NTCreateX operation being delivered to SMB Server.  The SMB
    client can combine open requests from multiple processes or threads
    onto a single SMB file descriptor and locally manage the operations.
    This is a problem for pioctls since the Transceive operation requires
    that a WriteFile/ReadFile combination must belong to the same request.
    
    Prior to this change simultaneous pioctl operations would be
    combined and the individual reads and writes could overlap resulting
    in responses going to the wrong requestor and end of file errors
    being received by the others.
    
    Due to lack of data validation in fs.c, ktc_nt.c, symlink.c,
    etc random crashes are produced.
    
    This change alters the sharing mode under which the pioctl file is
    opened.  Instead of FILE_SHARE_READ | FILE_SHARE_WRITE, only
    FILE_SHARE_READ is specified to CreateFile().  This ensures that
    the CreateFile will fail with a sharing violation if the pioctl
    file was previously opened for writing.
    
    A sharing violation check is provided and the CreateFile is retried
    indefinitely until the open succeeds or the error is not a sharing
    violation.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/404
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 60caadec3a7d6ef64744be8533205ecfa0ff4179
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 5 09:44:11 2009 -0400

    Windows: smb_FindShareCSCPolicy uses invalid registry key
    
    smb_FindShareCSCPolicy() ignored the error state of RegCreateKeyEx()
    and would pass the uninitialized hkCSCPolicy to RegQueryValueEx()
    and RegCloseKey().  While this did not produce invalid results, it
    did result in unnecessary operations and exception handling within
    the Win32 registry apis.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/402
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5aced2e8d68e109145893a508ff61437d31a6de9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 29 14:16:45 2009 -0400

    Correct nvldbentry and vldbentry misuse in uss/uss_vol.c
    
    The uss module relies on MapNetworkToHost / MapHostToNetwork from
    src/volser.  These functions convert a struct nvldbentry and not
    a struct vldbentry.  When src/volser was converted to struct nvldbentry
    src/uss must have been forgotten.
    
    In uss_vol.c convert GetServerAndPart() to accept a nvldbentry
    instead of a vldbentry.
    
    Add two static functions:
    
     * ovlentry_to_nvlentry() to convert from vldbentry to nvldbentry
       if required
    
     * uss_vol_GetEntryByID() which first attempts to use
       ubik_VL_GetEntryByIDN() and if that is not supported falls
       back to ubik_VL_GetEntryByID() and ovlentry_to_nvlentry().
    
    LICENSE MIT
    
    FIXES 125101
    
    Reviewed-on: http://gerrit.openafs.org/377
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0ee69d5b9a64a96c5c217d523ba23371d41cb85d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 7 22:29:54 2009 -0400

    fetchstore nocall argument breaks non-64bit clients
    
    a label before the end of a loop breaks, which is the case
    when AFS_64BIT_CLIENT's not defined (e.g. UKERNEL).
    
    fix it.
    
    Reviewed-on: http://gerrit.openafs.org/410
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8a8244dd351f865af2da3b5ebb746ba57723b6a9
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Thu Sep 3 10:15:18 2009 -0400

    Remove struct from AFS_UCRED instantiations (opaque credential type support)
    
    The identifier AFS_UCRED is intended as a preprocessor alias to
    a possibly-opaque credential type.  A platform header will normally
    rename AFS_UCRED to a platform credential type with #define.
    
    This is not intended to change the meaning of AFS_UCRED, but removes
    the assumption that it is a struct type, which may not be true, depending
    on the platform and other decisions made by the AFS client port.
    
    Reviewed-on: http://gerrit.openafs.org/397
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3de3cb03c2c7a23bfb092f51a7715c73ef38b9bd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 4 23:22:12 2009 -0400

    Windows: Log RXKAD errors in cm_Analyze
    
    RXKAD errors were not logged at the point where the errors were
    handled.  As a result they were never logged.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/400
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit edccb905d4753fa5412e3212e8626e8437cbecfb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 4 23:23:10 2009 -0400

    Windows: Explorer Shell Invalid Parameter Errors
    
    The attempt to follow the smb protocol specification by returning
    extended responses to NTCreateAndX requests (when specified)
    resulted in random "invalid parameter" errors from the Explorer
    Shell (and common control dialogs) on Vista SP2.
    As a result we won't send the extended responses.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/399
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a43c893d498effd1165bfe78179934194c34b448
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 4 23:13:52 2009 -0400

    Windows: Freelance get callback sync and uninitialized variables
    
    In cm_GetCallback the Freelance mode case did not properly
    synchronize attempts to fake obtain a callback.
    
    cm_GetCallback also failed to initialize the contents of afsStatus and
    volSync which are used as input to cm_MergeStatus.
    cm_MergeStatus special cased the freelance root.afs volume root
    directory but failed to handle any other freelance volume objects.
    As a result it used the contents of the uninitialzed input structures
    to populate the status of the object for which the callback was
    obtained.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/401
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ad1e9c7084e99a67ee7a61c255a6059ebc9190c3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 1 13:00:00 2009 -0400

    make afsd partition size check be large partition safe
    
    right now the math overflows the 32 bit type for >2tb partitions.
    use larger variables to avoid this.
    
    Reviewed-on: http://gerrit.openafs.org/392
    Reviewed-by: Matt Benjamin <matt@linuxbox.com>
    Reviewed-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5d9c767ac55b2d1b8f5b87dc9ced63e282af7bac
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 31 11:10:10 2009 -0500

    Update accessDate on volume access
    
    Right now accessDate is simply never updated, so the last access time
    for a volume is never reported. Simply update the field in
    VBumpVolumeUsage_r, so we track the last time the volume was accessed.
    
    Note that this does not increase disk writes to the volume header; the
    performance impact is effectively nil.
    
    Reviewed-on: http://gerrit.openafs.org/385
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 24ddc90e5dd3e8847d314adf9858b67b47ed7854
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Fri Aug 28 11:54:41 2009 -0400

    Add tracing to MCAS allocator and GC
    
    Adds conditional trace logging to MCAS object cache and supporting GC,
    using ViceLog.  While in future this should be normalized, it is correct
    for both fileserver and volserver, the two programs using MCAS currently.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/374
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit fb79d6e1f0bcef0602df7bb4ec961955c2f06563
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 30 18:26:10 2009 -0400

    Updated Chapter 2, Section 3.4 of the Admin Guide
    
    Added a bullet point explaining the use of a Kerberos cross-realm trust and PTS
    foreign groups to give foreign users access.
    
    Replaced a reference to Authentication Database with Kerberos Database.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/381
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 880664bd0df8380b77cefe80379170c9c183442c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 2 22:49:40 2009 -0400

    Windows: The unnamed stream is a synonym
    
    Treat a file request for "name::$DATA" as if it were specified as
    "name".  Otherwise, the inclusion of the colon in the file name
    will cause it to be treated as invalid.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/395
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ae7ef5f5b963a5c8ce4110a7352e0010cb6cdbc1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 2 22:54:17 2009 -0400

    Windows: rx_Write failures must be processed
    
    The error code returned by rx_Write takes precedence under
    all circumstances over the error returned by EndRXAFS_StoreData.
    
    cm_ReleaseBIOD must apply the error code to all buffers in the
    BIOD list.
    
    cm_ReleaseBIOD accepts an error code, not a boolean indicating
    failure.
    
    Fix a related signed/unsigned error.
    
    FIXES 125351
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/396
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit baa883aa6b878abe808d302d14142f702dfb9cca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 2 22:44:33 2009 -0400

    Windows: avoid inappropriate dns searches
    
    Do not perform searches for cells if the string prefix
    matches _._AFS_IOCTL_._.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/394
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d352ca1df447c489b46f45edfbf633ca39d56fd4
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 30 17:54:16 2009 -0400

    Updated Chapter 2, Section 3.2 of the Admin Guide
    
    Removed the reference to the Authentication Server and added a reference to the Kerberos Server and Kerberos 5 authentication for foreign clients.
    
    Replaced AFS Product Support with the AFS registrar as the maintainer of the
    public CellServDB file. A link was added to grand.central.org for getting the
    latest copy of the file and submitting changes for the local site.
    
    Reviewed-on: http://gerrit.openafs.org/379
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit e86cb488b3d28eea7d2a1780d578fcfee67d8e3b
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Sep 2 11:50:06 2009 -0500

    SALVSYNC_com initialization typo
    
    The size of sres_hdr is sizeof(sres_hdr), not sizeof(sres).
    
    Reviewed-on: http://gerrit.openafs.org/393
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5dd137c474cc5ffc877bb0655220ad4b2503ed10
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 24 13:18:31 2009 -0700

    Turn on --enable-bos-new-config unconditionally
    
    Remove the conditional and Autoconf flag for enabling BosConfig.new
    handling and change bosserver to always rename BosConfig.new to BosConfig
    on startup if the former exists.
    
    Document BosConfig.new handling in the bosserver and BosConfig man pages.
    Tone down the warning about the BosConfig file format changing and warn
    that bosserver rewrites BosConfig when shutting down.
    
    Reviewed-on: http://gerrit.openafs.org/211
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 64bad257d66b7d70ebdb62a10217818730e2e0a6
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 29 11:56:34 2009 -0400

    DAFS: avoid shutdown hang during salvage
    
    Right now, when the fileserver shuts down, it tries to cancel any
    demand-salvages in progress. This causes the fileserver to hang, since
    during shutdown, the salvageserver may already be gone. This avoids
    cancelling in-progress salvages, and allows salvages to continue after
    the fileserver has shut down.
    
    To do this, the salvageserver now closes SALVSYNC sockets in spawned
    children, so the children don't get SALVSYNC requests directed at them,
    since they can't handle them. The salvageserver also now periodically
    scans for logs of salvaging children that have terminated, and
    incorporates them into SalsrvLog, just like it does for it's own
    children. The salvageserver children that actually perform salvages now
    also set the inUse volume header field to their programType, so the
    fileserver knows not to schedule new salvages for that volume in the
    event of a fileserver restart during a salvage.
    
    FIXES 124486
    
    Reviewed-on: http://gerrit.openafs.org/279
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 5fd700d1fda856b0e16588cef0e54bc37498d375
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Tue Sep 1 14:33:53 2009 +0200

    Uploaded patchset 9. Sorry for the mess.
    
    Reviewed-on: http://gerrit.openafs.org/125
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 04aecc99e073b07fe781d65c5c274acee14d8d26
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Aug 27 12:43:03 2009 -0500

    Fix cache tracking for small fragsizes
    
    The tracked amount of disk cache used by a client can be incorrect when
    afs_fsfragsize is tuned to below 1023. Since we round up to the next
    nearest afs_fsfragsize+1 then round down to the kb, if afs_fsfragsize+1
    < 1kb, we can undershoot the cache usage.
    
    This enforces afs_fsfragsize to always be at least 1023.
    
    Reviewed-on: http://gerrit.openafs.org/338
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 67bcc19c754e7bfd55d098e9fe17723340c275ba
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 30 18:13:06 2009 -0400

    Updated Chapter 2, Section 3.3 of the Admin Guide
    
    Added text about Freelance Mode and Dynamric Root Mode and the changes they
    cause when dealing with mounts to foreign cells in /afs and \\AFS
    
    Reviewed-on: http://gerrit.openafs.org/380
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 3e28e72e409550f398d006b7e1fa073bd23e1cfd
Author: Christof Hanke <christof.hanke@rzg.mpg.de>
Date:   Mon Aug 31 15:39:02 2009 +0200

    Remove unnecessary type ViceFid
    
    The type "ViceFid" is just a clone of the type AFSFid and used only in a couple of places.
    Thus, for simplicity, rename all occurences of ViceFid to AFSFid and remove the
    typedef itself.
    
    Reviewed-on: http://gerrit.openafs.org/383
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ac1e6fa1a6f3287e2862e6ea6f4dafea0c92e8cb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 31 20:10:13 2009 -0400

    Windows: Permit cygwin apps to read from AFS again
    
    For some reason specifying a unique GUID for each open
    file based on the cm_fid results in cygwin apps being
    unable to read from AFS.  ReadFile() calls fail with
    Invalid Device Request errors instead.
    
    While fixing that issue discovered that not all of the
    data was properly set for QueryPathInfoAll operations.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/388
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c0e1cc0762eb7e49d72fdfecda168e72db55c3e8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 31 20:08:53 2009 -0400

    Windows: uninitialized variable
    
    Ensure that the index variable used to walk the fid history
    of the current evaluated path is always initialized.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/389
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 95df1a47d1e40eb9d007853c99826432e7ac4016
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 31 20:06:27 2009 -0400

    Windows: integrated logon
    
    The previous fix prevented a null pointer dereference but
    forgot to set 'effDomain' to the domain specified by the
    caller if it exists and is not the local machine name.
    
    LICENSE MIT
    
    FIXES 125325
    
    Reviewed-on: http://gerrit.openafs.org/390
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e31f3f68b0a28a9fe0c95aa44828844426a557e2
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Aug 31 08:57:55 2009 -0400

    Make catalog file destdir when not transarc paths
    
    The appropriate mkdir -p was missing for this case, the patch adds it.
    
    Reviewed-on: http://gerrit.openafs.org/387
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 616ab5c9ec624fc1f852e8188b800e32a9ebe74e
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Aug 31 06:16:27 2009 -0400

    Remove AFS_KERBEROS_ENV in NetBSD 30, 40 param files
    
    This creates dependency on ktc_newpag, which has been determined to be
    obsolete.
    
    Reviewed-on: http://gerrit.openafs.org/384
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 49d893eff3bf5933bd4a6c62c5576d30bcda56d9
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sun Aug 30 13:30:18 2009 -0400

    Build shared afsauthent and afsrpc on *BSD
    
    This seems to be a required step, going forward.  Omitting breaks pam,
    for example.
    
    Reviewed-on: http://gerrit.openafs.org/382
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dffd78ccb013cbda907d5c266137de94814d9c00
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Fri Aug 28 21:16:52 2009 +0200

    Fixed the tokens update and update .gitignore for MacOSX packaging file
    
    Fixed the tokens update on preference pane if operation is made with NSStatusItem.
    Has been updated the src/packaging/MacOS/.gitingore for CellServDB file and src/libafs/.gitignore has been added afs.x86_darwin_100.plist.
    
    Reviewed-on: http://gerrit.openafs.org/372
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 85408141403cc18a954877dd682022063203f4c8
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Aug 28 11:40:01 2009 -0400

    doc: typo fix in asetkey man page example
    
    Fixed a typo in the asetkey man page.
    
    Reviewed-on: http://gerrit.openafs.org/373
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e26235ed3ed4c444d907d217a4b6cdd25fa1d475
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 28 01:01:46 2009 -0400

    macos 10.5 doesn't support compiler kext flag
    
    -kext was added in later xcodes; it's safer to just assume we don't
    have it.
    
    Reviewed-on: http://gerrit.openafs.org/365
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7bf32f6115c5af3e772287754ea4aa1465764dca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 27 16:17:24 2009 -0400

    Windows: Version Update 1.5.6200.0
    
    Version update to 1.5.6200.0
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/354
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f77cc39801b4ee046f6968616332ef3db5415f97
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 27 03:59:02 2009 -0400

    Windows: SMB Server does not support streams, so say that
    
    The SMB server does not support streams.  When replying to
    NT Create operations with extended responses report that
    there are no streams.  In addition, add support for Query
    Path/File Stream Information and return only the null stream.
    
    Correct the 'totalData' response field in several places
    within Trans2QPathInfo and Trans2QFileInfo.
    
    Return CM_ERROR_BADOP for SMB NT Transact operations that
    are not supported instead of CM_ERROR_INVAL.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/347
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a767455f02460e39e8c5eaa77768718667a2f29a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 27 15:29:50 2009 -0400

    Correct description of afs krb.conf file format
    
    The file format is a single line containing one or more realms
    separated by white space.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/352
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a747f5951b920dfb6d77465de6ca8ff54bae1706
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 27 15:47:58 2009 -0400

    update decode-panic for 10.6
    
    how panics get reported changed in 10.6. also, the 64 bit universal kext
    means we don't know what the last boot was.
    
    Reviewed-on: http://gerrit.openafs.org/353
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6b555e5dc116905a3e8f356c45827f58b3a00f9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 27 11:18:41 2009 -0400

    make openafs 1.5.62
    
    update version strings for 1.5.62
    
    Reviewed-on: http://gerrit.openafs.org/351
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2b1336b59b554b657a2d671adbc0469e18004fbb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 27 08:12:31 2009 -0400

    macos afs prefspane support for 10.4
    
    NSUInteger is newer than what's included in the 10.4 SDK. restore
    functionality for 10.4
    
    Reviewed-on: http://gerrit.openafs.org/349
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit abcb52c4fd84c1d371be90ec3d602ca780644e2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 27 10:12:13 2009 -0400

    correct GetuTime function name
    
    GetuTime is really osi_GetuTime
    
    Reviewed-on: http://gerrit.openafs.org/350
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 81099c479e148a103dcf9f4def125b28e989107c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 26 17:34:50 2009 -0400

    macos 10.6 64 bit support
    
    support 64 bit userland with 32 bit kernel, and
    32 and 64 bit userland with 64 kit kernel
    
    Reviewed-on: http://gerrit.openafs.org/343
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 74d3b110628fee3d0cc08303736c1b84deb8d4e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 27 07:53:00 2009 -0400

    redefine xdr functions consistently
    
    if we redefine the names of all xdr_ functions, the same must be done
    for xdr_alloc and xdr_free
    
    Reviewed-on: http://gerrit.openafs.org/348
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit af8dee05f07e63cf954326eff27630b38ad76edd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 26 22:31:58 2009 -0400

    Windows: Release Notes Updates for 1.5.62
    
    Some formatting corrections
    
    Section 3.26 updated to describe limitations caused by Apple
    Bonjour on 32-bit Windows.
    
    Section 3.40 updated to mentions Microsoft SMB Redirector
    Extended Server Timeout support.
    
    Section 3.41 updated to describe inability of pioctl operations
    to succeed on service mapped drives.
    
    Section 3.43 updated to include Windows 7 and Server 2008
    in the known issues list.
    
    New section 3.51 on Microsoft RPC Services
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/346
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d605bf109db15e535618847baadffb35a92ed41a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 26 17:32:31 2009 -0400

    Windows: Updates to Windows ChangeLog
    
    1.5.6200
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/345
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9473089bdf1997b2f43e3ea368907c6cdc0fa582
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 26 15:15:27 2009 -0400

    macos rc script server handling
    
    only start bosserver if its configured. shut it down if we (likely) started it
    
    Reviewed-on: http://gerrit.openafs.org/344
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 622065f98ea806314e1b7116f0b280092aa397b1
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 25 21:00:33 2009 -0700

    Initialize xferStartTime for StoreData timings
    
    In the reorganization of fetch and store procs, the initialization of
    the transfer start time for a store was lost, leading to meaningless
    statistics from the uninitialized variable.  Initialize the transfer
    time at the start of transferring each chunk and move the variable into
    the for loop.
    
    Reviewed-on: http://gerrit.openafs.org/340
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit a59df36211d6bc641eeec6d8fd8876a98ce3600a
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 21 18:37:41 2009 -0700

    Add automatic sysname detection for ARM Linux
    
    Add arm*-linux* to the case statement that attempts to automatically
    determine the AFS sysname, similar to the other Linux sysname
    determination cases.
    
    Reviewed-on: http://gerrit.openafs.org/334
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b695261de43af0fbdd8166b4b2272465783e76d6
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Wed Aug 26 17:18:37 2009 +0200

    10.6 update(Workaround for kerberos bug) and cleaning of deprecated function form code
    
    For aklog has been added the workaround for kerberos function KLAcquireInitialTickets that in 10.6 return always error.
    First is called KLCacheHasValidTickets for check user ticket presence, if there are no ticket  KLAcquireNewInitialTickets will be called for get user credential.
    Has been removed also many deprecated api.
    
    Reviewed-on: http://gerrit.openafs.org/341
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a66dc4d0cb99d2b2f0bc5e7537d83522f68fbb44
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Wed Jul 15 14:11:32 2009 +0200

    Some renames and reformattings in afs_fetchstore
    
    Reviewed-on: http://gerrit.openafs.org/124
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 88b7deb5bc39f58e490e2ec83e563feeb32668e7
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Fri Jul 10 15:55:58 2009 +0200

    Sanity for the padd storeOp
    
    Reviewed-on: http://gerrit.openafs.org/123
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 6220ede6a96d06c53eddd848435764cff96be1b4
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Wed Jul 8 16:36:34 2009 +0200

    Add the padd storeOp and unify statistics keeping.
    
    Filling with zeroes is done within a storeop of its own. This raises
    consistency and readability.
    Also, the formerly copy-pasted (to afs_dcache and afs_segments respectively)
    statistics code is now in a seperate function of its own.
    
    Reviewed-on: http://gerrit.openafs.org/122
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 4b10f1916cd000cfd75134c8e1665d72899bc10d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 25 12:46:01 2009 -0700

    Windows: MSRPC_WriteMessage, call MSRPC_NewCall at right time
    
    In MSRPC_WriteMessage, call MSRPC_NewCall after checking for
    MAX_RPC_MSG_SIZE and return an error if MSRPC_NewCall fails.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/339
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 1692c27300e55f9219dc75e1b5ab81d4ff98e4ae
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 12:46:08 2009 +0200

    Cleanups in rxfs_storeInit()
    
    Reviewed-on: http://gerrit.openafs.org/121
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 0e1bd20462d4fd0aaa3fb18e127b1f1597a76799
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 12:42:44 2009 +0200

    More CacheStoreProc call context to afs_fetchstore from afs_segments
    
    The loop over the dcaches is performed in afs_fetchstore now as well,
    in a new routine afs_CacheStoreVCache that is called in afs_CacheStoreProc's
    stead. The original afs_CacheStoreProc has largely moved to
    afs_CacheStoreDCaches in afs_fetchstore.c.
    
    Enhances readability of afs_StoreAllSegments. rxfs_storeInit() can be
    performed earlier now, which is instrumental for the inclusion of
    alternative protocols (which will call other storeInit() functions).
    
    Reviewed-on: http://gerrit.openafs.org/120
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 334114ac58b0039ae90d7e29fa2f019fe068bd79
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 12:02:19 2009 +0200

    Limited the scope of some local variables in afs_CacheStoreProc
    
    Reviewed-on: http://gerrit.openafs.org/119
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit beb57af06ff9d20aa8d038f6d3474b62922c41b4
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 11:19:31 2009 +0200

    Open/close connections in afs_fetchstore rather than afs_segments
    
    The respective snippets are moved from afs_StoreAllSegments to
    rxfs_storeDestroy and rxfs_storeInit respectively. This makes sense
    and enhances readability.
    
    Reviewed-on: http://gerrit.openafs.org/118
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 74d53f288c7eeecc36d4c082dd96d840f1861d7b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 20:26:34 2009 +0100

    PAG numbers are unsigned (and other warnings)
    
    PAG numbers are represented by afs_uint32. Fix assorted call sites to
    reflect this.
    
    While we're here, prototype ktc_newpag, and fix the casts used by
    the ktc_curpag() call.
    
    Reviewed-on: http://gerrit.openafs.org/167
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 50f6529cf1f191606f55add4cabe53fceab492ed
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 19:58:16 2009 +0100

    Make lockIDSet readable by mortals
    
    The lockIDSet function was a sprawling mess of #ifdefs. This change
    consolidates it so there is completely different function for each
    platform, with some internal #ifdefs remaining for platform-specific
    variations. The side effect of this is that the function is now readable.
    
    Reviewed-on: http://gerrit.openafs.org/164
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 0666fe12facf53ad2b67e4ba23b034b2e639d737
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 20:10:05 2009 +0100

    Fix printfs of time for Darwin
    
    Darwin uses a fancy type for tv_sec, which needs to be cast to long
    before it can be printed.
    
    Reviewed-on: http://gerrit.openafs.org/165
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit 01349d8a9468de0e46eeef42dede3a7076f1abb5
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 11:07:07 2009 +0200

    Move statistics and and call-closing from afs_segments to afs_fetchstore.
    
    Rather than in afs_StoreAllSegments, do statistics in afs_CacheStoreProc,
    further boosting the former's readability. Calls are closed in a new
    storeOp now, rxfs_storeClose, and have been moved there from
    afs_StoreAllSegments as well.
    
    Reviewed-on: http://gerrit.openafs.org/117
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit db717c69dad1518043cb317aedb6d082476386f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 20 17:22:08 2009 -0400

    Windows: Correct buf_Write data loss errors
    
    buf_Write has two errors in it.  First, if offset at which the
    write is supposed to begin does not align with the cm_data.blockSize,
    then (offset %blockSize) octets at the end of the write will fail
    to be written to the file server.   Second, if there is no knowledge
    of the file server's ability to handle RXAFS_StoreData64 calls
    and the file server does not support StoreData64 calls, then the
    first chunkSize of data will be written to the file server before
    the RXGEN_OPCODE error is detected.  In this case a retry using
    RXAFS_StoreData is performed but the values of 'nbytes' and 'qdp'
    were not reset before the retry.  As a result, the first chunkSize
    of data would fail to be written to the file server.
    
    The second problem can reliably occur when connectivity between the
    cache manager and the file server is interrupted due to firewall
    port mapping closures.  Upon establishing a new rx connection, a
    SRXAFSCB_InitCallBackState3 RPC will be issued by the file server
    erasing any prior knowledge of the file server's ability to process
    64-bit data operations.  If the first 64-bit operation is a
    StoreData64, then data loss will occur.
    
    LICENSE MIT
    
    FIXES 125220
    FIXES 108199
    
    Reviewed-on: http://gerrit.openafs.org/332
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 687a40c7c6f3e0391ec1c863113c22f970003b49
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 20 10:54:47 2009 -0400

    Windows: cleanup smb polution of non-smb modules
    
    There are a variety of functions that are declared in smb modules
    that are used within non-smb modules.   In order to reduce some of
    the polution, several time conversion functions and the thread
    priority operations are migrated to cm_utils.  As part of this
    migration the unused !USE_NUMERIC_TIME_CONV time implementations
    are removed.
    
    In addition, an unnecessary use of an SMB preprocessor symbols
    is removed from cm_freelance.c and smb_ioctls.h is no longer
    included within afsd.h.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/330
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit ef197772e7a1bd823f6f5d0ea3846ccabe950a1e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 20 14:30:27 2009 -0400

    Windows: Init root.afs before smb_Init
    
    It is not safe to initialize the root.afs cm_scache object
    after the SMB package.  Break it out of afsd_InitDaemon()
    into its own afsd_InitRoot() and call from afsd_InitCM().
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/331
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit da0673f0eabb960b203b1a814aa62acbef62eeb1
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 19 16:07:27 2009 -0700

    Describe 's' PTS group permissions more accurately
    
    PTS groups with 's' access permissions can be examined by members of the
    group and the owner of the group in addition to system:administrators.
    State this in the manual page.
    
    Reviewed-on: http://gerrit.openafs.org/327
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b5846b080d455c8764450b545c1ee3ded61aa3c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 20 09:21:53 2009 -0400

    Windows: Ensure consistency of error code mapping
    
    For Windows, the error mapping table used throughout the system
    is located in util/errmap_nt.h.   This table was incomplete and
    WINNT/afsd/cm_utils.c added additional mapping locally.  Move
    said error mapping to util/errmap_nt.h.
    
    When including afs/unified_afs.h it must be done after including
    afs/errmap_nt.h.   Otherwise, undefined errors are mapped to EIO
    which should not be.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/328
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 995c76e73e828eac2e30b33de5ee8085e6cead0a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 20 09:44:18 2009 -0400

    Windows: Add prototype for osi_SetLockOrderValidation
    
    Add prototype for osi_SetLockOrderValidation() defined
    in osibasel.c
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/329
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5ff34cc364ea80fe1e55262ac97091b42d47e3d8
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 11:01:57 2009 +0200

    Move context of afs_CacheStoreProc() call from afs_segments to afs_fetchstore
    
    The innermost loop in afs_StoreAllSegments (looping over chunks) is now
    inlined in afs_CachStoreProc. This is step one in a series of such
    inlinings.
    
    Reviewed-on: http://gerrit.openafs.org/116
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit ebd42496392d4ff207a97dd664d8dbaad66425b0
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 10:57:21 2009 +0200

    Move statistics keeping from afs_dcache to afs_fetchstore.
    
    More context of the afs_CacheFetchProc() call in GetDCache is now inlined
    in the afs_CacheFetchProc. Boosts readability of GetDCache and saves
    stack, as counter pointers need not be passed anymore. The statistics
    code is more readable due to lesser indentation.
    
    Reviewed-on: http://gerrit.openafs.org/115
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit e2ce6a0f40aceb83a53883875e4430677a0f3068
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 19 18:10:43 2009 -0400

    Windows: cm_conn_t must not be referenced after cm_Analyze is called
    
    The 64-bit Large File Support added a reference to the cm_conn_t
    object after cm_Analyze() is called and releases the hold.  This
    permits the object to be freed if it is appropriate to do so
    which can result in an invalid memory reference.
    
    This change removes the improper reference.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/326
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1d78be16945a5a025b7e10098d89d7bccc01c231
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 10:54:06 2009 +0200

    Some code cleanups and variable renames.
    
    Reviewed-on: http://gerrit.openafs.org/113
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 1c12747818d1bbd327f94ba66808f5d705f8b618
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 19 08:04:30 2009 -0400

    Windows: Permit build system to update symbol store
    
    Microsoft Debugging Tools for Windows, Visual Studio Debugger,
    and SysInternals tools can all make use of a Symbol Server.
      http://msdn.microsoft.com/en-us/magazine/cc163563.aspx
    The commit adds functionality to the build system to automatically
    add binaries and symbols to a symbol store during the build.
    This functionality is only enabled if two environment variables
    are defined:
    
      SYMSTORE_EXE  - specifies the location of symstore.exe
      SYMSTORE_ROOT - specifies the location of the symbol store
    
    an optional environment variable permits an arbitrary comment
    to be added to the symbol store history file.
    
      SYMSTORE_COMMENT - arbitrary text to be added to the history
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/324
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit b48908cbbaee53747c9a7cdfc08692a20aa92cb1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 19 11:51:18 2009 -0400

    Windows: Add resource info to threaded volserver.exe
    
    1.5.60 and 1.5.61 shipped without resource information
    linked to the threaded version of the volserver.exe
    executable.  Correct that oversight.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/325
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 57e218ab61e824133f252e4a0da74552beb14b05
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Aug 18 22:31:38 2009 +0100

    Make MacOS installer pane permit dashes
    
    The MacOS installer only permits characters in [0-9A-Za-z] in cellnames.
    However, OpenAFS itself will also allow dashes, and they're in use by some
    sites.
    
    This trivially amends the installer pane to permit dashes.
    
    FIXES 125211
    
    Reviewed-on: http://gerrit.openafs.org/323
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f819561707805c46b1a67c35d8f9ae1eee420af3
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Aug 18 14:51:57 2009 -0400

    Fix stack corruption on 64 bit linux when md5inum is enabled
    
    Fix a stack overflow on 64 bit linux which corrupts the stack
    saved arguments and causes a kernel panic. This bug is seen
    on platforms where ino_t is 64 bits and the md5inum sysctl
    option is enabled.
    
    Reviewed-on: http://gerrit.openafs.org/322
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cbaf97a953dc91e54d7148ad4294f003b8deef9c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 17 12:33:09 2009 -0400

    Windows: Be more conservative about checking error conditions
    
    It has been reported that winlogon.exe is crashing on some
    systems.  The reports indicate that the failure is somewhere
    in GetLogonDomainOptions.  This commit ensures that we are
    more conservative about the assumptions that are made regarding
    which Lsa operations can fail.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/321
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 4eee2f24a43052e5cafc1a3019b6554109a7cc6d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 17 17:28:28 2009 -0400

    Windows: src/WINNT/afsd cleanup
    
    Update the "clean" rule to remove the files generated from
    ms-srvsvc.idl and ms-wkssvc.idl.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/320
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fa07f46db9dcc1dccf3a7ff50037f2b81936e452
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 16 08:43:23 2009 -0400

    Windows: Prevent smb_StartedLock use before initialization
    
    The smb_StartedLock osi_mutex can be obtained before
    initialization due to a race if the IP address configuration
    is in a state of flux as afsd_service is starting up.
    To avoid the problem call cm_InitDaemons() after smb_Init().
    
    This race is the cause of the periodic assertions in some
    environments when lock order validation is enabled.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/318
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 918e5b635938738fa9d65a10573e53190ca24ca7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 15 06:43:57 2009 -0400

    Windows: Add missing msrpc.h dependency
    
    msrpc.h must include cm_nls.h
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/316
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>

commit 8ed3acdf13c40d93e60f8f057f99d3f3377feab5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 14 21:40:22 2009 -0400

    Windows: Prevent cm_daemon thread from terminating during suspend
    
    Remove the check for powerStateSuspend that caused the cm_daemon
    thread to terminate when the machine enters suspend mode.  When
    the machine awakens there is no thread to check the down server
    state, new IP address bindings, etc.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/315
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1cfa2259eca210ca480f16a725ca70f5cfc2c8d4
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue Jul 14 10:51:03 2009 +0200

    Move context of CacheFetchProc from afs_dcache.c to afs_fetchstore.c
    
    GetDCache() is quite bloated. This inlinining makes code more
    readable. For protocols to come besides rxfs (such as rxosd), some
    initializations may need to be performed differently. Thus, much
    has to be moved to the specific rxfs_fetchInit() function rather than
    afs_CacheFetchProc() proper.
    
    Reviewed-on: http://gerrit.openafs.org/112
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3a48ae3e243b695ac5bb3b35aa3b09641db1af3b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 14 12:06:03 2009 -0400

    macos 10.6 updates
    
    cope with mixed 32/64 environment provided by macos 10.6. build needed
    stuff for audit logs in shlibafsauthent.
    
    Reviewed-on: http://gerrit.openafs.org/310
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ff138d1bdeab24de27790474adf24ea124a211f1
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Wed Aug 12 21:19:49 2009 +0200

    OSX Preference Pane and AFS Backgrounder
    
    Cleaned most unused log
    
    Reviewed-on: http://gerrit.openafs.org/308
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b2503cd599be26dd5948526d00e3a28dfacd49ec
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 22 23:05:48 2009 +0100

    Fix gtx_create calls to all share a prototype
    
    All of the different _create calls need to share a prototype, so
    function pointers can be stuffed into a structure. Use an anonymous
    pointer so that we can acheive this.
    
    Reviewed-on: http://gerrit.openafs.org/187
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 19459804b0622ebad1e21e2d34ceb55ad7baddde
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Aug 12 14:56:56 2009 -0400

    Handle more RPC service names
    
    While the Windows client only implements support for WKSSVC and
    SRVSVC RPC services, it should be aware of and handle requests
    for other well known service names.
    
    This patch refactors service name checks to a separate
    MSRPC_IsWellKnownService() function.  In addition, it separates
    the tests for IPC TIDs from the test for well known service
    names.  An IPC TID may be used for generic pipe operations as
    well as for RPC message pipe operations.  Therefore the fact that
    a TID was opened for IPC doesn't necessarily mean that it will
    only be used for RPC.
    
    Reviewed-on: http://gerrit.openafs.org/307
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 9f2eb69899f1c4dba6671fe784ea2dd61e75a7eb
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Aug 12 13:57:11 2009 -0400

    rand_s isn't supported on older Visual C compilers
    
    We still support building on Visual Studio 2003 where rand_s() is
    not available.  If we are building on a Visual C compiler prior
    to version 15.00, failover to srand()/rand() instead of using
    rand_s().
    
    Reviewed-on: http://gerrit.openafs.org/306
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a1d46036fee7134a375d57baf4898ca1af6c27ba
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Thu Jul 2 11:12:24 2009 +0200

    Remove CacheStoreProcs and CacheFetchProcs from the afs_cacheOps.
    
    The entries are no longer used, as the macros from afs_chunkops.h
    are no longer necessary and afs_StoreAllSegments calls the
    CacheStoreProc proper.
    
    Reviewed-on: http://gerrit.openafs.org/110
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit ce174b9ef1771395981b297d4bb8779e57c9afab
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Wed Aug 12 12:41:42 2009 +0200

    OSX AFSBackgrounder fix minor bug
    
    Has been fixed the status menu icon width, now i keeped from icon image.
    Fixed the status item icon view redraw.
    
    Reviewed-on: http://gerrit.openafs.org/305
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 1024c4cd71d2b63a3b7f608a244d90e75c933d7c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 11 10:37:19 2009 -0400

    Windows: Dfs Referrals Processing.  Not all errors are errors.
    
    When processing a Dfs Referral request, not all lookup errors
    should be treated as if the path does not exist.  Servers being
    down or busy, volumes offline, cell vldb servers not found, etc.
    do not mean that the client should go searching elsewhere to
    evaluate the path.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/304
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit d6071aa6e5f93cf9f9dd42c0c49d56416cfdabbe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 11 08:43:53 2009 -0400

    Windows: Avoid unnecessary DNS lookups
    
    Windows will attempt to open connections to a broad
    range of pipe service (share) names which do not contain
    a dot in them.  Attempts to search for these names as
    cell names in DNS result in timeouts and sluggish behavior
    when browsing \\AFS in the Explorer Shell.
    
    To avoid this problem, do not perform a DNS lookup for a
    cellname that doesn't not contain a dot in it.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/302
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 8cd1dc27dc16349b94c66eec721191d5dff29dab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 11 08:59:39 2009 -0400

    Windows: Setting Server Preferences
    
    The Windows cache manager can apply administrator specified
    server preferences as specified in the registry.   When these
    rankings are applied the CM_SERVERFLAG_PREF_SET flag was not
    set on the cm_server_t object.  In addition, appropriate locking
    was not being used in the places where the flag was set.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/303
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 61ae8792f6608c86f4e3ff82c329b5bb4369204e
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Thu Jul 2 09:14:13 2009 +0200

    Unite CacheFetchProcs and add abstraction calls.
    
    The cache type specific differencies among afs_MemCacheFetchProc
    and afs_UFSCacheFetchProc are divided into two sets of "fetchOps".
    Upon rxfs_fetchInit, the appropriate set is chosen.
    
    Reviewed-on: http://gerrit.openafs.org/109
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d8c70aa2c34c223d04f5dc1e2999e1489cb05f3b
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Aug 6 22:56:42 2009 -0400

    Windows: Implement SRVSVC and WKSSVC RPC interfaces
    
    Windows uses RPC over SMB to communicate with file servers for
    administrative tasks including enumeration and queries of file
    server shares.  This patch implements support for RPC over SMB
    and partially implements the SRVSVC and WKSSVC RPC interfaces.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/301
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit b4975a6a7c4fc3ffa025d2faee148449f26a21f1
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Aug 10 12:06:26 2009 -0500

    Restore util des dependency
    
    Commit c3c8a3e2f912855addc2c430f909bdce912e3670 removed 'des' as a
    dependency of the 'util' target, but util still depends on des since
    rxkstats.c includes des.h. So, put the des dep back in.
    
    Reviewed-on: http://gerrit.openafs.org/278
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6ec3db1bb94a6eee55020b7fa4ac1ba8425a4b2d
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Sat Jul 25 14:10:25 2009 -0400

    MCAS changes from Matt
    
    Change static max allocators to 30.  Add atomic add/sub macros returning
    original value, based on CASIO.  Add interfaces to add and remove generic
    allocator caches.  Add atomic inc/dec/sub macros using MCAS primitives.
    Add inline assembly for x86_64 and shim for Solaris (9+) atomic operations,
    providing Solaris x86 and alternate shim for Solaris Sparc.  Set interface
    adapted for iteration and generalized for use with opaque key, value
    pointers.  File cas_skip_func.c provides kv interface, cas_skip_adt.c
    provides kv interface, plus iteration on skip lists.  Casual dependencies
    on stdio and exit() defined out.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/214
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 160aff88be210a8141b67a54583aed7387d8bffc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 3 12:17:14 2009 -0400

    fileserver should actually retry VL_RegisterAddrs on failure
    
    currently the background daemon logic for retrying was never triggered.
    easy enough fix: set FS_registered to 1 so the loop retries
    
    Reviewed-on: http://gerrit.openafs.org/266
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ec83174608917d80517c5107d583d702174bef30
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 2 18:59:51 2009 -0400

    add xdr_alloc
    
    applications can allocate memory that must be deallocated by
    the XDR package.  Add xdr_alloc to permit that.
    
    Export from libafsrpc.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/269
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit be1a675dcc7968c6fe10b42fcae85b1e49a5af3c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 1 12:31:36 2009 -0400

    Make Windows pioctl prototypes consistent with Unix
    
    The Windows pioctl prototypes differed from those now exported
    by sys/sys_prototypes.h.  This produced undesirable warnings.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/260
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1c5dc25c0dae21265296d6b41f903efb116c7774
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 5 23:25:42 2009 -0400

    Windows: Preserve GetLastError during WinTorture testing
    
    When an error occurs during the WinTorture scripts the
    actual error was not always being preserved because
    subsequent Win32 calls were executed before the value
    was logged.
    
    In at least one case, the variable used to store the
    last error was not initialized nor assigned in all data
    paths.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/270
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit c3c8a3e2f912855addc2c430f909bdce912e3670
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jul 27 14:24:15 2009 -0400

    kauth warning reduction
    
    Warning removal for various functions that manipulates keys and use
    several data types interchangeably.
    Inline helpers are introduced to convert between the types and are
    used when making function calls to target the appropriate type:
    
    des_prototypes.h
    cblockptr_to_cblock:  des_cblock *  to des_cblock
    charptr_to_cblock:  char *  to des_cblock
    charptr_to_cblockptr:  char *  to des_cblock *
    
    rxkad_prototypes.h
    ktc_to_cblock:  struct ktc_encryptionKey *  to des_cblock
    ktc_to_cblockptr:  struct ktc_encryptionKey *  to des_cblock *
    
    kauth_internal.h
    EncryptionKey_to_cblock:  EncryptionKey *  to des_cblock
    EncryptionKey_to_ktc:  EncryptionKey *  to struct ktc_encryptionKey *
    ktc_to_EncryptionKey:  struct ktc_encryptionKey *  to EncryptionKey *
    
    - parameters are adjusted for tkt_DecodeTicket(5), replacing the char *
    key with struct ktc_encryptionKey, to match usage
    - the get_key function is changed to have a void * parameter, to match
    usage
    - rxkad_prototypes.h includes des.h to get the des_cblock definition.
    This causes conflicts for a few files where the kerberos headers are
    also included - aklog/aklog_main.c and WINNT/afsd/afskfw.c
    Use NO_DES_H_INCLUDE in thoses cases to skip the new parts of
    rxkad_prototypes.h
    
    Reviewed-on: http://gerrit.openafs.org/234
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 20243612a15b150a3dbb3c9e027c1c79a0e5f200
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Aug 3 19:05:46 2009 +0200

    Removed user perspectivev3 file in xcode project and update the gitconfig
    
    gitconfig in src/platform/DARWIN/AFSPreference has been modified to ignore the perspectivev3 that is created by xcode for window layout.Has been also delete the file created for the user
    
    Reviewed-on: http://gerrit.openafs.org/267
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b0818fcdb227c8b291eb7b23e504fd1d2240eea6
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Mon Aug 3 16:40:05 2009 +0200

    Cleaned most warning OSX OpenAFS preference  and completed the AFSBackgrounder implementation
    
    At startup the preference pane check for the presence in ~/Library/LaunchAgents of the file  it.infn.lnf.network.AFSBackgrounder.plist that. The agent could be started in OpenAFS preference pane view.
    AFSBackgrounder has replaced the NSMenuExtra, when it doesn't quit well launchd restart it. AFSBackgrounder can be used also for other work, for now, at login it check the user preference for get token.
    Has been made some refactoring in code for remove most warning.
    The unused think are been delete from project.
    
    Reviewed-on: http://gerrit.openafs.org/263
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit b3d9dcb855060a9e1cb5b2140983111030fab1a0
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Thu Jul 2 09:02:50 2009 +0200

    Storeops beautifications.
    
    Things can be made a lot more readable in storeOps than in the
    monolithic StoreProc.
    Also shorten a panic message that is a bit gratuitous.
    
    Reviewed-on: http://gerrit.openafs.org/108
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7868e1961048d2a24bd5d4d5afab07d3dbf54fd2
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Sat Aug 1 19:43:39 2009 +0200

    AFS Backgrounder implementation & warirng clean
    
    Replaced the NSMenuExtra and created the AFSBackgrounder that will do all work for aklog at login and manage the Status menu in menu bar
    
    Reviewed-on: http://gerrit.openafs.org/262
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f52f509962fbaade008f5dc6c2f8a3bece70c13c
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Wed Jul 29 15:12:13 2009 +0200

    Start coding OSX Backgrounder Application, for OpenAFS Preference Pane, that user NSStatusItem
    
    To prevent future compatibility with osx we must use NSStatusItem instead NSMenuExtra that is not documented api.
    For this has been created a background only application that will manage all function managed by current NSMenuExtra
    
    Reviewed-on: http://gerrit.openafs.org/261
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit a13d8146a33b2c74909d2bb396af2b7ce01d8bb3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 1 11:23:00 2009 -0400

    Add generated files to doc/xml/AdminGuide .gitignore
    
    Add htmlhelp.hhp, index.hhk, and toc.hhc
    
    Reviewed-on: http://gerrit.openafs.org/259
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 175774acab31968d9033e7c16b99b34c695c8e20
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 31 17:53:18 2009 -0400

    version update for 1.5.61
    
    make configure version strings be 1.5.61
    
    Reviewed-on: http://gerrit.openafs.org/258
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5a4f31090f573caad71aab16cd65afaaa5e2c914
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 24 13:03:48 2009 -0700

    Restore permission documentation in bosserver man page
    
    The original IBM HTML documentation had a table showing the permissions
    that bosserver expects and sets when it creates the directory structure
    for AFS.  That table was accidentally dropped in the conversion to POD.
    Restore it from the HTML shipped with an older version of OpenAFS.
    
    Reviewed-on: http://gerrit.openafs.org/210
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 5d8c3f6758ef9927d3e28c6adcb7f6fa792fbb49
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 30 10:23:38 2009 -0400

    Windows: Version and ChangeLog updates for 1.5.61
    
    1.5.61 == 1.5.6100.0
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/255
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 147aeeb6c59b5f4a9f8a795a91e0c42ecf80278c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jul 27 09:47:08 2009 -0400

    Eliminate some multiple targets in Makefile rules
    
    Rules with multiple targets can cause problems with parallel builds.
    This patch fixes two cases that have caused occasional build errors.
    
    Reviewed-on: http://gerrit.openafs.org/257
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 152e9152ff8bef4efac822b5a43b33ba50e8eed5
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jul 30 13:43:27 2009 -0400

    Fix UKERNEL afs_mount arguments
    
    Change 73 (commit dc6299f5) changed the order of arguments for the
    UKERNEL implementation of afs_mount, causing uafs_mount to segfault
    whenever called. This changes them back to what they were before.
    
    Reviewed-on: http://gerrit.openafs.org/256
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8b86acea67f5e4a2138676edf82c3218b2a74bfd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 30 10:00:00 2009 -0400

    Windows: Rename README-NT to README-WINDOWS
    
    Windows has not been referred to as NT in a long time.
    We do not support Windows 9x any longer.  Rename
    README-NT to README-WINDOWS.
    
    Reviewed-on: http://gerrit.openafs.org/254
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 21e7b0d0c1dab60b0394336ec660d0852fe95536
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 30 09:56:33 2009 -0400

    Windows: Update the README-NT file
    
    Update the README-NT to be more up to date.
    It still requires a lot of work.
    
    Reviewed-on: http://gerrit.openafs.org/253
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit ef7e0d64e7c29675405299f36ee3b7343b31cb35
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 20 12:31:44 2009 -0500

    Add additional vlprocs safety checks
    
    This adds additional safety checks to the vlserver's implementation of
    the VL_CreateEntry, VL_ReplaceEntry, and VL_UpdateEntry RPCs. Now in all
    three of these, any new volume ID that would be added to the VLDB or
    that would be newly referenced in a VLDB entry is checked against
    duplication in other entries. Additionally, any new volume names added
    to the VLDB (either by creation, or modifying an existing volume) are
    checked against duplication. This should make it impossible for clients
    to make a volume ID or volume name correspond to multiple volume groups
    (either conceptually or literally in the vldb).
    
    This also alters the vlserver's implementation of the VL_GetNewVolumeId
    RPC such that the vlserver increments maxvolid until the range of volume
    IDs [*newvolumeid, *newvolumeid+bumpcount) is unused. 'vos' is modified
    to only allocate one new volume id at a time, so we don't skip over
    potentially-usable vol ids.
    
    Reviewed-on: http://gerrit.openafs.org/158
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e18216b91fa7171efdf796908ce2e98e7bc42f11
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 29 22:56:08 2009 -0400

    macos 10.6 package naming
    
    call the dmg Snowleopard for 10.6.
    
    Reviewed-on: http://gerrit.openafs.org/252
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6bec05a874035b30a1b7d5119a053f550adeba4d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 29 22:14:01 2009 -0400

    macos 10.6 amd64 kmod build fix
    
    make the ARCHFLAGS support for amd64 work correctly by grepping for the correct thing
    
    Reviewed-on: http://gerrit.openafs.org/250
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5593ff360c7a8f9f69cebda0cb2e2909ff2f31b4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 29 17:23:14 2009 -0400

    macos 10.6 pam support
    
    Make pam module compile on 10.6. Not tested yet.
    
    Reviewed-on: http://gerrit.openafs.org/249
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e2dcd47f352af396e71b815cd2bb557b3180ccc0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 29 22:35:21 2009 -0400

    afs_pag_call.c needs rx/rxstat.h for RXSTATS_ExecuteRequest
    
    This fixes a build error introduced by change 247 (commit 967abaf2).
    
    Reviewed-on: http://gerrit.openafs.org/251
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 967abaf29b29866174fecc22df85fb4a19ab5833
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 29 16:58:03 2009 +0100

    Make rxgen emit prototype for ExecuteRequest
    
    Make rxgen provide a prototype in its header file for _ExecuteRequest, and
    remove all of the adhoc prototypes from the tree.
    
    Reviewed-on: http://gerrit.openafs.org/247
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2ade93993a9a82a23f44355065e2b5573acca372
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 29 14:31:45 2009 -0400

    Windows: test for and react to SMB Extended Session Timeout support
    
    SMB Extended Session Timeout Support is available only on
    Windows systems with specific versions of the mrxsmb.sys driver.
    Add a test for those driver versions.  If a supporting version
    is present use the extended session timeout value instead of the
    standard timeout value for the redirector timeout.  Adjust the
    rx hard, conn, and idle timeouts accordingly.
    
    The SMB module will define the ExtendedSessTimeout registry
    value if it does not exist.  We rely on the fact that this is
    done after the rx timeout values are calculated.  The mrxsmb
    driver only reads the value at boot.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/248
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Tested-by: Asanka Herath <asanka@secure-endpoints.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7a333523ea5930d666686d5614328d10db4ef9e2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 10:32:10 2009 +0100

    Fix signed vs unsigned pointers in volser
    
    Cast iod_Read returns to (char *)
    Fix signed vs unsigned pointer argument issues
    
    Reviewed-on: http://gerrit.openafs.org/236
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6ae0c53d93f26ddadc37dbf268652b1f8af8b3ec
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 11:09:30 2009 +0100

    Code cleanup for vlserver
    
    Move the cnvldb.h include so it's after vlserver.h
    Don't define MAXSERVERS in cnvldb.h (it's already defined elsewhere)
    Cast nvldbentry(s) to vldbentry to avoid warnings from display_entry
    Volume IDs are unsigned
    Use var[0]='\0' rather than sprintf(var, "");
    
    Reviewed-on: http://gerrit.openafs.org/237
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5eae1c8062a8662d172d21a059533e04eef318d2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 12:25:08 2009 +0100

    Warnings work in util/
    
    Make afs_ctime an inline function, instead of a complex macro.
    This both improves our type safety, and suppreses warnings about
    unused results.
    
    Add bracing to clarify operator precedence in if (a && b || c)
    statement
    
    AFS_DARwiN60_ENV != AFS_DARWIN60_ENV
    
    Use (void) rather than () in function prototypes
    
    Reviewed-on: http://gerrit.openafs.org/240
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit fb96e13d6f93fd7f7d833b4c66753b63a50c9003
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 12:13:10 2009 +0100

    Cleanup for the USS directory
    
    Add additional header files for prototypes
    Add additional prototypes to header files
    yyerror() is internal, not external. Make it static while we're at it.
    ANSIfy various function definitions
    Unsigned vs signed cleanup
    
    Reviewed-on: http://gerrit.openafs.org/239
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 6640b8b064b238333a46ef72aa09913b06271a91
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 28 12:13:24 2009 -0400

    install AFSCommander in prefpane dir
    
    make the AFSCommander prefPane be installed, in /Library (as
    are growl, macfuse, etc)
    
    Reviewed-on: http://gerrit.openafs.org/243
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 4dadd24ba8ce72fd655e29d74801f27e9e148b01
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 27 12:54:16 2009 -0400

    Protect rx_call iovq from simultaneous attempts to empty it
    
    The iovq queue is not safe to clear without holding the call lock.
    
    FIXES 125110
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/242
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e6d321fcd4cbf0fdc6b153c0894f8d4c222093ad
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 11:55:47 2009 +0100

    Use an anonymous pointer for lpioctl
    
    The block passed to lpioctl as cmarg is an anonymous chunk of
    memory, so use a type that represents it as such.
    
    Reviewed-on: http://gerrit.openafs.org/238
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c861bb0d779b54236b63eda87d9dfaf7792d1659
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 28 12:55:36 2009 +0100

    Additional UKERNEL headers, prototyping and other fixes
    
    Add additonal headers to include prototypes for UKERNEL builds
    Add some more prototypes
    Remove some unused variables
    
    Reviewed-on: http://gerrit.openafs.org/241
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>

commit 02f083730750a03e60eb412a1aed1f03d3c62a49
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 27 22:32:01 2009 +0100

    More warnings cleanup for vol/
    
    Prototype a number of functions
    Add additional includes as required
    Make some existing prototypes match the actual declarations
    Volume IDs are unsigned in most of the code, change this bit to match
    Make various Procs take an anonymous pointer, so they can be type checked
    Add vol_internal.h for prototypes internal to this package
    
    Reviewed-on: http://gerrit.openafs.org/235
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 479ce49e9ceb3ad7ea3dd2282759689a7ab43f4c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jul 26 19:41:30 2009 +0100

    Further warning cleanup for the libadmin directory
    
    More code cleanup for libadmin, including additional header inclusion,
    better prototyping, and signed/unsigned and const fixes
    
    Reviewed-on: http://gerrit.openafs.org/228
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 4c2e426d2dad559e1ed2c2c43d48193400b22c61
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jul 26 19:23:08 2009 +0100

    Move end label into correct position
    
    The end label was in the wrong #ifdef block in order to actually be referenced
    in the case where USEIFADDR is unset
    
    Reviewed-on: http://gerrit.openafs.org/226
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit d48b1e83bfb5ab483877df0ff633049a9b0bbce1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jul 26 19:34:48 2009 +0100

    Additional prototyping in dir.h
    
    Add prototypes for functions used by the file and volservers
    
    Reviewed-on: http://gerrit.openafs.org/227
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 581ec9f06a8958637db33d14f8d0e24d841d5eff
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jul 27 11:29:34 2009 -0400

    Eliminate some "implicit function declaration" warnings
    
    Include appropriate header files to eliminate some warnings for
    implicit function declarations.  These are simple cases that don't
    generate new warnings because of the prototypes.
    Use grp.h if it exists to get setgroups() definition.
    
    Reviewed-on: http://gerrit.openafs.org/233
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1ddc7fa920213f9b5455e632bbddf05b866af647
Author: Adam Megacz <megacz@hcoop.net>
Date:   Sun Jul 26 20:32:07 2009 -0700

    In rxi_SendPacket[List], down hosts if ENETUNREACH or equivalent
    
    This patch causes rxi_SendPacket[List] to "down" a host if
    rxi_Sendmsg() returns -ENETUNREACH (or equivalent).  Previous behavior
    only did this check if defined(KERNEL) becauase non-defined(KERNEL)
    implementations did not return meaningful error codes from
    rxi_Sendmsg().
    
    Jeff Altman <jaltman@openafs.org> supplied the logic for the
    AFS_NT40_ENV case; I was not able to test this (I do not own a
    Windows license) and took him on his word.
    
    Reviewed-on: http://gerrit.openafs.org/59
    Reviewed-by: Adam Megacz <megacz@gmail.com>
    Tested-by: Adam Megacz <megacz@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit d82e9c851c4d8ad765a0a81b9d5f290d184b7b07
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jul 26 22:28:29 2009 -0400

    Unused variable cleanup
    
    Eliminate some warnings for unused variables.  In most cases the
    variables are not used at all and are removed; in a few cases the
    declarations need to be ifdef'ed to follow the code that uses them.
    For a typical build here this removes 24 warnings.
    
    Reviewed-on: http://gerrit.openafs.org/232
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 38a641bd6b41fe37a8be1614578efa9cb8b6da53
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Jul 26 21:26:59 2009 -0400

    Future-proof the wording of the auditlog options in the man pages
    
    It was suggested that the auditlog option should not say there is one
    record per RPC. In the future, there might be a need for multiple records
    per RPC.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/229
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 9a490c96a074f4c3c82a3f01c18bc74cc19ae184
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jul 26 21:45:33 2009 -0400

    Build fix - pre-processor typos in rx_lwp.c and rx_pthread.c
    
    Commit 119c756d96c4a7f9e01e4ff6bb20156f1abf761b introduced a typo
    in two places, using #elif instead of the apparently intended #else.
    
    Reviewed-on: http://gerrit.openafs.org/231
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 119c756d96c4a7f9e01e4ff6bb20156f1abf761b
Author: Adam Megacz <megacz@hcoop.net>
Date:   Sun Jul 19 11:00:41 2009 -0700

    Use -errno or WSAGetLastError() as return value from rxi_Sendmsg()
    
    This patch causes the pthread and lwp implementations of rxi_Sendmsg()
    to use -errno or WSAGetLastError() as the return value if it is
    positive.  This is required in order to communicate more meaningful
    error conditions to rxi_SendPacket[List], which should "down" a host
    immediately when it observes ENETUNREACH.
    
    Jeff Altman <jaltman@openafs.org> supplied the logic for the
    AFS_NT40_ENV case; I was not able to test this (I do not own a
    Windows license) and took him on his word.
    
    Reviewed-on: http://gerrit.openafs.org/58
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Adam Megacz <megacz@gmail.com>
    Tested-by: Adam Megacz <megacz@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 20687eecd09cdcf46274979d744de8708e6567b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 13:03:49 2009 -0400

    Windows: Add buf_FindAll() and buf_FindAllLocked()
    
    Add two new buffer search functions buf_FindAll and buf_FindAllLocked.
    Similar to buf_Find and buf_FindLocked except they search the all buffer
    list.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/225
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 5d80dbe42622f17f881e7f53a798a5c1fd0e735b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 12:57:10 2009 -0400

    Windows: Add cm_GetVolumeType
    
    Add new volume utility function cm_GetVolumeType which returns
    the type of volume based upon provided volume group and volume id.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/224
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cdbd09abf1590c5b84d8238e3cf4096919e3446f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 12:20:26 2009 -0400

    Windows: Add cm_req_t parameter to cm_MergeStatus
    
    cm_MergeStatus allocates its own local cm_req_t object even
    though all of its callers already have an active cm_req_t object
    available.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/223
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f5c25235008a446449f1220f76fa5037bdceb637
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 11:54:27 2009 -0400

    Windows: Add cm_req_t parameter to buf_Get* functions
    
    The buf_Get* functions do not currently accept a cm_req_t
    parameter.  As a result they allocate their own cm_req_t on
    the stack even though all callers already have one that can
    be used.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/222
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3781ef99e379cb47cb33e86d555d8cfd495dcf9d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 11:48:37 2009 -0400

    Windows: Add enhanced audit log to afsauthent.dll
    
    Add the enhanced audit log support to afsauthent.dll.
    
    Reviewed-on: http://gerrit.openafs.org/221
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>

commit 96c746c75260a3cf6dc58fcf692b44f83ef65a95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 26 11:01:43 2009 -0400

    Permit enhanced audit logs to work on Windows
    
    Gerrit 82 / Git 7b0b6a0ce9b320a3145f9d600596946230d815f0
    broke the Windows build.
    
    Add audit-file.obj to file list in NTMakefile.
    Remove unnecessary includes from audit.c.
    Properly conditionalize includes in audit-file.c.
    
    Reviewed-on: http://gerrit.openafs.org/219
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 777a4a9be8f909648d05d6644624e822aeca8423
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Jul 26 10:16:33 2009 -0400

    Windows: Tests for afsd modules
    
    Add test routines for internationalization routines.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/218
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e3b7fa7a1ebacee6a7bf0d15d34d382d22ba3d26
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Jul 25 13:37:08 2009 -0400

    Expanded the -auditlog entries in the man pages of the server processes
    
    The expanded auditlog explanation includes what information is recorded
    in the auditlog.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/213
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bb981b953f34fc0e63a0a09020c57329dd44ac98
Author: matt@linuxbox.com <matt@linuxbox.com>
Date:   Wed Jul 22 15:43:22 2009 -0400

    Portable lock-free data structures by Keir Fraser (MCAS)
    
    The MCAS suite, previously released as lock-free library, under a
    non-restrictive license.
    
    This software includes software previously released in 2003 under a
    GPL license, but released by the original copyright holder, Keir
    Fraser, under a BSD license, on 5/28/2008.
    
    Reviewed-on: http://gerrit.openafs.org/183
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 55b8a4d35eb5913ebdc9e5ce8c1f1db525c55ff1
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 24 13:38:09 2009 -0700

    Document human-readable size suffixes
    
    Document that the quotas passed to fs setquota, vos create, and vos
    setfields and the size passed to fs setcachesize may take a suffix
    indicating the unit.  This documents the change in behavior implemented by
    54c0a3f3e6575fa5af39ddd797d5381c36b48001.
    
    Fix a copy/paste error in the vos create -maxquota option definition.
    
    Reviewed-on: http://gerrit.openafs.org/212
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7b0b6a0ce9b320a3145f9d600596946230d815f0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 24 17:46:27 2009 -0400

    Enhance audit logs to support SysV message queues
    
    Adds support for sysv message queues for fileserver audit logs. This
    also organizes the audit log code into various 'interfaces', of which
    there are two: the original 'file' interface, and the 'sysvmq' interface
    that this adds. The interface is configurable at runtime with the
    -audit-interface switch.
    
    FIXES 124674
    
    Reviewed-on: http://gerrit.openafs.org/82
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 29a5ddf1ddc05dd1ea826220a424f4f6650cc0c7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jul 6 10:29:20 2009 -0500

    Allow specifying vos create/addsite volume IDs
    
    This adds the -id option to 'vos create', and the -roid option to 'vos
    create' and 'vos addsite'. This allows the user to manually specify the
    volume IDs that a new RW or RO volume will get (or explicitly specify
    that an RO volume ID should be unset), instead of always relying on the
    volume IDs retrieved from the vlserver.
    
    Reviewed-on: http://gerrit.openafs.org/157
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e435e248f44c46866cb73db185b9548c0bd148b4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 24 12:58:26 2009 -0400

    Running bos -noauth should not require client CellServDB configuration
    
    When setting up a new cell, the admin is instructed to use "bos -noauth"
    to configure the servers and only afterwards create the client configuration.
    This leads to a catch-22 since currently bos -noauth fails if there is no
    client configuration even though it is not required.
    
    This change avoids the call to afsconf_Open() which is only required
    if tokens are being acquired.
    
    FIXES 125156
    
    Reviewed-on: http://gerrit.openafs.org/209
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a6025e0268fd7cff6ee7de145bdbf59cc350c572
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 24 00:44:31 2009 -0400

    afsprefs pane shouldn't hardcode 10.4 sdk
    
    10.4 sdk isn't available in the release after 10.5 as a default. don't hardcode it
    same with afscell
    
    Reviewed-on: http://gerrit.openafs.org/207
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ed74213df6449aba8ec58250f912fbc526a3cb56
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 23 22:23:13 2009 -0400

    Windows: Move src/NTMakefile to top-level in order to avoid copying
    
    For some unknown reason the Windows top-level NTMakefile is stored
    at src/NTMakefile and must be copied to the top-level before it can
    be used.  Now that git permits easy file moves, relocate src/NTMakefile
    to where it belongs.
    
    Reviewed-on: http://gerrit.openafs.org/206
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f914b42d26305ba5af3efb4aeee9f74244150376
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 23 20:33:36 2009 +0100

    Make buildpkg work out of tree
    
    Don't reference files in the local directory, so that buildpkg.sh can be
    invoked from elsewhere
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/202
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1ea9c02f8ec985605a52bde331de5c848a7a5d56
Author: Toby Blake <toby@inf.ed.ac.uk>
Date:   Thu Jul 23 20:18:28 2009 +0100

    Finish afscell implementation work
    
    This patch completes the implementation of an install time prompeter
    for information about the local AFS cell, which is then used to populate
    the ThisCell file. It removes the need for manual editing of
    configuration files as part of the installation.
    
    (Build system modified by Simon Wilkinson from Toby's original patch)
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/201
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit adddef8d1464cdf5ef07e9ee5e0b8a09f9ce8805
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 23 15:42:14 2009 -0400

    correct macos 10.6 amd64 support
    
    add a missing space so the kernel module can link
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/203
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b4564fa8254afbfef94915f1051a5ad7ab17b11d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 23 19:27:47 2009 +0100

    Move afscell to platform/DARWIN
    
    Move our current afscell code into platform/DARWIN so that it's in a
    location that can be added to the build, rather than packaging, step
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/200
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c24c251966f218bcf9c0bd13718ef00ca4d12e80
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jul 23 16:52:46 2009 -0400

    Fix build error - libafsrpc.map syntax
    
    Fix a build error introduced by commit 3a6d18:
    /usr/bin/ld:./libafsrpc.map:125: syntax error in VERSION script
    
    There seems to be a missing semicolon with the new rx_GetLocalPeers
    entry.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/205
    Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8af5762909714367c1cc764b3f491c06c2bcd5d0
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 18 11:38:22 2009 -0700

    Clean up some obsolete Autoconf code
    
    Remove hand-crafted equivalents of AC_SEARCH_LIBS for socket, connect,
    and gethostbyname functions.  The only effective difference between
    this code and AC_SEARCH_LIBS was to define the HAVE_* macros for the
    functions, which are not used anywhere in the tree.
    
    Remove AC_FUNC_SETVBUF_REVERSED.  This call no longer does anything in
    current versions of Autoconf since the last system with this problem
    was based on SVR2 and became obsolete in 1987.  Remove the one place in
    the source tree where the results are used.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/154
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ab27eb24afce7a467a2e0da8dc3eafab08ed4c14
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 23 15:43:55 2009 -0400

    Windows: rename compile_et.pod to afs_compile_et.pod
    
    Gerrit 175 renamed compile_et and compile_et.pod to afs_compile_et*.
    Fix the Windows build system to process the new pod file name
    and modify the WiX installer scripts to install afs_compile_et.html.
    
    FIXES 125152
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/204
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6bb7bad9fc258c482d2f5786f2b03e90ccb54ad2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 20:53:57 2009 +0100

    Further code cleanup for the backup suite
    
    Protect butm.h against multiple inclusion
    Prototype more functions for internal use in bucoord
    Remove some unused variables
    Include additional headers as required
    Prototype exported functions in budb
    Make SendReturnList helper function generic, by using a void * rock
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/168
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>

commit 0e6a776e0e73b532d0d22ddeef20c868b95f8aed
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 23 18:44:42 2009 +0100

    Remove duplicate copy of afssettings.m
    
    afssettings.m lives in src/platform/DARWIN. Remove the duplicate copy
    from this directory, and the (now unnecessary) Makefile.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/199
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c321cb467220bbdf2ff49d5fa6e052fd27a4df5e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 22 01:11:15 2009 +0100

    Rename installed version of compile_et
    
    Rename the installed version of compile_et to afs_compile_et to avoid
    conflicts with other, more standard, users of com_err. Also rename the
    man page to match
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/175
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 43ec8a64eb066774ee29136269e77dc0db1ff01d
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Jul 21 17:07:36 2009 -0400

    Refactor OpenBSD param files into common and architecture-specific
    sections.
    
    The new structure follows the pattern of the NetBSD param files, as
    suggested by Derrick.  Since the change is retroactive, it seems
    reasonable to also make the retroactive change to add the amd64 param
    files, back to OpenBSD 3.6.  OpenBSD 3.6 added SMP support for x86_64,
    so the architecture was a mature subtarget at that point.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/177
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5cce838a2454927c3fea8ad6defadf1f2ce4833f
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 21 11:04:41 2009 -0700

    Fix warnings in vlserver/vlprocs.c
    
    rxinfo's code to print out the principal corresponding to an rx_call uses
    static arrays for the principal components but was checking that the array
    pointer was non-NULL when deciding whether to print principal components.
    Instead check whether each portion of the principal is the empty string.
    
    Add explicit initializations of the static buffers to the empty string so
    that we're not relying on rxkad_GetServerInfo always initializing them for
    us.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/163
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ccb3e316868f381831d9ddda530af83102f67697
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 03:58:02 2009 -0400

    Modify Solaris Rx NetIfPoller to avoid Panic
    
    This patch changes the common error reporting type from CE_PANIC
    to CE_WARN and adds appropriate cleanup processing so that we do not
    leak resources if an error occurs.
    
    LICENSE MIT
    FIXES 124498
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/97
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e8a2833996e783f4ebd051ae87dbd301948689b0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 22 22:07:32 2009 +0100

    Squish more warnings in xstat
    
    Use a correct prototype for a_ProbeHandler in xstat_cm_Init
    Fix a printf warning
    rx_getAllAddr and afs_cb_interface.addr disagree on the sign of addresses
    afs_interface.addr is a [], which we then use & to get the address of. Fix
    this to stop the compiler from sulking.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/184
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c9f313ba6a26a0a21632b439e690efefc4e7c260
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jul 22 22:40:13 2009 +0100

    Do not call principal_ntoh to copy ktc_principal structs
    
    principal_ntoh() is designed for butc_principal structures, which are a
    different size from ktc_principal structures, and so it can't be used to
    copy them.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/185
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 889907ebd1f6bac883d116d2754b1cb599fec23c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 23 11:46:50 2009 -0400

    platform makefile should handle clean target
    
    pass "make clean" through to platform-specific makefiles
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/198
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f1bb016e12a1f4bb3b9b01d5a9abe4f8c8dabe32
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Thu Jul 23 16:40:39 2009 +0200

    Makefile.in modification for compile AFSPreference source code
    
    Have been added the rule "OpenAFS.prefPane" tha compile with xcodebuild the xcode project
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/197
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 694c5ca3f400ce88219f60edec75249bf73cc8fc
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Sat Jul 11 00:18:56 2009 +0200

    OSX Preference Pane Source Import
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/196
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 3a6d185d400d88607c28514f7b2ba5c0361c91b3
Author: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Date:   Wed Jul 22 17:56:32 2009 -0400

    Expose locally collected rx peer statistics
    
    This implements rx_GetLocalPeers(), which exposes peer statistics
    that are currently collected to the cache manager. This function
    will later be used to rank both the file server and vldb server
    lists using the statistics exposed by rx_GetLocalPeers().
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/186
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 2675642e024f56a3069414d1f96ee440c9cb0c77
Author: Claudio Bisegni <Claudio.Bisegni@lnf.infn.it>
Date:   Sat Jul 11 00:18:04 2009 +0200

    OSX Preference Pane
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/195
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 706b299e1e5bb7658c1a9a26eae4e277027ce731
Author: Mickey Lane <mlane@sinenomine.net>
Date:   Thu Jul 23 09:20:27 2009 -0400

    Update Windows strcmpi call
    
    This POSIX function is deprecated beginning in Visual C++ 2005
    Change to _stricmp instead
    This change affects 4 calls in 3 Windows only files.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/188
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 77b661c6a07346117896f9de4547976e54e02573
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 23 10:12:02 2009 -0400

    Windows: Fix cm_UpdateVolumeStatusInt log message
    
    In the server "down" case, the log message reported "online".
    Fix that to avoid confusion while debugging.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/194
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit f26ff22c2a4cd93e07c141ec3be85094251e3f6b
Author: Mickey Lane <mlane@sinenomine.net>
Date:   Wed Jul 22 14:55:02 2009 -0400

    Remove 8.3 dir requirement for Windows IDN path
    
    This adds double quotes around the IDNMRedistDir symbol in ..\wix\NTMakefile
    so that the 8.3 alternate directory name is no longer required.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/182
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 22996dc4d6d22b0b811ef5e0ae5bff8441629a6d
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 22 07:00:10 2009 -0700

    Remove conditional on LINUX/osi_pag_module.c
    
    osi_pag_module.c should not be built conditionally based on whether the
    NFS translator is enabled.  This file is used by afspag.ko, which is run
    on NFS translator clients, not servers, and should not have GPL symbol
    problems.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/179
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>

commit 69cf150be870f4b4f9d10b7d0b0aa780054c6958
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Thu Jul 2 08:55:47 2009 +0200

    Unite CacheStoreProcs and add abstraction calls.
    
    The cache type specific differencies among afs_MemCacheStoreProc
    and afs_UFSCacheStoreProc are divided into two sets of "storeOps".
    Upon rxfs_storeInit, the appropriate set is chosen.
    
    FIXME: Simon suggests that there should be a single set of storeOps,
    as the main difference lies in what rx_ calls must be made.
    This decision would then be made by calling a wrapper function from
    each storeOp. These wrappers should be cachetype-specific and protocol-
    independent. They would be associated to struct afs_cacheOps.
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/107
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 789c3451ba000f7c9665742890b305e2e7938add
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 20:58:36 2009 +0100

    Fix warnings in comerr directory
    
    Prototype yylex in error_table.y to remove warning
    Fix the bizarre definition of LOCK_ET_LIST so that it upsets neither the
    compiler, nor the reader.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/169
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 09c4b3006d81eeb52b89d870ee7568de455040ea
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 20:16:51 2009 +0100

    Further prototyping and cleanup of UKERNEL
    
    This patch continues to reduce the number of warnings that come from
    a UKERNEL build. It also replaces the use of a system provided suser()
    call (which isn't available everywhere), with afs_suser that's provided
    by UKERNEL. Note that this makes UKERNEL applications usable by
    everyone, not just root.
    
    fork_syscall() becomes a normal function
    call_syscall() is ANSIfied
    UKERNEL/osi_groups.c gets the includes it needs
    UKERNEL/osi_machdep.c stops thinking it's on Solaris
    UKERNEL/osi_vnodeops.c stops confusing vnodes and vcaches
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/166
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit fc695707f87143f2bfefd1260560cd6fdef613c0
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Mon Jul 20 12:06:23 2009 +0200

    Use Posix regex(3) within src/bucoord/commands.c
    
    Normally pattern matching against volume names is done on the server, but
    if this fails, the client (src/bucoord/commands.c) is doing this.
    This program had no code to use regex(3) when HAVE_POSIX_REGEX is defined.
    This patch adds calls to regex(3) if HAVE_POSIX_REGEX is defined.
    For systems without POSIX regex there were two (slightly different)
    implementations in src/bucoord/regex.c and src/util/regex.c. The newer
    version src/bucoord/regex.c has been modified and moved to src/util/regex.c.
    Some header files and Makefiles have been removed/updated to work with this
    setup.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/99
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 05ee0932fa3d56193b9cbd235c5faa33fe02876d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jul 21 18:16:45 2009 -0400

    Build fixes: prevent unnecessary rebuilding
    
    Fixes to a few Makefiles to prevent needless rebuilding when using make
    after a successful build.
    
    Rework dependencies in src/bubasics to prevent needless rebuilding and
    fix some remaining parallel build issues.  Multiple targets really
    have to be avoided.
    
    Remove dependency on the include/afs directory from the src/config Makefile.
    Depending on a directory means that we will rebuild the target if the
    timestamp changes, for instance if other files or sub-directories are
    installed.  This caused param.h to get re-installed in some cases and
    the kernel module source files to be recompiled.  This directory is
    created in the top-level Makefile anyway so we shouldn't need an
    explicit dependency.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/171
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit e35dfdcce9d11607669783844331ad2dbafd2793
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Wed Jul 22 15:14:33 2009 +0200

    avoid call to rxi_FreePacket with NULL pointer
    
    the function rx_ReadProc32 (src/rx/rx_rdwr.c) checks the pointer
    call->currentPacket before the function rxi_FreePacket is called. This
    test was missing in the function rx_ReadProc.
    
    FIXES 125110
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/178
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 322a7a854b348e68b0bc49f5ad37049af188518f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 21 17:09:39 2009 -0400

    OSX lock initialization cleanup
    
    Move GLOCK creation before other things at modload time. Also
    remove unused rwlock support from rx kmutex package.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/170
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit dbdd3190a75ce634c2e13d2e2141c564af379519
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sat Jul 18 09:29:20 2009 -0400

    Add amd64 subtarget for OpenBSD
    
    The subtarget name is amd64_obsd.  A sysname is created for the
    OpenBSD 4.5 release, since it's current.  The sysname id range starting at
    4000 is claimed for amd64_obsd, with amd64_obsd45 at 4014, so that prior
    releases can be added in the correct order, if needed.
    
    Mention of Jim Rees and CITI in new param file changed to line crediting
    them for original work.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/153
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit ba27f1b3cb08db66e184682b30d60ff6fc4ce43e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 21 13:14:57 2009 -0400

    AFSOP_STOP_RXEVENT sometimes set without wakeup
    
    make sure when AFSOP_STOP_RXEVENT is set, a wakeup is sent on the
    variable so waiters realize it's the case
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/162
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit f149a3c54b0c0c3503556722e9b7f9d8f0b793b8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 15 09:54:32 2009 -0500

    Correct ctime arguments
    
    Corrects a few places throughout the tree where ctime() is incorrectly passed a
    pointer to an afs_uint32 or similar fixed-width datatype, instead of a pointer
    to a time_t.
    
    FIXES 124538
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/100
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 262be76294c1c1b2cfdb5e3d77118b6aae5ed430
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 11:58:47 2009 +0100

    Make DRelease take an anonymous pointer
    
    DRelease is used to free data blocks returned by the dir package. These
    can be any of a number of different types, which we were previously
    dealing with by casting everything to (struct buffer *) before calling
    DRelease.
    
    Instead, make DRelease take a (void *), so we can free any dir package
    product without requiring casts.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/159
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit f56ca81fbf4abc8d7d1e6e7c5b7c37080cb37b9e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 21 14:06:36 2009 +0100

    Clarify the proscription of $<
    
    Clarify the situations in which $< can be used, as we do use it in
    some places in the tree. It is sufficiently portable in pattern rules,
    but should not be used elsewhere
    
    Also, change the function definition example to match the format used
    through out the source tree.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/160
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7ee55ba59f39587591b4e3af0702889a24d5e118
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 20 09:40:26 2009 -0400

    fix init script install rules for linux and darwin
    
    the mode needs to be provided before src dest; do so, so we get boot scripts
    again
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/156
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 5bc9641620d8e1c56a4af6857cb4c79109c79194
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Mon Jul 20 11:50:06 2009 +0200

    Fixed out-of-tree builds.
    
    The problems were
    * wrong location of Makefile.version-CML
    * lots of omissions of "$?" in favor of actual file names in Makefiles
    * wrong dependencies in pam/Makefile.in
    
    The latter now point to TOP_INCDIR. Still, ktc.c could not be built
    from src/pam (buildtree), as include "..." would not work on generated
    headers. Therefore, it uses include <...> where appropriate now.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/155
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b4783c245d233a0883a29241351869d616a9f6a4
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jul 18 00:15:01 2009 -0400

    Warning cleanups for kernel module build
    
    Take care of various warnings (about 70) during a libafs build.
    A non-exhaustive list of changes:
    - Unused variables, in some cases to be IFDEFed along with the code
    that uses it
    - Cast some const char * to char * for the afs_* functions
    - Move afs_UFSCacheFetchProc and afs_UFSCacheStoreProc declarations
    to afs_prototypes.h
    - Include afsutil.h in error_msg.c to get strlcpy
    - Change type of argument 3 in export_sysname, to match what the callers
    are actually doing
    - Rework a few lines in pthread_glock.c to avoid a warning about unused
    value
    - Fix a warning in rpc_scan.c that really looks like a bug (but
    probably harmless in our case)
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/151
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Tested-by: Russ Allbery <rra@stanford.edu>

commit f6e46babd8e3a0d51d31ae381748516330f5b84d
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Fri Jul 17 11:06:34 2009 -0400

    Build on linux 2.4 again
    
    Add missing conditional to fix building on
    linux 2.4.
    
    FIXES 125120
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/148
    Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 2797f8380a700eee870fbd3a5fb08a2cb4ea1deb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 18 03:46:21 2009 -0400

    Correct ifdefs in rx.c for rx packet debugging
    
    Reported by Marc Dionne
    
    Fix two sets of ifdefs in rx.c required for RXPACKET_DEBUG.
    
    LICENSE BSD
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/152
    Tested-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 25eb69a32aac30f50a33432664c287984f24162c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Fri Jul 17 21:29:10 2009 -0400

    Disable kdump build on linux 2.6
    
    Don't try to build kdump on linux 2.6 where it has been known to be broken
    for a long time.  The build failure was ignored, but produced a large number
    of errors and warnings, polluting the build log.
    On a test amd64_linux26 system with a recent kernel and --enable-warnings,
    this results in over 750 fewer warnings and 100+ fewer errors.
    
    Reviewed-on: http://gerrit.openafs.org/http://gerrit.openafs.org/150
    Tested-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 0b3e7a074789dccf4738364e24f20656d3f06729
Author: Felix Frank <ffrank@satyr4.ifh.de>
Date:   Wed Jul 1 13:20:14 2009 +0200

    Gathered alternative afs_TttCacheFetchProcs and afs_TttCacheStoreProcs
    
    Fetch and Store procs now live in the new source file afs_fetchstore.c
    
    Reviewed-on: http://gerrit.openafs.org/106
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit 07692c44d39e3c11347ce7428730342ea9c6f53c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 16 14:59:09 2009 -0400

    fstrace needs -lnsl on Solaris
    
    in order for gethostbyname to be satisfied for util.a, -lnsl is needed
    
    Reviewed-on: http://gerrit.openafs.org/146
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 2cf12c43c6a5822212f1d4e42dca7c059a1a9000
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 14 00:01:09 2009 +0100

    Use AFS_PTR_FMT to format pointers
    
    Replace "0x%x" with "%"AFS_FMT_PTR for pointer printing in all locations
    where gcc flags a warning.
    
    This change is warnings reduction driven - there are many more
    occurences of this in the code which don't currently result in
    compiler warnings, because the va_args functions they're used in
    aren't defined as printflike.
    
    Reviewed-on: http://gerrit.openafs.org/75
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0c7bb45c91cee0d47fa0263831f7d22889153a36
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 16:13:09 2009 +0100

    Make afs_warn() and afs_warnuser() va_args
    
    The afs_warn() and afs_warnuser() functions take a variable number of
    arguments. Historically, we've handled this by just not prototyping
    them. This change builds on the work done a while back to get a
    prototyped osi_Panic() working in the kernel, and contains the same
    work arounds for platforms with no usable va_args support (HPUX) and
    those where support is limited (some Darwin, some Linux)
    
    Reviewed-on: http://gerrit.openafs.org/27
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 54b13240943e1a4f244d412892d0d266def42a5e
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 15 00:47:09 2009 -0700

    Demystify catopen return value in fstrace
    
    For some reason, the code was, on all platforms other than Digital
    UNIX, assigning the return value of catopen to an integer, with
    and then immediately assigning it to an nl_catd (the actual return
    value type).  Remove all of that and store the return value directly
    in an nl_catd variable.
    
    Reviewed-on: http://gerrit.openafs.org/93
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Verified-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 0e3036e4d13dd3f055c9a2d9406e5953587b25f6
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jul 15 00:06:09 2009 -0700

    Simplify fstrace message catalog and support non-dest installation
    
    fstrace was searching for its message catalog first through the normal
    NLS message catalog search paths and then falling back on the client
    configuration directory.  This, however, is neither a traditional
    message catalog for internationalization nor is it a configuration file.
    
    Instead, search for the message catalog only in a C directory under
    AFSDIR_CLIENT_DATA_DIRPATH, which is for architecture-independent data,
    and simplify the code.
    
    Now that we have a standard location for the message catalog, install
    it with make install as well as make dest.
    
    Reviewed-on: http://gerrit.openafs.org/92
    Verified-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 5b224f299e27e7708feb9372e362fd74f9441d01
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Jul 16 10:33:57 2009 +0200

    Remove misplaced lines
    
    The same lines appears 17 lines up. So it is already done.
    But here we shouldn't do it again after having released the
    write lock in tdc and tdc itself
    
    Reviewed-on: http://gerrit.openafs.org/79
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 79f00021ce2d7049e0c69815ab4599a9161145e6
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 14 23:22:00 2009 -0700

    Provide an AFSDIR_DATA_DIR path for architecture-independent data
    
    Add AFSDIR_DATA_DIR to dirpath.h, defined to be the location for
    installing and finding architecture-independent data files.  Add a
    corresponding AFSDIR_CLIENT_DATA_DIRPATH macro that retrieves the
    possibly-prefixed version of this path.  This will be ${datadir}/openafs
    with normal UNIX installation paths and /usr/vice/etc for Transarc
    paths.  Since there is no apparent need for this path on Windows, it
    is not defined in Windows builds.
    
    The only intended use for this path for right now is the message
    catalog for fstrace.
    
    Reviewed-on: http://gerrit.openafs.org/91
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 868ddef206e7c764427cf4abb91e1e69326a2198
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 16 11:53:52 2009 -0400

    Do not print volume name in DisplayFormat2 if status is not VOK
    
    DisplayFormat2 is used to generate volume output for ListVolumes
    and ExamineVolume.  If the volume status is not VOK, the name field
    will not have been populated with valid data.  Do not print it.
    
    This commit also removes an extraneous switch block from
    XDisplayFormat2.  The switch variable is already known to
    have the value VOK due to an enclosing conditional.
    
    FIXES 125111
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/140
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit a2d3f60222b29988f78b42608088d4db3da95d9d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 13 23:00:44 2009 +0100

    Make UAFS builds stop the main build
    
    The sub-make invocations in libuafs ignored the return code of the make,
    which allowed the libuafs build to appear to succeed even if files had
    failed to build. Fix this.
    
    Reviewed-on: http://gerrit.openafs.org/74
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 1d1ae6195bd03c4348a57914cf892e06b507d855
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 15 14:57:56 2009 -0400

    MacOS 10.6 support update
    
    Make things build on MacOS 10.6 again. Don't break 10.5 build.
    Fix an error in the MacOS port which was left from previous head.
    
    Reviewed-on: http://gerrit.openafs.org/96
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7cd67334333f9b25c5cdf5f0169809948db8896a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 16 01:54:56 2009 -0400

    Correct build rules for NSIS in top-level NTMakefile
    
    NSIS.i386 build rule must build the NSIS directory, not the NSIS.i386
    directory.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/105
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 280861970ec2b714d1f2d651541a9552f92a32e4
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 14 22:52:35 2009 -0700

    Remove NLS message catalog implementation for pre-2.0 OSF
    
    fstrace had its own copy of the NLS catopen/catgets/catclose library
    functions only on OSF platforms prior to 2.0 with the functions
    renamed to add a "1" (which looked cut and pasted from somewhere
    else).  This is old enough that we no longer support that platform,
    so drop all of that code and partly untangle the #ifdefs to remove
    the pre-2.0 OSF case.
    
    Reviewed-on: http://gerrit.openafs.org/88
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Simon Wilkinson <sxw@inf.ed.ac.uk>

commit 86b0f09bddeded9515f39ad17b47a0b4e23a968b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 11:26:12 2009 -0400

    vos print_addr() must call ubik_VL_GetAddrsU with correct level of indirection
    
    Reported by Marcus Watts.
    
    print_addr() accepts a afsUUID* and must not pass the address of
    that variable to ubik_VL_GetAddrsU.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/101
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 6d9617981c3fb6c0d188f12e896ad42c34d9e611
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 19:58:47 2009 -0400

    de-"register" src/WINNT
    
    Remove all uses of "register" from the src/WINNT source tree.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/104
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 1c24db09fa193f964729aee27f309c27dec9853a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 19:16:14 2009 -0400

    Add/Update .gitignore files for Windows builds
    
    Many Windows files were not included in the .gitignore files.
    Many directories did not have .gitignore files at all.
    Add and update where required.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/103
    Verified-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 15d203c7be957ba0e63288e2d95cbd078d94eb21
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Wed Jul 15 12:46:56 2009 -0400

    Fix assert message to avoid printing garbage
    
    Fix an off by one error in assert() to avoid printing garbage
    characters to the log. Remove the newline character generated by
    ctime() to match the format generated by the other logging functions.
    
    FIXES 124613
    
    Reviewed-on: http://gerrit.openafs.org/102
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 4f36dd089a9c7187f94f77516a486245c057f7f4
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 14 11:29:01 2009 -0500

    Ignore SIGSYS when issuing pioctl syscall
    
    Ignore SIGSYS when we issue the pioctl syscall, so we don't dump core
    when the kernel module hasn't yet been installed on several platforms.
    Also, restore the old SIGSYS signal handler afterwards, so we don't
    cause any side-effects.
    
    Reviewed-on: http://gerrit.openafs.org/81
    Verified-by: Andrew Deason <adeason@sinenomine.net>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 00e32618c0f08f314e191655e373452891213ee5
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Jul 15 11:23:42 2009 -0400

    Use InterlockedExchangeAdd() instead of InterlockedAdd() on Windows
    
    InterlockedAdd() is not supported on all the platforms we wish to
    support.  However, InterlockedExchangeAdd() is.  The two
    functions are semantically similar with the exception that
    InterlockedExchangeAdd() returns the initial value of the object
    being modified while InterlockedAdd() returns the resulting
    value.  Since the return value of the rx_MutexAdd() macro is
    unused, this is irrelevant.
    
    Reviewed-on: http://gerrit.openafs.org/98
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 0732d4505654fb51daf6302439b467dffcbe7d3d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 02:41:03 2009 -0400

    To reference one element of a C-string use []
    
    Reported by Marcus Watts
    
    Pointer arithmetic is inappropriate when attempting to output
    one of the elements of an array or C-string.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/90
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 6a68be71da262b7cc3a150097d579f64325c29ce
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 02:27:29 2009 -0400

    RXAFSCB_GetCellServDB takes a serverList not an array of afs_int32
    
    Reported by Marcus Watts
    
    ListCellsRPC calls RXAFSCB_GetCellServDB which takes a serverList
    and not an array of afs_int32.  Add the serverList and copy the
    resulting server addresses into the array of afs_int32 address
    values.
    
    Include afs/afscbint.h instead of afs/afsint.h in order to obtain
    prototypes for RXAFSCB_ functions.
    
    Reviewed-on: http://gerrit.openafs.org/89
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 47e31b020c3393fdbda9dddd99269482693cfb6c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 01:53:32 2009 -0400

    Correct pointer type of 'next' field within struct volinfo
    
    Reported by Marcus Watts
    
    The next field of struct volinfo is supposed to be a pointer
    to a struct volinfo.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/87
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit f498c18a6f7300eb89ca3b9d9b85c4d461fa8474
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 01:46:45 2009 -0400

    Do not call principal_hton() to copy ktc_principal structs
    
    Reported by Marcus Watts.
    
    principal_hton() is used to copy butc_principal structs.
    Passing in a ktc_principal as source and destination will
    result in beyond the end of the ktc_principal.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/86
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit a8cd0240e19301673598544166dab639f8e83c10
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 01:32:28 2009 -0400

    Do not call ctime() twice in the same statement
    
    Reported by Marcus Watts.  Two calls to ctime() in the same
    fprintf() statement will result in only one of the times being
    printed twice.  This is due to the fact that ctime() returns
    a static buffer.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/85
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 91ff083dfb098232722ed0fb9dc9bed495174e27
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 15 01:06:07 2009 -0400

    Add missing TapeLog parameter to warning message
    
    Bug identified by Marcus Watts.
    Add missing TapeLog parameter to warning message.
    
    LICENSE IPL10
    
    Reviewed-on: http://gerrit.openafs.org/84
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 6d6390338c7b3eadb725f916464ddb7d3b3e7b09
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 13 21:24:58 2009 -0400

    Improve Windows Build System By Using MT-safe Versions of Libraries
    
    For many years the Windows Build System has incorrectly mixed
    some Pthread and LWP code.  One of the side effects of this
    mixing was the need for the EXT2 extern macro definition in
    src/rx/rx_globals.h which permitted the LWP compiled routines
    to link with the Pthreaded afsrpc library.
    
    This commit creates or modifies multi-threaded versions of various
    libraries including mtafsubik.lib, mtafsutil.lib, mtafsvldb.lib,
    and mtafsvol.lib.
    
    All of the threaded servers now make use of these libraries.
    This reduces the number of times that many source files were
    recompiled for each server directory.
    
    util_GetInt32 was defined in both src/util/volparse.c and
    src/WINNT/afsd/fs_utils.c.  Now that mtafsutil.lib is being
    used within src/WINNT/afsd there is no need to maintain the
    duplicate copy.
    
    The export list for afsauthent.def now includes all of the
    ubik_PR_xxxx function variants and afsrpc.def now include
    rxi_CallError as it is linked to outside the rx library.
    
    The top-level NTMakefile has been modified to permit the
    tree to build with the new header and library dependencies.
    
    The threaded volserver which never built before now does.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/77
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Asanka Herath <asanka@secure-endpoints.com>
    Verified-by: Asanka Herath <asanka@secure-endpoints.com>
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8a2330a9a6914baf29b94f000848fcca0c331d50
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Jul 14 22:12:18 2009 -0400

    Updated chapter 2, sections 1-3 of the Admin Guide
    
    Replaced some references to the Authentication Database with Kerberos.
    Removed text about obsolete tools like rcp, inetd, and rlogin.
    Corrected references to AFS Product support by replacing them with links
    to the OpenAFS Support page. Added warnings about using the wrong fsck binary
    with inode and namei-based fileserver binaries. Removed an obsolete paragraph
    about ThisCell and how it interacts with the Authentication Database.
    
    LICENSE BSD
    FIXES 124931
    
    Reviewed-on: http://gerrit.openafs.org/10
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit d9445f505ad0fc5a993d954a2d6654785c140351
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 14 17:49:00 2009 -0400

    Prevent crash on Windows when data version goes backwards
    
    Within cm_MergeStatus() cm_FindVolumeByID() was called with
    a NULL pointer instead of a valid cm_req_t object pointer
    in the case where the data version for an object received
    from the file server is smaller than the value already stored
    in the cache.   This results in a NULL pointer dereference.
    
    Allocate a cm_req_t object on the stack and initialize it
    before calling cm_FindVolumeByID() in this case.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/83
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit cdda13eec2a00becb8c2ce5270dd00a0f1097519
Author: Michael Meffie <mmeffie@sinenomine.net>
Date:   Tue Jul 14 12:03:22 2009 -0400

    Fix dirpath shell script generated from makefile
    
    Generate the correct paths when building transarc style paths.
    Remove the redundant dirpath shell script that was generated by the
    afs-newcell script. Update the run-tests driver to use the build
    time generated dirpaths.
    
    FIXES 124976
    
    Reviewed-on: http://gerrit.openafs.org/80
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit dc6299f5bbe9defe8627519674a3ffab01443410
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 00:15:26 2009 +0100

    Ukernel prototypes
    
    Prototypes and warning fixes for the cache manager when built as
    part of libuafs
    
    Reviewed-on: http://gerrit.openafs.org/73
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 243836efbb89a3b863d29ac9b0459411a4b666d5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 14 00:18:25 2009 +0100

    Capabilities are unsigned on Windows too
    
    Capabilities are defined in the .xg file as being an array of
    unsigned integers. Implement them as such on Windows, too.
    
    This is a Windows version of the fix in
    7191005e4df1eaaf4ec94c8199ffeb72be785794
    
    Reviewed-on: http://gerrit.openafs.org/76
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 54c0a3f3e6575fa5af39ddd797d5381c36b48001
Author: Evan Broder <broder@mit.edu>
Date:   Wed Mar 25 18:18:09 2009 -0500

    Allow passing in human-readable units for specifying amounts of space
    
    Add a util_GetHumanInt32 function for parsing numbers human-readable
    units using single-character, uppercase suffixes for indicating orders
    of magnitude (e.g. 'M', 'G').
    
    Use this function to parse human readable values for all arguments
    that previously accepted a value in kilobytes: fs setquota, fs
    setcachesize, vos setfields, and vos create.
    
    Reviewed-on: http://gerrit.openafs.org/66
    Verified-by: Marc Dionne <marc.c.dionne@gmail.com>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 2510a6ec675669739a625305bcc11ab2ad671122
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 12 09:07:12 2009 -0700

    Ensure PAM modules are built PIC and pthread-aware where needed
    
    Link the PAM modules against libafsauthent_pic and libafsrpc_pic instead
    of the large collection of LWP AFS libraries so that they are always
    built PIC, even on platforms that don't normally build everything PIC.
    This also uses the pthread-aware version of the AFS routines on platforms
    that support it, avoiding conflict problems between LWP in PAM modules
    and pthread in a calling application.
    
    Build a separate copy of ktc.krb.o in the pam directory for pam_afs.krb
    since there is no AFS_KERBEROS_ENV-aware version of libafsauthent.
    
    Enable the PAM module build by default on x86_64-linux now that it's
    properly built PIC and can compile.
    
    Stop ignoring build failures in the PAM modules if they're configured to
    build.  On platforms where they should not be built, they should be
    excluded in acinclude.m4.
    
    Reviewed-on: http://gerrit.openafs.org/65
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit cd37fd33f70c2196ff64188e32ff759590cb3748
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 12 11:26:03 2009 -0700

    Make ktc_curpag generally available
    
    ktc_curpag isn't specific to a Kerberos v4 environment, so move it outside
    the AFS_KERBEROS_ENV #ifdef.  Add it to the auth.h header and to the
    exports from the shared libafsauthent.
    
    Reviewed-on: http://gerrit.openafs.org/64
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7191005e4df1eaaf4ec94c8199ffeb72be785794
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 13 18:24:42 2009 +0100

    Capabilities are unsigned
    
    Capabilities are defined in the .xg file as being an array of unsigned
    ints. Implement them as such.
    
    Reviewed-on: http://gerrit.openafs.org/72
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 86cfd2302074f4bbc2a09e882b70b0b540f019c7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 17:57:16 2009 +0100

    Remove unused variables in vol
    
    Remove some unused variables and isolate items that are demand attach only
    
    Reviewed-on: http://gerrit.openafs.org/71
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 215838d65734ad819d3bd27a2f715d1d6f68394a
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jul 12 11:24:17 2009 -0700

    Add strlcat and strlcpy to libafsauthent and libafsrpc
    
    Other functions included in libafsauthent and libafsrpc are using strlcpy
    and strlcat, so include those objects in the libraries so that they stay
    self-contained.
    
    strlcat and strlcpy shouldn't be part of the public API for the libraries,
    for various reasons including the fact that they're not built on all
    platforms.  Therefore, don't add the functions to the library exports and
    include them separately in each library.
    
    Reviewed-on: http://gerrit.openafs.org/63
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 4c2a6c8799ab7e8fabee9af6d50a7c56cb220cf9
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sun Jul 12 22:03:36 2009 -0400

    Linux build: properly install built kernel module
    
    Fix a problem introduced by the recent parallel make patches - the
    resulting kernel module was not getting copied to the install or
    dest location.
    Copy some of the code from the COMPDIRS target for INSTDIRS and
    DESTDIRS.  We still have to call into the lower level make and have it
    install the module.
    
    Reviewed-on: http://gerrit.openafs.org/67
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d58dc56d9986ab863065e5f3d8f926a25aa5b5bf
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 18:54:15 2009 +0100

    Add system headers
    
    There are a number of places in the tree which are missing system
    headers such as <unistd.h> <ctype.h> and <dirent.h>. Add these.
    
    Reviewed-on: http://gerrit.openafs.org/62
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 42d64b5b1f9944fe35bd6358ebeba9a24162243e
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri Jul 10 15:46:09 2009 +0200

    Make 'fs listquota' output readable for large quota
    
    With the old print format quota and used values became one large
    number for quotas in the terabyte range.
    
    Fix alignment of the "no limit" string in the Windows fs command
    for volumes with no quota.
    
    Reviewed-on: http://gerrit.openafs.org/34
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit e11eb503790015d817b031f9c15ce13050d836ee
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 18:14:21 2009 +0100

    Tidy up the rx directory
    
    Give functions that need them return values
    Add prototyping for server_proc and rx_ts_tinfo_init
    Make debug functions only build when RXDEBUG is enabled
    
    Reviewed-on: http://gerrit.openafs.org/61
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 94a3f8fb64fa7bc28529eb3a3abd3f5b10f7854a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 18:07:20 2009 +0100

    Remove vlclient.h
    
    The vlcient.h header file just provides definitions for functions that
    are now protoyped elsewhere by rxgen. It is only referenced by
    vlclient.c which was already including the rxgen header. So, nuke
    vlcient.h, and references to it.
    
    Reviewed-on: http://gerrit.openafs.org/60
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 8e382795d52b6fe8db33ff5353f841b077a25671
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Jul 11 18:18:08 2009 -0400

    Parallel make: additional fixes
    
    Testing turned up a few more errors with parallel builds:
    
    - Linux: Apply a similar fix for "make dest" to the one in the previous
    patch for "make install".  Avoid conflict between DESTDIRS and COMPDIRS,
    which also prevents unneeded duplicate work.
    
    - Fix a couple of cases where we have 2 targets in a single rule with a
    command that generates both of them.  Two parallel jobs can run this
    command at the same time, with missing or corrrupted files as a result.
    The workaround: make one of the targets build the files, and make the
    second target depend on the other one.
    
    Reviewed-on: http://gerrit.openafs.org/57
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c8920835ae9e33555a7d023cd0bd3a2f26a98b98
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 10 16:48:42 2009 -0700

    Probe for getcwd in configure
    
    src/venus/test/fulltest.c wants to use getcwd and expects HAVE_GETCWD to
    be defined, but we weren't probing for it in configure.
    
    Reviewed-on: http://gerrit.openafs.org/51
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 8519ed8d217a484c29e514bb2e6e7c7faa88b20e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 14:37:37 2009 +0100

    Make lwp.h always provide fasttime prototypes
    
    The fasttime functions are used regardles of whether we're using
    pthreads or LWP. Previously, lwp.h only provided their prototypes
    if LWP was in use. Change this so these prototypes are always provided,
    by refactoring the header a little. In the process, remove some
    duplicate header includes.
    
    Reviewed-on: http://gerrit.openafs.org/56
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit d46713d4bd0d0ce32640d973696c914e804413f6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jul 6 20:41:25 2009 -0400

    Parallel make fixes
    
    Fixes several problems with parallel makes in the current source:
    - Add '+' prefix to many top-level Makefile commands. This informs make that
    the following command should be treated as a sub-make and propagates the -jN
    flag.
    - Add a few missing dependencies
    - Tweak some Makefiles that work with generated header files to prevent cases
    where we attempt to use the file while it's being generated
    - For the Linux kernel build, eliminate duplicated effort between COMPDIRS
    and INSTDIRS, which also prevents conflict between the two in a
    parallel situation.
    
    FIXES 125031
    
    Reviewed-on: http://gerrit.openafs.org/3
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit df87d886bb1b2cf2bab8075a21a62f11d4eafc97
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 10 15:59:55 2009 -0400

    Update IRIX build issues
    
    Refer to srcdir, not SYS, for syscall.s
    Don't build fc_test for all (libsys doesn't exist yet)
    Include needed header for Fd_t in xfs_size_check
    
    Reviewed-on: http://gerrit.openafs.org/41
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 7f8249bc57e5a03051f44ec62f1523d02f428692
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 11 01:37:45 2009 -0400

    Correct format specification for "struct clock" values
    
    struct clock contains signed seconds and signed microseconds.
    The format specification should be %d.%06d in all cases.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/55
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit c4c0c67fb6afc30a97c93552d00460b3291ac872
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 20:43:13 2009 -0400

    Correct computation of rx packet resends and data packets sent.
    
    rx packet resends were being double counted.
    
    rx data packets sent were one more per send list than it
    should have been.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/54
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 5d4dabc50a0f313b95eb3ab6be7153d5f41fef5f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 00:54:04 2009 +0100

    ANSIfy bu_utils
    
    A very small amount of code cleanup to add prototypes, ANSIfy,
    and remove warnings from the fms.c file
    
    Reviewed-on: http://gerrit.openafs.org/53
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit a2e728fe9f34ca12c9d26eb299dbc8806273e9a4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 00:51:14 2009 +0100

    Prototypes for the update directory
    
    Prototyping, ANSIfication, and warning cleanup for the update
    directory
    
    Reviewed-on: http://gerrit.openafs.org/52
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit ac3e0ed03187cf7c8af046adb102d6500452815f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 00:41:02 2009 +0100

    Rename printf cast helpers and clean up format string warnings
    
    Some confusion had ensued about the usage of our printf cast helper
    functions. Rename these to attempt to allay that confusion, and restore
    the functions themselves to their original definitions.
    
    Essentially, afs_printable_int32_ld() and friends are helpers to go
    from afs specifc types to things that can be emitted by printf without
    causing compiler warnings.
    
    Also clean up some additional warnings from type mismatches between
    escapes in printf format strings and the variables being printed.
    
    Reviewed-on: http://gerrit.openafs.org/50
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit d34017c9edccf35825bc2cf1b345e78aeb50b73a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jul 11 00:07:37 2009 +0100

    Warning cleanup for the libadmin directory
    
    Where we can, include headers from the include directory
    Resolve a load of const char* /char * issues
    Mark some Windows only variables as such
    Fix prototypes
    
    Reviewed-on: http://gerrit.openafs.org/49
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 01ba9cde63214397843c6f45e0abcacb685218c3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 23:57:38 2009 +0100

    Prototypes for venus/test
    
    Add additonal headers, prototypes, and ANSIfy function definitions in
    venus/test
    
    Reviewed-on: http://gerrit.openafs.org/48
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 738878d9f0cbf38e2bb53be13cf7f1d35f217eeb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 23:36:39 2009 +0100

    Further cleanup of the butc directory
    
    Now that butm is sharing its prototype, further cleanup, ansification
    and warnings reduction for butc.
    
    Reviewed-on: http://gerrit.openafs.org/46
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 4e7b1578384250a0ab7b054af0fabe157a5dba45
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 23:46:36 2009 +0100

    Prototypes for rxdebug
    
    Trivial prototyping and warning cleanup for the rxdebug directory
    
    Reviewed-on: http://gerrit.openafs.org/47
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit bf786eaf43cf58aac576994f3bfed5a41957aa32
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 23:04:25 2009 +0100

    Add exported butm_prototypes.h header
    
    Add exported header for the butm directory so it can be used
    elsewhere
    
    Reviewed-on: http://gerrit.openafs.org/45
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit fb51d2796f8d7f1ae4338181a80bb5ceb58e2d3f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 22:27:30 2009 +0100

    Export budb_prototypes.h
    
    Other modules need prototypes from the budb directory, so we need
    to export this header. However it contains lots of internal functions.
    So, split the header into budb_prototypes.h and budb_internal.h, and
    reference the internal.h header locally.
    
    Reviewed-on: http://gerrit.openafs.org/44
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit dae49105c81b526f7fb3c3832984e9411c5c7ac2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 15:47:35 2009 -0400

    bucoord_prototypes.h is a new public header file.
    
    Install bucoord_prototypes.h to the include/afs directory.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/43
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 73cef96bb335056963c31a6ec382cb4fa969b29e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 15:33:47 2009 -0400

    afs/vol_prototypes.h is a new public header file.
    
    Add afs/vol_prototypes.h to src/vol/NTMakefile so
    it will be installed in the public include directory.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/42
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 8978e035bab7c49cceb942589f65d8b0a5d0465c
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 10 08:10:37 2009 -0700

    Clean up uses of strcpy and strcat in src/vol/namei_ops.c
    
    Replace all uses of strcpy and strcat in src/vol/namei_ops.c with either
    strlcpy/strlcat or afs_snprintf as appropriate.
    
    Reviewed-on: http://gerrit.openafs.org/29
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit c244091b192053084d48af0607b0e25419674a76
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 20:22:18 2009 +0100

    Add prototypes for butc
    
    Prototype, fix warnings, and ansify the butc directory
    
    Reviewed-on: http://gerrit.openafs.org/39
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 586d32c53370458c780c721995695f1ee7bee272
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 20:28:06 2009 +0100

    Don't remove ccode, just conditionalise it
    
    The change in b21015242022872101b9c3c78df511e2a2dc6399 broke
    systems without posix regexes by removing, rather than
    conditionalising the 'ccode' variable
    
    Reviewed-on: http://gerrit.openafs.org/40
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 740d923f4569d888246b231ff9a93278561d3c65
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 15:07:26 2009 -0400

    Add rx_headers build rule on Windows
    
    src/util/netutils.c must include rx/rx.h in order to avoid
    warnings due to the lack of prototypes for rx functions.
    src/rx depends on src/util being built in order to properly
    compile.  Add a rx_headers build rule to the top level
    NTMakefile to permit rx headers to be installed before
    src/util is built.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/38
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 3c6ce91e5a23fa2cb742cb3f6759cec3ece10249
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 13:52:16 2009 +0100

    Roughly prototype the kauth directory
    
    A first pass at prototyping and warning reduction for the kauth
    directory. kauth is plagued by the des key type problems, and
    no attempt to remedy this has been made. Some other complex
    warnings remain - it didn't seem worth the effort to do this
    in too much detail, as it's dying soon.
    
    Reviewed-on: http://gerrit.openafs.org/23
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 32e107317cbc0db93b46a56dcf69102e9ab0ff1e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 18:33:38 2009 +0100

    Rework bucoord prototypes for external dlq use
    
    Rework prototyping in the bucoord directory so that bucoord_prototypes.h
    can be used by others who need definitions of the dlq_* types.
    Add additional prototyping and header includes so these types work correctly
    
    No Windows specific changes are required, as the NTMakefile doesn't have
    header dependencies
    
    Reviewed-on: http://gerrit.openafs.org/35
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit b21015242022872101b9c3c78df511e2a2dc6399
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 12:54:10 2009 +0100

    Prototyping for the volser directory
    
    Prototyping and warning message reduction for the volser directory.
    Adds physio.h and dumpstuff.h as internal header files,
    Many error code variables are changed from being afs_int32, to the
    'Error' typedef, to remove signed comparison errors.
    
    Reviewed-on: http://gerrit.openafs.org/19
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit e712cae20ec3e256e47fba5bac9b7d467c44810b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 17:28:44 2009 +0100

    Prototype viced
    
    Add prototypes, remove warnings, and ANSIfy code in the viced/ directory
    
    Reviewed-on: http://gerrit.openafs.org/33
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 8d546dcc90d861df24cef6fcded2fbc5998d7407
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 13:40:56 2009 +0100

    Remove pr_PrintEntry from public headers
    
    pr_PrintEntry isn't used outside of the ptserver directory, and requires
    struct prentry, which is defined internally, so remove it from ptuser.h,
    and create a new internal header to hold it.
    
    Also, tidy up some type mismatch warnings by making static strings const
    char *
    
    Reviewed-on: http://gerrit.openafs.org/22
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit 3bf2e90f251344f72437dc05e3780ba5c86e8096
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 16:44:39 2009 +0100

    ANSIfy ptclient
    
    Change all the function definitions in ptclient to ANSI form
    
    Reviewed-on: http://gerrit.openafs.org/32
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit a151529de62bd6049ddc507c62bc09747c3ec111
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 13:30:20 2009 +0100

    Tidy up util
    
    Resolve a number of minor warnings
    Prototype the stolower function for use elsewhere
    
    Reviewed-on: http://gerrit.openafs.org/21
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 095ad16a315bf564139dd9904348f889bee58f73
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 14:25:40 2009 +0100

    Fix return type defaults to int warnings in ubik
    
    Fix "return type defaults to int" warnings in ubik/beacon.c
    
    Reviewed-on: http://gerrit.openafs.org/24
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit 4087484fb45c5e6dbde6106d9c389e6f69b80b05
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 12:10:46 2009 +0100

    Tidy up libacl
    
    Very small amount of prototyping
    Rewrite comment block so it wraps at 80 lines
    Make sure there are no implicit ints
    
    Reviewed-on: http://gerrit.openafs.org/18
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit 7c472cd9a685fe13a96038dfe57c62c5da5a669c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 13:19:03 2009 +0100

    Prototype the xstat directory
    
    Prototype, ansify, and remove errors in the xstat directory
    
    Reviewed-on: http://gerrit.openafs.org/20
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Russ Allbery <rra@stanford.edu>

commit 79316efa84daead80c8cb8e28ebc3530768a6da7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 11:42:17 2009 -0400

    Modify Windows top-level NTMakefile to use "md" instead of "mkdir"
    
    Now that src/config/NTMakefile.<platform> actually uses the
    override value.  Lets fix the definition of MKDIR to avoid
    the Unix style executables.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/31
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 386fea8d86b6debeb81355ba9bdede83b2f7285d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 10 11:16:25 2009 -0400

    The Windows Makefiles provide macros for various commands.
    The MKDIR macro is current assigned to mkdir which causes
    the cygwin/msys mkdir.exe commands to be used instead of
    the cmd.exe built-in command.  Change this to use "md" instead
    so that the built-in will be used by default.
    
    In addition, permit the macros to be overridden by the top
    level NTMakefile or the environment.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/30
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit a9368a6c3dfe4435ec2ae63fff4a3325104ed9f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 10 10:52:27 2009 -0400

    HP-UX 11i compiler will segv on static __inline in the fsbnode-bnode xlator
    
    since this function appeared the compiler on HP-UX 11i started
    segving. since it's not necessary, we simply remove it
    
    Reviewed-on: http://gerrit.openafs.org/28
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 9e8ae43b112f2f1f4a9e81eacf5e8abc0a3e16b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 9 21:25:07 2009 -0400

    Add "PerFileAccessCheck" registry value.
    
    The HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon
    "PerFileAccessCheck" registry value (DWORD) is intended for
    use only by developers who wish to test how Windows would
    behave if a per-file access rights check was performed.
    
    Windows performs all access rights checks using the directory
    access rights.  There is no support for the VL_DFSFILESET flag.
    During CreateFile() processing the requested access rights are
    checked against the access rights reported by the file server
    for the directory.  If the reported rights are more permissive than
    the effective access rights for the file, Windows applications
    (including the Explorer Shell) will behave quite poorly.  In other
    words, if the request is for write privilege and the CreateFile()
    successfully opens the file with write privilege, subsequently
    reporting an access denied on a WriteFile() call will result in
    very poor behavior.
    
    The addition of this option is simply to make it easier on
    developers to test various prototype solutions for adding per-file
    access rights.
    
    LICENSE MIT
    
    Reviewed-on: http://gerrit.openafs.org/15
    Reviewed-by: Asanka Herath <asanka@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

commit 6c6f9dce248bb22162981fec8a5de53736740e7f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 10 11:58:44 2009 +0100

    Tidy the vol directory
    
    - Remove some further warnings from the vol directory
    - Add volutil_PartitionName2_r to afsutil_prototypes.h
    - Export vol_prototypes.h so it can be used elsewhere in the tree
    
    Reviewed-on: http://gerrit.openafs.org/17
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 0cf977e5354bd28ac6d9777662e6a2121a510d35
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 9 13:53:33 2009 +0100

    Prototype the vlserver directory
    
    Prototype, ansify, and other do warning cleanups on code in the vlserver
    directory.
    
    Reviewed-on: http://gerrit.openafs.org/16
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit b7942950c2d1fcaa1e94ebbe91c8d2a9a7670cdb
Author: Aaron M. Ucko <ucko@debian.org>
Date:   Mon Jul 6 17:41:49 2009 -0700

    Always use kbuild for all Linux kernel configure probes
    
    Some Linux kernel probes for the existence of header files were done
    with file existence checks (test -f).  This breaks if the kernel build
    system is stacking multiple directories of headers together with
    compile-time -I include path options, as is the case for the current
    Debian Linux header packages.  Instead, always use kbuild to check
    whether a kernel header is available.
    
    Similarly, use AC_TRY_KBUILD instead of AC_TRY_COMPILE when checking
    for an SELinux kernel, since AC_TRY_COMPILE doesn't call into kbuild
    and won't get the correct kernel header paths.
    
    This is part of the fix for Debian Bug#521745 and has been included in
    the Debian package since 1.4.10+dfsg1-1.
    
    Reviewed-on: http://gerrit.openafs.org/5
    Verified-by: Russ Allbery <rra@stanford.edu>
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 01d390d0d022309d06760aac1373829a35a6d79c
Author: Aaron M. Ucko <ucko@debian.org>
Date:   Mon Jul 6 17:51:00 2009 -0700

    Build shadow header files when necessary on Linux
    
    The current kernel module build infrastructure relies on the ability to
    create symlinks from known directory names used in the AFS code to the
    actual locations of the kernel header files.  This breaks if there is no
    single kernel header tree and instead multiple trees are layered together
    by kbuild using compile-time -I include paths.
    
    Attempt to detect this case by seeing if linux/types.h is in the kernel
    header directory where we expect it.  If not, rather than creating
    symlinks for h, sys, and netinet, create directories and populate them
    with single-line headers that just include the corresponding linux/*.h
    header.  The list of headers for which to do this is generated dynamically
    by analyzing the AFS kernel source code and looking for relevant #include
    directives.
    
    This patch has been part of the Debian OpenAFS package since
    1.4.10+dfsg1-1.  The check for whether we have layered kernel header trees
    may be specific to Debian and may require modification later if other
    Linux distributions do something similar.
    
    FIXES 124583
    
    Reviewed-on: http://gerrit.openafs.org/6
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    Verified-by: Derrick Brashear <shadow@dementia.org>

commit 3bb5fa5f1b3dc13ab20ed026c7ea64e11388b9c9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 9 15:08:32 2009 +0100

    Remove the RCSID macro
    
    The move to git means that we can no longer populate the RCSID
    macro in the way that it was used with CVS. This patch simply
    removes the macro from every file, except where it contains
    information from upstream (and it's in a comment).
    
    Reviewed-on: http://gerrit.openafs.org/14
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit bbab48b047000db0d1821e2f65917c2e8c2c7768
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 6 18:41:39 2009 -0700

    Build and install PIC versions of libafsrpc and libafsauthent
    
    To include AFS code in loadable modules such as PAM modules, NSS modules,
    or Perl/Python/PHP/Ruby extensions, it needs to be built PIC or one must
    link with the AFS shared libraries.  Since we haven't historically been
    that great about maintaining the shared library ABI, it's nice to have
    static libraries built with PIC code that can be linked into such modules.
    
    Based on a patch by Garrett Wollman updated with the build system changes
    that happened after 1.4.
    
    Make shlib makefiles have clean rules for PIC libraries.
    Make RedHat specfile know how to deal with PIC libraries.
    
    Reviewed-on: http://gerrit.openafs.org/8
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 072974935c12ee9e3a512933d8246b5dc5a251e0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Jul 9 13:17:27 2009 +0100

    Prototype the afsmonitor directory
    
    Prototypes and code cleanup for afsmonitor
    
    Reviewed-on: http://gerrit.openafs.org/13
    Verified-by: Derrick Brashear <shadow@dementia.org>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit f52b97b76cba008c9aa6ae843869c95d83fbd9f9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 7 17:34:17 2009 -0500

    Always display vnode accesses in vos output
    
    Vos was not displaying the "N accesses in the past day (i.e., vnode
    references)" message when updateDate was unset. Fix that.
    
    FIXES 125064
    
    Reviewed-on: http://gerrit.openafs.org/9
    Verified-by: Andrew Deason <adeason@sinenomine.net>
    Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 722070a5c6b1c87cb8c80e8938464183dab01c8f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 8 16:15:37 2009 -0500

    Correcting formatting typo in vos addsite manpage
    
    Reviewed-on: http://gerrit.openafs.org/12
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit 7488aeef5cfd58935fe4a6a07810c8d757dd98a3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jul 8 16:07:58 2009 -0500

    Fixing manpage for vos addsite -valid
    
    The -valid switch to vos addsite doesn't take an argument, and it is
    optional. Correcting documentation to reflect that.
    
    Reviewed-on: http://gerrit.openafs.org/11
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit ecd3fc42d1d6dca23bb2e2728a0066d3db8eceb6
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 6 17:19:26 2009 -0700

    Search for the Linux version in the correct header
    
    src/config/linux-version already had support for handling either versioned
    or unversioned kernel source directories, but the grep for UTS_RELEASE
    was unconditionally done against the versioned source tree, ignoring the
    previous determination of where the header file was.
    
    Instead, check instead the header file location that we'd previously
    determined.
    
    This patch has been tested in the Debian OpenAFS 1.4.11~pre3+dfsg-1
    package.
    
    Reviewed-on: http://gerrit.openafs.org/4
    Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

commit 002363adb9526f4c0bc2937b0b6589fae0e5334e
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jul 6 21:26:30 2009 -0400

    Fixed a minor grammatical error in the voz_zap man page
    
    Reviewed-on: http://gerrit.openafs.org/7
    Verified-by: Russ Allbery <rra@stanford.edu>
    Reviewed-by: Russ Allbery <rra@stanford.edu>

commit d5081f264dae17fed3daca5ed646f9c082557f0c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 6 13:52:21 2009 +0100

    Remove CVS ignore files
    
    Now we're in git we don't need any cvsignore files any more...
    
    Reviewed-on: http://gerrit.openafs.org/1
    Verified-by: Derrick Brashear <shadow@gmail.com>
    Reviewed-by: Derrick Brashear <shadow@gmail.com>

commit ba9ad6284528e669bfaacf0400b90fc08a5614e4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 6 14:38:42 2009 +0100

    Revise git ignore files
    
    Revise our git ignores to match the current state of the tree, and include
    entires in the top level for all of the 'dest' directories for all of the
    architectures we claim to support.
    
    Reviewed-on: http://gerrit.openafs.org/2
    Reviewed-by: Derrick Brashear <shadow@gmail.com>
    Verified-by: Simon Wilkinson <sxw@inf.ed.ac.uk>

commit 46287f679023c8d1430c64d03e06933cf6121a24
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 4 04:45:37 2009 +0000

    windows-optimizations-20090703
    
    LICENSE MIT
    
    when performing offline volume checks, do so in most recently used order
    
    if the system is entering suspend state, short circuit the background
    daemon operations to avoid extra work that is going to fail when the
    network is shutdown behind the back of the service.

commit ebc4f737ae8f8056de1a7f80828a6173ebb24292
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 3 14:16:53 2009 +0000

    linux-vnop-return-value-cleanup-20090703
    
    LICENSE IPL10
    
    rework all linux vnode ops so the vulnerability we previously had can't
    recur later just because someone makes a change that would leak a negative
    error

commit 6ef1234402435306cb3935d1eadc5fcf332bd632
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jul 3 14:03:57 2009 +0000

    viced-ubik-clientdestroy-null-20090703
    
    LICENSE IPL10
    FIXES 125020
    
    null ubik client point when it's freed in hpr_End to avoid a null deref later

commit 22196a7fd78dff342b2f9fca2b38d9a2dd04d42c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 3 13:56:43 2009 +0000

    redhat-spec-manpage-updates-20090703
    
    LICENSE IPL10
    
    add missing manpages to srpm

commit 8a6bd630354ab7fc17bc5cfaeb10267ad2cc10eb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 1 22:14:42 2009 +0000

    wix-manpages-chgrp-chown-20090701
    
    LICENSE MIT
    
    add fs_chgrp.html and fs_chown.html man pages

commit 4db337f87c0170380037593d1c998fb1b9819aa3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 1 22:12:10 2009 +0000

    manpages-fs-chown-chgrp-20090701
    
    LICENSE BSD
    
    Add new man pages for fs chown and chgrp on Windows.
    
    Update titles for Windows only commands to indicate they are Windows only.

commit 4ca66112c2a012e04619445275507ae9cd6c11da
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jul 1 21:56:48 2009 +0000

    linux-keyring-export-check-20090701
    
    LICENSE IPL10
    FIXES 125001
    
    check for key_type_keyring being exported; only use it if so

commit ffd065a69578ad26c860b0b3e54053d6432c4a21
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 1 21:25:28 2009 +0000

    windows-fs-chown-chgrp-20090701
    
    LICENSE MIT
    
    On Windows there is no chown or chgrp command that can be used to
    change the owner or group of an object in AFS.   Therefore we
    add them to the fs command.
    
    Usage: fs chown -owner <user name or id> [-path <dir/file path>+] [-literal] [-help]
    Where: -literal  literal evaluation of mountpoints and symlinks
    
    Usage: fs chgrp -group <user/group name or id> [-path <dir/file path>+] [-literal] [-help]
    Where: -literal  literal evaluation of mountpoints and symlinks

commit ad6a8942db587b2c5b9aaee6a3e8e89b69e3918c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 1 02:44:05 2009 +0000

    windows-cellconfig-20090630
    
    LICENSE MIT
    
    nul terminate the correct variable

commit efdf78ae086ba02cc3f6ffbd7b0a2ca31743ced7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 30 19:11:28 2009 +0000

    windows-dfs-file-set-warning-20090630
    
    LICENSE MIT
    
    Add a debug log warning if the target volume is a DFS File Set.
    If so, the client will not properly protect against information
    leakage or properly deal with directory name caching, symlinks,
    and other behavioral differences between AFS and DFS.

commit 49d6a0992c42a6bb1fba8245029f31ca916214e5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 30 18:59:43 2009 +0000

    windows-smb-20090630
    
    LICENSE MIT
    
    Be sure to call smb_ReleaseVCNoLock before we drop the smb_rctLock.

commit 58024c16844a7298f04495ff9023e396a5391aff
Author: christof.hanke@rzg.mpg.de <christof.hanke@rzg.mpg.de>
Date:   Mon Jun 29 21:24:23 2009 +0000

    rpmlint-try2-20090629
    
    LICENSE IPL10
    FIXES 124951
    
    remove unneeded return; fix iob initialization for curpag pioctl

commit a50fa631cad6919d15721ac2c234ebbdda2b4031
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 29 20:38:17 2009 +0000

    windows-dcache-prefer-xdata-error-20090629
    
    LICENSE MIT
    FIXES 125018
    
    Fix issue reported by Marc Dionne.  RXAFS_FetchData and RXAFS_StoreData
    return access denied errors that are not reported by the subsequent
    call to rx_EndCall which should be preferred.

commit f202b9778e4489fd80288c5be36e3c102b0cfba9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 29 16:19:59 2009 +0000

    revert-voldump-v-tag-generation-20090629
    
    LICENSE IPL10
    FIXES 18349
    
    generating v tags is currently incompatible. revert this for now

commit 3d5415922ea4ede4ce538d7894a6062bf115c6bd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jun 29 14:58:58 2009 +0000

    rcu-patch-fallout-20090629
    
    LICENSE IPL10
    FIXES 124996
    
    massaging this for 1.5.x/head caused some fallout. fix doubled endif, and
    install_session_keyring arguments

commit 4a09cd4976dc9088cd32115dc06458afb3a577d4
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Mon Jun 29 07:03:09 2009 +0000

    cellservdb-20090629
    
    
    CellServDB from central.org dated 29 Jun 2009

commit 307e077b2343b73731d7f21f422b7a130caf12c7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 29 04:27:41 2009 +0000

    windows-shutdown-20090628
    
    LICENSE MIT
    
    short circuit on-going offline volume checks once a shutdown has begun.

commit b8a1dba29367c9786a5f43c90b0a000ff4d4315d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 29 04:25:16 2009 +0000

    windows-hard-link-count-20090628
    
    LICENSE MIT
    
    cm_Link() is used to create hard links.  It did not apply the updated
    link target status info to the target cm_scache_t object.  As a result
    the linkCount would be incorrect.
    
    cm_Unlink() did not take linkCount into account.  It did not reduce the
    locally known linkCount, nor did it invalidate any currently known
    callback.  As a result the linkCount would be incorrect.

commit d54859c6ac2e5186b18da027303860966504dbd9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 28 05:15:31 2009 +0000

    windows-multi-homed-callbacks-20090627
    
    LICENSE MIT
    
    Properly handle callbacks from multi-homed file servers.
    Comparing cm_server_t pointers is insufficient.  For a multi-homed
    server there will be multiple entries.  The UUID for all of the
    equivalent entries will be the same.  What matters is not that
    the pointers are the same but whether in the case of UUID labeled
    servers that the UUIDs match.
    
    Add cm_ServerEqual() to perform the comparison.

commit 100186ec2e4ca5046e1bc312918d4630de00bc7e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 26 15:11:10 2009 +0000

    windows-callback-server-tracking-for-readonly-vols-20090626
    
    LICENSE MIT
    
    Readonly volume callbacks apply to every cm_scache_t from the
    same volume.  We were already tracking the cbExpires time in
    the cm_volume_t.  We need to also track the cbServerp in the
    cm_volume_t so that the cm_scache_t objects can be assigned
    the correct server from which the callback was issued.
    
    Add cbServerpRO field to the cm_volume_t.  Bump the memory
    map version to force a rebuild of the cache data.

commit de374565233eea489079e102865ab6cd65ef0dbb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 26 14:14:47 2009 +0000

    windows-cell-config-clones-20090626
    
    LICENSE MIT
    
    Add support for parsing clones from the CellServDB file.

commit e43342e3778524a68219875b5fdc6fae0adbef1f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 25 13:13:14 2009 +0000

    allow-gcpags-disabling--at-compile-20090624
    
    LICENSE IPL10
    
    put this back as was for now; if we want to undef, we can do it later, completely

commit 4ac7d59d464d66322a2925c86e955cd8d8067f75
Author: christof.hanke@rzg.mpg.de <christof.hanke@rzg.mpg.de>
Date:   Thu Jun 25 00:14:43 2009 +0000

    pag-get-lint-20090623
    
    LICENSE IPL10
    FIXES 124951
    
    make things happy for rpmlint again (wrong initialization)

commit 0e718b642cedd1ebc799ada35960164c95c24280
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Jun 24 22:53:40 2009 +0000

    linux-rcu-read-lock-export-20090623
    
    LICENSE IPL10
    FIXES 124986
    
    deal with rcu_read_lock() becoming GPLONLY

commit a125b571a4d7c6c8c491bda079115a5eab835971
Author: Harald Barth <haba@pdc.kth.se>
Date:   Wed Jun 24 22:44:56 2009 +0000

    fbsd61-stdlib-proto-define-20090623
    
    LICENSE IPL10
    FIXES 124952
    
    add define to make stdlib have malloc prototype

commit ee72f251049ca361b095e813adce63216343afd8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 24 22:38:15 2009 +0000

    osol-solookup-20090624
    
    LICENSE IPL10
    FIXES 124924
    
    update for new opensolaris solookup function signature

commit b45838ca82a085360491b14fdb16e88612a43165
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 24 16:15:39 2009 +0000

    util-snprintf-replacement-20090624
    
    LICENSE BSD
    
    1. Add a test program for *printf functionality.  util/tests/snprintf_test.c
    
    2. Replace OpenAFS implementation of afs_*printf() with Heimdal's version.
    
    3. Add support to Heimdal's version to support:
    
     - floating point
    
     - OpenAFS %I ipv4 address formatting (dotted notation and hostname lookup)
    
     - Microsoft's I32 and I64 integer size modifiers
    
    With these changes OpenAFS gains:
    
     - output that is compliant with standard *printf implementations.
       the previous implementation had justification, padding and case
       errors.
    
     - support for a NULL buffer which computes the required size based
       upon the input format and arguments.  the previous implementation
       would crash.
    
     - support for additional format types.
    
     - OpenAFS specific implementations of vasnprintf(), vasprintf(),
       asprintf(), and asnprintf().

commit 74d49eb2c68f787044fe9f612d4f5f4610907572
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jun 24 15:47:29 2009 +0000

    windows-config-amd64-20090624
    
    LICENSE MIT
    
    amd64 uses 64-bit pointers.  Define AFS_64BITPOINTER_ENV.

commit b02e22b5f0590929ef9120da4799ca9a47fa3aeb
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jun 22 16:25:23 2009 +0000

    linux-call-inode-setattr-op-20090622
    
    LICENSE IPL10
    FIXES 124942
    
    call inode's setattr op instead of just inode_setattr, when one is available.
    needed for xfs, notably also will cause truncates to be journalled for ext3,
    which may solve some existing issues

commit 0200a40061a70c8e768f7510604839aaa7925a28
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 19 04:08:08 2009 +0000

    cellconfig-gethostbyname-20090618
    
    LICENSE MIT
    
    The CellServDB processing in auth/cellconfig and WINNT/afsd/cm_config
    differ in one important way.  cellconfig uses the IP addresses specified
    in the CellServDB file and ignores the host name; whereas cm_config
    calls gethostbyname() on the host name and falls back to the specified
    address only if gethostbyname() fails.
    
    This commit modifies cellconfig to use gethostbyname() calls on the
    host names when the client CellServDB file is being used.   The server
    CellServDB file is left alone because ubik servers need to be given
    the exact list of ip addresses specified by the administrator and
    there is no method of indicating clones to other servers using DNS.
    
    This change permits a greater resilency to cell server configuration
    changes due to IP address renumbering as the DNS names in the CellServDB
    file can be CNAME or A records.
    
    A host name can be resolved to multiple IP addresses and all of the
    addresses will be added to the hostAddr list for the cell provided
    that they do not exceed the maximum number of hosts.  If the same
    host name is listed multiple times the duplicate IP addresses will
    be ignored.
    
    The behavior of all tools that use CellServDB files on Windows will now
    be consistent.

commit cfe1f5676d458ca2ca8ba562ace782305e68059f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 18 06:04:29 2009 +0000

    windows-netidmgr-20090617
    
    LICENSE MIT
    
    permit building with a broader range of visual studio versions

commit f310847d2dfa924aaeff2924cfbc885d1cd58a31
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 18 00:45:36 2009 +0000

    windows-testcellconf-20090617
    
    LICENSE MIT
    
    make testcellconf work on Windows

commit 3af8eafae68b7260941b59346720730410f97944
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 16 23:40:38 2009 +0000

    windows-kauth-cell-search-registry-20090616
    
    LICENSE MIT
    
    add registry based cell search to ka_UserAuthenticateGeneral2()
    which is used by klog() and afslogon.dll when no kerberos support
    is available.

commit 377b8c176fde2cab27d27c644b6966bf153daad5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 16 23:37:49 2009 +0000

    windows-client-config-cell-search-registry-20090616
    
    LICENSE MIT
    
    Add registry based cell search functionality to afs_config.exe
    even though the tool is close to useless at this point.

commit 4bf09a2ebfabede83cdac782de52386423e01927
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 16 22:57:08 2009 +0000

    windows-netidmgr-cell-search-registry-20090616
    
    LICENSE MIT
    
    Forgot to update the afs provider to support registry based cellservdb
    lookups

commit e44c38c423fee7f10540ee339c372dce043af10d
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jun 16 19:09:43 2009 +0000

    ubik-fix-allbetter-loglevels-20090616
    
    LICENSE IPL10
    FIXES 124938
    
    make allBetter log more sensibly; right now it's very loud. move it to level 25

commit a44bee561505c8f955c84d5c96227d72d3cdaf57
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 16 19:08:11 2009 +0000

    afs-snrpintf-support-percentp-for-ptrs-20090616
    
    LICENSE IPL10
    
    so we can portably log pointers

commit 82d9807e2246997ac73930c91d1ad4312084cc57
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 16 05:59:22 2009 +0000

    windows-conn-analyze-20090615
    
    LICENSE MIT
    
    When processing RX_CALL_TIMEOUT, if there is no fid specified its a vldb
    rpc and we should retry.  If there is a fid and the volume is a readonly
    volume then we should also retry.  Only fail if the request has no alternate
    server to look at.
    
    When processing RX_CALL_DEAD, log the fact that the call is dead.
    
    When processing any other RX error between -2 and -64, do not force
    a new connection to the same server.   Mark the server down and retry
    with a new server if possible.

commit 81c9b8c0c4ddf711872104ba6645c1310093af24
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 16 05:56:19 2009 +0000

    windows-cellservdb-rank-20090615
    
    LICENSE MIT
    
    When inserting a new vldb server, if the rank is 0 (unknown), do not
    override the default rank assigned by cm_NewServer().  Doing so erases
    the randomized ranking.

commit c41a46774134aee6eaf6a41e9061386035ae6ebf
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jun 15 23:29:29 2009 +0000

    gitignore-20090615
    
    LICENSE IPL10
    
    make gitignore files

commit 3e26e46b660f2e92eb9c693f9a3c4f97f2acd80c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 15 14:47:00 2009 +0000

    windows-installer-nsis-20090615
    
    LICENSE MIT
    
    reorder some operations and make sure that directories are created
    before the installer attempts to generate files into them.

commit a79ce67d7a52a99c10192a92c66a7e10500770bf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 15 02:57:17 2009 +0000

    windows-callback-handling-20090614
    
    LICENSE MIT
    
    Turn SRXAFSCB_InitCallBackState3() into the primary function for
    processing InitCallBackStateX RPCs.  InitCallBackState3 accepts an
    optional server uuid which can be used instead of the IP address
    to locate a matching server object.  If the RPC comes from a server
    that we know of, we can restrict the calback state initialization
    to cm_scache_t objects on that file server.  If the request comes
    from a server that we know nothing about and a uuid was specified,
    we can ignore it.
    
    During callback revocation, make use of the cell associated with
    the server to restrict the revocation to cm_scache_t objects in
    the one cell.  This is especially important for readonly volume
    callbacks since volume ids are shared across multiple cells.
    
    Add a missing case where the cm_volume_t cbExpiresRO time should
    be set to the cm_scache_t cbExpires time.

commit 88ef4fb720efd8f7c0b130b5bdf35ef840aafc59
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 15 02:02:59 2009 +0000

    windows-server-find-by-uuid-20090614
    
    LICENSE MIT
    
    Add cm_FindServerByUuid().  This function is similar to cm_FindServerByIP()
    but uses the server's known uuid instead which is constant across multi-
    homed systems.

commit 571dc5edbe76a7e62d47adee8df52bbf532c55bc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 15 01:56:22 2009 +0000

    windows-server-xdr-free-20090614
    
    LICENSE MIT
    
    when releasing the capabilities memory allocation use xdr_free() not
    the free() of the afsd_service.exe module.

commit a7f9ce9ce1b2608937c5c3ffc73a2de07abc5fb1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 11 20:39:53 2009 +0000

    vnode-disk-object-name-hi-length-field-20090611
    
    LICENSE IPL10
    
    reserved6 is used for the high portion of the 64 bit length. make the
    structure reflect it.

commit 27cbb188bd1cb3e050c6911b1ddde75c46aa712f
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 11 15:25:15 2009 +0000

    dafs-create-volumes-online-20090611
    
    LICENSE IPL10
    FIXES 124492
    
    newly created volumes were not marked "not in use" by the volserver, so the
    fileserver would not take them. fix it.

commit 2c755529c79492738fec61a5fc311216678a52e7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Jun 11 15:19:15 2009 +0000

    bosserver-invoke-salvager-fully-specifying-force-20090611
    
    LICENSE IPL10
    FIXES 124916
    
    bos salvage can invoke salvager with -f (instead of -force) which is no
    longer unique. fix that.

commit ae1923e36260ff59efb85dda99b5345341bff6d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 10 18:08:19 2009 +0000

    windows-cache-validation-20090610
    
    LICENSE MIT
    
    correct cell validation to avoid false detection of infinite loops
    if a cm_cell_t object had to be freed.
    
    add newlines to output of volumeHashTableSize and cellHashTableSize

commit 796dbb891b9aee17cef07e085e089123e6c94b83
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 22:34:54 2009 +0000

    aix-dest-make-audit-object-dir-20090609
    
    LICENSE IPL10
    
    now make dest works on aix 6 again

commit e87be8c5794ccd6eecd3b420dc12085a3608fadb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 22:30:28 2009 +0000

    aix6-no-vprintf-but-strict-kernel-prototypes-20090609
    
    LICENSE IPL10
    
    alas, we can't use varargs style prototypes since we can't handle the args!

commit 2ee2aa00bc689b7876dc589537a8f805d44eaef5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 22:10:54 2009 +0000

    excise-cplusplus-comments-from-kernel-20090609
    
    LICENSE IPL10
    
    aix6 compiler doesn't allow // style comments

commit 6794613924416dd542a1d54a9d692af396a0f0d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 22:05:20 2009 +0000

    aix6-kernel-varargs-prototypes-ok-20090609
    
    LICENSE IPL10
    
    varargs style prototypes are ok in the aix6 kernel env

commit 37e1cd23195215cd5999be7fa5a8de6af7efebcb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 9 21:11:04 2009 +0000

    windows-freelance-default-cell-20090609
    
    LICENSE MIT
    
    If a freelance mount point does not specify a cell name, default to
    the workstation cell.

commit 22fb6954e05de91d414cf17db07322824a090db3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 20:25:47 2009 +0000

    aix6-tsm41-makefile-flub-20090609
    
    LICENSE IPL10
    
    add missing quoting

commit a8614747878cedef5e54f10dcc7296034a88e738
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 9 14:46:51 2009 +0000

    tsm41-makefile-fix-20090609
    
    LICENSE IPL10
    
    fix form of case statement in makefile for tsm41

commit 2033fa9ec62089887f074381ac118a2c60e9c311
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 9 00:58:10 2009 +0000

    windows-dirty-buffers-20090608
    
    LICENSE MIT
    
    In the buf_IncrSync thread, if the volume is known to be unavailable
    do not attempt to write the buffer.  Just skip it.
    
    In buf_Sync(), if we are shutting down and a buffer is left dirty,
    log a message to the Windows Event Log indicating that the dirty buffer
    was lost.

commit 394243f3ae2dc5437b66d8f5afb393c2cfd1fb7b
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Mon Jun 8 23:39:51 2009 +0000

    man-page-xstat-fs-test-20090608
    
    LICENSE IPL10
    FIXES 124905
    
    Document xstat_fs_test collection 3, which returns callback statistics
    from the file server (useful for tuning).

commit f5b74d9fbcc42ad3a1105df3363e6c22c16fee84
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 23:09:19 2009 +0000

    windows-cell-locking-20090608
    
    LICENSE MIT
    FIXES 124910
    
    cm_cellLock protects the cm_cell_t fields allNextp, nameNextp, idNextp,
    and freeNextp.  Therefore, a write lock must be obtained whenever those
    items may change.  This patch makes that consistent.
    
    This patch also fixes an out of order lock acquisition and removes
    cm_cell_t objects from the id and name hash tables before freeing them.

commit 7bf6fd6bcbdcb87544798c9634618fccb4678f45
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 22:42:01 2009 +0000

    windows-search-cell-registry-20090608
    
    LICENSE MIT
    
    do not clear the newCellNamep buffer on error.
    that is inconsistent with the other SearchCell functions
    and breaks "fs newcell".

commit ddaf2d5de4b41e2d15ac8f715774d9a3bceff6e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 8 20:47:14 2009 +0000

    aix-kopenafs-also-correct-directory-20090608
    
    LICENSE IPL10
    
    also make this include syscall.s from the right place.

commit e3b4b25d4f1dd15579cb15a2088fff0ea94606f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 8 05:44:23 2009 +0000

    kopenafs-set-sflags-20090607
    
    LICENSE IPL10
    
    make kopenafs build on aix

commit dad31c8ca57d56a8856718d43d04f2c9fe30dba0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 03:34:28 2009 +0000

    windows-notes-20090607
    
    LICENSE MIT
    
    synchronize with the 1.5 branch

commit 9a1328b9217902439abdbd3424fdd4e887169116
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 03:15:12 2009 +0000

    windows-sync-head-with-1_5-20090607
    
    LICENSE MIT
    
    Synchronize the build system from 1.5 branch to the head

commit 5bd88cfa6b41b9aa92def74894133a84d2a417d7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 03:08:33 2009 +0000

    doc-man-pages-windows-20090607
    
    LICENSE MIT
    
    dpass and package docs removed from repository.
    do not attempt to build them.

commit bada49cff904c1e783ca9fa81a92036ceae7378d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 8 02:22:09 2009 +0000

    windows-buf-infinite-looping-on-dirty-buffers-20090607
    
    LICENSE MIT
    
    If there are dirty buffers when the file server becomes unresponsive,
    the cache manager will attempt to write them repeatedly resulting in
    use of 100% of the cpu of the machine until the file server becomes
    responsive.
    
    This patch reduces the cpu utilization by ensuring that only the first
    in a list of buffers on the same file needs to fail with timed out,
    all down, all busy, all offline, or clock skew.  The other dirty buffers
    will just be skipped.  A small delay is enforced in the buf_IncrSync
    thread between invocation.
    
    This patch is not a complete fix for the problem.  The buf_IncrSync
    thread needs to become more intelligent in order to avoid attempts to
    write to volumes that are known to be inaccessible.

commit d5d6976a640e5dbdd4eb3be24e8722d77ad30488
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 6 01:10:46 2009 +0000

    viced-cblater-unmark-20090605
    
    LICENSE IPL10
    
    make things match 1.5.x: unmark entries FE_LATER when they get unchained

commit 575d48538fa9da54fe7b68e2e4c3ec228cd98da5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 6 01:08:57 2009 +0000

    darwin-rx-netreceive-fix-20090605
    
    LICENSE IPL10
    
    put back code that went missing post-rxtcp

commit 527c48861132d5d9a314ba12935f796bc397cac1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 6 00:36:20 2009 +0000

    aix-kopenafs-cpp-20090605
    
    LICENSE IPL10
    
    build syscall.o on aix the same way we do in libsys

commit 6d973e499acd598bbc3a4e131d14f9801b94fe71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 5 19:17:13 2009 +0000

    man-page-cellservdb-extras-20090605
    
    LICENSE IPL10
    
    Document linked cells and non-voting replicas in the CellServDB man page
    and note the need for better linked cell documentation.

commit ee2d4a858b56b5fa9d6155be6ecc64d7596dcf16
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 5 16:50:10 2009 +0000

    death-to-docs-20090605
    
    LICENSE IPL10
    
    docs now built from doc/xml; kill the other copies of same

commit 3e65e3aee17c64a19c0a1ff4b9b7d99c0725b689
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 23:09:11 2009 +0000

    fsbnode-rename-unused-to-dummy-20090604
    
    LICENSE IPL10
    
    a prayer this will make hpu cc stop segving

commit 33e04c09a1f36281a6f37fdfd7b402426b9df5d4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 21:50:33 2009 +0000

    aix51-no-userspace-pag-subsystem-20090604
    
    LICENSE IPL10
    
    getpagvalue() appeared post 5.1.

commit 654871583371f70683a295623fdd4364965042c4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 21:30:45 2009 +0000

    pam-build-dont-fail-on-link-problems-20090604
    
    LICENSE IPL10
    
    linking static objects into shared works badly on some platforms. deal by not
    breaking the build, for now

commit 17ccfb4fa5889c45ddaf8e18fd048c0aaaed8d86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 19:05:40 2009 +0000

    solaris-fs-conv-needs-ihandle-20090604
    
    LICENSE IPL10
    
    FD_t defined in ihandle.h; include it here

commit 72d314f001e0067a7a00d3cb2a4d5ff073b54f70
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 17:18:07 2009 +0000

    kopenafs-syscall-object-dependency-20090604
    
    LICENSE IPL10
    
    cause syscall.o to build

commit 64a1b3101fde534f10054f9f4890243c95e2c728
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 4 00:15:05 2009 +0000

    unroll-experimental-rx-20090603
    
    LICENSE IPL10
    
    reconverge Rx with that in 1.5.x in prep for git

commit 6124a81e791f54953ea4be3cf3588d9ccf5fb248
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 3 23:11:40 2009 +0000

    ptserver-debug-flag-20090603
    
    LICENSE IPL10
    FIXES 124893
    
    parse -d (debug) earlier in the ptserver argument parsing, so database
    switch does not override it.

commit d9d50fea986569dfaa3c3b6aee2e8c99f0d280e8
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 3 22:48:55 2009 +0000

    ptserver-procs-loglevels-20090603
    
    LICENSE IPL10
    FIXES 124894
    
    make loglevels for create/delete match those for other pts operations

commit 4310874d8f8b83b8a2c5840880d4f35059c67ea7
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Wed Jun 3 22:43:53 2009 +0000

    ptserver-vicelog-missing-newlines-20090603
    
    LICENSE IPL10
    FIXES 124894
    
    some ViceLog calls in ptserver were missing newlines. that's fixed.

commit edfb415915bff06c055f58867695cbb37df626e1
Author: Douglas Engert <deengert@anl.gov>
Date:   Wed Jun 3 21:58:10 2009 +0000

    klog-krb5-avoid-freeing-garbage-20090603
    
    LICENSE IPL10
    
    avoid freeing garbage due to an uninitialized variable

commit ec51165b5134b406eecfbb2b7d53b2a094f30256
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 3 16:13:26 2009 +0000

    aix-pag-complaints-20090603
    
    LICENSE IPL10
    
    make the new code work properly, thanks to aix's complaints

commit 4af75fe96a9e4a985081d4af78439aeebabd6939
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 3 06:39:47 2009 +0000

    curpag-via-pioctl-20090603
    
    LICENSE IPL10
    FIXES 124709
    
    curpag needs to know about kernel constructs (getpagvalue on AIX, onegroup
    versus two group on linux) and on aix 5.1 simply can't work. add a new pioctl
    and use it to simply ask the kernel what the current pag is

commit 091139b3e2160e1f56b11820d59589de9ccd9c40
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jun 2 19:31:45 2009 +0000

    linux-allow-disabling-syscall-probing-20090602
    
    LICENSE IPL10
    
    give a configure switch to allow disabling syscall probing

commit 521f4e6d473335ac8f7f265904bda7840fddad71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 2 19:12:10 2009 +0000

    linux-locking-brace-fix-20090602
    
    LICENSE IPL10
    
    so regardless of which code branch we choose we work

commit be47f4de0595dd044053695de3cdcedb2ec2a113
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 2 18:39:28 2009 +0000

    vfsck-conditional-for-namei-20090602
    
    LICENSE IPL10
    
    make build fly again on solaris when namei and not inode is in play

commit 3ae35e12714bf4759d313086b17ef47bae1d7504
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 2 18:31:32 2009 +0000

    doc-man-page-install-variables-20090602
    
    LICENSE BSD
    
    We were horribly confused about variables when creating man page symlinks.
    Be less confused by using variables less.

commit e89f90f7f17efc80c984b2858cd85a87f8cdfbf3
Author: simon@sxw.org.uk <simon@sxw.org.uk>
Date:   Tue Jun 2 04:32:08 2009 +0000

    auth-cellconfig-overflow-20090601
    
    LICENSE IPL10
    FIXES 124891

commit d7b3953a530a49edfed203d59194b3a293ed80b8
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jun 1 23:35:17 2009 +0000

    doc-admin-guide-updates-20090601
    
    LICENSE BSD
    FIXES 124889
    
    Updates to chapter one of the Admin Guide.  Remove references to the
    Authentication Server, add references to a Kerberos server, revise ntpd
    parts to reflect the fact that OpenAFS doesn't ship ntpd, and removed
    the distinction between the US and non-US versions of the Update Server.

commit e34fe0f9a85c0fa965fe30ead4c5ba14d077268f
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 1 23:31:47 2009 +0000

    doc-xml-build-cvsignore-20090601
    
    LICENSE BSD
    
    Ignore new generated files from the documentation build.

commit 2520cc9aabef8877cdd99abb858dc011dfa5629f
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 1 23:30:42 2009 +0000

    doc-xml-version-depends-20090601
    
    LICENSE BSD
    
    Make PDF manual generation also depend on version.xml, matching HTML
    generation.

commit 0a617e33234f6104fdfb0d45593cf313c961f653
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 1 18:51:45 2009 +0000

    xml-versioning-take-two-20090601
    
    LICENSE IPL10
    
    deal with this in a way which does not trip creation of CML state config files

commit 8e0b8243ea8b38e6ceab8f1dc6a0e032d6622568
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jun 1 00:12:46 2009 +0000

    vsprocs-log-format-bug-20090531
    
    LICENSE IPL10
    
    fix the logged data to avoid a format string issue

commit 5526ba218f7f3653cabe5423b25b82f0241b0abc
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun May 31 17:52:46 2009 +0000

    doc-doxygen-20090531
    
    LICENSE BSD
    
    Doxygen converted versions of the IBM provided architecture and
    protocol documentation.
    
    Funded under an SBIR grant.

commit 74df876dafb9cf80ab5a8099b4202f2205bd9791
Author: Douglas Engert <deengert@anl.gov>
Date:   Sun May 31 02:22:24 2009 +0000

    afsd-allow-maxmtu-override-20090530
    
    LICENSE IPL10
    FIXES 124880
    
    rxi_Findcbi, rxi_FIndIfnet, rxi_FindIfMTU "failure" end up returning
    the RX_REMOTE_PACKET_SIZE as the mtu to use unless we allow our override
    to apply, so we do that. then, add an afsd switch to allow setting it.
    
    afsd man page update required and will follow.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    FIXES 124880
    
    man page update to document previous work

commit ca613599a2537756462a420ae1a632747a433226
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat May 30 18:27:07 2009 +0000

    viced-host-uuid-and-addr-hashing-corrections-20090530
    
    LICENSE IPL10
    FIXES 124634
    
    only valid addr/port pairs are registered in the hash table.
    add then remove when changing addresses.
    make host restoral properly hash hosts.
    remove should remove the address we asked for and not simply the
    primary address.

commit e452c704c59700496227dccb3161efd34ca709ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 27 20:44:24 2009 +0000

    xml-doc-building-glue-20090527
    
    LICENSE IPL10
    FIXES 124804
    
    add configure switches for building docs. generate version files needed.

commit d28e5fd04def989dcfb98ccd2b99ef44f5667167
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 27 14:55:42 2009 +0000

    windows-install-20090527
    
    LICENSE MIT
    
    Install ptclient.exe and pt_util.exe as part of the server installation

commit c1876dbf32b5c253b5325bf18a0bf2549b6c9682
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 27 14:45:07 2009 +0000

    windows-ptserver-ubik-20090527
    
    LICENSE MIT
    
    move io.h inside AFS_NT40_ENV

commit ea404cf1e3a174c8809cd7f3bcc5750e0983cce6
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed May 27 14:26:41 2009 +0000

    obsd-45-param-file-20090527
    
    LICENSE IPL10
    FIXES 124719
    
    add missing param file for obsd 4.5

commit 39b4c0381a68824cb52c0d3a2ee1d81851598373
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 27 08:04:06 2009 +0000

    windows-pt_util-20090527
    
    LICENSE MIT
    
    add missing build rules for pt_util.exe

commit 8ea8519f3094692c2d7a55fb1702255d0b115a8f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 27 07:59:36 2009 +0000

    windows-pt_util-20090526
    
    LICENSE MIT
    
    build pt_util.exe on Windows

commit 34fc86bcc749f3bd059831b7e5dae03dc09a9393
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 27 03:46:43 2009 +0000

    volser-retry-transaction-creation-20090526
    
    LICENSE IPL10
    FIXES 124635
    
    version of the retry transaction creation patch for head/1.5

commit 29223f5a52beac5b40853863733c70028fc7c52c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 27 03:12:53 2009 +0000

    unix-mkvers-xml-20090526
    
    LICENSE IPL10
    
    make mkvers do a xml version file for unix also

commit 4c7a7f343c6cb0c5e6def6d28649cea65ff2907e
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 27 02:21:45 2009 +0000

    man-page-vos-dump-flags-20090526
    
    LICENSE BSD
    
    Add documentation of the -clone and -omitdirs flags to vos dump.

commit 49b7bbdd3b45df694fadbef48f9ed99d9bfe07b9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed May 27 01:47:40 2009 +0000

    linux-byte-range-locks-sensibility-20090526
    
    LICENSE IPL10
    FIXES 124766
    
    make our locks work correctly with the linux connectathon lock testing

commit 3b2a1ac2b1d4212363527a6edc6dd2aa76a3f960
Author: fabrizio.manfredi@gmail.com <fabrizio.manfredi@gmail.com>
Date:   Wed May 27 01:13:38 2009 +0000

    java-errno-header-20090526
    
    LICENSE IPL10
    FIXES 124810
    
    use the errno header instead of assuming extern int

commit 1fb1b8d0a2f82c6e72e59afb0a400ea0d5b21fe1
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed May 27 00:44:29 2009 +0000

    linux-mmap-antirecursion-avoid-spurious-eio-20090526
    
    LICENSE IPL10
    
    fix error code checking

commit e754a0bebdeaa5bd8acfdb5d802392715e38fd5b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 26 16:29:16 2009 +0000

    doc-xml-windows-release-notes-20090526
    
    LICENSE MIT
    
    Add notes describing registry support for CellServDB info and
    conversion of docs to HtmlHelp format.

commit 582688f1be17611d2926a4a7281d55bc7ccaa611
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 26 03:20:06 2009 +0000

    windows-xml-release-notes-version-20090525
    
    LICENSE MIT
    
    autogenerate version info.
    
    fix chapter title.

commit 2f7046eff6599d9a66a7f31bb6f33b7f88646db5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 26 01:54:15 2009 +0000

    windows-top-makefile-20090525
    
    LICENSE MIT
    
    add rules for building documentation sources
    
    add option for including cygwin libs in wix installer

commit 4a523957feabf7f5d9f36b7a05c79fd6eccf426e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 26 00:53:53 2009 +0000

    windows-doc-man-dependency-20090525
    
    LICENSE IPL10
    
    html\index.html not index.html

commit 22a932c40a3ecabae8110db21572a4cae2ba1fae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 25 23:06:16 2009 +0000

    windows-cellservdb-lookup-20090525
    
    LICENSE MIT
    
    Add a new Registry distribution method for CellServDB info.
    
    The CellServDB registry schema is as follows:
    
     HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\
       "LinkedCell"    REG_SZ "[cellname]"
       "Description"   REG_SZ "[comment]"
       "ForceDNS"      DWORD  {0,1}
    
     HKLM\SOFTWARE\OpenAFS\Client\CellServDB\[cellname]\[servername]\
       "HostName"      REG_SZ "[hostname]"
       "IPv4Address"   REG_SZ "[address]"
       "IPv6Address"   REG_SZ "[address]"   <future>
       "Comment"       REG_SZ "[comment]"
       "Rank"          DWORD  "0..65535"
       "Clone"         DWORD  "{0,1}"       <future - server only>
       "vlserver"      DWORD  "7003"        <future>
       "ptserver"      DWORD  ...           <future>
    
     ForceDNS is implied non-zero if there are no [servername]
     keys under the [cellname] key.  Otherwise, ForceDNS is zero.
     If [servername] keys are specified and none of them evaluate
     to a valid server configuration, the return code is success.
     This prevents failover to the CellServDB file or DNS.
    
    Registry distributed info takes precedence over the CellServDB file.
    
    Registry support has been added to both the Windows specific cm_config
    interface and the auth/cellconfig interface utilized by aklog, the
    services, and the vast majority of support commands.
    
    Enhance the DNS lookup for Cell vlserver info to support ranking info
    which is used with _vlserver._udp SRV record lookups when AFSDB records
    are not present.  Priorities become ranks.

commit c8ccb887882bc4affef02a8193e9b1ed01f885f5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 25 22:30:24 2009 +0000

    windows-libafsconf-20090525
    
    LICENSE MIT
    
    libafsconf.dll has been present since OpenAFS 1.0.  However,
    for some unknown reason the components that it consists of
    (cm_dns.obj, cm_config.obj, cm_nls.obj) have been staticly
    linked into exes and dlls all over the code base.  This commit
    removes all of the static references and replaces them with
    libafsconf.lib.
    
    libafsconf.dll is also moved from Client\Program to Common
    because it is now linked to by server and utility components.

commit d8410b56c895830d609846aec56d61dfd2efb897
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 25 21:00:18 2009 +0000

    windows-doc-man-makefile-20090525
    
    LICENSE IPL10
    
    Add a proper dependency list so that the man-pages are not
    rebuilt when no changes have occurred.

commit 20460e1391d87bdedbf1b84e233ffd5b926b5df8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 25 20:57:39 2009 +0000

    windows-make-version-20090525
    
    LICENSE IPL10
    
    remove space before "KEEP".  older versions of nmake.exe do not like it.

commit a31fd7f70f0049a180e5b02202941d3b1266c1f8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 22 17:00:33 2009 +0000

    windows-btree-flush-race-20090522
    
    LICENSE MIT
    FIXES 124787
    
    A flush operation on a directory will result in the btree being destroyed.
    This can race with on-going operations.  Make sure that the dirlock is held
    if the btree is destroyed.  Otherwise, just invalidate the btree version
    number.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    FIXES 124787
    
    correct sandbox leakage

commit 12e85227c5dbfdb1258718ee3360bffacc4f96ac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 22 17:00:26 2009 +0000

    background-fsync-consistency-issues-20090522
    
    LICENSE IPL10
    FIXES 124359
    
    avoid either reopening closed vnodes and leaving cached descriptors around,
    or discarding a reference we're not holding; instead, sync changes when the
    fd is closed, and note such has been done; otherwise, no changes from older
    code.

commit 556597af26150041e3b44ec2769ec6c962ab06db
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu May 21 19:08:23 2009 +0000

    windows-install-wix-vs2008-20090521
    
    LICENSE MIT
    
    add merge modules for VS2008 RunTime Libraries

commit 32ddb143388bb5d6bbcc1f3afc5860f0566de81c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 21 19:06:08 2009 +0000

    windows-install-wix-doc-xml-20090521
    
    LICENSE MIT
    
    replace static html documentation with auto-generated
    html help files from doc/xml/... when building en_US
    locale.

commit e4b36071ef35b73fb68db6c054e811ba7e6b65e0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 21 18:51:42 2009 +0000

    doc-xml-version-generation-20090521
    
    LICENSE MIT
    
    Replace version info in the DocBook files with a new ENTITY "version"
    associated with a local "version.xml" file which contain a <revision>
    tag for the current release.
    
    The version.xml file should be autogenerated by the Makefile system.

commit da5794d9caa47e96679c197610bd8ea2a682c338
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 21 18:25:50 2009 +0000

    config-mkvers-xml-20090521
    
    LICENSE IPL10
    
    Add a -x option to mkvers.c to permit generation of XML entities containing
    a revision tag and <revremark> tags for each delta
    
    Add autogeneration of version.xml to Windows Makefiles

commit 278f8a18305b376e1c764bb38dc0e69ba5b246e5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 21 14:33:47 2009 +0000

    windows-install-nsis-20090521
    
    LICENSE MIT
    
    Remove old documentation and start menu links before installing
    new versions.
    
    No longer install versions from src/WINNT/doc/install/... tree
    
    Install versions from doc/xml/...  Use CHM files when available.
    
    Construct new Start Menu/Program/OpenAFS/Documentation/ menu with
    links to individual documents instead of using an index.html
    top level link.

commit 716c81782eae719b43b3b90464b821b398a0f9a6
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu May 21 04:25:46 2009 +0000

    windows-make-cygwin-libs-20090520
    
    LICENSE MIT
    
    added libosi.a and libafsconf.a

commit 4e9bd3bd0ec5977609fd75d681fcc6dbd24a8c6f
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed May 20 06:03:09 2009 +0000

    windows-make-cygwin-libs-20090519
    
    LICENSE MIT
    
    Unless NOCYGWIN is defined create cygwin .a import libraries
    for each OpenAFS DLL that is constructed.

commit 85a10ffc9385240818ff9a968f308ac31ee03348
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 20 05:53:57 2009 +0000

    doc-xml-windows-20090519
    
    LICENSE IPL10
    
    remove references to xml files no longer in the repository

commit 6cc155e8da8f505443f43a312a522a64c52515e8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 19 19:40:09 2009 +0000

    krb-conf-manpage-path-fix-20090519
    
    LICENSE IPL10
    
    fix path to krb.conf, per IRC discussion

commit 7b56f2ebfc8c2e1695e007798833ad2053e08113
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 19 04:58:53 2009 +0000

    doc-xml-build-20090518
    
    LICENSE MIT
    
    Standardize the UNIX Makefiles for all of the DocBook guides.  Remove the
    rest of the generated files and switch to xsltproc and dblatex for the
    document generation in all cases.  Fix a few DocBook errors by removing
    the contents of the <index> tag and removing the unknown <pubsnumber> tag
    in the <revision> field.

commit 74585aa5003cfb42103ac8d6059137eebd2005e0
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 19 04:27:36 2009 +0000

    doc-quick-start-unix-build-20090518
    
    LICENSE MIT
    
    Use dblatex to build PDF documentation instead of docbook2html and xsltproc
    to build HTML instead of docbook2html.  Remove all the index generation
    logic, since dblatex and xsltproc handle that automatically.  Remove the
    contents of the <index> tag in the source, since neither program requires
    there be anything in there.
    
    Remove the style sheets and configuration that were used for docbook2*.

commit 8f2a8edb2aec01226d18feae71643e856bbd6470
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 19 03:36:21 2009 +0000

    windows-wix-new-man-pages-20090518
    
    LICENSE MIT
    FIXES 124800
    
    pod1/compile_et.pod
    pod1/copyauth.pod
    pod1/fs_cscpolicy.pod
    pod1/fs_getfid.pod
    pod1/fs_memdump.pod
    pod1/fs_monitor.pod
    pod1/fs_rxstatproc.pod
    pod1/fs_setcbaddr.pod
    pod1/fs_trace.pod
    pod8/rmtsysd.pod
    pod8/vsys.pod

commit 9ad6c37ccfec016df9e845972ae626a1da19dfbf
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 19 00:53:26 2009 +0000

    man-page-syntax-errors-20090518
    
    LICENSE BSD
    
    Fix some man page syntax errors that snuck into the recent round of
    updates.

commit 798ffe54af1f5798bf07947439fc62946bc2f07e
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 23:22:29 2009 +0000

    man-page-krb-varients-20090518
    
    FIXES 124799
    LICENSE IPL10
    
    Install symlinks for the *.krb versions of klog, pagsh, and tokens to the
    non-krb versions and add information about the *.krb versions to the
    non-krb man pages.

commit 6df60468130977744fea0499fba2351ef74175d8
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 21:42:26 2009 +0000

    man-page-cellservdb-updates-20090518
    
    FIXES 124794
    LICENSE IPL10
    
    Note in CellServDB man page that it's also used to populate root.afs for
    a -dynroot client.  Also document the dynamic lookup of database servers
    with -afsdb and provide some more information about when CellServDB has to
    contain the cell and when it doesn't.
    
    Mark the backup server as optional, and indicate that the authentication
    server is deprecated and CellServDB isn't required for authentication if
    Kerberos v5 and aklog are used.

commit 1df9282985949b38313f05640d9afd05948f45c4
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 21:28:26 2009 +0000

    man-page-vsys-20090518
    
    LICENSE BSD
    FIXES 124793
    
    Add man page for vsys.

commit 921774594faead45f9432af218c5f9f394a03204
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 21:22:04 2009 +0000

    man-page-rmtsysd-20090518
    
    LICENSE IPL10
    FIXES 124792
    
    New man page for rmtsysd.

commit 97b0d230145c4c5f58ef785b11bf2d201ded2d26
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 19:46:33 2009 +0000

    man-page-restorevol-20090518
    
    LICENSE IPL10
    FIXES 124791
    
    Add man page for restorevol.

commit 01ba5ab1ed24d14c1068d5dac951cbea1befba10
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 19:35:31 2009 +0000

    man-page-fs-monitor-20090518
    
    LICENSE IPL10
    FIXES 124790
    
    Add man page for fs monitor.

commit a7a80efd577d9f2a9573fe35c12ca30b59e2f375
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 19:32:06 2009 +0000

    man-page-copyauth-20090518
    
    FIXES 124789
    LICENSE IPL10
    
    Add man page for copyauth.

commit 16ec87e0b382bc8bca14ec6a70987f54899eea7f
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 19:28:05 2009 +0000

    man-page-compile-et-20090518
    
    LICENSE IPL10
    FIXES 124788
    
    Add man page for compile_et.

commit faf518ace7c8c0ec9c3269afd267afd276d69cd4
Author: Mike Robinson <mike@endpoint.com>
Date:   Mon May 18 04:34:38 2009 +0000

    man-page-yet-more-fs-commands-20090517
    
    LICENSE IPL10
    FIXES 109189
    
    Add new man pages for fs rxstatproc, fs setcbaddr, and fs trace.  Also
    updates the links from fs to its subsidiary man pages and fixes the
    fs rxstatpeer man page a bit to mirror fs rxstatproc.

commit 32c93cf55210809de92e81428bff784b07a58d44
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon May 18 03:50:00 2009 +0000

    man-page-more-fs-commands-20090517
    
    LICENSE IPL10
    FIXES 124756
    
    Add man pages for fs cscpolicy, fs getfid, and fs memdump.

commit d5c2efa499fdef6811e40e79a041a43761b3d208
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri May 15 14:30:07 2009 +0000

    man-pod-fileserver-20090515
    
    LICENSE IPL10
    FIXES 124778
    
    -L sets the max number of threads

commit b41d124409589e2890dea60963db4dc158f4d19c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 15 13:30:06 2009 +0000

    printf-format-macros-20090515
    
    LICENSE IPL10
    FIXES 124776
    
    The Windows format macro for AFS_INT64_FMT was wrong.
    It is "I64" not "l64".
    
    Also added macros for AFS_SIZET_FMT.  Although not currently
    in use.  size_t varies in size on Windows just like pointers.

commit 1f07c903055c54fb7f0a584e88cfc1c289a161c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 14 21:50:44 2009 +0000

    vol-split-no-nearinode-hint-for-namei-20090514
    
    LICENSE IPL10
    
    nearinode hint makes no sense when you're not using inode fileserver

commit fb985eefcea791ae16610c210f1ca5408b8ed62f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 14 18:47:44 2009 +0000

    doc-xml-release-notes-windows-20090514
    
    LICENSE MIT
    
    Initial take at converting the OpenAFS for Windows Release Notes
    to DocBook.
    
    Website style HTML and HtmlHelp (.chm) output is generated.
    
    Formatting of Registry Value descriptions could be improved.
    
    There is no indexing at present.

commit 8a2fcaa8f45c36a80c574a7e903e71041bbd53cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 14 05:05:29 2009 +0000

    cfileopen-cleanup-20090514
    
    LICENSE IPL10
    
    make disconnected work again. also, use static_inline macro consistently

commit 9e8e080a5c1281dfa6109700cacd13cd1c44f5ef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 14 03:25:35 2009 +0000

    doc-xml-20090513
    
    LICENSE IPL10
    FIXES 124760
    
    Remove generated HTML from the respository
    
    Update XML to support autogeneration of Index files via XSLT
    
    Add graphics referenced by generated HTML output
    
    Add top level index.html used by the docs.openafs.org web site.
    
    Add NTMakefile for AdminGuide, QuickStartUnix, and UserGuide
    that utilizes XSLT to generate Windows HTMLHelp (.CHM) and
    website appropriate HTML output.
    
    In AdminGuide and UserGuide, relabel the documentation as OpenAFS
    instead of IBM AFS.  Create a new revision entry for the OpenAFS
    docs.
    
    Incorporate updates to QuickStartUnix Appendix A

commit 070f02923cfa4e01ccb754928cdd4d02bec48720
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 13 22:34:56 2009 +0000

    ukernel-use-fsblkcnt-20090513
    
    LICENSE IPL10
    FIXES 124681
    
    blkcnt_t doesn't exist on fbsd, macos 10.3, and isn't really the right type.
    this is the right type, but also can be missing. test appropriately.

commit 2c0bf1c881f34554472982df2b74c50c4eeb7dcd
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed May 13 21:40:56 2009 +0000

    mmap-antirecursion-port-to-head-20090513
    
    LICENSE IPL10
    FIXES 124770
    
    deal correctly with the structure reorg which took place

commit 6ba44802ea6cf722c22a4784cbbad70ed6f5d60a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 12 20:40:20 2009 +0000

    pts-encrypt-option-20090512
    
    LICENSE IPL10
    FIXES 124681
    
    add -encrypt flag to pts generic options, allowing the wire to be
    encrypted if desired and the user's authenticated. document same.

commit 5e0e1ea2540d0cb7d7274350eb1fadfd41733ea4
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue May 12 18:56:30 2009 +0000

    linux-mmap-antirecursion-fix-20090512
    
    LICENSE IPL10
    FIXES 124627
    
    fix the mmap anti-recursion protection to set and mask CPageWrite appropriately
    and with the correct lock protection. this leaves us with an issue to handle
    when the mmap'd file is larger (possibly considerably larger) than the
    cache

commit 3b6bf1a05730b6383d1cef4516b94a63e802521b
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue May 12 18:18:37 2009 +0000

    freebsd-kauth-sig-t-20090512
    
    LICENSE IPL10
    FIXES 124569
    
    define the old signal type as sig_t on freebsd (e.g. everywhere we prototype as
    sig_t)

commit b967654434f4d24b50dbc96e0296d2c632f76ea3
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue May 12 18:12:20 2009 +0000

    rxdebug-print-values-unsigned-20090512
    
    LICENSE IPL10
    FIXES 124563
    
    for the values which are unsigned, use %u, not %d

commit eb9fff14c7be1b15369c6d1a44426c1c7c82c92e
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue May 12 17:58:27 2009 +0000

    redhat-use-postinit-in-initscript-20090512
    
    LICENSE IPL10
    FIXES 124552
    
    if a postinit script is defined, use it

commit 214ce7c8b488e90301e9f604b6ecc625b7000e62
Author: Felix Frank <Felix.Frank@Desy.de>
Date:   Tue May 12 17:42:24 2009 +0000

    memcache-write-on-laststore-20090512
    
    LICENSE IPL10
    FIXES 124671
    
    write back dirty pages on last store for memcache, lest we end up
    unintentionally discarding the changes.

commit c6adb0d2f32f8e8f3974b8ea3049601bf01d6877
Author: Steven Jenkins <steven@endpoint.com>
Date:   Tue May 12 17:22:49 2009 +0000

    tests-generate-dirpath-in-makefile-20090512
    
    LICENSE IPL10
    FIXES 124715
    
    fix rmcell to not have hardcoded paths; instead, generate a dirpath shell
    script from makefile and use that

commit c39f38d8c6703a9d1b9967a1bf0901db35e19267
Author: Steven Jenkins <steven@endpoint.com>
Date:   Tue May 12 14:06:14 2009 +0000

    tests-no-dirpath-infile-20090512
    
    LICENSE IPL10
    FIXES 124716
    
    Dirpath.pm.in is no longer needed

commit 4b9283a30db0c3aee943c94573b412f24894d366
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue May 12 14:02:38 2009 +0000

    openbsd-44-45-20090512
    
    LICENSE IPL10
    FIXES 124719
    
    add missing osi_free backend, missing param file, modify soreceive for 4.5

commit 947213da0ee6a0d805f0fc5eaeec0202d0bbffa4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 11 17:22:24 2009 +0000

    windows-dcache-store-data-20090511
    
    LICENSE MIT
    
    The windows dcache module synchronizes store data operations in
    order to prevent multiple simultaneous store data operations against
    the same file at the same time by multiple threads.  This is performed
    using cm_SyncOp(CM_SCACHESYNC_STOREDATA_EXCL).  However, cm_SetupStoreBIOD()
    was being processed prior to the synchronization.  As a result a dirty
    buffer could be added to two BIOD lists resulting in the same buffer
    contents being written to the file server twice.
    
    This patch moves the cm_SetupStoreBIOD() into the synchronization region.
    It also adds a new 'locked' parameter to cm_ReleaseBIOD() that indicates
    whether or not the cm_scache_t object is locked when called.  This
    permits fewer lock state changes to be used in several cases.

commit 7d530b9080f6dd4d7f7e4555ed6ce855ff81bcaa
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon May 11 15:54:50 2009 +0000

    linux26-defer-cred-changing-20090511
    
    LICENSE IPL10
    FIXES 124737
    
    Newer Linux kernels differentiate between the real and effective
    credentials of a process, and prevent a process's credentials from being
    change when the effective credentials have been set to a different value.
    When AFS notices a keyring PAG exists but no group-based PAG does, the
    attempt to rectify this, if done in a VFS call (which changes effective creds)
    triggers this issue. We defer the change to the groups to avoid it.

commit f5a97a145e09a16a9b2d3ab485f33f520235b7e9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 11 15:15:35 2009 +0000

    windows-hard-and-idle-dead-timeouts-20090511
    
    LICENSE MIT
    
    Fix conditional test that assigns value to idleDeadTimeout
    
    Modify event log message to indicate timeout could be either a
    hard or an idle timeout.
    
    As described in the source comments, do not retry on a hard or
    idle timeout.

commit 5520747790b599bc10013dc78efb81b5d50a3f52
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 11 15:04:43 2009 +0000

    windows-fs-getfid-20090511
    
    LICENSE MIT
    
    Implement "fs getfid +<path> [-literal]" on Windows.
    Same as the first line of output as "fs examine ...".

commit 326ffcc108e1db32fa2071b66ac9dbf2321ae71d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon May 11 14:39:58 2009 +0000

    linux-fh-based-cache-20090511
    
    LICENSE IPL10
    FIXES 123620
    
    rework previous fh-based cache support. now allows use of
    arbitrarily large file handles, and build correctly for UKERNEL.
    
    we now just use this if there's no iget, instead of providing a configure
    switch.
    
    because this relies on the somewhat invasive patch from 124184 it is not
    currently pulled up to 1.4.x

commit 8747236d54742c1c2fb8788c1f6aee4e657b3e89
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon May 11 14:27:42 2009 +0000

    abstract-cache-inode-ops-20090511
    
    LICENSE IPL10
    FIXES 124184
    
    previous versions had abstract functions for linux (use_fh) and osx/solaris
    (cache_vnode_path) cache file access, which was contributing to code bloat
    
    switch to a union for disk/memory cache objects, and provide functions to
    convert these into something appropriate for each system

commit fd0f1f49f27b5f92547a0d15e23efd3b2e46376d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 7 16:02:53 2009 +0000

    windows-fs-path-in-afs-20090507
    
    LICENSE MIT
    
    Switch the PathInAfs test to use VIOCGETFID instead of VIOC_GET_CELL_NAME
    so that the literal option can be used.

commit 621719905806a5883be5a17ca1af0d1929b874e3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 7 15:53:14 2009 +0000

    windows-shellext-path-in-afs-20090507
    
    LICENSE MIT
    FIXES 124742
    
    Change the PathInAfs test to use VIOCGETFID instead of VIOC_GET_CELL_NAME.
    VIOCGETFID permits a literal test of the specified object.   This is needed
    for testing the validity of a symlink to a msdfs: or non-existent path.
    Otherwise, the AFS Shell Extension context menu will not be displayed.

commit c8ac7d1c499150b3f82a6566e9bbdb7478ddd469
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 5 13:30:24 2009 +0000

    man-pages-allow-dots-consistent-20090505
    
    LICENSE IPL10
    
    make all server man pages list -allow-dotted-principals (rather than
    -allow-dotted-principal)

commit 5958aa0c4b0a9279a918cda1f37cb7e6c5666d44
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Apr 28 15:37:39 2009 +0000

    dafs-vol-offline-20090428
    
    LICENSE IPL10
    FIXES 124582
    
    fix a logic error in the dafs vos offline support

commit c4006edf4022e4f80cda5afd427d43997299c890
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 28 00:37:16 2009 +0000

    windows-smb-disable-loopback-check-20090427
    
    LICENSE MIT
    
    Now that BackConnectionHostNames can be set each time the smb listener
    threads are stopped and restarted, we need to make sure that we do not
    clear the DisableLoopbackCheck value if it was set during the same
    service session because BackConnectionHostName value changes only take
    effect on a reboot.

commit 8655541d1eb6ea7d935f50d9256e12bf90db5045
Author: Steven Jenkins <steven@endpoint.com>
Date:   Tue Apr 28 00:03:35 2009 +0000

    rename-residency-from-mrafs-to-osd-20090427
    
    LICENSE IPL10
    FIXES 124130
    
    rename mrafs commands into their equivalent osd versions; structures etc are the
     same.

commit 4836fd1e374c30b5e3be72e73b3dbd21c0c98548
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 27 21:17:59 2009 +0000

    vos-reveal-hidden-cmds-20090427
    
    LICENSE IPL10
    
    vos hides "online", "offline", "delentry -noexecute", and "addsite -valid".
    All of these are currently documented in the man pages without warning.
    Reveal them.

commit 2f5ac61b0a8775c58536ee954f2208ab88d0b225
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 27 20:17:12 2009 +0000

    dprintf-rename-20090427
    
    LICENSE IPL10
    FIXES 124657
    
    make dprintf be afs_dprintf to fix for fedora 11 and probably others

commit 758366c26a0d1b2e97449ab858e15da8cc0d73f0
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Apr 27 19:37:25 2009 +0000

    netinfo-fake-address-text-20090427
    
    LICENSE IPL10
    FIXES 124699
    
    explain fake address support for NetInfo files

commit 25f13f38064bf38ed89332b38c53c740475db87d
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Apr 27 19:29:09 2009 +0000

    dragonfly-bsd-userland-20090427
    
    LICENSE IPL10
    FIXES 124702
    
    add support for dragonflyBSD's userland

commit aea52af634dd20c1cff1a6347ac24770ae727328
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Apr 7 17:16:43 2009 +0000

    linux-2-6-30-support-for-head-20090407
    
    LICENSE IPL10
    FIXES 124592
    
    make proc dir entry owner field only be initialized when it exists

commit b4b61821081d809bb3a737f9e23964f4f99b3c58
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 7 15:05:30 2009 +0000

    windows-smb-registry-config-20090407
    
    LICENSE MIT
    
    Move configureBackConnectionHostNames() to smb_StartListeners()
    so that when the NetbiosName changes while the service is running
    the new values can be set.
    
    Add configureExtendedSMBSessionTimeouts() which configures new
    SMB functionality added in a Win2003 post-SP2 hot fix.

commit 473149653ee3ef0c67510746131e75839846cf38
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 7 14:00:56 2009 +0000

    rx-internal-use-static-inline-macro-20090407
    
    LICENSE IPL10
    
    some platforms can't use "static inline"

commit 62bca1123fb471ca1eec58b448fd39f7f797638a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 6 23:52:52 2009 +0000

    avoid-buffer-overflow-on-rx-fixed-size-array-return-20090402
    
    LICENSE IPL10
    FIXES 124579
    
    avoid potentially writing beyond allocated memory if a return is larger than expected

commit 160619505de3dbf70f0f0c4a813098113eb42129
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Apr 6 23:50:15 2009 +0000

    linux-avoid-returning-invalid-pointers-on-error-20090402
    
    LICENSE IPL10
    FIXES 124580
    
    avoid returning a positive error as it will look like a pointer.

commit 9a0b3da255032f177dfedb650c7a0b65cff24fba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 6 22:47:49 2009 +0000

    windows-pioctl-subst-unc-20090407
    
    LICENSE MIT
    
    Add code to support determining if a drive substitution refers to
    a UNC path.

commit aad7a2c5858a94672db6c23f508e404e236e4142
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 6 18:24:48 2009 +0000

    windows-smb-trace-20090406
    
    LICENSE MIT
    
    include the correct function name in a
    trace message

commit ac199c845e6771c627dfb5e7efc0cdd8c5356df9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 5 13:54:04 2009 +0000

    windows-test-torture-stack-overflow-20090405
    
    LICENSE MIT
    
    avoid stack overflow.

commit 59945d1cb5f14baf9ab0008990079e1dde9a796d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 5 06:25:08 2009 +0000

    windows-tests-torture-20090405
    
    LICENSE MIT
    
    replace the VOLSTAT online test with the PATH_AVAILABILITY
    online test.  We do not care of the volume is offline on the file
    server if the cache manager has current data to serve.

commit ffe04f710b41120f1bbd843c73ee2d95bc179d9c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 4 21:16:27 2009 +0000

    windows-smb-error-map-20090404
    
    LICENSE MIT
    
    For CM_ERROR_BADSHARENAME return BAD_NETWORK_PATH instead
    of BAD_NETWORK_NAME.  The latter refers to the server name
    and the former to the share name.   Returning BAD_NETWORK_NAME
    will causes the smb redirector to break its connection to \\AFS.
    
    For CM_ERROR_ALLOFFLINE and CM_ERROR_ALLDOWN return PATH_NOT_FOUND
    instead of BAD_NETWORK_PATH.  We don't want the smb redirector
    to tear down all open files just because some volume in the path
    is inaccessible at the moment.

commit 4ecaeaac97a48c36df3866f1f71eb8a95c8f6e51
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Apr 4 17:43:42 2009 +0000

    linux-key-alloc-no-pointer-arith-20090404
    
    LICENSE IPL10
    
    make the key_alloc configure test work

commit f6b4902daeb731eb01de44464476cb0a3edb26b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 3 03:56:36 2009 +0000

    windows-afsd-no-more-ods-20090402
    
    LICENSE MIT
    
    Any use of OutputDebugString() in production can result in serious
    delays in the execution of the thread that issues the call.  Remove
    the last of the unprotected calls within afsd_service.

commit fc408da993e753d33336ab408167383a75ed97f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 2 08:44:51 2009 +0000

    windows-rx-xmit-20090402
    
    LICENSE IPL10
    
    permit compilation with Windows SDK v6.0/6.1 which hides
    previously exposed XP symbols unless _WINNT_WIN32 is at
    least 0x0501

commit 0700567eef0c52b1b8892454b72c5123fe0514b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 2 08:40:06 2009 +0000

    windows-src-makefile-two-20090402
    
    LICENSE MIT
    
    get the i386 case right
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    fixup the @echo again

commit 27aedf7a2cfb04f49b6b8f3c9cabc3d6cdb91c78
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 2 06:06:44 2009 +0000

    windows-src-makefile-20090402
    
    LICENSE MIT
    
    remove extraneous echo command output
    
    do not attempt to build NSIS target on non-x86 platforms
    since support is not implemented

commit 8673c0de48140b8cd148bf3ea47094968ffbda8b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 2 06:04:48 2009 +0000

    windows-config-clean-20090402
    
    LICENSE MIT
    
    permit "nmake -f ntmakefile clean" to complete on a
    clean source tree.

commit d86247619136d3080eb6be08fd8c077bc2afc68b
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Apr 1 23:56:16 2009 +0000

    windows-install-loopback-20090401
    
    LICENSE MIT
    
    Define INCLUDE variable and reorder binary link order
    to ensure compatibility with latest WDK/SDK combinations.

commit d8a8bfb5c3b49980135b9da26082fa668640ec0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 1 18:36:29 2009 +0000

    windows-talocale-20090401
    
    LICENSE MIT
    
    perform proper casting to avoid a warning

commit 520fef4278bd43073782e1c75f67900f96fa6ddf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 1 18:30:29 2009 +0000

    windows-afsd-smb-logging-20090401
    
    LICENSE MIT
    
    Add more info about the smb request to the log entry
    that is written to afsd_init.log if the request took
    longer than 45 seconds to complete.

commit 37f582326c1c5d5363a988f7038af0b62d0fb3ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 1 18:29:15 2009 +0000

    windows-afsd-priority-class-20090401
    
    LICENSE MIT
    
    Change the default priority class for afsd_service.exe to High.
    This matches the priority class assigned to other system processes
    that generate requests to afsd_service.exe.
    
    Permit the ..\TransarcAFSDaemon\Parameters "PriorityClass"
    registry value to be used to change the default.

commit d7749751df230d919188546106b61bd2dbb8974c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 1 17:37:50 2009 +0000

    xdr-free-20090401
    
    LICENSE MIT
    
    add xdr_free() and export it from afsrpc.dll.  This permits applications
    to free memory allocated within the xdr routines with the same run time
    library memory management routines as was used to allocate it.
    
    This is necessary on Windows to prevent memory corruption.
    
    VL_GetAddrsU() is an example where a xdr array is allocated in the
    library and must be freed by the application.

commit 3d81394f9106b187c28e35328676e11b662025c6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 1 17:35:29 2009 +0000

    windows-afsd-xdr-free-20090401
    
    LICENSE MIT
    
    make use of xdr_free() to release memory allocated within afsrpc.dll.
    this prevents crashes when the library is built with a different
    runtime library version than the application.
    
    fix signed/unsigned warnings in the same code snippet

commit 84871adb4bb3f8d1d50127255da75629e2167977
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 31 13:41:25 2009 +0000

    dynamic-vcache-no-printf-20090331
    
    LICENSE IPL10
    
    no printf in releases

commit d0a166bdffce2d2498cab54cc458d9489d05c299
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Mar 31 13:16:17 2009 +0000

    linux-2630-maybe-20090331
    
    LICENSE IPL10
    FIXES 124560
    
    hopefully support 2.6.30 when it's released

commit 07c187c84384635413e6353dc9913a8826f25bb5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 28 23:25:16 2009 +0000

    windows-afsd-log-smb-mid-20090328
    
    LICENSE MIT
    
    For each SMB transation log the 'mid' field of the smb packet.
    The 'mid' field can be used as a reference against the mrxsmb request
    logging for debugging purposes.

commit 4bc36a697fffe78cc0ec93cb9cf98772aeadfcb6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 28 23:17:29 2009 +0000

    windows-remove-reset-all-vcs-event-20090328
    
    LICENSE MIT
    
    remove the smb reset all VCs message.  duplicates the
    reportSessionStartups functionality.

commit 27609fe288eb20f30e1f17a709a07468a74372eb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 27 17:58:02 2009 +0000

    windows-afsd-symlink-20090327
    
    LICENSE MIT
    
    Increase max symlink limit to 64 and remove the repeated fid
    recursion test.  Breaks too many things.

commit 977674dfb0470de693e5e7700c614c3b68317efa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 25 01:15:20 2009 +0000

    volser-new-is-special-20090324
    
    LICENSE IPL10
    
    Do not permit the word "new" to be used for a field name as it is
    special.  Our headers get pulled into C++ compilations.

commit a523710780d54b27fc61db0fd1a561f789871046
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Fri Mar 27 15:47:23 2009 +0000

    uss-kvno-warning-fix-20090327
    
    LICENSE IPL10
    FIXES 124220
    
    suppress bogus kvno warning in uss

commit 9243308990dc93ef3f42b9d024b9b02568881468
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 27 15:45:27 2009 +0000

    linux-flushpages-call-truncate-inode-pages-after-all-20090327
    
    LICENSE IPL10
    
    in this case we're discarding just the data in case it's stale, so this is
    correct

commit 3fcbdab1889f2674f1229cb551afeafc6f06b66a
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Mar 27 13:45:49 2009 +0000

    bucoord-update-kvno-check-20090327
    
    LICENSE IPL10
    
    update kvno check in bucoord to match what it is elsewhere

commit 4ced67ca980218e27aa4033f31a9d238590919d5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Mar 26 23:42:03 2009 +0000

    vol-proto-do-not-break-dafs-20090326
    
    LICENSE IPL10
    FIXES 12540
    
    Reenable prototype of VolumeExternalName_r for dafs

commit 8cc60f4931f1b62c84d0a74d0fbbbfd0ea582a91
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Mar 26 21:33:50 2009 +0000

    state-analyzer-usage-20090326
    
    LICENSE IPL10
    FIXES 124539
    
    fix usage for state-analyzer

commit d4359ad72aee9839ee019165a3fb37c9cfae3b4d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 26 14:30:13 2009 +0000

    return-values-missing-fix-20090326
    
    LICENSE IPL10
    FIXES 124194
    
    add return values for functions missing them

commit 80494f5096d231e1e032229732f2d94ba569718e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Mar 25 19:34:38 2009 +0000

    cbr-free-what-you-alloc-20090325
    
    LICENSE IPL10
    FIXES 124531
    
    dequeue and free items as alloc'd

commit 4162ff9d4d733afc788b3c002adc57aac78a3282
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 22:40:05 2009 +0000

    shutdown-vcache-avoid-null-deref-20090324
    
    LICENSE IPL10
    
    avoid potential null pointer deref at shutdown

commit cc0922c26fcbeebe73d4df422db65a550a9c6bf8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Mar 25 18:42:17 2009 +0000

    redhat-spec-update-20090325
    
    LICENSE IPL10
    FIXES 123650
    
    install afszcm.cat, update CellServDB

commit 78e29484eb67deb8c19e4549eabaa27a3527fcf6
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Mar 25 14:34:38 2009 +0000

    copyonwrite-optimization-fix-20090325
    
    LICENSE IPL10
    
    update to do tail case

commit db844c458457a0bbcff81e9dbff362784db6958a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 24 22:36:09 2009 +0000

    vol-split-warnings-no-win-20090324
    
    LICENSE IPL10
    
    remove many warnings
    
    disable on Windows since there are missing dependencies in ntops.c

commit 5e770d6d18eacd5e4e70dd95853e4f1d99c54df2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 18:20:23 2009 +0000

    volser-split-namei-only-20090324
    
    LICENSE IPL10
    
    make vos split be namei-only

commit 1f83528147ee47addd926ae729ee36520d1e82e5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 17:55:48 2009 +0000

    vol-split-nearino-20090324
    
    LICENSE IPL10
    
    add nearInode hint

commit 9a697699b487066f04783194771774db42ecfba9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 14:23:58 2009 +0000

    vfsck-needs-fd-t-defn-20090324
    
    LICENSE IPL10
    
    make vfsck build again

commit 4df81d17bfbc1e2437883260c350be2631002ec0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 14:21:56 2009 +0000

    volser-prototype-cleanup-20090324
    
    LICENSE IPL10
    
    make prototypes and return values etc match

commit ba742892e2102cf545157e9c97df10799a58403e
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Mar 24 13:36:23 2009 +0000

    volserver-split-volume-functionality-20090324
    
    LICENSE IPL10
    FIXES 124520
    
    implement the server side of vos split

commit 71a73608b1393a5f7f333cb680608d8a1f03a3f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 12:43:05 2009 +0000

    fssync-enum-syntax-20090324
    
    LICENSE IPL10
    
    no trailing comma

commit 63b0d495cfc6362bced7b2492310cf1a0bf684b0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 04:31:13 2009 +0000

    fd-t-definition-fun-20090323
    
    LICENSE IPL10
    
    make FD_t be defined everywhere we need it

commit ede1c215d16d394fcd0afb7aacd827680be56cf6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 24 03:43:59 2009 +0000

    viced-threadnum-return-cast-20090323
    
    LICENSE IPL10
    
    cast return type from threadNum

commit a209012f1a3f83959f9df14ebad4aa2b50bacae0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 23 22:47:36 2009 +0000

    vol-lock-fd-type-20090323
    
    LICENSE IPL10
    
    the lock_fd field of DiskPartition[64] is a file descriptor.
    On Windows this is a HANDLE and on *nix platforms an int.
    OpenAFS uses the FD_t type to provide platform specific type
    info for file descriptors.  Use it for the lock_fd field and
    the salvageLock in ObtainsSalvageLock().
    
    Finally, the on the wire diskPartition[64] struct in volser/volint.xg
    also contains a lock_fd field.  This is an on the wire field and
    must be left at a fixed width of 32-bits.  Since a file descriptor
    is not portable across machines we truncate the 64-bit HANDLE value
    to fit in the 32-bit lock_fd field when necessary.

commit aa8d735b8707e2bf9142699fd25034655c821f96
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 23 22:42:48 2009 +0000

    vol-fssync-server-socket-20090323
    
    LICENSE IPL10
    
    GetHandler() sets up a fdset and returns the max socket fd
    which is used with select().  Windows ignores the numfd param
    (first param) of select() and therefore computing the max fd
    value is meaningless.  We can avoid a number of casts by
    not attempting to treat this value as osi_socket.

commit 1d4542f93bae6b59e7d4321c23a2551fa43416ba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 23 22:38:16 2009 +0000

    libadmin-vos-ihandle-20090323
    
    LICENSE IPL10
    
    include afs/ihandle.h in order to gain access to the FD_t definition

commit 4d9f5731c9ec6c50154da9784df0631a65dd9a9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 23 19:53:46 2009 +0000

    volser-fcn-return-types-20090323
    
    LICENSE IPL10
    
    make internal functions have correct return types

commit 3e15ed48d305a5fedb1af552459cf5bbe1b95a40
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 23 19:39:59 2009 +0000

    printf-sanity-args-20090323
    
    LICENSE IPL10
    
    fix type specifier for correct arg

commit 62f4c29eef578b7f3df143f3ddd04307d8f2271f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 23 19:11:16 2009 +0000

    disconnected-put-back-vcaches-we-held-20090323
    
    LICENSE IPL10
    
    if we hold a vcache for shadow, we need to release the ref when we give it up

commit ad20213bbba4083160a88c2f65e5e8c8de259266
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 23 18:59:53 2009 +0000

    disconnected-dont-double-dequeue-shadow-removal-20090323
    
    LICENSE IPL10
    FIXES 124496
    
    queue_Remove twice tends to cause things like panics

commit 7a7b55658b7c72eef0f9b495f02ce766c9961d6e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 23 18:46:40 2009 +0000

    viced-type-fixups-20090323
    
    LICENSE IPL10
    
    SetLogThreadNum takes a fcn returning int.
    get_key's first arg is a void*

commit c39d0161552bf69affe839fcb36dfb858dbaedc1
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Mar 23 18:18:44 2009 +0000

    volid-unsigned-int32-20090323
    
    LICENSE IPL10
    FIXES 124510
    
    assume volume ids are always unsigned 32 bit values

commit 4830a7c8d79c72dcd5d8ce4bab6b8c0a8b249d96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 23 15:16:30 2009 +0000

    linux-task-becomes-task-struct-20090323
    
    LICENSE IPL10
    
    struct task->struct task_struct. configure needs to cope

commit 39c4e32bf484aab2c9cf978cbf5877bdb989e9d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 21 16:29:46 2009 +0000

    krb5-run-configure-tests-20090321
    
    LICENSE IPL10
    FIXES 124522
    
    --with-krb5=/path caused us to not run configure tests. fix that

commit c1d545dff6483369ade640b27b9ab7baaa6faac5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 21 15:49:07 2009 +0000

    aix-no-aklog-tsm-without-krb5-20090320
    
    LICENSE IPL10
    FIXES 124522
    
    don't build aklog_dynamic_auth without krb5

commit 4398d6277dacde8464c0db7a73d5ecb37039823f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 21 15:45:41 2009 +0000

    rx-prototypes-alloc-free-ifdefs-20090321
    
    LICENSE IPL10
    
    don't prototype osi_Alloc/osi_Free if they're just #defines

commit 4bf68765b6d2a04c388ae9a5e6f134c0505a785b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 21 15:39:05 2009 +0000

    sig-t-exclude-multiple-20090321
    
    LICENSE IPL10
    
    disallow multiple typedefs of sig_t

commit b1aaf822f558236b91e543f03bcf159db1054c0b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 21 15:07:41 2009 +0000

    update-config-guess-20090321
    
    LICENSE IPL10
    
    update from upstream

commit 3e034dcb6cbb82ef78853a342bd2c459250e0bcd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 20 22:44:54 2009 +0000

    aix51-pag-header-20090320
    
    LICENSE IPL10
    FIXES 124522
    
    no sys/pag.h until 5.2

commit 73a57e8013c67d5760c677c6aef36611af076af0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 17:25:21 2009 +0000

    vol-fssync-server-socket-20090320
    
    LICENSE IPL10
    
    another location where we need osi_socket

commit b2db1e83c1b4b66ee4f7fb22a6211f849f0e5dd4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 17:21:51 2009 +0000

    libadmin-client-prototype-20090320
    
    LICENSE IPL10
    
    correct the prototype for afsclient_RXDebugOpenPort

commit 218f08ffedb8c75e0314ab00000adf8419fdfe7b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 17:10:06 2009 +0000

    xstat-printf-ptr-format-20090320
    
    LICENSE IPL10
    
    make use of AFS_PTR_FMT to avoid warnings on Windows.

commit 37fc3b01445cd6446f09c476ea2db47fea544b7d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 17:09:01 2009 +0000

    config-afs-ptr-format-20090320
    
    LICENSE IPL10
    
    Define AFS_PTR_FMT to permit per platform printf formats for pointer
    representation.

commit 18da64a45c5f1a069f39f687bd84ee51b77a6bd3
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 20 15:55:38 2009 +0000

    linux-osi-vm-flushpages-use-remote-invalidate-20090320
    
    LICENSE IPL10
    
    use invalidate_remote_inode instead of vmtruncate in osi_VM_FlushPages

commit 6ef7d7dfb8caf4a555c2de480037769783cbe88e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 20 15:04:08 2009 +0000

    dyn-vcache-shake-needs-exporting-20090320
    
    LICENSE IPL10
    
    update to export shakeloosevcaches

commit 0cd43484be886721c0c4d9750f0b40015ba60756
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 12:15:01 2009 +0000

    vol-fssync-socket-20090320
    
    LICENSE IPL10
    
    the argument to the function parameter is a socket.  fix the type
    to be osi_socket.

commit 64c451cec0ccce8d095109a8697144be093c1259
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 11:51:55 2009 +0000

    libadmin-vos-windows-exports-20090320
    
    LICENSE IPL10
    
    do not export function name arrays that are already
    exported by other libraries.

commit 5eea839b637a120e9b10246511b3d826a1e49a0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 11:49:27 2009 +0000

    libadmin-client-prototypes-20090320
    
    LICENSE IPL10
    
    fix the prototype for afsclient_RPCStatOpenPort and afsclient_CMStatOpenPort

commit 14a60754951b7b4920ba1dfcf9c9aac99ae8bce4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 11:47:00 2009 +0000

    libadmin-windows-socket-20090320
    
    LICENSE IPL10
    
    a socket on Windows is type SOCKET not HANDLE

commit df961512e1162188a60cec613dd273e25dbf63c9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 11:44:29 2009 +0000

    windows-osistatl-20090320
    
    LICENSE MIT
    
    Add lock level to osistatl

commit e460a6e30539086ff3c4bdb264ab57f6e045ad71
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 20 05:30:12 2009 +0000

    static-inline-macros-20090320
    
    LICENSE IPL10
    FIXES 124515
    
    add back support for AFS_64BIT_ENV

commit ef5f6f988c352db58e8b9df422b417cc199b4837
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 20 03:48:52 2009 +0000

    ubik-recovery-use-file-number-not-hardcoded-zero-20090319
    
    LICENSE IPL10
    
    don't hardcode DB0, use the file number which is being recovered

commit 4eef62a2f29d81d4fd8c3d28beb0403499f9802e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 20 03:12:11 2009 +0000

    param-file-64-bit-scalar-updates-20090319
    
    LICENSE IPL10
    
    64 bit scalar type availability

commit e59b81c984652f7570708831d8b36bdd42f98cf8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 20 02:30:49 2009 +0000

    dynamic-vcache-allocation-20090319
    
    LICENSE IPL10
    FIXES 124334
    
    add dynamic allocation of vcaches when possible (currently just for linux)

commit 79d362c77cfc307dc66bfe874952a914e2313e89
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 19 20:12:53 2009 +0000

    cbd-new-magic-version-with-fixed-time-size-and-dump-switch-20090319
    
    LICENSE IPL10
    FIXES 124451
    
    make cbd able to select whether time is 32 or 64 bit; when time size is
    known, have a new magic number so it's obvious

commit fe98c927d3888814077b085e53725f15996cd1b9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 19 18:03:41 2009 +0000

    bozo-fs-create-unused-ptr-20090319
    
    LICENSE IPL10
    
    add an "unused" field so we match the prototype for create in the bnodeops
    struct

commit 101399171b5a5315cb3f1fdd003d56f0ca214bc8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 19 17:44:39 2009 +0000

    static-inline-macros-20090319
    
    LICENSE IPL10
    
    rework the static inline macros to work with headers, with userspace code,
    and to have just one copy

commit a343f09803a4b3d5c5492c7d52becbd1526c1f8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 19 14:58:22 2009 +0000

    viced-type-errors-20090319
    
    LICENSE IPL10
    
    use ktc_encryptionKey instead of a char array to avoid prototype issues
    threadNum should return int, not char

commit 3d54f743bce4c1bd603e9572790f51e85905dabb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 19 14:42:39 2009 +0000

    linux-put-back-warnings-20090319
    
    LICENSE IPL10
    
    need to verify this for all platforms at the same time; since the function
    is portable. should be const anyway; we don't want to change it.

commit bf9dc554b366b08ce0bef62ce242c94371938000
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Mar 19 04:02:18 2009 +0000

    linux-key-alloc-changes-20090318
    
    LICENSE IPL10
    FIXES 124507
    
    Fix the old configure test for key_alloc for the task argument - we
    can't just rely on the number of arguments anymore. Wish this could be
    done without using -Werror.
    Add an additional test for the struct cred argument

commit aaae44dfe993d95a253b35f60feab5e9806e51f2
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Mar 19 03:57:42 2009 +0000

    mypidxx-not-always-int-20090318
    
    LICENSE IPL10
    FIXES 124505
    
    don't assume MyPidxx will be an int; on linux it's current, for instance, a
    task_struct

commit 156f1b8e4a3607a49de45ca43a52f42a21cdaab8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Mar 19 03:53:31 2009 +0000

    discon-ifdef-cleanup-20090318
    
    LICENSE IPL10
    FIXES 124508
    
    fix the disconnected ifdefs

commit be4d4076f281840070a908a7da10f4cab70cea62
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 18 22:46:21 2009 +0000

    printf-sanity-20090318
    
    LICENSE IPL10
    
    make it work for Windows

commit 85d8bdac7439966a64709724d20dfd487911f7bc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Wed Mar 18 13:41:07 2009 +0000

    linux-warning-reduction-20090318
    
    LICENSE IPL10
    FIXES 119434
    
    cleanup warnings in linux kernel builds

commit 09b23c27a7b59a32b8e39bbc0410ddda373da5d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 18 03:56:12 2009 +0000

    windows-afsd-badsharename-20090317
    
    LICENSE MIT
    
    When Dfs support is enabled in the smb server do not return
    CM_ERROR_BADSHARENAME unless the component that is not found
    is in fact a share name.  Return CM_ERROR_NOSUCHPATH instead.

commit f26074cbde320fbc89da291e0aa243c2301bb599
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 17 15:44:15 2009 +0000

    configure-cpp-fallback-to-cc-E-20090317
    
    LICENSE IPL10
    
    if we don't find any cpp whatsoever, fall back to $CC -E, or cc -E

commit 57326151f50270695c572afa06c1d4b4b5df40b0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 17 15:10:23 2009 +0000

    prototyping-fallout-20090317
    
    LICENSE IPL10
    
    clean up to make prototyping code build everywhere

commit b7372c3e1473ffcd4ab13451d3861103b51df3af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 17 15:09:49 2009 +0000

    solaris-vnode-path-cache-cleanup-20090317
    
    LICENSE IPL10
    
    declare needed variables everywhere

commit 355344253605925972ea032d05dcb5fee3d8c3b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Mar 17 04:51:40 2009 +0000

    printf-sanity-20090317
    
    LICENSE IPL10
    FIXES 124239
    
    sanitize the arguments to printf to minimize warnings

commit 9fa77320ca368af97162d561bb7560b9fa55666a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 17 04:49:35 2009 +0000

    vol-socket-abstraction-20090317
    
    LICENSE IPL10
    
    windows needs the abstraction for sockets

commit 8aa03f1168c19166333a47e88e667a8ca5138133
Author: Steven Jenkins <sjenkins@sinenomine.net>
Date:   Tue Mar 17 03:06:52 2009 +0000

    tests-update-20090316
    
    LICENSE IPL10
    
    1- make afs-newcell.pl remove KeyFile in unwind
    2- correct missing space in volserver setup for DAFS
    3- fix klog to not try to use a Kerberos realm name
    4- fix minor POD bug in src/tests/OpenAFS/wrapper.pm
    5- enhance src/tests/OpenAFS/vos.pm to support On-line/Off-line state

commit e7b25342096994520b7cea8eab76791edc68b9aa
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 17 02:31:24 2009 +0000

    gtx-x11-init-debug-20090316
    
    LICENSE IPL10
    
    initialize x11 version of gtx correctly

commit 85bb464bb46cd87e10a90b75748e164ae683cba0
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Mar 17 02:21:14 2009 +0000

    man-page-vos-setfields-20090316
    
    LICENSE BSD
    FIXES 124472
    
    New man page for vos setfields.  Also adds -noresolve documentation to the
    vos(1) common flags.

commit d26b3688625231465e17e39f082ed31f230dc667
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 19:59:36 2009 +0000

    disconnected-cache-type-genericization-miss-20090316
    
    LICENSE IPL10
    
    the cache type union change missed this town...

commit a3125d5752390d424fc828d6f87da3c67589a9bb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 19:50:49 2009 +0000

    ubik-header-needs-stdarg-20090316
    
    LICENSE IPL10
    
    like com_err.h, includers now need this

commit 143819664227f239c9cc07503c9fad1faa5ba9a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 16 18:13:21 2009 +0000

    windows-afsconfig-20090316
    
    LICENSE MIT
    
    add typedef for socklen_t which is not present on Windows.

commit 6862d4685510ca618c16ed9c150dcfc7e31d5299
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 17:54:12 2009 +0000

    irix-no-inline-20090316
    
    LICENSE IPL10
    
    no inline on irix; deal like elsewhere

commit 0e89bfb934863e6ab852b24422fa2c8f8c328120
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 16 17:52:31 2009 +0000

    rxstat-include-path-20090316
    
    LICENSE IPL10
    
    do something sensible with rxstat prototypes header

commit 0097888d53b71ef38491d71c3259ca9b5ac5dfa3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 17:21:49 2009 +0000

    bucoord-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124238
    
    prototype the bucoord directory

commit 8377e2e34d750ef1318969f4a59b002920dc2d70
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 17:17:17 2009 +0000

    bubasics-prototype-getsize-correctly-20090316
    
    LICENSE IPL10
    
    fix prototype of getSize op

commit 2d683a880bf5f30db22862f0f6add14142dbcf9a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 16:14:12 2009 +0000

    socklen-t-check-20090316
    
    LICENSE IPL10
    
    verify we have socklen_t and if not, get it

commit 3eec4075102b18bac036c33c9acb155e44c23f08
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 16:09:34 2009 +0000

    fssync-abstract-fd-type-20090316
    
    LICENSE IPL10
    
    apparently 64 bit windows has 64 bit fds

commit 7815171a8d300d550dd61c2db0f329b19390cf16
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 15:48:20 2009 +0000

    irix-no-sig-t-20090316
    
    LICENSE IPL10
    
    correct the sig_t checking macro

commit a5daae759d6b513f27f4fe3ab255ea7b4497ff41
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 15:17:12 2009 +0000

    kauth-needs-sys-for-headers-20090316
    
    LICENSE IPL10
    
    get sys's header for kauth

commit 97fad3a313088cb0ca5c4966fb9d24dedbecf146
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 15:06:54 2009 +0000

    rxstat-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124235
    
    prototype the rxstat directory

commit 92cd63b0b7cd26f05e6f316a6d209e4e5d0bfaa2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 14:41:22 2009 +0000

    vol-no-cast-macro-20090316
    
    LICENSE IPL10
    
    afs_cast_uint32 doesn't exist, not sure we need it

commit f076eb4f88a8e3b7633c21edb3921f4f08eefa6b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 16 14:19:39 2009 +0000

    budb-no-pointer-math-on-void-star-20090316
    
    LICENSE IPL10
    
    can't do pointer math on void*; already casting to char* anyway

commit 95d639b19452001835097fe4e0189efe5d8d08be
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 16 14:12:37 2009 +0000

    auth-unistd-not-on-windows-20090316
    
    LICENSE IPL10
    
    don't include unistd on windows

commit 6e569d2518dba2f947626b40597c71e9798936b7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 14:00:56 2009 +0000

    sys-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124233
    
    prototype the sys directory

commit 129905960db523e0a6365175bf0ce066fdbd60fd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:49:15 2009 +0000

    gtx-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124243
    
    prototype the gtx directory
    utilize in scout

commit 2b6d173530f38fba6ac9d2cc3459d7088a248f4f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:45:11 2009 +0000

    butm-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124241
    
    prototype the butm directory

commit f239bf808f63bb6a22e53696e9927ba2e4121c75
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:43:34 2009 +0000

    uss-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124248
    
    prototype the uss directory

commit bd00e10eb7caf66de33640bf06722d0169231703
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:41:23 2009 +0000

    budb-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124240
    
    prototype the budb directory

commit 14c3d5ed9179574692a0f7a5cc15d625083e3cf8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:39:03 2009 +0000

    bubasics-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124237
    
    prototype the bubasics directory
    make the volser prototypes available for bubasics to use

commit 4fdda50ca7ea47d5b4b8a5cd31797b527deb148f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:28:55 2009 +0000

    dir-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124242
    
    prototype the dir directory

commit cff2da10d6f2c4b568c07a331ceb96cbf952576a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:26:20 2009 +0000

    libadmin-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124246
    
    prototype the libadmin directory

commit 0a8f1e16ae1a18094fa28521f29bee911aa6dcfb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:24:25 2009 +0000

    venus-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124250
    
    prototype the venus directory

commit 379162ec07cc76550e9690f3631cc00b931744f7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:22:15 2009 +0000

    scout-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124253
    
    prototype the scout directory

commit 0dcdbf6dcda0814a5f24e84d4ef98ffc2279eff1
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:19:47 2009 +0000

    bozo-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124236
    
    prototype the bozo directory

commit 01e03837b81843c4f28eb6cc54811b1bd231514c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:17:33 2009 +0000

    auth-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124234
    
    prototype the auth directory

commit 242aa845a149d5132047e44d074064093fd2d61b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:13:45 2009 +0000

    afsd-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124231
    
    prototype the afsd directory

commit f28659bd826c2bb7311c84122262000caf33316c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:11:42 2009 +0000

    vol-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124252
    
    prototype the vol directory

commit 79448c25acead55728f40beec18e00113d8356f4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 13:08:38 2009 +0000

    ptserver-prototypes-20090316
    
    LICENSE IPL10
    FIXES 124249
    
    prototype the ptserver directory

commit a0179b07096014e31ba6ecf1643a9cf67ba45a24
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 16 12:37:09 2009 +0000

    ubik-prototype-fallout-20090316
    
    LICENSE IPL10
    
    make things happy again

commit 61dadb6458ec95b5bf4bd4250520453630fbbe4c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 16 03:44:36 2009 +0000

    irix-lacks-sig-t-20090315
    
    LICENSE IPL10
    
    sig_t is missing on irix

commit 596614dd76aa5107f6cd30c67a79b371be48f504
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 03:10:21 2009 +0000

    viced-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124251
    
    prototype the viced directory

commit d5158b2ccb78fc7df0a346c7a5dd5b7cb5d0b58b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 03:03:14 2009 +0000

    ubik-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124245
    
    prototype the ubik directory

commit b18ec965dd58331eb32599a21e882fbe43a8257e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 02:53:55 2009 +0000

    fsprobe-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124254
    
    prototype the fsprobe directory

commit 8952e3d64d8099a5238be3ccf9cb56a7c0d1a2df
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 02:42:34 2009 +0000

    libacl-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124256
    
    prototype the libacl directory

commit 2e4326e20ebadc2cb9b3efd117454bc422cdc63d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 02:35:29 2009 +0000

    kauth-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124257
    
    prototype the kauth directory

commit 12a60258f5ae680440b2a93369ca676359c888d4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 02:26:28 2009 +0000

    rxgen-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124255
    
    prototype the rxgen directory

commit 47451b4c2009c51160686b4aca1b28b7011ba92f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 02:00:27 2009 +0000

    util-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124247
    
    prototype the util directory

commit 00fd29251e9326bd81d46387337ca014a118f7ec
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 01:38:07 2009 +0000

    audit-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124232
    
    prototype the audit directory

commit c560efe73f79e396866918ee072849065ab70838
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 16 01:34:36 2009 +0000

    des-prototypes-20090315
    
    LICENSE IPL10
    FIXES 124230
    
    prototype the des directory

commit 0c39a855a2da7b3e82970c65f835eed38b650215
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Sun Mar 15 18:50:00 2009 +0000

    viced-copyonwrite-optimization-20090315
    
    LICENSE IPL10
    FIXES 124397
    
    optimize CopyOnWrite to avoid rewriting data if possible

commit 6308037dec22d5a141fc64a11472b1a36585deb2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 15 18:42:13 2009 +0000

    cellservdb-proc-file-glocking-20090315
    
    LICENSE IPL10
    FIXES 124407
    
    hold GLOCK appropriately when dealing with the proc file

commit 5102d56f080f1284eecb94dbc7c06cb966c27f5b
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 15 18:30:41 2009 +0000

    viced-improve-host-hashing-20090315
    
    LICENSE IPL10
    FIXES 124447
    
    hash based on host byte order so intel machines aren't sad

commit fd6d954e95e016a78001e9bc12c4646ba8183e12
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Sun Mar 15 18:19:15 2009 +0000

    butc-xbsa-buffersize-20090315
    
    LICENSE IPL10
    FIXES 124425
    
    restrict buffer size to allow for header space

commit 22c5edb1b22dbeee28b569ceefb543ab5ffed929
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 15 18:13:25 2009 +0000

    solaris-avoid-returning-einval-if-possible-20090315
    
    LICENSE IPL10
    FIXES 124426
    
    if we have a better error code, return it.

commit fd9e5ffb4653b87f92438574083185a55086b661
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 15 18:02:31 2009 +0000

    aklog-old-principal-conversion-sans-524-20090315
    
    LICENSE IPL10
    
    we'll want to fix this differently later; since 524 is dying perhaps we need
    to just ship heimdal's version of this code

commit d0e4044cfeef3ce1c5d435251de9b584343225f5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 14 04:59:23 2009 +0000

    windows-afsd-reset-acl-cache-20090312
    
    LICENSE MIT
    
    Modify the cm_ResetACLCache interface to accept an optional cm_cell_t *.
    At the moment every time a token is set or cleared all of the acl info
    for all cm_scache_t objects regardless of cell is reset.  This is both
    a performance hit and unnecessary.  If we know the cell, only reset
    the acl info for cm_scache_t objects in that cell.
    
    If cell is not specified, reset for all cells.

commit 8e01e5a4dbcaaea03fc3af59bec5ef211d5b4684
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 14 04:54:59 2009 +0000

    windows-afsd-unlock-20090312
    
    LICENSE MIT
    
    Modify the cm_Unlock() interface to support the ability to unlock all
    locks within a range.  This is required for the redirector.

commit 7ca2785f53d391afa5e7200f2b4d40c79a857443
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 14 04:51:11 2009 +0000

    windows-freelance-20090312
    
    LICENSE MIT
    
    correct error in windows-freelance-20090223.  use cpath not filename
    since that is why we allocated cpath in the first place.

commit ef81e9395c171f9dcb8df120991ba65ec1ca5610
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 14 04:49:06 2009 +0000

    windows-afsd-callback-20090312
    
    LICENSE MIT
    
    use cm_HaveCallback() to check for a call back instead of explicit
    checks on cbExpires and cbServerp.  cm_HaveCallback takes into account
    Freelance mode and offline status.

commit 15d4dd0f70925eaf2af333f2215235cb90637457
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 14 04:45:22 2009 +0000

    windows-afsd-btree-20090313
    
    LICENSE MIT
    
    Change cm_BPlusDirEnumerate interface to include a 'FetchStatus'
    parameter.  When set to 0, we do not fetch status for fids for
    which we do not already have status info.  This avoids unnecessary
    recycling of cm_scache_t objects.

commit 77452db304abfc6ad0139769034986dc8bf172d9
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Mar 10 19:21:12 2009 +0000

    dumpcallbackstate-64bit-timet-safe-20090310
    
    LICENSE IPL10
    FIXES 124451
    
    on 64 bit platforms, 64 bit time_t means returning into afs_int32 is bad

commit 581fd18bd9c3fe8e07169c60a7cde9e72e8af89c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Mar 7 14:10:23 2009 +0000

    avoid-blocking-with-connhashtable-lock-in-reapconnections-20090307
    
    LICENSE BSD
    
    instead of potentially blocking waiting for a call lock, assume if the call is
    locked, the conn is still busy. also, don't even try to get the conn data lock
    if we don't need to

commit 19ffc146fac828cd32b90c4d43d617de6c574556
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 2 04:44:43 2009 +0000

    windows-afsd-server-uuid-20090301
    
    LICENSE MIT
    
    Unlike the unix cache manager, on Windows the server uuid was not
    recorded as part of the cm_server object.  This commit adds the uuid
    and a flag to indicate if it is set or not.
    
    A check is made in cm_UpdateVolumeLocation it confirm that the uuid
    known to the CM is the same as the one being reported by the vl server.
    If they differ, this is logged but no action is taken.
    
    The contents of the cm_allServers list is now dumped in response to
    "fs memdump" or a crash.  This includes the uuid, addr, type, flags,
    downtime, caps, etc.
    
    The server uuid is not useful at the moment because there is nothing
    that the CM can use it for.  However, it might be useful for debugging
    and it will be needed for extended callback support.

commit 5d147351263be2636ef547f22acb24c7816348c1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 28 16:19:13 2009 +0000

    window-afsd-bad-version-20090228
    
    LICENSE MIT
    
    create a new cpp symbol CM_SCACHE_VERSION_BAD to represent data version
    values in cm_scache objects that are known to be invalid.
    
    then consistently apply this value throughout the code.  Previously
    some invalid values were set to 0 and others to -1 (0xFFFFFFFF:FFFFFFFF).
    
    Also fix at least one location where CM_BUF_VERSION_BAD was not used.

commit a32971251670acc7944dcd4b1eade1ab161e587f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 28 15:40:56 2009 +0000

    windows-afsd-btree-20090228
    
    LICENSE MIT
    
    Change how BPlusDir enumerations behave with regards to bulk stat
    operations.  If the number of entries in the enumeration is larger
    than the number of cm_scache objects, then using the previous model
    of cm_BPlusDirEnumBulkStat being called for the entire enumeration
    list results in the early objects being recycled and the status
    info discarded before the caller of cm_BPlusDirNextEnumEntry()
    receives the name.
    
    The revised model triggers bulk stat operations from within
    NextEnumEntry() as objects requiring status fetching are about
    to be returned to the caller.  This reduces the thrashing of the
    stat cache.
    
    We should consider adding a flag field to cm_BPlusDirEnumerate()
    or cm_BPlusDirNextEnumEntry() to permit enumeration without
    status fetching.

commit fbfaaf26890102dbe34315128183c27ce67f77a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 27 07:26:35 2009 +0000

    windows-afsd-error-map-20090227
    
    LICENSE MIT
    
    do not permit VNOSERVICE or VOFFLINE or VSALVAGE to leak and
    be returned as an error code.  The resulting NTSTATUS is not valid.

commit ab0691760f4cdd2fe8bded4700d051ea1ba51856
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 26 17:46:32 2009 +0000

    windows-tests-torture-20090226
    
    LICENSE MIT
    
    fix error message
    
    create a file of the specified size

commit 3c1f85820853e9143cab076d735f7d7c27aeaf62
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 24 05:06:23 2009 +0000

    windows-freelance-20090223
    
    LICENSE MIT
    
    Fix another set of edge cases where adding a mountpoint or symlink
    to the Freelance volume would result in the wrong fid being returned
    to the request that made the addition.
    
    When the Freelance directory is updated, invalidate the cm_scache_t object.
    that is associated with it.
    
    Actually use the data version when checking callback status.
    
    The return value from Add Mount/Symlink is not negative on failure.
    Its an actual error code.  Treat it that way.

commit 80faa5e93ddc95ca676aa31f5d3522ad6b67f67e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 23 14:28:32 2009 +0000

    windows-getrootcellname-20090223
    
    LICENSE MIT
    
    do not mix and match CELL_MAXNAMELEN and MAXCELLCHARS.  They are
    not the same.

commit f83cfcafcbec8a953161fad300073b85a4215a03
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Feb 21 20:51:08 2009 +0000

    libafs-tree-clean-target-20090221
    
    LICENSE IPL10
    
    Add clean and distclean targets to the libafs_tree Makefile, based on
    suggestions by jhutz.

commit 2290db5f160a0105005ec0787a002ce71629c3df
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Sat Feb 21 15:36:39 2009 +0000

    linux-module-build-test-configure-fix-20090221
    
    LICENSE IPL10
    FIXES 124381
    
    deal when the module link warning has extra characters

commit 8382f8ccb1c14f32318b3d1c587b417cce4c721c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 21 04:26:43 2009 +0000

    windows-smb-misc-20090220
    
    LICENSE MIT
    
    Fix smb_FindFIDByScache() to avoid obtaining the smb_fid_t.mx and
    smb_rctLock out of order.  Doing so requires obtaining references
    on each smb_fid_t belonging to the smb_vc_t in order to prevent them
    from being removed from the list while the list is being walked.
    
    Reorder tests for CM_SCACHEFLAG_DELETED and smb_fid_t.scp to make
    them more efficient and consistent.
    
    When processing Tran2SetPathInfo do not fail because an smb_fid_t
    cannot be found for the path object.  The PathInfo function is
    being used because we do not have a file descriptor.  Most importantly
    do not fail by returning success.

commit 54a3c85ae44aaaac9dd933893d975199b3cdca70
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 21 04:19:23 2009 +0000

    windows-rename-cross-dir-invalid-handle-20090220
    
    LICENSE MIT
    
    Problems with the cm_Rename() functions:
    
     * when a rename occurs across directories, the file server allocates
       a new vnode which in turn alters the FID.  Since the new FID and
       potentially version number is unknown to the client, it is not
       possible to update the target directory with the new name and
       FID thereby avoiding reading the directory from the file server.
    
     * when the old vnode is removed, the callback is broken but the
       client did not discard the cm_scache_t object
    
    In order to optimize the client cache AFS requires a RXAFS_RenameEx
    rpc that is equivalent to the current RPC but returns the new FID
    and status.  This would permit the cache manager to relabel the
    data buffers and cm_scache_t that are known to contain valid data.

commit 4eb808d26b1d417189d363924c4e2e32ed832690
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Feb 19 04:04:24 2009 +0000

    smb-vc-reset-on-request-20090218
    
    LICENSE MIT
    
    When processing SMB_SESSION_SETUP_ANDX in smb_ReceiveV3SessionSetupX
    it is possible that the smb client might indicate that it requires an
    Mpx Count greater than we are configured to support.  If so, log it
    to the Windows Event Log as a warning.
    
    It is also possible that the client might specify that its maximum
    receive buffer is smaller than the SMB_PACKETSIZE.  If so, log it
    to the Windows Event Log as a warning.
    
    Finally, if the client specifies a virtual circuit number of zero,
    the client thinks this is its first time communicating with us.
    In which case we should invalidate all prior virtual circuits.
    We also log this request to the Windows Event Log as informational.

commit 5bd86a09eb897cf12f0d08442f956f79ec7d15b3
Author: Simon Wilkinson <sxw@sxw.org.uk>
Date:   Wed Feb 18 17:48:39 2009 +0000

    windows-64bit-printf-sanity-20090218
    
    LICENSE IPL10
    FIXES 124265
    
    don't assume %lld works for 64 bit ints on windows

commit 733794b4d8be284dcb6f9e60fa4b4abe1f3398f2
Author: Peter Tripician <tripicia@cmf.nrl.navy.mil>
Date:   Wed Feb 18 17:27:59 2009 +0000

    vos-increment-offline-count-20090218
    
    LICENSE IPL10
    FIXES 124333
    
    increment offline volume count, not pointer to it

commit da8df5ea2c9311c4e4b263fbdba3aea3141ef075
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 17 14:34:18 2009 +0000

    vldb-check-no-bogus-shadow-decl-20090217
    
    LICENSE IPL10
    
    unfussy compilers treat this as a shadow declare; others thankfully as an error

commit 8b74a85b977f379ea94cd01df3fcb553147a42dc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 17 14:27:48 2009 +0000

    aklog-524-vars-20090216
    
    LICENSE IPL10
    
    add missing variables

commit b9816e12f7ed8213c9c4eaea09e992e69ce4ee05
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 17 04:37:27 2009 +0000

    vclosevnodefiles-ihandle-leak-20090216
    
    LICENSE IPL10
    FIXES 124359
    
    don't leak ihandles on close. this isn't a complete fix for the issue

commit 846919700b90b919d6a12102ae8c6d85ee36b83c
Author: Peter Tripician <tripicia@cmf.nrl.navy.mil>
Date:   Tue Feb 17 04:32:08 2009 +0000

    bozo-corefile-timestamp-fix-20090216
    
    LICENSE IPL10
    FIXES 124340
    
    output y2k-correct corefile names

commit b1f9b4cb5dd295162ae51704310e9d6058008f0a
Author: Evan Broder <broder@mit.edu>
Date:   Tue Feb 17 04:28:53 2009 +0000

    aklog-use-native-principal-conversion-20090216
    
    LICENSE IPL10
    FIXES 124338
    
    use krb5_524_conv_principal instead of doing it potentially wrong ourselves

commit 8bc58a3d6dd531b55c405590e419d2ce4d74b5fc
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Feb 17 04:25:10 2009 +0000

    macos-10-6-support-20090216
    
    LICENSE IPL10
    FIXES 124288
    
    support for (32 bit) macos 10.6. no pam yet

commit 43bcfaf9cc429cec51a98857d86d870c45759baa
Author: Steven Jenkins <steven@endpoint.com>
Date:   Tue Feb 17 04:16:56 2009 +0000

    vldb-check-meaningful-return-codes-20090216
    
    LICENSE IPL10
    FIXES 124321
    
    make vldb_check have meaningful return codes

commit 52f3295d32e3a72916ea1f99119967b7279f642a
Author: Peter Tripician <tripicia@cmf.nrl.navy.mil>
Date:   Tue Feb 17 03:59:28 2009 +0000

    fs-lsm-parse-bug-20090226
    
    LICENSE IPL10
    FIXES 124319
    
    print correct error on root directory

commit 0e05505a8964da2e9d4c4eccab7a3b322e5d02f0
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Feb 17 03:43:37 2009 +0000

    linux26-bogus-param-define-20090216
    
    LICENSE IPL10
    FIXES 124324
    
    remove orphaned define

commit 4817a4a98fe9ccc61c90d8bbc769790ad067339b
Author: Tony D'Amato <tdamato@odu.edu>
Date:   Tue Feb 17 03:29:22 2009 +0000

    redhat-rpms-kernel24-20090216
    
    LICENSE IPL10
    FIXES 102673
    
    rewrite make rule for 2.4 kernels

commit f3080eb7c7c4c4f72d6560b12c3d8cffbb4b2b0d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Feb 17 03:23:27 2009 +0000

    rx-head-build-error-20090216
    
    LICENSE IPL10
    FIXES 124323
    
    include header so mutex&atomic macros exist

commit 8e3b67b9537097928b4fc13844db09d429ac9bed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 12 21:44:47 2009 +0000

    windows-smb-fidp-scp-race-20090212
    
    LICENSE MIT
    FIXES 124293
    
    As evident in a crash dump, there is a race surrounding access to the
    scp field of the smb_fid_t object.  Not all access was protected by
    the smb_fid_t mx and the cm_scache_t object was not always being
    reference counted within the accessing function.
    
    This patch ensures that all initial references to the scp object
    are performed under the smb_fid_t mx mutex and that the cm_scache_t
    is prevented from being recycled by obtaining a local reference.
    
    Finally, CM_ERROR_BADFD is returned as an error if a request begins
    after the smb_fid_t scp field has already been cleared by a smb_CloseFID()
    call as part of a concurrent request.

commit 8bb35234aa8469ba93a2171fced503a875c2f1f6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 12 21:30:03 2009 +0000

    windows-vmoved-vnovol-failover-20090212
    
    LICENSE MIT
    FIXES 124276
    
    A readonly volume with multiple instances was being marked alldown
    when one of the instances resulted in VNOVOL because the vldb and
    the indicated file server were out of sync.  The cache manager would
    then attempt to re-obtain the volume location info from the vldb
    for the entire timeout period.
    
    This patch:
    
    adds trace logging to cm_Analyze indicating which server references
    are being deleted and which remain in response to a VNOVOL/VMOVED error.
    
    adds trace logging to cm_UpdateVolumeStatusInt showing how the
    new volume status value is determined.
    
    corrects cm_Analyze() so that it doesn't corrupt the server reference
    list during cm_FreeServerList() calls; doesn't orphan the server reference
    list by setting *serverpp to NULL; and only re-obtains the volume info
    list once per request.

commit 1050049411d1fc47441220c33e6353436fc586e7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Feb 10 22:42:40 2009 +0000

    fix-tsfpq-20090210
    
    LICENSE BSD
    
    avoid transferring more than the number of packets in a queue

commit c12e2fa01912e7950570354c6d059588028c086c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 10 22:39:58 2009 +0000

    restore-unix-rxdebug-20090210
    
    LICENSE IPL10
    
    stale fixes from my sandbox

commit c4d5f0a70229f55683735d13523744ad2361f6b8
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Feb 9 23:15:13 2009 +0000

    rx-atomic-20090209
    
    LICENSE IPL10
    FIXES 124322
    
    add parens

commit 0edbc512b52848f076525ede5ff166f3785128a7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Feb 7 17:22:26 2009 +0000

    rx-writevproc-wrong-type-20090207
    
    LICENSE BSD
    
    In rxi_WritevProc the queueScan that sets RX_PKTFLAG_TQ on the packet
    really needs to cast the queue objects to rx_packet instead of rx_call.
    Trashing random fields is not a good idea.

commit b842ee3ea521a196652ff2d09d468ca008cececc
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Feb 6 03:13:38 2009 +0000

    windows-netidmgr-progress-20090205
    
    LICENSE MIT
    
    add progress reporting to the provider.

commit ffdc7c70889386dca37e207a91791d5d0728d2d7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 5 00:23:54 2009 +0000

    windows-freelance-20090204
    
    LICENSE MIT
    
    set the correct fid vnode/unique values when adding new symlnks and
    mount points.

commit 58a924fd50e96c827fc6dd3dcea48328b6abe4be
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 3 19:44:27 2009 +0000

    upclient-cleanup-temp-files-20090203
    
    LICENSE IPL10
    FIXES 124221
    
    remove tempfiles in the event of a fetching error

commit 1811577fca393c4433de64ea6e1cd5a8d13521a3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Feb 3 19:42:14 2009 +0000

    rename-internal-gettimeofday-refs-20090203
    
    LICENSE IPL10
    FIXES 124259
    
    switch to using fasttime, instead of wrapper

commit 0ac1e741783e0d5b0cbb8ec665e0acab132f6265
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Feb 3 19:37:41 2009 +0000

    redhat-packaging-non-stable-branches-20090203
    
    LICENSE IPL10
    FIXES 124273
    
    make rpm stuff work for other than 1.4.x

commit fe3779411ea025d5ecf40687d5c21649e6daabdc
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Feb 3 19:34:10 2009 +0000

    redhat-packaging-updates-20090203
    
    LICENSE IPL10
    FIXES 124272
    
    adds fc10, fc11 support

commit d4763404655e27098eb4340eca8777b63d8a5847
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Feb 2 01:19:00 2009 +0000

    man-page-salvager-fixes-20090201
    
    LICENSE BSD
    
    Fix the -parallel example in the main description text: "5all" should be
    "all5".  Reword the description a bit to hopefully make it clearer that
    there are two separate values set here.  Note under the option description
    of -parallel that multiple partitions on the same device are normally
    processed serially.

commit f204e4e37f39fa15beabf68e68dce1f6425f7513
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Feb 2 01:12:02 2009 +0000

    man-page-vos-examine-copy-date-20090201
    
    LICENSE BSD
    
    Document the Copy field of vos examine output.

commit 7f371c53092b6d9532c2749eefa341616ba6edc6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 1 21:57:10 2009 +0000

    windows-tests-torture-enforce-querypath-info-errors-20090201
    
    LICENSE BSD
    
    change nb_qpathinfo() 'Flag' to a thread local storage variable
    'EnforcePathInfoErrors'.
    
    Add new 'Type' values that permit the enforcement to be turned on and off
    as needed by the test script.
    
    Populate the IoBuffer with the low byte of the pid value.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE BSD
    
    Verified the state of every file's existence at every Query Path Info
    call in the script.  Added 'Type' == 1 (Does not Exist) as needed.
    Removed the use of 'Type' == 1111 to disable enforcement part way through.

commit 652c361054491e1b518451646b45a19dd32f9a69
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 1 00:26:40 2009 +0000

    windows-tests-torture-scripts-20090131
    
    LICENSE MIT
    
    Add some additional example scripts

commit 3769240ac4c3c54933245dc09740447b97b6cc2c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 1 00:18:26 2009 +0000

    windows-tests-torture-source-20090131
    
    LICENSE MIT
    
    Do not unload afsrpc.dll as it cannot clean up after itself and
    become safe to reload.
    
    Instead of reporting that the AFS client is off-line, report the
    path that is unreachable.

commit 5981379dea329800f88a12a74ea34402e63b789d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 31 17:05:02 2009 +0000

    windows-tests-torture-20090131
    
    LICENSE MIT
    
    rename torture.exe to wintorture.exe to match the name expected by stress.exe
    
    increase length of "Locker" to permit longer paths
    
    do not strip \\afs unc server name.  treat all unc paths equal
    
    add GetLastError values to logged error messages
    
    clarify error messages when missing input params
    
    print all errors on a single line.  quote paths and command strings
    
    fix the initialization of the IoBuffer for writes.  initialize the
    whole buffer not just the sizeof(pointer)
    
    remove the static declaration of Flag in nb_qpathinfo()
    
    obtain real HANDLEs for directories.  Do not fake them.

commit 1e01bdc8e1b7ee4d9da36a1bb5899ca51daf2748
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 31 06:42:39 2009 +0000

    windows-tests-20090130
    
    LICENSE BSD
    
    build all of the tests

commit 7c4ceecbd9d71e7f27ffd81598badeee36e6f17f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 31 06:39:48 2009 +0000

    windows-tests-torture-20090130
    
    LICENSE MIT
    
    Port to Win64
    
    Integrate with OpenAFS build environment
    
    Build without warnings
    
    Add nb_flush() implementation

commit e01ffce669318890484bf468c0b641336d10515b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 31 03:42:29 2009 +0000

    windows-tests-largefiles-20090130
    
    LICENSE BSD
    
    permit the largefiles test to build under the openafs build system

commit b557da03d5089749b37ae356cadb4d00ff6d5af5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 31 03:37:18 2009 +0000

    windows-test-winflock-20090130
    
    LICENSE BSD
    
    permit winflock to build under the openafs build system

commit a9bc4bf32c959698e6ec3a361e94382f9500f85c
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jan 31 03:08:55 2009 +0000

    windows-tests-nm-20090130
    
    LICENSE BSD
    
    A test application that produces verifiable random test files.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE BSD
    
    make it build in the openafs build tree

commit 175393288df30ca88178ee98cdfff364bffbabb7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 30 14:36:13 2009 +0000

    linux-vmtruncate-20090130
    
    LICENSE IPL10
    FIXES 124128
    
    use linux's vmtruncate feature instead of doing a somewhat-right internal version

commit ff795a12c50d0fa59d2b3ad0b383309b9a4e939d
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Thu Jan 29 17:06:41 2009 +0000

    dafs-vnode-close-race-20090129
    
    LICENSE IPL10
    FIXES 124223
    
    address race between VCloseVnodeFiles_r and VGetFreeVnode_r

commit 47e99e36fd40c55be7a5d947fb096d6f6f2c0ae4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 29 16:05:05 2009 +0000

    discon-diskslot-linux-20090129
    
    LICENSE IPL10
    
    build in the linux case on non-disconnected

commit df139845e9f83cd15f3b0ab8dcbb27781c811642
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 28 22:39:04 2009 +0000

    discon-remove-fix-20090128
    
    LICENSE IPL10
    
    fix my own error

commit 35cc76c21ebb48a2257254798a57afac083896ee
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 28 22:33:17 2009 +0000

    rx-no-more-register-20090128
    
    LICENSE BSD
    
    kill off use of register in rx

commit 226cf894b65c62225785180dfeeed0ec1c1a160b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 28 21:34:33 2009 +0000

    rx-pthread-mutex-protects-threadcount-20090128
    
    LICENSE BSD
    
    add protection of previously unprotected thread count variables

commit 7cd7bcdc4ca6787e19c12485f70fabb8f4f9f00b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 28 21:13:58 2009 +0000

    discon-avoid-looping-on-replay-20090128
    
    LICENSE IPL10
    FIXES 124203
    
    don't defer based on a shadow copy

commit cc2f0d2bc52e980c376188888faa27cd37b0eccc
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 28 21:02:16 2009 +0000

    disconnected-reply-no-locking-yet-20090128
    
    LICENSE IPL10
    FIXES 124202
    
    don't lock files before replaying changes yet

commit 1cca08960b263baabcf7f86b1596f07fb8449223
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 28 20:35:50 2009 +0000

    rx-atomic-macros-and-variables-20090127
    
    LICENSE BSD
    
    adds macros to support accessing some variables as atomics, when atomic
    support is available; otherwise falls back to mutex-protected access.

commit af61732e4aaac8e09369addde0ec31a88fad8964
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 28 15:52:42 2009 +0000

    disconnected-deal-with-unlink-while-open-20090127
    
    LICENSE IPL10
    FIXES 124178
    
    treat something as unlinked until a rename suceeds, then let that win

commit 50d57f6c7b325cb9576f33845cac60e1523f661e
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 27 17:49:05 2009 +0000

    rx-windows-debugging-20090127
    
    LICENSE MIT
    
    separate rx debugging from cache manager debugging.
    assign bit 5 of the TraceOption registry value to activation of
    rx debug output via DebugOutputString().

commit 306a7761b3f2f7ec0d2909e1048ecd39e9c9cfd7
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 27 17:09:22 2009 +0000

    windows-libafsrpc-20090127
    
    LICENSE MIT
    
    confirmed that rx_ReadvProc, rx_WritevProc, and rx_WritevAlloc are
    properly implemented for Windows.  Add them to the public export list.
    
    Add rx_ReadProc32 and rx_WriteProc32 to the public export list.

commit bc558c75dcad12c7f45443c8e191b554b5d0c887
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 27 17:06:05 2009 +0000

    windows-dcache-20090127
    
    LICENSE MIT
    
    Use the optimized rx_Read32 call instead of the slower rx_Read when
    reading 32-bit integer values.

commit 72d502be69ea3208634bb0665fd37e990d1fa38e
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Jan 27 14:24:23 2009 +0000

    dafs-vol-offline-race-20090127
    
    LICENSE IPL10
    FIXES 124215
    
    avoid race when taking volumes offline in dafs

commit a4f63a818eea476efa456132ca6112329ef8a484
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 27 06:04:32 2009 +0000

    rx-windows-xmit-20090126
    
    LICENSE MIT
    
    The WinSock API does not include the Posix recvmsg/sendmsg interfaces.
    Beginning with XP/2003 Microsoft began to support WSARecvMsg which is
    a mostly compatible implementation of recvmsg.  In Vista/2008 Microsoft
    began to support WSASendMsg a mostly compatible implementation of sendmsg.
    
    Neither are part of the WinSock API and therefore they must be loaded
    at runtime via a WSAIoctl() call to obtain the function pointers.
    When the functions are available it is now possible to avoid a large
    number of memcpy() calls.
    
    This patch also enables UDP port unreachable messages on XP and above.

commit 6e8039e8a55056f19895036ef6784f4fab5ab758
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 26 22:53:48 2009 +0000

    rx-slow-write-packet-20090126
    
    LICENSE MIT
    
    In rx_SlowWritePacket the use of RX_MAXWVECS was incorrect.  The
    niovecs field is allocated as [RX_MAXWVECS+1] with the 0th element
    reserved for the rx header.  niovecs[RX_MAXWVECS] is therefore a
    valid data buffer and the comparison should be (i <= RX_MAXWVECS).
    
    This error has most likely not been noticed previously because
    nothing in the OpenAFS source tree uses this function.

commit 8552f84b8ed0bce52dab1fd168054038d6ce20a9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 26 19:33:06 2009 +0000

    discon-allow-saving-vcaches-on-shutdown-20090126
    
    LICENSE IPL10
    FIXES 124211
    
    restructure so we can save info necessary to keep dirty changes across offline
    shutdown

commit e42a066da153750077b154e27249b5b4862724db
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 26 15:50:46 2009 +0000

    windows-btree-dir-enum-20090126
    
    LICENSE MIT
    
    Modify the cm_BPlusDirEnum interface:
    
    * add the cm_scache_t * of the directory being enumerated to the
      cm_direnum_t object
    
    * remove the cm_scache_t * from the cm_BPlusDirEnumBulkStat call
      now that it is part of the cm_direnum_t object
    
    * maintain a reference to the cm_scache_t for the life of the
      cm_direnum_t object.  This ensures that the object cannot be
      recycled while the enumeration is in use.

commit 7a01a35adfc8f3124a259e682ea1555cb9ed7df2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 26 13:42:01 2009 +0000

    disconnected-lseek-extension-20090126
    
    LICENSE IPL10
    FIXES 124200
    
    make extending a file by lseek make the extension-created parts as cache
    chunks

commit d2960e5442bb7a7f4730d2a918d8cfb5a409d05c
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jan 25 14:52:37 2009 +0000

    disconnected-symlink-support-20090125
    
    LICENSE IPL10
    FIXES 124177
    
    allow creation of symlinks while disconnected

commit 58ab0e7c58e1e8cde3fd7595d25b3537062276b3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Jan 25 14:48:14 2009 +0000

    disconnected-clear-cstatd-on-reconnect-20090125
    
    LICENSE IPL10
    FIXES 124180
    
    don't treat any information we forged as being valid while offline as valid

commit b690aa8f8139c2b52a1d0dca12e89aad57a9161d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 23 15:20:32 2009 +0000

    linux24-update-20090123
    
    LICENSE IPL10
    
    make things work on linux 2.4 again

commit c93e751599db8b8b1515a400ce398a4d365be782
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 23 14:44:31 2009 +0000

    disconnected-allow-larger-directories-20090123
    
    LICENSE IPL10
    FIXES 124182
    
    allow directories larger than a chunk

commit 9093f0cf1594c72d9849ed6d4d9ab1532d0185c5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 23 14:31:22 2009 +0000

    linux-nfstrans-test-20090123
    
    LICENSE IPL10
    
    test for nfs translator before enabling

commit 6742f2054ac96bcec19c01d408542c94de9a55f1
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jan 22 21:49:03 2009 +0000

    fbsd-ustrategy-20090122
    
    LICENSE IPL10
    
    make freebsd ustrategy correct

commit 85fa1b132ae93a48dfb73155921245106f31f586
Author: Mike Meffie <mike@meffie.org>
Date:   Thu Jan 22 21:42:28 2009 +0000

    hpux-readdir2-prototype-20090123
    
    LICENSE IPL10
    FIXES 124187
    
    fix typo in prototype

commit 6784222ac1741d9da18ba5d66fdd5057343ab8b1
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jan 22 21:38:45 2009 +0000

    fbsd-ignore-sigsys-20090123
    
    LICENSE IPL10
    FIXES 123867
    
    wrong but a step forward

commit 35a760632da0f15240153cb17ae96e0981e2c8c4
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jan 22 21:28:29 2009 +0000

    obsd44-pass1-20090123
    
    LICENSE IPL10
    FIXES 123830
    
    first pass at openbsd 4.4

commit db15872a7ee0d1c666502f8da8c8c27c36159110
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 22 21:19:47 2009 +0000

    klog-krb5-link-order-20090122
    
    LICENSE IPL10
    
    match the (bad) link order used elsewhere

commit 90f9073dde7041534d448083eaeabbc61d7563f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 22 20:19:51 2009 +0000

    disconnected-no-inline-on-irix-20090122
    
    LICENSE IPL10
    
    make this compile on irix

commit 396b573b12a509b7e0d8d5094ebadc12c6aa8b45
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 22 20:11:45 2009 +0000

    disconnected-call-makedir-with-correct-casting-20090122
    
    LICENSE IPL10
    
    another find by the irix compiler.

commit d6c5d0bbb09f84476d7928e62921a4aa01cd17ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 22 19:33:04 2009 +0000

    bcdb-listdumps-argument-fix-20090122
    
    LICENSE IPL10
    
    prototype caught this. oops.

commit 92cf4d996f91e895b8995d41419b32843a40b9fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 22 19:12:40 2009 +0000

    volserver-manage-inuse-better-20090122
    
    LICENSE IPL10
    FIXES 124142
    
    V_PEEK/V_SECRETLY should not change inUse. servertype based inUse should not
    leak past giving back a volume.

commit 1d70f4e14e991326d8d7e6d3d3f179179a7aaf45
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 22 15:40:07 2009 +0000

    bucoord-ubik_call-no-more-20090122
    
    LICENSE MIT
    
    replace ubik_Call(RPC, ...) with ubik_RPC(...)

commit d4b17a6e2e08c41de8ee07721029469ebcde6f72
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 22 15:28:54 2009 +0000

    ubik_Call-no-more-20090122
    
    LICENSE MIT
    
    remove more ubik_Call(RPC, ...) calls and replace them with ubik_RPC(...)

commit 69bab4cc6ee68ab98b6f207f6ab80352250f6b97
Author: Peter Tripician <tripicia@cmf.nrl.navy.mil>
Date:   Thu Jan 22 15:15:55 2009 +0000

    util-volparse-20090122
    
    LICENSE IPL10
    FIXES 84846
    
    avoid some infinite loops on bad input
    
    ensure that all partition ids are within the legal limit
    
    provide prototypes for strlcat and strlcpy when the openafs
    implementations are being used.

commit f11480748cd682f60e81e8854e254fe964d5955c
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 22 14:28:27 2009 +0000

    salvager-sensible-chdirlessness-20090122
    
    LICENSE IPL10
    FIXES 124154
    
    make salvager look for and create headers in the right place.

commit 81e1d5403438929bc6380c05bdacb808a31aaa37
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 21:33:32 2009 +0000

    disconnected-linux-dont-inactive-while-disconnected-20090121
    
    LICENSE IPL10
    FIXES 124175
    
    possibly not the ultimate right fix but it will make things work for now

commit 0593374e2de0da391ea793e45ca08d6c971d8f86
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 21:27:42 2009 +0000

    disconnected-pioctl-error-recovery-20090121
    
    LICENSE IPL10
    FIXES 124174
    
    make reconnection possible by doing error recovery

commit 4045f3d5350955de91e019b09ad2ed7941f6dadb
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 21:17:09 2009 +0000

    disconnected-shadow-directory-fixes-20090121
    
    LICENSE IPL10
    FIXES 124173
    
    fix bugs in disconnected's directory shadowing

commit cc42d05324c6a3dc619192a997125ca8f3a595fd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 21:14:48 2009 +0000

    disconnected-replay-fixes-20090121
    
    LICENSE IPL10
    FIXES 124172
    
    updates to fix bugs in disconnected change replays

commit 0fb28687b498bd4cd7994fd388c3eef2f4cd17f9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 21 21:04:11 2009 +0000

    windows-avoid-rwevent-collision-part-two-20090121
    
    LICENSE MIT
    
    don't leave out the size of the buffer.

commit 10ecf76d281dc90a4f83f0c45404712b62bcea8b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 21 21:00:59 2009 +0000

    windows-avoid-rwevent-collision-20090121
    
    LICENSE MIT
    
    Prevent multiple smb_Server threads from sharing the same EVENT
    object when they are each waiting for their own packet requests
    to complete.

commit a268678326f3713a0ba41f69a1432bd1fca2872f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 20:09:07 2009 +0000

    rename-conn-to-afs-conn-20090121
    
    LICENSE IPL10
    FIXES 124116
    
    based on patch from daleg@elemental.org. rename to avoid conflict with opensolaris
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    FIXES 124116
    
    based on patch from daleg@elemental.org. rename to avoid conflict with opensolar
    is
    
    ====================
    LICENSE IPL10
    FIXES 124116
    
    based on patch from daleg@elemental.org. rename to avoid conflict with opensolar
    is

commit 9cc62beeb985745475ac7b3ecc5bf61c2fa06a9d
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 21 14:32:27 2009 +0000

    darwin-no-vprintf-20090121
    
    LICENSE IPL10
    
    restore old behavior for mac client

commit 541897d10d96805be841e56ad1f824c8abe2c07d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 21 14:32:08 2009 +0000

    windows-installer-wix-20090121
    
    LICENSE MIT
    
    remove man page files that no longer exist on the head

commit a0fd9b17334333e257ae9c476c4fbf85ee9fec95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 20 04:35:53 2009 +0000

    windows-smb-parse-ascii-block-20090119
    
    LICENSE MIT
    
    smb_ParseASCIIBlock() may be called with more than just data
    type ASCII (0x4).  If the type is 2, 3, or 4 the data field is
    a null terminated string.  If the type is 1 or 5 the data field
    is a counted string.  if the type is 2 the data field is never
    Unicode.
    
    In any case, if the type is unrecognized smb_ParseASCIIBlock()
    will return NULL and all of the callers must be prepared to handle
    it.  If the return is NULL, the smb request will fail with
    CM_ERROR_BADSMB.

commit e5a6c3f62dde6bc1b6a26957b866c3f27dc28c3a
Author: Steven Jenkins <steven@endpoint.com>
Date:   Tue Jan 20 03:29:01 2009 +0000

    undo-rename-residency-from-mrafs-to-osd-20090119
    
    LICENSE IPL10
    FIXES 124130
    
    restore the mr-afs names until such time as the pioctl registrations
    are addressed.

commit 8c18c62dffa23557fb521950eede4252cdafc0b5
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jan 19 23:02:36 2009 +0000

    man-page-pts-membership-fixes-20090119
    
    FIXES 124157
    LICENSE BSD
    
    More wording and typo fixes for the pts membership man page.

commit 5e1859a88e8133904f1315833c17851d7e6d10a4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 19 20:53:42 2009 +0000

    linux-init-script-uses-bash-20090119
    
    LICENSE IPL10
    FIXES 124056
    
    note the script uses bash

commit dc0b96f5b7ee3f5f95639dfd5afb98ecb4ff6885
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 19 19:42:32 2009 +0000

    disconnected-extend-truncation-20090119
    
    LICENSE IPL10
    FIXES 124094
    
    implement extending truncation so disconnected works

commit 57744971179a8ee7441e73eeb9e2a56d671fcc37
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 19 19:39:12 2009 +0000

    abstract-reset-vcache-20090119
    
    LICENSE IPL10
    FIXES 124147
    
    abstract vcache resetting code so disconnected can reuse it

commit 9ef65a789feed5007f18041d259f0ddd6c3c97e9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 19 19:27:00 2009 +0000

    afs-q-improvements-20090119
    
    LICENSE IPL10
    FIXES 124134
    
    simplify afs_q macros and allow further reuse in disconnected

commit e1cc987ea57c03a93dd02164ecb75cd705fc79b3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 19 18:47:52 2009 +0000

    disconnected-flush-before-shadowing-20090119
    
    LICENSE IPL10
    FIXES 124149
    
    make
    touch a
    fs discon offline
    rm -f a
    fs discon online
    work

commit 92c7925b12d7b99e4ff044bc053330e77336a21a
Author: Steven Jenkins <steven@endpoint.com>
Date:   Mon Jan 19 18:09:06 2009 +0000

    rename-residency-from-mrafs-to-osd-20090119
    
    LICENSE IPL10
    FIXES 124130
    
    rename mrafs commands into their equivalent osd versions; structures etc are the same.

commit 9fa51694c6a41323cfeb7b41bb4dff9e8dac77be
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 19 17:29:08 2009 +0000

    linux-disconnected-avoid-ls-hang-20090119
    
    LICENSE IPL10
    FIXES 124152
    
    avoid allowing a non-CStatd vcache to make its way into a readdir which causes an infinite loop

commit df71f42b637c5ef2aa266a709720b35e65b8e27f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 19 03:25:10 2009 +0000

    krb5-klog-link-rule-20090118
    
    LICENSE IPL10
    
    this was just wrong

commit dbc73f43ee64072509ee0ae66cf7499ff9e5d861
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 19 03:19:01 2009 +0000

    volser-setflags-clear-callptr-20090118
    
    LICENSE IPL10
    
    make things calling SetFlags not error

commit d781450cf3c08bf89f3d1490620ed89885f7e518
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jan 19 03:09:52 2009 +0000

    man-page-pts-membership-privilege-20090118
    
    FIXES 124151
    LICENSE BSD
    
    Add system:ptsviewers to the privilege documentation of pts membership and
    try to clarify the privilege required by being less verbose and hopefully
    more direct.

commit 24a5d12bae9a2af393f3641055893824c71a4712
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jan 15 13:26:55 2009 +0000

    linux-2629-20090115
    
    LICENSE IPL10
    FIXES 124115
    
    add 2.6.29 support

commit 86225b60147d58ca71063a72be02236df1257407
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jan 15 13:12:58 2009 +0000

    osi-probe-check-result-cope-with-enoent-20090115
    
    LICENSE IPL10
    
    in order for probing to work right

commit 3394644531fb89b02ffbe0c10f4a51c3a4169a39
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Wed Jan 14 06:34:08 2009 +0000

    rx-afs-kmutex-kcondvar-20090113
    
    LICENSE BSD
    
    The rx_pthread.h defines afs_kcondvar_t and afs_kmutex_t but
    their use throughout the rx library is inconsistent.  Sometimes
    they are used, other times pthread_cond_t and pthread_mutex_t.
    
    This commit ensures that afs_kmutex_t and afs_kcondvar_t are
    used consistently.

commit e6d60f58e2a6b7ac9964cfb1ec753decd5d6ed91
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jan 13 19:37:03 2009 +0000

    linux-truncate-cleanup-20090113
    
    LICENSE IPL10
    
    fix the patch to actually be applicable

commit f1a13e15625afa324ffc6614eea432dcc89bf768
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Tue Jan 13 16:19:11 2009 +0000

    rx-make-rxdebug-optional-20090113
    
    LICENSE BSD
    
    Permit the rx library to be built without the RXDEBUG preprocessor
    definition.  When RXDEBUG is not defined all of the debugging functions
    either become stubs or log a message indicating that the library was
    built without RXDEBUG so that there will be no surprises.  There
    are no changes to the export list.  By default RXDEBUG is defined.
    
    Eventually the definition of RXDEBUG can become a configuration option
    to the build system.

commit 510b2042b017776366ed33e9590b81fc5c5c8b6c
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 12 20:22:24 2009 +0000

    rx-finer-grained-locking-20090112
    
    LICENSE MIT
    
    fix typo in rx-finer-granded-locking-20090112

commit ba9556ff2bbf854bb5c05074032b94973bf339ec
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Jan 12 14:33:09 2009 +0000

    freebsd-cleanup-20090112
    
    LICENSE IPL10
    FIXES 124107
    
    minor freebsd cleanup

commit 45e808945627b36ab1dbb64b6fafa8ed7b1901b6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jan 12 14:18:58 2009 +0000

    linux-i-size-20090112
    
    LICENSE IPL10
    FIXES 124106
    
    use i_size_read macro correctly

commit 47ac8ba7022e80e5bc0023782b6b27d5ac97ccd3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Jan 12 14:11:36 2009 +0000

    libuafs-set-fileoffsetbits-20090112
    
    LICENSE IPL10
    FIXES 124093
    
    make libuafs work with things which expect to be able to use native file
    sizes etc

commit 434ad307430fc12968abd65e007f8e606aa55917
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jan 12 13:28:42 2009 +0000

    linux24-no-backing-dev-20090112
    
    LICENSE IPL10
    FIXES 124100
    
    backing_dev_info isn't in 2.4

commit d158ddb25c769d357d5f58acbd911ec7a7281343
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Jan 12 13:24:13 2009 +0000

    fetch64-fstrace-typo-20090112
    
    LICENSE IPL10
    FIXES 124113
    
    move l to correct side of % for type printing

commit 30cfed8e25dfcc6c423d1e121360f048d6724328
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 11 05:53:36 2009 +0000

    rx-statistics-active-flag-20090110
    
    LICENSE MIT
    
    Permit rx statistics gathering to be disabled by setting the
    new rx_stats_active variable to 0.  This avoids grabbing the
    rx_stats_mutex throughout the execution of the requests and
    permits greater concurrency thoughout the library.

commit 887a6eb59b5aa87bc8a5c3ec1fc78f80ac19a6f2
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 11 05:27:01 2009 +0000

    rx-finer-grained-locking-20090110
    
    LICENSE MIT
    
    not everything should be under the rx_stats_mutex.  doing so
    results in too much lock contention.  add new mutexes:
    rx_quota_mutex, rx_waiting_mutex, rx_pthread_mutex, and rx_packets_mutex.
    Each new mutex protects an associated group of variables.

commit 5b0e23567e1ed64f448bb3253ad90d39cad31271
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 11 04:24:37 2009 +0000

    rx-user-socket-buffer-sizes-20090110
    
    LICENSE MIT
    
    if the socket buffer size specified by the configuration is too large
    to be applied, do not drop down immediately to 32766 bytes.  Instead
    try increasingly smaller values trying to find the largest one that
    works.  use the same value for the send buf size as well.

commit 3162fdd59201e1615e2fe700ec003e81c7c932bf
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sun Jan 11 04:00:07 2009 +0000

    rx-rwlocks-no-more-20090110
    
    LICENSE MIT
    
    remove the use of rwlock and restore the use of mutexes.
    the rwlocks are actually slower in performance testing.

commit f49bf1d919b48901533da78c9fe38ca0339b7bca
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jan 9 15:09:14 2009 +0000

    linux-truncate-race-20090109
    
    LICENSE IPL10
    FIXES 124094
    
    avoid a race during truncation which trips an issue when fsx is run

commit 2d07a62c38fea642d52c20ff86e8f72e3c16bbe0
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Fri Jan 9 14:50:48 2009 +0000

    ac-verbatim-include-undefs-20090109
    
    LICENSE IPL10
    FIXES 124077
    
    the undefs for things which are not ac macros ended up outside the ac verbatim
    blob. fix it.

commit 80fc888a9223050481de932233fe7121a48df194
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 6 13:40:04 2009 +0000

    netrestrict-no-wildcard-20090106
    
    LICENSE IPL10
    
    don't misadvertise network wildcard support

commit 423ab97eee35f57beeb481cac2159d28dea20577
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Mon Jan 5 23:12:54 2009 +0000

    rx-do-not-race-current-packet-20090105
    
    LICENSE MIT
    
    Throughout rx_rdwr.c functions allocate a register variable 'cp'
    which is used to optimize access to call->currentPacket.
    Unfortunately, if the call->lock is dropped (for example, CV_WAIT)
    the synchronization between the two is lost.  This delta re-syncs
    'cp' and call->currentPacket after each location where the call->lock
    may be dropped.

commit e7edfbbf2204641ba08d0ae5e0d085e5f913f2d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 5 18:16:44 2009 +0000

    windows-license-smgl2rtf-20090105
    
    LICENSE MIT
    
    Ensure that the input string is nul terminated and then instruct
    WideCharToMultiByte to compute the length itself instead of passing
    in a value that is very likely to be wrong.

commit 8c4b06a5b62a07d4d6733b313ad404e1cb6abe8d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 5 16:20:08 2009 +0000

    windows-afsd-freelance-20090105
    
    LICENSE MIT
    
    Bring a bit more sanity to the Freelance code:
    
    1. Add functions cm_FreelanceFetchMountPointString and
       cm_FreelanceFetchFileType to cm_freelance.c.  These functions
       permit the MountPointString and FileType to be obtained within
       cm_GetSCache without requiring knowledge of data structures
       that should be private to cm_freelance.c
    
    2. Enforce the rule that odd vnode values are directory objects.
       The root directory is 1 and everything else must be a multiple
       of two.
    
    3. Use the unique field as an index into the localMountPoints
       array.
    
    4. Fix cm_GetCallback to process freelance data refreshes on
       all objects in the freelance volume not just the root directory.
       If this is not done, an access to \\afs\foo prior to \\afs\all
       being evaluated will cause an unnecessary attempt to send a
       fetch status request to a file server and produce an alldown
       error.

commit 02cd4c510b2b9e2293e33372c39bd8b62089236b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 5 00:00:08 2009 +0000

    rx-packet-count-debugging-20090104
    
    LICENSE MIT
    
    change C preprocessor symbol required for packet count debugging
    to RXDEBUG_PACKET

commit bf51eaca47db1bbf58490d770f1be105e69f7ea9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 4 19:19:31 2009 +0000

    windows-client-config-manifest-20090104
    
    LICENSE MIT
    FIXES 123889
    
    reverse change from 20081226.  removing the auto-generated manifest
    removes the manifest binding to the run time library.  The reason
    two manifests are specified is that we are merging them.

commit 29e3bb5838ee224e8d13bf1e680e1eb9480f1400
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 29 22:36:32 2008 +0000

    rx-packet-count-debugging-20081229
    
    LICENSE MIT
    
    Validating the state of the rx library is hard.  This patch makes it
    a bit easier to validate from within crash dumps (or on Windows in
    "fs memdump" output) whether rx packets and calls are in a sane state.
    When the library is compiled with -DDEBUG the rx_call and rx_packet
    data structures are extended to include a linked list of all allocated
    objects and counters are added to track the number of packets on each
    of the transmit, receive, and iovec queues.
    
    This compliments the tracking of packet states via RX_PKTFLAGs.
    
    For Windows, rx_DumpCalls and rx_DumpPackets functions are added
    that will dump the state of all allocated calls and packets (in Checked
    build) in response to a "fs memdump" command.  These functions are
    exported from afsrpc.dll.

commit 3d44f93f9a0b1d2d4a07b58b3104420e9c138d12
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Mon Dec 29 21:26:00 2008 +0000

    libuafs-updates-20081229
    
    LICENSE IPL10
    FIXES 124072
    
    adds ATTR_* constants for UKERNEL code, and makes use
    of them. Without this in some cases updating file metadata will also
    update unrelated metadata (e.g. truncating a file changes the mode
    bits).
    
    adds threadsafe positional i/o calls to
    afs_usrops.c: uafs_pwrite and uafs_pread, allowing for threadsafe
    libuafs i/o.
    
    changes the types of some fs-related
    variables to be more "correct", I think (off_t for offsets, mode_t for
    file mode, etc), it fixes a bug where nDaemons is not correctly set from
    the uafs_Init parameter, fixes a segfault in uafs_open when O_CREAT is
    specified, initializes a couple of static vars, "#if 0"s out code that
    copies tokens from kernel-space to user-space (doesn't seem to work from
    what I've seen, and the current code crashes on clientless Solaris
    machines from being killed by SIGSYS)

commit c11eb4c3336f66a3f0fd92c3df41eb9765de050c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 29 17:29:06 2008 +0000

    macos-103-fixes-20081229
    
    LICENSE IPL10
    
    make macos 10.3 work again

commit d0cc6eb2f5f0aea0a6ad88de2d847f93d07cc8b9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 28 21:04:23 2008 +0000

    rx-rdwr-writeproc-race-20081228
    
    LICENSE MIT
    FIXES 123799
    
    prevent rx_WriteProc() from passing a packet to rxi_PrepareSendPacket()
    that has been freed and possibly allocated to another call.

commit 8f3e660270d9c1af268ba45118ab87740fbeeef8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 28 04:41:38 2008 +0000

    windows-smb-fs-attr-info-20081227
    
    LICENSE MIT
    
    even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state
    that the MaximumComponentNameLength field is in bytes, it turns
    out that Windows SMB servers return the value in characters.
    
    Reduce the reported value to 255 to match NTFS.

commit f70ba203206a2953a3f51b48fe3455b9cad52eae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 27 19:22:26 2008 +0000

    windows-libafsrpc-makefile-20081227
    
    LICENSE MIT
    
    additional defines are to be appended to AFSDEV_AUXCDEFINES,
    they are not supposed to replace the prior definition

commit a09a1709f646087c2ceb6f484b45b48495ea1127
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 27 06:01:09 2008 +0000

    windows-afsd-fs-attr-info-20081226
    
    LICENSE MIT
    
    Pointed out by jason edgecombe.  the AFS SMB server failed to report
    the FILE_UNICODE_ON_DISK characteristic when responding to
    TRANS2_QUERY_FS_INFORMATION.

commit f18b54bfe647cfee6a7072d11df04019161d8223
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 27 02:53:55 2008 +0000

    windows-install-nsis-20081226
    
    LICENSE MIT
    
    permit the location of the NSIS application to be configurable

commit 06468cb9393aca2c58cc75ee51bfb50f56957c52
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Sat Dec 27 02:27:34 2008 +0000

    windows-client-config-manifest-20081226
    
    LICENSE BSD
    FIXES 123889
    
    remove extraneous reference to the output manifest file which resulted
    in two manifests being generated with conflicting UAC values.

commit 61aa1b199c28abc763456b35a644047cb9bafc18
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 26 23:40:14 2008 +0000

    windows-afsd-btree-lookups-20081226
    
    LICENSE MIT
    
    when performing a lookup operation it is acceptable for the data version
    of the btree to be greater than the data version of the cm_dirOp_t
    under which the operation is being performed.  No change to the btree
    can take place and the result of the lookup will maintain consistency
    without requiring an additional restart of the directory operation.

commit 4435c4fdcc6ba21b86277cfd09b0dfa1b88989c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 26 23:34:26 2008 +0000

    windows-afsd-dir-prefetch-20081226
    
    LICENSE MIT
    
    when prefetching the directory buffers do not call cm_FlushFile to
    discard locally modified buffers.  Instead just set the cm_scache_t
    bufDataVersionLow to the current version.  out of date buffers will
    therefore be ignored without requiring that locks be dropped and
    reacquired and without searching all of the buffers associated with
    the directory.

commit 9784a9f0cc35cf485c5f9533db9dd8247df3b7c3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 26 23:29:22 2008 +0000

    windows-afsd-max-daemons-20081226
    
    LICENSE MIT
    
    permit the number of daemon threads to be increased to 64 instead of
    a maximum of 8.

commit 9e2d9f6fa8862d33dfc7352c961f7945d0e04f4f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 26 23:26:09 2008 +0000

    windows-afsd-rename-collision-20081226
    
    LICENSE MIT
    
    Do not permit cm_Rename() to rename an existing object such that it
    creates a case-insensitive name collision with another object.
    This change in behavior is consistent with the restrictions when
    creating new objects.  This change prevents the explorer shell from
    getting confused when it creates a new folder.

commit 238ad07e13a85366bcf49a309e3735d26ff51ff2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 26 21:17:49 2008 +0000

    windows-pioctl-drive-subst-20081226
    
    LICENSE MIT
    
    GetDriveType() will return "REMOTE" for drive letters that are mapped
    to network devices via the SUBST command.  Recursively check drive letters
    for the final substitution before checking to see if the drive letter
    is in fact an AFS device.

commit 411a63fb063cf24d6b9aedeb83df2eb58716e239
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Dec 23 20:42:38 2008 +0000

    windows-afsd-findserverbyip-refcount-20081223
    
    LICENSE BSD
    FIXES 124054
    
    reference count the server object returned by cm_FindServerByIP

commit 556b9780517376c688c965dd446506cac1a0353b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 22 20:34:12 2008 +0000

    solaris-largepartition-interface-20081222
    
    LICENSE IPL10
    
    add support for using statvfs64 on solaris

commit 72cb3a5f18f0483515dd82f8c851309003cf3a2f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 22 19:22:57 2008 +0000

    ubik-serverinit-clones-correction-20081222
    
    LICENSE IPL10
    
    as pointed out by Simon Wilkinson

commit d2ae1c99523ac4150a0d5536593781dbccfc1408
Author: Tom Kula <tkula@umich.edu>
Date:   Mon Dec 22 19:01:46 2008 +0000

    vol-dump-incr-largefile-support-20081222
    
    LICENSE IPL10
    FIXES 123984
    
    add large file support for >2gb dumps; add incremental support

commit 0c52c9b3d900f610822249765b6a441422361888
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Mon Dec 22 17:30:58 2008 +0000

    doxygen-getfid-correction-20081222
    
    LICENSE IPL10
    
    correct out param description

commit c69fa8fef4de43182d9e6ebad1d5c1db71148d6d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 22 17:14:36 2008 +0000

    rx-idledead-only-ignore-keepalives-20081222
    
    LICENSE IPL10
    
    critical to not ignore e.g. other acks

commit 992ec096332c31f64e8cff66e20d2ab87708485f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 21 06:05:12 2008 +0000

    rxgen-cpp-definition-20081221
    
    LICENSE MIT
    FIXES 124011
    
    avoid "ologo" compilation error messages due to buffer overflow in rxgen
    on Windows.  research performed by mlane@sinenomine.net.

commit 46abfec0c74e6a1d4c5c76afcd24192484e2d0fa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 21 05:58:20 2008 +0000

    tweak-vicelog-macros-20081221
    
    LICENSE IPL10
    
    add missing semi-colons left out from DELTA tweak-vicelog-macros-20081218

commit dbc92bde39361c9741828be7a2151e521c9aeef9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 21 05:46:29 2008 +0000

    audit-consolidate-open-20081221
    
    LICENSE IPL10
    FIXES 123923
    
    fix audit-consolidate-open-20081217 which broke the Windows build.

commit 12297b95885d030e5cae6bec2543bdeb3e65b5ee
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 18 14:05:10 2008 +0000

    tweak-vicelog-macros-20081218
    
    LICENSE IPL10
    
    deal with macro semicolon confusion for vicelog

commit 539dc6f501459712136f574744dba196598bee0b
Author: Steve McIntosh <stevemac@sinenomine.net>
Date:   Wed Dec 17 18:14:41 2008 +0000

    audit-consolidate-open-20081217
    
    LICENSE IPL10
    FIXES 123923
    
    consolidate opening auditlog in one place; make opening nonblock easier

commit 8271c1674f75f80804d08e0f4ed3178b61b29eff
Author: Steve McIntosh <stevemac@sinenomine.net>
Date:   Wed Dec 17 18:11:43 2008 +0000

    auditlog-fids-20081217
    
    LICENSE IPL10
    FIXES 123922
    
    make auditlog process multiple fids correctly

commit dc4429487fbfc7a41f266b36d0f86ab32eb24e75
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 17 16:19:22 2008 +0000

    windows-afsd-smb-error-mapping-20081217
    
    LICENSE MIT
    
    map ENOMEM to STATUS_OUT_OF_MEMORY

commit df90f5510a057d77a486a1b667f91ff63ad17fd2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 16 21:48:53 2008 +0000

    irix-prototype-fixage-20081216
    
    LICENSE IPL10
    
    more cleanup to make prototypes match functions on irix

commit dfc38ea7e950990eb4047d49892f4903b5c9b945
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 16 21:05:20 2008 +0000

    irix-close-vnop-typo-20081216
    
    LICENSE IPL10
    
    fix irix close vnop prototype to be correct

commit 00d5f88fa5b09b795edf8fdf04b3a19bb577506f
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Dec 15 22:20:37 2008 +0000

    butc-xbsa-64bit-linux-20081215
    
    LICENSE IPL10
    
    use the 64 bit libraries when built for amd64

commit 1754101972ffb9b2d36c39656dac04464c5e9798
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 15 20:50:57 2008 +0000

    fbsd71-like-current-20081215
    
    LICENSE IPL10
    FIXES 123917
    
    rpc is in sys now, like in current. tweaked from matt's patch to also
    deal with amd64

commit c63e2541e5879fe153238ad1d774f60fa00dc0ee
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Dec 15 20:37:51 2008 +0000

    amd64-fbsd-20081215
    
    LICENSE IPL10
    FIXES 123811
    
    add support for fbsd 7.1, amd64 fbsd

commit b147521611a73d0578aca14b3252e062de1e5d8a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 15 19:12:04 2008 +0000

    aix-prototype-fixes-20081215
    
    LICENSE IPL10
    
    make the prototyping changes work on aix

commit 7714162e9abb046e67d0fc68578a2e3d68ef2156
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 13 21:30:55 2008 +0000

    solaris-vnop-prototyping-20081213
    
    LICENSE IPL10
    
    make the head sane on solaris again

commit 1f9467f9b7e3d6bc49267a32a7e2238c6d829ef0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 9 17:04:45 2008 +0000

    eliminate-cplusplus-style-comments-20081209
    
    LICENSE IPL10
    
    aix compiler hates // style comments

commit 9123966e43bc2f708baba756530aa90fcfe5e93d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 8 16:25:40 2008 +0000

    windows-afsd-ntstatus-wouldblock-20081208
    
    LICENSE MIT
    
    Change the mapping of CM_ERROR_WOULDBLOCK from
    STATUS_LOCK_NOT_GRANTED to STATUS_CANT_WAIT.
    STATUS_LOCK_NOT_GRANTED is used to indicate
    CM_ERROR_LOCK_NOT_GRANTED.

commit 8166bd1d199f5a34225a49173b17e4682b5c3a84
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Nov 30 20:24:12 2008 +0000

    missing-comerr-header-includes-20081130
    
    LICENSE IPL10
    FIXES 123676
    
    include com_err header in places where it's not so afs_error_message et al
    exist

commit 29457b1ca71518b29bb9e9e934c58e6fa4b9877a
Author: Douglas Engert <deengert@anl.gov>
Date:   Sun Nov 30 20:20:55 2008 +0000

    solaris-fs-agnostic-cache-20081130
    
    LICENSE IPL10
    FIXES 123677
    
    make the cache able to be filesystem-agnostic so a ZFS cache is possible

commit 4db6293a06ff573eb650cbf9bbf53440a7ee83a2
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Sun Nov 30 20:17:13 2008 +0000

    linux-nonfh-cache-file-handling-20081130
    
    LICENSE IPL10
    FIXES 123771
    
    go back to referencing f.inode and not ainode when not using the fh cachefiles.
    put back the dcache reference again.

commit fb549013e7bb2cf5cb3da3083349cb559c093e8f
Author: Dragos Tatulea <dragos.tatulea@gmail.com>
Date:   Sun Nov 30 20:11:05 2008 +0000

    disconnected-refcount-fixes-20081130
    
    LICENSE IPL10
    FIXES 123714
    
    fix code which tweaks refcounts on disconnected vcaches to be correct

commit 20aff72a7eae704241b67b6cf40fc92648abb1b0
Author: Dragos Tatulea <dragos.tatulea@gmail.com>
Date:   Sun Nov 30 20:06:35 2008 +0000

    disconnected-dirty-list-keeps-reference-to-vcache-20081130
    
    LICENSE IPL10
    FIXES 123715
    
    avoid putting vcaches on the dirty list unreferenced

commit 96996e65fcd569565e78b7af79258dfad3b0d261
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Nov 30 19:49:16 2008 +0000

    uphys-invalidate-returns-void-20081130
    
    LICENSE IPL10
    FIXES 123723
    
    thanks to Hartmut Reuter for catching this.

commit 0d94742ec33122b83a84eeb7a82bfd1eb8361464
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Nov 30 19:40:00 2008 +0000

    libafs-prototypes-20081130
    
    LICENSE IPL10
    
    fix sun5 prototype for afs_close

commit 55ac2b7aa7da8ead2b3457781d9d60958bfad6be
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Sat Nov 29 18:55:25 2008 +0000

    netrestrict-netinfo-20081129
    
    LICENSE MIT
    
    Rename rxi_getAllAddrMaskMtu to rx_getAllAddrMaskMtu.
    
    Implement rx_getAllAddrMaskMtu for Windows.
    
    Add rx_getAllAddrMaskMtu to the libafsrpc exports list.
    
    Remove restrictions on use of NetRestrict / NetInfo files from
    all services on Windows.

commit b7e12a1aec9cd3591a02023fb6e87ba6cfcb152f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 29 18:20:03 2008 +0000

    libafs-prototypes-20081129
    
    LICENSE IPL10
    
     add prototypes missing from libafs

commit deb20d02fb76e52210e44fe03e611e5d3a48a8e5
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 29 18:15:40 2008 +0000

    standard-header-includes-20081129
    
    LICENSE IPL10
    
    add missing standard headers

commit 85f1ef34c2533da2f47757bb8d8a3aecb9083283
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 29 18:08:33 2008 +0000

    rxkad-prototypes-20081129
    
    LICENSE IPL10
    
    add prototypes for rxkad

commit 5697e58a07e39eba9609685695e1718cbc9794e4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 26 07:15:01 2008 +0000

    windows-pioctl-global-auto-mapper-20081125
    
    LICENSE MIT
    FIXES 123726
    
    drive letters mapped to \\afs by the global auto mapper do not show
    up as mapped drives.  Add a check for the drive mapping based upon
    the registry configuration.

commit ebb2c8eacaffe25d430c4e3b3eca524ea0b6b103
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 21 16:52:40 2008 +0000

    windows-afsd-memdump-20081121
    
    LICENSE MIT
    
    add the buffer error state to the memdump output

commit 9ddb573bbb7b9960430a98f32124c0cb4d5028b2
Author: Adam Vollrath <axisofentropy@gmail.com>
Date:   Fri Nov 21 07:09:42 2008 +0000

    ubik-doxygen-20081121
    
    LICENSE IPL10
    FIXES 123681
    
    restyle comments in ubik to be doxygen qt-style

commit ef92a3331f25375387a99fbb690c4473ee91d945
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Thu Nov 20 22:56:12 2008 +0000

    clones-take-two-20081120
    
    LICENSE IPL10
    FIXES 89557
    
    commit jeff's revised version of the patch

commit f3384d6378173dbaf550283851a8948654af548c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 19 12:36:39 2008 +0000

    windows-smb-is-mask-20081119
    
    LICENSE MIT
    FIXES 123680
    
    Examination of dump shows that smb_IsMask is being called on a
    non-8.3 input buffer.   Separate smb_IsMask() into smb_Is8Dot3Mask()
    for 8.3 input buffers and smb_IsMask() for non-8.3 input buffers.

commit 122833a44eed58273e73992df815c7718ac6e4f7
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Mon Nov 17 23:14:02 2008 +0000

    netbsd-acinclude-typo-20081117
    
    LICENSE IPL10
    FIXES 123647
    
    fix netbsd version tests for amd64

commit b5fea780fbb0ea12d3d086210d0abbef12e24560
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 17 23:05:28 2008 +0000

    aix6-lam-plugin-20081117
    
    LICENSE IPL10
    FIXES 123649
    
    based on suggestion from Hung_Pham@unc.edu
    
    build aix5 module for aix6

commit a4177506ce59ffda41ae0cc04aeef581e3f4d305
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 17 22:28:43 2008 +0000

    windows-smb-rename-20081117
    
    LICENSE MIT
    FIXES 123673
    
    avoid reference under count when renaming

commit 5fe7d9c6d9482651859d91f3022ac5ae0a127835
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 17 19:08:23 2008 +0000

    windows-smb-vc-uid-missing-20081117
    
    LICENSE MIT
    FIXES 123655
    
    Protect against an smb packet containing a uid for which we have no
    active session in the virtual circuit.

commit d312166bfd2e7e877ae5559a82050f3ecc3555ee
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 15 17:10:16 2008 +0000

    windows-buf-clean-20081115
    
    LICENSE MIT
    
    change the interface to buf_CleanAsync / buf_CleanAsyncLocked to permit
    errors to be propagated to the caller.

commit ab37d70f502e3b5ebdbfe23107ac5006cc0e9a2f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 15 17:07:41 2008 +0000

    windows-btree-20081115
    
    LICENSE MIT
    
    return an error if the enumeration of the directory cannot complete
    because the btree has not yet been generated.

commit 17b8c16000461c5b7908cdb3d923bba9a03122b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 15 17:05:19 2008 +0000

    windows-error-mapping-20081115
    
    LICENSE MIT
    
    do not map success (0) to an error

commit bac191678f18669df4f2f5e69a033dcce4d2c38a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 15 16:47:55 2008 +0000

    windows-conn-analyze-20081115
    
    LICENSE MIT
    
    Add a delay after receiving a VBUSY before
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    remove

commit 0c3bf45fff85b54f6143d200b2e7884fdc1e2845
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 13 15:39:46 2008 +0000

    windows-dir-prefetch-locks-20081113
    
    LICENSE MIT
    
    cm_DirPrefetchBuffers() did not properly drop and regain the appropriate
    lock type y
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    undo premature commit.

commit 117066c481e956f7fea53a500271791db5cb375d
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Nov 13 13:47:52 2008 +0000

    missing-linux-fh-configure-switch-20081113
    
    LICENSE IPL10
    FIXES 123620
    
    add missing hunk to acinclude

commit a3c9b01f3adae098dbd31e7b9742dec5f8081d2c
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Nov 12 02:30:58 2008 +0000

    man-page-fileserver-fix-block-size-20081111
    
    
    After code study, we've decided that additional blocks do add 32 octets,
    not 16, despite messages to the contrary in the archives.

commit 794967ed3ec5a46329375ae19eac21c1c508c1ee
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Wed Nov 12 02:17:49 2008 +0000

    man-page-fileserver-updates-20081111
    
    LICENSE BSD
    
    Various file server man page updates: number of partitions, partition size
    limits, directory file name block size, and a reference to the IBM manual
    set.

commit 196e995b2569c7dceea8748a36431802d4875188
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Nov 12 02:00:27 2008 +0000

    man-page-fileserver-octet-20081111
    
    LICENSE BSD
    
    The sizing limit on directories is better expressed in octets than in
    characters in the new possibly-Unicode world.

commit 267472a473316fbc37e1fc5dc74e4e7f9edfa4ef
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 11 20:31:19 2008 +0000

    viced-helper-thread-count-20081111
    
    LICENSE IPL10
    
    fix the thread count of helpers so we don't go past 128

commit de2044ca66f0de5bcdf0505373fb189b09cd49ef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 11 03:33:24 2008 +0000

    windows-netidmgr-vs-referrals-20081111
    
    LICENSE MIT
    
    kfw referrals logic broke the logic for automated configuration of
    the workstation cell with a new identity.  Now if a referrals
    response is returned, assume the cell belongs with the new identity.
    
    In the long term, we need to change the logic as follows:
     1. if realm indicates referrals, try to obtain the krb5 service ticket
        but do not generate a token
     2. if the service ticket can be obtained and
      a. if the cell is not bound to any other identities,
         then bind it to this one
      b. if the cell is bound to another identity, prompt the user to ask
         which identity (or both) should this cell be bound to and follow
         the user's instruction

commit 041f09e17b7e1760a968c0e38f52d7feac2862ba
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Nov 8 16:49:25 2008 +0000

    linux-new-aop-20081108
    
    LICENSE IPL10
    FIXES 123580
    
    support for 2.6.28

commit 4eab64ebd81305845d10c4a5fdfd1861bc41520b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Nov 8 16:34:24 2008 +0000

    linux-fh-based-cache-20081108
    
    LICENSE IPL10
    FIXES 123620
    
    use linux fh (exportfs api) to do cache file access. conditionalize based on
    configure switch.

commit 18e78d91e78e541fce6c9295919946af0744aa7e
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Nov 8 16:09:25 2008 +0000

    linux-disable-readahad-20081108
    
    LICENSE IPL10
    FIXES 123604
    
    The code has long contained a backing_dev_info structure, but it
    was never attached to anything.  Initialize its use properly with
    bdi_init, and attach it to i_mapping for every newly filled inode.
    bdi_init and bdi_destroy are needed for proper initialization of
    some percpu counters, otherwise we get some oopses.

commit 0ac956b3384842b3c60e72bde78a4baf58a5877f
Author: Steve McIntosh <stevemac@endpoint.com>
Date:   Sat Nov 8 15:58:06 2008 +0000

    salvager-no-chdir-20081108
    
    LICENSE IPL10
    FIXES 123577
    
    make sure salvager cores don't get left in vice partitions

commit 35bc549bf9b6d5f1e4628621f0283d68c5808da5
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Nov 8 02:28:48 2008 +0000

    cellservdb-20081107
    
    
    new cellservdb from central.org

commit aff6ee8987961bc2631fa5dfd599de91a2c51419
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 7 21:00:43 2008 +0000

    windows-linked-cells-10081107
    
    LICENSE MIT
    
    prevent stack overflow

commit 99e202b073c35a5c7d76a66a9d9cd2d0b9a6c73d
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Nov 7 18:19:38 2008 +0000

    windows-nim-afs-longer-cell-names-20081107
    
    LICENSE MIT
    
    permit cell and realm names to be longer than the input field.

commit fffc8d7016b3f659d111276a1657dad8acc8cf50
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 7 16:35:20 2008 +0000

    windows-nim-afs-linked-cells-20081107
    
    LICENSE MIT
    
    add linked cell support to the NIM afs provider.

commit 01c4e08cf8c90c4f01a70e14a73c07e2382d3451
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 7 05:40:59 2008 +0000

    windows-aklog-linked-cells-20081106
    
    LICENSE MIT
    
    Add support for linked cells.  Acquire tokens for the linked cell in
    addition to the specified cell.

commit 32c271187ad7045abf376490ec3cbb44a6ce617c
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Nov 7 00:26:17 2008 +0000

    doc-user-guide-acl-example-fix-20081106
    
    FIXES 123331
    LICENSE BSD
    
    fs sa takes a directory as its first argument.

commit 68902640a2eb1d47d7dd13b3fae9d19eddf64a6e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 6 22:09:05 2008 +0000

    windows-config-ipaddr-parsing-20081106
    
    LICENSE MIT
    
    when parsing ipaddrs in CellServDB rejects addrs whose components are
    values greater than 255.

commit a36618213694f37cd1cec660336267a38cee9344
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 6 19:18:32 2008 +0000

    windows-afsd-hook-20081106
    
    LICENSE MIT
    
    When loading the afsdhook.dll require that it be in the same directory
    as afsd_service.exe.  This prevents LoadLibrary() from searching the PATH
    environment variable if it cannot be found.   If the PATH environment
    variable contains a path in AFS, the library will fail to load and take
    a very long time doing so.

commit eccc12fb07cc5fef660ee29fe5ebcc573b027568
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Nov 5 21:29:06 2008 +0000

    redhat-packaging-krb-conf-man-page-20081105
    
    LICENSE IPL10
    
    account for the new manpage

commit 70fda445bd0fb8bd3e246e859b4582170ea271eb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 3 19:55:38 2008 +0000

    windows-linked-cells-20081103
    
    LICENSE MIT
    FIXES 123571
    
    The Windows code base was implemented ignorant of linked cells as
    defined in the src/auth/cellconfig.h struct afsconf_cell.  The code
    that made use of the afsconf_cell objects would leak the memory from
    the linkedCell field if is non-NULL.
    
    Add cm_SearchCellFileEx which is an extended version of cm_SearchCellFile
    capable of returning a linked cell obtained from the CellServDB file.
    
    Update GetCellConfig to populate the linkedCell field of the afsconf_cell
    structure.
    
    Modify cm_cell_t to support a linked cell name.
    
    Modify cm_GetCell_Gen() to populate the cm_cell_t linked cell and enforce
    that two cells are linked to each other.
    
    Modify cm_GetVolumeByID() and cm_GetVolumeByName() to perform fallback
    to the linked cell if the response is CM_ERROR_NOSUCHVOLUME.

commit 303c70efd4cb54ad673bed5a0c438670ae2b97ad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 1 03:37:56 2008 +0000

    windows-prevent-wow64-execution-20081031
    
    LICENSE MIT
    
    prevent the 32-bit build from being executed in the wow64 environment

commit 1d18280f20bacf3fa9cc650c7c64d25c72c0507a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 29 20:06:54 2008 +0000

    windows-release-notes-missing-files-20081029
    
    LICENSE MIT
    
    pulled down from 1.5

commit 50e1e59a92f38e0751384b401016ea01fe01ed8f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 29 19:43:42 2008 +0000

    aklog-attempt-order-comments-20081029
    
    LICENSE IPL10
    
    to clarify what gets tried when and why.

commit ef70f73141bf9940ec10d42c2d6ab5b6b341cdc9
Author: Max Cohan <max@endpoint.com>
Date:   Tue Oct 28 17:55:19 2008 +0000

    windows-setup-utils-20081028
    
    LICENSE IPL10
    
    correct file name to match the file.
    committed broken in windows-file-versioning-20030619

commit fc78255c1dc29c55b67f7a7b4599bed141282213
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 27 23:53:23 2008 +0000

    initialize-variables-to-avoid-logic-issues-20081027
    
    LICENSE IPL10
    
    make sure any variable whose value is used will be initialized before that
    value is used. (these aren't just warnings)

commit f27165f13796a84cdbc36c31714781509ad25ba0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 27 23:41:02 2008 +0000

    kill-uninitialized-variable-warnings-20081026
    
    LICENSE IPL10
    
    kill lots of compiler warnings

commit aa09aa2be151d44a9fe5008ff5931dd1892ddf35
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 26 21:52:29 2008 +0000

    windows-pioctl-drive-map-20081026
    
    LICENSE MIT
    
    a remote drive connection may not be mapped to a local drive letter.

commit a824cbda621151c34dd85d00c3ee2779d839c237
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 26 21:16:57 2008 +0000

    rx-rdwr-avoid-free-null-packet-20081026
    
    LICENSE MIT
    
    avoid a potential call to rxi_FreePacket with a NULL pointer as input

commit a614a8d95476ae49642d055cb0ac7942109d021e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 26 07:50:39 2008 +0000

    ptutils-restricted-accessok-20081025
    
    LICENSE MIT
    
    Fix restricted mode test when 'any' is not set on AccessOK

commit 8a33059215c00f688ea38fa039b2ac53d8d26dc9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 26 01:45:45 2008 +0000

    exporter-call-gethost-method-correctly-20081025
    
    LICENSE IPL10
    
    actually call the correct method for EXP_GETHOST

commit 3f08225c6b23f74e98b576a1ed27837989d64707
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 26 01:04:12 2008 +0000

    rx-rwlock-cleanup-20081025
    
    LICENSE IPL10
    
    make the rwlock patch actually build everywhere

commit f2014112bcc27ecc1426ef078af7456285d839d2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 26 00:59:55 2008 +0000

    aklog-chatty-20081025
    
    LICENSE IPL10
    
    make aklog not accidentally be chatty

commit 069cd726c093d4856dc98353a75080547ea4e751
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 24 22:07:01 2008 +0000

    darwin-kernel-rwlocks-20081023
    
    LICENSE IPL10
    
    convert to kernel rwlocks on darwin

commit e73e2ff4b53bfdfe16fec2d65776facae853eddd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 24 21:59:52 2008 +0000

    rx-atomics-for-solaris-and-darwin-20081023
    
    LICENSE IPL10
    
    support atomics on osx and solaris

commit 23a511739b431afcec60b7f9ca681236f37b920d
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 24 21:38:56 2008 +0000

    rx-rw-locking-20081024
    
    LICENSE BSD
    
    rename RWLOCK_INIT to AFS_RWLOCK_INIT in order to maintain naming
    consistency and to distinguish them from the new RWLOCK_INIT macros
    being used in rx.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE BSD
    
    add rx/rx_internal.h as a dependency
    
    ====================
    LICENSE BSD
    
    define RWLOCK_xxx operations
    
    replace MUTEX_xxx operations with RWLOCK_xxx when it is appropriate
    to do so.  This improves concurrency on multi-processor systems.
    
    make additional use of atomic operations

commit f64ecbf721dbc115103684a3d71a095854607812
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 22 02:25:25 2008 +0000

    windows-reformatting-20081021
    
    LICENSE MIT
    
    reformat some of the recent changes
    
    cast away warnings on 64-bit windows

commit a7a1846ab7fb049360b2c69486b7c673d09b8b28
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 21 19:36:35 2008 +0000

    fd-setsize-test-20081021
    
    LICENSE BSD
    
    a test so we can deal with platforms which don't honor FD_SETSIZE

commit 9bca8ce22add91b32f45922650c429404d74797d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 21 14:44:50 2008 +0000

    linux24-writepage-antideadlock-20081021
    
    LICENSE IPL10
    
    also make this work for 2.4.x

commit 6d14b44b7c83918bcd7e6e07ec365f8430ad23c5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 20 20:29:26 2008 +0000

    blacklist-move-init-checks-back-into-req-code-20081020
    
    LICENSE IPL10
    
    revise things so we don't need to check initd outside analyze.c/InitReq
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    
    since these end up being used, init them too

commit 4a587356a31ac5afdf17d329a8598f70cf8bc3af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 20 13:38:07 2008 +0000

    linux-mmap-antirecursion-20081020
    
    LICENSE IPL10
    FIXES 120491
    
    avoid deadlocking ourselves due to recursion when flushing pages on an
    mmap()ed file larger than the cache

commit bc9c0a14154639d8e45554a3abeb867af9a8d0b2
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Oct 20 13:34:58 2008 +0000

    autoconf-262-support-20081020
    
    LICENSE IPL10
    FIXES 118058
    
    fix the quoting and remove the tests we shouldn't need anymore

commit 3ad8fba85f5b45cdd6537c3ca71717c9370cc48e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 20 13:03:44 2008 +0000

    blacklist-check-only-existing-servers-20081020
    
    LICENSE IPL10
    
    based on suggestion from haba@pdc.kth.se

commit 7366eb3d46506b1fdda5ece843abd96aa76b7936
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Oct 20 13:01:34 2008 +0000

    blacklistonce-use-only-initd-vrequest-20081020
    
    LICENSE IPL10
    
    avoid using an un "initd" vrequest for server blacklisting

commit 90e4242c2d7d4ce8477061469f4840212c195080
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Oct 20 00:17:41 2008 +0000

    windows-handle-invalid-utf16-names-20081019
    
    LICENSE MIT
    FIXES 116641
    
    Windows will deliver to OpenAFS UTF16 strings that are not valid Unicode
    and cannot be converted to UTF8.  Return bad file name errors in those
    cases.
    
    Make sure all file server strings once converted to UTF16 can be converted
    back.  If not, escape the invalid portions of the string so that the
    file can be accessed.

commit 0c7d7ce3b8386a1aca6d1fc3d738c8621708eb95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 19 23:50:21 2008 +0000

    windows-smb-rdr-duration-logging-20081019
    
    LICENSE MIT
    
    if an smb request takes longer than 45 seconds, log info to afsd_init.log
    that might be helpful in determining patterns in the smb client disconnects

commit 622f9b0de85f2a45d3a327cd8b8bea470dba9862
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 19 23:44:20 2008 +0000

    windows-smb-bridge-nowild-error-handling-20081019
    
    LICENSE MIT
    
    add the error preprocessor symbol to the error string
    
    if both an NRC_BRIDGE and NRC_NOWILD error are received within
    the smb_Listener thread, try re-adding the NetbiosName to the lana
    before giving up and quiting.

commit 2767cbf773653bffaa63e098cce463ada804d6d7
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Oct 18 20:25:56 2008 +0000

    newtrans-lock-fix-fix-20081018
    
    LICENSE IPL10
    
    swap in the freshly allocated memory instead of throwing it away

commit f9191fdebcf694f1a6afac8c0f4679c35114ce93
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 18:01:07 2008 +0000

    smb-symlink-to-vnovnode-attribute-20081017
    
    LICENSE MIT
    
    When reporting the attribute of a directory name which happens to be
    a symlink object to a file that cannot be accessed or does not exist,
    use the target name to guess the type of the object.  If it has an
    extension, consider it a file, otherwise report it as a directory.

commit 7e8c41d53fcd51ae0ff4420ba1027b354af306c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 16:24:35 2008 +0000

    ubik-uninitialized-var-20081018
    
    LICENSE MIT
    
    'pass' must be initialized.  do so.

commit f69137625fde97e465671978820350d41ca5d5b8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 16:23:13 2008 +0000

    restore-uninitialized-var-20081018
    
    LICENSE MIT
    
    'last' must be initialized.  do so.

commit 1bdea5e4707e9c60b949cc55b847c498fc9a7bec
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 16:08:50 2008 +0000

    fix-maxmtu-command-line-20081018
    
    LICENSE MIT
    
    fix the variable used for maxmtu command line processing

commit f5455f74988da78a652f035cd93c3184aa2ce490
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 14:12:19 2008 +0000

    windows-pioctl-wnet-connected-20081018
    
    LICENSE MIT
    
    refactor.  consolidate netbios name acquistion.

commit 75f496df1727a5b1d00809fcf493c7c815c90816
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 07:19:17 2008 +0000

    windows-pioctl-wnet-connected-20081017
    
    LICENSE MIT
    
    use WNetEnumXXX functions to list connected disk resources.
    If the requested drive letter is an AFS resource, perform the pioctl
    test.  If it is not, fail immediately.

commit edf7a4020318b305ce8fd3852f09f2f565563f7c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 05:44:51 2008 +0000

    windows-reset-acl-list-20081017
    
    LICENSE MIT
    
    Move definition of cm_ResetACLCache from cm_ioctl.c to cm_aclent.c

commit 4c79498bc3dd87cb45d1827133aff3c93c2caff8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 05:12:25 2008 +0000

    windows-shell-extension-20081017
    
    LICENSE MIT
    
    windows-afsreg-20081017 wraps strings for wide char usage.
    use the wide char versions of win32 apis to match.

commit 81a921759520b03088ddcc37c1c624c0641981fc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 18 05:09:44 2008 +0000

    windows-afsreg-20081017
    
    LICENSE MIT
    
    wrap all text strings with TEXT() to permit use with wide char functions

commit e4b6e4d4a63c036be326e3e933fb7f7c6787275b
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date:   Fri Oct 17 21:24:19 2008 +0000

    windows-pthread-rwlock-20081017
    
    LICENSE MIT
    
    Adds pthread rwlock support to the library.

commit c3251a3b18a83bf66d4d2f0a549fa573eccbdde2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 17 02:41:12 2008 +0000

    windows-install-nsis-20081016
    
    LICENSE MIT
    
    update copyright dates
    
    remove old AFS IFS entries
    
    delete afslogon* and afscpcc.* from $SYSDIR
    
    correct install location of afslogon.dll in WinLogon\Notify registry key

commit bfd01550bddcce18f6f76e97231e21680a545e3f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 16 02:38:35 2008 +0000

    windows-netbios-name-logging-20081015
    
    LICENSE MIT
    
    log more data to afsd_init.log regarding events that
    can cause the netbios name registration to become
    invalid.

commit e0298d5f09d7e791aeb0f98438e299ad1faf186a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 16 02:26:11 2008 +0000

    windows-dnlc-20081015
    
    LICENSE MIT
    FIXES 116641
    
    Do not use the DNLC if the name when converted from Unicode is NULL.

commit 1115e29dacab98ed29ec603edfdaa8f697507daa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 15 14:50:51 2008 +0000

    windows-checkVCs-20081015
    
    LICENSE MIT
    FIXES 116641
    
    Do not drop references to 'nextp' until we are done with the object.
    Dropping the last reference can result in the object being destroyed.

commit 9be6b92a17ebe1d125e13c1cbd7bce620e7672ce
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Oct 14 15:38:30 2008 +0000

    linux-alt-builddir-fix-20081014
    
    LICENSE IPL10
    FIXES 121650
    
    correct the if test to include missing x

commit 24ce8010cd414c8c573f2b035d186a2418900546
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 12 19:44:27 2008 +0000

    linux-proc-walk-locking-20081012
    
    LICENSE IPL10
    FIXES 116603
    
    sort out rcu locking versus tasklist lock. if this fails we probably have to
    disable walking entirely

commit 0195d7c0828e3eae7281aad3b983160089b8846a
Author: Dragos Tatulea <dragos.tatulea@gmail.com>
Date:   Sun Oct 12 19:10:05 2008 +0000

    disconnected-rmdir-infinite-recursion-20081012
    
    LICENSE IPL10
    FIXES 121226
    
    fix infinite recursion when replaying rmdir transaction

commit 7c6fac305c81af3e10f48560c03db4d2da630527
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Oct 12 19:06:27 2008 +0000

    disconnected-getvcache-avoid-duplicate-work-20081012
    
    LICENSE IPL10
    FIXES 121254
    
    don't do duplicate work finding a vcache we already had

commit 726fc5b8425eb7bbaab4bdde38d977382dc17a9d
Author: Stefaan De Roeck <stefaan.deroeck@gmail.com>
Date:   Sun Oct 12 19:01:58 2008 +0000

    linux-alternate-kernel-builddir-20081012
    
    LICENSE IPL10
    FIXES 121354
    
    add support for KBUILD_OUTPUT=... builds.

commit 322f7e0e9fff02c5d6cad8d9aded3e40abce93ef
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Oct 12 18:53:06 2008 +0000

    volser-newtrans-racy-20081012
    
    LICENSE IPL10
    FIXES 121263
    
    avoid a race on creating new transactions in volserver

commit 4b72f8765cdf88540354291e8e7072185538ae5d
Author: Dragos Tatulea <dragos.tatulea@gmail.com>
Date:   Sat Oct 11 00:26:47 2008 +0000

    doxygen-comments-20081010
    
    LICENSE IPL10
    FIXES 98819 99069
    
    add doxygen comments for some parts of openafs cache manager
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    
    add doxygen comments for some parts of openafs cache manager

commit 523dd766ef7ed26c2207c7ec4bebe8f74e4dc408
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 10 17:25:29 2008 +0000

    cachemgr-blacklist-down-servers-20081010
    
    LICENSE IPL10
    FIXES 121035
    
    fix to issue suggested by reuter@rzg.mpg.de

commit 8b1b390713a79fadd300d17713350f5789879615
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Oct 10 15:42:10 2008 +0000

    volser-dumpstuff-log-errors-20081010
    
    LICENSE IPL10
    FIXES 121040
    
    return sensible (ENOSPC) errors when out of tags or vnodes. don't perror. log
    instead.

commit d569a083e337c2971a4ac471d8adeb1788518684
Author: Harald Barth <haba@kth.se>
Date:   Fri Oct 10 12:50:52 2008 +0000

    cmdebug-entry-count-20081010
    
    LICENSE IPL10
    
    raise max number of entries as cache managers routinely have more
    than 10,000 vnode status objects

commit 7034078b3386e074a399f9387ff9b387e479f4f0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 9 19:56:43 2008 +0000

    hpux-gop-lookupname-20081009
    
    LICENSE IPL10
    
    add missing gop_lookupname macro for hpux

commit 2e15aa2b261f49a1d6648c36a34300cade3c968c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 9 19:54:06 2008 +0000

    solaris-gop-lookupname-20081009
    
    LICENSE IPL10
    
    add missing gop_lookupname macro for solaris

commit 9f8865744e3f4c1830afdf32b6b38f6b8f584801
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 9 13:55:19 2008 +0000

    bypasscache-fix-linux24-20081009
    
    LICENSE IPL10
    
    no f_mapping in 2.4.x

commit 32977eadf12aaec6608ce3457a976a0810da8590
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 8 22:14:52 2008 +0000

    windows-build-do-not-mix-pthread-and-lwp-20081008
    
    LICENSE MIT
    
    The rx library is built in lwp and pthread forms.  The methods used to
    export data symbols are incompatible between the two.  The ubik library
    is built with rx headers but only in the lwp form.  As a result it is
    not possible to link the ubik libs without also including the lwp rx
    lib.  We have pthreaded servers that require linking to the pthreaded
    rx and ubik.  To fix the problem all of the macros that assigned values
    to variables and were used by ubik have been converted to functions
    (but only for Windows.)

commit e7b06ab695b83114954b58bd8cd25e5c0ad3f395
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 8 18:43:03 2008 +0000

    windows-cell-name-trailing-dot-removal-20081008
    
    LICENSE MIT
    FIXES 120318
    
    Lookups of cell names that have a trailing dot should have the dot removed
    otherwise there is a risk of duplicate cell entries since "foo" and "foo."
    will not match but both will resolve to the same AFSDB record in DNS.

commit ab2d343c31fe41d663c5a5feb796c3a9250c60d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 7 23:28:40 2008 +0000

    windows-libafsrpc-20081007
    
    LICENSE MIT
    
    export missing symbols necessary for tbutc and performance testing.

commit b8b3bd8d1b7ca1a95c07e2ee3a0004b07a0b9537
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 7 23:25:14 2008 +0000

    windows-tbutc-20081007
    
    LICENSE MIT
    
    do not link to both pthread and lwp rx libs

commit 967cbd2628c02060870c2381bd6fca3480f5711a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 22:30:23 2008 +0000

    darwin-fake-more-disk-free-20081007
    
    LICENSE IPL10
    
    placate finder. this time for sure

commit b3bf4b89e345b991984a416d97e3f9aeacc0e159
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 20:00:31 2008 +0000

    linux-d-reval-rewrite-mtpts-when-fakestat-enabled-20081007
    
    LICENSE IPL10
    FIXES 113558
    
    avoid case where revalidate saw a mountpoint which hadn't been rewritten yet
    and failed to handle it, exposing ENOENT where the entry existed.

commit af0b03055e8a3244881d8ac3e7c52ed775ae86d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 19:51:25 2008 +0000

    find-new-xbsa-first-20081007
    
    LICENSE IPL10
    FIXES 119162
    
    change test order

commit fe0186dccd4e4d16c0610f211d454a90b0841a83
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 18:43:57 2008 +0000

    ubik-notruncate-dont-pollute-fd-cache-20081007
    
    LICENSE IPL10
    
    issue suggested by Chaskiel Grundman; while it should not have been an issue
    we now behave usefully in the notruncate recovery code.

commit 1e3674cafe3c3feea0840c531cc0461d358f87c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 16:34:53 2008 +0000

    vldb-check-fix-more-kinds-of-corruption-20081007
    
    LICENSE IPL10
    
    work harder to ferret out corruption; still reruns itself so if 2 hash chains
    are comingled they get split back out correctly without having to flush state
    continuously

commit 2cfe5d555e2e9eaedf5107a34d5a2f74092b98b1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 7 04:40:49 2008 +0000

    linux-fakestat-revalidate-to-validity-20081006
    
    LICENSE IPL10
    
    we had something which fakestat was faking, but the inode had no ops, so
    we ended up ENOTDIRing. oops.

commit 061634bfc96e70e3c02ce93319f1f269e5c16a44
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 4 05:59:32 2008 +0000

    rx-varargs-20081003
    
    LICENSE MIT
    
    call va_start on Windows

commit 5158e8c7aff8f0385edbebb688b6c79b19c604c3
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Fri Oct 3 21:39:43 2008 +0000

    kdump-rx-stats-20081003
    
    LICENSE IPL10
    FIXES 118700
    
    add change to kdump also

commit b8caeee989fcc096a1846c87b088263d3db130d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 3 15:35:15 2008 +0000

    rx-windows-dpf-20081003
    
    LICENSE MIT
    
    dpf on windows is conditional on rxdebug_active, not rx_debugFile

commit a3154fbfc16bf3946b964f03340bca86d1ad657d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 3 15:33:19 2008 +0000

    rx-prototypes-20081003
    
    LICENSE MIT
    
    remove EXT from the function prototype definitions in rx_globals.h
    because they result in conflicts with the actual function declarations
    and the prototypes in rx_prototypes.h.

commit 82fc110302a7f1b7e7971285777658bdce3735ac
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 3 15:31:59 2008 +0000

    rx-vaargs-20081003
    
    LICENSE MIT
    
    define va_list ap where it will be defined on all platforms

commit 97176bc65a298a5660fe5fb8ad936ebbc6fbbd5e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 3 15:29:37 2008 +0000

    windows-client_exp-makefile-20081003
    
    LICENSE MIT
    
    define UNICODE

commit 0d368d7c0d039d88eaad58dfee51a4b0b086cba9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 3 15:28:07 2008 +0000

    windows-update-makefile-20081003
    
    LICENSE MIT
    
    add missing reference to cm_nls.obj

commit 38800039a7039c3fa832718799667557a5e24f66
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 2 13:12:23 2008 +0000

    windows-smb_dir_watch_lock-20081003
    
    LICENSE MIT
    
    re-order the lock hierarchyfor smb_Dir_Watch_Lock so that the
    lock does not have to be dropped when sending notifications
    within smb_NotifyChange().

commit 1e7203940456e783aad215e939c04ed01dd45599
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 2 12:51:48 2008 +0000

    rx-current-packet-double-free-20081003
    
    LICENSE MIT
    
    in rxi_WriteProc() make sure that rx_call currentPacket is
    set to NULL after the rx_packet is added to a queue or
    passed to rx_freePacket().  Otherwise we will panic when
    we attempt to call rx_freePacket twice on the same packet.

commit 6acd68f0e88ffa40891be4b908b70af784b397a2
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Sep 26 11:16:36 2008 +0000

    linux-nfstrans-libafs-tree-20080926
    
    LICENSE IPL10
    
    add missing files needed for nfs variants

commit 3853c326155d58613bb1711a10123ac88acce002
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Sep 26 09:23:48 2008 +0000

    disconn-prototypes-20080926
    
    LICENSE IPL10
    
    add a prototype we need for disconnected

commit 3f11790f6ab999be828fb0868b64ea00b98a5ea4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Sep 25 22:40:25 2008 +0000

    pthread-ubik-volser-stupidity-20080925
    
    LICENSE IPL10
    
    make volserver build again for not pthreaded ubik

commit 3a5e912230fd09c72c1a27d7f7d4e4ac78f9323b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Sep 25 21:19:33 2008 +0000

    rx-dpf-clarify-20080924
    
    LICENSE IPL10
    
    rework dpf macro slightly so there are no trailing ; issues
    ddddddddddddd
    AUTHOR
    LICENSE IPL10

commit 8b50c9d9e3d181f749d0982f57410a5b4906627c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 21:17:22 2008 +0000

    rx-clear-queues-correctly-20080925
    
    LICENSE IPL10
    
    don't potentially leak packets by leaving them behind and initing queues;
    in fact, if you are cleaning up there is no need to init queues anyway.

commit b84da5849261867b201646e957c014e933a2c17f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 20:54:44 2008 +0000

    rx-packet-allocation-debug-20080925
    
    LICENSE IPL10
    
    add field to track allocated packets

commit 230dcebcd61064cc9aab6d20d34ff866a5c575ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 20:34:41 2008 +0000

    rx-change-packet-allocation-calculation-20080925
    
    LICENSE IPL10
    
    don't alloc ourselves to death; try harder to manage growth

commit 559ea99b1e6e6e82ec6a77541ef9844ccc764de8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 19:59:33 2008 +0000

    rx-flag-all-packets-20080925
    
    LICENSE IPL10
    
    flag packets for all queues, and when they are currentPacket somewhere

commit 939e070c869b46abc707bbd916d4dfbe1e66a55e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 18:26:23 2008 +0000

    rx-global-lock-macro-correction-20080925
    
    LICENSE IPL10
    
    refer to the same macro everyone else does

commit a72eea6bb1758678d25528cd1ab9b439ade2f844
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 18:21:15 2008 +0000

    rx-clear-queues-correctly-20080925
    
    LICENSE IPL10
    
    don't potentially leak packets by leaving them behind and initing queues;
    in fact, if you are cleaning up there is no need to init queues anyway.

commit 7a4041f9404ff27f3e446d7b523086e0938dc6b9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 18:15:41 2008 +0000

    rename-rx-stats-20080925
    
    LICENSE IPL10
    
    avoid using the same name for the struct and the global so the windows debugger works usefully
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    
    avoid using the same name for the struct and the global so the windows debugger
    works usefully
    
    ====================
    LICENSE IPL10
    
    avoid using the same name for the struct and the global so the windows debugger
    works usefully

commit 883683fc317c5196f2eea1c1baed3b510771f001
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 18:06:24 2008 +0000

    rx-readproc32-avoid-losing-currentpacket-20080925
    
    LICENSE IPL10
    
    when currentPacket is empty, avoid leaking it and instead free and NULL it

commit eb875d30340a67af78638cf7f395dfe14c0ed405
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 25 17:59:52 2008 +0000

    ah-verbatim-section-tweak-20080925
    
    LICENSE IPL10
    
    remove PACKAGE and VERSION

commit 9d09de799b6efc1a62e0cf28f1b033fd4132b2e1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 25 15:41:02 2008 +0000

    acfooter-inline-20080925
    
    LICENSE IPL10
    
    based on work by mdw@umich.edu

commit 8871c545e3b6785b9f10a5b173c4701813269eae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 13:29:50 2008 +0000

    rx-windows-mutex-is-mine-lwp-20080925
    
    LICENSE MIT
    
    mutex is mine for lwp on windows

commit 3be628e8fc34c2a047187ce3852c56734f9cfc0a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 13:04:46 2008 +0000

    rx-user-prototype-20080925
    
    LICENSE MIT
    
    fix prototype for rx_getAllAddr() on Windows

commit ec6dcda473f4699454b3870994f147799044fb80
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 12:58:45 2008 +0000

    rx-prototypes-20080925
    
    LICENSE MIT
    
    fix errors introduced in rx-prototypes-20080924 on Windows

commit db15c2f1cb6cf02ddf79e3539b6f202c439b92e0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 25 12:49:10 2008 +0000

    rx-windows-mutex-is-mine-20080925
    
    LICENSE MIT
    
    Add MUTEX_IS_MINE for Windows

commit 9d63160cccf88d554e47e4bed8e3bbe26f14f8c2
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Sep 25 12:42:02 2008 +0000

    bypasscache-20080922
    
    LICENSE IPL10
    
    add cache bypass support (currently linux only)

commit 84b423e932e05bd6ffb64729900f518091f26ef1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 25 10:02:23 2008 +0000

    disconnected-fix-ifdefing-20080925
    
    LICENSE IPL10
    
    make disconnected code not be compiled in (and break) when you don't have it enabled

commit b5a6e4bf36dbb2099f17318ae09ff38a25687c5f
Author: Max Cohan <max@endpoint.com>
Date:   Thu Sep 25 09:57:39 2008 +0000

    dafs-vol-offline-status-20080925
    
    LICENSE IPL10
    FIXES 117499
    
    This patch makes several alterations to the DAFS volserver. The two
    major changes are:
    
    * a potential information leak whereby random heap contents could be
    exported over the four listvolume rpc variants is corrected
    
    * volume online/offline reporting correctly reports in several additional
    corner cases (see the comments in FillVolInfo() in src/volser/volprocs.c
    for the complete list of cases):
    
    VOL_STATE_SALVSYNC_REQ:
    exclusive state while a fileserver is busy requesting a demand
    salvage over the SALVSYNC protocol
    
    V_needsSalvaged():
    volume disk header field which is asserted when the fileserver
    detects that a volume needs to be salvaged
    
    pending volume operation with command code FSYNC_VOL_OFF:
    this command code indicates that a volume utility requires
    exclusive access to the volume
    
    pending volume operation and VVolOpLeaveOnline_r returned false:
    this indicates that a volume operation is in-progress, and the
    internal function VVolOpLeaveOnline_r has decided that the volume
    cannot be served concurrently with this volume transaction

commit 1659861640035f5405429194e72665839cff3720
Author: Steven Jenkins <steven@endpoint.com>
Date:   Thu Sep 25 08:50:01 2008 +0000

    dafs-drop-volheaders-20080925
    
    LICENSE IPL10
    FIXES 117470
    
    Under certain demand salvage scenarios, it is possible for a stale header
    to remain cached with the needsSalvaged flag asserted. Although this will
    not affect clients accessing the volume over afsint, it is an issue for
    volser clients. VAttachVolumeByName in volser will always attempt to pull
    the header over FSSYNC before doing a disk read, under the assumption that
    a cached entry in the fileserver will be more current than what is on
    disk. This patch causes the fileserver to aggresively invalidate disk
    header cache entries when a salvage is in-progress.

commit f52f24d6f0027be06d444c1dd7e0d35163b16ef6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 24 23:47:59 2008 +0000

    windows-remove-entraneous-commit-20080924
    
    LICENSE MIT
    
    remove extraneous commit.  maybe later.

commit dd05bd3ba7be90a6348b144eb1c0a6ac1c5f43ba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 24 23:40:44 2008 +0000

    windows-vlserver-updates-20080924
    
    LICENSE MIT
    
    if a vlserver returns a ubik error, skip the server and retry

commit 8aa9d07e35c132ba5bbc1704fc9c0ba289b277fd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 24 22:38:19 2008 +0000

    rx-varargs-20080924
    
    LICENSE IPL10
    
    make rx use varargs instead of a large fixed set of parms

commit 17d45aa8843c6608d6f98e5defbf0db5aefce66b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 24 22:36:29 2008 +0000

    rx-prototypes-20080924
    
    LICENSE IPL10
    
    cut down by a few thousand the warnings we get

commit af4d05c3a44d5b51dd6ae48e79c135af7efc530f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 24 22:34:19 2008 +0000

    generic-inline-20080924
    
    LICENSE IPL10
    
    move static_inline macro to generic location

commit 2d5987ea2bd96285899f1e5a141dcdaed8008e7e
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Sep 24 22:31:54 2008 +0000

    rx-dpf-clarify-20080924
    
    LICENSE IPL10
    
    rework dpf macro slightly so there are no trailing ; issues

commit 433afd4779b077a1d0f4b842335e38625e124dcc
Author: Dragos Tatulea <dragos.tatulea@gmail.com>
Date:   Mon Sep 22 14:36:16 2008 +0000

    disconnected-rw-20080922
    
    LICENSE IPL10
    FIXES 114605 114606 114607
    
    add read-write disconnected support

commit 41d5a5f7e30b5933408394db6aa107b8de966d33
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Sep 21 14:03:20 2008 +0000

    macos-panic-decoder-format-fix-20080921
    
    LICENSE IPL10
    
    handle new panic format

commit 1f686941197c32734acd2531a911b8e5e43cc94e
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Sep 16 12:45:22 2008 +0000

    windows-local-dir-updates-20080916
    
    LICENSE MIT
    
    When a local directory update occurs to the directory pages stored
    in the dcache, there is no guarrantee that the same modifications
    will be made to the cached pages as are being made by the file server.
    In the situation that one or more of the cached pages are recycled,
    it is not permissible to obtain the missing pages from the file server
    without first invalidating the rest of the cached pages.  This is
    necessary to prevent mixing of incompatible data representations.
    
    Define a new flag CM_SCACHEFLAG_LOCAL which is used to indicate that
    dcache entries were locally modified even though they are not dirty.
    
    As the previous code could have corrupted the contents of the dcache,
    bump CM_CONFIG_DATA_VERSION in order to force the rebuilding of the
    cache.
    
    Add error CM_ERROR_NOTINCACHE to indicate that a requested directory
    page is not present in the cache and will not be created on the fly.
    
    Prefetch all dcache entries for directories and ensure that a consistent
    set is being used.

commit c4117f6f07b92fcc3a135badb48099a01ba41fe2
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Sep 16 12:32:38 2008 +0000

    windows-dir-search-star-dot-pattern-20080916
    
    LICENSE MIT
    
    Replicate the FAT and NTFS behavior that the "*." pattern should match
    all files without an extension.

commit 414312a72a9b1f0dd64ba3bfe97865dcc8cd80e3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 16 12:26:45 2008 +0000

    windows-lock-order-20080916
    
    LICENSE MIT
    
    do not violate lock order when freeing server reference lists

commit 2d709220d53fe9c5da23e2dbb32764fd3cbfea48
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 13 14:51:16 2008 +0000

    windows-byte-range-locks-20080913
    
    LICENSE MIT
    
    Replace the int64 key with a struct because process ids on 64-bit
    Windows can be 64-bit when obtained through the redirector interface.

commit 1456a67c5ca024c523e0fc3edcba720780d4be9e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 13 05:20:02 2008 +0000

    windows-vnovol-20080912
    
    LICENSE MIT
    
    The cm_serverRef_t list reference counts were undercounting and
    prematurely freeing the server lists for volumes that experienced
    VNOVOL and VMOVED errors.  cm_Analyze() must release the server
    list before forcibly updating the volume location info.  Otherwise,
    the list that gets freed is the old one concatenated with the new
    one.
    
    Add more trace messages.

commit fd55471b57bce441454d7b3c72c7be6a66aad65d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 12 15:32:23 2008 +0000

    windows-service-procs-20080912
    
    LICENSE MIT
    
    if we are going to use hot threads it would be useful if there were
    some additional server threads available to become listeners as
    needed.

commit 11b45ad09b7d257a476ddb57e48133ecf88375f7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Sep 12 14:07:31 2008 +0000

    redhat-mockbuild-dksm-20080912
    
    LICENSE IPL10
    
    make mockbuild do the dkms rpms also

commit 7ae4174d95a9d90e16f0ddc66648741a119339d2
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Sep 12 05:08:00 2008 +0000

    windows-dir-new-pages-20080911
    
    LICENSE MIT
    
    A small patch to permit the directory package to allocate additional
    directory pages when adding new entries that do not fit in the pages
    that were obtained from the file server.

commit 5ea02ad1e2bdb98bea27e11c1372f90d1940de17
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 11 18:24:38 2008 +0000

    windows-vnovol-20080911
    
    LICENSE MIT
    
    Modify MSG_SERVER_REPORTS_VNOVOL to mention that the volume may
    have been moved or deleted.
    
    In cm_Analyze(), do not call cm_ForceUpdateVolume() or force a retry
    when processing CM_ERROR_NOSUCHVOLUME.  This CM error value is the
    result of a VNOVOL already being processed which would have forced
    the update.
    
    When a VMOVED or VNOVOL error is received, remove the volume id from
    the server's volume list.
    
    If cm_ForceUpdateVolume() returns a failure, do not retry if a
    VMOVED or VNOVOL error was received.
    
    Make sure that if a cm_serverRef_t object is marked srv_deleted
    that its references not be used.
    
    Now that cm_ForceUpdateVolume() is being called only when processing
    VMOVED and VNOVOL errors, permit it to call cm_UpdateVolumeLocation()
    immediately.
    
    Refactor cm_CheckOfflineVolume() to reduce code duplication.

commit 186f1e97d0c15ead6bddae8697161a47ce9a80e4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 11 18:09:34 2008 +0000

    windows-flush-btrees-20080911
    
    LICENSE MIT
    
    fs flushall, fs flushvolume, and fs flush should tear down directory
    B+ trees so that when the data buffers are re-read from the file server
    with the same data version, the B+ trees will be rebuilt.

commit d85bdb4c9f9ddf7d287072a3d12e65423e551f40
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 11 18:03:52 2008 +0000

    windows-cell-list-validation-20080911
    
    LICENSE MIT
    
    correct cell list validation now that the free cell list exists

commit 8e1b48ad0ab7f3790729ea0feb25256b3a9da709
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 11 17:59:18 2008 +0000

    windows-rx-jumbo-20080911
    
    LICENSE MIT
    
    Disable rx jumbo by default.  Permit rx jumbo to be enabled with
    registry value "RxJumbo" set to 1 or "RxNoJumbo" set to 0.
    
    RxNoJumbo has priority.

commit 59c1c22747b8aaf1da31f97d8a3ea178a4f7adee
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 11 17:49:53 2008 +0000

    windows-multi-check-server-20080911
    
    LICENSE MIT
    
    Permit rx_multi check server to be toggled via a registry setting
    at checked prior to each invocation.  "MultiCheckServers".
    Default is on.
    
    Remove volume status updates for vldb server status changes.

commit f51e8e7be5b16f84f0603a0e8bc1be4ffafac617
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 6 12:58:39 2008 +0000

    aix-export-build-fix-20080906
    
    LICENSE IPL10
    
    add missing ; to case actions

commit 21006bb844a3a93c7228b65ee4543ff2b8233761
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 6 12:52:59 2008 +0000

    oops-sias-dead-20080906
    
    LICENSE IPL10
    
    while we should try all the auth modules, sia is tru64 only, so, no...

commit 4119d9742b3e17fac6a3f1f7ab64ec829f085498
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 6 12:51:01 2008 +0000

    syncserv-syncvldb-manpages-dryrun-20080906
    
    LICENSE IPL10
    
    make syncserv and syncvldb manpages reflect dryrun option

commit 0860d5b5b17ef5f58592d739424a4cca8dd91bb5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 6 05:24:31 2008 +0000

    windows-vnovol-20080905
    
    LICENSE MIT
    
    force a volume location update upon receipt of a VNOVOL error
    in case the volume was moved.  VMOVED is only returned by the file
    server if the volume is in the process of being moved.  Once it has
    been deleted the file server returns VNOVOL.

commit 5c2406070fc08c5fee0a09a1aa25e16af123b81a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 5 17:57:33 2008 +0000

    fileserver-sticky-bit-admin-only-20080905
    
    LICENSE IPL10
    
    do restrict the sticky bit to admins.

commit beef54e70cc86672b9971288fe4034829186aa41
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 4 21:07:40 2008 +0000

    windows-smb-volname-20080904
    
    LICENSE MIT
    
    Advertise the correct length for the volume name.  Do not include the NUL.
    
    Add more create option values as #defines.

commit 9689e78d716422970a0ae3ad89d36acaa517072e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 4 20:41:14 2008 +0000

    fileserver-sticky-bit-not-admin-only-20080904
    
    LICENSE IPL10
    
    don't restrict the sticky bit to admins.

commit bbd713ad3f403c9137e01797f576f5dbd04a0f08
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 3 22:03:54 2008 +0000

    windows-cell-locking-20080903
    
    LICENSE MIT
    
    fix a lock order issue and protect the timeout and flags field
    of cm_cell_t with the mutex instead of the global lock.

commit 441cc643e027ab98ed14ab486ec077bbbd0c0d4f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 3 21:37:00 2008 +0000

    windows-smb-lock-order-20080903
    
    LICENSE MIT
    
    another lock order violation to fix

commit 539535cf679d6e70f34b80b74c127efae1f0bba2
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Wed Sep 3 19:26:29 2008 +0000

    aix61-initial-support-20080903
    
    LICENSE IPL10
    FIXES 113638
    
    aix 6.1 support

commit 7f4e0dfc3ef1464c8d8b422bf00915fa4538090c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 3 19:07:11 2008 +0000

    rx-mutex-init-once-20080903
    
    LICENSE IPL10
    FIXES 114555
    
    because rx_Finalize doesn't clean up, we end up reiniting mutexes. use
    pthread_once when not in the kernel.
    (kernel does not now call rx_Finalize, ever)

commit 995ee981fd2631d6e1e45311cee0a6d58f4a56be
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 3 17:59:08 2008 +0000

    linux26-libafs-makefileproto-trust-kbuild-system-no-really-20080903
    
    LICENSE IPL10
    
    if we are really not using COMMON_KERN_CFLAGS and being trusting, let's do so.

commit 9803e84e63c28e87c76e6f4e77343fec4ef4dcf4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 23:34:41 2008 +0000

    windows-afsd-dns-env-20080902
    
    LICENSE MIT
    
    Fix the conditionals so that the right thing happens if AFS_AFSDB_ENV
    is not defined.

commit 8bf17e7c813f9b2aa8a953a8d0251322ee970d2c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 22:25:25 2008 +0000

    windows-fs-setcrypt-auth-20080902
    
    LICENSE MIT
    
    fix parsing and display of fs setcrypt auth

commit 84e10d582abdf65a5354b1c4b41d7e2ecad532f8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 22:20:58 2008 +0000

    smb-string-conversion-20080902
    
    LICENSE MIT
    
    more cases where -1 should be passed in as opposed to the strlen value
    when converting between char and wchar forms

commit d94b9a78188357f87fa569ec7738d4e69ff05faa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 22:15:36 2008 +0000

    windows-rxkad-auth-20080902
    
    LICENSE MIT
    
    Add ability for users to select rxkad auth only mode.
    "fs setcrypt auth".

commit 21abc0e0b51cd3fd014b06b187d497996058ffe4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 22:08:24 2008 +0000

    windows-afsd-init-20080902
    
    LICENSE MIT
    
    report state of "Rx Jumbo" and "RxExtraPackets" more often

commit e31826d3331b8eb1893c627ac55eb299df88995b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 21:17:42 2008 +0000

    windows-cell-free-list-20080902
    
    LICENSE MIT
    
    add a free list to the cm_cell_t structure.  if during cm_GetCellGen()
    the cm_SearchCellXXX() calls fail, store the allocated cm_cell_t object
    on a free list so that it can be reused for the next request.

commit 829ff4e54f055de1dc26a1508d2abf4a3c72ff75
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 17:34:00 2008 +0000

    windows-cell-alloc-reversed-20080902
    
    LICENSE MIT
    
    The approach taken in windows-cell-alloc-20080902 won't work.

commit ef64f50fb9f477a0acbe1223ee2b0c9981f9324e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 2 16:20:13 2008 +0000

    windows-cell-alloc-20080902
    
    LICENSE MIT
    
    Perform the initial cm_SearchCellXXX call using a temporary cm_cell_t
    object in case the search fails.

commit a653057ff453a0d340c8153615aa44ae1679c892
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 1 13:35:42 2008 +0000

    windows-smb-free-lsa-response-20080901
    
    LICENSE MIT
    
    Whether or not LsaCallAuthenticationPackage succeeds, it may return
    a response buffer.  If it does, free it.

commit 83dadab93adde0812f9ae228667683cfcc761f67
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 30 15:13:03 2008 +0000

    windows-afsd-init-lock-order-validation-20080830
    
    LICENSE MIT
    
    Add TransarcAFSDaemon/Parameters key "LockOrderValidation" DWORD
    to control lock order validation functionality.  Defaults to off
    for release builds and on for checked builds.

commit a36596f10ff4d87d75a808cabe4e0e5ec661c5df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 30 15:03:27 2008 +0000

    windows-lock-order-validation-20080830
    
    LICENSE MIT
    
    Add osi_SetLockOrderValidation(int) to permit lock order validation
    to be turned on and off.  Must be executed before the first lock
    is obtained.

commit ccdf50ade371de595abe20f5a6b0ff149ce9ae79
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 30 03:08:20 2008 +0000

    windows-buf-shutdown-20080829
    
    LICENSE MIT
    
    During buf_Shutdown() all dirty buffers should be written to the file
    server if they can be.

commit 2da64d02a2707a3c9220951a30b5cea8464b9ef9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 30 03:04:53 2008 +0000

    windows-afsd-shutdown-20080829
    
    LICENSE MIT
    
    reorganize the service shutdown order to permit dirty buffers to be
    flushed to the file server without competition from incoming requests.

commit 00fee5efee68f1647fa810dffa7ad991235d01c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 28 10:45:45 2008 +0000

    windows-check-servers-20080828
    
    LICENSE MIT
    
    if the server count is zero, don't both trying

commit 43eb87a916b87c6037841ea38cde616014d892a8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 28 00:42:26 2008 +0000

    windows-check-server-heap-overwrite2-20080827
    
    LICENSE MIT
    
    the incorporation of nconns into the foo incremental was a mistake

commit e68255c12c444e36b7ca7f1864d964cd3a0bcda8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 27 23:08:06 2008 +0000

    windows-check-server-heap-overwrite-20080827
    
    LICENSE MIT
    
    Protect against a heap overwrite that could occur is the number of file
    servers or vldb servers grows while the maximum number of connections
    is computed and when the connection list is populated.

commit 0affa4b86a08c3be9cb4edc4c9f680ae02a2fcd8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 27 23:01:51 2008 +0000

    windows-callback-lock-order-20080827
    
    LICENSE MIT
    
    do not hold cm_server_t mutex when calling cm_FindVolumeByID because
    the cm_volume_t lock must be obtained ahead of the cm_server_t mutex

commit c50857b05e6636bef864c9418b21d1bf3c63494a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 27 13:17:05 2008 +0000

    windows-lock-order-20080827
    
    LICENSE MIT
    
    do not hold cm_scacheLock while obtaining cm_scache_t->rw

commit bef68684fd7bb4e58e621766a0f2abbdfd15af80
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 27 12:47:23 2008 +0000

    windows-short-names-20080827
    
    LICENSE MIT
    
    plus and equal are not valid characters in short names.
    we replace them with left and right brace in order to
    minimize the instability in the file names.

commit a123bd8ccde0d6baf04401201b1672b19e9778db
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Aug 26 15:59:42 2008 +0000

    freebsd-70-client-20080826
    
    LICENSE IPL10
    
    FreeBSD 7.0 client support (and 8.0 support but that's a moving target)

commit 4d245c6a19394d54a241bd612016b10d1113ee7b
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Tue Aug 26 15:11:28 2008 +0000

    studio12-solaris-updates-20080826
    
    LICENSE IPL10
    FIXES 113671
    
    update so we build with studio 12 on solaris

commit 82c62ae0e3b6366c9cdef0569e5be4637127e586
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 26 14:44:31 2008 +0000

    linux-rpm-make-dkms-remove-work-20080826
    
    LICENSE IPL10
    
    rpm -e failed because of a typo here when removing our dkms rpm

commit e16c4f8a96f0568d5f7155c88f9b877baa500b7d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 26 05:55:40 2008 +0000

    windows-scache-lock-20080825
    
    LICENSE MIT
    
    restore a missing obtain write lock

commit e0380d54bad50582b6bc39e2b41e78d72117ec79
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 26 05:36:34 2008 +0000

    windows-misc-20080825
    
    LICENSE MIT
    
    avoid a deadlock in cm_GiveUpAllCallbacks
    
    log UAEEXIST / EEXIST in cm_Analyze

commit cb455744d49f250c236ab24cdcfffda104ef3774
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 26 05:14:14 2008 +0000

    windows-client-osi-20080825
    
    LICENSE MIT
    
    add more asserts to attempt to catch locks released in threads other
    than the one that obtained them.

commit 12c8abc69030d3368194b148c692215c61b5da9c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 25 02:14:39 2008 +0000

    server-argument-consistency-and-jumbograms-off-20080824
    
    LICENSE IPL10
    FIXES 108703
    
    go through and make servers able to take debug log level on command line;
    add -jumbo; default to -nojumbo

commit a88d12746a9e7e8e79a80c5bcafda449810b4e22
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 24 22:45:24 2008 +0000

    windows-smb-more-check-open-done-20080824
    
    LICENSE MIT
    
    call cm_CheckNTOpenDone() in error conditions as well

commit 82741251b1f444a1f18e3b9816f8cadac3e168b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 24 18:46:23 2008 +0000

    windows-prefetch-lock-order-20080824
    
    LICENSE MIT
    
    lock order violation between cm_daemonLock and cm_scache_t rw lock

commit 24f8b1b4c327c3fb01a575ccb46d5ae6bf7edd36
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 24 17:31:28 2008 +0000

    windows-smb-locks-20080224
    
    LICENSE MIT
    
    smb_dirSearch_t refCount field is protected by smb_globalLock not the
    smb_dirSearch_t mutex.
    
    Do not hold the smb_fid_t mutex across calls to smb_NotifyChange()

commit cc48a5a3b4d328127ca56c1a5845ec6cac136548
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 24 17:25:57 2008 +0000

    windows-check-nt-open-lock-sync-20080224
    
    LICENSE MIT
    
    Move cm_SyncOpDone(CM_SCACHESYNC_LOCK) from cm_CheckNTOpen to
    cm_CheckNTOpenDone.  This is necessary to synchronize lock operations.

commit 25b819543ea4343216b6a2955396719a49ea042f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 22 21:57:53 2008 +0000

    windows-callback-shutdown-head-20080801
    
    LICENSE MIT
    
    When the cache manager is shutting down, return an error to all
    callback requests.  Otherwise, it is possible for a callback to get
    stuck waiting for a lock and when the lock clears to be left with
    nothing but invalid memory addresses to crash on.
    
    In the meantime, the file server is waiting for the response.

commit 186f707378ce0c04705170743cbc67ff44e1c93f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 22 20:26:38 2008 +0000

    darwin-fake-afs-bigger-20080822
    
    LICENSE IPL10
    FIXES 112564
    
    set up max uint64 "free" in afs so finder isn't dumb.

commit ea81e608bae42ea84d7bc85d289bfe6f24d8d383
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 22 19:52:44 2008 +0000

    analyze-srvr-safety-check-20080822
    
    LICENSE IPL10
    FIXES 112681
    
    safety check to make sure a conn's srvr is set before dereferencing it

commit ef10390e12ffd697f9eaaacd1d7291e05d16c835
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 22 19:06:04 2008 +0000

    windows-misc-20080822
    
    LICENSE MIT
    
    1. In multi-threaded applications deadlocking is always a problem.
    Deadlock avoidance requires a strict adherence to a documented
    hierarchy.  The lock hierarchy for OAFW is described in a file
    called locks.txt.  There are two problems.  First, some of the
    locks are not included in locks.txt.  Second, it is nearly
    impossible given the depth of function calls for any programmer
     to identify all of the locks that are held at any given time
    a function is called.  This patch implements a new locking order
    verification mechanism.  Each lock is assigned a lock level at
    initialization.  Each thread maintains a queue of held locks.
    Each time a lock is acquired the queue is checked to ensure that
    no locks with a higher level than the requested lock has already
    been acquired.  If a violation occurs, the service panics.
    
    2. When the service panics ensure that a minidump will always be generated.
    
    3. Remove unused lock cm_bufGetMutex.
    
    4. The lock order verifier identified approximately a dozen
    lock order violations that are corrected.
    
    5. A race condition within the function path cm_GetSCache() ->
    cm_GetNewSCache() -> cm_RecycleSCache() permitted a cm_scache_t
    object to be issued simultaneously to two threads.  This would
    eventually result in a panic due to the resulting under count.
    
    6. Fix interpretation of the empty string as the ioctl path to
    mean the current directory.   "fs lsm", "symlink list", etc.
    now return a "not a ..." error instead of "does not exist".
    
    7. Add SMB_STRF_SRCNULTERM flag to smb_ParseStringXXX functions
    to indicate that the input string is a nul terminated string.
    Assign it when input strings are nul terminated.
    
    8. The CIFS protocol specification for handling NT_TRANSACT_CREATE
    does not match the observed behavior.  The 'nameLength' is specified
    in bytes not in characters.  Fix the implementation to match.
    
    9. The cm_HaveAccessRights() attempt at deadlock avoidance by calling
    lock_TryRead() on the parent directory cm_scache_t rw-lock does not
    avoid the deadlock.  Avoid the deadlock by enforcing the lock order
    of lowest vnode first.  Then remove the infinite loop avoidance in
    cm_SyncOp() that was returning an unwarranted access denied error.

commit 46dbd678714110002a36269beca8961e013650ac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 22 05:31:32 2008 +0000

    rx-allow-jumbogram-disabling-really-20080822
    
    LICENSE IPL10
    
    right now, jumbograms can still be sent when -nojumbo is specified. make the
    current macro a default and override when we're supposed to.

commit a00f706eb67c257af9892557cfb6ad35594144cf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 20 20:44:56 2008 +0000

    windows-list-symlink-20080820
    
    LICENSE MIT
    
    Another casaulty of the Unicode transition, the return value of the
    ListLink operation was not being convered from wchar to char before
    it was copied into the output buffer.

commit 9488898fdb22e8c999ad4f713bd656caba91fe1c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 20 20:41:17 2008 +0000

    windows-afsd-service-20080820
    
    LICENSE MIT
    
    When afsd_service.exe is not running as a service do not call the
    Service Manager functions.  Doing so causes invalid access exceptions
    to be thrown in the kernel and can corrupt the heap.

commit 651f25b9c84b57cb88e2066c91c5234399673164
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 20 19:45:05 2008 +0000

    redhat-spec-default-build-authlibs-20080820
    
    LICENSE IPL10
    FIXES 101879
    
    make build_authlibs default usefully

commit 03982bd54839f81cdc691ad83e946fac8f8789b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Aug 16 22:37:29 2008 +0000

    namei-by-default-on-sol10-20080816
    
    LICENSE IPL10
    
    default to namei, not inode, on solaris 10 except by request

commit b080c5d82ba5c7641afeb6836961cacf283e4902
Author: Dan Hyde <drh@umich.edu>
Date:   Sat Aug 16 21:07:30 2008 +0000

    volser-initialize-volume-updatedate-20080816
    
    LICENSE IPL10
    FIXES 110943
    
    right now this isn't set until a vnode update happens. technically creating
    the root directory is an update, so let's set it to now.

commit 8190e75b38a7cd136ce70050fdd71b1d62888055
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Sat Aug 16 20:46:44 2008 +0000

    netbsd-sigwait-broken-til-nbsd5-20080816
    
    LICENSE IPL10
    FIXES 111404
    
    work around netbsd sigwait brokenness

commit d7a5619e5bd8241dd13611a4be37f04f3aa4ed27
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Sat Aug 16 20:42:34 2008 +0000

    linux-2-6-27-20080816
    
    LICENSE IPL10
    FIXES 111634
    
    add support for 2.6.27, which removes asm/semaphore.h

commit 4274e854c58655ae2d1142ec3e08d62aebb07be0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 16 18:39:33 2008 +0000

    windows-build-20080815
    
    LICENSE MIT
    
    remove duplicate rules for man-pages

commit dbd98583d35d6aea57cb4d9c46790479dc1a137e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 16 18:00:50 2008 +0000

    windows-rx-extra-packets-20080816
    
    LICENSE MIT
    
    Make the default number of pre-allocated rx packets equal to the number
    of threads times the rx window size.

commit ffbee95174ad1fffecff2889e80e168cea60a531
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 16 17:48:17 2008 +0000

    windows-pioctl-getdrivetype-20080816
    
    LICENSE MIT
    
    Use GetDriveType() to check if the current path is a local disk.
    If it is, fail the pioctl attempt immediately.  This should avoid
    the reported 30 second delay in the AFS Shell Extension.

commit 20d38bc268b13258e2358591756824d712cdb403
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 15 21:17:02 2008 +0000

    windows-freelance-deadlock-20080815
    
    LICENSE MIT
    
    avoid a deadlock in cm_reInitLockMountPoints() and make the function
    useful again by actually using the index value in the construction
    of the FIDs

commit aa011cc0d8bbff96d5772d0069520b41826c3857
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 15 00:37:20 2008 +0000

    windows-shlibafsauthent-20080814
    
    LICENSE MIT
    
    export pioctl_utf8

commit 357223aefd86c007987333b2a8859faa33f21424
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 21:22:49 2008 +0000

    windows-server-dereference-null-two-20080814
    
    LICENSE MIT
    
    protect against a potential null pointer dereference of a cm_server_t
    object

commit 90fe95e994efe62175959aab95c276898f1ff54c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 21:19:34 2008 +0000

    windows-server-dereference-null-20080814
    
    LICENSE MIT
    
    protect against a null pointer dereference of a cm_server_t object

commit f430aee67c4f3d1f3c644f97c30db081d2a9880f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 18:23:28 2008 +0000

    windows-memdump-20080814
    
    LICENSE MIT
    
    add locks, waiting lock requests, smb user, smb tid, and cell expiration
    to the memory dump output (fs memdump)

commit 06b5006517c77767a246df2b6d66a344a44cbea1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 03:36:43 2008 +0000

    windows-free-server-deadlock-20080813
    
    LICENSE MIT
    
    avoid a deadloc when freeing servers.  cm_serverLock must be released
    around cm_GCConnections()

commit 4e7e66d4dc14513e1beed465fc5180429571921b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 03:32:54 2008 +0000

    windows-search-cell-file-20080813
    
    LICENSE MIT
    
    if a cell has been found with addresses and the next cell name
    is reached before the EOF, return success.
    
    If the cell has been found and there are no addresses, return -6

commit 919fb5e14bdcde66218e64cfdd7fecccab67d8f5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 03:27:36 2008 +0000

    rx-buffer-allocation-corrected-20080813
    
    LICENSE MIT
    
    a corrected version of delta rx-buffer-allocation-20080812

commit 844d7e570772ab2bdbfa2d59ac0f48afff37d8b7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 14 03:15:34 2008 +0000

    windows-build-man-pages-20080813
    
    LICENSE MIT
    
    move building of man pages to installer phase

commit 04a25e0a4057b63cf7c700b17b1a6ab28e469547
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 14 00:49:15 2008 +0000

    nfstrans-extra-protection-20080813
    
    LICENSE IPL10
    
    ensure, at least, that there is a filehandle for everything we check

commit e5bf9b91eaf8cb930c6cf70419983901907db84d
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Aug 14 00:44:16 2008 +0000

    salvager-dont-corrupt-dir-lengths-20080812
    
    LICENSE IPL10
    FIXES 111585
    
    make the int64 macros work when the "64 bit" number to fill isn't.
    use the correct variable type for length in salvager

commit 156b13f74d4cc4e42644c9c9d7c63cb42f1d4ae3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 13 15:10:42 2008 +0000

    rx-buffer-allocation-pulled-20080813
    
    LICENSE MIT
    
    remove delta rx-buffer-allocation-20080812 as it leads to data corruption

commit 643a632a38d3a9b0b9d4819abb37e227b5946c47
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 12 19:39:59 2008 +0000

    rx-buffer-allocation-20080812
    
    LICENSE MIT
    
    Prevent rxi_MorePacketsNoLock() from dereferencing a NULL pointer if
    the requested allocation size cannot be satsified.  In that case back
    off the number of packets until osi_Alloc() succeeds or panic if no
    packets can be allocated at all.
    
    In AllocPacketBufs() do not transfer more than rx_TSFPQGlobSize packets.
    
    Modify RX_TS_FPQ_GTOL2() macro to protect against transfering more packets
    that are actually free.
    
    Modify RX_TS_FPQ_COMPUTE_LIMITS() to enforce a rx_TSFPQGlobSize maximum
    value of 64 packets to prevent ever increasing allocation sizes within
    AllocPacketBufs()

commit c19c4b3ebb9460eb373081fcbfcca6b7ae1f1495
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 12 05:29:52 2008 +0000

    windows-stack-overruns-20080811
    
    LICENSE MIT
    
    prevent stack overruns

commit 1f6c7ca14a10ec476dc6720c264a004bc2c9d955
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 12 00:54:48 2008 +0000

    windows-fs-mkmount-20080811
    
    LICENSE MIT
    
    fix volume name validity test.  strip trailing '.' from volume name

commit eaf2843a81839d1431280fa54f05c69135205e5c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 10 01:00:59 2008 +0000

    windows-make-nls-win2000-compat-20080809
    
    LICENSE MIT
    
    make the nls module compatible with windows 2000.
    cannot use LOCALE_INVARIANT instead must lie and
    say everyone is US English.  windows 2000 does not
    have normalization functions and now doesn't have
    case insensitive string comparison functions either
    for languages other than English.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    not all applications that link to cm_nls perform initialization.
    Call initialization if it has not already been done explicitly.

commit d5af3b4236f72349551ce326d615d2e74d993c97
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 9 23:31:09 2008 +0000

    windows-freelance-deadlock-20080809
    
    LICENSE MIT
    
    avoid a deadlock between cm_freelanceLock and cm_scacheLock

commit cd316ff51c12b8c6dd5c09384bbe1d700735fe3c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 9 05:52:36 2008 +0000

    windows-rx-udpbufsize-20080809
    
    LICENSE MIT
    
    Set UdpBufSize to 256K.  Add RxUdpBufSize registry value to permit
    runtime configuration.

commit 4eea9caac3cf260cf99ec67c30e31dd2d8c623d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 9 05:48:10 2008 +0000

    windows-smb-skip-nuls-20080809
    
    LICENSE MIT
    
    rename SMB_STF_IGNORENULL to SMB_STF_IGNORENUL
    
    apply SMB_STR_IGNORENUL when copying length tagged strings into
    the smb response packets.

commit 423cdb708f21dcbc28f6563c7c49069f6a6ec155
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 8 17:43:37 2008 +0000

    windows-lock-corrections-20080808
    
    LICENSE MIT
    
    Derrick helped identify a few locations where rw or mx locks where
    not properly being tracked.  As a result there were some locations
    in which an assertion could be thrown due to releasing the wrong
    type of lock.
    
    Also added lock_AssertXXX calls to some locations to ensure that
    the correct lock type is being held when the calls are made.  volume
    location updates, cm_SyncOp, cm_SyncOpDone.

commit 425d6e2e159798e8d6a6d092d780edef6b3a2220
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 7 14:46:11 2008 +0000

    windows-max-cell-name-20080807
    
    LICENSE MIT
    
    Anywhere cm_GetCell_Gen() is called CELL_MAXNAMELEN must be used
    otherwise there will be a stack overflow error.

commit 467ac5e32d5d57056e6e19a47bb69b9d8ac0ba2d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 7 06:35:36 2008 +0000

    windows-misc-20080806
    
    LICENSE MIT
    
    Return CM_ERROR_READONLY if the caller wants PRSFS_DELETE and the
    volume is readonly.
    
    In cm_CheckNTDelete() do not call cm_SyncOpDone if cm_SyncOp failed
    
    Do not force the use of fake directory data if the user does not
    have PRSFS_READ on the directory.  Let the bulkstatus call take
    place now that it is actually being used efficiently.
    
    In ApplyV3SearchDirPatches, use cm_SyncOp(CM_SCACHESYNC_GETSTATUS)
    to obtain the status info for Freelance entries instead of the
    bulkstatus call.
    
    Fix the truncation of 8.3 names in directory search responses.

commit d0ed34baa0e23b7bb24ea009004a527331baf275
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 6 21:25:43 2008 +0000

    windows-cell-name-length-consistency-two-20080806
    
    LICENSE MIT
    
    fix what I broke

commit d44f1a17e4e1831ef39b8f5767a2ca7aad870fb2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 6 06:10:14 2008 +0000

    windows-afssw-20080806
    
    LICENSE MIT
    
    prevent buffer underrun and overrun errors

commit 255d055e6123bcce76ef9e531a0c4963da4f0fef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 6 06:09:34 2008 +0000

    windows-cell-name-length-consistency-20080806
    
    LICENSE MIT
    
    make all cell name lengths consistent so that safer string copy/cat
    functions can be used to prevent buffer overruns

commit aab4b2b32f933daf48cc138c0eb5d8cf5a2023b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 5 16:45:35 2008 +0000

    windows-getaccessrights-20080805
    
    LICENSE MIT
    
    Do not permit GetAccessRights() to be called multiple times within
    cm_SyncOp for the same rights check.  If the GetAccessRights() succeeded
    and in the next loop the rights check fails, the user simply doesn't
    have the rights.
    
    Move a call to cm_SyncOpDone(FETCHSTATUS) from GetBuffer() to MergeStatus().
    Anytime an RPC completes successfully we get updated status info for
    the object.  Might as well allow threads waiting for status info to us
    it.

commit a021b79556f7918598fc48bcd8742429f5620cc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 3 04:28:32 2008 +0000

    windows-ioctl-make-submount-20080802
    
    LICENSE MIT
    FIXES 109951
    
    Restore the ascii version of cm_NormalizeAfsPathAscii() so that it
    can be used by cm_IoctlMakeSubmount().

commit 1fbbaaa8781d0cbdb484ea6c731622e79325fa2d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 2 20:46:14 2008 +0000

    windows-afsconfig-header-20080802
    
    LICENSE MIT
    
    Enable Bos Restricted mode for Windows

commit cc8e39872e1663599c1172573c75cd35b839a370
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 5 15:29:14 2008 +0000

    windows-smb-dir-search-20080802
    
    LICENSE MIT
    
    Apply the bulk stat improvements to smb_ApplyDirListPatches() and
    smb_ReceiveCoreSearchDir() for consistency even though
    smb_ReceiveCoreSearchDir() is no longer called by any of the platforms
    we support.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    Only return 50 items at a time to the caller.
    Do not apply patches based on buffer boundaries.  Instead
    apply patches when AFSCBMAX entries are ready to be processed
    in order to minimize the number of RPCs.

commit b9e0ab9f5bc1d45fa5cb6ca9342d06ea29119149
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 2 05:56:57 2008 +0000

    windows-smb-dir-search-20080801
    
    LICENSE MIT
    
    minimize the number of RPCs sent to the file server. only request
    status for objects that we are actually reporting on and only if
    we do not already have status for the object
    and then make sure that we return as much as we can at once but
    not so much that it exceeds the RDR timeout

commit 807a9aa7b20ab4f457f5235513a5ab15828d6e5c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 22:35:06 2008 +0000

    windows-scache-deadlock-20080801
    
    LICENSE MIT
    
    do not recycle a deleted scache object unless the refcount is 0

commit 0c0b89e04627cc43ab3e31c607be4470292a1d0a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 22:01:49 2008 +0000

    windows-smb-dumpvars-20080801
    
    LICENSE MIT
    
    When dumping the smb data structs, report flags in hex and
    paths are now wchar_t strings.

commit 005077a7e4fdc9ca8bedb357050875df8f1aa898
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 14:36:54 2008 +0000

    windows-smb-warnings-20080801
    
    LICENSE MIT
    
    cast away a number of compile time data size warnings

commit 1f7ab13b6fffcf236927c7e3173d6e59d1521f4c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 14:30:21 2008 +0000

    windows-smb-vc-refcount-debugging-20080801
    
    LICENSE MIT
    
    define DEBUG_SMB_REFCOUNT in smb.h to activate refcount debugging
    versions of the functions that log the file and line number as
    well as object and refcount.  This is for use in debugging refcount
    leaks.
    
    rename GetPacket and GetNCB to smb_GetPacket and smb_GetNCB, etc.,
    to enforce the name space.  Do not confuse with similar Win32 API
    functions.
    
    restructure some code that refers to smb_vc_t references in order
    to clarify where the refcount is dropped.

commit ebf66eff4b0e68e06c26522ae29e33a5b6fb3298
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 14:14:50 2008 +0000

    windows-smb-dead-vc-gc-on-head-20080801
    
    LICENSE MIT
    
    deltas windows-smb-dead-vc-gc-20080627 and
    windows-dead-vc-cleanup-take-two-20080703 attempted to
    protect against an infinite recursion when cleaning up
    dead smb virtual circuits.  they failed to address the
    incrementing of the vc refcount in smb_ReleaseVCInternal
    when it is about to call smb_CleanupDeadVC.  If the vc
    is already being cleaned, then smb_ReleaseVCInternal
    should not increment the refCount and should not call
    smb_CleanupDeadVC.
    
    (This commit was committed incorrectly to the 1-5
    branch first.  delta name on the head was modified
    to avoid the delta name collision.)

commit c38036761eef51f26b085ca8bc69f4a0a65a2f4a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 1 05:22:08 2008 +0000

    windows-osilog-20080731
    
    LICENSE MIT
    
    increase the number of parms from 4 to 5 for osi_Log

commit 91d1501be5e8ca0f957de2897c4c4ea0782dfbc3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 18:01:12 2008 +0000

    windows-ioctl-create-mount-point-validate-volume-20080731
    
    LICENSE MIT
    
    validate the specified volume to make sure it exists before permitting
    the mount point to be created.   This will catch many instances in which
    the user swaps the parameters to "fs mkmount".

commit 14e516f1d5304a1b00c40321124a6b2067b977f2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 13:43:00 2008 +0000

    windows-wix-custom-20080731
    
    LICENSE MIT
    
    in c++, arrays allocated with new[] must be deallocated with delete[]

commit a46b1879dc187b44c48691946479d1e9599abcfb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 13:37:29 2008 +0000

    windows-handle-vl_badname-20080731
    
    LICENSE MIT
    
    Process VL_BADNAME so that when a user creates an mount point with
    an invalid volume name we will do something sane.

commit b61ac7dc6ffb05b03011fef8cfdd5e72886fb705
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 05:45:44 2008 +0000

    windows-volume-recycling-race-condition-20080731
    
    LICENSE MIT
    
    When recycling cm_volume_t objects, avoid a race condition that could
    result in the same cm_volume_t object being recycling simultaneously
    in two threads.  The end result would be a reference count miscount
    and an undercount assertion being thrown.

commit aa24715f068dad4dfdc2140bf8f793297ba10ac9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 05:39:29 2008 +0000

    windows-buf-clean-error-handling-20080731
    
    LICENSE MIT
    
    When an error such as access denied, out of space, out of quota,
    invalid fid, etc. is received while writing a dirty buffer to the
    file server, apply that error code to all outstanding dirty buffers
    immediately instead of attempting to write each buffer to the file
    server only to obtain the same error.

commit 24fd571c5210764212e0de30a474f252b46353b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 31 05:32:57 2008 +0000

    windows-remove-unnecessary-malloc-include-20080731
    
    LICENSE MIT
    
    remove unnecessary #include <malloc.h>

commit 8c22d2388af3a2e99aeb70fdb81dbfa158413840
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 30 23:16:24 2008 +0000

    windows-stat-resource-files-20080730
    
    LICENSE MIT
    
    Add version resource info to xstat_cm_test.exe and xstat_fs_test.exe

commit 34923419b3d680005375b1598c09b20ec49bcb1e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 30 21:00:21 2008 +0000

    viced-write-perm-grants-read-lock-20080730
    
    LICENSE MIT
    
    Remove extra return(EACCES) added by delta
    viced-write-perm-grants-read-lock-20070423 on head and 1.5 branch.

commit 8cce5d2a61227da8623dcd08b11d997c66815cf1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 29 03:54:34 2008 +0000

    windows-buf-overquota-20080728
    
    LICENSE MIT
    
    propagate overquota errors through buf_Write() and cm_FSync().

commit b45b059ed9772642489d56372cbd74db4f0cfc02
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 28 23:57:24 2008 +0000

    windows-large-files-20080728
    
    LICENSE MIT
    
    as part of the restructuring of code to separate the smb layer
    from the cm layer, large file support was broken.   Define AFS_LARGEFILES
    in the right place so that it will be used in the cm.

commit 674e94b29c09cf87496d74a01ebeada14413daac
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Jul 28 13:58:30 2008 +0000

    salvager-avoid-directory-issues-and-mark-volumes-busy-20080728
    
    LICENSE IPL10
    FIXES 107767
    
    avoid corrupting length in vnodeds when salvaging directories.
    avoid tag reuse leaving data behind (not verified)
    avoid not marking something busy during salvage

commit eb1ff11bf14cfc64b4e224ef574d62e6e3757bc1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jul 27 03:43:14 2008 +0000

    windows-ioctl-prefix-data-20080726
    
    LICENSE MIT
    
    The ioctl-prefix-data can be accessed either via a char_t or a wchar_t.
    Copy the data buffer with memcpy() and not strcpy() because we need to
    copy the entire string if it happens to be Unicode.

commit 61d1578324b8b4f4a18fc12a3d199155692e8e4b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 25 21:25:55 2008 +0000

    windows-build-20080725
    
    LICENSE MIT
    
    update README-NT and src/ntbuild.bat build instructions.

commit ba846eb82994469b904c104d52369fb55b985a20
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 25 20:43:36 2008 +0000

    windows-nsis-vc-runtime-install-20080725
    
    LICENSE MIT
    
    The NSIS installer was building a msi for the vc runtime that included
    the Debug merge modules when the Retail merge modules should have been
    used instead.

commit c10b26ca355e47bfb486de971ac275fb281461ca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 24 20:32:58 2008 +0000

    windows-buf-setdirty-20080724
    
    LICENSE MIT
    
    Everytime the CM_BUF_DIRTY flag is set on a cm_buf_t, the userp field
    on the cm_buf_t must also be set.  Add a cm_user_t parameter to buf_SetDirty()
    so that each function that calls it doesn't have to manually set the
    last write user.  This improves code readability and the abstraction layering.

commit 0ca9a136a79d78a81fb6a2e941b2a6feef0d4952
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 24 18:54:53 2008 +0000

    windows-cm-makedir-20080724
    
    LICENSE MIT
    
    Extend the cm_MakeDir() function signature to permit the (optional)
    return of the cm_scache_t object that was created by the operation
    in the same way that cm_Create() does.
    
    Make the return of the cm_scache_t by cm_Create() optional although
    it is never used that way.
    
    In both cm_Create() and cm_MakeDir() avoid releasing the cm_scache_t
    object until we are actually finished with it.

commit 70bfb2c59b0f989a643a51ceac1fca86ef50b5dc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 23 22:40:34 2008 +0000

    windows-cm-req-smb-20080723
    
    LICENSE MIT
    
    Add smb_InitReq() calls cm_InitReq() and then sets the new
    CM_REQ_SOURCE_SMB flag.  When this flag is set, the source of the
    request is known to be the SMB interface.  This flag will not be
    set on requests generated by the various background daemons.

commit 8f75470349f4e9ce4b861bac10e2816edb69f15d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 23 22:24:51 2008 +0000

    windows-cm-rename-debugging-20080723
    
    LICENSE MIT
    
    Add some trace log statements to cm_Rename() that can be used for
    debugging.

commit a9c00f2638d44e1d077fbd953bf153df9cc319c4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 23 22:19:19 2008 +0000

    windows-btree-enum-20080723
    
    LICENSE MIT
    
    Fix next enum to return an invalid param error when beyond the end
    of the list.

commit 2ed0ee573c2b36cc6979693827e36f1ce6bdfa1b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 23 05:55:36 2008 +0000

    windows-volume-deadlock-20080722
    
    LICENSE MIT
    
    When updating the volume location information, if a new server must
    be allocated and the server is down, then it is possible for a deadlock
    to occur on the cm_volume_t rw lock.  Prevent that from happening.

commit 5db162c8dcb6ae81a631d5ae6e95959428b61a6a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 22 16:01:22 2008 +0000

    windows-build-system-20080722
    
    LICENSE MIT
    
    Move the man-pages build out of the 'install' step.

commit 44379715638563f6271cf1853d7081cea18a6824
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 22 07:42:20 2008 +0000

    windows-volume-vlgetaddrs-deadlock-20080721
    
    LICENSE MIT
    
    A missing tilde makes a huge difference.

commit b7398a8a50522fe15f8a30dead6487b219c7b5f5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 21 21:55:06 2008 +0000

    windows-more-rxconnp-20080721
    
    LICENSE MIT
    
    convert additional 'connp' instances to 'rxconnp'
    
    in cm_volume.c, make sure that we hold a reference to the rxconnp
    whenever we use it to perform an RPC.

commit 0172a6aa2637a6f7d2df584f4dba60cce0285c9e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 21 19:34:05 2008 +0000

    windows-cm_conn-20080721
    
    LICENSE MIT
    
    callp -> rxconnp

commit a92cd4ec76509a84a93764b94831114e00bbc3d5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 21 17:18:41 2008 +0000

    windows-callp-to-rxcallp-20080721
    
    LICENSE MIT
    
    There has been long time confusion in the windows cache manager because
    there are cm_conn object ptrs call connp and rx_connection object ptrs
    call connp and rx_call object ptrs called callp and rx_connection object
    ptrs called callp.
    
    From now on, rxconnp is a ptr to an rx_connection object;
    rxcallp is a ptr to an rx_call object; and connp is a ptr to an
    cm_conn object.

commit ab1ddbe803005004978b86516e4bcd68ef668e67
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 21 10:19:26 2008 +0000

    windows-smb-ioctl-setacl-20080721
    
    LICENSE MIT
    
    setacl does not support the options structure.  just call parse ioctl path.
    bug introduced during ioctl refactoring.

commit ff0f4a596554bf4b09224ca000663b596a034013
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 19 15:47:40 2008 +0000

    windows-volume-vlgetaddrs-deadlock-20080719
    
    LICENSE MIT
    
    During cm_InitVolume() clear CM_VOLUMEFLAG_UPDATING_VL if we are reusing
    the cache data just in case.
    
    In cm_UpdateVolumeLocation() add trace logging to the sleeping, waking,
    and awaking states; move the destruction of the old server list into
    the region protected by the CM_VOLUMEFLAG_UPDATING_VL flag.

commit af5e519e8e72c37b732474e08b6648bbdf458e95
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 19 07:41:06 2008 +0000

    always-wrap-vos-ctime-20080718
    
    LICENSE MIT
    
    When calling ctime on an afs_int32, always use a wrapper that assigns the
    variable to a time_t before passing it in rather than conditionally doing
    so on hosts with a large time_t.  This eliminates a configure test,
    removes a bunch of warnings in vos.c on platforms with 32-bit time_t, and
    will make no difference in generated code with any decent compiler.

commit 9682d4c1073846b13ae0825c8d6b020e5b31559c
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 19 07:11:05 2008 +0000

    kill-ubik-pthread-env-20080718
    
    LICENSE BSD
    
    Everywhere AFS_PTHREAD_ENV was defined, UBIK_PTHREAD_ENV was defined as
    well, so don't make them separate.  Building pthreaded Ubik is controlled
    by deciding whether to build the t* versions of various directories, not
    by the preprocessor directives.  AFS_PTHREAD_ENV is only defined when
    building in those directories.
    
    This change eliminates UBIK_PTHREAD_ENV and uses AFS_PTHREAD_ENV to mean
    the same thing.
    
    As a side effect, fixes compiles on arm with --enable-pthreaded-ubik, since
    arm never defined UBIK_PTHREAD_ENV.

commit c797e0844328f2ee437e3c659eab52fc590388b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 19 06:58:02 2008 +0000

    windows-volume-vlgetaddrs-deadlock-20080718
    
    LICENSE MIT
    
    If during volume location updating, the VL_GetAddrsU call fails for any
    of the identified servers, return an error but do so without leaking
    memory or deadlocking other threads that might be waiting.

commit d3900e4f357cbd8a475ee3e8a786e646bdb43a01
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 19 06:44:49 2008 +0000

    suppress-cellconfig-warnings-20080718
    
    LICENSE BSD
    
    Add a forward declaration for struct ktc_encryptionKey to suppress warnings
    from cellconfig.h about declaring a struct in a prototype.

commit 227f7e8eda70fbd62d0747a4334149fcd43deaf8
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 19 06:42:23 2008 +0000

    more-no-unconditional-pthreaded-ubik-20080718
    
    LICENSE BSD
    
    More directories should be conditional on pthreaded ubik.

commit d811361ce9b64938c0eeb4ab4ca7ad77f6502c60
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jul 19 04:27:33 2008 +0000

    no-unconditional-pthreaded-ubik-20080718
    
    LICENSE BSD
    
    Don't compile pthreaded Ubik by default and instead actually require the
    --enable-pthreaded-ubik flag.

commit 5bbdc3fb6904825f75ebdb1f2a17ed0ee6aefcfe
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Jul 18 15:54:22 2008 +0000

    discon-prototype-correction-20080718
    
    LICENSE IPL10
    
    correct prototype for disconnected afs

commit 8009b045aa5d20c527f1fa1fec0642f9ca0f9cd5
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 18 07:14:12 2008 +0000

    man-page-fileserver-long-line-20080717
    
    LICENSE BSD
    
    Fix long line in the SYNOPSIS for the fileserver man page.

commit a8e8287b755ab9cd8e6904f66334b8a5cd1bcb39
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 18 01:21:44 2008 +0000

    demand-attach-vos-install-location-20080717
    
    LICENSE IPL10
    
    In the tvolser case, install vos in ${afssrvsbindir}/vos, not
    ${afssrvlibexecdir}/vos.

commit 24ac19c606f28642d0ea5f339a7d0eb0a2526b96
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Jul 16 16:22:31 2008 +0000

    windows-nls-zero-length-input-20080716
    
    LICENSE MIT
    
    If the input to the string conversion files is zero length
    return nul string instead of NULL.
    
    Pass in -1 instead of computing the strlen.

commit 6a749b71f7908129189ef10019372edc5b400c61
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 16 05:43:06 2008 +0000

    windows-set-rx-dead-time-20080715
    
    LICENSE MIT
    
    No longer set the rx_SetConnDeadTime and rx_SetConnHardDeadTime to
    the remaining request SMB RDR timeout within cm_ConnByMServers().
    There are not per-call timeouts so simultaneous requests on the same
    connection will race with each other either resulting in premature
    timeouts or significantly extended timeouts.

commit 4d7cfa129353001759c6224cc5c590be7e043fe9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 16 05:25:09 2008 +0000

    softsig-structure-handling-20080716
    
    LICENSE IPL10
    
    this is sort of a dumb ifdef. harmless, but fix it to be what it's supposed to

commit b4ce530d365e97342a92f4a8d59de12b0570c699
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 16 05:15:44 2008 +0000

    volser-reclone-bring-online-before-giveback-20080716
    
    LICENSE IPL10
    FIXES 107258
    
    when giving back a volume after reclone, make it inService to avoid a race
    between callers and the SetFlags RPC

commit 447915ce6a6f07a84affc22611287fe00b057534
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Jul 16 00:58:28 2008 +0000

    windows-nsis-vs2008-runtime-20080715
    
    LICENSE MIT
    
    Add support for VS2008
    
    Use MSI runtime installation package instead of EXE package
    
    Cleanup runtime from the correct directory

commit 66754898d93c1b7c2862dd78801f8b14b5e74e72
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 15 22:17:37 2008 +0000

    windows-wix-html-cmdref-20080715
    
    LICENSE MIT
    
    Add new files to the installer.

commit 5c762d3b7672a88fcf4df85e919ac11be7946d4f
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Jul 14 14:37:58 2008 +0000

    dafs-avoid-assert-while-moving-volumes-20080714
    
    LICENSE IPL10
    
    The volume state is perfectly consistent. FSYNC_NEEDVOLUME (and the
    other state in the pending_vol_op object) is perfectly normal -- it
    simply means the volser has exclusive access to the volume for the
    purposes of cloning. The bug is that during the DAFS development, I
    changed the semantics of the VGetVolume interface without updating the
    control logic in afsfileprocs accordingly:
    
    In 1_4_x:
    vp->specialstatus != 0 results in returning vp with nUsers incremented
    and *ec = vp->sepcialstatus
    
    In DAFS:
    V_AttachState(vp) == VOL_STATE_UNATTACHED results in returning a NULL
    vp. Since (vp->specialstatus != 0), *ec = vp->specialstatus.
    
    The net result is we need to modify the VBUSY logic in CheckVnode().

commit 03fb36bd534a1ff13340e8d322c1e13eeef8ef43
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 14 14:36:44 2008 +0000

    windows-smb-misc-two-20080714
    
    LICENSE MIT
    
    Fix the assignment of SMB_ATTR_DIRECTORY.  Apply it to the correct field
    name.

commit 077c788275bff6b17e5ba44d487135f74dbedaee
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 14 14:10:19 2008 +0000

    windows-smb-misc-20080714
    
    LICENSE MIT
    
    Fix declaration of smb_ParseStringBuf to be consistent with
    the prototype.
    
    If the fileType of a cm_scache_t is unknown and if the vnode is odd,
    then set the SMB_ATTR_DIRECTORY flag when reporting the DOS Extended
    Attributes.
    
    Fix the log message in smb_FindCMUserByName() to indicate "found"
    instead of "not found".

commit 33429756c14ed006566d01ad4ee070a4c040b424
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 14 13:59:48 2008 +0000

    windows-btree-enum-bulk-stat-20080714
    
    LICENSE MIT
    
    Refactor cm_TryBulkStat() to permit BulkStat RPCs to be executed
    for lists of entries obtained either from the cm_dir structures
    or a btree enumeration.   Add cm_BPlusDirEnumBulkStat() which
    takes an enumeration object and performs a bulk status rpc on
    every entry in the enumeration without advancing the enumeration
    state.

commit faeb953142a15866f0a35e908114a2443f0ac703
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 06:53:14 2008 +0000

    readme-devel-doxygen-20080713
    
    LICENSE IPL10
    
    Document the preferred Doxygen comment style.

commit f49395a30adef98cb0deaea128393448565d364f
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 06:46:27 2008 +0000

    readme-fix-demand-attach-spelling-20080713
    
    LICENSE IPL10
    
    Fix the punctuation of the --enable-demand-attach-fs option.

commit 1ed9e36ffc34fa5ea41b72131a222d0ab8195b54
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 06:35:04 2008 +0000

    readme-improvements-20080713
    
    LICENSE IPL10
    
    Significant improvements to README, including:
    
    - Add documentation of (nearly) all of the configure options.
    - Update the platform list to reflect current reality.
    - Update the HP-UX header download instructions for the current web site.
    - Fiddle with formatting and wording in a few places.

commit db9f59e9be12f791c122c4b8c6a8b8ecca8ce239
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 05:12:46 2008 +0000

    threaded-ubik-cvsignore-20080713
    
    LICENSE BSD
    
    Add .cvsignore patterns for threaded ubik builds.

commit 2b7d9ab5d7c7947b1a45974d9a3252ce7e203a3b
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 05:05:46 2008 +0000

    autoconf-help-text-20080713
    
    LICENSE IPL10
    
    Use AS_HELP_STRING for every AC_ARG_WITH invokation and add proper quoting
    to all of them.  Based heavily on a patch by Simon Wilkinson, but with
    less indentation and more quoting.

commit 6a322e4eb7e79896e3322e0ace16a6ed99668162
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 03:27:00 2008 +0000

    man-page-html-index-underscores-20080713
    
    LICENSE BSD
    
    Remove underscores from the anchor in the index for all section 5 manual
    pages.

commit 2a92f43987cd08dc0134b775e0d118894d22d3e5
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 14 02:45:14 2008 +0000

    man-page-html-generation-hack-20080713
    
    LICENSE BSD
    
    Pod::Simple::Search ignores every POD file that doesn't "look right," which
    means it skips files containing a period (like krb.conf.pod) unless you set
    a search option.  Pod::Simple::HTMLBatch has no way to set search options.
    
    Apply a truly horrible hack to get around this.

commit 298fb5ce52f3f5296c24ed1300287b5fa5870a3c
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jul 14 00:51:35 2008 +0000

    docs-ticket-104110-20080713
    
    LICENSE BSD
    FIXES 104110
    
    add vos clone and vos shadow to overall list
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE BSD
    FIXES 104110
    
    add krb.conf
    
    update CellServDB to discuss AFSDB DNS records

commit c766e74fd63a58e714d7b15ef1abfbc48b2a5a85
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jul 14 00:33:59 2008 +0000

    docs-max-part-size-20080713
    
    LICENSE BSD
    FIXES 86677
    
    remove discussion of max partition size now that 1.5 has a limit of 2^64 KB.
    
    add discussion of techinical nature of fs minidump on windows.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE BSD
    FIXES 86677
    
    update discussion of max partition size.

commit df9f2455fbe34ac105179797f85aacc63a8b8da8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 12 06:54:58 2008 +0000

    man-page-fs-read-not-list-20080711
    
    LICENSE MIT
    
     - fs diskfree
     - fs examine
     - fs listquota
     - fs quota
    
    require read permission not list for the root directory
    of the volume and list permission for the preceding path.

commit 30ba65bc5c216f73f89acf2aa97a4287a4de1f1f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 11 23:25:21 2008 +0000

    windows-cm_req-layer-purity-20080711
    
    LICENSE MIT
    
    Ensure that the cm_req_t object is allocated and initialized at the
    SMB layer for all incoming requests.  This is done for two reasons:
    
    1. ensure that request start time is consistent across the lifetime
       of the request
    
    2. permit the request object to be used to carry a flag indicating
       the source of the request.  This will permit different timeout
       algorithms to be used for SMB vs RDR in the future.

commit 5baf817a31e72d85415222af5c3dee70ed1f6bd3
Author: Todd DeSantis <atd@us.ibm.com>
Date:   Fri Jul 11 10:49:33 2008 +0000

    butc-xbsa-update-20080711
    
    LICENSE IPL10
    
    update xbsa support for current tsm

commit 4f5b808414c958e7629c83f93d610b57c54274ac
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 10 19:17:44 2008 +0000

    windows-install-loopback-ddk-20080710
    
    LICENSE MIT
    
    Add support for dynamically determining which ddk include
    path should be used.  The NTDDKDIR variable used to be set
    to the specific directory in which netcfgx.h was located.
    Now it is set to the top-level of the DDK install tree.
    The specific directory that contains netcfgx.h varies based
    upon whether the DDK is 3790.1830 or 6000.  Test for file
    existence and specify the one that works.

commit f52f1522367819712ea678b4e3cdf4644571fc57
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Jul 10 19:14:40 2008 +0000

    dafs-update-exclusive-states-20080710
    
    LICENSE IPL10
    
    VOL_STATE_SALVSYNC_REQ is a mutally exclusive state. don't allow other things
    to attempt to trigger that state when an exclusive state is already present

commit 078f966e6293504dc7fd0a7c6b49997b6739be71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 7 18:14:58 2008 +0000

    solaris-udp-modname-20080707
    
    LICENSE IPL10
    
    older solaris 10 lacked this

commit acf76ac85f55e268e9a99d12dc89bad4b763038b
Author: Dale Ghent <daleg@elemental.org>
Date:   Mon Jul 7 18:14:26 2008 +0000

    solaris-nevada-vfsdev-type-20080707
    
    LICENSE IPL10
    FIXES 105495
    
    in nevada, struct vfsdev_v4 -> vfsdev_t. cope.

commit 9f3629b018f9d25b205f911464789ed0a14103b4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jul 7 17:53:48 2008 +0000

    linux-revalidate-renames-correctly-20080707
    
    LICENSE IPL10
    FIXES 74672
    
    when renaming causes a dentry to be newer than its parent we handled it
    incorrectly. zero the d_time to force correct evaluation to happen.

commit 9946c027a33b89cdf128748b9fd3000b31bee48f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jul 7 17:42:14 2008 +0000

    rhel3-disable-fedorakmod-20080707
    
    LICENSE IPL10
    FIXES 102673
    
    if we're building for 2.4.x we need to disable fedorakmod. do so here in our
    packaging.

commit e5e9463568bcbf9aa574e15cf47d231fef44685b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 5 16:48:36 2008 +0000

    windows-pioctl-debugging-20080705
    
    LICENSE MIT
    FIXES 105867
    
    Replace multiple calls to IoctlDebug() within the same function
    with a variable.
    
    Save/restore more errno values.

commit 44cd9c4e4cf6ef468e7e5880c8cb71ed277085c7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 5 07:33:38 2008 +0000

    windows-pioctl-debugging-20080704
    
    LICENSE MIT
    FIXES 105867
    
    David Botsch reports that when IoctlDebug is active, failures of
    fprintf overwrite 'errno'.  Save and restore 'errno' around the
    fprintf calls.

commit 99471963b3a035898419ace7bfafb24de464714c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 5 07:26:22 2008 +0000

    windows-afskfw-20080704
    
    LICENSE MIT
    
    if ktc_GetToken() fails, do not switch to krb524, just fail

commit a4e3fb21f0fd8f02ffd2c01b4d39ac55cd3474b1
Author: Benjamin Bennett <ben@psc.edu>
Date:   Thu Jul 3 21:32:49 2008 +0000

    linux-probe-syscall-table-again-20080703
    
    LICENSE IPL10
    FIXES 105457
    
    move the init_mm ifdef down far enough that it's effective and we actually
    probe to be able to hook syscall table

commit be32aef3831529f30f59088be5ea2060b55a95f6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 3 06:53:10 2008 +0000

    windows-dead-vc-cleanup-take-two-20080703
    
    LICENSE MIT
    
    Prevent an infinite recursion when attempting to cleanup a previously
    dead vc.

commit 08974551cb5257caea7315bcf726e0dba1a4d052
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 3 02:24:54 2008 +0000

    windows-config-ntmakefile-i386_w2k-codesign-20080702
    
    LICENSE MIT
    
    no underscore prepending CODESIGN_USERLAND macro

commit 41927c3cbf068f71c2ef5f880f21a459477c62a0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 3 00:00:37 2008 +0000

    windows-config-version-20080702
    
    LICENSE MIT
    
    Add AFSPRODUCT_VERSION to the AFS_component_version_number.h files
    
    Update copyright info and add underscores to version strings in rc files

commit 65bf7cdb6d20a1ff4e71c79347782aa3b5f1e3f8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 2 13:41:07 2008 +0000

    windows-code-signing-20080702
    
    LICENSE MIT
    
    Add code signing with signtool.exe to the build process.
    If all three of the required CODESIGN_xxxx environment
    variables are defined, signtool will be used to sign each
    exe, dll, and installer as they are built.
    
    The three environment variables are:
    
      CODESIGN_DESC = <description of application>
      CODESIGN_TIMESTAMP = <url of certificate authority timestamp server>
      CODESIGN_URL = <end user help URL>
    
    The default signing certificate is the one that will be used by
    signtool.  If these environment variables are not defined, code
    signing will be skipped.

commit 1c96127e37c0ec41c7a30ea3e4aa68f3cc8a24f6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Jul 1 23:44:14 2008 +0000

    linux-packaging-module-build-20080701
    
    LICENSE IPL10
    
    Add --with-linux-kernel-packaging configure flag which disables building
    multiple kernels for different MP flavors, sets the kernel module name to
    openafs.ko with no version, and installs the modules into the standard
    Linux location.

commit c61a8f37c9957034961aed8abc2a1adb046247d3
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 1 23:28:26 2008 +0000

    libuafs-fixes-20080701
    
    LICENSE IPL10
    FIXES 104698, 104699, 104305
    
    make cellname get init'd right. correct startup argument order to match
    what afsd does. call lookupname correctly (when did this break?)
    
    at the same time, move the lookupname define out of afs_osi.h and into each
    osi_machdep.h

commit 0d343077ac1ca8bd35921de2a2b19cac4eb75496
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Jul 1 20:41:13 2008 +0000

    redhat-build-updates-20080701
    
    LICENSE IPL10
    FIXES 105231
    
    update specfile for new manpages.
    update patch for 1.5.x/head
    update makesrpm to quote some arguments to system so perl doesn't eat them
    
    some rewriting from shadow@dementia.org including the patch update

commit 19551ae3a541644013f6e9e92d9354ec14cbc00e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 19:33:26 2008 +0000

    volutil-partitionname2-r-return-value-20080701
    
    LICENSE IPL10
    
    return 0 and not tbuffer on success since tbuffer is already returned via
    a pointer

commit c733e2e07aeb0cc981d53d843a1ffb787f43ed64
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 1 19:06:41 2008 +0000

    more-cpp-fixes-20080701
    
    LICENSE BSD
    
    Use PATH_CPP instead of CPP everywhere and always redirect the output
    instead of assuming that it will write to a file.  Hopefully this is the
    least common denominator across all systems, although it still isn't
    fully correct for systems that have no separate cpp binary.

commit fb3490cdea7e45dbac4a8aa820f35bf1723af764
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 18:45:01 2008 +0000

    linux-nfstrans-updates-20080701
    
    LICENSE IPL10
    FIXES 105019
    
    make libuafs also include afs_warn.c

commit 5e1459f431fc046dfd3b25aca87709193ccca211
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 1 06:47:27 2008 +0000

    pt_util-database-path-20080630
    
    LICENSE BSD
    
    Use the dirpath functions to find the prdb database path in pt_util instead
    of hard-coding the default Transarc path.

commit 7b3967db163a5c9f79cb0637883f8a6708796acc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 05:58:38 2008 +0000

    pinstall-collateral-damage-use-install-sh-usefully-20080701
    
    LICENSE IPL10
    
    this is gross. but ac_INSTALL wants things to begin with / and @ is not /.
    
    so we cheat and use /@abs_top_srcdir@/install-sh -c if INSTALL began with ./

commit daf6b1cf282c895bb7cd3cb090e5bee06648cd16
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Tue Jul 1 04:33:38 2008 +0000

    linux-nfstrans-updates-20080630
    
    LICENSE IPL10
    FIXES 105109
    
    exportfs - NFS translator:
    
    - The exportfs code is updated for the new export ops. The changes are made
    conditional on a new configure test that detects the new ops. fh_to_dentry()
    basically replaces decode_fh and uses our own get_dentry function instead of the
    now defunct find_exported_dentry.
    - A check for fh_len=4 is removed - in testing this value is always 6, possibly
    because of changes in the kernel code.
    - The check for authtab in osi_nfssrv.c assumes that an undefined weak symbol is
    0. On my system, an unresolved weak symbol in a loaded module gets the value
    0xfffffffe (-2 or -ENOENT) - again, probably a change on the kernel side. Check
    that the pointer is not an error constant using IS_ERR().
    - In osi_vfsops.c, only use the export_ops bits if building the translator
    
    afspag: the problem here was dealing with unresolved symbols
    
    - afs_showflags is redefined in afs_pag_call.c so it's available for the afspag
    module
    - A new source file afs_warn.c gets the afs_warn* functions from afs_util.c.
    This allows the afspag module to get the afs_warnuser function without dragging
    in too many symbols. The new file is attached separately.
    
    other:
    
    - d_path() now takes a struct path argument - includes a new configure test
    - osi_vfsmnt -> osi_vfsmount in osi_misc.c Looked like a typo?
    - reorder the remove_proc_entry() calls - we need to remove the children before
    the parent (introduced with my earlier patch)

commit e22a5cc8afe889d5d76ecf44a63860e12f1effbf
Author: Thomas Galliano <thom@net2hardware.com>
Date:   Tue Jul 1 04:05:58 2008 +0000

    ubik-lwp-createprocess-64-bit-20080630
    
    LICENSE IPL10
    FIXES 104732
    
    use NULL and not (void *)0 to avoid issues on 64 bit platforms

commit c0124d51796de2c7790b702cf7805b499ff28c99
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 03:38:03 2008 +0000

    revert-pinstall-collateral-damage-20080630
    
    LICENSE IPL10
    
    we'll fix this another way (with install-sh)

commit 1ec104280d4a4b0a7544a99a7366f59cd3a2cc5f
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 1 00:00:40 2008 +0000

    cpp-fixes-20080630
    
    LICENSE BSD
    
    When probing in configure for cpp, use the user's PATH first and then
    the /lib and /usr/ccs/lib directories.  Set PATH_CPP instead of CPP,
    since the latter is just overwritten by Autoconf.  Use PATH_CPP by
    preference in rxgen and when pre-processing assembly, since otherwise
    newer gcc will treat the input file as linker input and not do anything
    with it.  Don't assume that cpp writes to the second argument; gcc
    apparently doesn't always do this.  Instead, redirect standard output.

commit 99c1e0beb1b7aebfe7f3f10b73da8b6795d11464
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 23:53:22 2008 +0000

    disconnected-merge-conflict-20080630
    
    LICENSE BSD
    
    Fix a disconnected-mode merge conflict with an older import of disconnected
    to HEAD that caused a duplicate definition of PDiscon.  I believe this
    problem was only on HEAD.

commit 9b61f58fa78259eb092350599a0a26d75ac14fa8
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 23:35:18 2008 +0000

    man-page-html-index-20080630
    
    LICENSE BSD
    
    Use the correct subcommand name (fs getacl instead of fs_getacl) on the
    HTML index page, even though we have to use the underscore in the NAME
    section of the actual POD documentation.

commit 9f94f89a7a894651f18947ec7ac20959f9326478
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 21:50:23 2008 +0000

    linux-ucontext-fixes-20080630
    
    LICENSE BSD
    
    Use undef in the arch-specific param file to override UCONTEXT rather
    than adding a conditional in a generic file, making arm work the same
    as 32-bit SPARC.  Disable UCONTEXT on parisc as well; glibc doesn't
    provide the ucontext functions on that architecture.

commit d82169c51cc1d4db5de1c51dabeb1d6fe712fb79
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 20:55:40 2008 +0000

    bozo-find-linux-core-files-20080630
    
    LICENSE BSD
    
    Current Linux kernels always append a period and the PID to "core" when
    creating core files for multithreaded processes.  Teach bosserver to scan
    the directory into which core files are deposited looking for such core
    files and treat them like any other core file if the PID matches the
    process that just died.
    
    This patch has been in the Debian OpenAFS packages for some time without
    problems.

commit 6331d37125428956586610b8e514e1b304a16022
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 20:49:19 2008 +0000

    man-page-vos-convertROtoRW-inode-20080630
    
    LICENSE BSD
    
    vos convertROtoRW can now be used with an inode file server.  Adjust the
    man page accordingly.

commit 2b48a4c67acee5c25128d5f2fc9371fe0a89dd1f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 30 20:48:32 2008 +0000

    windows-wix-cmdref-subdirs-20080630
    
    LICENSE MIT
    
    Construct the directory hierarchy correctly.  CmdRef/{1,5,8}

commit cf816d535a60a7a5f7efa5564b647ee87e33b7d7
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jun 30 20:47:30 2008 +0000

    man-page-readme-update-20080630
    
    LICENSE BSD
    
    Add additional missing commands to the to-do list.  Add a section on man
    page section numbers and their rationale.  Document that embedding a
    license in the man page isn't required if it's one of the licenses in our
    LICENSE file.

commit db13ad4de73814e90b108faa0d1246e224836ece
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Jun 30 18:28:35 2008 +0000

    dafs-state-analyzer-setup-cursor-20080630
    
    LICENSE IPL10
    
    avoid an uninitialized cursor

commit 1b98b43127e3286b7842de4c59ea50f5a7de4424
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 30 14:59:30 2008 +0000

    windows-nsis-cmdref-subdirs-20080630
    
    LICENSE MIT
    
    install and remove the subdirectories of the CmdRef

commit 7460987e758fa299849d877633053c05cb431977
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jun 30 14:38:17 2008 +0000

    windows-wix-install-idn-redist-20080630
    
    LICENSE MIT
    
    Only install IDN redistributables on XP and 2003

commit fed6593bf343425807f425aeb8315886feeb8670
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 30 03:55:36 2008 +0000

    windows-nsis-install-idn-redist-20080629
    
    LICENSE MIT
    
    Install IDN on XP and 2003 only

commit 5da4137cbe2574fc8602bd7ffaeaf8d85bd9e010
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 06:08:00 2008 +0000

    windows-remove-ibm-docs-20080628
    
    LICENSE MIT
    
    Remove (from the en_US distributions) the IBM Quick Guide and IBM
    Release Notes.  Update references and installers.

commit dff0d834a7c03d19d572d74849599ac89c2a058e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Jun 29 04:38:59 2008 +0000

    afs-blacklist-initialize-volume-ptr-always-20080628
    
    LICENSE IPL10
    
    always initialize this

commit 618a180164c7f1f2772f722f40191e3d99028e90
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 02:48:18 2008 +0000

    windows-generate-html-cmdref-makefile-argh-20080628
    
    LICENSE MIT
    
    It would be nice if we added the file to the correct directory.
    
    Add Windows makefile to build the html cmdref files from the pod man-pages

commit ee8a5d7019ca88114455412e58dab83b1bd1736b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 02:27:14 2008 +0000

    windows-cmdref-20080628
    
    LICENSE MIT
    
    Reference cmdref/index.html from the en_US documentation

commit 4af6e48bdb69ceb8de8f2da7fd8a98944632ede9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 02:21:10 2008 +0000

    windows-install-new-cmdref-20080628
    
    LICENSE MIT
    
    Install the new man pages as the OpenAFS Command Reference.
    Update both the nsis and wix installers.

commit 6a34c5c4f6a77be71043fa3f4aecccf5f7051d93
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 00:41:00 2008 +0000

    windows-build-doc-manpages-20080628
    
    LICENSE MIT
    
    build the manpages for windows

commit da989e5d95f1cfee9b0823b184b9aa6f86ed5a0c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 00:30:43 2008 +0000

    windows-generate-html-cmdref-makefile-correct-20080628
    
    LICENSE MIT
    
    commit the correct version of the NTMakefile

commit d600d661ad495678423fd56a7fc2d5ee340a65ae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 29 00:23:48 2008 +0000

    windows-generate-html-cmdref-makefile-20080628
    
    LICENSE MIT
    
    Add a windows makefile to generate the html cmdref from the pod
    files.  Requires perl on the build system.

commit 62ffbc2a464521eeee4c244d2555c316dfae180f
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 28 07:32:45 2008 +0000

    remove-administration-reference-20080627
    
    LICENSE IPL10
    
    Purge the old AFS Administration Reference documentation.  This has now
    been completely replaced by the manual pages.

commit 3b273dd55291b28c698990001370a97c413c2673
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 28 06:19:22 2008 +0000

    install-and-document-klog-krb5-20080627
    
    LICENSE IPL10
    
    Install the Kerberos v5 klog as klog.krb5 and install a man page for it.

commit 49db6afe0aeb646d712a5319a7ea1a511f66f298
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 27 20:42:57 2008 +0000

    windows-smb-dead-vc-gc-20080627
    
    LICENSE MIT
    
    When an SMB virtual circuit is prematurely closed due to an error
    condition by one thread it is possible that there are still several
    other threads still using the VC which will determine that the VC
    is dead shortly.  As a result we maintain a dead vc list to ensure
    that dead vcs are not destroyed while still in use.
    
    With the addition of locking though this causes a problem because the
    locks allocated to the virtual circuit are not freed until the vc is
    destroyed.
    
    This patch reworks the cleanup routine to make the freeing of resources
    the responsibility of the release routine when the refcount hits 0
    and the VC is marked dead.

commit e381e1d07822639ba4ce00c96ff483034104afb5
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Jun 27 04:49:45 2008 +0000

    man-page-afs-fixes-20080626
    
    FIXES 104745
    LICENSE BSD
    
    Fix several issues with the afs(1) man page.  Based on the patch by Jason,
    but I also documented /vicepiv as the maximum, and /vicepiu as the
    maximum recommended, partition.

commit d9dc7e28fe73b1e3ac2773fb1efd44e67de5e21d
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Jun 27 04:29:12 2008 +0000

    man-page-vldb_convert-20080626
    
    FIXES 104192
    LICENSE BSD
    
    New man page for vldb_convert.

commit fbe10c80860ce9f456a056e0d397a10411f22369
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Jun 27 04:19:07 2008 +0000

    man-page-vos-clone-20080626
    
    FIXES 104110
    LICENSE BSD
    
    Add man page for vos clone.

commit 0e04d01891eb2269653a84f86b066ebe10eb8a54
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Jun 27 03:04:12 2008 +0000

    windows-wix-install-idn-redist-20080626
    
    LICENSE MIT
    
    Install the Microsoft IDN Redistributables which are required for
    Unicode Normalization on XP and 2003.

commit 149fd85b205911c2393a570eac6d5a811c9ffd72
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Jun 27 02:58:36 2008 +0000

    windows-nsis-install-idn-redist-20080626
    
    LICENSE MIT
    
    Install the Microsoft IDN Redistributables which are required for
    Unicode Normalization on XP and 2003.

commit c051bf547636be32372d5eb01afc0b1c55f25c43
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 26 18:04:04 2008 +0000

    windows-vlserver-makefile-20080626
    
    LICENSE MIT
    
    more consistency changes to get the make rules for headers right

commit bc2836058afd44d237e602c1746d1d71c95951c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 26 17:46:35 2008 +0000

    windows-nls-includes-20080626
    
    LICENSE MIT
    
    Add include for cm_nls.h

commit 3b41209be7a1470e186a87764621c9980ae7448a
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Jun 26 06:43:49 2008 +0000

    windows-unicode-20080626
    
    LICENSE MIT
    
    This patch is the second stage of the Unicode conversion.  In this stage
    the cache manager has been converted from using 8-bit UTF8 C strings to
    16-bit UTF16 C strings in the SMB, the DNLC, the B+ tree, and other
    directly related modules.  The cm_cell, cm_volume, cm_scache, cm_buf,
    cm_dcache, and cm_dir modules are left 8-bit because their data is all
    8-bit UTF8 since they work only on file server strings.
    
    The SMB layer accepts 16-bit UTF16, the B+ tree and DNLC use normalized
    strings as the key, and everything uses UTF8.  Efforts have been made
    to minimize the number of transitions from UTF8 to UTF16 and back.
    
    For the most part strings are tagged with clientchar_t and normchar_t
    and fschar_t types in order to distinguish between the various types of
    strings that are in use.
    
    other changes include addition prototyping.

commit ef58ff2ea67323e5260484597abe6bdfa63d8c72
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Jun 24 14:41:13 2008 +0000

    windows-osilog-safestring-unicode-20080624
    
    LICENSE MIT
    
    convert to using microsoft safe string functions.
    
    add Unicode version of osi_LogSaveStringW.  This is safe to use export
    even in none Unicode builds.
    
    Some reformatting.

commit 9d1863dae7ee6675c77c7ecf398c6c4c4cc811c1
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Jun 24 13:58:10 2008 +0000

    tubik-build-fix-20080624
    
    LICENSE IPL10
    
    add missing build dependencies

commit 98b87a2ac1ce5673142b26ae5aad2ef640efe51f
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Mon Jun 23 18:50:06 2008 +0000

    tubik-build-fix-20080623
    
    LICENSE IPL10
    
    add missing build dependencies

commit e5f9eba38634c2b07da1d7b20fb45cfdd772a27c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 23 04:40:56 2008 +0000

    doc-nfs-translator-instructions-20080622
    
    LICENSE IPL10
    FIXES 103459
    
    clarify instructions for the translator

commit 583b267eb0025bd78e7dd325775428557e3934ad
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jun 12 21:08:18 2008 +0000

    linux-2626-updates-20080612
    
    LICENSE IPL10
    FIXES 102821
    
    fixes which went into 1.4.x already

commit bb617c649cd18c30db40f7e1976eeddf0ae1545b
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jun 12 21:00:12 2008 +0000

    cvsignore-updates-20080612
    
    LICENSE IPL10
    FIXES 102819
    
    add missing things to cvsignore files

commit a33cd20d1b19c8c8587a5850d1239900d02db3d7
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Thu Jun 12 20:58:23 2008 +0000

    tubik-no-pinstall-on-head-20080612
    
    LICENSE IPL10
    FIXES 102819
    
    no more pinstall on the head

commit a7b33b55bb34027262fb5deb686a86fba1d2f832
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Jun 12 20:12:06 2008 +0000

    dafs-updates-20080612
    
    LICENSE IPL10
    
    pending changes from tom to avoid a deadlock issue

commit e2ce8710efc93f7172b9d4daaf685c6f2669f7c3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 12 19:36:15 2008 +0000

    ptserver-simple-corrupt-protection-20080612
    
    LICENSE IPL10
    
    protects against direct loops, which we have seen in the wild, but not more (yet)

commit bc47951c9ec0845eafe0d1634f56b761cbf8b06f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 12 18:24:25 2008 +0000

    volume-limit-higher-20080612
    
    LICENSE IPL10
    
    allow more volume lookups to be cached

commit 15ff831e4dfa8d2942536d002b86579f6128a5df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 12 17:04:38 2008 +0000

    windows-buf-clean-access-denied-20080612
    
    LICENSE MIT
    
    If the attempt to write the buffer returns access denied, store that
    in the cm_buf_t object so that the error can be propagated.

commit d8c3a598184df6066c330769e49fb1e301464e52
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 12 15:54:23 2008 +0000

    windows-pioctl-refactoring-20080612
    
    LICENSE MIT
    
    Refactor the pioctl handling to provide a layer of abstraction
    between the smb server and the actual pioctl data processing.
    This will permit a redirector pioctl layer to be implemented
    on top of the core cm_ioctl interfaces.
    
    The general approach is that there is a new cm_ioctl_t object
    which is embedded withing a higher level abstraction object.
    This object maintains all of the pioctl state processing and
    removes any notion of file descriptors or other communication
    channel parameters.
    
    The cm_ioctl module maintains just about all of the core
    functional processing except for SetToken which needs further
    abstraction.  Path processing is now performed at the higher
    layer and cm_ioctl functions accept cm_user_t, cm_scache_t,
    and cm_req_t objects from the higher layer.
    
    The smb_ioctl module performs all of the path translation
    using smb server knowledge and passes the necessary objects
    to the cm_ioctl module for processing.

commit 52490d7968c2008912ab0887bdcde7fbba43b837
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 12 15:20:46 2008 +0000

    windows-scache-deletion-and-lock-verification-20080612
    
    LICENSE MIT
    
    Add lock assertions to various functions.
    
    Obtain a missing lock around a call to cm_RemoveSCacheFromHashTable().
    
    Correct an abstraction layer violation.  cm_scache_t objects should
    be marked deleted in cm_Unlink() and cm_RemoveDir() and not in
    smb_CloseFID().  Cleanup of deleted cm_scache_t objects should be
    performed in cm_ReleaseSCache() when the reference count hits zero.
    
    Prototype cm_AdjustScacheLRU() and re-implement it using osi_QAddH().

commit 3306c0887b62ca940808174906c2579b3b7d939a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 12 15:00:08 2008 +0000

    windows-vnodeops-wrong-logfile-20080612
    
    LICENSE MIT
    
    Use afsd_logp instead of smb_logp in osi_LogX() calls.
    Do not violate layer abstraction.

commit ef48d6343d9ac929a4a2ae88184f7801ace1e3d1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 12 14:33:36 2008 +0000

    windows-scache-hash-tables-20080612
    
    LICENSE MIT
    
    Prevent corruption of the cm_data.scacheHashTablep lists when removing
    and then re-adding entries to the hash table.  The cm_scache_t nextp
    fields were not being reset to NULL which permitted loops to be created.

commit bed3e31ca4da711649d6c6b9ab828515cd3418fc
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jun 9 04:38:58 2008 +0000

    linux-2626-support-20080608
    
    LICENSE IPL10
    FIXES 101091
    
    add 2.6.26 support

commit 0da0a9d4d2e5b2d39495e57b9840ce0acdd961e2
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Jun 9 04:30:11 2008 +0000

    limit-mountpoint-symlink-abuse-20080608
    
    LICENSE IPL10
    FIXES 100836
    
    official mountpoints end in a .; treat others as symlinks to avoid creating
    files which can't be removed

commit ad05cdf649044dcc0b1db39aed8652338fb8c945
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 6 14:36:16 2008 +0000

    windows-check-server-memleak-20080606
    
    LICENSE MIT
    
    Found a memleak in the cm_CheckServers routine.  Plug it.

commit 39d2ac1438c5708dc64098e5de10cd55efd6e93b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 6 00:22:03 2008 +0000

    windows-bpluss-memleak-20080605
    
    LICENSE MIT
    
    when deleting entries from a directory for items with non-8.3 names
    memory for the longname field would be leaked.  don't do that.

commit 1473a8747a104af3938a14393f73da666149b114
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Jun 5 21:19:10 2008 +0000

    man-page-readme-fileserver-20080605
    
    LICENSE BSD
    
    Remove the note about missing file server options.  We think we got them
    all.

commit 1fdfac7065b85feafcfa3f9fc382cfd90680d67f
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Jun 5 20:31:13 2008 +0000

    man-page-pts-updates-20080605
    
    LICENSE BSD
    
    Add documentation of foreign realm user registration and cross-realm PTS
    groups.  Add documentation of missing ptserver flags.  Add some additional
    to-do entries for the man pages.

commit b5d888ed404840e5a25a26880daaf47ab415b282
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 4 09:02:21 2008 +0000

    windows-btree-short-name-20080604
    
    LICENSE MIT
    
    When constructing the shortname keyed entry in the tree, make sure that
    the original long name is preserved.

commit 79b7b4eaded831a33d85f580e9e4155528fbd35f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 3 03:53:54 2008 +0000

    linux24-hlist-unhashed-configure-test-fix-20080602
    
    LICENSE IPL10
    
    make the hlist_unhashed test actually work

commit 2b937b867f3420972b3f617710b44184df7bacc2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 29 18:19:21 2008 +0000

    windows-vlserver-remove-extraneous-make-targets-20080529
    
    LICENSE MIT
    
    remove extraneous make targets

commit 749ae65481ebc70f310fdd79d2cb0139a636f27e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 29 14:31:41 2008 +0000

    rx-init-more-packets-20080529
    
    LICENSE MIT
    
    It is frequently the case that rx_getAllAddr() is called before
    rx_Init() or rx_InitHost().  rx_getAllAddr() obtains the list of
    interfaces by using rx_GetIFInfo() which in turn computes and
    allocates the number of addition rx packets.  Unfortunately,
    rxi_MorePackets() relies on the existence of an initialized mutex
    and the mutex is not initialized (on Windows) until the rx_InitHost()
    call.  Therefore, we must delay the rxi_MorePackets() call until
    after rx_InitHost() if rx_getAllAddr() is called previously.
    
    Failure to do so results in a panic.

commit 11350e8024c8413dab5f91cfcd2155d26356329f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 29 05:02:36 2008 +0000

    strftime-portability-20080528
    
    LICENSE MIT
    
    %T is not portable to Windows.  Replace it with the equivalent %H:%M:%S
    format string.

commit c5bce0f87dc11cfaf5a7fabe16fe7efd24a4d200
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 29 04:35:19 2008 +0000

    rx-out-of-memory-20080528
    
    LICENSE MIT
    
    in rxi_MorePackets() if osi_Alloc() fails to return the requested memory
    call osi_Assert() instead of permitting subsequent null pointer dereferences
    to corrupt the stack.

commit 5ad08dc1662c9c7eeea10dadd39f7a1f793f761b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 28 19:37:09 2008 +0000

    windows-vlserver-headers-20080528
    
    LICENSE MIT
    
    make sure the headers are copied to the correct location by providing
    explicit rules

commit dc835c2d5397cc2b310dea374b043032b779ee3a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 28 18:40:06 2008 +0000

    windows-buf-redirector-20080528
    
    LICENSE MIT
    
    Define new flag CM_BUF_REDIR for use with the redirector.
    When set, the flag indicates that the buffer is being held by the redirector
    and it should be left untouched by the cache manager.

commit 5930abcbe169db3a8e676ebe558249af9ccdfa0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 28 18:33:17 2008 +0000

    windows-cpluscplus-compat-20080528
    
    LICENSE MIT
    
    Do not use reserved keywords 'new' and 'delete'.  Permit headers to
    be included by files compiled in cplusplus mode.

commit 54c0f2f8370c129a01b99233c98a758ba0eb2f17
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 28 18:27:32 2008 +0000

    windows-unused-var-20080528
    
    LICENSE MIT
    
    remove unused var cm_CachePathLen

commit 7b8c8a48a354a45ec34ed672aef1ea0255e4b4f1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 28 18:21:33 2008 +0000

    windows-btree-20080528
    
    LICENSE MIT
    
    add cm_btree.h to afsd.h include list

commit c5911d25f8772aa1bb9b28a6cd58b8b781b479c1
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue May 27 21:33:14 2008 +0000

    windows-unicode-20080527
    
    LICENSE MIT
    
    An incremental commit.  This patch adds support for normalization of Unicode
    but we have concluded that the normalization rules are incorrect.  Normalized
    strings should not be written to the file server or returned to the application.

commit b1549f29a9515de09d4a64bfb28bf5afdfee2615
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri May 23 15:55:29 2008 +0000

    rx-client-keep-keepalives-20080523
    
    LICENSE IPL10
    FIXES 20727
    
    not our bug, but, previous code refactoring broke rx. put back keepalives in cli
    ent rx connections while they are turned around.

commit 18a36a3f624755fbcaee776102177f47e26711b7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri May 23 15:57:18 2008 +0000

    disconnected-20080523
    
    LICENSE IPL10
    
    add readonly disconnected support

commit b26f133a56911c4a20e848cf85d40640aa37253a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 22:03:16 2008 +0000

    darwin-rc-common-does-set-minus-u-20080522
    
    LICENSE IPL10
    
    we need to cope with an unset variable

commit c34822d6105cef7f68423e4ebbf485b2d11b9635
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu May 22 19:28:37 2008 +0000

    rx-client-keep-keepalives-20080522
    
    LICENSE IPL10
    FIXES 20727
    
    not our bug, but, previous code refactoring broke rx. put back keepalives in client rx connections while they are turned around.

commit 8450a1eb1da3e2b77f9ae86b5adee4aaa7136e14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 04:51:27 2008 +0000

    dafs-volumestats-conflict-20080521
    
    LICENSE IPL10
    
    avoid symbol conflict in volume.h

commit dcafea769a1cb70c7b1f8763ae4f7b7744b2a436
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 21 21:15:41 2008 +0000

    vos-sync-flag-voltype-properly-20080521
    
    LICENSE IPL10
    
    when adding a backup volume to a vldb entry, flag it as such.

commit 1705bda53e4ca198cf78d70ff424fc7af69b1879
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed May 21 16:40:52 2008 +0000

    tweak-regen-20080521
    
    LICENSE IPL10
    
    make regen quieter if you don't want man pages

commit 30f65085f7a53ae073e2c4649a462a3a555ebb61
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 21 14:51:56 2008 +0000

    macos-tuning-20080521
    
    LICENSE IPL10
    
    be more aggressive to get better performance

commit 1206e7538be86f073b21cd289266286b60a95d0a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 21 05:22:13 2008 +0000

    pmtu-and-prefetch-20080520
    
    LICENSE IPL10
    
    try hard to optimize using the wire for high latency connections

commit c761f248397334400f8b4bb71cc4d01d3e4fc6ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 22:02:49 2008 +0000

    linux-hlist-unhashed-opencoding-20080520
    
    LICENSE IPL10
    FIXES 93871
    
    if we can't use hlist_unhashed (which is dumb) or we don't have it (less dumb) work around it.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    FIXES 93871
    
    if we can't use hlist_unhashed (which is dumb) or we don't have it (less dumb) w
    ork around it.

commit f00df529b79d9df64b77dd7b054eb362a92c279e
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue May 20 21:24:16 2008 +0000

    rx-connection-clones-20080520
    
    LICENSE IPL10
    FIXES 89557
    
    add connection clones to allow more than maxcalls per "connection"

commit 3edb97360b7d971750e54471037584d7a9a74993
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 20:48:34 2008 +0000

    aix-unpin-after-free-20080520
    
    LICENSE IPL10
    FIXES 99456
    
    in order that cleanup be safe we need to do it this way

commit 090b2eebfa9fb48deea94bf7b511e693a251e041
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 14 05:14:57 2008 +0000

    windows-smb-parse-string-20080513
    
    LICENSE MIT
    
    if the input length is 0, smb_ParseString should return the NUL string
    not NULL.
    
    Do not permit unprotected DebugBreak() calls.

commit 53cffb32ab7cc5a650d0bbaa66686a44ea206888
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 12 04:02:28 2008 +0000

    windows-unicode-normalize-btree-20080511
    
    LICENSE MIT
    
    Attempt to normalize afs directory strings before inserting them into
    the B+tree.

commit 9e67c4f766892f7c0b79a2d6a1d8b96a7e4b7100
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon May 12 02:36:36 2008 +0000

    windows-unicode-support-normalize-20080511
    
    LICENSE MIT
    
    Actually normalize when normaliz.dll is present.

commit 9d28d95151418189e8004734eca0edd498edd46b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun May 11 14:15:51 2008 +0000

    windows-unicode-support-20080511
    
    LICENSE MIT
    
    In NTCreateX a zero length name is permitted.  This can occur when
    opening the root directory of a share.
    
    Change cm_NameEntries() to accept a size_t* instead of long* since
    that permits better type safety.

commit b5dc1903a4bca5bae099beec0b95840df7282250
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat May 10 16:19:35 2008 +0000

    udebug-display-lastyeshost-order-20080510
    
    LICENSE MIT
    
    lastYesHost is already in network byte order.  do not reorder it again
    when displaying it.

commit c26dc0e6aaefedc55ed5c35a5744b5c01ba39ea1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 9 19:50:39 2008 +0000

    server-meltdown-avoidance-20080509
    
    LICENSE IPL10
    
    if the server is melting down or otherwise unable to reply with data, it will
    cut itself off.

commit a36ec90cff608c3805f524070eb21aacc118f9e2
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri May 9 15:49:36 2008 +0000

    windows-unicode-support-20080509
    
    LICENSE MIT
    
    This delta provides a fairly complete implementation of Unicode character
    set support for the Windows Cache Manager and supporting tools including
    fs.exe, symlink.exe, the pioctl library, and the explorer shell extension.
    
    New Build requirements:
    
    In order to build the Microsoft IDN Mitigation APIs SDK 1.1 is now required.
    This SDK provides the normalization.h header and the redistribution
    install packages required to install normaliz.dll.   The AFSDEV_INCLUDE
    path must be modified to point to the directory containing normalization.h.
    There are no lib files for this package.
    
    Cache Manager:
    
    The CM SMB server has been modified to negotiate the use of UNICODE.
    By default it is on.  The "fs smbunicode" command can be used to disable
    UNICODE at runtime.
    
    cm_utils now contains UNICODE normalization and conversion routines built
    on top of the IDN Mitigation APIs.
    
    All input strings are normalized with UNICODE Normalization Form C.
    
    The pioctl interface now supports UTF8 strings in addition to ANSI.
    UTF8 strings are prefixed with <ESC> % 8 as per the ISO 2022 extension.
    
    
    Pioctl Library:
    
    New apps should use the pioctl_utf8() function instead of pioctl().
    pioctl() is for ANSI strings and provides backward compatibility
    with third party apps.
    
    fs.exe and symlink.exe:
    
    Converted to Unicode applications.  All strings are now communicated
    using UTF-8.
    
    Explorer Shell Extension:
    
    Converted to a Unicode DLL.  All strings are now communicated using
    UTF-8.  Fonts on U.S. Windows distributions are not fully populated.
    As a result not all of the characters can be displayed in all of the
    dialog boxes.
    
    Still to do:
    
    1. Add Unicode normalization to AFS directory entries and mountpoint
       and symlink target strings.
    
    2. Use the Unicode version of GetCurrentDirectory in fs_utils.c
    
    3. Update the installers to install the IDN Mitigation APIs on XP
       and 2003.  Vista already has them and they are not supported on
       pre XP SP2 releases.

commit 048ae7c7e63e03af16925613aeec8243b45ffe70
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 9 04:53:08 2008 +0000

    windows-have-snprintf-20080509
    
    LICENSE MIT
    
    Visual Studio provides [v]snprintf.  No need to define and export it.

commit 3feee9278bc8d0a22630508f3aca10835bf52866
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 8 22:24:52 2008 +0000

    rx-retain-windowing-per-peer-20080508
    
    LICENSE IPL10
    
    we learned about the peer in a previous connection... retain the information
    and keep using it. widen the available window.
    
    makes rx perform better over high latency wans. needs to be present in both
    sides for maximal effect.

commit e6c818f070022529c362e42dfed340f54b2fd26e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 8 22:17:49 2008 +0000

    viced-avoid-infinite-loop-with-altaddr-unset-20080508
    
    LICENSE IPL10
    
    if we return leaving a non HOSTDELETED host while it does not have ALTADDR set,
    a loop can happen. avoid it by simply setting ALTADDR again when we're done,
    if we believe some addresses are still good this is fine.

commit ef619db804d471fda3bf3f77d55e8cd4e4699b29
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 8 06:25:42 2008 +0000

    windows-buf-invalidate-on-vnovnode-20080507
    
    LICENSE MIT
    
    Once we know that an attempt to stablize a buffer has failed due to
    VNOVNODE, stop trying to Stablize future buffers and just invalidate
    all of them belonging to the same FID.

commit c847fb4964c0ec24c404cf1fb353b08af81b5eac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 6 16:01:05 2008 +0000

    viced-large-more-threads-20080506
    
    LICENSE IPL10
    
    fileserver -L should imply -p 128, not -p 12

commit 98e658b7821f5020c67c05503f9e2c61c945554a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 2 20:29:43 2008 +0000

    windows-server-retry-20080502
    
    LICENSE MIT
    
    do not retry if there is no server available for the current attempt

commit abff169b58764380650e6e162707be68d3aa9bf1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 2 01:59:27 2008 +0000

    butc-xbsa-lwp-protoize-damage-20080501
    
    LICENSE IPL10
    
    make xbsa variant work again

commit 7915302f28091dd0a6547f0f58fa5ceb581cc21a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 1 20:00:00 2008 +0000

    uuid-corrected-duplicate-check-20080501
    
    LICENSE IPL10
    
    apply check to chain, not input

commit 0a2c144307d2471450c0660e141906a1f7b1ea36
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 30 20:07:43 2008 +0000

    client-idledeadtime-support-20080430
    
    LICENSE IPL10
    
    in the event a server is "melting down" and not responding with data to RPCs
    this adds the ability to time out the calls rather than letting keepalives
    effectively hang the client forever.  does not mark the server down since...
    it's not down.
    
    Side effect: adds similar tracking for authentication errors so tokens need
    not be discarded if one server's clock has drifted.

commit 888bc28b1886e994d430ddc61657e60a910208a6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 28 22:48:00 2008 +0000

    ubik-recovery-swap-in-new-fd-20080428
    
    LICENSE IPL10
    
    when recovery is done, forcibly invalidate the old fd

commit 668cd5331e4857a73ba1d849446e0dfcae97eadf
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Mon Apr 28 17:14:55 2008 +0000

    tbutc-wrong-lp-getrwindex-20080428
    
    LICENSE IPL10
    FIXES 96575
    
    The pthread butc crashes with SIGSEGV, when I restore to a volume
    which already exists. This does happen with OpenAFS 1.4.7pre4 on
    i386_linux26.
    Looking into the code I think butc is using the wrong function
    Lp_GetRwIndex (at volser/vsprocs.c:4394). It uses the one in the
    library lib/libvosadmin.a, but should use the function defined
    in volser/lockprocs.c.

commit 25d9dbb6be970d54c4711890b2085c153eda15fa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 28 16:18:52 2008 +0000

    udebug-64bit-time_t-vs-printf-20080428
    
    LICENSE MIT
    
    64-bit time_t values cannot be passed to printf() for evaluation
    by a %d variable.  To avoid the problem we cast the value to int.

commit 2f2d5fd8a7e80802fead9ee944e33c1a0c818abd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 28 16:04:38 2008 +0000

    windows-rx-idle-timeout-20080428
    
    LICENSE MIT
    
    Add "IdleDeadTimeout" registry value and call rx_SetConnIdleDeadTime()
    with it when creating new rx connections.   This forces the Rx stack
    to return RX_CALL_TIMEOUT if the file server has returned VBUSY for
    longer than the IdleDeadTimeout.
    
    When RX_CALL_TIMEOUT is received, the cache manager will now attempt to
    find another server for the object that might be less busy.

commit 7a6751c08800da5d49bf3def9175174499f6337e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 28 04:45:03 2008 +0000

    kdump-install-fixups-20080427
    
    LICENSE IPL10
    FIXES 96465
    
    The install rule:
    - installs the empty 'kdump-build' file instead of the binary on all
    platforms except irix
    - overwrites the selection script with the binary on linux and hpux
    - doesn't have an alpha_linux branch
    - installs the wrapper script as kdump32 and the binary as kdump on
    solaris (instead of vice-versa)
    
    The dest rule:
    - overwrites the selection script with the binary on alpha_linux and hpux

commit c8f4d9f0079b7eeacf831061a0c39310aafaa045
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 27 04:59:51 2008 +0000

    redhat-cellservdb-update-20080423
    
    LICENSE IPL10
    
    take update from upstream

commit 2aa615fed2b801a7ed3abf7da5aaa293a4f783bf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 27 04:53:59 2008 +0000

    zero-uio-len-when-trimming-20080426
    
    LICENSE IPL10
    
    make it match ufsread case. should change this later.

commit b1bf96f7581e58137f49e2b685cf6e91ff4f7dda
Author: David Botsch <botsch@cnf.cornell.edu>
Date:   Fri Apr 25 12:39:45 2008 +0000

    macos-afscell-configurator-20080423
    
    LICENSE IPL10
    
    not ready for release, but, add a tool which installer can run to ask for a cell
    name
    AUTHOR
    LICENSE IPL10
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    
    not ready for release, but, add a tool which installer can run to ask for a cell
    name

commit b87935a4c5f26357e29f1db46eff8b1cf9185f3b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 24 23:44:01 2008 +0000

    vos-move-avoid-spurious-unlock-20080424
    
    LICENSE IPL10
    
    lightly modified from what Bren Mills submitted; the second unlock call after mfail may be entirely useless.

commit 088eb9158bf553d5b3dcea8f37d3bec439419d44
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 24 17:21:01 2008 +0000

    windows-buf-refcount-20080424
    
    LICENSE MIT
    
    Implement DEBUG_REFCOUNT refcount tracking code to debug refcount issues
    in the cm_buf module.
    
    Fix a refcount leak caused by buf_IncrSyncer() incorrectly removing cm_buf_t
    objects from the dirty list.
    
    Fix the dumping of the dirty list to actually dump the dirty list.

commit 6143f2eb5c85f5c428578b60b3b8892321f7fbe1
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Thu Apr 24 04:08:03 2008 +0000

    windows-cellservdb-20080423
    
    LICENSE IPL
    
    latest greatest CellServDB

commit 6809ba29fadbd0d84ff6a9bf2ccd909b2f54b186
Author: Dan Hyde <drh@umich.edu>
Date:   Wed Apr 23 19:56:52 2008 +0000

    vol-setaside-one-fd-per-thread-20080423
    
    LICENSE IPL10
    FIXES 87977
    
    kids these days share badly. give each one their own fd otherwise they fight.

commit d18f5104f57152dfb6d1125a2d3a8bf17a266f44
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 22 13:50:23 2008 +0000

    linux-fedora9-packaging-updates-20080422
    
    LICENSE IPL10
    
    make build system able to cope with fedora 9

commit 8bf142ae2a979447b259b0945187379812883bee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 21 20:40:22 2008 +0000

    libadmin-vos-irix-fixes-20080421
    
    LICENSE IPL10
    
    irix is cranky about missing prototypes

commit 92b5087b42653d5358433c06d60f3adc67a11015
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 21 19:53:45 2008 +0000

    dafs-irix-prec99-20080421
    
    LICENSE IPL10
    
    unless/until we build c99, irix needs this

commit a6ef7fed731628a5e5b8af62f7e986d6f7ccf444
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 21 16:35:12 2008 +0000

    windows-cache-version-20080421
    
    LICENSE MIT
    
    increase the cache version because the cm_volume_t data structure was modified.

commit 0caa578a05150451c706c2ec6c3d095c671a7043
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Apr 19 22:55:02 2008 +0000

    linux-fc9-20080419
    
    LICENSE IPL10
    
    add in needed changes for fc9 kernels

commit 194067be89293d2f3ee4e791515c3ac020d3a551
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 18 21:49:45 2008 +0000

    klog-deal-with-aix-stupidity-20080418
    
    LICENSE IPL10
    
    aix krb5 is broken. deal.

commit 2a0f8bfda8b00de429cb15481e3e20d5d140a81c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 21 19:59:14 2008 +0000

    ppc64-linux-26-thread-info-20080418
    
    LICENSE IPL10
    
    thread_info is dead

commit c3eb805fc0309efca059a26b946eb4350417867e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 18 17:43:19 2008 +0000

    windows-volume-status-20080418
    
    LICENSE MIT
    
    A problem was discovered with cm_Analyze when serverRef instances are
    marked offline.  cm_CheckOfflineVolume() was not resetting the serverRef
    state.  cm_Analyze was also waiting in sleep calls when it was it is
    clear that waiting would not result in a change of state.
    
    cm_CheckOfflineVolume() was updated to always reset the serverRef state
    and indicate that the volume should be considered online for the purpose
    of retrying when the serverRef state is reset to srv_not_busy.
    
    The problems identified in the MIT dev.mit.edu stress test environment
    are resolved by these changes.

commit f3056feadbd6866bddc20e040b5005baeb4c8cad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 18 14:55:33 2008 +0000

    klog-aix-missing-symbols-20080418
    
    LICENSE IPL10
    
    aix's krb5 isn't heimdal or mit. it has dangling symbols. yay!

commit 8ea0eef2d6807d2ad51d29853335f115439e616c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 18 14:54:30 2008 +0000

    lwp-fix-protoize-20080418
    
    LICENSE IPL10
    
    make this cast correct.

commit 5f6b59f4601e9892e082a145a75e5872818d2e06
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Apr 15 13:29:20 2008 +0000

    linux-fakestat-avoid-mtpt-fillin-issue-20080415
    
    LICENSE IPL10
    FIXES 93898
    
    "It is actually the detection of a "cell" in the mount point string
    which triggers the (loosely consistent) fakestat handling - it's
    treated like a foreign cell and the mount point is never "completely
    evaluated", i.e. logically replaced by the root directory of the
    volume in question. As a result, callbacks are ignored, as they go
    against the directory and not the mount point."

commit 4440b9a61247a0da020042b4262695f0ef7d35de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 14 22:32:27 2008 +0000

    windows-volume-20080414
    
    LICENSE MIT
    
    1. Convert cm_volume_t mutex to a rwlock (rw).
    
    2. Don't hold cm_volume_t lock across RPCs
    
    3. Add CM_VOLUMEFLAG_UPDATING_VL flag to prevent multiple threads
       from performing volume update calls at the same time on the same
       volume set.
    
    4. Convert the .rw, .ro, and .bk cm_vol_state_t members of cm_volume_t
       to an array of cm_vol_state_t members indexed using the pre-existing
       RWVOL, ROVOL and BACKVOL preprocessor symbols.  This will permit
       consolidation of code and make it easier to add new volume types
       to the volume set in the future.

commit 7936739f44372458fffb86058b3279d53995bd8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 14 21:25:41 2008 +0000

    volser-prototype-include-fix-20080414
    
    LICENSE IPL10
    
    so tvolser can build again

commit 7bfe889eb2e900719c70cd9fd29f82569ef4c04c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 11 18:44:47 2008 +0000

    windows-freelance-20080411
    
    LICENSE MIT
    
    Do not set the DV on the rootSCachep because doing so disables
    the use of MergeStatus().
    
    Do not remove the rootSCachep from the hash table because doing
    so makes causes a second cm_scache_t object for that fid to be created
    that is not the root.

commit 40d41c191bdb64256d4ccf6a5f1bab8124249e63
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 10 18:50:49 2008 +0000

    vos-noresolve-option-20080410
    
    LICENSE MIT
    
    Add a -noresolve option to all vos commands.  This permits the display
    of servers by IP address instead of DNS name.  Very useful when 127.0.0.1
    is registered as the server address or when trying to eliminate
    multi-homed addresses.

commit fab6653cf714ee6121cd7a22857f22f86a969559
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 9 17:39:36 2008 +0000

    void-return-casts-20080409
    
    LICENSE IPL10
    
    do apporpriate casts for void returns to placate irix cc

commit 7faf596b439cce022cfa4b3174cd17a1f0a0901e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Apr 9 14:38:47 2008 +0000

    linux-nfstrans-avoid-access-deadlock-20080409
    
    LICENSE IPL10
    
    avoid deadlocking in access while we're already holding locks as filldir is doing its work

commit 494568ea929af96bf2b641e31b970cf695f13240
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Apr 9 05:34:22 2008 +0000

    windows-nsis-vs2005-20080409
    
    LICENSE MIT
    
    Add support for building with VS2005 Runtime Libraries.
    For the release build use the vcredist_<arch>.exe package.
    For the debug build, build an msi from the merge modules
    and then install that package.

commit 1495088e4168a2ddf35135db872777b9e51823b3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 8 19:35:51 2008 +0000

    redhat-spec-updates-20080408
    
    LICENSE IPL10
    FIXES 93616
    
    update to correctly fill in specfile from source tree

commit 0d2e36cac80d4c49db8e6b12988344107b7b1cd4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 7 15:19:10 2008 +0000

    windows-strlwr-cellname-20080407
    
    LICENSE MIT
    
    cellnames are case insensitive and by convention they are lowercased.

commit c108d606f59b6f5edcb863de3f3d9d7ecc44f04a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 7 15:16:48 2008 +0000

    windows-freelance-three-20080407
    
    LICENSE MIT
    
    deliver notification events to watchers when adding mount points or
    symlinks to the freelance root.afs volume.

commit 8f57819a99273812c1d9ba7ec504689b05b83b14
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 7 07:00:16 2008 +0000

    windows-freelance-two-20080407
    
    LICENSE MIT
    
    do not add the scp into the hash table twice.

commit a642541b960f601d7396c28ca08ee7fd32975ce6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 7 06:42:44 2008 +0000

    windows-freelance-20080407
    
    LICENSE MIT
    
    When freelance symlinks and mountpoints were modified the target string
    value was not being updated and the old data was not being invalidated.

commit c7ee4828e0d7c631fcd827d1a4c9af8bebb2fc2d
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Mon Apr 7 04:48:45 2008 +0000

    linux-no-syscall-probe-with-no-init-mm-20080406
    
    LICENSE IPL10
    FIXES 88000
    
    no better idea for this, got to do something... push this for now

commit ef19cea44c433ec7c1d214e8229b5fb4ea4b6ef6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 6 14:33:12 2008 +0000

    windows-fid-hash-20080406
    
    LICENSE MIT
    
    1. During the conversion to hash based FID comparisons the cm_GetSCache()
       lookups from the cm_ioctl.c (CM_IOCTL_QOPTS_HAVE_FID) and from FIDs
       returned by cm_LookupSearchProc() were broken.
    
    2. In cm_LookupInternal(), ensure that an error is returned if rock.found
       is FALSE.  A failure to return an error was resulting in cm_GetSCache()
       producing an object for FIDs with vnode=0,unique=0
    
    3. cm_GetSCache(), remove the warning check for vnode=0,unique=0
    
    4. reapply the synchronization logic to async store requests in cm_SyncOp().
       The lack of synchronization is causing requests to complete out of order
       which is confusing the SMB redirector when under heavy load.

commit 5dd7e65c6fd233e70d98b271cbf48ac2356efe0f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 5 19:02:59 2008 +0000

    revert-ubik-changes-20080405
    
    LICENSE IPL10
    
    these changes are unneeded; remove them

commit 5640c4a1b5bea4e61ff2e6c2da02265c3e1ba612
Author: Kevin McBride <klm@endpoint.com>
Date:   Fri Apr 4 20:58:35 2008 +0000

    volser-preclude-alternate-partition-clones-20080404
    
    LICENSE IPL10
    
    patch based on work from shadow@dementia.org
    
    the idea is to preclude multiple copies of a volume replica on a server,
    as there's nothing to indicate which copy is correct and you can end up serving
    stale data when you think you've just released and are serving something good

commit e62727e328c8fad2a5b7b305745a248d9aabe19a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 4 16:39:53 2008 +0000

    tubik-more-makefile-fun-20080404
    
    LICENSE IPL10
    
    kill off library name reuse

commit ece59f688a8820e3ea0601f77ed1b99af7ae7cfd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 3 17:58:11 2008 +0000

    tubik-head-makefile-compat-20080403
    
    LICENSE IPL10
    
    match new style install stuff

commit 65e701fee4968b17066bb81e25b7adaa4024d4f3
Author: Kevin McBride <klm@endpoint.com>
Date:   Thu Apr 3 17:41:12 2008 +0000

    tubik-vos-20080403
    
    LICENSE IPL10
    
    build pthreaded vos

commit 5f67c569455f0597d42b5a2cccf89e470ed74c53
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 3 15:20:41 2008 +0000

    tubik-20080403
    
    LICENSE IPL10
    
    avoid bogus dependency here too

commit bc1a7f1ee8fb12eeb7b54f89987e6f240627a579
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 3 04:54:34 2008 +0000

    tubik-one-more-20080402
    
    LICENSE IPL10
    
    handle the rest of the issues

commit 33161360381d5ec67f884c087da26bd8009a0511
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 3 02:20:25 2008 +0000

    tubik-makefiles-fun-20080402
    
    LICENSE IPL10
    
    these fixes brought to you by delicious beer.

commit ec02ff4342844c0d83ed3e9e5e27aef7c3af7204
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 2 22:45:05 2008 +0000

    tubik-makefile-fixes-20080402
    
    LICENSE IPL10
    
    don't use gmake macros. ick

commit 9fbbc3f50cc6f04796a8a444bc06acc66a9c55a6
Author: Steven Jenkins <sjenkins@sinenomine.net>
Date:   Wed Apr 2 20:47:27 2008 +0000

    pthreaded-ubik-20080402
    
    LICENSE IPL10
    
    add pthreaded ubik and various binaries

commit 93c326ef08cacc730470a7af75041d943825260b
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Wed Apr 2 19:19:57 2008 +0000

    linux-flush-compare-20080402
    
    LICENSE IPL10
    
    because i let this slip out like this. sigh.

commit 31d06c78b2f8ea14877bebf05097b33cc7e233f2
Author: Harald Barth <haba@pdc.kth.se>
Date:   Wed Apr 2 14:08:19 2008 +0000

    linux-flush-unlock-20080402
    
    LICENSE IPL10
    
    because i let this slip out like this. sigh.

commit 5fe4de574dba287b8197263028ac49014955a483
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Tue Apr 1 21:28:05 2008 +0000

    salvageserver-init-handler-lock-20080401
    
    LICENSE IPL10
    
    init lock

commit 0faa1e0412c4cb22e6820473fa60cdea5d516550
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 1 21:15:46 2008 +0000

    tsalvaged-clean-20080401
    
    LICENSE IPL10
    
    make clean target work here

commit 48838bab91b50a5cf8cd3fb7d1902e6b7525bb86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 1 21:05:19 2008 +0000

    vol-osi-assert-20080401
    
    LICENSE IPL10
    
    undo the old windows afs assert undoing

commit 695d1aa896cf38cfe9856ba1c45b6b3cca7565a2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 1 19:15:29 2008 +0000

    aklog-debug-text-dont-deref-null-ptr-20080401
    
    LICENSE IPL10
    
    yeah, this is sort of dumb

commit 3f54c934b9c933d5f34644a096c821375db17d97
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 1 18:44:28 2008 +0000

    aklog-tidyup-20080401
    
    LICENSE IPL10
    FIXES 92643
    
    remove windows code (osolete) from unix branch
    do other minor cleanup

commit 94aa281af8c9cb74561a32a34cb7cd5b5da97cdf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 1 17:49:42 2008 +0000

    vlserver-checksignal-returns-voidstar-20080401
    
    LICENSE IPL10
    FIXES 92662
    
    CheckSignal returns void*, don't try to return an int directly.

commit 9bdb8599c094821d0dfb29505cc63aa2a8460ae2
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Tue Apr 1 15:09:54 2008 +0000

    synvageserver-no-rx-server-refs-20080401
    
    LICENSE IPL10
    FIXES 92648
    
    remove reference to rx service mutex and thread tracking. we need to ensure there's nothing else either but this is true now

commit 4bcb7d01b2a8aa6ce53cf1c0b093058b4e5072f1
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Apr 1 07:50:28 2008 +0000

    man-page-vos-shadow-20080331
    
    LICENSE BSD
    
    Man page for vos shadow.

commit a26d7f1403d7d41d51836442a7a4759f4fc2bfe4
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Mon Mar 31 16:54:14 2008 +0000

    test-updates-20080331
    
    LICENSE IPL10
    
    update tests directory

commit 99a29903c8b77e2e3260bf06d913367fadbc4fed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 30 17:19:01 2008 +0000

    windows-aklog-cross-cell-20080330
    
    LICENSE MIT
    
    report the new ID after a successful cross cell registration

commit 2169423f6821672be5506ab388d6faa0ed37f0d0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 30 15:10:05 2008 +0000

    windows-aklog-robustness-20080330
    
    LICENSE MIT
    
    Fix the order of parameters to strncpy
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE MIT
    
    Fix the order of parameters to strncpy
    
    Add error checking to all krb5 functions.
    
    Initialize the global ccache variable to NULL.

commit aff582765a8af5ce8743e28ee4d33bf8e4396d63
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 30 05:16:17 2008 +0000

    windows-vlserver-makefile-20080329
    
    LICENSE MIT
    
    make references to INCFILEDIR consistent

commit c6897cee01063d6d6ad302e6527794130f007d74
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 30 04:30:52 2008 +0000

    windows-use-client-realm-for-tokens-20080329
    
    LICENSE MIT
    
    Two recent changes to the AFS/Kerberos landscape have been causing
    problems for aklog and related modules.  First, the support for multiple
    local realms for the cell has broken the pts auto-registration code
    when the realm used for the token acquisition does not match the
    realm belonging to the selected vldb server.  Second, Kerberos referrals
    prevents detection of the realm of the vldb server.
    
    This commit adds a new method of searching for the afs service principal.
    The first attempt is for afs/<cell>@<CLIENT-REALM>.  If found, the
    <CLIENT-REALM> is used as the realm of the cell.
    
    The patch adds error handling for KRB5_ERR_HOST_REALM_UNKNOWN which is
    returned when krb5_get_host_realm() can't determine the realm.
    
    Duplicate queries are also avoided and copy_realm_of_ticket() is
    properly employed.

commit 07d806845e1bf790c8cbe8e6a711e99e0958235b
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Fri Mar 28 17:11:19 2008 +0000

    nbsd-update-20080328
    
    LICENSE IPL10
    FIXES 92073
    
    fix nbsd30 param file, add nbsd40 param file

commit b2e3e6427522c92ce4132abf2ca08ce18599b16b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 28 14:01:03 2008 +0000

    windows-freelance-20080328
    
    LICENSE MIT
    
    1. return CM_ERROR_NOSUCHFILE when attempting to remove a symlink or
       mount point that does not exist
    
    2. When adding a new symlink or mountpoint, be sure to increment the
       number of local mount points
    
    3. When re-initializing the fake root.cell the unique value is always
       one, not two.  Use cm_FidCmp() to compare fids.  The use of the
       value two prevented the invalidation of existing values because all
       of the directory entries are created with the unique set to one.

commit be49dbe89161415a4a78f2f6b588fb94ee940ae9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 28 04:41:00 2008 +0000

    pinstall-collateral-damage-20080327
    
    LICENSE IPL10
    
    it's really easy to get into install-sh relative path hell. work around it.

commit e0021180665fa75af88c3ebf0d7f58f93918ceab
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Mar 27 18:48:22 2008 +0000

    krb5-klog-solaris-krb-20080327
    
    LICENSE IPL10
    FIXES 91573
    
    no krb5_mcc_ops on solaris krb5. cope

commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 27 18:39:57 2008 +0000

    ptutil-swap-epoch-version-as-needed-20080327
    
    LICENSE IPL10
    FIXES 90869
    
    do byteswapping of epoch and version so we print and compare sensibly

commit 7c05046f1f097a6ded89a5928ea48aca224f520a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 27 16:20:29 2008 +0000

    volser-higher-thread-limit-20080327
    
    LICENSE IPL10
    
    with tvolser we can increase this and actually *see benefit*, so...

commit 6c9647cc614cfdf9b2c9cc8adb7b3c6b741e1f4e
Author: Alistair Ferguson <alistair.ferguson@morganstanley.com>
Date:   Thu Mar 27 16:16:02 2008 +0000

    dafs-vshutdown-match-id-to-params-20080327
    
    LICENSE IPL10
    
    we track shutdown thread parms as index rather than device; deal correctly

commit 1cf6c12a075cb0705cd8680291d78d215d4fe996
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 26 04:16:51 2008 +0000

    linux-dont-flush-writes-on-exec-20080326
    
    LICENSE IPL10
    FIXES 17509
    
    because of when fds are NULL'd in file_table this should work except when one process has the same file open for read and for write in different FDs; otherwise, the last write fd to close collects the error.

commit 3f8be40525ae84980f1519e60f4b9f73bd4cc676
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Wed Mar 26 04:10:26 2008 +0000

    linux-restore-iget-cachemgr-20080326
    
    LICENSE IPL10
    FIXES 88000
    
    restore the d_alloc_anon we need

commit f3776341151ad2c9b439567411e908836b16d415
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 23 14:10:42 2008 +0000

    windows-vlserver-include-path-20080323
    
    LICENSE MIT
    
    Fix the INCFILEDIR definition so that the INCFILES actually exist

commit 76494a572e504c426fe9dabc8e68115f7ee6a05c
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Sun Mar 23 00:53:29 2008 +0000

    linux-2625-update-20080322
    
    LICENSE IPL10
    FIXES 88000
    
    update 2.6.25 patch to hopefully cover what we need better

commit 887f2869e309d00dff095b033dabf59231ef3300
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 22 00:19:03 2008 +0000

    windows-aklog-cleanup-20080321
    
    LICENSE MIT
    
    make krb5_context global.  wrap all calls to exit() in a new function,
    akexit(), which performs cleanup of the krb5_ccache and the krb5_context.

commit 493afd1e59661e64120a8d655d6503ac396ca46b
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Fri Mar 21 16:59:03 2008 +0000

    aix-unix-sockets-fix-200803221
    
    LICENSE IPL10
    FIXES 88088
    
    use aix's macro for the size of sockaddr_un

commit 94f32208af8896e144e18aa34d80bf2924b4ac36
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 21 12:20:21 2008 +0000

    windows-aklog-20080320
    
    LICENSE MIT
    
    Windows Error Reports indicate that sometimes the krb5_cc_default()
    call must be failing because krb5_cc_principal is being called with
    a NULL ccache value.  Perform error checking and cleanup that was
    not previously implemented.

commit 77c1e986369c8151ec19e74dccbd2b40de6270d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 21 04:15:47 2008 +0000

    windows-pioctl-disable-service-mgr-check-20080320
    
    LICENSE MIT
    
    Adds HKLM\\Software\\OpenAFS\\Client  DisableIoctlSMCheck
    
    For use in setting tokens when afsd_service.exe is started without
    use of the NT Service Manager.  Permits profiling authenticated
    operations.

commit edbde00d6c3be0228b1647505d8483632cceaf39
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 20 00:00:28 2008 +0000

    windows-max-cells-20080319
    
    LICENSE MIT
    
    Add CM_CONFIGDEFAULT_CELLS (1024) to cm_config.h and a "Cells" registry
    value that can be used to alter the limit at runtime.
    
    No longer tie the number of cells to the number of stat cache objects.
    1024 should be more than sufficient.

commit d24b177765f2955a7c54ecdc33744ecee069f25e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 19 20:17:04 2008 +0000

    windows-volume-dotdotFid-20080319
    
    LICENSE MIT
    
    The volume dotdotFid field should have moved into the cm_volstate_t
    object as there can be different parents for rw, ro, and bk volumes.

commit b2667be49d31a26517f3c7a192091847434e6151
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 19 15:34:48 2008 +0000

    windows-no-more-afsdifs-20080319
    
    LICENSE MIT
    
    do not include a header that no longer exists

commit e3f9fcdeaaf35363c0b3d3a8004892aa4ce9233f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 19 13:57:36 2008 +0000

    windows-remove-umich-afsifs-20080319
    
    LICENSE MIT
    
    The UMich AFS IFS code has never been made ready for production.
    An alternative approach is currently being worked on that will be.

commit e6d7e165886122dc4cee850632ee2c1f55165258
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 19 13:22:02 2008 +0000

    windows-parseacl-20080319
    
    LICENSE MIT
    
    Protect against invalid data being passed into ParseAcl and
    corrupting the stack.  This affects both fs.exe and the explorer
    shell extension.
    
    Windows Error Reporting in recent weeks has begun to report several
    instances of stack corruption in the explorer shell extension from
    Denmark and Germany.

commit e7e2a3bd0691e3da78a36c8f3332577290f59a64
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 18 16:44:39 2008 +0000

    windows-remove-umich-afsifs-20080318
    
    LICENSE MIT
    
    The UMich AFS IFS code has never been made ready for production.
    An alternative approach is currently being worked on that will be.

commit 6c81286368e17bdde543d4d6e5d19512cab62ba3
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Tue Mar 18 16:05:09 2008 +0000

    dafs-kill-xcpu-dump-vlru-stats-20080318
    
    LICENSE BSD
    
    this will dump the current dafs vlru state on kill -XCPU (just as we dump other fileserver state)
    
    that state is
    VLRU is a garbage collection facility which automatically offlines
    volumes in the background. The purpose of this facility is to
    proactively offline infrequently used volumes to improve shutdown and
    salvage times. The process of offlining a volume from the "attached"
    state to the "pre-attached" state is called soft detachment.
    
    VLRU works in a manner similar to a generational garbage collector.
    There are five queues on which volumes can reside: new, intermediate,
    old, held, and candidate:
    
    held:
    
    queue for volumes which are administratively barred from VLRU activity
    
    candidate:
    
    queue for volumes which have not been accessed recently, and are thus
    candidates for soft detachment
    
    new, intermediate, old:
    
    generational queues for active volumes; state transitions controlled by
    inactivity timers.
    
    State transition timeouts are as follows:
    
    candidate->new activity present
    new->candidate (1*vlruthresh) minutes since last transition; no activity
    new->mid (2*vlruthresh) minutes since last transition; activity
    present
    mid->old (4*vlruthresh) minutes since last transition; activity
    present
    old->mid (2*vlruthresh) minutes since last transition; no activity
    mid->new (1*vlruthresh) minutes since last transition; no activity

commit db4c703131c4fe68e699d873525f1055845545f7
Author: Kevin McBride <klm@endpoint.com>
Date:   Tue Mar 18 15:58:40 2008 +0000

    pts-process-input-file-and-exit-20080318
    
    LICENSE IPL10
    
     The pts program has a command 'source' to read commands from
     a file.  In the interactive "shell" mode, this command works,
     reading and executing commands until the end of the file and
     then returning to the command shell.
    
     This command is valid for use as a command line option, but
     does not work. It requires a valid filename as an argument,
     but does not process the file, instead just dropping the user
     into the interactive mode.
    
     When given as a command line option, pts source SHOULD read
     the file, execute the commands and then exit, according to
     the documentation. It does not currently do this and should
     be fixed.

commit 7ffe6a97ff0453c2cae8b15a9d7e2084e3a864d4
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Mar 17 18:07:36 2008 +0000

    hpux1123-sysname-detection-20080317
    
    LICENSE IPL10
    FIXES 89125
    
    add the 11.23 sysname

commit 2c3cbd499ad4461511f2181e1ac0a0cfa6768821
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Mar 17 18:02:53 2008 +0000

    afs-nostats-xstats-start-cmtime-noop-20080317
    
    LICENSE IPL10
    FIXES 90528
    
    add missing noop so we can build with stats disabled

commit eee60dd38d1be14be052178816aea36b2f8de3ff
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Mar 17 17:56:38 2008 +0000

    rx-nacks-increment-with-all-newacks-20080317
    
    LICENSE IPL10
    
    don't "lose" newacks, apply all of them to the ack count

commit ec5a43b08686680b9d9c0552e3a912871dac4cc8
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Mar 17 17:48:35 2008 +0000

    linux-nfstrans-readme-20080317
    
    LICENSE IPL10
    
    readme for linux nfs translator and extensions

commit 449756f8a26f1b30147851f98ac67b2a2642abf8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 17 17:14:01 2008 +0000

    volser-handle-malloc-failure-20080317
    
    LICENSE IPL10
    
    allocate memory for all rx OUT parameters in stubs to avoid crashes.

commit 680123d70c98d7d9e5884e3d43ed5298d6aad11d
Author: Mattias Pantzare <pantzer@ludd.ltu.se>
Date:   Mon Mar 17 16:51:55 2008 +0000

    solaris11-update-20080317
    
    LICENSE IPL10
    
    update solaris 11. probably we should do configure tests instead for
    these things, since they're sort of "moving target"

commit f776cb96f97e5995a3a58074f2bf913e8ea4be00
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Mon Mar 17 16:39:03 2008 +0000

    dafs-readme-20080317
    
    LICENSE IPL10
    
    update README to mention DAFS setup and build options

commit c7bce5882a685fcc6ecac53fb54ec7047f21ec6c
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Mar 17 17:06:30 2008 +0000

    dafs-accurately-track-inuse-20080317
    
    LICENSE IPL10
    
    keep accurate tabs on whether a volume is "in use" so we don't end up with volume state that's nonsensical.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    LICENSE IPL10
    
    keep accurate tabs on whether a volume is "in use" so we don't end up with volum
    e state that's nonsensical.
    
    ====================
    LICENSE IPL10
    
    keep accurate tabs on whether a volume is "in use" so we don't end up with volum
    e state that's nonsensical.

commit 3a84b02172800e7c172e04718fb109d1f5f1c014
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 17 15:38:15 2008 +0000

    rx-clock-backward-detection-20080317
    
    LICENSE IPL10
    
    if the clock goes backwards, detect it and reset any rx events to run in a timely manner

commit 8cad4305acb787500f9434949cfb3c6500f3287b
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Fri Mar 14 18:05:00 2008 +0000

    demand-attach-docs-20080314
    
    LICENSE IPL10
    
    Additional documentation for the demand attach file server, plus a state
    diagram.

commit 6fef8b74299e4ed75a1da45d7fdb948581ab2434
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 14 16:53:37 2008 +0000

    windows-callback-20080314
    
    LICENSE MIT
    
    Protect against a null volp

commit 3a0fa5627bd5254f37aa5c2fb04ca7d27f0a06c1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 14 16:16:14 2008 +0000

    windows-max-volumes-20080314
    
    LICENSE MIT
    
    Propagate the max volumes value into cm_memmap

commit 53a57b79b567aed990eb27d0b4a24109a65a993e
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Fri Mar 14 04:41:20 2008 +0000

    vol-dafs-aix-fixes-20080313
    
    LICENSE IPL10
    FIXES 88087
    
    * xlc doesn't support the inline keyword unless C99 is enabled
    * xlc won't parse enumerations with trailing commas

commit 2d29c51167b50286e94bda35275e62cfc3c04dfd
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Mar 13 13:42:06 2008 +0000

    lwp-fixprotos-20080313
    
    LICENSE IPL10
    FIXES 89857
    
    make everything match, and make *ep take void and not a pointer

commit e1fb328b9ae509316ce8fff81691f6b738929ee9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 13 12:56:31 2008 +0000

    rx-mutex-interlocked-macros-20080312
    
    LICENSE IPL10
    
    fix from sxw@inf.ed.ac.uk

commit f9cc51fb40f1797b72ba5b05d7d0249b9a3b2e27
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 13 04:37:44 2008 +0000

    windows-remove-scache-volp-20080312
    
    LICENSE MIT
    
    The cm_scache structure has included a reference to the associated cm_volume_t,
    volp.  By doing so the reference count on the cm_volume_t objects never hits
    zero unless all of the cm_scache_t objects in that volume have been reused.
    This prevents cm_volume object recycling.
    
    This commit removes the hard reference and instead adds a function
    cm_GetVolumeByFID which obtains a reference to the cm_volume that matches
    the cm_scache fid value as needed.
    
    A new "Volumes" registry value is added to permit explicit specification
    of the number of volume objects to be allocated.

commit 5378bf47efdb9abb056a0111cf38b9b6c73c7bc8
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Mar 13 02:23:57 2008 +0000

    linux-2625-20080312
    
    LICENSE IPL10
    
    add missing bits

commit f69a15c7a8e286ead1d7a3e444214a1553fa01e5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 12 05:46:01 2008 +0000

    windows-client-config-pt-20080311
    
    LICENSE MIT
    
    typo in pt_BR language resource file

commit 9cc4a8e02cd6b244c34f04ba9526183edd358bf7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 12 05:12:54 2008 +0000

    rx-no-interlockedadd-20080311
    
    LICENSE IPL10
    
    InterlockedAdd is only supported on Itanium

commit 0e91773fd769f2c5ce69eef1e795993f963ab3ee
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Wed Mar 12 01:28:00 2008 +0000

    man-page-fileserver-update-20080311
    
    LICENSE IPL10
    
    Update the fileserver documentation for demand-attach and add documentation
    of other missing options and notes where some options are only applicable
    with particular builds.

commit c86ae86a53c8a8e5acc099e1ea437e3571b2e63d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 11 18:23:23 2008 +0000

    rx-mutex-interlocked-macros-20080311
    
    LICENSE IPL10
    
    Introduce a new set of macros that can be used to permit either mutex
    based protection or Interlocked operation protection increments,
    decrements, or additions.
    
      rx_MutexIncrement(object, mutex)
      rx_MutexAdd(object, addend, mutex)
      rx_MutexDecrement(object, mutex)
      rx_MutexAdd1Increment2(object1, addend, object2, mutex)
      rx_MutexAdd1Decrement2(object1, addend, object2, mutex)
    
    For Windows these are implemented with the Interlocked operations
    for other platforms the existing mutex is relied upon.
    
    Only a subset of the rx_stats parameters have been transitioned at the
    current time.

commit ff988ead4ee3986c1db9f983e4f25ba79469a4e4
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Mar 11 17:46:58 2008 +0000

    lwp-protoize-20080310
    
    LICENSE IPL10
    
    protoize lwp. make it match pthreads' idea of createprocess

commit 9473128eb375b3ec31560613842220b934e07de6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 11 17:00:18 2008 +0000

    windows-lwp-proto-20080311
    
    LICENSE IPL10
    
    Fix breakage caused by recent lwp prototyping.

commit cadbebc2e50aedea01475620a3add4c315c13faa
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 18:50:47 2008 +0000

    linux-2625-20080310
    
    LICENSE IPL10
    
    adapted from marc dionne's patch, but works more directly like the darwin port,
    further, i'm guessing iget_locked will go away evewntually. maybe this is
    too conservative?

commit 2cee2d88a8573f1b8eb336993d9acf6417cda4e2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 10 18:16:29 2008 +0000

    windows-client-config-misc-dlg-20080310
    
    LICENSE MIT
    
    The Daemon and Server Threads fields were swapped.

commit b7fb842b1cd11ceaa492201ad9a38052e424f6a8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Mar 10 16:44:16 2008 +0000

    keyring-updated-20080310
    
    LICENSE IPL10
    
    revise keyring patch to avoid detection problems with keyring_type_key

commit 9959232682d05f410dc0fae91f790b2ebed3273a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 16:22:12 2008 +0000

    hpux-param-updates-20080310
    
    LICENSE IPL10
    
    based on suggestion from cg2v@andrew.cmu.edu

commit 5f6546ecbbe946f2275e07d87351968105c176a1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 9 15:21:39 2008 +0000

    windows-afs-execute-only-20080309
    
    LICENSE MIT
    
    If we want to enforce the open for read flag in smb_ReadData we must
    also check for execute access.  We map execute access to read access
    because AFS doesn't have a separate permission for that.

commit 6e18cd4108e6367fe9766d5f2cfda48569c9ebbf
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Mar 9 05:57:29 2008 +0000

    man-page-afsd-afsdb-20080308
    
    LICENSE BSD
    FIXES 89288 89289
    
    Reference RFC 1183 in the AFSDB documentation.

commit 84a928ddd46b1b77c655b21ce7e9fc8d775b96db
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sun Mar 9 01:40:14 2008 +0000

    pt-util-com-err-20080308
    
    LICENSE IPL10
    
    prototype afs_error_message() to ensure correct behavior on 64-bit
    systems with 32-bit int.

commit cdd1e8b878c669927b7e2b8f06cd20b62f6bec51
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 23:38:08 2008 +0000

    windows-installer-rxmaxmtu-setting-20080308
    
    LICENSE MIT
    
    change the RxMaxMtu setting to 0 to restore default
    behavior (aka performance).  The Cisco VPN 5.0.01.0600
    client no longer requires a reduced mtu size for compatibility
    with AFS.

commit f94e0d5688be0778d346711b6698e2ef567e1969
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 23:31:52 2008 +0000

    windows-config-20080308
    
    LICENSE MIT
    
    raise the daemon count to 4 now that we have a means of avoiding
    contention
    
    raise the tracebufsize to 10000 entries

commit 801b670734e254665576dcb71756ea64a123abc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 23:23:48 2008 +0000

    windows-syscfg-getifinfo-20080308
    
    LICENSE MIT
    
    syscfg_GetIFInfo() obtains the current list of IP addresses.
    Its a really expensive operation.  Call the function once
    and cache the data until the next IP address change instead
    of calling it everytime we receive a WhoAreYou or construct a
    new server object.  Adds a new global rw lock, cm_syscfgLock

commit 27008912ec2a0526e71f174b9e4e6d8dd1fc8f19
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 23:17:45 2008 +0000

    windows-scache-20080308
    
    LICENSE MIT
    
    do not discard data buffers we wish to keep

commit c32f5466f0cf7150d8bbe286fa51834108dce63f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 23:15:54 2008 +0000

    windows-performance-deadlock-20080308
    
    LICENSE MIT
    
    correct a deadlock when calling HaveCallback

commit 694202f29e5eafbcf0a07908ebdc2c67a2eecc3b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 15:43:45 2008 +0000

    windows-cm-callback-remove-call-mutex-hold-20080308
    
    LICENSE MIT
    
    Remove all of the code in #ifdef HOLD_CALL_MUTEX as we no longer
    use it.

commit 526babc882364573be745b717c32fa1da29acaa2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 8 14:15:43 2008 +0000

    windows-eventlog-20080308
    
    LICENSE MIT
    
    we need set privilege not query privilege

commit fdcf6bba5546f2a09e972323be9469a49ce04c6f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 22:22:21 2008 +0000

    windows-cm-performance-tuning-200803007
    
    LICENSE MIT
    
    This is a first cut at a cache manager statistics monitor
    that can be used to determine the necessary cache parameters
    to support the working set.
    
    Off by default the performance package can be activated
    by setting "daemonPerformanceTuningInterval" in the service
    Parameters key.  As with the other daemon interval values
    the unit is in seconds.
    
    At service start and each succeeding interval the cache
    manager will write statistics to %TEMP%\afsd_performance.txt
    showing the relative usage of cm_scache_t, cm_volume_t and
    cm_buf_t objects.  The FID statistics keep track of all FIDs
    seen by the cache manager during the service session whether
    or not they are backed by any live object in the cache.
    
    These statistics are not stored in the cache file.

commit 1f4ca0f488d765d5d09de9edf8a8fc4fbe6b09b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 22:14:41 2008 +0000

    windows-cm-conn-20080307
    
    LICENSE MIT
    
    Convert cm_conn_t reference counts to use Interlocked operations.
    This permits several cm_serverLock holds to be converted to read
    locks.
    
    Add string translation for VL errors to cm_Analyze().
    
    Permit RXKAD errors other than RXKADEXPIRED to be treated as
    non-fatal.  Instead immediately retry an alternate server if
    there is one.  This will permit the client to continue to
    access replicated data from an alternate site if one of the
    file servers is misconfigured.

commit 0479c650c17f35a4cf0de523cfc036b8d21629ce
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 22:07:40 2008 +0000

    windows-cm-server-interlocked-20080307
    
    LICENSE MIT
    
    Convert cm_server_t reference counts to use Interlocked
    operations.  This permits almost all of the cm_serverLock
    holds to be converted to read locks.
    
    Add missing cm_PutServerNoLock() calls in the multi_Rx
    version of cm_CheckServers().  (Thanks to Asanka)

commit 757ee6da75123653dd094a6e1fdd374edf0c55f1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 22:02:22 2008 +0000

    windows-vl-noent-response-20080308
    
    LICENSE MIT
    
    Prior to looking up a volume in the vldb the cm_volume_t
    object is constructed.  If the response is VL_NOENT the
    cm_volume_t object should be removed and place at the
    head of the recycling list so that we do not recycle
    something we might actually care about.
    
    Convert more cm_volumeLock holds to read locks now
    that we are using Interlocked operations to manipulate
    the reference counts.

commit 45200a26985678ccad051385f50f94321eb98256
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 17:44:40 2008 +0000

    windows-scache-verification-20080307
    
    LICENSE MIT
    
    Add a hash value verification check for stat cache entries

commit 73c2fa385a6f61483189dc68c4a10a49d65c8bf5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 17:37:35 2008 +0000

    windows-rxstats-default-20080307
    
    LICENSE MIT
    
    set the defaults for RxEnablePeerStats and RxEnableProcessStats back
    to 1 (on) so admins are not surprised.

commit f637b6292d3723cd2cf672ecaba6f179813ab64b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Mar 7 17:30:19 2008 +0000

    fakestat-access-for-nautilus-20080307
    
    LICENSE IPL10
    
    in order that nautilus' .directory checks can work without stat()ing every damn
    thing, do what we do for the mac, basically.

commit 5589875561e0062b2f06fc4ce0a8fad37a0d8eb5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 15:35:38 2008 +0000

    windows-smb-writedata-crash-20080307
    
    LICENSE MIT
    FIXES 88731
    
    If an application opens a file for read only and then attempts to
    write to it, we would attempt to release an scp mutex without having
    obtained either the scp or the mutex within smb_WriteData
    
    There was no check in smb_ReadData to ensure that the file was opened
    for reading.  Add one.

commit fb154e60e3cb6cf9e934f9a75c5ca67473ac36a2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 7 01:03:45 2008 +0000

    windows-interlocked-volume-refcount-20080306
    
    LICENSE MIT
    
    Switch cm_volume_t objects to InterlockedIncrement/InterlockedDecrement
    for reference counting.
    
    Remove protections against null pointers being passed into cm_GetVolume()
    Instead, do not call cm_GetVolume() if the pointer is NULL.
    
    Fix a buffer data version comparison that should be bad version number
    instead of <= 0.

commit 2137631fb44d934d51979850ebfcb6a50076b095
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 16:54:33 2008 +0000

    dafs-restarting-error-change-20080306
    
    LICENSE IPL10
    
    on VSALVAGE the client will correctly resort its list and fail over to
    other replicas, but only for RO where there is more than one replica,
    obviously; since in dafs we expect to only delay on salvage this is the most
    useful course of action

commit f58e08baae0a5ee9be516e9e220a12b78e5bf414
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 16:41:14 2008 +0000

    pioctl-settoken-malloc-fail-check-20080206
    
    LICENSE IPL10
    
    avoid malloc failure panic (oops)

commit 6a631075c478794e998ad67d90e33d304521fbd3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 6 14:33:09 2008 +0000

    windows-afsd-misc-20080306
    
    LICENSE MIT
    
    (1) an attempt to make better use of bandwidth from the BkgDaemon threads
        by preventing the thread from blocking on a vnode that is already
        storing data in another thread
    
    (2) prevents CM_SCACHEFLAG_ASYNCSTORE from being reset on a write failure.
    
    (3) fixes cm_EvaluateSysName to avoid accessing uninitialized memory
    
    (4) prevents a lock leak if the symlink's mountpointstring is too long.
        (This could never actually happen but better to correct the code.)

commit b651ece9bdb2ea9dc19907a5686e9d084f3c03d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 5 21:51:19 2008 +0000

    large-partition-support-20080305
    
    LICENSE IPL10
    FIXES 88811
    
    support partitions over 2tb

commit 69f9b46e69bb7c8c9356b062a8f4908fe38ad14b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 3 04:24:17 2008 +0000

    windows-scache-mx-to-rw-20080302
    
    LICENSE MIT
    
    Replace the cm_scache_t mutex with a rwlock permitting a small amount
    of additional parallelization in places where it is safe to use read
    locks instead of write locks.  All functions that eventually call
    cm_SyncOp must use write locks.

commit ba94313f4030184890194c84f8d5c2f3f69f52d1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 2 21:53:42 2008 +0000

    windows-cm_buf-20080302
    
    LICENSE MIT
    
    remove unused constants, data structures and fields

commit af2318cfde026f5dc6b479089689dba63f7b8abc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 18:58:54 2008 +0000

    windows-asyncstore-again-20080301
    
    LICENSE MIT
    
    must write the entire asyncstoresize otherwise dirty buffers are left
    for writing by buf_IncrSync thread.

commit b47407ae72491a129fc9ed6990585e426fc2a223
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 18:56:23 2008 +0000

    windows-buf-more-clean-vnode-speedups-20080301
    
    LICENSE MIT
    
    do not call buf_CleanAsync if you know the buffer isn't dirty

commit 7083ceec5c21e500f23110152dcc994c7ccfab92
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 17:43:16 2008 +0000

    windows-freelance-20080301
    
    LICENSE MIT
    
    when support for multiple valid buffer data versions was added
    forget to remove the force dv change from the freelance code.
    this broken automatic additions of new mount points.

commit fb3f10f3297c08807c0a3f0b345d88cd19742726
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 16:28:53 2008 +0000

    windows-buf-mx-20080301
    
    LICENSE MIT
    
    further reductions in buffer mutex acquisition churn

commit 3b5a1acef030ad9208111511813a0b69c6a0de99
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 15:59:07 2008 +0000

    windows-eventlog2-20080301
    
    LICENSE MIT
    
    set the registry values on each start.  otherwise, we will never update
    the incorrect entries left over from previous installs.

commit e4df679d1bcc6fb7e3c3eb4169e489c172910628
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 15:37:09 2008 +0000

    windows-eventlog-20080301
    
    LICENSE MIT
    
    somewhere along the way Microsoft stopped opening Event Message files
    explicitly.  Instead they search the PATH environment variable for
    the specified file.  I think this is broken but simply registering
    "afsd_service.exe" instead of the fully qualified path works.

commit b8cacec96969b044c1cfdd1919ca9e2e36999243
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 1 04:29:17 2008 +0000

    windows-smb-asyncstore-20080229
    
    LICENSE MIT
    
    fix it

commit 114de458ca7717cf0bcda90df61f24495fe8f922
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 29 22:50:54 2008 +0000

    windows-cm-buf-misc-20080229
    
    LICENSE MIT
    
    (1) Add an undocumented store behind mode for use in testing.  Set
        EnableSMBAsyncStore to 2.  When set all smb_WriteData calls are
        background writes, all calls to cm_FSync are skipped and file close
        operations do not block for dirty buffers to be written.  This
        permits all writes to be performed in the buf_IncrSyncer thread.
    
    (2) Do not use I64 in osi_Log() format strings as all parameters are
        converted to size_t which is 32-bit on 32-bit Windows.
    
    (3) Reduce the number of times the cm_buf_t mutex is obtained, dropped,
        obtained, dropped in buf_IncrSyncer
    
    (4) In buf_CleanAsyncLocked, request that a full chunk be written instead
        of just the current buffer.  cm_SetupStoreBIOD will stop at the
        first clean buffer.  This reduces the overall number of RPCs that
        must be performed.
    
    (5) Define CM_BUF_VERSION_BAD and use it instead of -1.

commit fccf05a96d038a1a911a95d309ecb08090d2c6a1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 29 15:45:21 2008 +0000

    windows-dnlc-20080229
    
    LICENSE MIT
    
    even if dnlc is not going to be used, the data structures must
    still be initialized as they are in the cache file.

commit 737c03a75c62b3cd0ec92b33aea84d33dc39c2e7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Feb 29 15:07:08 2008 +0000

    configure-enable-warnings-20080228
    
    LICENSE IPL10
    
    add a switch to turn on warnings when using gcc

commit 8ffc274282fa40c6e2d35ba861b9dc932afa032d
Author: Kevin McBride <klm@endpoint.com>
Date:   Fri Feb 29 04:41:50 2008 +0000

    checkauth-unlock-before-return-20080228
    
    LICENSE IPL10
    
    only matters once you have pthreads, but...

commit 502aca9e8ccff36d0c10203c66200e526d2273b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 29 01:26:45 2008 +0000

    windows-libadmin-closesocket-20080228
    
    LICENSE MIT
    
    On Windows close() does not apply to sockets, use closesocket()
    instead.

commit 0546641c0da59289d03a9417984fe5f7e5636a75
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 28 18:21:53 2008 +0000

    windows-buf-deadlock-20080228
    
    LICENSE MIT
    
    avoid deadlock in buf_FlushCleanPages().
    cannot obtain buffer mutex after a successful
    Stabilize call because the scp will be be locked
    and obtaining buffer mutex after scache mutex
    is a lock order violation.

commit e9f7894e3576ef9e01234966f7869440f1823718
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 28 17:16:28 2008 +0000

    windows-smb-lock-timeouts-20080228
    
    LICENSE MIT
    
    Attempts to open files which are already write-locked by another
    client took forever to return a lock not granted error.  This
    was because cm_Analyze() would retry the lock request for up to
    the RDRtimeout in response to the EAGAIN error.  The problem
    was that cm_IntSetLock() was not setting the CM_REQ_NORETRY flag.
    
    While examining this issue, discovered two other things:
    
    (1) the infinite wait logic on lock request processing was broken
    (2) the cancel outstanding lock request logic wasn't implemented
    (3) cm_Analyze() would put the thread to sleep even when retries
        were not permitted.
    
    Also removed a number of compile time warnings.

commit 023d3f3bae273d7af16d52fd0c468fc05653abe5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 27 22:26:31 2008 +0000

    arm-lwp-adm-20080227
    
    LICENSE IPL10
    
    don't use ucontext lwp on arm linux

commit 72687c02b6ee5ff3029937b0278733b252f14550
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 27 17:03:30 2008 +0000

    windows-osi-convertRToW-and-logging-optimizations-20080227
    
    LICENSE MIT
    
    Add lock_convertRToW which permits a read-lock to be upgraded to a
    write lock.  If the caller is the only reader it permits a fast
    transition otherwise it adds the caller to the waiters queue.
    
    In the osi_Log macros, check to see if the log is enabled before making
    the function call.  This avoids significant function call overhead.
    
    In the cache manager, make use of the above.

commit 107899cefaeebe693f8025e9c0d88784facd2236
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 27 04:53:45 2008 +0000

    windows-dnlc-20080226
    
    LICENSE MIT
    
    Remove race conditions in the statistics code by switching to
    Interlocked functions.
    
    Speed up cm_dnlcEnter() by searching first with a read lock and
    then switching to a write lock if not found.
    
    Add HKLM\SOFTWARE\OpenAFS\Client registry values "UseDNLC" and "Debug"DNLC".
    I suspect with the B+tree code that the DNLC is unnecessary overhead but
    leave it on by default for now.

commit 428cac5d6dfc287452af51c08eba0f0fca276864
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 26 04:13:16 2008 +0000

    viced-cleanup-old-addresses-as-they-become-invalid-20080225
    
    LICENSE IPL10
    
    otherwise we can end up with stale addresses when a client uses then leaves an
    address never to return

commit dd72e06bf11fccd70cba32c4b6411a5e6ff3914c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 25 22:19:49 2008 +0000

    windows-force-anon-vldb-20080225
    
    LICENSE MIT
    
    For organizations with krb5 aware file servers but transarc or old openafs
    vldb servers, add force anonymous vldb lookup option
    
      HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
            DWORD   "ForceAnonVLDB"  (default is 0)

commit f4f7ac048c52f859000a0d42640f0a6d43cc942a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Feb 25 20:38:09 2008 +0000

    threadquota-enforcement-fixes-20080225
    
    LICENSE IPL10
    FIXES 87416
    
    correctly set and unset HWHO_INPROGRESS as we pass through host probing package.
    
    also, do not block on lock checking for HOSTDELETED. instead, return a null host
    and VBUSY; restructure code to allow returning a null host with prejudice.

commit d8c932ed73039777f5e21e70d6850325061f8241
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 25 19:34:44 2008 +0000

    windows-volume-logsavestring-20080225
    
    LICENSE MIT
    
    remember to save the volume name when logging

commit 704fddccd0f714c848b37ccee427f8eeded53bd6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 25 15:31:21 2008 +0000

    windows-smb-asyncstoresize-20080225
    
    LICENSE MIT
    
    Further testing on the 115KB AT&T Edge connection shows that 128KB
    provides reasonably robust performance with six simultaneous copies of
    multi-MB files to AFS.

commit f95915a55ae579bab4052f24f6fedca21d114567
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 25 05:33:54 2008 +0000

    windows-smb-async-store-20080224
    
    LICENSE MIT
    
    Add two new configuration knobs to control the behavior of smb_WriteData.
    
    HKLM\SOFTWARE\OpenAFS\Client
      DWORD EnableSMBAsyncStore  (default: 1)
      DWORD SMBAsyncStoreSize    (default: 32K)
    
    Instead of tying the async store size to either the chunksize (too large)
    or the buffer block size (too small) provide an intermediate value that
    can be independently controlled.
    
    In the future it would be desireable for the async store size to be
    dynamically determined based upon measurable characteristics of the
    network.  In the meantime, 32KB is an acceptable performance compromise
    that should work well on 1Gbit networks and low-speed cellular networks.

commit 27dc7b13aa6356ba76916e47c6ddb48aa4b99846
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 25 04:57:47 2008 +0000

    nulluuid-check-only-valid-input-20080224
    
    LICENSE IPL10
    
    as reported by jhutz@cmu.edu

commit f52c6e1bc020a0985d2bc168d06b2c87fe7a2797
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 24 15:33:52 2008 +0000

    windows-scache-clean-bufs-20080224
    
    LICENSE MIT
    
    In MergeStatus, only remove clean buffers from the hash table.

commit 9e41258fad54e3122a0722b3f1c24810590c8d0a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 24 06:31:54 2008 +0000

    windows-buf-data-versions-20080224
    
    LICENSE MIT
    
    An implementation of Asanka's idea.
    
    Avoid the need to update the data version number on each buffer associated
    with a scache when MergeStatus is called after a StoreData by maintaining
    a range of valid data versions as part of the cm_scache_t object.

commit 812ac61cfd3601abb1373f6d3f9e4d52c2ff61b9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 24 06:27:38 2008 +0000

    windows-optimize-access-20080224
    
    LICENSE MIT
    
    profiling shows large numbers of blocked calls in cm_HoldSCache
    from cm_HaveAccess...   We can safely avoid the call so do so.

commit c73b73ee33c37aee2c52051005a12ad36fde70d4
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Feb 23 21:35:56 2008 +0000

    windows-checkntopen-20080223
    
    LICENSE MIT
    
    do not forget to call cm_SyncOpDone if cm_SyncOp succeeded

commit 8bddb4892bb815076861507f8ae781ae2c3f3310
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 23 21:12:54 2008 +0000

    windows-buf-createlock-20080223
    
    LICENSE MIT
    
    Do not leak a read lock on the bufCreateLock
    
    Add logging to cm_CheckNTOpen[Done]

commit 12c6cfd4435c5a491e613e6394fabeeed4d81447
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 23 07:27:17 2008 +0000

    windows-buf-scache-interlock-20080222
    
    LICENSE MIT
    
    Improve parallelism by using InterlockedIncrement and InterlockedDecrement
    to adjust the refCount fields of cm_buf_t and cm_scache_t objects.  This
    permits read locks to be used for increments and decrements but requires
    a write-lock to perform any actions based upon the refCount hitting zero.
    
    Inline cm_FidCmp to further improve performance.
    
    Remove unused variables.

commit dcef8fa4adc4c2cdc166494979d77d91c40c1f06
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 23 00:15:22 2008 +0000

    windows-afsd-20080222
    
    LICENSE MIT
    
    1. Change RxEnableHotThread default to 'on'
    
    2. Add a 'hash' value to the cm_fid_t structure in order to speed up cm_FidCmp().
       Add cm_SetFid() for use in constructing a fid complete with the hash.
    
    3. Redefine the BUF_HASH and BUF_FILEHASH in terms of the cm_fid_t hash which
       has a better distribution
    
    4. Modify cm_ConsiderPrefetch to evaluate the amount of data in the most recent
       read request instead of the next chunkSize.  cm_chunkSize can be dozens or
       hundreds of buffers.  As a result too much time is spent performing the
       evaluation.
    
    5. Fix the usage of cm_scache_t bufCreateLock.  The purpose of this lock is
       to prevent the creation of new buffers while a truncation is being performed.
       All references to bufCreateLock have been removed except in two places:
       i.  a write-lock surrounding the function that calls buf_Truncate()
       ii. a read-lock within buf_GetNewLocked() that actually allocates new
           buffers
    
    6. Modify the CM_CONFIG_DATA_MAGIC value to include a CM_CONFIG_DATA_VERSION
       number which value be used to force the replacement of the cache file
       contents when incompatible changes are made between releases.
    
    7. CM_SCACHESYNC_ASYNCSTORE should not be ordered by cm_SyncOpCheckContinue
    
    8. Avoid calls to multi_Rx if nconns == 0
    
    9. Modify smb_WriteData to perform background writes based upon the crossing
       of buf_blockSize boundaries instead of cm_chunkSize boundaries.  This will
       slow down writes from the SMB interface but will avoid the risk of
       the CIFS client disconnecting from the AFS client SMB server.

commit cd9ce022ee97bee809e840be8612aafb2cbfc6b8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 20 21:31:02 2008 +0000

    debian-packaging-update-20080220
    
    LICENSE IPL10
    
    Russ' metadata, repacked into our tree

commit 49d77d8d4b8c26a56143a3655d460a6495f7d57a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 20 20:18:03 2008 +0000

    vos-addsite-pod-error-20080220
    
    LICENSE IPL10
    Item is not item

commit d5c32c97a01f02cd69e2167964b43d83c6d413fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 20 20:07:51 2008 +0000

    urecovery-invalidate-without-truncate-20080220
    
    LICENSE IPL10
    
    critical to label the database invalid when we don't truncate so recovery finishes.
    
    issue in 84609 remains.

commit d48e3d1e7a5a5d065a0046b9115043bed47510a7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 20 17:35:45 2008 +0000

    windows-smb-locking-20080220
    
    LICENSE MIT
    
    minor improvements to smb_rctLock usage.

commit dd4ecb4ca0467d9f5727de1bfe9082f195330b99
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 20 17:32:53 2008 +0000

    windows-rx_enable_hot_thread-20080220
    
    LICENSE MIT
    
    Add RxEnableHotThread registry option to permit rx_enable_hot_thread
    to be set.  The default is off for the moment but turning it on does
    provide significant performance benefits.

commit 5067e6786dc93b8760edf6b1b9d92c3999caea7e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 20 17:17:21 2008 +0000

    rx-osi_socket-20080220
    
    LICENSE MIT
    
    The portable type to be used for sockets is osi_socket not int.
    
    On 64-bit Windows this caused failures when hot threads were enabled.

commit 897c36027476843db988b9d0625a8fc189c8716d
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Feb 19 15:25:17 2008 +0000

    man-page-updates-20080219
    
    LICENSE IPL10
    FIXES 86677
    
    note 2tb limit, add fs minidump document

commit 4bd64596caebf79962db441782082d07c2de9e4e
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Feb 19 15:07:24 2008 +0000

    s390x-not-s390-20080219
    
    LICENSE IPL10
    
    don't try to link multiple things to asm

commit 19b829d21934d60ab0b1af3ef0c7eefb2cce17b6
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Feb 19 14:29:42 2008 +0000

    viced-rmdir-fid-leak-20080219
    
    LICENSE IPL10
    FIXES 86786

commit c2de3a1623441f93b119dbdbd772bfa81973b230
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 19 04:10:44 2008 +0000

    windows-name-entries-20080218
    
    LICENSE IPL10
    
    restore the original behavior.  Fixes smb_ReceiveTran2SearchDir().

commit 1e4c03deecee1671703af891dbaf11e11b0dd5c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 19 03:39:06 2008 +0000

    arm-linux26-syscall-missing-20080218
    
    LICENSE IPL10
    
    there's nothing non-political about this. whatever.

commit 7421feda944d5fa05f5223528a69f23a7bb0b724
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 18 19:19:12 2008 +0000

    viced-qsort-cba-before-multibreakcallback-to-avoid-lockup-20080218
    
    LICENSE IPL10
    
    my code, though, this is a result of a problem reported by Chaskiel Grundman and analysis by him, Jeff Altman and myself.
    
    I'm just checking in my implementation. In any case, the issue this addresses
    is one where we can end up in makecall_waiting in rx on multiple connections
    when we multibreakcallback because the lists are sorted differently and each has "pending" calls on a different connection. by sorting by index we will not
    block on another caller while also holding what they're after

commit 7a290f39ec303cb3473f63f7d9c634e767191279
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 18 17:33:45 2008 +0000

    windows-do-not-discard-badtickets-20080218
    
    LICENSE MIT
    
    The RXKADBADTICKET error is returned when a krb5 derived token is sent
    to a server that does not support them.  In a mixed cell it is possible
    that some servers were not updated.  Discarding the token does not make
    it possible to perform the request successfully and adversely affects
    the user experience because those servers that do support the token
    can no longer be accessed in an authenticated manner.  Users can't
    determine what the cause is, all they see are their tokens disappearing
    and there is nothing they can do about it anyway.
    
    From now on return STATUS_NO_KERB_KEY and do not retry.

commit 5fd85f53f26ba1f0649b8a8c68d3abb1c5159eb9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 18 17:27:48 2008 +0000

    rx-stats-optimization-20080218
    
    LICENSE IPL10
    
    Do not grab the peer mutex or the rpc stats mutex if we are not
    intending to collect stats.  Doing so is a bottleneck.

commit f5645ccffe05f2c1b44d5ba1adb32ba45e26aae8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 18 14:13:59 2008 +0000

    windows-afskfw-20080218
    
    LICENSE MIT
    
    if we are going to insert the full ccache name then we must search by
    it as well.

commit 72da5c434c8caef0cb81523091915738e7e930ed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 18 05:52:34 2008 +0000

    windows-share-parse-20080217
    
    LICENSE MIT
    
    add srvsvc and wkssvc to reserved names in smb_ShareParse.
    
    include slash in ipc$ reference in dfs referrals check.

commit 55aa6f04dcfebae134b3459944e005599d06ef05
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Feb 17 14:33:26 2008 +0000

    windows-netidmgr-extension-sample-20080217
    
    LICENSE MIT
    
    A sample template for constructing Network Identity Manager OpenAFS
    Provider Extensions for obtaining and identifying new token types.

commit 38c2524bd16f1e535ea28f9d0788b7eaa8d26c3d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 17 05:58:13 2008 +0000

    windows-invalidate-file-locks-vnovnode-20080217
    
    LICENSE MIT
    
    Upon receiving a VNOVNODE error from a file server, be sure to
    invalidate any file locks.  This prevents on-going attempts to
    extend the locks and will cause subsequent attempts to access
    the file to receive a invalid handle error.

commit 33bed6296114e16914cecf312c762774d44386c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 17 05:26:51 2008 +0000

    windows-buf-consistency-20080217
    
    LICENSE MIT
    
    All calls to buf_Get() must be protected by a read lock on the
    cm_scache_t bufCreateLock
    
    When a MergeStatus results in the invalidation of buffers, do
    not remove buffers from the hash tables that have active references.

commit 935c49a2a6efa476c327e8a24fc4895f0c8f623d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 15 03:31:04 2008 +0000

    windows-check-offline-volumes-20080214
    
    LICENSE MIT
    
    when checking offline volumes, update the cell vlserver info
    if required and don't perform a check if there are no servers
    in the list.

commit 4aad2a7b6bcf97af384de36994af94b7b4b07f98
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 15 03:24:52 2008 +0000

    windows-afsd-rx-extrapackets-20080214
    
    LICENSE MIT
    
    Add support for specifying rx_extraPackets in the Windows client

commit 9babb9f88f0e101d06f6b447a4b5ad4316fa2d07
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Feb 14 19:26:39 2008 +0000

    mockbuild-20080214
    
    LICENSE BSD
    
    driver script for mock massbuilds

commit 093433b981cd1917215a4ee6196c5a0a55352d92
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 15 03:23:44 2008 +0000

    windows-volstat-vl-unknown-20080214
    
    LICENSE MIT
    
    Add volumes in the vl_unknown state to the list of objects to be
    checked as offline or retried when an allbusy error is received
    in cm_Analyze.

commit 1133cc441862f3f0d44f0ab380a7274ead672b0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 14 19:19:38 2008 +0000

    windows-vnovol-20080214
    
    LICENSE MIT
    
    avoid a crash when logging VNOVOL errors returned from cm_CheckOfflineVolume

commit 00bada9c5eb803c13a6b930e79684a470cf94278
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 15 03:18:42 2008 +0000

    windows-osilog-savestring-20080214
    
    LICENSE MIT
    
    When osi_Log is disabled, osi_LogSaveString will no longer copy the
    provided string into the circular log buffer.  This saves a huge amount
    of time.

commit 588a229110c92bd82b819916260ee9727759c4a0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 13 05:57:27 2008 +0000

    windows-smb-special-share-names-20080212
    
    LICENSE MIT
    
    Treat srvsvc, wkssvc and ipc$ as pseudo files.  Permit them to be opened
    and closed without actually existing.  For now we treat them as equivalent
    to ioctls but this should eventually change.
    
    Fix RAP processing to not reject names that exist in the root.afs volume
    for GetInfo queries.

commit 44c20384ed5c0fdb4bce737a2a3c2b9c0af4472b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 13 05:43:16 2008 +0000

    windows-dfs-referrals-20080212
    
    LICENSE MIT
    
    Add "ipc$" to the list of names that must not be automatically added
    as a share name.
    
    If the sharename is a partial match and therefore will not be added
    automatically to the share list, make sure that we return an error
    to the requestor.

commit 31990decdef84adc1c9033944fcc59910720c834
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 13 05:27:15 2008 +0000

    redhat-openafs-kmodtool-20080213
    
    LICENSE IPL10
    
    rename to be specific to us.

commit e9e1d1a39bfe047a38f153afdc2fe8951174135c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 12 14:00:41 2008 +0000

    windows-no-wx-20080212
    
    LICENSE MIT
    
    Warnings as errors are nice, but when different compiler versions
    stop building simply because a parameter is not being referenced
    in a meaningful way its time for the option to be turned off

commit a5e5736c67cdf3d08bce548447bc7635b65329c2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 12 13:29:36 2008 +0000

    windows-no-more-rpcns4-dll-20080212
    
    LICENSE MIT
    
    Remove all references to rpcns4.lib and its included functions RpcNsXXX.
    These APIs are no longer supported on Vista.  Except for TaAfsAdmSvr
    they had been commented out for a long time but we still continued to
    link to the library.  Loading the library generates a no longer supported
    error on Vista.  So lets get rid of it.

commit 512ec8f51880d4e9e1cc5564bd27991a2c2915d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 12 13:16:20 2008 +0000

    windows-afscreds-username-20080212
    
    LICENSE MIT
    
    Use GetUserNameEx to obtain the username instead of searching the registry.
    Try UserPrincipalName first and fallback to SamCompatible.

commit 7a8d8da95f5bd23fbb97d93840f3a2c5a145a695
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 11 16:42:45 2008 +0000

    windows-afscreds-vista-uac-20080211
    
    LICENSE MIT
    FIXES 82701
    
    Modifying the registry and the startup shortcuts is not permitted under
    Vista UAC.  Generate an error dialog and notify the end user.

commit 61bb3b7f096f3b10075dcb1403879e3ec518276b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 11 14:45:43 2008 +0000

    windows-freelance-20080211
    
    LICENSE MIT
    
    Do not return BAD_NETWORK_ERROR in response to attempts to create directories
    or files in the Freelance root.afs volume.  Instead return ACCESS_DENIED.
    
    BAD_NETWORK_ERROR was being sent because the Freelance cell has no
    vldb servers.  Short circuit the error by testing for freelance
    in CreateFile and MakeDir

commit a5dbdd03b8187f0c2c146f330e9adc42e103432c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 11 03:58:49 2008 +0000

    magic-vnodes-20080210
    
    LICENSE IPL10
    
    add magic vnodes like the magic mounts we already have. you can now
    cons up any afs vnode if you know the cell and fid.

commit b44afa839b7c5dd33ab83958f0871edac32fc7ac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 11 03:42:40 2008 +0000

    vos-syncv-dryrun-20080210
    
    LICENSE IPL10
    
    add a dryrun mode to vos syncvldb and syncserv

commit c61712de68f6bcb59eac29cb59e9ae78d98cf179
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Feb 11 03:35:43 2008 +0000

    dafs-vol-updates-20080210
    
    LICENSE IPL10
    
    make sure status is consistent in vol package when doing dafs

commit d7235b1493917250a163dc4336f8b6ac83c6a07e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 11 00:13:50 2008 +0000

    windows-windows-pipes-20080210
    
    LICENSE MIT
    
    do not search for cellnames that match srvsvc or wkssvc pipes

commit cd82af9d4e50798e8fe5cf0f2f022f1f40e2b59e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 9 02:30:17 2008 +0000

    windows-wow64-registry-20080208
    
    LICENSE MIT
    
    Enable the 32-bit tools that are distributed for use in the WOW64 environment
    to access the 64-bit registry keys instead of the 32-bit versions.  This
    will remove the need to support both 64-bit and 32-bit versions of the
    values.

commit 0caf7c54dfac30c92587031af6a902f4d33b2e22
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 9 02:26:28 2008 +0000

    windows-vnodeops-20080208
    
    LICENSE MIT
    
    Add support for returning RANGE_NOT_LOCKED errors
    
    Do not attempt to add a mount point for share names of the form
    <cell><mount-type><volume>.  Its just a big waste of time.  DNS
    queries and CellServDB file searches are expensive.

commit 607c0959f085a6d8283f78a9969c450930cab084
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 8 21:19:02 2008 +0000

    rx-kill-void-stupidity-20080208
    
    LICENSE IPL10
    
    remove VOID since it conflicts with this. and we shouldn't need it anymore anyway

commit 629feb40c46658d08e5dc3e6dcd1114996b8c734
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 8 01:20:01 2008 +0000

    windows-scache-locks-20080207
    
    LICENSE MIT
    
    add lock assertions to ensure we are holding write locks when
    manipulating scache refcounts

commit 1c0c38b91836db8e90c73f340dd302000950a539
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 7 21:40:08 2008 +0000

    windows-fs-utils-20080207
    
    LICENSE MIT
    
    Use ismeta() correctly when parsing integer strings.

commit bb2dc54732c865f37b0e9c5b928c850daa795b4d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 7 21:20:02 2008 +0000

    windows-scache-refcount-race-20080207
    
    LICENSE MIT
    
    if we are going to call a NoLock function better be holding the lock

commit f2be22f71001852d5d461b34ba2c13d3d53d5e10
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 7 20:27:47 2008 +0000

    windows-multi-check-servers-20080207
    
    LICENSE MIT
    
    for multi must compute the host string from the ip address for each server

commit 1a95df210c51a4e1416e5996b99c5640e4265255
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 7 14:47:25 2008 +0000

    windows-volstat-20080207
    
    LICENSE MIT
    
    When updating the volume status do not introduce a deadlock by holding
    cm_serverLock

commit 04cac1963a4716e57447b28c00629f0ef5a15258
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 7 06:13:11 2008 +0000

    windows-volstat-20080206
    
    LICENSE MIT
    
    Ensure that the volume status is always updated after a server_ref
    status change.

commit 5d61f37949fd561f4c9d777cc67c5fd3db835e29
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 6 19:29:44 2008 +0000

    windows-multi-check-servers-20080206
    
    LICENSE MIT
    
    do not leak references
    
    remove signed vs unsigned warnings
    
    retry all RXGEN_OPCODE responses regardless of whether or not the entry
    had to be moved to consolidate the list.

commit d78bff3dbd561f9d0f4976eeb264e601216a37c6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 6 17:53:12 2008 +0000

    windows-shell-add-symlink-20080206
    
    LICENSE MIT
    
    No longer attempt to validate the target of the symlink.
    There is no method of doing so reliably.

commit a0e454bd41ec8b363f7669d620d4ff3caa8caf1d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 6 16:45:29 2008 +0000

    windows-vnovol-20080206
    
    LICENSE MIT
    
    VNOVOL means the volume could not be attached which from the client
    perspective is the same as being offline.  The VLDB should not be
    queried in response to this error.

commit 0254b1a8810c3ef9692c0c77f9851b563ea70832
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 6 12:20:07 2008 +0000

    hpux-dafs-inline-functions-20080206
    
    LICENSE IPL10
    
    fix this for hpux

commit 66d8633b460448d538178719206bf0b7b3989406
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 6 02:08:32 2008 +0000

    windows-cleanup-head-20080205
    
    LICENSE MIT
    
    cleanup junk that does not belong

commit 8274eb91f1c0fd94f3982ae6f12d8dcb8f388f44
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 6 01:23:50 2008 +0000

    linux-rx-kernel-listener-kill-task-directly-20080205
    
    LICENSE IPL10
    
    as reported by cg2v@andrew.cmu.edu

commit 9732b4bb94a921a2a6bff0f985e44d04afacebd9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 6 01:13:47 2008 +0000

    window-wix-dependencies-two-20080205
    
    LICENSE MIT
    
    afsvosadmin.dll is required by translate_et.exe

commit b85428263c75316ff8fd15c188617f4eb02670a8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 20:48:30 2008 +0000

    windows-pioctl-path-charset-translation-20080205
    
    LICENSE MIT
    FIXES 84279
    
    Do not translate the character set of the pioctl path data.
    These paths were not provided by the file system but by the end user.
    Therefore, they were not converted to the OEM character set.
    
    With this change the AFS shell context menu will be displayed for
    non-ASCII file names when ANSI file names are being used as well
    as the fs commands will work.

commit df5cfb3de1deae455d264780d3987c7fa6f33d2c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 17:37:21 2008 +0000

    windows-multi-checkservers-20080205
    
    LICENSE MIT
    
    Instead of probing servers one at a time, use multi_rx versions of
    RXAFS_GetCapabilities, RXAFS_GetTime and VL_ProbeServer to permit
    simultaneous probing of servers in constant time regardless of the
    number of servers.

commit 5c7dfcad135a1c34942d264be2b72196e3b96003
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 17:24:15 2008 +0000

    multi-rx-calls-20080205
    
    LICENSE MIT
    
    Add multi versions of RXAFS_GetCapabilities, RXAFS_GiveUpAllCallBacks,
    and VL_ProbeServer.

commit 0088e5cb20c90a899aacb62cd13b57a7bbe13432
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 17:17:44 2008 +0000

    rxgen-multi-prototypes-20080205
    
    LICENSE MIT
    
    When 'multi' is applied to an RPC definition, rxgen produced split prototypes,
    Start and End, but failed to produce the prototype for the normal RPC call.

commit ac614c7609f61394da1ea425940a09bf98fbc0ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 17:10:34 2008 +0000

    windows-down-time-20080205
    
    LICENSE MIT
    
    use clock time instead of osi_Time() for server down time tracking
    for proper comparison with expiration times.

commit db20cd6b718096530e8b2a5f7df7818c4a07783b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 17:07:13 2008 +0000

    windows-check-offline-volumes-20080205
    
    LICENSE MIT
    
    Do not hold the cm_volume_t mutex across the RPC

commit 48fe8ad6ab68620dbfc26ad44f078c01ba5174c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 5 16:56:49 2008 +0000

    windows-wix-translate_et-20080205
    
    LICENSE MIT
    
    Install the dll dependencies for translate_et as part of the client
    component.

commit 08ca5fc1e1c883a5fc6b55cb076540845585243f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 4 22:41:28 2008 +0000

    dafs-windows-vnode-locking-20080204
    
    LICENSE MIT
    
    allow Windows to build with dafs-vnode-locking-20080204

commit 496b5e4c978dec000c5f1e318968d74f8818d60b
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Feb 4 19:41:49 2008 +0000

    pts-localauth-20080204
    
    LICENSE IPL10
    
    distilled from changes by mdw@umich.edu

commit ed25934c1fe96b143715025b49104e75dce9a361
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Feb 4 18:50:54 2008 +0000

    dafs-vnode-locking-20080204
    
    LICENSE IPL10
    FIXES 84778
    
    * Vnode package concurrency model was overhauled. Unlike the old model,
    where concurrency was controlled via reader/writer locks, the new model
    uses a per-vnode finite state automata.
    * add several new volume states to deal with volume vnode list operations
    * a new FSSYNC command code was added to allow volume utilities to close
    out a volume operation without causing the fileserver to mount the volume
    * a new FSSYNC command code was added to allow volume utilities to
    transition a volume into a hard error state
    * the salvageserver has been modified to keep volume group partition
    path data coherent with the fileserver (like many other parts of the
    volume package, this code assumes all members of the group are stored on
    the same vice partition)
    * make salvageserver correctly handle volume state when a child worker
    process terminates abnormally
    * update volume pre-attachment code to deal with move volumes across
    partitions on the same server
    * add volume state sanity checks to more volume package interfaces
    * original vos online patch introduced a race condition; rearchitect vos
    online/offline to eliminate race condition, and reduce i/o load caused
    by operation
    * unify duplicate code in volserver related to servicing vos examine and
    vos listvol requests
    * add doxygen formatted comment blocks to numerous volume package elements
    * various updates to fssync-debug to allow dumping vnode state, and
    updates to deal with added volume and vnode states
    * several 1.5-specific fixes related to fssync and salvsync

commit 647bbb509ddf59b80ce9965e89ac13ea26952e0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 4 04:05:00 2008 +0000

    rx-xdr_rec-type-error-20080203
    
    LICENSE MIT
    
    x_inline second parameter is unsigned

commit f68eb88ac0af27371232903de837de57f0790056
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 4 03:56:13 2008 +0000

    kauth-windows-handle-leak-20080203
    
    LICENSE MIT
    
    close() does not close sockets on Windows

commit 80fc057c4dc0b3373723a19eeb6a9fa12a71f301
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 4 03:50:05 2008 +0000

    rxmaxmtu-printf-format-error-20080203
    
    LICENSE MIT
    
    correct improper format string

commit 270cb6a9c9903d92b9b6276a542968667056066a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 22:25:40 2008 +0000

    windows-vista-resume-smb-binding-20080202
    
    LICENSE MIT
    
    another plane trip, more tweaks to the logic for handling re-binding
    of the netbios name after a power management resume event.

commit d52f19ca0aacdbfdf64bdeaae4153c1f2ec7f385
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 22:22:20 2008 +0000

    windows-dfs-referrals-symlinks-20082002
    
    LICENSE MIT
    
    another small tweak to ensure that we don't create a symlink for "fo" when
    a mountpoint or symlink for "foo" exists

commit d094c65f14e674dfc334b9c6b3f5ac871e3dd1e6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 13:38:50 2008 +0000

    windows-cellservdb-location-20080202
    
    LICENSE MIT
    
    Modify the search order for determining the location of CellServDB
    and other client configuration files.
    
    1. AFSCONF environment variable
    2. registry setting
    3. NEW - use All Users\AppData\OpenAFS\Client only if CellServDB exists
    4. use Program Files\OpenAFS\Client

commit 753ba70cf257aded0fae158c556a25ca72243214
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 02:46:16 2008 +0000

    windows-more-cellservdb-consolidation-20080201
    
    LICENSE MIT
    
    Merge cellconfig.c and the afsreg library.
    Redefine the location of the client cellservdb directory in dirpath
    in terms of the cellservdb direction and not the install directory.
    (although they point at the same thing now by default.)
    
    Future changes to the location of the cellservdb directory should
    be made in afsreg.

commit c9339265f7036dd465a4bbf8e762fc246f45d6a4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 00:23:44 2008 +0000

    windows-client-config-cellservdb-20080201
    
    LICENSE MIT
    
    modify cellservdb.c to use cm_GetCellServDB() from libafsconf.dll.
    This results in both libadmin and the afs client control panel using
    the same CellServDB as the rest of the system.

commit f224734230f6bfd27f1a1dfa159d1f38797c7999
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 2 00:18:27 2008 +0000

    windows-build-system-20080201
    
    LICENSE MIT
    
    re-order the building of directories so that libafsconf.dll is built
    before other directories that might want to use it.

commit 0f41a173925407cc7f6a597477ba25691f73d119
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 1 21:42:17 2008 +0000

    windows-refactor-cm_config-20080201
    
    LICENSE MIT
    
    cm_config.c was a nightmare.  there were several functions that each
    computed the location of the OpenAFS Client configuration directory
    in a slightly different way.  Now there is a single exported function
    that determines the directory, and another that determines the name
    of the CellServDB file.  All of the other functons in cm_config.c and
    throughout the src/WINNT/afsd directory now use those two functions.
    
    The new rule for determining the location of the OpenAFS Client
    configuration directory and hence the CellServDB file location is:
    
    1. check the AFSCONF environment variable
    2. check the HKLM\SOFTWARE\OpenAFS\Client   CellServDBDir registry value
    3. use AFSDIR_CLIENT_ETC_DIRPATH which currently refers to
       \Program Files\OpenAFS\Client

commit 4fe2978f69f6314284d5689ea1d9169360155450
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 1 21:31:32 2008 +0000

    h-enumerate-less-heavyhanded-check-20080201
    
    LICENSE IPL10
    
    if hostCount is too small this is fine or at least not fatal

commit 4ad35bd5aa431332bea866775278a6ae9d65a5e2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 1 21:14:40 2008 +0000

    windows-netidmgr-20080201
    
    LICENSE MIT
    
    afs/stds.h before all others

commit 43aa2bd2ba63e778f78d80b2a6a7d5ff991b0f97
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Feb 1 15:25:52 2008 +0000

    poll-drop-fsync-lock-20080201
    
    LICENSE IPL10
    
    update to drop fsync lock if we're using poll

commit 462f1fb90defcb351657655442024f971705d945
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 31 20:17:45 2008 +0000

    solaris10-cleanup-friendliness-20080130
    
    LICENSE IPL10
    
    based on patch from mib@unimelb.edu.au
    
    clean up taskq after ourselves and don't leave ourself marked system processes

commit 3d17e10e007ea3b4c3bd4a536a7e47c264d4701f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 31 16:09:56 2008 +0000

    windows-noprobe-20080131
    
    LICENSE MIT
    
    do not mark servers down if they are not probed.

commit 03e72233178bf18a8978d62c3bcc4ebb743e6710
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 31 07:26:26 2008 +0000

    windows-edquot-20080131
    
    LICENSE MIT
    
    For Windows, EDQUOT == WSAEDQUOT.   Define it in the right places
    so that in the end STATUS_OUT_OF_QUOTA can be returned to the application.

commit 02a80e05a73d9df50fbd427e30ca862706afcbc1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 31 05:47:34 2008 +0000

    windows-fs-newcell-20080130
    
    LICENSE MIT
    
    prevent the afs client service from crashing when fs newcell is executed

commit 3d0ebe1f7841ac6ca9db593b587a13d85a950ac5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 31 03:01:46 2008 +0000

    windows-nsis-installer-20080130
    
    LICENSE MIT
    
    move afslogon.dll, afscpcc.exe and afs_cpa.cpl to
    \Program Files\OpenAFS\Client\Program in order to get them out
    of the %windir% tree

commit 9ce814aa99b6877843f38c7fdd8fde09cb2a743c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 31 00:25:59 2008 +0000

    rx-edquot-20080130
    
    LICENSE MIT
    
    Conditionalize error translation on the existence of EDQUOT not
    on platform macros

commit 9751c68faaff4ab5e4fae7aaad082073ca4daebf
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 30 17:30:23 2008 +0000

    linux-keytype-exports-20080130
    
    LICENSE IPL10
    
    try to work even if key_type_keyring isn't exported

commit c5afa335a8ffb86cf17c32173eb0e1c26500dd80
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 30 17:25:42 2008 +0000

    linux-rx-kernel-listener-kill-task-directly-20080130
    
    LICENSE IPL10
    
    based on work from shadow@dementia.org
    
    since the tasklist lock and rcu stuff can/will be de-exported, and we don't
    need it anyway...

commit 162cb95707f739170ab4a025a801a430c86ae70a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 30 14:53:44 2008 +0000

    windows-ipaddr-change-server-deadlock-20080130
    
    LICENSE MIT
    
    avoid a deadlock during server probes initiated by the ipaddr change
    daemon thread.
    
    (missed a case in DELTA windows-ipaddr-change-server-deadlock-20080106)

commit 9023049040e5705ac5dc26800022973a1acefff2
Author: Alistair Ferguson <alistair.ferguson@morganstanley.com>
Date:   Tue Jan 29 20:39:31 2008 +0000

    syncvl-fix-bogus-rw-update-20080129
    
    LICENSE IPL10
    
    pass in a ref to entry correctly

commit 2542c5e07f52c89f25f290153f0b4669076ae654
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 29 00:20:33 2008 +0000

    windows-lanahelper-20080128
    
    LICENSE MIT
    
    The algorithms that were used to produce a Netbios name were broken.
    The name that was produced when the hostname was too long was in fact
    longer than the maximum permitted netbios name.
    
    Also, the "NetbiosName" value was not used as a suffix when the loopback
    adapter was not installed.  The hardcoded string "AFS" was used instead.

commit fffcc1dec3d4fc905239b2890cb4f960efdff4ba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 28 19:49:51 2008 +0000

    windows-network-type-allocation-20080128
    
    LICENSE MIT
    
    Microsoft has defined for us:
    
    #define     WNNC_NET_OPENAFS     0x00390000

commit a0fd168db5e24fca5f08ccf67d53f58c6f05fa35
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 28 19:29:49 2008 +0000

    revert-linux-2624-rc5-updates-20080127
    
    LICENSE IPL10
    FIXES 83716
    
    the generic 2.6.24 patch should address all this.

commit 5a93678e3943fa2c71d51f25f84b4efd5f3700e6
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date:   Mon Jan 28 19:13:46 2008 +0000

    sysctl-table-checking-modpost-fun-fun-20080127
    
    LICENSE IPL10
    FIXES 83890
    
    try again to do something sensible so we don't default wrong

commit 36bdf1ccd859fb0039d8ae9abd04f9eea08d704d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 28 07:22:32 2008 +0000

    windows-freelance-improved-dfs-handling-20080127
    
    LICENSE MIT
    
    Cell names are published as share names.  As a result they are searched
    for as part of the Dfs Referral evaluation.  If share "foo" can not be
    reached, the CIFS client will fallback to searching for "fo" as well.
    
    Since the freelance client automatically adds a symlink for prefixes
    of the cell name, this results in both "foo" and "fo" being added to
    the freelance root.afs volume.  This patch prevents that negative side
    effect.

commit 3f3545024100f3efd7bb76925d3cb1b1c15ae3f4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 28 07:12:09 2008 +0000

    windows-afskfw-20080127
    
    LICENSE MIT
    
    when tracking ccache names be sure to include the cache type prefix.

commit 7526681ef5c57a4ffe0c343717c3ed65a9120768
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 28 01:37:38 2008 +0000

    afsdb-fix-20080126
    
    LICENSE IPL10
    
    pull bugfix from 1.4

commit 711dc57c7fa053efa58c02df8788da1a2c7889bf
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Jan 27 18:44:28 2008 +0000

    macos-panic-decoder-20080127
    
    LICENSE BSD
    
    panic log decoder from Jason. Still needs some work for Leopard but we should
    be able to make a go of this

commit 7dc71d1154294cdc5f5aba4c3e58a00972318960
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 24 23:55:02 2008 +0000

    redhat-support-dkms-20080124
    
    LICENSE IPL10
    
    attempt to provide dkms support.
    this does work on my fc8 test host. it may not work in all cases.

commit 80f7294490e1d1423a5f7482ed924dda8bab1ba8
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Thu Jan 24 23:44:38 2008 +0000

    tests-update-20080124
    
    LICENSE IPL10
    
    update test scripting

commit 89d93d9ad7862c5de0587a84d99c567bf5a61d14
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 24 16:05:58 2008 +0000

    rxkad-v5-dot-check-20080124
    
    LICENSE MIT
    
    Export rx_SetSecurityConfiguration on Windows

commit d32156e5c1fb36994650754a11379df6ccc94909
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 24 15:29:56 2008 +0000

    windows-get-volume-no-reset-flag-20080124
    
    LICENSE MIT
    
    There are circumstances where a volume object is being accessed and the
    volume is marked indicating that the volume location information is out
    of date but where it is also pointless and perhaps dangerous to block
    waiting for the rpc to complete.  One example is when processing the
    cmdebug requests.  If we know that we are not going to use the volume
    object to contact a server, then we can now set the CM_GETVOL_FLAG_NO_RESET
    flag.

commit 16a90b2f8dfe875991bca0dee516c531fcc3aeee
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 24 15:17:57 2008 +0000

    windows-symlink-dot-dot-20080124
    
    LICENSE MIT
    
    when moving up in the directory tree we search the recorded fid list to
    find a matching fid that we have already crossed.  we must also reset
    the fid count based upon what we discover.

commit ef6fc588bcab9a59e54050899937407be962b074
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 21:37:01 2008 +0000

    redhat-spec-more-arches-20080123
    
    LICENSE IPL10
    
    support sprc, sparc64, ppc, ppc64, s390, s390x. we should be able to cope with
    all these. if not, fix it.

commit 9a45a546747dad7a70b24b76b1a02bf398c22762
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 13:47:23 2008 +0000

    linux-key-type-detection-once-20080123
    
    LICENSE IPL10
    
    doubled configure test from 2 sources.

commit 434c25fee15162dff64f2c18a971023b146d6118
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 23 05:29:03 2008 +0000

    redhat-kmodtool-20080122
    
    LICENSE IPL10
    
    install simon's modified kmodtool

commit 98a68f9b021a06d056fb3b97681b9cfc04873d55
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 23 04:13:55 2008 +0000

    rxkad-v5-dot-check-20080122
    
    LICENSE IPL10
    FIXES 75101
    
    give an option to not enforce the dotted principal check. document it.

commit 0e8adf69538638b8caa56d9b1fa72beba74734bd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 03:20:13 2008 +0000

    viced-fsync-glock-creation-20080122
    
    LICENSE IPL10
    
    create fsync glock and cond before we initialize volume package. oops?

commit 0fab6d9600769dd219fd6e968c4a6bae9ed5d497
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 22 21:03:51 2008 +0000

    redhat-packaging-keep-up-with-the-joneses-20080122
    
    LICENSE IPL10
    
    track new manpages

commit e1c4e77d13122c2bb66d532ffd9dfc2e75318c04
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 22 05:15:15 2008 +0000

    vos-volser-enhancements-20080121
    
    LICENSE IPL10
    
    add option to addsite to allow adding a site where there is already a release-
    equivalent volume resident, where thus we don't want to mark unreleased
    
    (possible by dumping an existing RO and restoring with -readonly at the
     new site)
    
    add ability to vos clone to a readonly or backup with the correct ID and name
    
    add ability when restoring a RW to a new site to leave the volume at the old
    site intact
    
    all changes are internal to vos and can be used with any OpenAFS from 2006
    or later (supporting changes in namei to not create volumes with bad parent
    id went in in December 2005)

commit 1181ea034623541765fbc5c23df55ebaf577c083
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Mon Jan 21 21:04:35 2008 +0000

    tests-update-20080121
    
    LICENSE IPL10
    
    update test scripting

commit 82e389f56fe86f8db25c1ceb1f15df4070451538
Author: Evan Broder <broder@mit.edu>
Date:   Mon Jan 21 21:03:48 2008 +0000

    macos-packaging-using-afs-conf-when-possible-20080121
    
    LICENSE IPL10
    FIXES 81825
    
    switch to afs.conf as other ports use instead of afsd.options,
    when possible

commit 6a7461e6f8dad79894c6d2ad11edfdba689c4c77
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 21 18:36:02 2008 +0000

    make-avoid-double-slash-20080121
    
    LICENSE IPL10
    
    avoid having double / in make commands

commit fc91cf4314eb768a2f83f198645e553b5fa778de
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jan 21 17:34:00 2008 +0000

    solaris-vfsroot-refcount-issue-20080121
    
    LICENSE IPL10
    
    fix issue with afs root vnode refcount dropping to 0

commit 75c10322ff3a3ef5e735d8821051678526e42275
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Jan 21 17:08:22 2008 +0000

    redhat-spec-update-20080121
    
    LICENSE IPL10
    
    update specfile to default to fedorakmod

commit 9d22f7702e22d028e8c503cd96d26850ff617ba9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 21 14:18:11 2008 +0000

    libafs-linux-dest-right-things-20080121
    
    LICENSE IPL10
    
    "duh"
    
    make it like the install rules

commit 22c059a9138be33eeeed910badcac3ebfeea24b5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 21 14:04:34 2008 +0000

    vos-restore-incrementals-no-orphans-really-20080121
    
    LICENSE IPL10
    FIXES 46937
    
    based on comments from jhutz@cmu.edu; runnign thread in the ticket

commit efba39ead059458d222f923db83c660f23c20b80
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Jan 20 00:06:49 2008 +0000

    man-page-fileserver-limits-20080119
    
    LICENSE BSD
    
    Document the 2TB volume and partition limits and the -abortthreshold flag
    to the AFS fileserver.

commit 88e915d8f976898e75a6afe8bc7b6d7c33b8a121
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 16 03:16:19 2008 +0000

    windows-cm_ioctl_query_opts-20080115
    
    LICENSE MIT
    
    The path ioctl operations have several issues:
    
    (1) the specified path for "fs examine, whereis, whichcell, flush" and so
        always has the follow symlinks and mount points semantics.  This makes
        it impossible to determine what the FID of a symlink or mount point is.
    
    (2) "fs examine" out is not the result of a single pioctl operation but is
        actually the combined output of half a dozen operations.  Path evaluation
        is an expensive operation.  It would be faster if the caller could
        evaluate the FID first and then perform all of the rest of the operations
        by specifying the FID instead of the path.
    
    (3) fs output reports all objects as files.  By adding a GetFileType
        pioctl more informative output can be provided that indicates what
        type of object the path evaluates to.
    
    (4) the Windows fs command includes a number of commands that do nothing
        but exist only because the Unix cache manager supports them.
    
    This delta adds a new extendible data structure cm_ioctl_query_opts_t which
    can be optionally specified with pioctls that do not already require
    input data.  The first two fields of this structure are 'literal' and
    'fid'.  The literal field is used to indicate whether the last component
    of the path should be evaluated following symlinks and mount points.
    The fid field permits a fid to be specified.
    
    A new GetFileType pioctl has been added. The type of objects are now
    output.
    
    A new "-literal" option is available for "fs examine, flush, whereis, and
    whichcell.
    
    Unimplemented fs commands have been removed.

commit 64ef3f518eee22b167ff5043b01dc1f3251f10bd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 23:42:08 2008 +0000

    redhat-makesrpm-deal-with-cellservdb-20080115
    
    LICENSE IPL10
    
    autofetch the CellServDB based on the spec or let one be provided

commit c386499fbeab36f5292e196563a4887fa06068ac
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Jan 15 06:04:49 2008 +0000

    fbsd-70-updates-20080115
    
    LICENSE IPL10
    FIXES 82847
    
    updates to make us build on freebsd 7.0

commit 08d71812fed3cc9f37d516d8f5d5b4ba9ccfb032
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 05:20:49 2008 +0000

    arm-linux-20080115
    
    LICENSE IPL10
    
    make an arm linux port.

commit 110d5702ea51ce43fca6a5962d9ef8a0ec56d6eb
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Mon Jan 14 04:55:21 2008 +0000

    man-page-cmdebug-updates-20080113
    
    LICENSE BSD
    
    Add -ctime and -cellservdb options to the cmdebug man page and improve
    example host names and SEE ALSO references.

commit d5811091995b78d65e891b134aa0ad6955bbc30c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 13 15:32:24 2008 +0000

    cmd-nname-20080113
    
    LICENSE MIT
    
    Nname() is used to concatenate two strings and is frequently used with
    the first string being the name of the executable perhaps with a full
    path.  The static buffer specified is too small for a full path and
    there was no protection against writing beyond the end of it.

commit 84989e6584e3808ae3f1959330b267feff2661f6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 13 14:37:04 2008 +0000

    windows-pioctl-parse-path-20080113
    
    LICENSE MIT
    
    Apply the desired "follow symlinks/mountpoints" semantics to the single
    component non-UNC case.

commit 7a40c73476e270aac9d76663ff71e956bb630328
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 12 23:29:59 2008 +0000

    windows-explorer-shell-symlinks-show-20080112
    
    LICENSE MIT
    
    Add AFS->Symlnks->Show dialog to the explorer shell menu

commit b3fe9727b3e775348561bcbe0cf0c14cff82e597
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 12 15:43:37 2008 +0000

    cmdebug-cellservdb-20080112
    
    LICENSE MIT
    
    Add -cellservdb option to the cmdebug command.
    
    This option will retrieve the volume location database information
    for all cells known to the cache manager and output the data in the
    format required by the CellServDB file.
    
    This functionality is supported by the UNIX cache managers and
    Windows cache managers 1.5.31 and later.

commit bda66877dd88bcc78eba646b4f6a1131266e33d4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 11 22:38:48 2008 +0000

    config-cvsignore-update-20080111
    
    LICENSE IPL10
    
    ignore generated Makefile.SYSNAME.in

commit ae9dc9ad4ddd8313d24e457faf48bc15ccd2c86c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 11 19:09:20 2008 +0000

    windows-callback-getcellservdb-20080111
    
    LICENSE MIT
    
    Add support for RXAFS_GetCellServDB.  Implemented by generalizing
    RXAFS_GetCellByNum and special casing the index values to do the
    right thing.
    
    Conditionalize grabbing the callp->lock in the callback functions.
    The race conditions in rx have long since been fixed and the potential
    for deadlocks are too great.
    
    Add a new flag CM_FLAG_NOPROBE for use in calls to cm_GetCell.  When
    set the newly discovered servers will not be immediately probed.  Useful
    when setting tokens, setting server preferences, or responding to cmdebug
    callbacks.

commit 8b82cbeef760992c6e3d27f9f6ea1f4e0bb559ab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 10 23:48:02 2008 +0000

    windows-smb-synchronization-20080110
    
    LICENSE MIT
    
    1. prevent stopping the smb_Listeners due to an ip addr change when the
    LANA is determined either by registry assignment or loopback detection
    
    2. add synchronization logic to prevent smb_Listener restarts prior to
       smb_Listener thread stoppage
    
    3. no longer permit panics from smb_Listener threads
    
    4. move the probe logic from cm_IPAddrDaemon thread to the cm_Daemon
       thread in order to avoid the loss of ip addr change events.  If an
       adapter stops and restarts fast enough there might not be anything
       for us to do.

commit 8569f67aee8ee0de26259397818ab3af69f18007
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Jan 10 16:58:30 2008 +0000

    linux-2624-rc5-updates-20080110
    
    LICENSE IPL10
    FIXES 80463
    
    
    Include linux/key-type.h in osi_groups.c, if it exists. Fix
    do_sync_read test for recent kbuild (maybe break it for [some older 2.6]).

commit 5011ea88badac8d393c4566a69e30f74c85e13ab
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Jan 9 19:36:59 2008 +0000

    redhat-make-srpm-script-20080109
    
    LICENSE IPL10
    
    srpm builder script

commit a1b7be4ac3f073a2d64f46649e54a1ff99d2567b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 9 15:25:07 2008 +0000

    windows-smb-name-deleted-20080109
    
    LICENSE MIT
    
    if the smb_Listener receives NRC_NAMERR (name deleted) it must be because
    an smb shutdown has occurred.  do not panic.

commit 845fb28de656d9886dd44cbf335833985ffc7d3b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 9 06:03:10 2008 +0000

    windows-pioctl-follow-mountpoints-registry-20080108
    
    LICENSE MIT
    
    Add a registry value "PioctlFollowMountPoint" to permit the use of the
    old pioctl path evaluation behavior that always followed mountpoints
    and symlinks.

commit f2fd97bfb02d1d2ed46304b5864d71a8759892a4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 22:28:39 2008 +0000

    smb-even-less-chatty-20080108
    
    LICENSE MIT
    
    remove the smb_RestartListeners message entirely

commit 110f74bcb85928d274ad2608662434304ff4ffae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 22:03:12 2008 +0000

    windows-daemon-20080108
    
    LICENSE MIT
    
    sleep 10 seconds between cycles.  should make this configurable.

commit 05e5b9129f18fa717132dc1b0932acc1ed3f72c9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 21:59:28 2008 +0000

    windows-smb-logging-20080108
    
    LICENSE MIT
    
    Be less chatty

commit 69c9ab66a41236e987b44af9a3cb141adb1c2817
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 21:26:46 2008 +0000

    windows-callback-missing-bang-20080108
    
    LICENSE MIT
    
    Insert a missing bang that results in a null pointer dereference
    when processing a callback from an unrecognized server.

commit a731801899b5f81314e4f4bf49aa55703d7a4ef4
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 8 17:18:57 2008 +0000

    obsd-more-stack-20080108
    
    
    make stack bigger in volserver and fileserver
    eliminates overflow in k5 library

commit 2927287f13f99c8453f64839d20877769d768264
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 8 17:04:30 2008 +0000

    obsd-lock-no-interlock-20080108
    
    
    restore lock vnode op, but without vnode interlock for obsd 4.2

commit 521f139a89c2f078888b8bad37a495d23723a789
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Jan 8 17:04:19 2008 +0000

    windows-nim-afscred-identity-initialization-20080108
    
    LICENSE MIT
    
    One of the challenges to deploying NIM has been the configuration of
    AFS token acquisition.  This patch adds a new registry key hierarchy
    
      HKLM\SOFTWARE\OpenAFS\Client\Realms
    
    which is used to configure the AFS Provider for a new identity based
    upon the realm of the identity.  The Realms key contains subkeys for
    each realm for which configuration data is being provided
    
      HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName"
    
    "RealmName" contains one optional value, "AFSEnabled", and subkeys for
    each Cell that is to be added to the configuration.  "AFSEnabled" defaults
    to 0x01.
    
       HKLM\SOFTWARE\OpenAFS\Client\Realms\"RealmName"\"CellName"
    
    In "CellName", there are two optional values, "Realm" and "MethodName".
    If the values are not specified, the automatic realm and method determination
    algorithms are used.
    
    These values can be added to an MSI transform or deployed via Group Policy.

commit 5979a37e4e361bd9d2c52b6f6ef4bcce20a3124c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 07:04:51 2008 +0000

    windows-smb-started-synchronization-20080108
    
    LICENSE MIT
    
    Add a new mutex "smb_StartedMutex" which is used to protect the
    transitions between the various smb_ListenerState values.

commit a05df915505ab3e77e46e39a5b232086c43fc8bf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 8 06:27:36 2008 +0000

    windows-printf-format-string-protection-20080108
    
    LICENSE MIT
    
    Do not pass strings generated from incoming network data to ??printf
    as the format string.  Instead use a format string of "%s".  This protects
    against %? expansions being inserted in the string.

commit be4da54fa06c0a6f43c0be09e1339d29cc4b5e5a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 7 20:22:10 2008 +0000

    viced-hpr-error-handling-20080107
    
    LICENSE IPL10
    
    fix ubik reinit issue reported by jhutz@cs

commit 777a2840878af313e062c4885ae7002bad62bdf4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 7 20:10:27 2008 +0000

    sys-syscall-object-dependency-20080107
    
    LICENSE IPL10
    
    make syscall.o always be created, some makes don't deal with the implicit requirement

commit 58efc5029c832e6b1456c36b599e7e33d62cd9c6
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jan 7 18:14:54 2008 +0000

    linux-probe-warning-case-20080107
    
    LICENSE MIT
    
    Some older Linux kernels prefix warnings with "Warning:" rather than
    "WARNING:", so do the grep case-insensitively when finding missing symbols.

commit b19c56edfa5f0e3ff95f32b006b9403f53dd406f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 7 17:54:06 2008 +0000

    windows-bkg-prefetch-buf-refcount-leak-20080107
    
    LICENSE MIT
    
    Close a refcount leak in bkg prefetch.
    
    Do not stop prefetching simply because a buffer we want is already being
    fetched.  Instead skip the buffer and try to fetch the next one we require.

commit 049bc4a637334c6e94661a60067ff6a27e5ad481
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 6 23:11:01 2008 +0000

    windows-ipaddr-change-server-deadlock-20080106
    
    LICENSE MIT
    
    avoid a deadlock during server probes initiated by the ipaddr change
    daemon thread.

commit 342595b2aa712ca7c0f2c160f9cba304dd27d574
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 6 15:57:05 2008 +0000

    viced-threadquota-release-holds-20080106
    
    LICENSE IPL10
    
    release a hold when we decline to service a host

commit 6887c0e5b2b766b06c7e76a5ce28b84ed52df1d5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 6 06:25:08 2008 +0000

    windows-power-mgmt-20080105
    
    LICENSE MIT
    
    Log more power mgmt events.
    
    Do not permit a smb reinitialization when in a suspended state
    
    Periodically check to see if the LAN adapter is -1.  If so, try to
    reinitialize the smb stack.

commit d27e82c8e2dcdf81ce8e8e6e849828881256f5fc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 5 22:19:12 2008 +0000

    windows-follow-backup-path-20080105
    
    LICENSE MIT
    
    parens are required in order to get the desired behavior

commit f789f943f6967094f921b1b1b232be22925e3849
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 5 18:55:55 2008 +0000

    windows-nim-afscred-referrals-two-20080105
    
    LICENSE MIT
    
    compatibility with Visual Studio 2005/2008

commit f970985bc35ade50371a9299ad580d96ad04e979
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 5 17:55:20 2008 +0000

    windows-vista-network-change-20080105
    
    LICENSE MIT
    
    After a network change, test to see if the desired LAN adapter to bind
    the Netbios Name to has changed.  If so, stop the Netbios Network and
    restart with the new LAN adapter.
    
    This can happen on Vista after a suspend if the service wakes up before
    the Loopback adapter re-initializes.

commit 53acd2042d53d947b213ba4ee58378c89555a868
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 5 17:28:59 2008 +0000

    windows-nim-afscred-referrals-20080105
    
    LICENSE MIT
    
    If the requestd realm name is the empty string, copy the realm from the
    resulting ticket for use in pts registration.

commit 8e3940c461f29483dcd71a5ba7cc59db89ea38e1
Author: Daria Phoebe Brashear <shadow@gmail.com>
Date:   Sat Jan 5 16:59:56 2008 +0000

    windows-aklog-referrals-20080105
    
    LICENSE IPL10
    
    If the realm name of the requested ticket is the empty string, decode
    the actual service ticket to determine the actual realm.  Obtaining the
    actual realm prevents unnecessary pts registration failures.

commit 2d15ac79349678e025f407b863f2911cd20e6f4e
Author: Marc Horowitz <marc@mit.edu>
Date:   Sat Jan 5 04:43:09 2008 +0000

    aklog-referral-support-20080104
    
    LICENSE IPL10
    
    with updates and configure support from Simon Wilkinson.
    
    make aklog able to cope with referrals.

commit 02dc91892c41163f24c818615d13271b074df3ca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 4 18:37:28 2008 +0000

    pag-allocation-dont-throttle-when-time-reverses-20080104
    
    LICENSE IPL10
    avoid pag allocation throttling when time is set back by e.g. ntpd to avoid starving everyone.

commit 5d453a987581158e9398061703d5a4b4b81e1dd3
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 4 18:07:35 2008 +0000

    xbsd-include-systmh-20080104
    
    
    include systm.h for xbsd

commit 034f698ebf21854c8dfb46567fc4ec2ac21457f0
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 4 17:56:11 2008 +0000

    obsd-resid-type-20080104
    
    
    use correct type for resid when calling vn_rdwr()

commit e192814db3a754aa5fe24acf10aa24030c57fa55
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 4 17:39:05 2008 +0000

    setuuid-return-20080104
    
    
    return success (0) from setuuid()

commit d2c62877ebd9b8481d7822fcd64f0803eaef9e9f
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 4 17:27:23 2008 +0000

    obsd-time-20080104
    
    
    update kernel time functions for OpenBSD 4.2

commit 068233cf4ab90a173e04de94605490e651d2f686
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 4 07:56:45 2008 +0000

    windows-fs-test_volstat-20080103
    
    LICENSE MIT
    
    Add a hidden command that can be used to test volume status handlers.
    fs test_volstat.

commit 23318f425ca8ccdc9b67bfc1be0a28c0f724f52a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 4 07:51:31 2008 +0000

    windows-fs-path-avail-20080103
    
    LICENSE MIT
    
    fix the reporting of volume status as a result of the VIOC_PATH_AVAIL
    pioctl call. Switch on errno instead of the pioctl return value.

commit d851dda5b7a84fa1acf5ccc93313df90922ce6b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 4 07:48:37 2008 +0000

    windows-fs-prototype-20080103
    
    LICENSE
    
    Fix types in prototypes to be consistent with function definitions

commit 6034868e79f85e0143caa40669244cb8e442587b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 4 07:46:29 2008 +0000

    windows-smb-20080103
    
    LICENSE MIT
    
    ensure type consistency between 32-bit and 64-bit processes by replacing
    'long' with 'afs_uint32'

commit ae8e701952ae029672f2d7acfaf94cd44c1e4df4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 4 07:44:10 2008 +0000

    windows-volume-status-20080103
    
    LICENSE MIT
    
    when performing offline volume status checks handle CM_ERROR_NOACCESS
    conditions by restoring the volume status to vl_unknown.

commit 3a541eb11d1bc7bd05b85635315214218d3b5d6f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 3 18:02:30 2008 +0000

    aix-lam-aklog-update-20080103
    
    LICENSE IPL10
    
    make the aklog lam plugin work correctly in e.g. the CDE screenlocker, which is
    part of the long-running and not-run-by-user dtsession; this means we do wackiness to
    1) not pag ourselves in that case
    2) setuid to the user to set uid tokens if we got a username and are root
    3) do not use pr_mumble get the the AFS ID to put in the tokens, as multiple
       initializations of Rx in the process space of dtsession crashes it

commit dbb3f1d0b6e2e1e42b1f0ef4c29c21d8090e605a
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 3 17:46:08 2008 +0000

    obsd-buf-fixes-20080103
    
    
    use new b_data field in struct buf

commit 7793d4e5183993f8c5fa01cf5c099405757fa183
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 3 17:12:21 2008 +0000

    obsd-lock-vnops-20080103
    
    
    use generic vnops for lock/unlock (for obsd 4.2)

commit b2a34dd35fc1e49918342e500a5bf8b74510e999
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 3 17:11:22 2008 +0000

    obsd-uvm-1-20080103
    
    
    long overdue fixes for uvm on openbsd

commit ff21ae91b248873ff1ac5347f84c180d0817a0b4
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 3 02:28:29 2008 +0000

    use-k5-klog-20080102
    
    
    use k5 klog for OpenBSD

commit 5baef6f6fe55ca81a28bc22023b06ee6c50d453d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 2 15:53:46 2008 +0000

    windows-64bit-20080102
    
    LICENSE MIT
    
    do not disable the signature verification of binaries when using
    large cache sizes on 64-bit systems
    
    cm_config_data values are unsigned and some are 64-bit.  when logging
    them use the correct data format types.

commit 558acfe359188e21f4956dcccdd7f7a4adbca3f1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 2 15:10:08 2008 +0000

    redhat-spec-cvsignore-20080101
    
    LICENSE IPL10
    
    as reported by mdw@umich.edu

commit d59d1db605280bfa9b2234f5272d61152ca7d7de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 2 14:58:35 2008 +0000

    windows-nim-afscred-supports-krb4-20080102
    
    LICENSE MIT
    
    Do not trust the registry to determine whether or not krb4 support
    is available.  In a roaming profile the user data can say 'yes' even
    if the plug-in or the kerberos library does not exist.

commit cfcaa0be3cc22fce97737ae4f6387a8200de770d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 2 07:06:58 2008 +0000

    windows-nim-afs-krb524-20080102
    
    LICENSE MIT
    
    Don't call krb524_convert_creds_kdc if it doesn't exist.
    64-bit KFW doesn't support krb4 and the function isn't present.

commit 2e135307b52b04003a22aa9985807a70b407accc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 28 22:13:42 2007 +0000

    vgetvnode-debuglog-vio-20071228
    
    LICENSE IPL10
    
    provide a way to log otherwise unlogged VIO error cause

commit 4d2c1d532bb44320afcf4debfee9ded403647e1e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 28 15:46:05 2007 +0000

    windows-syncop-20071228
    
    LICENSE MIT
    
    avoid a race condition between cm_SyncOpCheckContinue and cm_SyncOpDone
    that can leave a request on an scp stuck in the waiting state even though
    there are no other requests to wake it up.

commit 33aeecd83f8ce670269868145648ae6e277cf3cb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 28 07:24:48 2007 +0000

    windows-get-buffer-20071228
    
    LICENSE MIT
    
    cm_BkgPrefetch() contained two errors.  First, the loop at the top of the
    function that ensures that a cm_buf_t is allocated for each of the offset
    positions failed to actually obtain the buffer for the specified offset.
    Instead, it repeatedly obtained the buffer for the starting base address.
    
    Second, cm_GetBuffer() would reserve all of the buffers associated with
    the cm_scache_t even in the case where we already have a callback and the
    existing buffer has the proper data version number.  In that situation
    reserving the buffers simply wastes valuable time.

commit d942d97ed82b9f4b86fdea8443912ec64b28dd96
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 28 07:11:59 2007 +0000

    windows-cell-aliases-20071228
    
    LICENSE MIT
    
    Fix the lookup of cell aliases to:
    
    1. avoid re-reading CellServDB each time a cell alias is specified
    2. avoid reconstructing the vlserver list for the cell each time an
       alias is specified
    3. permit aliases to be used when AFSDB records were used previously
       with the full cell name

commit 7a1253d1d180716f2aace6e8c115f845fbfe003d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 28 07:07:53 2007 +0000

    windows-bkg-daemon-threads-20071228
    
    LICENSE MIT
    
    Reduce the default number of background daemon threads used for prefetch and
    store operations to one.  Given the current implementation when more than
    one thread is allocated they step on each other's toe while fighting over
    locks.
    
    A better model might be to divide up threads based upon cells or volumes
    as a means of preventing contention.

commit 1e262e133d2fa0464d6419b1acc6fd2c075f9dbd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Dec 27 20:58:49 2007 +0000

    windows-default-chunksize-20071227
    
    LICENSE MIT
    
    Drop the default chunksize to 18 (256KB) from 20 (1MB) due to the increased
    propensity to timeout reads on slow network connections.

commit 56a82598b19e4232b0095c2b5778d4571c8aa9b2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 26 16:18:37 2007 +0000

    windows-callback-restore-multi-cell-servers-20071226
    
    LICENSE MIT
    
    The case of openafs.org and grand.central.org is a hideous abuse of
    the AFS cell name space.  There are many negatives associated with
    trying to support two different cell names pointing at overlapping
    vlserver lists:
    
    (1) The CM can store duplicate entries for all of the data simply because
        the cell name that was used is different
    
    (2) If the CM attempts to optimize the data storage by aliasing or otherwise
        combining the cell names as part of one cm_cell_t object, then future
        attempts to separate the two cell names will require the destruction
        of the cache.
    
    (3) If the CM does not associate a callback revoke with a particular cell,
        then the status data associated with any entry that matches the revoked
        AFSFid will be discarded.  For volume callbacks this can have a serious
        impact because volume IDs are not unique across cells and discarding
        status data for readonly volumes that are in use can result in a
        significant number of FetchStatus requests being sent to the associated
        file server.
    
    There are other issues as well involving authentication.
    
    The case of openafs.org advertising the vlserver addresses of
    grand.central.org should be considered a hack; a hack that the Windows
    client will no longer ensure will work.
    
    Additional debugging messages have been added to assist individuals attempting
    to debug why callback revokes do not appear to take affect when two cell
    names share the same vlserver data.

commit b41b3bb52eaba52bba8fda0c49083322d6959238
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 25 23:05:17 2007 +0000

    windows-pthread-20071225
    
    LICENSE MIT
    
    The pthread_cond_timedwait/wait implementations were broken.  Not only
    did they return the wrong error values but more importantly, they did not
    always return with the mutex locked.

commit 6b1537b246732e4f7f67661d8230d051db8f3f8d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 25 22:59:06 2007 +0000

    rx-event-handler-20071225
    
    LICENSE MIT
    
    Update event_handler() for Windows.  The return code of
    pthread_cond_timedwait() is not limited to 0 and -1 because 'errno'
    cannot be set.  Instead of setting 'errno' the error code is returned
    directly by the function as the return code.
    
    This patch is only for debugging purposes to track the number of
    success, timeout, and other errors experienced by the routine.

commit 7dc4925cd35036e7f7b448d15a291791cd025e86
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Dec 25 22:22:22 2007 +0000

    man-page-license-change-20071225
    
    LICENSE BSD
    
    Update man pages submitted by Jason Edgecombe to the BSD license.

commit 84ef02b0f392c761211adc7d5876217ad835c6c0
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Dec 25 22:15:07 2007 +0000

    man-page-misc-updates-20071225
    
    LICENSE BSD
    
    Add some additional cross-references, add some missing man pages, fix a
    few references to the OpenAFS manuals, document the -live flag to vos
    move, and add an example for rxdebug.

commit 9f97c5cf74358116a109a4982588d61164456714
Author: Andrew Deason <adeason2@uiuc.edu>
Date:   Tue Dec 25 22:02:19 2007 +0000

    man-page-fileserver-debug-20071225
    
    LICENSE BSD
    
    The file server debug flag is -d, not -debug.

commit 69d62d59689c7cd9758177f1f23d3b60df3a8a40
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 25 21:58:51 2007 +0000

    windows-callback-revoke-multi-cell-servers-20071225
    
    LICENSE MIT
    
    Remove the callback revoke optimization that prevents a (vol,vn,uniq)
    tupple from invalidating entries from multiple cells.  We cannot reliably
    determine the cell from the server because the server might be identified
    as belonging to more than one cell.  For example, openafs.org and
    grand.central.org.

commit b0bae13aec9acb944d5d6a64c11df857ffc40eb3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 24 05:29:15 2007 +0000

    windows-hold-server-mutex-for-vol-list-20071223
    
    LICENSE MIT
    
    When walking or modifying the cm_server_vols_t associated with a given
    cm_server_t the mutex must be held.  Otherwise, races can occur.

commit 8a923a199d91aae6d1fc9bb6a2f1856fe5dbcb07
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 24 05:23:28 2007 +0000

    windows-daemon-threads-shutdown-sync-20071223
    
    LICENSE MIT
    
    Windows Error Reporting received crashes caused by a failure to synchronize
    the shutdown of the AFS client service with the background daemon threads.
    The daemon threads (cm_Daemon, cm_BkgDaemon+, cm_IPAddrDaemon) could be
    accessing data structures as they were being freed or unmapped.
    
    Add synchronization mechanisms to signal the termination of the threads
    with the shutdown of the service.

commit 815cd6f19ec37330e7829506c1208c9426b3a41f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 24 05:17:50 2007 +0000

    windows-update-volume-status-20071223
    
    LICENSE MIT
    
    Refactor cm_UpdateVolumeStatus.  Revise behavior to treat volid 0 as
    update the volume status for all volumes in the volume group.

commit 1b90fc5329dc7dd2055ab9150e3709b2b2cfac06
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 24 05:14:11 2007 +0000

    windows-server-lock-error-20071224
    
    LICENSE MIT
    
    The cm_serverLock must be write locked to modify the refCount

commit 150919d690eca9ee00d3ce549554a058662c360c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 23 04:51:59 2007 +0000

    windows-volstat-and-vista-dfs-support-20071222
    
    LICENSE MIT
    
    This patch completes the implementation of smb_ReceiveTran2GetDFSReferral()
    which is called by Vista even if we do not advertise the support of DFS
    referrals.  It also adds DFS link mapping notifications to the volstat
    interface which can be used by volstat plug-ins to redirect requests to
    the dfs target path.
    
    Other miscellaneous items:
    
    (1) return EAS_NOT_SUPPORTED instead of EA length 0 and silently accepting
        but not storing EA data
    
    (2) Call cm_VolStatus_Service_Started() before smb initialization instead
        of afterwards
    
    (3) During directory enumeration and link assembly push the UNC path into
        the lower levels by storing references to the tidPath and the relative
        paths within the cm_req_t object.
    
    (4) During directory enumeration make absolutely sure that we do not
        reference an unallocated cm_dirEntry_t object
    
    (5) publish a prototype for cm_FollowMountPoint()
    
    (6) return ERROR_RETRY instead of BAD_NETWORK_PATH if the server returns
        VBUSY
    
    (7) return PATH_NOT_COVERED instead of BADSHARENAME for DfsLinks when
        a volstat plugin is in use

commit bb77b085ff420d8b13c1a71b3144b6b31258ad3d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 23 04:15:33 2007 +0000

    windows-freelance-scache-20071222
    
    LICENSE MIT
    
    (1) remove a race condition caused by holding and releasing the
        cm_Freelance_Lock while using a pointer into a private freelance
        data structure
    
    (2) do not reference a localMountPoint object that is not allocated
    
    (3) properly assign the DFSLINK file type
    
    (4) update the buffer data versions when we update the contents of
        the stat cache object and its buffers to match the registry
        contents

commit 111fb3a0a9525bb9d618dfa23cd1df3eb8eb61c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 23 03:43:49 2007 +0000

    windows-pioctl-listlink-20071222
    
    LICENSE MIT
    
    In the error case (1) reference the mountPointString instead of the
    output of cm_AssembleLink() which was not generated and (2) do not
    free memory and objects that were not allocated nor reference counted.

commit 0421cb2afcc19f05e83a2e415c3e93df8516da98
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 23 03:38:45 2007 +0000

    windows-freelance-20071222
    
    LICENSE MIT
    
    remove unused next field in cm_localMountPoint_t

commit 89203eb7065d7bd4e2a40f2afd5fab979ddf1008
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 23 03:25:56 2007 +0000

    windows-fix-cb-expiration-20071222
    
    LICENSE MIT
    
    corrects cb expiration that was broken by the osi_Time() -> time() change
    in delta windows-readonly-volume-callbacks-20071109

commit f54187bfc59797fe955e779d432d155ab3792022
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 19 20:56:23 2007 +0000

    darwin-dont-assert-on-lock-state-in-remove-20071219
    
    LICENSE IPL10
    
    remove panic due to lock being grabbedin another thread can't be accurately
    covered with this test on darwin, as e.g. proc_selfthread() is not in the KPI

commit b072deb257da24746e8c1ec2b01ff3b779e866c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 18 15:16:20 2007 +0000

    fix-verbose-vos-dump-20071217
    
    LICENSE IPL10
    
    fix verbose vos dump to not put garbage in the stream when dumping to stdout

commit 49a968ab68c9f0014d3d5801893c280d00696940
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Dec 17 21:12:45 2007 +0000

    shlibafsrpc-export-more-20071217
    
    LICENSE IPL10
    
    shlibafsauthent uses these, export them

commit c2da8a61dda3063fea2dedfa83a8db3e45c9622e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 17 18:02:58 2007 +0000

    put-relnotes-on-head-20071217
    
    LICENSE IPL10
    
    add 1.4.6 relnotes, put reast on head

commit f72145f79a2f9b04a042de93940456a41cb6e8b0
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Fri Dec 14 21:33:56 2007 +0000

    java-admin-interface-updates-20071214
    
    LICENSE IPL10
    
    pdate java admin interface including support for 1.5

commit 77c86d6fd39cb8e21f2028292e682155dd587803
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 14 13:33:57 2007 +0000

    windows-make-cleanup-20071214
    
    LICENSE MIT
    
    Modify the dependencies for building the cbd and file server resource
    files and delete the resource files as part of 'clean'.

commit 059031b3c6ff61340daad288deb378dc48cbd43a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 14 13:06:48 2007 +0000

    emulate-vsyslog-20071214
    
    LICENSE IPL10
    
    Do not include vsyslog on Windows.
    
    Include syslog.h for the syslog() prototype.

commit bf26bc9486de7831ae298b11e9ca33ac14ed92a7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 13 23:04:54 2007 +0000

    aix-lam-aklog-set-token-name-20071213
    
    LICENSE IPL10
    
    so we set an afs id in the tokens here also

commit ea3d49eaea3d825e5b328e0fbb4382fe5b0249cd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 13 22:41:11 2007 +0000

    emulate-vsyslog-20071213
    
    LICENSE IPL10
    
    aix 5.3 lacks vsyslog. the fixed buffer is poor, but...

commit af3a4e78523596427235b45fc1892725a29bd1d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 13 21:21:56 2007 +0000

    aix-curpag-redux-20071213
    
    LICENSE IPL10
    
    add curpag() support for aix, based on work by tom keiser

commit fcc8aa021f6305209fb8cf638d5446206029f581
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Dec 13 20:04:41 2007 +0000

    redhat-rpm-mockable-20071213
    
    LICENSE IPL10
    
    make us able to autobuild with mock. (may need krb5-devel outside the
    if krb5support; if we do more thought will be involved)

commit 51d6d9cbbc5971623097624a58e400cf8ab5e5ab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 13 19:46:06 2007 +0000

    vcache-track-maxvcount-accurately-20071213
    
    LICENSE IPL10
    
    if we can alloc more vnodes, and we are looking for vlru cycles, a legit
    vnode is not indicative of a cycle.

commit b33fb96fff39c421064d03ff058dde76f2aeed8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 13 19:18:06 2007 +0000

    shutdown-cleanup-20071213
    
    LICENSE IPL10
    
    get rid of cold_shutdown; it's in afs_prototypes.h.
    log when we don't clean up memory

commit 8f84815d0d8c9cc0b49eb29bfceeb03a7ae7f04f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 12 04:24:26 2007 +0000

    windows-afslogon-null-pointer-deref-20071211
    
    LICENSE MIT
    
    'tokenUser' can be dereferenced when NULL if GetTokenInformation() fails.

commit 319ad227d12b8ab301d464c2460be74f7a44ec4d
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Dec 11 21:28:26 2007 +0000

    afs-serveriprank-return-void-20071211
    
    LICENSE IPL10
    
    can't return 0 from void function

commit 2e057314d957a8854ee3c912715a916c3f002863
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Dec 11 20:42:34 2007 +0000

    vldb-check-dont-return-int-from-void-20071211
    
    LICENSE IPL10
    
    void functions shouldn't return 0

commit bc70f0f0abcc0843c23a0f63ee6b2ad6b842983d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 11 16:25:55 2007 +0000

    butc-no-retval-in-void-func-20071211
    
    LICENSE IPL10
    
    fix the build again

commit 96ea2c11b486ea947e69bd440782560a99c93086
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 11 14:53:30 2007 +0000

    revert-clean-felater-when-rechaining-20071211
    
    LICENSE IPL10
    
    revert this for now, put it in all in one piece when we commit the ifdef'd out
    test code.

commit 0f9529171c37c4ef1e76156da111d83d04b38505
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 10 22:45:42 2007 +0000

    ubik-avoid-truncating-live-database-during-recovery-20071210
    
    LICENSE IPL10
    FIXES 77183
    
    currently we can truncate the live database while we are doing recovery.
    address that.

commit f5fde5736f333e284a244467641f08727481b4ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 10 22:41:22 2007 +0000

    afs-shutdown-cleanup-20071210
    
    LICENSE IPL10
    FIXES 74479
    
    clean up allocated resources when we shut down

commit e26be7b8e3c8ca73e6ef6640c7d2b8d8200a0c65
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 10 22:24:55 2007 +0000

    find-cpp-from-slash-20071210
    
    LICENSE IPL10
    
    find cpp using a full path, not the user's path, at least for now

commit 649194188e4af21370faa1bf1217a887adae2572
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 10 20:43:58 2007 +0000

    windows-remove-out-of-date-buffers-from-hash-tables-20071210
    
    LICENSE MIT
    
    When a cm_MergeStatus operation determines that the current data buffers
    are out of date, remove them from the buffer hash tables in order to speed
    the lookup of valid data buffers.

commit ef5e9a4dd7a4977d7d9f41266f2a0c491720e387
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 10 20:33:34 2007 +0000

    windows-buffers-20071210
    
    LICENSE MIT
    
    after removing cm_buf_t objects from the hash tables, clear the HT list
    pointers to make debugging easier.
    
    when modifying data version values in buf_ForceDataVersion() grab a
    read lock on buf_globalLock instead of a write lock.  A write lock is
    only required if the hash table linked lists are being modified.
    The dataVersion itself is protected by the cm_scache_t mx mutex being
    held.

commit c057063abea93733170c1b31c91b52050a150a98
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Mon Dec 10 18:26:30 2007 +0000

    pam-expires-setting-should-be-32bit-20071210
    
    LICENSE IPL10
    
    store as a 32 bit value explicitly so 32 bit routines don't leave garbage around here.

commit 8114be0c6a311007125d6c01b9e0ee7a16b71c29
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Mon Dec 10 18:20:50 2007 +0000

    uss-lex-more-forward-decls-20071210
    
    LICENSE IPL10
    
    forward declare this so picky compilers will do their jobs.

commit c6db6a90bee37f91c56d1aa1c4ed5657c353b3a0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Dec 9 23:33:42 2007 +0000

    cnvldb-prototypes-20071209
    
    LICENSE IPL10
    
    forward declare these

commit 40307b60236c8e43321a31ab524ec6edd61cbabf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Dec 9 06:05:51 2007 +0000

    aklog-no-dummy-write-on-aix5-20071209
    
    LICENSE IPL10
    
    don't do the dummy write on aix5. we are better off actually working

commit c0a04c21cf36e4c8e25be9703f715f30d1bf55a6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 8 17:57:33 2007 +0000

    writedcache-enforce-xdcache-writelock-20071208
    
    LICENSE IPL10
    FIXES 59136
    
    in order that the writes to CacheItems not be addled, we need to *actually*
    hold a *write* lock when we write. not even just read as the comment says.
    
    and certainly not none as was happening in the dir package.

commit 55e581824fceea149b9a48ee928aa76e97c009a8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 8 17:44:00 2007 +0000

    linux24-kernel-configure-test-20071208
    
    LICENSE IPL10
    
    on linux 2.4 the try kbuild macro needs to try harder to notice what
    symbols we don't have

commit 68021a6f2bf692e20044bb932501112934a09bac
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 7 21:32:53 2007 +0000

    windows-wix-afslogon-20071207
    
    LICENSE MIT
    
    Move afslogon.dll and afscpcc.exe to the OpenAFS\Client\Program directory

commit ab939a6216161cd6afab74e60ca87d376145651c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Dec 7 16:03:56 2007 +0000

    windows-follow-backup-path-20071207
    
    LICENSE MIT
    
    Add a registry value, FollowBackupPath, that provides the Windows cache
    manager with functionality equivalent to the UNIX afsd -backuptree option.

commit 974ad01826f39c817834c6377cf2872177fa7031
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 5 20:38:38 2007 +0000

    viced-cbstuff-20071205
    
    LICENSE IPL10
    
    Keep track of AddCallBack calls in cbstuff.
    
    Increment cbstuff.DeleteCallBacks after holding H_LOCK

commit 946f416577914aef5b31e398994fb8876b4ee5e9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 5 20:31:56 2007 +0000

    cbd-20071205
    
    LICENSE IPL10
    
    Windows requires open() to be called with O_BINARY otherwise Ctrl-Z
    means EOF which breaks dumpfile processing.
    
    Be consistent about writing/reading time as afs_uint32 instead of
    writing as afs_uint32 and reading as time_t since time_t can be 32-bit
    or 64-bit depending on the platform.

commit d13cd42cb4e0b2fe3f91565eac37dc3f3e6d3270
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 4 21:08:10 2007 +0000

    largefile-avoid-wraparound-write-to-old-server-20071204
    
    LICENSE IPL10
    FIXES 73720
    
    apply analogous check that's in fileserver to clients writing to old servers

commit 58dd384ba4020c924604ab612276948803333549
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 4 21:01:12 2007 +0000

    inode-convertro-dont-include-volser-code-in-viced-20071204
    
    LICENSE IPL10
    FIXES 77574
    
    viced isn't an fssync client; avoid the convert volser code there

commit ebbd12f3ab83eafa0d8cd6978a45a4cc0b248334
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 4 20:39:18 2007 +0000

    linux-nfs-translator-dont-lose-nfs-pag-on-write-20071204
    
    LICENSE IPL10
    
    avoid issue where nfs writes through the translator could become unpag'd because a background daemon came into play

commit a342c531a24544988e1a2c2ad1de6d555787989d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 4 20:18:50 2007 +0000

    afsdb-avoid-cross-task-stack-use-20071204
    
    LICENSE IPL10
    
    really for aix, but simplified code universally.

commit 1c33df3870bffd4aa2eaf43d8ec56a75a1a3cd0f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 4 15:44:56 2007 +0000

    windows-giveupallcallbacks-20071204
    
    LICENSE IPL10
    
    Add a registry value, GiveUpAllCallBacks, that can be used to enable/disable
    the use of the GiveUpAllCallBacks RPC.  Due to the fact that calling this RPC
    can destablize pre-1.4.6 file servers since they do not include DELTA
    giveupallcallbacks-locking-20071121, the default is being set to disabled.
    We can re-enable the functionality by default only after sufficient time
    has been given for orgs to update their file servers.

commit 1daa2c0b4fd25f959f6436a9d9eb9a45b7cab379
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Sat Dec 1 05:40:51 2007 +0000

    nbsd-new-version-20071201
    
    LICENSE IPL10
    FIXES 75602
    
    add support for new version(s) of netbsd

commit f9fddc03ec2f36528953f5264263458bf730506e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 30 19:13:38 2007 +0000

    aix-pin-small-allocs-20071130
    
    LICENSE IPL10
    
    we assume the small alloc pool is pinned. maybe we should pin it.

commit 8070286d6c9f4f99b7d77627fa2fedf042e47451
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 29 21:37:00 2007 +0000

    namei-allow-ufs-20071129
    
    LICENSE IPL10
    
    allow ufs again for namei. oops.

commit e260ccde93009f7536d25ff6a42dcc1d126f08ec
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 20:53:53 2007 +0000

    windows-aklog-no-panic-if-no-kfw-20071129
    
    LICENSE MIT

commit a6fd54900e9ac9f5bf2a419338341ad355639034
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 19:25:04 2007 +0000

    viced-drop-core-on-shutdownandcore-20071129
    
    LICENSE IPL10
    FIXES 74708
    
    when we call ShutDownAndCore, actually drop a core.

commit 7515efb9c390089b4ad4563b939785c5c05793c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 18:40:12 2007 +0000

    clean-felater-when-rechaining-20071129
    
    LICENSE IPL10
    FIXES 74708
    
    in order that this not be continually rechained, clear this here; we
    are handling it now.

commit 262d1d1c70222b8378109674cd5090f602c52971
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 29 18:32:29 2007 +0000

    zero-uio-on-zero-read-20071127
    
    LICENSE IPL10
    
    avoid leaking random data in a read of a 0 length object.

commit 7da027754463f7040c89b6a04c35d13d5fbe31d3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 16:10:24 2007 +0000

    windows-volstat-headers-20071129
    
    
    move the enum volstat definition to cm_volstat.h from cm_volume.h.
    
    fix the copyright.

commit ee839a167eea5c0b3e2a45bf1e47b268419dc04e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 16:06:48 2007 +0000

    windows-smb-out-of-memory-20071129
    
    
    It turns out that LsaCallAuthenticationPackage can succeed but still
    fail with an extended error.  The one case that we have seen reported
    is STATUS_NO_MEMORY which would be produced when the paging file is
    full.  This could be a transient error that will be resolved after
    Windows increases the paging file size.
    
    Instead of crashing under this condition we should force the authentication
    to fail and permit the client to retry.
    
    WER 567093715-1-0405174244

commit baef5ba97f4d042d75fe1ac8e11325be459a3d9a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 29 16:00:19 2007 +0000

    windows-daemon-shutdown-20071129
    
    
    The cm_Daemon() thread did not check after each operation whether or
    not the service is in the process of shutting down.  As a result the
    thread could access data, locks, etc. that had been freed by other
    threads.
    
    WER 572098933-1-0407879071

commit 1ee37a57d3d343b8d7a1ab26b6783d396624c856
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Nov 29 05:05:37 2007 +0000

    man-page-symlink-20071128
    
    
    Add man pages for all the symlink commands (Windows-only).

commit 6cd96f678e12570205d2cbf532b86219b1737c49
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Nov 29 04:57:05 2007 +0000

    man-page-vos-convertrotorw-fix-20071128
    
    
    Don't say that inode file servers are only available on Solaris and AIX.

commit 3be37f4d1ca1e3fae238e58d07708577d5653ae2
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Nov 29 04:17:10 2007 +0000

    man-page-fs-sysname-improvements-20071128
    
    
    Update the fs sysname man page to document the behavior of multiple @sys
    values.

commit f78f007dc593ec6948bf904d7903223bd6046081
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Nov 29 03:54:44 2007 +0000

    man-page-fs-rxstatpeer-20071128
    
    
    New man page for fs rxstatpeer.

commit a7291b33490ce62a9ea5b93fab268e3c669a6051
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Thu Nov 29 03:32:52 2007 +0000

    man-page-fileserver-auditlog-20071128
    
    
    Remove duplicate -auditlog in the fileserver synopsis.

commit 2ecef5038e81386a002740f6b0112330117c4f6e
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Nov 29 03:30:41 2007 +0000

    man-page-additions-20071128
    
    
    Add new man pages for vos convertROtoRW, vos copy, and read_tape and add
    a troubleshooting section to the fileserver man page.

commit 5743116d700ce279cde3a8dee962757df509d557
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Nov 29 02:56:13 2007 +0000

    man-fs-uuid-tweaks-20071128
    
    
    Some minor capitalization and formatting tweaks to the fs uuid man page.

commit 031369cd322d5dae4d1e8284c104e69a903c7995
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 28 05:03:03 2007 +0000

    getpag-prototype-20071127
    
    
    forward declare this function
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    returns void, but, whatever

commit eee1f81821656ed85720523750b312eaf0dd71b4
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Nov 27 20:44:47 2007 +0000

    linux-try-kbuild-deal-with-old-modpost-20071127
    
    
    the pre 2.6.20.1 modpost issued warnings and not errors for unresolvable symbols.
    
    not overly useful.

commit 746aab982ae3b7b6e1fb8109e5e9892a1821d6ec
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 27 20:01:00 2007 +0000

    macos-no-read-on-directories-20071127
    
    
    thanks to quentin@mit.edu for pointing this out.
    
    no read() on directories

commit 89261e8b84697f3b5158e197ca9946c6fe9f45ed
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Nov 27 19:26:42 2007 +0000

    linux-hash-inodes-for-mmap-20071127
    
    FIXES 78544
    
    inodes are only added to the superblock dirty list if hashed.
    
    do so.

commit 4172d60820fdf3375091b0a451e8d25809019d8d
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Nov 27 17:28:44 2007 +0000

    windows-nim-afscred-double-free-20071127
    
    
    fix a double free on error condition

commit 3c401f4724bea0b39baabfb3e38168886925e358
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 26 22:19:02 2007 +0000

    redhat-cleanup-authlibs-correctly-20071126
    
    
    when not packaging authlibs, correctly discard them

commit 4f98eb48fccde9dd70708b2dd6b0903745d16b7a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 26 22:10:34 2007 +0000

    volprocs-alloc-vnode-instead-of-using-stack-20071126
    
    
    don't use stack here; alloc memory for short term use

commit 48bcb88ddc8fe7baa7a2b0f8decee7e704ad32ef
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Nov 26 21:47:00 2007 +0000

    namei-avoid-spurious-emfile-20071126
    
    FIXES 77531
    
    before we did not handle the fd cache runnign dry. "oops"

commit da18bb147b25e62ed69c6f88fa6331161018d9fb
Author: Christof Hanke <hanke@rzg.mpg.de>
Date:   Mon Nov 26 21:03:31 2007 +0000

    assorted-warning-cleanup-20071126
    
    
    add missignheader files, missing return values, correct a few calls to printf

commit 5d8c44bc09fde707dc6aaaf037b2c8805cce0ed1
Author: Christof Hanke <hanke@rzg.mpg.de>
Date:   Mon Nov 26 20:38:14 2007 +0000

    kauth-ubik-wrap-pad-requisite-args-out-20071126
    
    
    of course, if Date is larger than 32 bits, the wrapper is broken anyway. we should really get rid of the wrapper

commit b776352e3b824d7c733ef05a71eac85c025b290b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 23 14:29:51 2007 +0000

    enhance-afsdb-debugging-20071123
    
    
    allow cmdebug to show locks on cells. add fstrace event for afsdb

commit aa5c3518df8d73c2b0aa625e77179f33df97c2af
Author: Sean O'Malley <omalleys@msu.edu>
Date:   Fri Nov 23 13:55:49 2007 +0000

    krb5-klog-solaris-20071123
    
    FIXES 77575
    
    make this work on solaris

commit af7cf697ef8c0a416251d3fbfd516738e14c290b
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Fri Nov 23 13:37:24 2007 +0000

    linux-2624-20071123
    
    FIXES 77370
    
    support linux 2.6.24

commit dda101f22d4690f2c7c8731740fd9676f2a85c66
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 23 13:00:42 2007 +0000

    macos-buildpkg-cleanup-cruft-20071123
    
    
    don't leave the old dmg around since it makes a new one bomb

commit b0b3565b69b0b8fda46b25e7bd73c5116b32d83e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 21 19:30:51 2007 +0000

    giveupallcallbacks-locking-20071121
    
    FIXES 74708
    
    
    Hold H_LOCK across calls into GiveUpAllCallbacks_r

commit 5d84c50e5eb754eb33de0e53eab3fd64d170bb36
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 14 17:18:25 2007 +0000

    windows-dv-logging-20071114
    
    
    64-bit data version logging updates

commit 5d245327f057389950c30bb36af6d12f6f96c73a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 14 06:22:04 2007 +0000

    windows-64bit-data-version-20071114
    
    
    Add support for 64-bit AFSFetchStatus data version values

commit 473b0345210c98a44cffb8c5de1d0da5980969f4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 14 04:34:53 2007 +0000

    dafs-inode-convert-20071113
    
    
    the dafs version of this

commit b98b51185dbd46ef6d9ef0249b032bbc49d13bfb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 13 22:15:03 2007 +0000

    inode-convert-ro-to-rw-20071113
    
    
    so this functionality works with inode fileserver, also. corrected abstraction from previous versions so vol and volser have correct bits.

commit 524f749430e78edab581ad84978d13870911b6f8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 13 00:46:09 2007 +0000

    redhat-spec-no-strip-20071112
    
    
    suggested by simon. debuginfo support in rpmbuild strips for us. deal here.

commit 606ce43066bf1d818a990982f9704a973371c456
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Nov 13 00:29:31 2007 +0000

    redhat-reunrevert-fedora-build-change-20071112
    
    
    "oops"

commit 9f284c66a9ad685eab201e480372633d538938b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 13 00:00:57 2007 +0000

    redhat-packaging-updates-20071112
    
    FIXES 76890
    
    various updates to deal with fedora 8 and remove obsolete stuff

commit d284c0e7c11e8ee4755ac152e5e47d4abf304afc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 12 19:03:15 2007 +0000

    viced-accurately-track-file-callbacks-20071112
    
    FIXES 74708
    
    this should fix the issue with cbfree being corrupted. a more exhaustive pointer-blunting patch should probably be pulled in, but, this is simple and obvious

commit 8593c52c2787587110865287937750e51c48afa5
Author: Kevin McBride <klm@endpoint.com>
Date:   Mon Nov 12 18:25:54 2007 +0000

    autoconf-strip-debug-options-sanity-20071112
    
    
    To prevent stripping, specify the '--disable-strip-binaries' option on
    the ./configure command line. fileserver and volserver are never stripped.
    
    When --enable-debug is specified, binaries will not be stripped by default.

commit cd8311641fd32328dd1d8a07b1318ecb53726bd1
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Nov 12 18:17:43 2007 +0000

    dafs-optimize-shutdown-20071112
    
    
    optimize shutdown case as is done elsewhere, for dafs.

commit f2bff0e675a2ca0b583264d59d288c62636a06b8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 12 03:24:59 2007 +0000

    windows-readonly-volume-callbacks-20071111
    
    
    disable the option by default.  require the daemonCheckVolCBInterval
    registry value be set in order to activate it.
    
    do not renew .readonly volumes whose callbacks are less than 30 minutes
    old.

commit e61efde3236b9cd09a09cb9e869b27a14b68c4ac
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Nov 12 00:12:28 2007 +0000

    man-page-name-underscore-more-20071111
    
    
    Missed fs apropos when fixing NAME entries to eliminate spaces.

commit 6ef9f3933595e4fef5c4af334ab580dbb08212c3
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Nov 11 22:54:56 2007 +0000

    man-page-name-underscore-20071111
    
    
    The NAME heading for man pages can't contain a space in the program side
    or the man pages won't index with some man implementations.

commit b5935d47fb5b06c4f1c74c3671af4b1a481b8ab3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 10 22:50:44 2007 +0000

    windows-readonly-volume-callbacks-20071110
    
    
    avoid a deadlock

commit dd1535d31509d48d961085809c132b398edd80ff
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Nov 10 20:13:27 2007 +0000

    libafsrpc-makefile-fix-20071110
    
    FIXES 76836
    
    fix double / in makefile

commit 76c886b574b7d21db2557872be8af8e6ca549f34
Author: Dan Hyde <drh@umich.edu>
Date:   Sat Nov 10 00:33:41 2007 +0000

    viced-missing-lock-20071109
    
    FIXES 76713
    
    Add missing lock that needs to protect an in use 'host' from having
    HOSTDELETED added to the hostFlags and HWNO_INPROGRESS removed.

commit 578e0d957547e4ac7f39b0559e166fd9eea5f150
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 10 00:18:11 2007 +0000

    cmdebug-human-readable-expiration-time-20071109
    
    
    add -ctime parameter which produces human readable expiration times.
    Doesn't work with OpenAFS for Windows prior to 1.5.28 because time()
    was not used in those versions for tracking expiration times.

commit b43d778e9342dd19c010354cf6db854fdf1f7d22
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 10 00:14:26 2007 +0000

    windows-readonly-volume-callbacks-20071109
    
    
    A .readonly volume callback applies to the entire volume.  Track it
    in the cm_volume_t cbExpiresRO field and apply it to all cm_scache_t
    objects with valid callbacks that are associated with that volume upon
    each daemon callback check.  This will prevent premature callback
    expiration.
    
    Also, attempt to automatically refresh the callbacks every 30 minutes
    by obtaining a callback on the volume root.  This value is configurable
    with the "daemonCheckVolCBInterval" registry value.
    
    Change from osi_Time() to time() for expiration values in order to
    permit conversion to human readable values in cmdebug.

commit 15a52f254b8c079a1e640e18ce90508861ec5d96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 9 20:15:46 2007 +0000

    clean-platform-20071109
    
    
    clean platform dir

commit 10ff33e6092a63107600b3b58c44c8d15849bbe6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 9 19:47:18 2007 +0000

    macos-packaging-updates-20071109
    
    
    make the readme correct. make dmgs which have a useful name

commit 757bdb092ec4e1db9c7dc949499cc761982bd105
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 9 19:18:49 2007 +0000

    hpux11-thread-lock-tracking-20071109
    
    
    do this for hpux also

commit bb900e97df905c9805d9e7dc53a9303c671cf819
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 8 14:38:48 2007 +0000

    darwin-vfs-context-pullback-20071108
    
    
    again, commit fix we have in 1.4

commit 7f8f251c3f252e352096f972e71c93db5cd9d3d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 8 14:26:47 2007 +0000

    reconvert-aklog-to-afs-com-err-20071108
    
    
    make this match what we're shipping in 1.4

commit 277c37f48c8126ba9cb986ffc7361fcb98e2bbf2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 8 14:21:06 2007 +0000

    aix5-revert-kcred-20071108
    
    
    pull this back to 1.5 and head

commit 044b90beb46177691fd05e08d552a37a48ad2ac8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 7 04:23:47 2007 +0000

    shutdown-cleanup-not-yet-20071106

commit ad30730abd77fa489a6d3777e26621357724af9f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 7 04:01:36 2007 +0000

    linux-nsec-timestamp-zero-20071106
    
    
    don't leave garbage in nsec

commit 1951d7d6c773aead0ea6e9d120e23d15fee4a29f
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Tue Nov 6 18:30:19 2007 +0000

    linux-splice-support-20071106
    
    
    support splice in kernels new enough to support it (sendfile is deprecated)

commit e06a144f33347bcac29131cd450d828c2803b9c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 5 22:09:12 2007 +0000

    aklog-no-kimpersonate-in-more-cases-20071105
    
    
    aix's NAS kerberos can't support kimpersonate. deal

commit bf7787ba99d5cae9a9413ba59dd4c01996a6d557
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 5 21:43:00 2007 +0000

    krb5-klog-no-err-table-yet-20071105
    
    
    right now we don't have this everywhere, until we reorder libraries, and
    test usefully with configure, forget it.

commit 564be8601c1447b85984eb3773b48ccaa22b4343
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Mon Nov 5 20:27:24 2007 +0000

    cbd-use-callback-size-for-callbacks-20071105
    
    FIXES 76408
    
    cast correctly

commit 55149d5e2b69cd6dfa7f6fd3d02e0d488b3fd69d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 5 18:25:33 2007 +0000

    windows-bplus-tree-20071105
    
    
    Migrate search key into thread local storage

commit 981f984b2dd675bab31d5d0374592c9e0fa12bbb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 5 18:23:30 2007 +0000

    windows-afsd-notification-20071105
    
    
    fidp->cell is not a pointer

commit 89ac3ec2f68db045cf719d619eea1fb97a6364a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 5 00:23:54 2007 +0000

    windows-afsd-notification-20071104
    
    
    the difference between osi_assert() and osi_assertx() is whether or not
    a description is specified as part of the call.  When no message is
    specified afsd_notifier() is called with a NULL msgp parameter.  This
    results in a null pointer dereference during the EventLog() call.
    
    As a result, none of the information describing the assertion is written
    to the log file.
    
    This commit sets a default message for use when no other message is
    provided and it replaces all calls to osi_assert with osi_assertx and
    adds descriptions.

commit bc7a0be8eb24f5347b8a5b51067b15270aa84691
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 5 00:16:58 2007 +0000

    windows-osi-lock-assert-msg-20071104
    
    
    modify lock_AssertXXX macros to call osi_assertx() and provide a
    descriptive message.

commit 45e2d81aa3f62927adc85e4e23daf511478829e4
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Nov 3 16:31:50 2007 +0000

    windows-scache-syncop-waiters-20071103
    
    
    One of the issues that has become a serious problem since the addition
    of the local directory updates is that although cm_SyncOp synchronizes
    operations, it does not preserve the order of requests.  This has always
    been a problem in that it has been possible for a request to fail to
    complete due to its worker thread's bad luck.  When a request takes
    longer than the Windows SMB Redirector's timeout, the SMB Redirector
    tears down the SMB virtual circuit.
    
    When using the local directory updates it is really important that
    the directory update operations complete in the order that they were
    sent to the file server.  If they don't, then the local directory
    state and the file server state will not match and the local directory
    state must be discarded which in turn forces a new read of the entire
    directory contents over the network.
    
    This patch adds a new cm_scache_waiter_t object that is used to store
    the current thread, buffer, and syncop flags within a waiters queue
    on each cm_scache_t object.  If a thread is forced to sleep in cm_SyncOp,
    upon waking it will check to see if there are any other threads waiting
    that are attempting to perform a similar task ahead of it in the queue.
    If yes, the thread goes back to sleep.  If not, it goes ahead and
    enters the cm_SyncOp conflict resolution block.
    
    This patch has the additional side effect of reducing the number of
    competing threads that must obtain the cm_scache_t mutex and process
    the cm_SyncOp conflict resolution block.  As a result, the overall
    CPU utilization of the service and the clock time associated with
    processing requests will be reduced.

commit 2c45d9ec9fc888c2c6eed46538fe4a9c440e3c8c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 3 16:18:14 2007 +0000

    windows-dir-20071103
    
    
    Reorganize the locking for cm_BeginDirOp and cm_EndDirOp.
    There are a number of locations where locks are obtained, dropped, and
    reobtained.  This reorganization attempts to accomplish several things:
    
    (1) be optimistic for the most common case so it will be fast
    
    (2) add consistency checks after each location where locks are dropped
        and re-obtained.  If we lose a race in cm_BeginDirOp and the bplus
        tree is out of date, retry until we get to a consistent state
        that we can use.
    
    (3) Ensure that all operations take place with the correct locks.

commit ef6684d005b3858dd6a1a94deee48b4bbd167932
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 3 16:08:03 2007 +0000

    windows-buf-20071103
    
    
    assert that the cm_scache_t mutex is held when calling
    buf_ForceDataVersion().

commit e4ddca6854f7bd4b4ce153b2377bb6ca31f44b8f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 3 16:05:43 2007 +0000

    windows-bplus-tree-20071103
    
    
    rename findNode to leafNode in bplus_Lookup
    
    replace all OutputDebugString calls with osi_LogX calls
    
    modify bestMatch to special case the return values for leaf nodes.
    If an entry is above or below the values available in the leaf node
    return BTLOWER or BTUPPER instead of BTERROR.
    
    In insert and delete operations check for BTLOWER/BTUPPER and isleaf,
    if true convert to either slot 0 or Max and perform the insertion.
    This produces easier to read code when performing lookups.

commit a08f0f4dc05890147eb58d8420ada45d2bf69864
Author: Jeffrey Hutzelman <jhutz@grand.central.org>
Date:   Sat Nov 3 15:59:12 2007 +0000

    windows-cellservdb-20071103
    
    
    GCO Public CellServDB 25 Oct 2007

commit 75729fa4ae564f1c5e9efb6f387840ab4b24263f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 3 01:05:53 2007 +0000

    windows-install-des-prototypes-20071102
    
    
    required by auth-getkey-prototyping-20071102

commit 32828680ae0342b91bea9fc2c4ecceb25510d7f3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 2 18:01:32 2007 +0000

    auth-getkey-prototyping-20071102
    
    
    make this sane

commit 6b5146db5b111aca5ab0b3f6423f67fb01303627
Author: Ken Raeburn <raeburn@mit.edu>
Date:   Thu Nov 1 19:12:38 2007 +0000

    viced-new-host-reup-h-lock-20071101
    
    FIXES 69384
    
    don't leave lock dropped

commit 20a837c5cc0a093b3c74622056cca9f3f561bd6b
Author: Dale Ghent <daleg@umbc.edu>
Date:   Thu Nov 1 17:05:33 2007 +0000

    solaris-cc-deal-with-new-64-bit-arch-specifier-20071101
    
    FIXES 75908
    
    switch from -xmarch=amd64 to -m64

commit 7a0df48baf351eb2aaa2b6c4da0054d111facdb9
Author: Dale Ghent <daleg@umbc.edu>
Date:   Thu Nov 1 16:57:26 2007 +0000

    solaris-nevada-update-20071101
    
    FIXES 75896
    
    update for current solaris nevada

commit 089a02bcbc9df2090c275e5620248f478be1e286
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Nov 1 16:09:22 2007 +0000

    auth-cleanup-20071101
    
    
    kill warnings in auth directory

commit 8b8e0935e474cc2f79638b97134fa9e2d55adee8
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Nov 1 15:58:59 2007 +0000

    rxgen-ansi-again-20071101
    
    
    another look at lettign rxgen do ansification

commit eea1cb08145b2669384b2380e0878067f826d3dd
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Nov 1 14:59:38 2007 +0000

    dafs-salvage-deal-with-clones-20071101
    
    FIXES 75591
    
    cope with trying to salvage a clone correctly

commit c5678a4af78305cac2246480cc0c038655db324d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Nov 1 03:23:09 2007 +0000

    linux-afs-unlinked-file-dentry-flagging-20071031
    
    
    fix case:
     perl -e 'open FOO, ">foo"; unlink(foo); @stat = stat(FOO); print "inode for foo(unlinked) is $stat[1]\n"; system("/bin/ls -ali | grep $stat[1]");'

commit 8214014855be3fb99c00c23400a2a3325b2b4a57
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 31 22:31:38 2007 +0000

    more-anonymous-pointer-cleanup-20071031
    
    
    more char*->void* conversion

commit 27ce37c7a0ea23c46c72484719697a900ac0a714
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 31 15:33:27 2007 +0000

    windows-btree-20071031
    
    
    Add additional validation and error handling code after each call to
    getSlot().  If an invalid slot is returned, return NONODE.  If the
    invalid slot is returned when extracting a data node, invalidate the
    tree.
    
    Modify compareKeys() to always perform a case-insensitive comparison
    and only perform a case sensistive comparison if the case-insensitive
    one matches.  This ensures the ordering is consistently reported.
    
    Add lock assertions to ensure that all calls are being performed with
    the correct locks being held.  There have been some crash reports that
    provide stack data that does not appear to be possible unless there is
    a race.  However, there are no obvious locations where the race is
    taking place and the test suite indicates that all of the correct locks
    are being held. We shall see what happens in the field.
    
    For consistency replace all calls to findKey in which the range is
    (1,numentries) with calls to getSlot().
    
    Optimize the depth search loop by testing the slot value in the for
    statement instead of forcing the loop to be broken later.

commit cf0d1393f4df2c0a8840aa00db05de7bd221c275
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 31 15:23:42 2007 +0000

    windows-begindirop-20071031
    
    
    Avoid a race condition in cm_BeginDirOp() caused by the failure to
    hold the cm_scache_t mutex while copying status data from the scp to
    the dirop

commit ff4c519c789af1c4b126d926dd94f3efab1ebd14
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 31 15:20:14 2007 +0000

    windows-cm_analyze-ewouldblock-20071031
    
    
    Add support for EWOULDBLOCK to cm_Analyze.  If the file server returns
    EWOULDBLOCK, retry the request every two seconds for up to the RDRtimeout.

commit d16d5c031274e05ea27f12965e094ae42d8af9e5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 31 15:18:10 2007 +0000

    windows-uaewouldblock-20071031
    
    
    Reorganize the order of the includes to ensure that EWOULDBLOCK is not
    assigned the same value as EIO.

commit 3e1646fed23cb58a7220e622aeb8afd519bb9840
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 31 12:36:33 2007 +0000

    util-cleanup-20071031
    
    
    kill the warnings in src/util

commit 3f449eb48eb0f4069062401a6a27f7481c0e88d3
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 31 04:20:33 2007 +0000

    openafs-bozo-varargs-20071031
    
    
    convert bozo to be prototypable

commit 855e6442615ad2c42ca8f485d8a7efbcdb8f2105
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 31 04:05:27 2007 +0000

    openafs-void-star-pointers-20071031
    
    
    convert anonymous pointers from char* to void*

commit 7d05bd439e144aa3bc5fd68908d1a359182897b0
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Oct 30 15:10:37 2007 +0000

    openafs-string-header-cleanup-20071030
    
    
    include only what we need

commit 7fe8131c049186e8340890a1effdf109d87f0611
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Oct 30 03:53:08 2007 +0000

    redhat-packaging-update-20071029
    
    
    update rpm packaging stuff for what shipped in 1.4.5

commit 5a0dfa46f0a02f2c23fc187ab71745fa5cf21964
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 26 17:41:54 2007 +0000

    update-bsd-readme-20071026
    
    
    Update build info for Open/FreeBSD.

commit 1b3ecae23c87a0d97b561169ca33a6e7eca449ee
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Fri Oct 26 17:20:22 2007 +0000

    redhat-fedora-build-driver-20071026
    
    driver script for fedora builds

commit 2ced26c8badb79a81152523bbfb4ef2cc476cb03
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 26 17:09:40 2007 +0000

    redhat-spec-fix-hugemem-modpath-20071026
    
    
    make this match other kernsls

commit ed42d1f71a9c4b2f1dd74227fafce763d5e30ea9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 25 06:19:17 2007 +0000

    release-notes-1-4-5-20071025
    
    
    release notes for 1.4.5

commit fb7595ad1d31c5ccafa18de854f2bf8bc8c067de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 25 05:47:23 2007 +0000

    windows-aclent-remove-extraneous-code-20071024
    
    
    Microsoft provided a dump showing cm_data.aclLRUEndp == NULL in
    GetFreeACLEnt().  Couldn't find any reason why that would be true.
    However, there is extraneous code that manipulates the value of
    aclLRUEndp when it should be left to osi_QRemoveHT() to update
    the pointer values.
    
    Also add an additional explicit test for aclLRUEndp == NULL in
    GetFreeACLEnt().

commit 511aed14e0d18aa8c3a9a3742d79443912a4d9ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 25 04:42:07 2007 +0000

    macos-installer-crap-20071025
    
    
    put it back the way it was

commit d78b844133549b530273fc7ad1ea376d582985d9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Oct 24 16:44:26 2007 +0000

    linux-nfstrans-20071024
    
    FIXES 75233
    
    better track changes so we can build an nfstranslator module for new linux kernels

commit 1d9ba682a5533bb720ef033287f78cff467aac11
Author: Dan Hyde <drh@umich.edu>
Date:   Wed Oct 24 16:33:31 2007 +0000

    cblater-bitmask-bug-20071024
    
    FIXES 75304
    
    add missing ()

commit 3973d822379ca3af99db43d34d8d3468740cf5a7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 24 06:40:12 2007 +0000

    darwin-allow-finder-to-unlink-rsrc-files-20071024
    
    
    finder tries hard to clean up resource fork files it creates when you drop something in a dropbox that don't then get updates.
    
    let it think it won

commit f814c8a9636b2939da9d0f17de4d71c6fd23ae6c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 24 06:25:46 2007 +0000

    finder-and-tiger-cp-deal-with-dropboxes-20071024
    
    FIXES 69363
    
    this way copying finishes

commit 57b28bb8eed956e1fe27cef81efd4cb30e63837d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 24 04:49:07 2007 +0000

    windows-wix-nsis-uninstall-20071023
    
    
    At somepoint windows installer broke the use of the 'file' RegistrySearch
    type.  Instead of returning the full file name path we are only getting
    the directory.  Switch to using the 'raw' type since we know we aren't
    prefixing the file name with a hash.

commit 15f6e3170ce8e0c6f8e92f1fe046e2293cf8e833
Author: Mike Meffie <mmeffie@sinenomine.net>
Date:   Tue Oct 23 23:36:06 2007 +0000

    afs-shutdown-free-resources-20071023
    
    
    try hard to free resources

commit 3b3ccef28eb19079e73f78779e2778d3aa44bb83
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 18:37:58 2007 +0000

    darwin-uio-64-20071023
    
    
    use the 64 bit awareness in the KPI

commit 66a19a512e2a015b39089343288881a108b8d637
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Oct 23 17:59:16 2007 +0000

    pod-man-fs-uuid-20071023
    
    FIXES 75175
    
    add man page for fs uuid

commit 4526c6a4f7e6f627249580cac0ba9373735ae667
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 15:28:22 2007 +0000

    darwin-afsd-cleanup-power-notification-nicely-20071023
    
    
    don't drop a core on shutdown

commit 79e51892fe1d6fe115a9ae6301f4553e6b6dc07c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 15:19:07 2007 +0000

    vos-restore-check-doesnt-apply-to-pipes-20071023
    
    
    as pointed out by hung pham

commit 6aaca73002214ff8b7a757322a9bffa3d5af0e3e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 01:30:03 2007 +0000

    darwin-modify-cp-workaround-20071022
    
    
    more work will be needed to fool finder into just copying the d**n file, since
    it's checking too hard.

commit 4456aa773929fa959e998058bfafc14d6309ff49
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 01:02:39 2007 +0000

    change-default-probeint-for-rfc4787-20071022
    
    
    an RFC compliant port mapping device guarantees less time than we previously probed.

commit d0285a2193de9868024eb0f432a495bd1802663f
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 22 18:29:28 2007 +0000

    fssync-poll-interface-20071022
    
    FIXES 74708
    
    support a poll interface
    
    otherwise, the fd setsize can screw with us

commit e25e21e909c5684025a1c6066dedaffa2666c3c7
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Mon Oct 22 14:21:26 2007 +0000

    cpp-avoid-cc-E-20071022
    
    
    finding the right cpp is good. having it not be cc -E is better

commit fd1bf06004bc698242d8ceec88126384bba8f30f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 22 04:32:09 2007 +0000

    windows-ntstatus-warnings-20071021
    
    
    suppress warnings caused by multiple definitions of NTSTATUS values

commit f90153625efee1e5589df5e6b66a1162e07ddbfa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 22 04:27:14 2007 +0000

    windows-del-symlink-20071021
    
    
    The cmd.exe "del" command operates by opening a file and then setting
    the file disposition to delete on close followed by closing the file.
    
    When the filename is a symlink, the smb_fid_t scp refers to the final
    destination object and not the symlink.  In smb_CloseFid() the correct
    object would be removed from the directory by name, but the wrong cm_scache_t
    would be marked deleted.  This would result in subsequent references to
    the target file being considered invalid.
    
    Fix it by looking up the cm_scache_t of the symlink prior to performing
    the deletion.

commit 20cfc16e3d6d874a6a21f6ed68ff904dd45142d5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 20 04:58:40 2007 +0000

    windows-registry-OfflineReadOnlyIsValid-20071019
    
    
    Add registry value "OfflineReadOnlyIsValid" option.  When set to non-zero
    value, an offline or down read only volume will be treated as if it has
    a valid callback even if it doesn't.

commit 6122c757e1902baabc35d0ce0f6de336c2576b22
Author: Arno Schuring <aelschuring@hotmail.com>
Date:   Sat Oct 20 01:20:51 2007 +0000

    cpp-autoconf-located-20071019
    
    
    let autoconf find cpp

commit 7e752ba085729991101782fe40f9db8c6f384734
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 19 21:37:15 2007 +0000

    darwin80-dnlc-dont-return-deadvnodes-20071019
    
    FIXES 41550
    
    obvious. if we are going to be like GetVCache, we should

commit 05ee11d3155489bf28ca35b8b1ea4f32c97bf76b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 19 05:25:39 2007 +0000

    windows-pioctl-parse-path-20071018
    
    
    cm_ParseIoctlPath() moves the ioctlp->inDatap past the ioctl path
    to the next data value if there is one.  Make sure we move the pointer
    before we alter the contents of the buffer.  Otherwise, the caller
    uses the wrong string for its next data blob.

commit 53baa78733c01dfcf842a7d8339bc3e8c55d517e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 18 23:06:35 2007 +0000

    windows-pioctl-error-codes-20071018
    
    
    add knowledge of new cm error codes

commit 91855b82c75f7a9d840eb7e47663dd2c41eb561b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 18 06:27:40 2007 +0000

    windows-freelance-symlink-20071018
    
    
    More tweaking of the IoctlPathParsing code.
    
    Add special handling for many more pioctl operations performed on
    the Freelance root.afs volume.
    
    Add informative error values for symlink freelance operations.

commit 8598b81a6904e4a7d3436d5545fdfd7f1ee99890
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 18 06:24:39 2007 +0000

    windows-smb-20071018
    
    
    refactoring, suppression of duplicate status value definition warnings,
    and removal of old pattern matching code

commit deced1c9328ee5451c7f6927afb5b08b5d9e4ed4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 18 06:20:08 2007 +0000

    windows-afskfw-20071018
    
    
    Add SOFTWARE\OpenAFS\Client  AcceptDottedPrincipalNames registry
    value to control whether the use of Kerberos v5 principal names
    with dots in the first component are permitted.

commit 930f1d7ad79b9fbc6f329eb85d84a7263b8908d6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 18 05:11:16 2007 +0000

    redhat-spec-require-bison-flex-20071018
    
    
    require everything we need to build

commit bc1cc5a65b4096d8d489c1d20e0cb3a6f8b5b556
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 18 05:02:42 2007 +0000

    redhat-packaging-updates-20071018
    
    
    make the buildall script know centos and new fedora; make the spec file include it

commit d8faa623f7ae0c26efd9923953f10b80eaed8042
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 21:32:38 2007 +0000

    darwin-fsref-other-races-20071017
    
    FIXES 41550
    
    not clear this is exactly correct but testing seems to vet it.

commit 49630f29571b5d602e8d57aa1b48e3fe710e2a53
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 17 18:16:19 2007 +0000

    darwin-finalizevnode-get-vnode-inside-lock-20071017
    
    FIXES 41550
    
    the ovp initialization should happen while we have the vnode locked, regardless.

commit eac13cbb48a95170a310dedb5d7efd1eeb4350b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 15:32:50 2007 +0000

    afs-shutdown-free-resources-20071017
    
    
    try hard to free resources

commit 30193a043e0b3d965139ec92227f73ce31f24403
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 04:46:19 2007 +0000

    darwin90-disk-cache-20071016
    
    FIXES 43303
    
    don't break memcache, also

commit 62689b013451c38843d369ae86e46ab37099648a
Author: Douglas Engert <deengert@anl.gov>
Date:   Tue Oct 16 22:55:38 2007 +0000

    translator-sysnamelist-bugfix-20071016
    
    FIXES 74478
    
    fix sysname list support bug when the list is empty

commit 89c8d7e125a5b46f57081000fcbc698eba9e5daa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 16 18:24:31 2007 +0000

    windows-fs-uuid-20071016
    
    
    do not require afs client administrator access to display the current
    Uuid value.

commit 7b2fc6e8d53d1ca8f111cd757e723ab27e9a31d9
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Tue Oct 16 18:18:28 2007 +0000

    fs-uuid-20071016
    
    FIXES 74473
    
    Change "fs uuid" to "fs uuid -generate" where "-generate" is a
    required parameter.
    
    This command requires root access to execute it.
    
    Unlike the Windows variant, the UNIX version does not yet support displaying
    the current UUID to the user.  When this functionality is added, "-generate"
    should become an optional parameter.

commit b8ecf28e22b24cf220bbae8042ca3c2d16c7e080
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 16 17:55:10 2007 +0000

    restore-20071016
    
    FIXES 74531
    
    afs_com_err() was called without specifying the error code.

commit 38719a218c44dd78300afe179bf051e3fbd08e0f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 15 20:19:03 2007 +0000

    darwin-access-avoid-confusing-cp-20071015
    
    FIXES 69363
    
    it wants EPERM; EACCES, and it just retries forever.
    
    "no means no. now go away"

commit d66f71cc08fe1d992e4354938a8968cae03d1ce0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 15 18:23:54 2007 +0000

    darwin-install-fstrace-catalog-20071015
    
    
    fstrace needs the message catalog to be useful. install it.

commit 38a653ea0d4d3ba8307f50c1ba6637b10d90d176
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 15 18:00:58 2007 +0000

    redhat-spec-no-kdump-really-20071015
    
    
    
    make really, really sure it's not there

commit 14e71a12b6da596880debc21c224b94c33a5b6f2
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Oct 15 15:13:42 2007 +0000

    volser-return-extended-stats-to-callers-20071015
    
    FIXES 74398
    
    make sure when we roll over stats we return the new values

commit 707c164a6fb30dad05333c7346cc7d3970270445
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 15 04:18:30 2007 +0000

    windows-clean-eventlog-20071014
    
    
    delete AFS_component_version_number.h in the lang subdirectory

commit 8a50a53fdf1ec2374bb5b68cfa42b6a3aa3ee84c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 15 03:32:12 2007 +0000

    windows-pioctl-two-20071014
    
    
    Two more locations where an intermediary path of length zero should
    be ignored.

commit 7504c664028a3df8bbf5ba682c8b39a8fc05aae2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 14 06:54:06 2007 +0000

    windows-pioctl-20071014
    
    
    do not parse an intermediary path if the path length is 0

commit b6cfa8d6c8e193edafc607a34e338cc62c386a51
Author: Derek Atkins <warlord@mit.edu>
Date:   Fri Oct 12 05:28:55 2007 +0000

    rpm-kmodule-patch-20071012
    
    
    install the openafs module in the kernel module area, in rpms

commit 7832148ae0e8c9f17a2ac2eb879c7b2fdf69403e
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Oct 11 18:44:53 2007 +0000

    gcc42-integer-overflow-fix-20071007
    
    
    fix issue where gcc 4.2 compiled kernel modules were breaking on linux
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    with fix from Hans-Werner Pulsen
    
    ====================
    
    with fix from Hans-Werner Pulsen

commit e1b1f4655f537427369c996b22816b0e5426da82
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 11 17:51:56 2007 +0000

    macos-version-generation-20071011
    
    
    make release time simpler

commit c4ad02b69aae927f1444f7386c040d48ee7abc17
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Thu Oct 11 17:38:56 2007 +0000

    rpm-files-update-20071011
    
    
    updates for the specfile and rpm generation

commit 4a80289db728d5a4c41144fd7ef8a567f30263d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 10 19:50:25 2007 +0000

    windows-freelance-pioctl-two-20071010
    
    
    explicitly process the last component of the path separately and do not
    follow symlinks or chase mountpoints on the last component.

commit 63e1761b992e25fa305e6d621b31bd1113f5cbe7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 10 18:38:45 2007 +0000

    darwin90-disk-cache-20071010
    
    FIXES 43303
    
    support disk cache in darwin90

commit b7030276f7f3a2df538e40b842f04219b23b2ee4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 10 17:05:47 2007 +0000

    windows-build-xstat-20071010
    
    
    build xstat directory

commit 9991a731e01426909fed050c1e292bb8a859978c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 10 16:43:30 2007 +0000

    windows-clean-eventlog-20071010
    
    
    clean eventlog/lang/AFS_component_version_number.h

commit 58627b15ebae4ecd6e574d11e1848fab53ffc2d1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 10 16:37:25 2007 +0000

    windows-installer-wix-20071010
    
    
    Later versions of the wix toolset require that all variables be defined
    with a value.

commit fae48bb39bbcb2366bc4087d7a67126c9d21c525
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 10 16:20:29 2007 +0000

    windows-freelance-pioctl-20071010
    
    
    pioctl commands were failing with CM_ERROR_NOSUCHCELL because the
    Freelance cell object was not being added to the Cell Name and ID
    hash tables.
    
    ParseIoctlPath was not consistently returning the FID of the specified
    symlink or mount point object.  The was still one more case in which
    CM_FLAG_FOLLOW was being specified left over from
    windows-parse-ioctl-path-20070629.  Changed the use of CM_FLAG_FOLLOW
    into a 'follow' variable to ease testing and permit easy migration to
    adding a 'follow' parameter to the function.
    
    RXAFS_GetVolumeStatus is always going to fail for Freelance volumes.
    Fake the response data.
    
    UpdateVolume() was performing the wrong test for Freelance volumes.
    Freelance volumes should not be marked offline even though they have
    no servers.

commit 604838e7d43f4cd65d4eb70208bea57db2e93026
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 9 22:28:18 2007 +0000

    darwin90-debug-harder-20071009
    
    
    stab the stabs

commit 9240a1e2525971e6eb419e5be2ea98a16342b657
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 9 22:26:24 2007 +0000

    taking-rx-back-into-the-20th-century-20061228
    
    
    ken's patch is now on the ipv6 branch

commit b4b2b74d145140fb785170dfbab5ca50ef24f045
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 9 16:58:47 2007 +0000

    darwin90-dsym-and-ppc-cputype-support-20071009
    
    
    build for all ppc cputypes. also, support dsym debug info instead of stabs, when appropriate

commit e4adbbc79b016b3fa4e83ad0e261a4c47aad55a5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 5 23:16:36 2007 +0000

    sol10-abstraction-20071005
    
    
    abstract things as needed

commit f6e59be4dc203f4662d723ab42ed7f07c3367678
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Oct 5 04:30:19 2007 +0000

    dafs-listen-after-restoring-state-20071004
    
    
    don't start rx server until the previous state has been loaded

commit 409a3457033c4fe00074f22def3b29f630367dad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 5 04:22:27 2007 +0000

    vol-salvager-avoid-logging-to-nothing-20071004
    
    
    check for logFile before using

commit 127cebfacdaf84292fc1ecfd64c0e8d259aba474
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Fri Oct 5 04:07:27 2007 +0000

    linux-2623-support-20071004
    
    FIXES 70773
    
    update for support for 2.6.23

commit 4ac01ec1ed2ce588185c055acfa3d73095a5b444
Author: Dale Ghent <daleg@umbc.edu>
Date:   Fri Oct 5 03:22:11 2007 +0000

    solaris10-network-updates-20071004
    
    FIXES 72759
    
    This patch removes use of the non-Public ILL structures by OpenAFS to
    gather network interface information in order to make RX packet size
    and server locality decisions.

commit 3c216378cba651dcb6519d7e615be37b534b56c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 4 15:11:07 2007 +0000

    windows-btree-rename-case-only-20071004
    
    
    Attempts to rename by case only would fail when there are more than
    one ambiguous matches.  The list of data nodes would be corrupted
    and future tree manipulations could result in a crash.

commit a7abca15b09561a0d9fda11c0cb99c9edd535d1d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 3 16:27:53 2007 +0000

    libadmin-minimize-dns-lookups-20071003
    
    
    Some cells have a large number of servers listed in the vldb that
    no longer exist and/or do not have PTR records in DNS.  The algorithm
    used to obtain the "server names" from IP addresses involves opening
    a cell handle, creating an iterator of all servers, and then iterating
    over them until a match is found for the IP address.  This is done for
    every server reference.  Each time the iterator was constructed the
    vldb would be queried and gethostbyaddr() would be called on every listed
    ip address.
    
    This patch stores a copy of the server list in the cell handle along with
    an expiration time generated from a 10 minute TTL.  This significant
    reduces but does not eliminate the number of times that the caller is
    blocked on reverse dns lookups.

commit a4b995b61811ccfbe0586ad8ab3c096cf817d9b7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 3 16:17:43 2007 +0000

    windows-tviced-resfile-20071003
    
    
    Add explicit build rules for TVICEDRES since we do not
    build the non-threaded file server on Windows

commit 6cc29578b0a7d3ba06003070dce7e1df6cfeb327
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Tue Oct 2 01:14:08 2007 +0000

    dafs-cbstate-tracking-fix-20071001
    
    
    fix this the rest of the places it happens

commit 7890ce9eade282398c06c00166b43e7d23151944
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 1 21:02:03 2007 +0000

    windows-lanahelper-20071001
    
    
    uninitialized variable in lana_IsLoopback

commit aecaddba376c5e2f15a7cb52f1777b07546695d4
Author: Dan Hyde <drh@umich.edu>
Date:   Fri Sep 28 00:15:30 2007 +0000

    vollistpart-init-error-20070927
    
    FIXES 72144
    
    correct an initialization failure in VolListPartitions

commit 29d5a11a1fad9d93baab18409faed02547df5a63
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Sep 27 17:30:32 2007 +0000

    dafs-avoid-volhdr-leak-20070927
    
    
    when there's an error don't leak the loaded header; release it

commit 0ef8174a29d8963eee46b9deddc9cc465925ae88
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 20 12:56:54 2007 +0000

    readme-nt-20070920
    
    
    update wix and nsis instructions

commit c984f03a9185e5b1b69e182ad891caa83541d08c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 20 12:44:23 2007 +0000

    windows-version-info-20070920
    
    
    add version info to the threaded version of butc.exe that we ship

commit a0fa3b559836d134c44eae20cbd6d7d1d04a0d10
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 20 05:52:23 2007 +0000

    krb5-aklog-kimpersonate-conditionalize-20070920
    
    
    make kimpersonate conitional

commit 1aad009863a20306faae2996523a7a4c5efab18b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 20 05:01:44 2007 +0000

    dafs-loadvolumeheader-before-we-need-it-20070920
    
    
    make sure we have a header instead of potentially dereffing null

commit 87d87d33ea0b38cfa11ded288e6c24a1db7f13b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 20 04:54:14 2007 +0000

    windows-fs-memdump-20070919
    
    
    add directory lookup stats to "fs memdump" output

commit a186b0d65c00a338995ad1f6379ef232742ab224
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 19 22:27:53 2007 +0000

    windows-hex-dump-20070919
    
    
    remove the broken percent quoting from OutputDebugHexDump as it is
    not required.  We never use the resulting string as a print format string.

commit feab12b929564a27a77bb84278291493003b605f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 19 18:55:55 2007 +0000

    windows-version-info-20070919
    
    FIXES 71397
    
    Many of the OpenAFS binaries that are installed on end user machines
    did not have version information.  This is problematic as it is impossible
    to determine which version of a binary the crash report was filed against
    when a report is received by Microsoft Windows Error Reporting service.

commit b8abf04a45a82cc880d2ad59d3bbf2217fa08c11
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 18 17:57:31 2007 +0000

    windows-vnovnode-while-file-in-use-20070918
    
    
    Discovered another case where VNOVNODE errors were not being handled.
    If there are dirty buffers and a VNOVNODE error is received while
    writing the buffer, the buffer would be left in the dirty buffers queue.
    This caused a couple problems:
    (1) any attempt to flush the file, volume, or cache would fail because
        there were unflushed dirty buffers that could not be flushed.
    (2) shutdown of the service would hang because the buffers could not
        be flushed.
    
    In addition, while a VNOVNODE error would result in the cm_scache_t
    being marked CM_SCACHEFLAG_DELETED, this state was not being checked
    at the SMB layer.  As a result, if a smb_fid_t was allocated and it
    referenced the deleted cm_scache_t, the SMB operations would continue
    to be processed and report success even if the actual file or directory
    no longer existed.
    
    We now clear the dirty state on buffers which cannot be written due to
    VNOVNODE errors.  We also check the cm_scache_t for deletion prior to
    use whenever a smb_fid_t is looked up.  If the cm_scache_t is deleted,
    the smb_fid_t is closed and the error CM_ERROR_NOSUCHFILE is returned
    for files or CM_ERROR_NOSUCHPATH for directories.

commit a47f4bacd8b091a7917ffefe405a6f0f036499d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 18 07:36:04 2007 +0000

    windows-afs-config-vista-uac-vs2005-20070918
    
    
    merge the manifests for vs 2005

commit 9bf29bbe1e0f8eabe4586dc3bdb5afceb2c19c30
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 18 07:13:08 2007 +0000

    windows-afs-config-vista-uac-20070918
    
    
    Mark afs_config.exe via a manifest with
    requestedExecutionLevel = HighestAvailable
    
    This will ensure that when Vista UAC is active, that a member of the
    Administrators group must run the AFS Control Panel with Administrators
    privileges.

commit 8ba598cd84988f049535b3f9ded3bafa3cfde4ff
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 18 07:07:16 2007 +0000

    windows-cl1310-manifests-20070918
    
    
    add support for manifests to .NET 2003 builds

commit eae26ab6b2b618d55ffbd2498e37a53fddf59ed7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 18 07:04:02 2007 +0000

    windows-nsis-20070918
    
    
    fix error in NTMakefile that used the CL_1310 configuration for the
    VS 2005 compiler
    
    force RequestExecutionLevel to admin for Vista

commit 70fa2d2499fbe687e55559fd6d154601645734d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 13 18:58:00 2007 +0000

    windows-down-servers-20070913
    
    
    Do not assign a new downTime to a server that is already down.
    Doing so breaks the logic to preserve callback validity until the
    server comes back up.

commit b06335911bb203b74ab7129266680d8d2b97739b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 13 02:41:07 2007 +0000

    windows-afsmaxpath-20070912
    
    
    ensure that all path stack buffers are of size AFSMAXPATH

commit f15a9a2788a2de589adda1a990a34d36851c4978
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Sep 12 19:25:53 2007 +0000

    dafs-shutdown-state-fix-20070912
    
    
    clean up the dafs shutdown code to not read bogus info into the id

commit a6d7cacfdca82815af2cc0fda570340802a73dc3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 12 19:09:42 2007 +0000

    aklog-kimpersonate-20070912
    
    
    inline kimpersonate support, to make testing easier.

commit 5647c133e938a7985365163ccac722119660e97f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 12 18:28:00 2007 +0000

    windows-dir-bplus-shortnames-20070912
    
    
    When a file name does not conform to 8.3 notation, an 8.3 notation
    alias is generated for it.  This short name form must be searchable
    in the B+ tree.
    
    This commit adds a longname field to the data node which is used both
    to identify the real name associated with the short name as well as
    whether or not the short name is in fact an alias.   Being able to
    determine whether or not a data node is an alias will be important
    when we support using the B+ tree for directory enumeration.
    
    For insertion, if the name does not conform to 8.3 notation, a second
    entry is inserted into the B+ tree using the shortname as the key and
    the longname stored in the data.
    
    For deletion, we lookup the data node for the provided key.  If there
    is a longname we remove the longname entry first and then the shortname
    entry.  If the key is a longname, we lookup the data node so we can
    acquire the FID and then use that to compute the shortname.  We then
    remove both the shortname and longname entries from the B+ tree.

commit 40090977d270f6113cca4925b9564f57c4917f35
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 11 17:11:54 2007 +0000

    windows-getcell-deadlock-20070911
    
    
    don't hold the cm_scache_t mutex across calls to cm_GetCell() since
    cm_GetCell() can block in an RPC call.  If that cm_scache_t must be
    accessed to revoke a callback, it can result in a deadlock.

commit c22f945bb783ba003c12ce73574568a9c4b80304
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Sep 11 16:37:01 2007 +0000

    namei-protect-against-extra-files-20070911
    
    
    if someone is monkeying in the filesystem, sometimes they shoot themselves. save them if they renamed foo to foo.bak (where foo is a full 64 bits)

commit bf6c13352abf39e53e723e60aae11d6e246c0cfd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 11 06:02:42 2007 +0000

    windows-prefetch-executables-20070911
    
    
    avoid prefetch race condition in CreateX functions
    
    do not permit reference underflow when ending background prefetch ops

commit 049c95d74cab7ba99b99f9634a32f38058c86fb1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 10 22:54:25 2007 +0000

    namei-fsync-less-20070910
    
    
    remove sync() call from Windows build

commit 3b7188b326292c8161048108b2355c4acdc44f30
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 20:06:58 2007 +0000

    windows-prefetch-executables-20070910
    
    
    This code defines a new service parameter "PrefetchExecutableExtensions"
    of type REG_MULTI_SZ.  By default it is undefined and does nothing.  If
    it is defined, files that match the extensions will be prefetched in
    their entirety.
    
    All of the prefetch functions now pay attention to the length parameters.
    Previously, length parameters were specified on some functions in the
    chain but they were ignored.  The reality was that the chunksize was
    used regardless of what was indicated.
    
    Prefetching is still optional.  If the prefetch fails during the initial
    attempt you lose.  Otherwise, as many buffers as are required to satisfy
    the requested prefetch length will be requested from the file server in
    chunksize units.  If buffers have already been acquired, they are skipped
    during the prefetch operation.

commit 22da0dd5f8025d8e842229290e3e07207483ce1a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 20:00:55 2007 +0000

    windows-largeinteger-20070910
    
    
    Fix the function type so that assignment of return values are
    properly applied.
    
    Add missing comparison routines.

commit 7a6e406b803115176b9d8d2c235f5c729631103f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 05:53:48 2007 +0000

    windows-callbacks-20070909
    
    
    when suspending only clear callbacks for servers that are in an up state.
    if they were in a down state, then we couldn't send the clear callbacks
    message but more importantly, we need to leave the callback info current
    because the callbacks should not be cleared until the server is once again
    reachable.

commit 4914e45f26d88f9087a055721020bec9444c731f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 05:12:10 2007 +0000

    windows-readme-nt-20070909
    
    
    update NSIS version to 2.30

commit 36414528add4f7e30147e19ef9777478ca9f60ef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 04:33:44 2007 +0000

    windows-wix-20070909
    
    
    make the service display name consistent with the NSIS installer.

commit 4913dd6b78d8715bf33af230573e883c6abdabf9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 10 04:30:34 2007 +0000

    windows-nsis-20070909
    
    
    do not link object files twice

commit dbbd59495bcda2a93d640f8cf5adf0b587f4591b
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Fri Sep 7 05:02:09 2007 +0000

    namei-fsync-less-20070907
    
    FIXES 30632
    
    we call fsync() too much. call it less, and fsync in the background

commit b3e385fc1093818c59d7f46477bb723132fcfd93
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 5 22:49:30 2007 +0000

    consolidate-cellservdb-20070905
    
    
    step 1. one place.
    step 2 is coming: fix the scripts to update it when we do a release

commit edaa34d3a0ea74bffd886ec40e1c13af7c38a4af
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Sep 3 04:58:40 2007 +0000

    dafs-savestatefe-avoid-overflow-20070902
    
    
    The problem is that cb_stateSaveFE() overflows an iovec array
    on its stack. When it returns, the PC is loaded with garbage and the
    process crashes.

commit a8eddfb0f57ba390d5941608a4689dba8f7f0c0b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 2 17:36:23 2007 +0000

    windows-64bit-ms2mit-20070902
    
    
    add ms2mit support for 64-bit windows

commit 6270294d49bb1d55630a1a98a8a948ec3b585597
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 2 17:21:25 2007 +0000

    windows-win64-kfw-20070902
    
    
    leashw32.dll has been ported to win64 as leashw64.dll

commit 7cbd3a320a0d133e171e2625ca9365c768ceea8b
Author: Jim Rees <rees@umich.edu>
Date:   Fri Aug 31 18:22:11 2007 +0000

    obsd-rm-pinstall-20070831
    
    
    skip pinstall

commit 8056e9347ac139263cdc4b051ec7763d80c11214
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 31 15:30:27 2007 +0000

    dafs-commit-updatelist-change-20070831
    
    
    actually save the changed value

commit cd7ac781bc7fcc301af837f4fc2b2d3629fb1095
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 31 05:02:23 2007 +0000

    windows-afscreds-win64-20070830
    
    
    disable krb4 and ms2mit for win64

commit 084ade0a987589593e2066394f35ebd98ee2137f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 31 03:55:53 2007 +0000

    windows-afsd-dirop-20070830
    
    
    Do not attempt to obtain a write lock on a directory
    if we already know that we aren't going to perform any
    local directory updates.
    
    Add the CM_ERROR_BPLUS_NOMATCH error which has the same
    meaning as CM_ERROR_NOSUCHFILE except that it indicates
    that we came to that conclusion as the result of a bplus
    search.  This provides us the ability to short circuit
    additional directory searches since we know the answer
    is final.

commit d8db0aa8eb313cd6727e392e42fa3ba78a169054
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Aug 31 03:26:13 2007 +0000

    windows-wix-20070830
    
    
    permit instloop.exe to be extraced to Client/Programs/instloop.exe
    from the installer by using "msiexec /a".

commit ad8a1cc2162aa484b9ec0f335c91d4d84dd12aad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 29 22:51:35 2007 +0000

    windows-64bit-afskfw-20070829
    
    
    Disable the use of krb524, leash, and ms2mit (because it depends on leash)
    for 64-bit builds.  We will need to implement our own replacement for the
    ms2mit functionality.

commit 0d81b9662e75a36a76b2b708499b101abb9b3bb5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 29 07:53:51 2007 +0000

    windows-wix-64bit-aklog-20070829
    
    
    enable the installation of aklog.exe and asetkey.exe on 64-bit
    windows.

commit d62316facd903af07303845686cfdbb05fc7551a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 29 07:45:12 2007 +0000

    windows-64bit-aklog-no-krb4-20070829
    
    
    disable krb4 and krb524 functionality in 64-bit aklog because there is
    no support in 64-bit kfw.

commit 20914ba284846d59c09dd4849d0305e07f939f02
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 29 06:31:03 2007 +0000

    windows-nim-afs-file-ccache-20070829
    
    
    make the afs network identity provider compatible with FILE:
    credential caches.  this is mostly of importance to 64-bit
    Windows users since there is no CCAPI implementation for
    64-bit KFW.

commit cad4d1137b60c72b108fa97c266115d5dc7dc370
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 28 22:22:53 2007 +0000

    windows-64bit-nim-no-krb524-20070828
    
    
    do not load krb524.dll on 64-bit windows

commit 1c264430ff8efa1afe7a61162d12cd499d6d30ee
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 28 18:48:49 2007 +0000

    windows-bplus-disable-20070828
    
    
    In preparation for 1.5.24, disable B+tree support by default.
    It can be enabled with the "BPlusTrees" registry parameter.

commit 43d5267be5c2649110b160d82cf12bed4a60742a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 28 18:30:08 2007 +0000

    windows-wix-amd64-nim-provider-20070828
    
    
    Add network identity manager afs provider for amd64

commit 822ad3eb72cca27b7d90f628186290d96c06756d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 28 17:59:48 2007 +0000

    windows-amd64-20070828
    
    
    add amd64 build dependencies

commit 3eb4ef6301b055135d6420dbf5a6f0e1560f89a8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 28 17:53:26 2007 +0000

    windows-nim-amd64-20070828
    
    
    Add support for 64-bit Windows.

commit ac7471cc333bf1676ac0467f6b01995b293fac3c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 27 01:10:15 2007 +0000

    windows-bplus-20070826
    
    
    add more DEBUG_BTREE debugging code
    
    in placeEntry() protect against slot equal to zero
    
    fix compareKeys() to only return -1, 0, or 1.

commit cd0a515e9f68604ab0fef15a9b7110402d2bc8a9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 27 01:04:09 2007 +0000

    windows-recursion-fix-20070826
    
    
    protect against a null pointer dereference

commit 8f9b810bf0fd2d47d6ff074d816f2b66db1ae1f6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 25 17:55:07 2007 +0000

    windows-bplus-tree-20070825
    
    
    == ! =
    
    fix the return code in cm_Rename()

commit c8bf408ced50cf9fba1595ec94368e4060223d89
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 24 04:19:18 2007 +0000

    windows-bplus-tree-20070823
    
    
    Windows uses case-insensitive file name pattern matching
    but AFS is a case sensitive file system.  The AFS3 directory
    format is block based, uses network byte order and
    includes a hash table for fast case sensitive lookups.
    This causes several problems for the Windows AFS client.
    (1) Traversing the directory blocks is cpu expensive
    (2) A hash table miss does not indicate that the desired
        entry does not exist.
    (3) Determining whether a non-ambiguous inexact match or
        the entry does not exist requires a linear traversal
        of the entire directory.
    These issues often result in 100% CPU utilization.
    
    These issues are addressed by building a modified B+ tree for
    each directory and then using the B+ tree for searches.
    
    Further improvements can be made by using the B+ tree leaf
    nodes for directory enumeration.

commit e5ec3ad4fc7009fec4a0760738a6b23c250d5d83
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 23 21:42:55 2007 +0000

    windows-recursion-fix-20070823
    
    
    for . and .. find the last time we saw the fid in the list
    instead of moving back a fixed count since the parent might
    be a symlink or a mount point or both

commit c675454e7f6b105d1433663a29ef2a9471f0a173
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 23 17:50:58 2007 +0000

    windows-makedir-uninitialized-var-20070823
    
    
    scp must be initialized to NULL to prevent improper evaluation

commit 985a2e34d60a803c11cce4729b16484847aec97b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 23 17:47:46 2007 +0000

    windows-volstat-log-20070823
    
    
    must save the log string when it comes from a buffer on the stack
    otherwise garbage is logged in afsd.log

commit 1727d4928fa71c82d95e0bbd8d5db10baa795f97
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 23 17:44:43 2007 +0000

    windows-smb-max-path-20070823
    
    
    the actual max path is 260 not 256

commit 5cae22ea3aa2580aaac1b465c024854791d3d8d7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 23 17:28:54 2007 +0000

    checkhost-use-reentrant-list-traversal-20070823
    
    
    rather than making a copy of the whole hostlist and holding every host, hold
    what we need, the _r (not really reentrant) version.

commit 314b3abaff30fb6a359944f14dca3716b8572547
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 22 20:37:10 2007 +0000

    linux-nfs-pag-handling-20070822
    
    
    don't mishandle pag argument when passed in from e.g. knfs
    
    don't make keyring pag for nfs clients

commit 10c60218471b1312f4235135aa2e74cd9687a0a4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 22 17:09:53 2007 +0000

    windows-fix-recursion-detection-20070822
    
    
    handle symlinks to absolute paths

commit d467431115d6db57fe8dd29c2c0308486997a1ad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 22 16:59:16 2007 +0000

    windows-newfiles-20070822
    
    
    add place holders for the B+ tree source files.

commit c31cfea03d95779cf334c7aa0c08067e49dc5d47
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 22 03:16:26 2007 +0000

    linux-module-error-handling-20070821
    
    
    be more careful about what we call when, and clean up after ourselves

commit 34bbb13160e0d1fc2155f9fc1a906469d7aa3fde
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 22 03:12:13 2007 +0000

    nfstrans-updates-20070821
    
    FIXES 1480
    
    fix the knfs error from the v/c/o pioctl changes

commit 2a9ef007a3271ef2e49af13093d4e30c147c0b31
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 21 22:27:02 2007 +0000

    linux-modparam-269-updates-20070821
    
    
    be consistent on 2.6.9 about which MODULE parm family used

commit 8dd2300a788465035ea695d7de81362609d0a5a8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 21 09:42:53 2007 +0000

    windows-afskfw-20070821
    
    
    return required value that was missing

commit d0f62da48417989040986a0bd6539d9696616229
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 21 09:27:37 2007 +0000

    viced-remove-asserts-20070821
    
    
    remove asserts testing the number of alternate interfaces.

commit e9607dcbc7d95c47ee75d8ce6b94220016ef0513
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 20 19:47:05 2007 +0000

    windows-smb-20070820
    
    
    correct location of brace due to mis-application of patch

commit d0a92c7bdeeac96a0d09e02a1494ff398f57f1bb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 20 18:50:16 2007 +0000

    find-dcache-just-hold-the-lock-slightly-longer-20070820
    
    
    we go out of our way to hold xdcache to protect indexTimes elsewhere... there's
    no reason to drop it here just before this...

commit da79b76e7d5807330b0fc3c2b9518b150beba312
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 20 18:35:59 2007 +0000

    tviced-windows-20070820
    
    
    build serialize_state.c

commit 5eff5f4ee8b02d17be64b46f8fb8669a40bf1666
Author: Alejandro R. Sedeño <asedeno@mit.edu>
Date:   Mon Aug 20 18:26:15 2007 +0000

    krb4-64bit-tf-kth-or-mit-20070820
    
    
    based on his patch for mit kerberos

commit 4a9d15a2e4d3e91261dfa1c9fe08f75d88fd166d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 20 02:00:48 2007 +0000

    windows-fix-recursion-detection-20070819
    
    
    the recursion detection code did not take "." and ".." into account.

commit d71d37bad8f1ce7fea59d537464d1d82ce8f2508
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 20 01:06:31 2007 +0000

    windows-fs_utils-20070819
    
    
    update prototype for util_GetInt32 for consistency with src/utils/vosparse.c

commit a6fe83d9a661743b11ee1eb7cc8f3f46810475da
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Aug 19 23:04:31 2007 +0000

    no-kseal-20070819
    
    
    Don't build or install kseal by default.  It's a debugging tool with very
    limited utility.

commit dfb2961b677299a726be33e63b29476f003d03a7
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 19 23:02:27 2007 +0000

    man-page-fixes-20070819
    
    
    More details on how to run check-pod.  Restore the [] markup in the vos
    changeloc SYNOPSIS since the flags really are optional.

commit fb1cc324a498908f823e3c8ceb2b2be29cc785c3
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Aug 18 03:28:54 2007 +0000

    man-page-vos-changeloc-more-20070817
    
    
    Mention vos changeloc in the vos man page.  Also include an incidental fix
    to pts source's man page.

commit dc5adbeaac1548a7649ee81cb87d9eea88021b93
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Aug 18 03:24:24 2007 +0000

    man-page-vos-changeloc-20070817
    
    
    Add a man page for vos changeloc.

commit 024442b020043501f14069d762ecefbf7feef59a
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Aug 18 02:05:42 2007 +0000

    man-page-fs-updates-20070817
    
    
    Add man pages for fs flushall and fs getcalleraccess.

commit 815ac3c773d9312f2abf6e7903aa3d723618485a
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Aug 18 01:41:39 2007 +0000

    man-page-bos-util-20070817
    
    
    Add a man page for bos_util.

commit 87efbab4e8c0dc37c1938503eea88f7f319b7e5d
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sat Aug 18 00:35:44 2007 +0000

    man-page-updates-20070817
    
    
    Add new man pages for pts interactive, quit, sleep, and source.  Fix POD
    errors in a few other man pages and update the to-do list in README.

commit a8172fca24f91e2b5ab10f66d62d766b7e5d46c1
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Fri Aug 17 20:57:20 2007 +0000

    man-page-check-pod-20070817
    
    
    Add check-pod script to test for POD syntax errors.

commit 25ace7c2c79705a59be4aded829aaf8d1dc003e2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 16 04:51:06 2007 +0000

    aix-dont-use-root-vfs-for-anything-20070815
    
    
    the cache may not be in /; we basically never need rootvfs

commit b20488de08d230125b3110ec51fe753ef514ddb7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 13 20:20:31 2007 +0000

    windows-fs-utils-prototypes-20070813
    
    
    use ANSI prototypes and function declarations

commit 35f91f1203717f8ab9f00f0914025fc6606e102d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 13 03:52:21 2007 +0000

    windows-service-manager-20070812
    
    
    provide the windows service manager with shutdown hints in addition
    to startup hints

commit a9e7bedcc91a9cb00b2cb1af80fe273fc70664f6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 13 03:25:33 2007 +0000

    viced-dafs-20070812
    
    
    include viced_prototypes.h

commit c677b79931efb672a439993f32571c53ce17c56e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 13 03:11:55 2007 +0000

    windows-remove-is5-20070812
    
    
    remove last trace of InstallShield5 from build rules

commit 58d5f38b10b35ab3712eacde60f2a06fb2f2a062
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 12 00:39:33 2007 +0000

    pts-20070811
    
    
    remove SUPERGROUPS condition for compilation of pts commands:
      Interactive, Quit, Source, Sleep
    
    fix the assignment of 'source' to permit it to function
    
    rename functions to avoid conflicts with Win32 API on Windows
    
    replace bcopy and bzero with memcpy and memset to permit compilation
    on Windows
    
    replace ubik_Call(xxx) with ubik_xxx() (testpt.c)
    
    add -DSUPERGROUPS and map.c to NTMakefile

commit e7ff4185a5e978798b194f8214056425debc8fbc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 10 21:38:20 2007 +0000

    windows-adjustable-block-size-20070810
    
    
    New registry value "BlockSize" can be used to specify an alternative
    block size.  The default is 4K.  A larger blocksize will be needed if
    you want to support a 6TB cache.
    
    Also extend the service startup timeout hint to two minutes to give
    the AFS client service more time to startup successfully when the
    cache is really large.

commit 7a042f3ce4914079ade3c159a7b541445acf758b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 10 13:36:24 2007 +0000

    windows-wix-20070810
    
    
    add a separate description string for the 32-bit afs shell extension

commit 493cad12aa00c321ad125118a9bd9b037a651863
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 10 05:11:35 2007 +0000

    viced-cleanup-head-20070810
    
    
    fix demand attach rwlock code on macos, fix host tracking code everywhere
    
    only applies to head and 1.5

commit 25a64a7eb219e3946e5a45f27e14fc53d43d7fcc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 9 23:53:07 2007 +0000

    windows-aklog-20070809
    
    
    correct an error message

commit 6811175f37ba51691556d64309d59dbff8a1a29c
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Aug 9 15:56:51 2007 +0000

    64bit-ticket-file-20070809
    
    
    fix the ticket files we write on 64 bit

commit 377689b39a1821eb268b25cebc9e6cb1ccc0d88a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 9 06:33:17 2007 +0000

    windows-dirty-buffer-optimization-20070808
    
    
    when storing dirty buffers only store the bytes that are dirty
    
    increase the default chunksize from 128KB to 1MB
    
    remove OVERLAPPED field from cm_buf_t.  It was unused.
    
    add a dummy pointer in order to ensure data structure compatibility
    between the checked and release builds.

commit d51feff4b2c79fb25666559abbb007823d938d57
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 8 17:30:20 2007 +0000

    viced-hash-20070808
    
    
    (1) fixes a bug that could cause a 'host' structure to not be removed
    from the global host list if the 'host' did not possess an interface
    list. This would happen with older AFS clients that do not support the
    WhoAreYou family of RPCs. Windows clients older than 1.3.80 and old
    Transarc UNIX clients.
    
    (2) fixes a bug which could result in ViceLog being called with an
    uninitialized 'hoststr' buffer as a parameter.
    
    (3) ensures that only addresses known to belong to the 'host' are
    added to the address hash table.  The list of addresses provided by
    the client are stored as alternates and are only used when searching
    for a client that is no longer accessible on the primary address.
    These addresses are not stored in the address hash table within
    initInterfaceAddr_r().
    
    The addresses provided by the client should not be added to the hash
    table because they have not been verified as belonging to the 'host'
    that provided them.  The contents of the list may in fact be completely
    unreliable.  Consider the existing UNIX clients that generate the list
    at startup and never alter it even after the client has migrated to a
    different network.  If two client's both claim the same address,
    lookups by address may fail to find the correct one.
    
    a. The client list might contain private address ranges which
    are likely to be re-used by many clients allocated addresses
    by a NAT.
    
    b. The client list will not include any public addresses that
    are hidden by a NAT.
    
    c. Private address ranges that are exposed to the server will
    be obtained from the rx connections that use them.
    
    d. Lists provided by the client are not necessarily truthful.
    Many existing clients (UNIX) do not refresh the IP address
    list as the actual assigned addresses change. The end result
    is that they report the initial address list for the lifetime
    of the process. In other words, a client can report addresses
    that they are in fact not using. Adding these addresses to
    the host interface list without verification is not only
    pointless, it is downright dangerous.
    
    e. The reported addresses do not include port numbers and
    guessing that the port number is 7001 does not work when
    port mapping devices such as NATs or some VPNs are in
    use.
    
    (4) improves logging to ensure that all references to a 'host' structure
    report both a memory address and the IP address/port. this will avoid
    confusion *if* more than one 'host' structure is assigned the same
    primary address.
    
    (5) logs the UUID along with the client addresses when initializing the
    host's interface list. (level 125)
    
    (6) saves memory by using a smaller structure for the UUID hash table

commit f099df38b2eff9c8c5afb52ec1a69dd89af22dad
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Aug 8 16:53:17 2007 +0000

    viced-multi-probe-addr-20070808
    
    FIXES 67355
    
    MultiProbeAlternateAddress_r badly indexes the list of interfaces for
    clients with multiple IP interfaces, resulting in peers with IP
    address 0 port 0 to be created. This in turn results in rxi_sendmsg
    errors (on systems where caught early, as on Linux, on others it may
    pass unnoticed).

commit 8c69510d92052607f94d947ce2dd3e0b40eee42f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 7 05:00:06 2007 +0000

    windows-afsd-uninit-vars-20070806
    
    FIXES 67126
    
    ensure the connp is set to NULL in case of error

commit 87d2f5cd3f1e370f6daf6b6170e00f156644315a
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 5 22:58:35 2007 +0000

    man-page-vos-size-20070805
    
    
    Add a new man page for vos size.

commit e7742db31f68acf2d227c13840e0a0ed9291d247
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 5 22:38:10 2007 +0000

    man-page-fs-newalias-20070805
    
    
    Add a new fs newalias man page.  Add -help to the synopsis and options of
    the other new man pages.  Add additional missing links in the fs man page.
    Fix some wording in the CellAlias man page.

commit 95cfc0cfafe5c0a3f9f8ff07cb3c2be29fe9e3fc
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 5 22:16:47 2007 +0000

    man-page-fs-listaliases-20070805
    
    
    Add manual page for fs listaliases.  Also add the links in the fs(1) man
    page and update README more for the current to-do list.

commit e735ef962de3623f8fa11cca92d13151d62b5aaa
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Aug 5 22:08:22 2007 +0000

    man-page-style-20070805
    
    
    Some style fixes and some additional style documentation in README.

commit 8761673c608986d32bb858b26441b09c24f41696
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Sun Aug 5 22:01:42 2007 +0000

    man-page-afsd-crypt-alias-20070805
    
    
    Complete the documentation of the afsd flags and update a few things like
    -settime and -nosettime.  Add man pages for fs setcrypt, fs getcrypt, and
    CellAlias.  Based on work by Jason Edgecombe and then extensively edited,
    so any errors I probably introduced.

commit 9353e122a33044df752e61de95f155f63876f0a2
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Aug 2 22:05:39 2007 +0000

    windows-local-directory-updates-smb-20070802
    
    
    The windows cache manager has suffered from poor performance as a result
    of Create, Rename, and Delete operations because they invalidate the
    contents of the directory pages in the cache thereby forcing them to be
    reloaded from the file server.   As the directory size increases, the clock
    time necessary to perform the reload increases.
    
    This delta adds support for parsing and updating the AFS3 directory buffers
    to cm_dir.c.  It then uses that functionality to perform local updates to
    the directory buffers whenever the following conditions are met:
    
     1. the data version on the directory as a result of the change
        was incremented by one.
    
     2. all of the directory buffers required for the update are in
        the cache.
    
    If these conditions are not met, the directory is reloaded from the file
    server.

commit ac5346c3703e199eaabf8eeb7e156e42644092c4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 2 21:57:38 2007 +0000

    windows-no-more-infinite-recursion-20070802
    
    FIXES 15855
    
    In cm_NameI, keep track of what fids were crossed when evaluating the
    path.  If we discover a loop return a CM_ERROR_TOO_MANY_SYMLINKS error.
    
    This resolves the complaint that when infinite loops are hit in the afs
    name space the afsd_service.exe process uses 100% of the CPU.

commit c4047f6cb52927890329b09669b1a2686ace6059
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Aug 2 21:52:54 2007 +0000

    windows-local-directory-updates-20070802
    
    
    The windows cache manager has suffered from poor performance as a result
    of Create, Rename, and Delete operations because they invalidate the
    contents of the directory pages in the cache thereby forcing them to be
    reloaded from the file server.   As the directory size increases, the clock
    time necessary to perform the reload increases.
    
    This delta adds support for parsing and updating the AFS3 directory buffers
    to cm_dir.c.  It then uses that functionality to perform local updates to
    the directory buffers whenever the following conditions are met:
    
     1. the data version on the directory as a result of the change
        was incremented by one.
    
     2. all of the directory buffers required for the update are in
        the cache.
    
    If these conditions are not met, the directory is reloaded from the file
    server.

commit 10b76dffa0ece0cca898637a00d34b27809b9eb9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 2 21:44:54 2007 +0000

    windows-do-not-expire-cbs-when-servers-are-down-20070802
    
    
    if all of the servers are down when a callback is due to expire
    delay the expiration until at least one server is available.
    this prevents some applications that are running when the CM
    is off the network from failing if their pages are swapped out.

commit 4d75b4758e70d42999bc6605971f606b03127bc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 2 06:20:08 2007 +0000

    windows-libafsrpc-20070802
    
    
    use bg-fcrypt in libafsrpc.dll which is used by the CM

commit 4b8db9f2119de86b9e52e947cc5708d89dbcc3f5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 31 23:19:15 2007 +0000

    rxkad-bg-fcrypt-unbreak-windows-20070731
    
    
    i (derrick) broke everything. fix it.

commit ece19eefbe46400e1c28834570deed7294761167
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 30 14:17:27 2007 +0000

    viced-avoid-tying-up-all-threads-20070730
    
    FIXES 19461
    
    implement a thread quota.

commit a608cd2e24e50026c36148eb357c03d583384dde
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jul 28 15:31:44 2007 +0000

    darwin-avoid-fsref-panic-maybe-20070728
    
    
    maybe this works.

commit 840ad12eb3f2f5b35a37d876aef93c01a0bea3d3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 28 04:03:58 2007 +0000

    windows-fs-20070727
    
    
    return error when GetCell fails

commit 0ba1a6275755e7df19cab1cf20fb1b7aaf176c61
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 28 03:50:23 2007 +0000

    windows-rdrtimeout-20070727
    
    
    RDRtimeout is seconds.  need to convert to milliseconds for comparison

commit d7d12d7c9b9cec32d4415b9d7bf1058d99d63d14
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 27 16:40:44 2007 +0000

    windows-client_config-20070727
    
    FIXES 66302
    
    change text of error message to indicate that the user is not a member
    of the AFS Administrators Group instead of not being a Windows administrator.

commit b741b29b4b1272ceb4081f7ab25e556e6513d7e5
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Thu Jul 26 21:53:42 2007 +0000

    man-page-demand-attach-20070726
    
    
    Document additional bos flags for the demand attach file server.

commit 2367c273bbfd3cbecc72b770ede579e60da153e2
Author: Jason Edgecombe <jason@rampaginggeek.com>
Date:   Thu Jul 26 21:46:46 2007 +0000

    man-page-updates-20070726
    
    FIXES 65988
    
    Mention aklog and kinit in klog's man page, add -dynroot to the afsd man
    page, and mention that -skipauth tells uss not to create any Kerberos
    principal and this has to be done separately.

commit ed13fac9114d3743ca1d448d3bce7f9d43bf4f5a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 26 18:04:21 2007 +0000

    md5inum-md5-clobbers-input-20070726

commit 8ba66b7ff5f78463420bed521d0cf78f708497ed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 23 00:09:06 2007 +0000

    windows-afsd-ubik-20070722
    
    
    not currently in use but replace ubik_Call(FOO,...) with ubik_FOO(...)

commit 16b32c134590fbdb13b83ea71be0579338ab8f7e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 19:51:55 2007 +0000

    volser-directoryless-incremental-dumps-20070719
    
    
    add an rpc, give vos a switch, allow incrementals which do not include directory objects

commit 960ac913a43a2fba408c08518d7114fe6b633ab5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 19 16:55:44 2007 +0000

    windows-afs-svrmgr-20070719
    
    
    uninitialized variable removal

commit 58d6f0b42ad552972e03c75d61d90a0398adf0cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 16:14:20 2007 +0000

    viced-assert-less-20070719
    
    
    in don't assert for every silly thing

commit 91fee8a699e31ad825e84a4f2bd56eb9093ea85a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 16:09:50 2007 +0000

    viced-no-nulluuid-20070719
    
    
    a host with a zero uuid has no uuid support

commit c01005269959257ed5c4ecfbde176a02ee25dea3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 16:00:20 2007 +0000

    kill-more-ubikcall-20070719
    
    
    tested more ubik call death, so, byebye

commit 982f455debcb50d0a59b0997085e7b2e9475b604
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 15:55:39 2007 +0000

    vos-validate-dumpfile-20070719
    
    
    based on code from jon nials
    validate a dumpfile as being complete (look for end of dump signature)

commit ef76695bb906c331a69356d1eb63ef00e56ea615
Author: Cesar Garcia <cesarg@ms.com>
Date:   Wed Jul 18 15:21:12 2007 +0000

    libadmin-deubikcall-cleanup-20070718
    
    
    remove bogus extra arg

commit 397cd0c3b87348d2eb642b2bb5f8a175c1d96b8e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 18 14:02:59 2007 +0000

    windows-pioctl-20070718
    
    
    cm_dir.h depends on cm_buf.h

commit a8b270d5a3db7a873de5cb945ccfc5c6425798f9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 18 13:07:46 2007 +0000

    windows-single-dir-search-not-bulk-20070718
    
    
    the single directory search routine used when there are no wildcards
    does not perform a bulk stat operation.  do not set the flag on the
    cm_scache_t.

commit 5e8227cd5e73631bb925710108638b109e6e43ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 17 18:04:01 2007 +0000

    fs-state-only-in-dafs-20070717
    
    FIXES 65681
    
    only in dafs. oops.

commit 65c1b37f15e0fc7963aac9fa630613cf0d29df26
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jul 17 13:15:19 2007 +0000

    osi-probe-check-readable-20070717
    
    FIXES 63971
    
    avoid potentially reading pges that don't exist

commit 2abf6e204c6f72993021a45485523aa04bca8ac2
Author: Marcus Watts <mdw@umich.edu>
Date:   Tue Jul 17 13:06:47 2007 +0000

    bg-fcrypt-64bit-fix-20070717
    
    
    instead of this arcane ifdef which is flawed, we know which platforms support 64 bit types...

commit 7fb5e02ff4d9a7fe70b2ecbfdb50065d7e6322ff
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jul 17 04:46:25 2007 +0000

    sparc32-no-ucontext-20070716
    
    
    Undefine USE_UCONTEXT on sparc32 Linux since glibc doesn't implement
    getcontext/setcontext for that architecture.

commit f489b05a1c055f3aa8eccdbcd96f8bbcfbf466e7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 17 04:10:18 2007 +0000

    sparc32-no-getcontext-20070716
    
    
    implement ptr_mangle for sparc32

commit 5662cd310b03b14d17f4443035b47126f9729207
Author: Eric Sturdivant <sturdiva@umd.edu>
Date:   Mon Jul 16 21:40:45 2007 +0000

    xbsa-54-solaris-cplusplus-fun-20070716
    
    FIXES 65588
    
    deal with change to c++ xbsa library

commit 82cb8884c8c962c7fbc3fc75f923e3dfdfc24a76
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 16 00:58:52 2007 +0000

    libadmin-ubik_call-20070715
    
    
    replace all calls to ubik_Call(FOO, ...) with ubik_FOO(...)
    
    correct the incorrect parameter lists for ubik_FOO()

commit a818f2d6b6dfb1538e929c74db466cbec1a1ae64
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 13 20:53:58 2007 +0000

    aix-aklog-lam-plugin-20070713
    
    
    allow aklog equivalent from lam

commit 7aa5f7ad8b50e74eba1a9f359c1c5ae44b87a016
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 19:10:05 2007 +0000

    suser-aix-macro-20070712
    
    
    can't use ifdefs inside the macro...

commit 1e86d1f3cc8166b8303e208e3a12922d44061317
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 09:28:26 2007 +0000

    demand-attach-init-fsstate-rwlock-20070712
    
    
    the rwlock needs to be initd before use

commit e13f8859a01509a45d686972959c73be1d46e500
Author: Douglas Engert <deengert@anl.gov>
Date:   Wed Jul 11 05:29:36 2007 +0000

    aklog-deal-without-524-20070711
    
    
    patch in a way of dealing with no krb524

commit 73087bd4bea8a15032b6d3309940ff183804a99d
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Jul 10 21:27:59 2007 +0000

    pagsh-krb5-20070710
    
    FIXES 54621
    
    clean up the environment

commit 28208c9a241b54d20eb492a2ffdd85b30b03f011
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 9 20:58:57 2007 +0000

    linux-register-fs-deal-with-error-20070709
    
    
    deal with other people who think they are afs.

commit d8457dd359fccfc461b220061d23cf7600a95a4c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jul 9 20:14:09 2007 +0000

    sparc-linux-des-alignment-20070709
    
    
    seems like compilers really hate des. it should would be nice to euthanize this.
    
    it's a shame there's no simple license-friendly des library to use

commit 90bc0a7f3108372bfc9408127fea17d37025c9ae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 7 14:36:59 2007 +0000

    windows-give-up-callbacks-20070707
    
    
    don't try so hard to give up all callbacks.  If the server doesn't
    respond in 10 seconds, too bad!
    
    cleanup the server probe code a bit.  reorganize the code so that we
    can avoid unnecessary pointer evaluation.  add a missing include file.

commit 5e29856f7a079fbfb7d3331a1b57414413c0a484
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 7 00:20:38 2007 +0000

    windows-afsd-misc-20070706
    
    
    * Do not give back callbacks to down servers
    
    * Output more cm_scache_t data in afsd_alloc.log
    
    * call VolStatus_Service_Stopped after the service has stopped

commit 62bf68f4ba952d06aa82e1607a43a72a203befd0
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Jul 6 12:37:01 2007 +0000

    budb-ol_verify-20070706
    
    FIXES 53210
    
    fixes a missing pointer declaration that would presumably
    break on 64-bit architectures.

commit 600a20f5a2fdd9fbcd0e54412fa29f7a16906359
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Fri Jul 6 00:44:35 2007 +0000

    cellservdb-20070705
    
    
    GCO Public CellServDB 05 Jul 2007

commit 2b9525fe9e09ad90b08c9a60fa4b098df542c047
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 5 20:21:19 2007 +0000

    windows-volume-status-plugin-20070705
    
    
    This delta adds an interface to an optional volume status handler.
    The handler (if provided) receives status updates when volumes
    change state between online, offline, busy, and alldown.

commit 01184d053a01973e14e0674c3b4c447b632775d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 5 16:54:48 2007 +0000

    windows-license-translation-20070705
    
    
    replace GlobalAlloc with malloc.  initialize memory and consider the
    inability to read the entire input file as an error.

commit 1027ca87a78f02b62af67adfd85fdd4cd43fa65e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 3 15:11:35 2007 +0000

    windows-heap-corruption-20070703
    
    
    fix buffer over write error introduced since 1.5.20

commit 35a2fe01dd4c8a73515c46cd9a076453e7434547
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 3 15:01:19 2007 +0000

    macos-no-default-memcache-20070703
    
    
    this should be leopard only memcache for now

commit a5815643fcdbb96a01d73520fa22f5652f11413d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 3 05:21:55 2007 +0000

    des-p-temp-volatile-20070703
    
    
    make des work again on powerpc darwin and possibly elsewhere

commit 8edfefbb9de23f7b1d1b23f6ce73c3310230e034
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 3 01:33:47 2007 +0000

    windows-get-cellinfo-afsdb-20070702
    
    
    enable afsdb records for get cellinfo lookup outside of afsd_service.exe
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    do not perform afsdb lookup for Freelance.Local.Root cell

commit a41d0af021b7b56532bb70d7aa63701e3915b099
Author: Dan Hyde <drh@umich.edu>
Date:   Mon Jul 2 18:05:04 2007 +0000

    volser-delete-clone-not-source-20070702
    
    FIXES 64268
    
    fixes a bug in the UV_CopyVolume2 cleanup code. Without
    this patch, the cleanup code will delete the source volume.

commit beb094fb2efaa84e99ac993a737e56379e5d3e1a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jun 30 05:43:17 2007 +0000

    windows-parse-ioctl-path-20070629
    
    
    The UNIX client does not follow mount points or symlinks when evaluating
    ioctl paths during commands such as "fs examine".  The Windows client did
    which was annoying when you wanted to know the FID of a mount point that
    was not properly being evaluated.

commit 871297aa21fbc0de58e696de8bcd2344389bf240
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jun 30 05:37:39 2007 +0000

    windows-eol-20070629
    
    
    fix end of line for memdump output

commit 43e97a8ede45ee1c469f9e275f58d50d740977df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jun 30 00:51:36 2007 +0000

    windows-procmgmt-library-20070629
    
    
    Since the library creates its own background thread, the library must
    load its own reference to itself to prevent the library from being
    unloaded behind its back.

commit 3309000efc3d6a8738792f27ca6b00c75c9d3963
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 05:10:10 2007 +0000

    windows-remove-give-up-callbacks-scache-recycling-20070627
    
    
    remove the conditionalized code used to give up callbacks in response
    to stat cache recycling due to performance impacts described in the
    commit for DELTA windows-give-up-callbacks-20070627

commit 61e6f04009bba3ac13a8eda4a6663f4b6508dbc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 05:04:21 2007 +0000

    windows-give-up-callbacks-20070627
    
    
    This large patch adds support for giving up callbacks in response to three
    events:
    
     1. power management suspend
    
     2. power management shutdown
    
     3. stat cache object recycling
    
    The third item is submitted as a condition compilation if GIVE_UP_CALLBACKS
    is defined.  Properly handing callback give ups and the associated race
    conditions with revokes and fetch status requests requires a great deal of
    over head.  The first attempt used one GiveUpCallBacks RPC for each callback
    that was being dropped as the stat cache object was recycled.  This resulted
    in a 27% performance drop in the MIT stress test.  The code that is being
    committed maintains a callback give up list on each server object.  The
    callback is added to the list as the callbacks are dropped and then they
    are sent to the server in bulk by the background daemon thread if the
    server is known to be UP after a ping.  Logic is added to the
    EndCallbackRequest and CallbackRevoke operations to ensure that race
    conditions are addressed.  With all of this, there is a 17% performance drop
    in the MIT stress test.
    
    As a result, it is my conclusion that the client side costs associated with
    optimizing the load on the server are simply too high.  I am committing this
    code to ensure that it is not lost.  I will remove this support in the next
    patch while leaving the support for giving up all callbacks in response
    to suspend and shutdown events.

commit 5c9c49137f9b08ef919963c0c9d8fdfcb9733307
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 04:52:12 2007 +0000

    windows-odd-vnode-is-dir-20070627
    
    
    its odd vnodes are directories, not even ones

commit b3d34ab12c7dc13dae6fe90596326ba1e8633ae3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 04:33:50 2007 +0000

    windows-pioctl-20070627
    
    
    add cm_server.h to the include list

commit f7c4a7e538a3f4cca0c1ae988f56561ac5383ab2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 03:11:01 2007 +0000

    volser-earlier-logging-20070627
    
    
    deal with the changes to deal with reconnecting in the unix domain fsync socket

commit 9ca8794ed4561e977df075a636869f308ef1f778
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 01:33:43 2007 +0000

    windows-afsd-headers-20070627
    
    
    remove unneeded headers and shuffle order where necessary

commit 7ecca7a58a5cd64c78ee20c712dfe8f419992678
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 28 01:15:27 2007 +0000

    windows-smb-race-20070627
    
    
    avoid a race condition when the smb_fidp is closed and an active request
    is being performed on the referenced cm_scache_t.

commit d9875469022d2aa91dff595dc97f37466852bfbc
Author: Kevin Hildebrand <kevin@umd.edu>
Date:   Wed Jun 27 22:18:59 2007 +0000

    amd64-linux-24-syscall-probe-symbol-change-20070623
    
    FIXES 63763
    
    probe for something else for 2.4 and older
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    i'll spare you

commit 6e2737190a46c9043ceb2bd7285471f00273a995
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 27 17:29:35 2007 +0000

    forceallnewconns-prototype-20070627
    
    
    missed this earlier. linux wants it.

commit 17c7ab74613309d1af0b664a81796975ac6f698d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 26 20:00:26 2007 +0000

    macos-afsd-dont-leak-symbol-20070626
    
    
    avoid leaking a ref to this symbol outside macos code

commit 470be46a4c6231ebf422b9fa9d9c47baa4342824
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 26 06:40:35 2007 +0000

    backup-usedump-20070625
    
    FIXES 55704
    
    afs_com_err not com_err

commit 5e5bfa6b9401ebc1fa5446e208cf46c15943c411
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Mon Jun 25 21:22:49 2007 +0000

    aix53-avoid-wait-crash-20070625
    
    
    avoid crashing because of unpinned mmemory when doing event handling

commit 3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 25 05:58:30 2007 +0000

    windows-get-server-list-20070625
    
    
    return an error when the cm_fid_t * is NULL since we can't look up
    the volume to obtain a server list without knowing which volume we
    should be looking up
    
    if the fidp is known to be NULL, don't call cm_GetServerList()

commit 99a61e9762373f0b2b6352fe108bb42cf59f6340
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Jun 23 16:28:11 2007 +0000

    memcache-alloc-failures-20070623
    
    FIXES 55339
    
    deal with alloc failures in memcache

commit a2cd5f5ec0cf20cca2f4a568f23759eda42e1fcc
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Jun 23 16:13:17 2007 +0000

    backup-usedump-20070623
    
    FIXES 55704
    
    restore from specific dump id

commit 8e180b6303d37cf4e45d52b67089fa9405e6aa22
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 23 15:17:46 2007 +0000

    image-fix-20070623

commit fe61d4e3a1e9419983a7a3e59ba0d196000edddd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 23 15:01:24 2007 +0000

    doc-add-missing-gifs-20070623
    
    FIXES 1826

commit ec223f850b654365d13a7f8ae483c883d35413ab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 23 07:21:00 2007 +0000

    newuuid-fix-20070622
    
    
    yeah, i should commit from places with better network if i'm going to need to edit in place, so i can see what i'm typing

commit 31dfee00018d447dceccdb71c9927e84087639c8
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Jun 22 23:22:09 2007 +0000

    windows-install-wix-20070622
    
    
    add the images from relnotes_files to the distribution.

commit ccfba9c7b806bdbd60f31010618e99eb48d2ddb6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 22 23:15:38 2007 +0000

    windows-cell-hashtables-20070622
    
    
    Add name and ID hash tables for cell lookups.  cell lookups occur on
    every request.  sometimes multiple times.  removing the walking of the
    cell list when there are dozens of cells decreases cpu utilization and
    increases throughput.

commit 8fb02b0a0c4f16a9c3de2c6c5494a7b32c3914fd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 22 15:42:12 2007 +0000

    windows-install-nsis-20070622
    
    
    add missing jpg files to documentation installation

commit 43a27633c64f1bcb371fd35a52dc58586d81a5ba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 22 15:11:04 2007 +0000

    windows-misc-20070622
    
    
    there were two sets of registry values that could be used to configure
    the daemon thread check intervals.  keep the one that was documented
    in the release notes and discard the other.
    
    Add a registry value "daemonCheckOfflineVolInterval" to configure the
    offline volume check interval.
    
    Ensure that the cm_GetConn... functions initialized the output variables
    to NULL on error.

commit afa909e66ca66db50b71434ad0396d9b5a7af936
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 22 07:00:27 2007 +0000

    windows-fake-stat-20070622
    
    
    When we are faking the status data we can use the vnode value to determine
    if the object should be treated as a directory or file.  even is a directory
    and odd is a file.  This works even when we have never successfully
    obtained status data for the object.

commit 2675d25f6955351e963ff58abfcf2ea6aefd946a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 22 06:30:47 2007 +0000

    windows-mountpoint-is-directory-20070622
    
    
    when the CIFS client requests a directory listing without directories,
    do not include mount points.

commit d7d8de3041da75e8dbfef27a153660086370780c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 21:10:56 2007 +0000

    windows-revoke-callback-20070619
    
    
    If the we can match up the host address from which the revoke was received
    with one of our cm_server_t objects, then we know which cell the revoke
    has been received from.  With that information we can ensure that we only
    revoke the status of cm_scache_t objects belonging to that cell.

commit adb83635bbb0c2ed7f549a78e2d9a56baa16b273
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 19:29:41 2007 +0000

    windows-all-cell-list-20070619
    
    
    Reverse the order of the allCellsp list.  Append new cells onto the end
    of the list.  This ensures that the workstation cell will always be the
    first in the list.  Adding additional cells will not degrade the performance
    to the workstation cell.

commit 01c3c334d53da95318f54b4085da9b37c79c90b9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 17:14:14 2007 +0000

    windows-updatecell-20070619
    
    
    No longer permit cm_GetCell() or cm_FindCellByID() to return NULL simply
    because cm_UpdateCell() failed.  The cm_cell_t object still exists and
    is valid even if the vlServersp list is empty.
    
    Modify the lock management in cm_GetCell_Gen() to ensure we drop all the
    locks.
    
    In cm_Analyze() update the volume status when one of the servers reports
    VBUSY or VRESTARTING.

commit 59db9812209d5e54cc47fc32d626b8b73f7fc22b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 12:51:11 2007 +0000

    windows-deadlock-20070619
    
    
    fix deadlock on cm_volumeLock introduced by last week's work
    
    in cm_Analyze, make sure we get a cm_cell_t reference otherwise we
    won't find the cm_volume_t we are searching for when ALLOFFLINE or
    ALLBUSY.

commit 67ea3ae96bc678b5e2a61810634bef71713291da
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 19 09:55:49 2007 +0000

    man-page-net-info-fixes-20070619
    
    
    Fix a NetInfo reference in the NetRestrict man page that should be
    NetRestrict and add cross-references in SEE ALSO.

commit f1db63646c38635a6bd2addb5202344da6fce275
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 06:29:07 2007 +0000

    windows-amd64-20070619
    
    
    Use 0x0502 instead of 0x0500. There is no 64-bit Windows 2000 support.
    
    Explicitly list the machine type as X64 for linking.

commit aed66fda2c2ba1758a69950a53d09efc82f8212d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 19 06:24:23 2007 +0000

    windows-misc-20070619
    
    
    VMWare adapters have proven unreliable replacements for the Microsoft
    loopback adapter.  Registering AFS often results in a name space collision.
    
    Add cm_DumpCells() function and dump the cells as part of "fs memdump"
    
    Dump all cm_scache_t and cm_volume_t regardless of reference counts
    
    Fix cm_GetCell_Gen() to not allocate a new cm_cell_t when evaluating
    mount points to aliases.  Instead, after looking up the alias successfully
    search the allCellsp list for the fullname of the cell.  If found, use
    the existing entry and cleanup the one we were about to allocate.
    
    Use read locks whenever possible instead of write locks when searching
    the allCellsp list.

commit 56728676386dfcdb1e9f3938ce9375f9a5531f17
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 18 19:48:33 2007 +0000

    macos-realtime-ip-updates-20070618
    
    
    notice and deal with IP address changes

commit f19ce63279d8745146694de989633cf2035e13f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 18 19:21:53 2007 +0000

    readme-20070618
    
    
    update the systype list

commit 39b027504b9b26b9b71aa4abac5f2b66f256f200
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 18 19:03:00 2007 +0000

    avoid-empty-uuid-20070618
    
    
    avoid issue where uuid can potentially be 0: set one always at AFSOP_GO step

commit 0c5cf6028d2e45809772838fb169c456f22e61f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 18 18:57:31 2007 +0000

    darwin-collect-network-errors-for-fast-timeout-20070618
    
    
    same optimization we do on windows, linux

commit 125e4511a9715a5df7dda265373d97a21177ea21
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 18 18:05:05 2007 +0000

    darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618
    
    
    avoid potential deadlock if e.g. SetTokens is called before the kernel module initialization completes

commit 6bc5c0899a9eb6c134c0079406fe28113e5cbeaf
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Jun 17 05:49:32 2007 +0000

    windows-nim-afs-20070617
    
    
    Don't assume that WM_DESTROY is the final message received by a
    window.  Verify dialog data structures when handling messages and
    reset the window data field when freeing the data structure.
    
    Zero should be considered a valid credentials type identifier in
    Network Identity Manager.
    
    When checking if an identity is configured to obtain a token for a
    specific cell, don't go through the list of cells if AFS tokens
    are disabled for the identity.
    
    Similarly, when removing a token for a specific cell from all
    identities, don't bother modifying identities for whom AFS tokens
    are disabled.
    
    Keep track of whether a specific cell was added to the list of
    cells to authenticate for an identity because it was listed in the
    configuration or because a token for the cell already existed.
    
    Correct an off-by-one error when calculating buffer sizes for
    multi strings which failed to account for a double NULL
    terminator.
    
    Don't update the cell->identity mapping if a token for that cell
    could not be obtained.
    
    If the list of cell to authenticate for an identity is empty, we
    still need to write the empty string to the configuration.
    Otherwise, removing all the tokens from an identity will not
    result in a configuration change reflecting that.

commit e8fa4d0e40c2a4352010986f82ac2fbfe8b8ae3e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 14 21:58:07 2007 +0000

    windows-ioctl-path-availability-20070614
    
    
    fix cm_IoctlPathAvailability to return the current volume state.
    0, CM_ERROR_ALLBUSY, CM_ERROR_ALLDOWN, CM_ERROR_ALLOFFLINE
    
    modify fs.c to generate messages when the errors are received.

commit 0187bf2feb9a191ba0b7868905854c603cc5092c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 14 21:54:16 2007 +0000

    windows-volstate-update-post-network-change-20070614
    
    
    When the system's IP address list changes we invalidate the existing
    RX connections and probe all of the servers.  A better algorithm is
    to probe all vldb servers, invalidate the rx connections, and then
    probe all file servers.

commit 46a931d020da24dd534e1064ea9fbe693acbdf65
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 14 20:04:10 2007 +0000

    rx-lwp-sendmsg-20070614
    
    
    update the lwp version of rxi_sendmsg to return the same error, -1,
    returned by the pthread version.
    
    replace errno with WSAGetLastError() in the Windows blocks so that
    the correct error value is checked.

commit c27c00f8a93dcfd1b919197e233c217f778cbbf7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 14 19:29:51 2007 +0000

    windows-pioctl-add-error-translations-20070614
    
    
    add error translations for CM_ERROR_ALLDOWN, CM_ERROR_ALLBUSY,
    CM_ERROR_ALLOFFLINE, CM_ERROR_NOSUCHPATH

commit 5ac7a7db9a79ac81f83b61150e73bc7bf0f14d61
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Jun 13 23:25:45 2007 +0000

    windows-magic-share-names-20070613
    
    
    Access to AFS volumes via magic share names
    
            \\afs\<cell><type><volume>
    
    <cell> = cellname
    <type> = % or #
    <volume> = volume name or id

commit c74a23fc4043e28a138fe624b1aadf3af1ee8f6f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 13 07:04:55 2007 +0000

    windows-server-ping-deadlock-20070612
    
    
    avoid deadlock in cm_ServerPing due to volume status update code

commit b1bbe33fdee32a3b3ec87a9d770d8684347f7c4b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 12 19:59:02 2007 +0000

    newuuid-20070612
    
    
    add the newuuid command

commit 391d657c6ed80b5479d1db6ded957c8ddf688cb2
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Jun 12 19:38:20 2007 +0000

    linux-configure-vfs-update-20070612
    
    FIXES 62017
    
    clean up output

commit 6eabfbd4b969d9efcc1eef646899af28a5077f0f
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Jun 12 19:32:19 2007 +0000

    linux-vfs-flush-3arg-20070612
    
    FIXES 62203
    
    3rd arg for passing lock owner id. add configure gunk also

commit a6294ee79a9dc18fad219262b6be69535c0398a9
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Sat Jun 23 07:32:56 2007 +0000

    linux-sysctl-update-20070612
    
    FIXES 61906
    
    2.6.21.1 introduces an additional .parent pointer in the middle of
    the structure. As the OpenAFS code just initialises the structure
    with a list, this causes it to assign the value intended
    for .proc_handler to .parent

commit 86b3330c7148c25c0a7ee4ea8f15e3098695a667
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 12 16:23:09 2007 +0000

    windows-volume-status-tracking-20070612
    
    
    * re-write cm_Analyze to make better use of the known volume
      status.  VL_Server queries cannot result in CM_ERROR_ALLOFFLINE
      messages.
    
    * renamed cm_CheckBusyVolumes to cm_CheckOfflineVolumes.
      busy volumes will be reset to srv_non_busy by the function
      but there is no mechanism for querying the busy state other
      than by attempting to access the resource.
    
    * cm_Analyze will query the state of an offline volume before
      deciding whether or not to retry when all volume instances
      are offline.

commit 37a0b14e016af74176d714cc1b25a2af00275d56
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Jun 12 06:41:06 2007 +0000

    linux-2-6-22-updates-20070611
    
    FIXES 61767
    
    1 - task_struct loses thread_info, which is now accessible through the
    task_thread_info() macro. A configure test is added to deal with this.
    
    2 - the SLAB_CTOR_VERIFY flag is gone

commit ee37fd74ef67ea6c9543544b23ca69fd9f624572
Author: Lars Wilke <lw@lwilke.de>
Date:   Tue Jun 12 04:49:56 2007 +0000

    man-fileserver-args-20070611
    
    
    Add additional arguments to the SYNOPSIS that the file server recognizes.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Missed another erroneous option argument.

commit ce209b23a5c64ed4b0d79ed775acf6cc000f4a35
Author: Steven Jenkins <steven.jenkins@gmail.com>
Date:   Tue Jun 12 04:42:01 2007 +0000

    man-vos-online-20070611
    
    
    Add initial man pages for vos offline and vos online.

commit 66adaf326861ae8a544650928bc6934d26a91d1d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 10 17:58:51 2007 +0000

    windows-volume-status-tracking-20070610
    
    
    * changed the enum values for cm_serverRef_t state info to use a
      private name space to avoid collisions (srv_)
    
    * added a srv_deleted state for cm_serverRef_t objects.  This
      state is set when cm_FreeServerList() is called with the
      CM_FREESERVERLIST_DELETE flag set.  cm_FreeServerList() may
      not always delete the cm_serverRef_t from the list if it is
      still in use by another thread.  the srv_deleted state means
      the object's contents are no longer valid and it must be
      skipped.  It will be deleted the next time the object is
      freed and the refcount hits zero.
    
    * the srv_deleted state is also used when a file server reports
      either VNOVOL or VMOVED instead of marking the cm_serverRef_t
      as offline.  This is done to prevent additional usage of the
      stale vldb data while waiting for the update volume request
      to complete.
    
    * added a state field to the cm_volume_t object (enum volstate
      vl_ name space) that maintains the state of the volume based
      upon the states of all of the cm_serverRef_t and cm_server_t
      objects.
    
    * modified cm_UpdateVolume() to set the state of the cm_volume_t
      RW, RO, and BK to either vl_alldown or vl_online.  There can't
      be any other states because cm_UpdateVolume() destroys any
      previous knowledge we might have had regarding busy or offline
      volume status
    
    * modified cm_UpdateVolume() to update the volume name in the
      cm_volume_t to the volume base name if the previous value was
      a volume ID.
    
    * modified cm_FollowMountPoint() to check to see if the volume
      name is a volume ID and if so call cm_GetVolumeByID instead
      of cm_GetVolumeByName.  This ensures that volume IDs are always
      looked up as numeric values.  There is no longer a need to
      maintain a separate cm_volume_t containing the string representation
      of the ID value.
    
    * Added a flags parameter to cm_GetVolumeByName() and cm_GetVolumeByID().
      The first flag is a "CREATE" flag which is set by all existing
      calls.  The flag is not set by calls to cm_GetVolumeByID() from
      the server probe code when volume status is being updated.  We
      do not want the server probe operation to result in additional
      turnover in the cached volume data.  The second flag is NO_LRU_UPDATE
      which is set when the server probe code updates the volume status.
      This flag will be used to prevent the server probe operation from
      changing the order of the least recently used queue.
    
    * Modified cm_GetVolumeByName to ensure that only one cm_volume_t is
      allocated for a given set of normal, readonly, and backup volumes
      regardless of whether or not the volume is accessed via name or
      ID number.  The cm_volume_t namep field is always the base name
      of the volume.
    
    * Added a new volume state, vl_unknown.  This state is used as
      the initial state for all cm_volume_t when the cache manager starts,
      for each cm_volume_t at creation, and for each cm_volume_t when
      recycling.  The cache manager does not know the state of all
      volumes in the world, only those that are in the cache and for
      which it has queried the VLDB and hosting file servers.
    
    * modified cm_GetVolumeByName() to initialize the state of a
      volume to vl_unknown.  The actual state will be set when a
      cm_VolumeUpdate() call completes successfully.
    
    * changed name of scache hash table variables to avoid ambiguity
      when adding hash tables for volumes
    
    * fix a buffer overrun in sys\pioctl_nt.c  pioctl().
      (thanks Asanka)
    
    * modified cm_UpdateVolume() to handle the case in which there is
      no RW volume but there is are RO volumes for a given base name.
      This is done by querying for the ".readonly" volume name if the
      base name does not exist in the VLDB.  We never query for the
      .backup name because under the current usage model a .backup
      volume may only exist on the server that the read-write volume
      is located.  If there is no RW volume, there can be no .backup.
    
    * Added four hash tables for cm_volume_t objects to improve the
      search time of cm_GetVolumeByID(), cm_GetVolumeByName() and
      cm_ForceUpdateVolume(). One each for Name, RWID, ROID, and
      BKID.  Three ID hash tables are necessary as long as it is
      desireable to maintain a single cm_volume_t containing all
      of the related RW, RO, and BK volume data.  Having the RW and
      RO volume data in the same object is necessary for the
      implementation of cm_GetROVolumeID() which returns either the
      RO or RW ID depending upon the existence of RO volume instances.
    
    * Added a volume LRU queue so that volume reuse becomes fairer.
      This does not replace the all Volumes list which is used when
      it is desireable to walk a list of all the volumes whose order
      is not going to change out from underneath you which makes it
      safe to drop the cm_volumeLock.
    
    * handles volume hash table updates where volume name to
      volume ID number changes.  The volume name remains
      constant in the cm_volume_t.  if a vos rename is performed,
      the name of the volume will change and the volume IDs will be
      updated.  Subsequent access to the old volume ID will create a
      new cm_volume_t with the new name.
    
    * Added a daemon thread operation to query the state of volumes
      listed as busy or offline.  cm_CheckBusyVolumes() calls
      RXAFS_GetVolumeStatus() for each volume ID that is marked vl_busy
      or vl_offline.   If the volume is now online, the status on the
      volume is updated.  The default period is 600 seconds.  This can
      be configured with the BusyVolumeCheckInterval registry value.
    
    * Added prototype for smb_IoctlPrepareRead() which was missing a
      return type in the function definition.
    
    * Added volume id lists to the cm_server_t.  These lists are
      allocated in blocks of ~32 IDs.  When a cm_PingServer()
      detects a change in server state, the state of the cm_volume_t
      is updated.
    
    * Added volID to the cm_serverRef_t object.  volID is used
      to identify the volume for which the object is a referral.
      cm_FreeServerList() uses the volID to remove the volume
      from the cm_server_t.
    
    * In cm_Analyze, when VNOVOL or VMOVED are received,
      call cm_ForceVolumeUpdate() to force a refresh of the volume
      location data.
    
    * Added cm_VolumeStatusNotification() which is used at the moment
      to log volume status changes to the trace log.  It will also
      be used as the access point to the File System Filter driver
      notification engine.
    
    * Added an all cm_scache_t list to cm_data.  This replaces the use
      of the stat cache LRU queue when we need to enumerate all
      entries.  The LRU list order is not static and when using it to
      enumerate all entries it can result in items being missed or
      items being processed more than once.
    
    * Modified cm_Analyze(). Instead of reseting the busy or offline
      state of a volume and forcing a retry of the operation
      cm_Analyze will defer to the background daemon thread that will
      update the state once every 600 seconds.
    
    * Added the automatic generation of a Freelance ".root" read-write
      mountpoint that refers to the root.afs volume of the workstation
      cellname at the time the mountpoint is created.

commit f4bd2604222c1199fc0ece0eaa82c034fa50b977
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 10 15:20:43 2007 +0000

    rxkad-badticket-20070610
    
    
    In rxkad_CheckResponse, when checking the return value from tkt_CheckTimes,
    the order is == 0, == -1, < -1, <= 0.  The <= 0 case is extraneous so
    remove it. Both < -1 and <= 0 returned RXKADBADTICKET.

commit 8a814a5596e9d8db1c24326715f794ae46966b3b
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Jun 10 06:52:51 2007 +0000

    windows-pioctl-buffer-overrun-20070609
    
    
    this patch protects against a buffer overrun in the client if the
    server were to send more data than the receiving buffer can hold.

commit 18484f0fc64a550c1abacb6d2614c7ea12af4052
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 10 06:39:15 2007 +0000

    linux-kmem-destroy-fix-20070609
    
    
    don't destroy if create failed

commit c0010267f2cb168e94e3ae1af94cae9499c661bc
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Jun 7 03:18:21 2007 +0000

    restore-missing_afs_realm_names-20070606
    
    FIXES 62016
    
    restore AFS_REALM_NAMES

commit fcfdcc3cc1c272966574103f7e8bd495c7fcbb84
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 6 18:55:04 2007 +0000

    vsprocs-avoid-bogus-error-20070606
    
    
    don't EPRINT if it's not an error

commit cb18c5f80257d2ef239933dbe055cbe753b312c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 6 18:21:05 2007 +0000

    aix-declare-setlim-20070606
    
    
    maybe fix lwp.c compiling with modern aix

commit a62104968094bec86a7d3692158bbc84db035cdd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 5 18:10:00 2007 +0000

    solaris-sparc-default-to-v8-insns-for-kmod-20070605
    
    FIXES 23935
    
    don't use the default instruction set since the compiler has changed over time

commit e8493e06f9d62c282bca2df8a4a0ac20caa4c70c
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 5 04:47:09 2007 +0000

    fix-kbuild-linux-ppc64-20070604
    
    
    The Linux 2.6 kbuild environment requires assembly files end in .S, not .s.

commit aa5d46b71b3700d6256f47237fadf0a4829daee6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 18 06:52:37 2007 +0000

    clone-dont-hold-vol-lock-20070516
    
    
    same deal as purge. a transaction on the volume outstanding holds it. we don't need to preclude all access
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    same deal as purge. a transaction on the volume outstanding holds it. we don't n
    eed to preclude all access
    
    ====================
    
    same deal as purge. a transaction on the volume outstanding holds it. we don't n
    eed to preclude all access

commit ad98eacdadf6b9e079d1606f40cfc352450650a1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 17 19:28:10 2007 +0000

    linux-posix-lock-file-has-wait-arg-now-20070517
    
    FIXES 58590
    
    hopefully this works, i can't actually try it now

commit 9352435f1c128ee011fc820e41c6fba508d141dd
Author: Arkadi Shishlov <arkadi@mebius.lv>
Date:   Thu May 17 07:50:02 2007 +0000

    linux-sparc-arch-detection-20070517
    
    FIXES 60288
    
    use arch to figure out if we are sparc64

commit 59eb3de5ea3bc9588c91d3f2dbb6a598fa56ad43
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 17 07:34:15 2007 +0000

    linux-posix-lock-file-has-wait-arg-now-20070517
    
    FIXES 58590
    
    hopefully this works, i can't actually try it now

commit 87a93241dab68696a54c8e43df4ffb70928fce21
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu May 17 06:42:03 2007 +0000

    bucoord-dump-levels-20070517
    
    FIXES 57246
    
    dont use memory past what you've allocated

commit 5987e2923a2670a27a801461dc9668ec88ed7d2a
Author: Lukas Hluze <lukas@hluze.cz>
Date:   Wed May 16 21:57:20 2007 +0000

    libafs-common-placate-irix-make-20070516
    
    FIXES 59153
    
    irix make wants $@ to be $(@) inside other braces

commit d143385ec6e633c0b8a953550a4d2b9e5c1b2171
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 16 21:48:27 2007 +0000

    rx-ack-idle-comment-20070516
    
    FIXES 60046
    
    fix comment

commit 7a72e2445fa8da7947a4370080edb9eb4df67e17
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 16 21:44:07 2007 +0000

    rx-tq-busy-20070516
    
    FIXES 60046
    
    abstract tq busy wait code

commit a900fe30894b5c1bf3a55f2f539179c75c177dad
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 16 21:36:33 2007 +0000

    rx-send-req-ack-20070516
    
    FIXES 60046
    
    change reply code where appropriate

commit f550e3b3ffeac6be73a780fa3ed43ab3dc4600ba
Author: Arkadi Shishlov <arkadi@mebius.lv>
Date:   Wed May 16 21:21:44 2007 +0000

    glibc24-jmp-buf-mangling-20070516
    
    FIXES 60440
    
    glibc 2.4 does jmp buf manging for "security"
    
    whatever. deal.

commit d608809c247c9b8105c95e230449f98705767476
Author: Marcus Watts <mdw@umich.edu>
Date:   Wed May 16 20:54:42 2007 +0000

    supergroup-cleanup-20070516
    
    FIXES 60809
    
    Problems fixed with this patch:
    /1/ supergroup bug: when updating an entry in prdb, the logic in
    pt_mywrite is supposed to unset flagged & found bitmap entries.
    This failed on little-endian architecture machines.
    
    /2/ warnings; a few fixes to eliminate some compiler noise.

commit 62dc1975410ad0dbea12a0c7e3c11a37230e5971
Author: Marcus Watts <mdw@umich.edu>
Date:   Wed May 16 20:42:56 2007 +0000

    ptserver-fix-bitmap-20070516
    
    FIXES 60680
    
    make sure bitmap code is correct else supergroups returns invalid answer
    
    fix verify code to be correct on little endian hosts

commit 03e3b77553bed4d395393a53d81069c71d67dbea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 16 16:54:16 2007 +0000

    windows-afsd-list-acl-only-dir-20070516
    
    FIXES 60258
    
    Do not return access denied when applying directory patches if the
    user does not have read permission.  This is the case we want to
    fake the directory entries for.  Also, make sure we set the directory
    attribute on non-files so that the path can be accessed via the
    Explorer Shell.

commit 82d2cc5b7fb638073e859e6a2b03b97722f518d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 16 16:49:19 2007 +0000

    windows-afsd-uninitialized-20070516
    
    
    Do not use uninitialized variables in log messages
    
    Do not dereference NULL pointers

commit e02fa3e73b258938135244f7e3c09baa464e0c26
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 16 04:43:47 2007 +0000

    windows-afsd-list-acl-only-dir-20070515
    
    FIXES 60258
    
    When the ACL on a directory is list only, attempts to read the status
    of items in the directory will fail.  Therefore, it is pointless to try.
    Instead, when we know the user ACL does not have read permission, we
    should immediately lie about the status info.  That way we don't pound
    the file server with requests that will produce an abort which in turn
    will trigger force the file server to delay responses to the client.
    
    This change has the added benefit that cached status info is no longer
    leaked to callers that do not have appropriate permissions.
    
    With this change the Explorer Shell is much more responsive.

commit 60bbb56b546438d5e89854f61bcea368c5537341
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 16 04:33:38 2007 +0000

    windows-aklog-20070515
    
    FIXES 60938
    
    do not copy an uninitialized field

commit 11cec9e764eb4bc47e61eb9475b1776d9e58bc87
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 15 21:19:37 2007 +0000

    windows-fs-getcacheparms-20070515
    
    
    fix output of cache parms now that they are 64-bit

commit c78b4c61f70f6756a79440748ecacea2affec8ab
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon May 14 22:42:09 2007 +0000

    namei-dont-randomly-full-salvage-20070514
    
    FIXES 61300
    
    trivial fix to clear forcep
    (inode already does this)

commit 1b1c0eda5a3db6fe92d46d5f3d8529bf7c6378c2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon May 14 22:36:22 2007 +0000

    getdcache-no-slowpass-enforcement-on-dynroot-20070514
    
    
    don't enforce slowpass restriction on dynroot vcaches (and don't do unneeded work)
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    oops, another change slipped in

commit 08cbee9b2d941d79b9f7919f4c76b1ab45ef3643
Author: Frank Cusack <fcusack@fcusack.com>
Date:   Thu May 10 23:41:32 2007 +0000

    fix-partition-check-20070510
    
    
    oops

commit 7e0571b0e5ba8e60129cd6e68c90c5011889767c
Author: Jim Rees <rees@umich.edu>
Date:   Thu May 10 21:48:33 2007 +0000

    openbsd41-20070510
    
    
    OpenBSD 4.1 config files

commit f2761c416320a3ff2bb0af4298ca95b8ecb04211
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 10 01:15:57 2007 +0000

    vos-namelen-for-dump-restore-is-stupid-20070509
    
    
    fixes bug reported by stephen joyce which i am too lazy to go get the RT number of

commit 707feb4fdd31a818a7cacb0f439ce32bb26f4e3d
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue May 8 23:49:44 2007 +0000

    ka-forwarder-licensing-20070508
    
    
    ka-forwarder is under a different copyright not previously covered, so
    embed the actual licensing in the source rather than referring to a file
    that doesn't exist and add the relevant information to the LICENSE files.

commit bc585c90cfbb973b1753198d88f33859c51056a0
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 7 20:16:02 2007 +0000

    quickstart-pam-docs-20070507
    
    
    Flesh out the PAM installation documentation for Linux and Solaris (and a
    bit of reformatting in the HP-UX section).

commit 1d4d8f5c4f125707fc6af432024d99e2672cadab
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon May 7 18:17:42 2007 +0000

    up-preserve-dir-mtime-20070507
    
    FIXES 34522
    
    Set the mtime on newly created directories to match the original directory.

commit 958bbb77bfbfc100031850b6fd7836658c35912a
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat May 5 22:13:20 2007 +0000

    windows-netidmgr-20070505
    
    
    Only automatically add configuration for cell foo.com if the realm
    of the cell matches the realm of the identity

commit c8a3a0ecf210a7475f38267952ad8c96f27c08d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 4 07:05:05 2007 +0000

    windows-checkvols-freelance-20070504
    
    
    do not flush mount point values for freelance volume

commit 2b442dbddb5d44f4b7e08eb04ae277c24a5e8964
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 4 03:49:06 2007 +0000

    windows-wix-shell-ext-20070503
    
    
    When installing on 64-bit Windows we need to install the 32-bit and 64-bit
    shell extensions under different HKCR keys.  Otherwise, only one of the
    explorer versions will get an extension handler.

commit 9f508ce443f1ef2103fbb74c6a094aef3aa96e86
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 4 00:12:15 2007 +0000

    windows-wix-beta-upgrades-20070503
    
    
    This change is not as important for OpenAFS as it was for KFW as
    OpenAFS does not issue betas with the same build numbers as final
    releases.  However, for users of daily builds when build numbers
    are not being incremented it will provide benefit.
    
    We modify the upgrade rules to include the current version number
    and then block the uninstall if the currently installed package
    is the one that is being installed.
    
    The change applies to both the regular installer and the 32-bit
    tools for WOW64 environments.

commit d9946ba827b7099848dfe659f0eaf10167e9413b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 3 01:44:50 2007 +0000

    windows-flush-mountpoints-20070502
    
    
    When flushing volume location information also flush the mount point
    data.  This change results in behavior that matchs the Unix client.

commit 113ccb9963be8ccd602520b4987f2cc0a5f52b51
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 26 19:44:18 2007 +0000

    windows-wix-html-installgd-20070426
    
    FIXES 59827
    
    The wix installer creates the wrong directory name for the IBM Quick Guide
    Remember to specify the LongName.

commit bfed93d7fce113690c20e1cad102c8b23c0aa17f
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Apr 26 19:06:44 2007 +0000

    windows-dropbox-fix-20070426
    
    FIXES 60161
    
    A dropbox is a directory with ACLs 'li' that permits a user to create
    a new file but not be able to read other files within the same directory.
    
    The 1.5 Windows clients have not been able to write to dropboxes since
    the addition of the locking code.  The lock acquisition test assumed
    that if the user did not have PRSFS_LOCK or PRSFS_WRITE that it would
    be unable to obtain a lock.  It did not take into account the special
    treatment of PRSFS_INSERT by the file server and so never bothered to
    ask.
    
    As it turns out though, the locking situation is more complex than one
    might think.  If the server is 1.4.1 or earlier, it will not grant
    any locks for users with INSERT.  The PRSFS_LOCK privilege is required.
    
    For 1.4.2 through 1.4.4, write locks will be granted if the user has
    PRSFS_INSERT but a read lock will not be granted unless the user has
    PRSFS_LOCK.  Therefore, if the server advertises the WRITELOCKACL
    capability bit if the read lock is not granted a write lock can be
    attempted.
    
    For 1.4.5 and 1.5.20 and above, the file server will grant read locks
    if the user has PRSFS_WRITE or PRSFS_INSERT.  (Insert only applies if
    the user is the creator of the file).
    
    This patch handles all of the above possibilities.  In the pre-1.4.2
    case a read-lock request will be faked locally.

commit 92ecfdd675e8a851c7f0f19e5359362fa00c1c8f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 25 20:47:13 2007 +0000

    rx-call-abort-release-refcount-20070425
    
    
    don't leak a call ref when doing a call abort

commit 5f919154cfc548b918653f30b6689edaf53ded12
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 24 04:48:04 2007 +0000

    quickstart-solaris-pam-20070423
    
    
    this actually needs more fleshing out but it's at least a pointer

commit f521ac0f603f56cd05d643f198d6a4b0fc56e539
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Tue Apr 24 04:37:52 2007 +0000

    quickstart-obsolete-appendices-20070423
    
    FIXES 60137
    
    commit updates to the docs for obsolete stuff
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    also the appendix file

commit bb61e1dc678ea28132c195438fc1f157fa580cd1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 24 01:27:30 2007 +0000

    viced-write-perm-grants-read-lock-20070423
    
    
    the permission to obtain a write-lock is granted either by having the
    "w" permission or the "i" when owning the file.  The permission to obtain
    a read-lock has been granted by having the "k" permission.  However it
    makes no sense that someone can obtain a write-lock but not a read-lock.
    This patch grants permission to obtain read-locks to those who can obtain
    write-locks.

commit c5c23b7bc4544af2c1204622cd67b835b27bcdab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 20 11:58:22 2007 +0000

    windows-wix-html-installgd-20070420
    
    FIXES 59827
    
    The wix installer creates the wrong directory name for the IBM Quick Guide

commit 2d18bd1777b8d18a3b855685928dcdafcbe609b8
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Wed Apr 18 19:18:35 2007 +0000

    linux-symlink-handling-avoid-crash-20070418
    
    
    Background: OpenAFS is vulnerable to crashing in the linux kernel symlink
    code when running on kernel versions between 2.6.10 to 2.6.12.  This also
    includes all RHEL4 kernels, because RHEL4 includes the code from 2.6.10. The
    problem is that the symlink text caching API, page_follow_link() et al, is
    unsuitable for network filesystems where the page cache may be invalidated
    in parallel with a path lookup.
    
    This crash can be triggered easily by doing a bunch of path lookups
    involving symlinks (e.g., stat() on various files pointed to through links),
    while simultaneously running 'fs flushvol' on the volume containing the
    symlinks.
    
    The simplest way to fix this problem is to disable the use of symlink text
    caching when the kernel does not provide a usable symlink API.

commit 9943fe1fd71fc29331dcac7cd6a51bd37f307876
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Apr 18 19:01:31 2007 +0000

    vmalloc-no-glock-20070418
    
    
    Based on Chris Wing's analysis which stated in part:
    GFP_NOFS tells the allocator not to recurse back into the filesystem if it's
    necessary to free up memory.  However, vmalloc() does not have such an
    option.  Therefore, calling osi_Alloc() to request more than a page of
    memory may end up recursing back into AFS to try to free unused inodes or
    dentries.
    
    In this case, what happened was that osi_Alloc() is called within an
    AFS_GLOCK(); osi_Alloc() calls vmalloc() which tries to free dentry objects,
    which then calls back into the AFS module.  Unfortunately, AFS_GLOCK() is
    already held and we deadlock.

commit 85a23a70c783364e039f2a1b402ba718c1fc34a5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 18 16:57:05 2007 +0000

    windows-afskfw-bluescreen-20070418
    
    
    The afskfw library contains an unprotected call to krb5_free_context
    which can result in krb5_free_context being called with a NULL pointer.
    MIT's Kerberos libraries do not check that the pointer is non-NULL and
    will attempt to use it as a valid pointer which will in turn result
    in an invalid memory access error.
    
    This library is used by afslogon.dll which is loaded by winlogon.exe.
    
    If the krb5 profile is invalid, the krb5_init_context call will fail
    to allocate a krb5_context structure which can then result in
    krb5_free_context being called with a NULL pointer.
    
    An unhandled exception within winlogon.exe will cause a blue screen event
    on Windows 2000, XP and 2003.

commit a82252fcc80a70d900ab7446fe84a10a467d749d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 17 05:03:39 2007 +0000

    windows-afslogon-station-name-20070416
    
    
    Use case insensitive comparisons for the station name.  Otherwise, we
    will fail to notice that the logon is interactive on Vista.

commit c810b46e9eda0cf626499a1a3c72bb53ce0d81d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 17 01:10:28 2007 +0000

    windows-kfw-krb5_init_context-20070416
    
    
    If krb5_init_context() fails make sure that no further krb5 calls
    are performed.
    
    krb5_init_context() will fail if the krb5.ini file is damaged.

commit 44ca92226ae8e780b6c6134c83b08b3c8c266c95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 17 01:04:47 2007 +0000

    windows-temp-path-20070416
    
    
    Use GetTempPath() instead of testing environment variables ourselves.

commit 5bc88af797eeb8db631e6ad8e9d56d39a687dd96
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 14 19:46:22 2007 +0000

    windows-vioc-path-availability-20070414
    
    
    add a new Windows only pioctl VIOC_PATH_AVAILABILITY that is used
    to query the server status for a specified path.  Return values
    include:
      online
      offline
      all busy
      all down
      not afs

commit fb5b0dcce6874464c1021842ac1b48f4578ac105
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 12 15:12:36 2007 +0000

    windows-netidmgr-provider-20070412
    
    
    do not use ellipsis for actions that do not need additional data to
    complete.
    
    "Help for OpenAFS plugin" -> "AFS" since its on the Help menu already

commit 7de756ca285614214a9f272338a5a2b3f731612a
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date:   Wed Apr 11 03:14:33 2007 +0000

    quickstart-update-20070410
    
    FIXES 58896
    
    update quickstart guide with new information

commit 5bcd5ab54d2e76dc9b253fda6ea6b6bb4dfe87f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 10 23:08:11 2007 +0000

    windows-netidmgr-afs-provider-20070410
    
    
    when using krb524 with a cross-realm service ticket the resulting krb4
    cred will not contain the user's realm as there is only one realm field.

commit 0ff92e9a5bd939cb3488ca64ce01b37bd4d7f79e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 10 23:06:02 2007 +0000

    comerr-rename-two-20070410
    
    
    fix afsrpc.def add_to_error_table

commit 306e23e08ccba0f0b6e802c8a39fcc444555ae56
Author: Jim Rees <rees@umich.edu>
Date:   Tue Apr 10 20:52:30 2007 +0000

    doc-README-20070410
    
    
    I didn't actually write this, just cribbed it from the openafs-info mailing
    list.

commit e0fa8ff72fb4f50a4f8e48b8f18d6846c7f5e4f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 10 19:58:13 2007 +0000

    comerr-rename-20070410
    
    
    nag nag nag

commit fece50be72ebb182d10faaa0de5179eb4ff786b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 8 03:39:52 2007 +0000

    windows-netidmgr-plugin-20070407
    
    
    protect against pr_CreateUser modifying the username buffer.

commit a47faf3eea14931fc5edf2d90550729dc78322df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 6 17:55:35 2007 +0000

    windows-afslogon-20070406
    
    
    Fix eventlog reporting.  Do not attempt to log an event if the event
    source registration fails.  Use DebugEvent0 instead of DebugEvent
    when there are no parameters.
    
    Modify the LOOKUPKEYCHAIN macro to recognize ERROR_MORE_DATA errors.
    
    Fix the reading of Domain specific configuration for LogonScript and
    TheseCells.  Previously the dwSize value was being overwritten so that
    subsequent RegQueryValueEx call would fail.
    
    Fix a memory leak in the TheseCells reading code.
    
    Add support for Domain specific "Realm" specification.  The realm is
    the realm to be appended to the username.  When logging in as a domain
    or to the local machine, the specified "Domain" name is not going to be
    a valid realm name.
    
    Construct a proper principal name based upon the domain specified realm
    for use in obtaining tokens with KFW.
    
    If the domain specified "TheseCells" list includes the default cell,
    do not obtain tokens twice.

commit bbbf3ee9ffe7b4da314285509ae8e0b6f4e70c8e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 4 21:24:48 2007 +0000

    windows-aklog-20070404
    
    FIXES 58164
    
    correct for the fact that pr_CreateUser tampers with the contents
    of the username input buffer.

commit 9c592530b18144ffbd91283fcd9690a9680c6cd9
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Apr 3 19:52:44 2007 +0000

    move-tasklist-lock-extern-outside-func-20070403
    
    FIXES 53441
    
    make tasklist-lock extern with pragma weak possibly work right

commit c7c7242e78fd5035572b7d4f2071bf105190826c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 3 15:48:37 2007 +0000

    windows-vista-sdk-ntsecapi-compat-20070403
    
    
    There is no way to replace FOO with the value of BAR in cpp.

commit 644cd83dbdd8203e6792f3a03aabb52efefa12d5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 3 14:34:19 2007 +0000

    windows-libadmin-vos-registry-20070403
    
    
    Move the session data from TransarcCorporation to OpenAFS.

commit 125d9f877d72843e4b1c2b99ec671bf75cef35fc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 3 14:30:25 2007 +0000

    rx-dpf-20070403
    
    
    The function rx_MakeCall was at some point renamed to rx_NewCall
    but the dpf output was never changed.
    
    Add a dpf entry for rxi_ResetCall.

commit fbcafac2f6f58dfd55af8f9f54c856b2d31ecd2a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 3 06:40:27 2007 +0000

    windows-vista-sdk-ntsecapi-compat-20070402
    
    
    fix inclusion of ntsecapi.h in network identity manager plug-in

commit 26b381dc17a7705af8b9d1ba1d26d1188ae649ed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 3 05:32:03 2007 +0000

    windows-afslogon-20070402
    
    
    restore token acquisition for non-interactive logons.

commit 20890b4e2edb6d1803148493e0f83d44c4e8a8d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 31 13:52:17 2007 +0000

    windows-nim-plugin-20070331
    
    
    correct a NULL pointer de-reference introduced in
    windows-nim-plugin-20070328

commit 934f76fb185ee5e162aee3bc9f5711079bbbca5b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 28 23:29:49 2007 +0000

    windows-afslogon-20070328
    
    
    There are two serious problems with integrated logon:
    
    (1) openafs afslogon.dll obtains Kerberos v5 tickets and then forwards them
        into the logon session.  This was done because MIT KFW did not have
        such functionality.   As of KFW 3.1, KFW does, so we are removing it.
    
        the functionality worked by copying the credentials to a FILE ccache
        and then using the Logon Event Handler to move the credentials into
        an API ccache and delete the temporary file.  For non-interactive
        logons the Logon Event handlers do not get triggered.  Neither do
        LogonScripts get executed.  As a side effect, for each logon a
        credential cache file was left behind.
    
    (2) when combined with non-interactive logons, there are some very bad
        side effects if a network provider performs Kerberos v5 operations.
        Each logon occurs in a new logon session and will spawn a private
        copy of krbcc32s.exe.
    
        As a result, integrated logon is being disabled for non-interactive
        logons.

commit 60e5fc151ea0af4aa85a174ede774c949983962b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 28 23:18:41 2007 +0000

    windows-nim-plugin-20070328
    
    
    if the service ticket in the cache is expired, delete it from the cache

commit 74e22e219036ca2c42182b1356371daa07ae6494
Author: Neale Ferguson <neale@sinenomine.net>
Date:   Tue Mar 27 04:21:09 2007 +0000

    s390x-syscall-patch-fix-20070326
    
    
    make s390x syscall table patching work correctly

commit a6cb25c5d34db370e73d5e0044eaa88cf291228a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 24 05:02:16 2007 +0000

    windows-vista-sdk-ntsecapi-compat-20070324
    
    
    When loading the Vista SDK ntsecapi.h we must set _WIN32_WINNT
    to 0x0501 or greater

commit 48cd8daff8c8bd384a6583bab07e1d84ae461efd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 24 04:59:13 2007 +0000

    windows-fs-whereis-freelance-20070324
    
    
    do not assert on the lack of a cell when calling fs whereis on the
    freelance volume.  return CM_ERROR_NOCELL instead.

commit 1c9ede0bcf892ccc3b9b5cae819c7d94b0407b38
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 22 15:58:45 2007 +0000

    tvolser-locking-updates-20070322
    
    
    rework locking in tvolser slightly to avoid potential transaction leak

commit c2fb9440f3d3f80c452590b40f7bd8ecdb13edfe
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Mar 20 19:29:41 2007 +0000

    darwin-remunlink-20070320
    
    FIXES 55280
    
    make reumlink work the way it's supposed to

commit ff81d7e77a4a302224dbb0f0c6b960ded42cafbe
Author: Douglas Engert <deengert@anl.gov>
Date:   Tue Mar 20 19:20:24 2007 +0000

    nfs-gc-fix-20070320
    
    FIXES 56459
    
    avoid issue with nfs gc handler and mismatched types

commit af0a976f1151f7ca7642013357d1dcc7267c6457
Author: Robert Banz <banz@umbc.edu>
Date:   Tue Mar 20 18:59:22 2007 +0000

    namei-allow-zfs-20070320
    
    
    don't force AlwaysAttach on ZFS in namei

commit 29951ff73ccc82746f8f842131a76e30b47d5310
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 20 18:45:58 2007 +0000

    linux-task-pointer-safety-20070320
    
    
    hold applicable locks while futzing with task list

commit 97d8703809a9e6798b80696da6439ab0887046fb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 20 18:41:02 2007 +0000

    keyring-pag-finduser-requires-glock-20070320
    
    
    identical to the fix from chas@cmf.nrl.navy.mil

commit c4183dbc1fb0e3d4db5105fe3312816fc82a7a33
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 20 01:13:06 2007 +0000

    no-default-setuid-20070319
    
    FIXES 54713
    
    disable default setuid for localcell

commit b4f323eaeb5f010cd0a0be09f29c4016d1a14fef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 19 13:44:41 2007 +0000

    windows-var-renaming-20070319
    
    
    give rx call variables a distinct name from cm call variables
    in order to avoid confusion

commit 92f10ea1a2235594a48edf16f613ac437cc593af
Author: Jim Rees <rees@umich.edu>
Date:   Sat Mar 17 18:20:15 2007 +0000

    obsd-kernel-opts-20070317
    
    
    adjust module compile opts (KOPTS) to better match those of the kernel

commit f1862d783a610d85a258aaee1d00aff26f348223
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 10 15:48:01 2007 +0000

    windows-afsd-nat-handling-20070310
    
    
    Improve cache manager performance behind NATs:
    
     * drop cm_daemonCheckUpInterval from 10 minutes to 4 minutes to bring
       it under the minimum recommended default port mapping idle timeout
       value for NATs
    
     * when a timeout on an rx connection occurs, retry the request once
       after forcing a new rx connection.  If there was a NAT and the port
       mapping changed, the server would respond to the original addr:port
       associated with the rx connection.  Forcing a new connection will
       allow the request to be responded to if the server is accessible.
    
       This should eliminate the UP-DOWN-UP-DOWN bouncing that user's have
       seen when working from behind a NAT.

commit ce776b4809146733f278e18cbdae1b4ed45c6b5d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 10 14:25:00 2007 +0000

    windows-registry-20070310
    
    
    move the AFS Server Manager and AFS Account Manager data cache from
    the TransarcCorporation key to the OpenAFS key.  The data formats are
    not compatible between the two versions and we don't want to be forced
    to erase data if users switch back and forth between the two products
    during OpenAFS evaluation.

commit 226c1ee8f9e24e199b2e2cf1ecc11dd072634450
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 10 07:11:09 2007 +0000

    java-lock-fix-200702310
    
    
    make it portable. ugh.

commit 97fd54f399148eaf6652bd2a42c8b9f424d680bc
Author: Jeffrey Hutzelman <jhutz@grand.central.org>
Date:   Sat Mar 10 04:52:04 2007 +0000

    cellservdb-20070309

commit a7db1780b33b47d77927da7a3925c2b8780c5834
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 8 17:44:13 2007 +0000

    windows-afsd-remove-generated-file-20070308
    
    
    afsd_eventmessages.rc is a generated file.  Don't maintain in cvs.

commit fc36880fedc8d143b8eead08a0d910b400ad0483
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 7 21:42:20 2007 +0000

    af-byteorder-bis-20070307
    
    
    everyone wants AF in host order

commit 5332348bdf68491670cc94ff1f9bc527876304fa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 7 18:13:25 2007 +0000

    windows-plug-n-play-network-fix-20070307
    
    
    Move the detection of which LAN adapter to use from smb_Init to
    smb_NetbiosInit so that it is executed after the service is resumed
    via a power management event.  Otherwise, when the network comes back
    up the service attempts to bind to all LAN adapters instead of just
    the loopback or the configured one.

commit 413a90614274c381684e2ce58bdb6ae010fb1416
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 7 17:00:57 2007 +0000

    af-byteorder-20070307
    
    
    bsd wants AF in host order

commit e4d3681e3d9ba58c315f39d3852833b11811474c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 3 01:29:11 2007 +0000

    windows-fs-checkserver-20070302
    
    FIXES 55234
    
    The "fs checkservers" command when not being used to change the check
    interval should not require admin privilege.

commit 561f8b742fceeed10e6f3d9639c96efb085ad2a9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 28 00:38:04 2007 +0000

    windows-partially-restore-find-lana-by-name-20070227
    
    
    find lana by name is used by the afs control panel to populate the
    lana list box.  don't use the function to find by name.  just use
    it to generate the list of all lana names.

commit b8d09aff6a695041dde2ef7aca7bfe39ceef7a01
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 27 01:30:39 2007 +0000

    windows-afsd-no-krb_h-20070226
    
    
    Don't include krb.h when we don't use it for anything

commit 9d5de311a6c2d96ee5092d58db28fff1b5602be7
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Feb 26 22:13:33 2007 +0000

    forcenewconns-even-with-one-interface-20070226
    
    
    otherwise we don't discard vlserver connections when a server is "down"

commit 0d5642e3ee1d72f11c4b6393cd4a352540f3b2ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 26 18:48:22 2007 +0000

    uae-etoomanyrefs-avoid-dup-20070222
    
    
    when ETOOMANYREFS is EIO don't rewrite the EIO slot with UAETOOMANYREFS

commit a3a40968308e9ef894df3756af7ccd7ed141c74f
Author: Stephan Wiesand <Stephan.Wiesand@desy.de>
Date:   Mon Feb 26 17:55:55 2007 +0000

    conditionalize-tasklist-lock-20070226
    
    FIXES 54922
    
    make rx_knet use tasklist_lock conditionally also

commit bed42291bcc16065f23e964b64d60090ffaa96f9
Author: Stephan Wiesand <Stephan.Wiesand@desy.de>
Date:   Mon Feb 26 17:50:37 2007 +0000

    update-tasklist-lock-test-20070226
    
    FIXES 54916
    
    make the tasklist lock test actually detect GPL stupidity

commit 844f045692d7863e096cb97710151c31a841874d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 23 00:42:46 2007 +0000

    md5-inum-round-down-20070223
    
    
    make our computed md5-style inode numbers be actually 32 bit

commit f1a6107e0814d1e3e1d171834c97489479b5e6df
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Feb 22 21:46:13 2007 +0000

    linux-2621-20070222
    
    FIXES 54645
    
    configure support for new sysctl api

commit 4f86aa379d345c98113bde2169b9d1400dcee89c
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Feb 22 21:40:11 2007 +0000

    linux-unlink-avoid-infrequent-leak-20070222
    
    FIXES 54689
    
    avoid minor leak

commit 6ce156741b62702e1d1f10f3329f1b77341e32e5
Author: Kevin Hildebrand <kevin@umd.edu>
Date:   Tue Feb 20 18:03:26 2007 +0000

    linux-lookup-crfree-20070220
    
    FIXES 54549
    
    add missing crfree to avoid leak

commit 79c1cdb83fe25d753ce3e38b9554d8604a3cb8df
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 20 03:13:41 2007 +0000

    windows-afs3-directory-format-20070219
    
    
    correct the documentation of the directory format in the headers

commit b2ed3c527b831f329a380203433312653bcd91a4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 20 03:06:05 2007 +0000

    remove-find-lana-by-name-20070219
    
    
    Remove the find lana by name functionality.  It is crucial that the
    name computed by the afs service can also be computed by the pioctl
    function executed by generic end users without privilege.  Unfortunately,
    the undocumented functions used to implement find lana by name require
    access to registry keys that a generic user cannot read.

commit b00dddcd7da6f38893f408024f250254a5e1ff25
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Feb 15 21:51:00 2007 +0000

    windows-netidmgr-help-registration-20070215
    
    
    In preparation for KFW 3.2, add conditional help registration.
    When used with a version of NetIdMgr that supports the functionality
    the OpenAFS plug-in will register its HtmlHelp on the NetIdMgr Help
    menu.

commit 5ae8e5064c2aae067a32c94e98f2ed8a597417ae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 15 18:09:36 2007 +0000

    windows-move-rxdebug-20070215
    
    
    back in 2001 rxdebug was moved from src/rx to src/rxdebug for Unix
    but not for Windows.  Move it for Windows as well.

commit e92739f2b925545e441c2d77eaf4ece00ffbcb51
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Feb 15 17:11:09 2007 +0000

    rxdebug-backoff-20070215
    
    
    make rxdebug be less aggressive when retransmitting

commit 2e6a87e109bbab2cb242f58bcfce0ba1d92a41de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 15 11:47:24 2007 +0000

    rx-rxdebug-long-option-20070215
    
    
    add the -long option from src/rxdebug/rxdebug.c to src/rx/rdebug.c

commit 1f530ff095a8ffa38114373c80d8f4c5ead103d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 15 05:59:14 2007 +0000

    windows-rmdir-not-empty-error-code-20070215
    
    
    Ensure that removing a directory containing existing files returns
    the correct error to the caller.

commit 65d89232521ceb1641ce0a14e1f3ed8d28b6afff
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Thu Feb 15 00:33:39 2007 +0000

    java-locking-redux-20070214
    
    
    change the -1 len check for java locks slightly

commit 465a6d533b253d71e8854dc6cedcbcdc5ce678e1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Feb 15 00:27:09 2007 +0000

    darwin-missing-dropnames-20070214
    
    
    for correctness, not to fix anything which has yet been observed

commit 083f3bcb2bcca382e00684ad1965dd1b224c9b4b
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Feb 14 23:55:09 2007 +0000

    libafsdep-correction-20070214
    
    FIXES 53441
    
    apply the rest of the patch

commit 51774c137b3889ef0e651e171493e7ca24a95077
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Feb 13 22:54:00 2007 +0000

    osi-probe-harder-20070213
    
    
    2.6.16 i386 didn't probe successfully before in at least one case

commit 5b0ba22734f8a354f26ca2600e96608e72a3f9e4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 13 18:39:34 2007 +0000

    amd64-syscall-probe-20070212
    
    FIXES 53441
    
    based on suggested change from cg2v@andrew.cmu.edu
    tasklist_lock not being exported makes this useless otherwise
    S: ----------------------------------------------------------------------
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 53441
    
    based on suggested change from cg2v@andrew.cmu.edu
    tasklist_lock not being exported makes this useless otherwise

commit 4d5138c4030c581c2d52f1d59279e4b997ef59fd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 13 05:45:47 2007 +0000

    windows-afsd-symlink-to-dot-20070213
    
    FIXES 53878
    
    When parsing a path containing a symlink to ".", do not short circuit
    the evaluation.  Allow cm_Lookup to do its job.  Its slower but correct.

commit 111100732f0051a67f175988ab3f55cf208f8df3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 13 03:48:27 2007 +0000

    windows-netidmgr-20070212
    
    
    combo boxes should drop down.

commit 6c703a483c718670f9f4109e59204d71aa70c7ae
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 13 03:07:55 2007 +0000

    windows-unused-vars-20070212
    
    
    remove unused vars

commit 01882246c8704e9cfad38e8bce71380b843fbbab
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Tue Feb 13 01:33:20 2007 +0000

    lock-mask-64bit-negative-1-for-java-20070212
    
    
    java sends a 64 bit long -1... which isn't going to be useful most of the time

commit 645f7e8f81be8c096b2fd3d9b852b8614d9dc690
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 10 13:56:11 2007 +0000

    aklog-krb5-referrals-compat-20070210
    
    
    MIT Kerberos version 5 release 1.6 adds support for referrals in the
    client.  As a result krb5_get_host_realm() returns the nul-string for
    the realm whenever there is no local domain-realm mapping in the
    profile.
    
    aklog must now manually perform the fallback to using the domain of
    the vlserver as basis for the realm name if referrals fail.

commit 25c7f567f2c831d62152104c3b84ec31d9fd330f
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Feb 10 00:00:01 2007 +0000

    windows-smb-file-lock-20070209
    
    
    When processing exclusive locks for files that were opened read-only,
    obtain a read-lock instead of a write-lock.
    
    In NTCreateX, if the file is being opened as OPEN_ALWAYS and the file
    already exists, do not require write permission

commit a9b0dbb30cc926251d66ea9036d6505fe525cc51
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 9 23:53:11 2007 +0000

    windows-access-check-20070209
    
    
    disable the test for the EACCESS flag in cm_HaveAccessRights.

commit 1a00759d8b9f1b249e90b044bc1aa66d9d5c9d23
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 9 23:50:06 2007 +0000

    windows-fs-memdump-20070209
    
    
    only dump the dead smb_vcp list once

commit 584e1bd98eb4258a2cd1a517f7d49c71407983b5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 9 19:56:47 2007 +0000

    windows-nim-plugin-krb5-referrals-compat-20070209
    
    
    MIT Kerberos version 5 release 1.6 adds support for referrals in the
    client.  As a result krb5_get_host_realm() returns the nul-string for
    the realm whenever there is no local domain-realm mapping in the
    profile.
    
    aklog must now manually perform the fallback to using the domain of
    the vlserver as basis for the realm name if referrals fail.
    
    This will be required for KFW 3.2 support.

commit b5c39e4373bd24fc724719ff365597327aa143cf
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Fri Feb 9 18:41:46 2007 +0000

    libafsdep-mods-20070209
    
    FIXES 53381
    
    don't break vpath builds

commit a1d9a9209094864f784ecc90d41201480ffd66da
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Feb 9 18:26:57 2007 +0000

    linux-compile-test-24-20070209
    
    FIXES 53385
    
    no linux/namei.h on 2.4

commit 2287f5f578fa40a0229699a4e90263300ca79e50
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 9 17:29:01 2007 +0000

    windows-aklog-krb5-referrals-compat-20070209
    
    
    MIT Kerberos version 5 release 1.6 adds support for referrals in the
    client.  As a result krb5_get_host_realm() returns the nul-string for
    the realm whenever there is no local domain-realm mapping in the
    profile.
    
    aklog must now manually perform the fallback to using the domain of
    the vlserver as basis for the realm name if referrals fail.
    
    This will be required for KFW 3.2 support.

commit a05fa83336df6cd11d60cc64882c68cc01243aad
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Feb 9 03:12:51 2007 +0000

    ktc-cleanup-20070208
    
    FIXES 53212
    
    clean up ktc code, prototyping et al
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 53212
    
    restore ktc_GetToken prototype

commit 171676011ba72b48b6ed2d6df6cfc1f0adb52c1f
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Fri Feb 9 01:34:08 2007 +0000

    linux-locking-pre-2618-20070208
    
    FIXES 53457
    
    deal with pre 2.6.18 locking behavior

commit 00c5dbfd048e31a653de0e1cf37d45d539e0c755
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 9 01:30:00 2007 +0000

    tasklist-export-check-20070208
    
    
    work around tasklist lock export harder

commit 797f46a88ee9c50c34a8b6e1fa7c878e252d3a97
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Fri Feb 9 01:22:03 2007 +0000

    afs-magic-for-linux-20070208
    
    FIXES 52442
    
    use the afs magic number

commit 87a3cd2a709a4fcf5df9a82ce223be0a33bf18f1
Author: Dave Cottle <scorch@muse.net.nz>
Date:   Fri Feb 9 01:12:16 2007 +0000

    obsd40-initial-20070208
    
    FIXES 53283
    
    doesn't work right, and the patch in 53296 can't be taken as is

commit 226f3b1b47371bf6c37d8003725fac6d2486ea16
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Feb 9 01:04:28 2007 +0000

    linux24-update-20070208
    
    FIXES 53199
    
    update for linux 2.4

commit 9dd8d7f8171614a9efda14f6392651b8c276aa04
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Feb 9 00:57:39 2007 +0000

    auth-cleanup-20070208
    
    FIXES 53208
    
    remove unneeded includes of auth.h

commit 6e947cd3be0fbba3265ae6e0197579cabb4c3d8a
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Feb 9 00:54:22 2007 +0000

    bozo-cleanup-20070208
    
    FIXES 53202
    
    clean up bosserver

commit 0dfd1d0ed81547791d8b90f9be2d04b362401422
Author: Marc Dionne <dionne@cs.wisc.edu>
Date:   Fri Feb 9 00:25:42 2007 +0000

    keyring-pag-avoid-shadowing-20070208
    
    FIXES 38959
    
    avoid shadowing the pag variable

commit 8ecad072df8f6cfa63e1ef4d862611a0f2a75e7b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 9 00:17:24 2007 +0000

    getcbi-limit-addresses-20070208
    
    FIXES 36643
    
    don't write addresses (if we have too many) over random memory

commit a4d52ee772a84212911c52f5d79dd4f02b9a8b2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 8 23:59:16 2007 +0000

    use-unix-sockets-20070208
    
    
    
    option to use unix socket for fssync

commit b0425c4e7f65c00fe217d7c54d309bceac9b38d5
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Feb 8 22:37:41 2007 +0000

    linux-lock-tracking-20070208
    
    FIXES 31818
    
    avoid a potential leaked lock when closing firefox.

commit 403b5086dddf16ef360b3dade0f3fa0e12db5b71
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 8 13:49:58 2007 +0000

    windows-scp-recycle-init-20070208
    
    
    when we recycle a stat cache object be sure to clear the file type so
    we don't inherit the previous file type if the fetch status fails.
    
    in merge status, clear the file type if the errorCode is EACCESS

commit 0cc59928b980fbd89e3ed06e04474762655791ef
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 7 17:34:09 2007 +0000

    windows-merge-parent-fid-20070207
    
    
    modify cm_MergeStatus to take a pointer to the parent stat cache entry
    so that the parent fid can be set when bulk status returns an error.

commit 92c282f40c84e8f6c3a02bf55d040007fa48e7ff
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 7 16:37:42 2007 +0000

    windows-mounttab-remove-debugging-20070207
    
    
    remove unused variables

commit e9fb99c770101de103df0a2ff7ba364159b81f80
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 7 08:12:27 2007 +0000

    windows-merge-eaccess-20070207
    
    
    when merging status info that has an errorCode of EACCESS set,
    merge the garbage we received.
    
    When checking the access to the object return EACCESS if the
    stat cache object has the EACCESS flag set.  This will be cleared
    the next time a BulkStatus succeeds.

commit 36233e1e318c7864122cf16c85da012f936c03db
Author: Olivier Calle <olivier@calle.org>
Date:   Wed Feb 7 04:52:18 2007 +0000

    multiple-local-realms-20070201
    
    FIXES 52459
    
    when the name is foreign, execute the body of afs_is_foreign_ticket_name
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 52459
    
    The Name to ID RPC must distinguish between local and foreign names

commit 55653d5dd00665c80397ab3c397063a1e636afea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 6 16:46:09 2007 +0000

    windows-merge-status-20070206
    
    
    when merging status for store data ops, use the fileHashTable to reduce
    the number of buffers we must examine

commit 4e8bc6d5016f8e6d46a21331009c414d94e90d10
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 5 11:07:44 2007 +0000

    windows-merge-status-20070204
    
    
    For each StoreData operation the dataVersion on the object is incremented.
    To prevent all of the cached buffers from being considered out of date,
    if the dataVersion has been incremented by exactly one, then update the
    dataVersion of the buffers that match the FID and the previous dataVersion

commit cec0b902f6cbeb849984d5ca1ef1847ef1eeac89
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 5 03:41:06 2007 +0000

    windows-buffer-mgmt-20070204
    
    
    Instead of using a fixed sized hashtable of 1024 entries regardless
    of the number of buffers, compute the hashtable to be large enough
    for on average 7 buffers per bucket.
    
    Remove the 'size' field from cm_buf_t since it is never used.
    
    Add more info to the output of cm_buf_t objects when using "fs memdump"

commit 333005c46332a9c76974261aef5fdf82c19698b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 4 15:37:34 2007 +0000

    windows-store-biod-20070204
    
    
    Add a 'failed' parameter to the cm_ReleaseBIOD function.  This enables
    the clearing of the CM_BUF_DIRTY flag to be conditional upon successful
    completion of the store operation.

commit 78c83150f62d78330795c9a8c9b7de13421f0bde
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 4 02:49:28 2007 +0000

    windows-mounttab-remove-debugging-20070203
    
    
    no longer need the Debug Output String statements

commit 37d16dd70bdc88af02db4ed0307b2ec56a4e9a34
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 4 02:45:21 2007 +0000

    windows-bkgdaemon-retry-failed-requests-20070203
    
    
    background request functions such as BkgFetch and BkgStore do not
    return success or failure.  the bkgDaemon thread simply executes
    the request and discards it regardless of whether or not the request
    was completed.  this can result in background store event failing
    to be written to the file server.
    
    modify the background request functions to return success or failure.
    
    modify the background daemon to put failed requests back onto the queue
    if the reason for failure was transient.
    
    modify the background daemon only to process requests when the servers
    for the volume are marked up.

commit 9a9e0976c881ef6b77e7de19a79611569b1426a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 4 02:01:12 2007 +0000

    windows-buf-refcount-leak-fix-20070203
    
    
    Plug a buffer refcount leak.   This is why the client slows down over
    time.  It runs out of buffers it can use.

commit 84a0ef8e1a076e3fb03d8cb6bb72bba63679a700
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 3 18:03:55 2007 +0000

    windows-buf-dump-fix-20070203
    
    
      restore the missing format string to the Buffer Hash Table Dump routine

commit 1e44ef074aae0fd718f15ba8ff8b66bca1586c2f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 3 17:48:07 2007 +0000

    windows-log-eol-20070203
    
    
    ensure that log files use CR-LF for end of line.   the "fs memdump"
    output and the afsd_init.log initialization output were still using LF.

commit 7d6baa2df1ef0244b0a27082948be794ef36a8e4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 3 04:47:41 2007 +0000

    windows-drive-mappings-20070202
    
    FIXES 45545
    
    Correct the return types and values of the Window Procedures.
    This fixes the drive mappings problems.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 45545
    
    Remove "Drive " from the drive mappings.  This way the drive letters
    can be selected with a single key press.

commit fd1c37ebe7f5fb2ed52371705aaf1efc7764c7eb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Feb 3 03:23:16 2007 +0000

    linux-and-locks-cleanup-20070202
    
    
    fix linux flock, remove a bogus lock assert, and fix pid tracking to avoid useless panic

commit ab294cfdc5fa4108f89b37c4a7da5844872ecacf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 2 15:43:07 2007 +0000

    windows-afsd-volume-ref-leak-20070202
    
    
    When looking up a volume by ID or Name, if the volume server data requires
    refreshing and the UpdateVolume operation failed, do not leak the refCount.

commit 38d6f485078185acc0067362eb970b5cbf41e800
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 2 15:36:45 2007 +0000

    windows-nsis-20070202
    
    
    even if afsd_service.exe can be shut down the binary might still not
    be able to be replaced due to the windows Protection Service.
    Use the ReplaceDLL macro

commit 564d41d96e224132d5073170d0f82e0264315077
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 1 13:23:45 2007 +0000

    venus-include-afs-com_err-20070201
    
    FIXES 51424
    
    include afs/com_err.h for error_message() prototype to prevent crashes
    on platforms with 64-bit pointers and 32-bit int

commit bd5ed7d332df05ac232f4188a166ce6f791f7cca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 1 04:28:37 2007 +0000

    windows-freelance-20070131
    
    FIXES 52069
    
    If an app tries to open the freelance directory for WRITE then the
    default anonymous access privileges, read/lookup, are not sufficient
    and cm_HaveAccessRights will fail.  Freelance can't get access rights
    from anywhere.  Therefore, cm_HaveAccessRights should special case
    the Freelance directory.

commit f3c4bbd41a06aeced5536f55e949767169b906d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 31 17:02:02 2007 +0000

    windows-delete-test-file-not-dir-20070131
    
    
    the cm_CheckNTDelete function was testing the permissions of the
    directory and not the permissions of the file being deleted.
    This resulted in inconsistencies between the attributes of the
    file and the ability to delete it.
    
    this patch also adds a large amount of trace log entries as there
    was none in this section of the code before.

commit 908918a89d40605cad738a35f9938aa9d7488a3d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 30 12:41:19 2007 +0000

    windows-shell-ext-reformat-20070130
    
    
    reformat the source code to make it easier to read/edit

commit daddcd3bcc3ab5b79954fe4dccf648aa35b0530c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 30 12:28:29 2007 +0000

    windows-netidmgr-string-updates-20070130
    
    
    As per the NetIdMgr model, refer to credentials instead of tokens.
    
    Update the copyright strings

commit 0b669007c7338ec4f18a3a7cf88b9621c626c8bd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 30 12:23:28 2007 +0000

    windows-vol-fssync-debug-20070130
    
    
    add a resource file for fssync-debug for when we decide to build it

commit c4a89f3f79d6b5c62ccd91f3e7e01d38e3e80c1f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 30 12:14:49 2007 +0000

    windows-vol-fix-salvager-20070130
    
    
    The salvager on Windows was not being built properly.  The fssync-debug.c
    main() was being used instead of the salvager.c main().  Remove
    fssync-debug.obj from the library and fixup the includes and global
    variable declarations.

commit b02c32b0692991636e06e1205ae0d07c9f15106b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 30 12:04:22 2007 +0000

    windows-procmgmt-20070130
    
    
    Do not raise an exception if SIGQUIT is received prior to the
    registration of the Shutdown handler

commit 3960a5ff1cfef0c3f6adfe6cf602b8c80078ce7d
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jan 29 19:25:40 2007 +0000

    document-fs-setacl-permissions-20070129
    
    
    Better document the current state of implicit "a" rights on directories.

commit 91ce7a066d0912bb84a7c87863cd1b7ed6cc480a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jan 25 11:19:19 2007 +0000

    volume-dont-artificially-untimeout-vlservers-20061218
    
    FIXES 48959
    
    remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"

commit 42e90ef1a076eaea70ad4b587a3c25632b38bb88
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jan 22 22:30:15 2007 +0000

    asetkey-includes-20060122
    
    
    fix includes

commit 676bf342ddfdb13ca18337535598c3af3c2f49ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 22 17:19:26 2007 +0000

    make-cleaner-20070122
    
    
    this stuff was missed

commit 8f61572edb3fc40102b5947ec06be812e3fd0d0f
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jan 22 16:24:23 2007 +0000

    krb5-obsd-20060122
    
    
    mention KRB5CFLAGS for OpenBSD

commit f9697113d97135fa606a9fa92905d3fcc478bc34
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 22 02:16:38 2007 +0000

    windows-fix-volume-refcount-leak-20070121
    
    
    Plug a volume refcount leak
    
    Add volume data to the "fs memdump" output
    
    Add memmap stat data to the afsd_init.log output at startup and shutdown

commit c88ab63663319035d88dfceb9778b98553a091b5
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Jan 19 19:31:05 2007 +0000

    linux-kbuild-test-fixes-20070119
    
    
    
    fixes to build for linux when doing objdir builds

commit 41df9870148af3527f828a26cc7fbb8d8ffb506e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 16 17:24:30 2007 +0000

    windows-nsis-fix-rpc-20070116
    
    
    remove the rpc fix.  the original code was correct

commit d32af980792d2f94fda4a7c84e67f86f08d2676e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 15 23:40:38 2007 +0000

    windows-nsis-installer-20070115
    
    
    Fix the RPC check to actually check the RPC status
    
    Update the copyright date
    
    Add Vista version detection

commit 20f426568625f40b37973121805f0ac820b9017c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 15 19:50:51 2007 +0000

    windows-open-dir-lookup-20070115
    
    
    add new error code when requested InfoLevel is not supported
    
    CIFS NTCreateX Read privilege means PRSFS_LOOKUP when the object is a
    directory

commit aef763b3c0a5f5d6947f857cb480e29afe4b8e29
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 15 18:15:45 2007 +0000

    alloc-sem-is-sem-20070115
    
    
    this change didn't belong...

commit 2f3558f341896ae40a8bd07fe71177c5f7763623
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 15 20:41:23 2007 +0000

    linux26-large-pag-groups-20070115
    
    
    working from base provided by shadow@dementia.org

commit 2b7f13c2276613e120cef159f44c912e866412f5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 12 16:27:57 2007 +0000

    locker-thread-tracking-20070111
    
    
    track thread ids so we can properly not deadlock

commit 2502379d7586acfed882bff7e1c50bb54fbe7a7f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 12 05:18:52 2007 +0000

    netinfo-fake-support-correction-20070112
    
    
    fix NetInfo "f" line fake IP address support to work when either
    1) NetRestrict file is in place or
    2) existing sysid file does not list fake address

commit 0732c4637d31da44b2b8f4567292ecd493a98334
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Jan 12 03:48:29 2007 +0000

    rx-deal-with-afs34-jumbograms-again-20070111
    
    FIXES 51116
    
    try again at dealing with old jumbograms

commit 284668200e83fe90afa4bed26509343473b9995b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 9 15:26:56 2007 +0000

    client-handle-vicetokendead-with-reconnect-20070109
    
    
    client-handle-vicetokendead-with-reconnect-20070104 failed
    to alter the behavior of the RXKADEXPIRED and other cases.

commit cbba8d8b887957122c1870f8a5a4a823af889d0f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jan 6 01:18:46 2007 +0000

    tsfpq-macro-naming-20070105
    
    
    rename the queue-splicing versions of the checkin/checkout macros

commit 6029f002be00f5cb41423674c66b0f0dfac4506d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 23:30:10 2007 +0000

    buildpkg-dmg-path-20070105
    
    
    reported by marcus watts

commit 52b036747c78139c5b0a69a934e46ae9f34e0741
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 23:14:21 2007 +0000

    rx-deal-with-afs34-jumbograms-again-20070105
    
    
    try again at dealing with old jumbograms

commit 4be015449daf92061ebdfc7c5132bfd7d313562a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 23:05:13 2007 +0000

    multiple-local-realms-20070105
    
    FIXES 51104
    
    do the correct check

commit b975875e79a2ba84ef3faaec109b8db046ee5326
Author: Kevin Hildebrand <kevin@umd.edu>
Date:   Fri Jan 5 18:20:08 2007 +0000

    pts-rename-fix-20070105
    
    FIXES 51066
    
    fix pts rename to do the right thing

commit 290b05b6b6e13fd93d40a8c021f0d8fdf697f7af
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 5 17:13:11 2007 +0000

    windows-unix-mode-bit-enforcement-20070105
    
    
    modify the write-lock permission test so that the UnixMode bits do not
    subtract PRSFS_WRITE from the rights when testing PRSFS_WRITE | PRSFS_LOCK.
    
    PRSFS_WRITE implies PRSFS_LOCK so add it
    
    Add new registry value "DeleteReadOnly" to permit deletion of read-only
    files.  The default is 0.  Set to non-zero value to activate.

commit 2d68f6a3ef54f4c97ecd6e0561726fc5a89b5a04
Author: Sean O'Malley <omalleys@msu.edu>
Date:   Fri Jan 5 06:07:37 2007 +0000

    bucoord-protoize-20070104
    
    FIXES 50870
    
    protoize bucoord
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 50870
    
    undo redundant include
    
    ====================
    FIXES 50870
    
    protoize bucoord
    
    ====================
    FIXES 50870
    
    protoize bucoord

commit aab62fe05ea77a47564726a5f948c6c094f4ab5d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 06:02:28 2007 +0000

    pr-changeentry-arg-types-20070105
    
    
    oops. put it back

commit b5dbc4fe6008efa277830666c0f69e71c80318ad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 05:02:39 2007 +0000

    solaris-but-seriously-20070105
    
    
    guess chas had the right idea

commit fd4a1c1c32c01a44ee09854039b81b0afa0ded32
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 04:56:09 2007 +0000

    free-packet-avoid-issue-with-34-jumbograms-20070104
    
    
    try to deal with rainer toebbicke's ongoing issue

commit 267b548a488c5d666582dd050a253c1652872a4d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 04:48:32 2007 +0000

    solaris-mypid-track-threads-20070104
    
    
    based on suggestion by tkeiser

commit ba017be750ab667e8dc7a1dfb9e20e03ce861c14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 5 03:39:16 2007 +0000

    unroll-namei-delay-fsync-20070104
    
    
    has been shown to cause problems with releases per haba@pdc.kth.se testing, unroll until we figure out why

commit c8503d73a1d02829bdb23e5403df15844f065478
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Jan 5 03:21:34 2007 +0000

    asetkey-with-heimdal-20070104
    
    FIXES 50973
    
    just make asetkey build with heimdal

commit 349474755bbfa9b56bb751ebb8a4adcee411e9da
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 4 22:08:26 2007 +0000

    darwin-fake-more-free-20070104
    
    
    fake more free disk space for dumb apps

commit b745079fb276da810e0b96c7b94be5cb77aebee6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 4 21:55:21 2007 +0000

    client-handle-vicetokendead-with-reconnect-20070104
    
    
    basically, if the issue is really expired tokens then we force the server to tell us that instead of that our older connection is still using the old tokens for some reason, by letting a new connection happen first

commit 526a589fd3800b38d541f38acfc9614b19a75bb0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 4 21:48:28 2007 +0000

    macos-installer-fix-20070104
    
    
    this time for sure

commit 48afec37ed565be0d6c0273286b4bed827c8efca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 4 21:42:24 2007 +0000

    linux-workqueue-prereq-20070104
    
    FIXES 49890
    
    make the workqueue configure test actually work on 2.4

commit 1a5628981e0042bed07ebedd72f715848734a51b
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Jan 4 21:15:16 2007 +0000

    freezer-h-existance-20070104
    
    FIXES 50941
    
    only include freezer.h if it exists

commit 182a18931a3fc696a53288dbd6fcf04e109f785b
Author: Marcus Watts <mdw@umich.edu>
Date:   Thu Jan 4 20:05:20 2007 +0000

    linux-kbuild-configure-20070104
    
    FIXES 40604
    
    Test whether Linux kernel builds work at all before going into specific
    builds so that we can fail earlier with a better error message.  Try to
    put more errors from the kernel build into config.log.

commit ee9d148cc50d41832b79bab4aef0672bdfb63f54
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 4 15:59:35 2007 +0000

    md5-inode-even-odd-hack-20070104
    
    
    the even-odd hack didn't work with the new md5 inode numbers. fix it. suggested by Bennett Todd.

commit 56d5e6970d27a5c99c04b105481bcf1d1bc3db1e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 3 00:44:27 2007 +0000

    windows-unix-mode-bit-enforcement-20070102
    
    
    When the Unix mode bits do not include the write bit (0200), then the
    file is reported to Windows as read-only.  This also prevents the
    acquisition of write-locks.  It should also prevent deletion but the
    code in cm_HaveAccessRights() did not remove the PRSFS_DELETE privilege
    from the reported rights.

commit 365351a161356acbe09b5fdfe095c809a1d5fd05
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 2 17:17:49 2007 +0000

    taking-rx-back-into-the-20th-century-20061228
    
    
    ken's patch is now on the ipv6 branch
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    restore deleted taddr declaration.
    
    ====================
    
    ken's patch is now on the ipv6 branch

commit 11999d395c6b9b0c02d8acb725c2cc66270cd908
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 2 16:48:33 2007 +0000

    strl-20070102
    
    
    str->strl

commit a132e7f54590a4e12a002c35081ce8afb255b5a3
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Jan 2 15:59:13 2007 +0000

    fix-linux-2-6-20-configure-test-20070102
    
    FIXES 50594
    
    make the cc flags modification not break things

commit 84cfee7d07510d007df63788ffce028255829d41
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Tue Jan 2 15:40:35 2007 +0000

    ifdef-nfs-translator-20070102
    
    FIXES 50602
    
    appropriately wrap nfs translator code in ifdefs

commit 71f6f346caa9f501a0b7af23c9d4425d9357f3eb
Author: Dale Ghent <daleg@umbc.edu>
Date:   Tue Jan 2 07:33:23 2007 +0000

    solaris10-suser-replace-20070102
    
    FIXES 50246
    
    suser is dead, long live suser

commit 1a9ba9aa4bdb2424a49396e0d8e9345a91e4ba90
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 30 17:49:29 2006 +0000

    windows-readme-20061230
    
    
    updates for VS2005, Vista, etc.

commit f50452b6e1eae563ebd0251470694ddb750fe704
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 30 17:09:48 2006 +0000

    windows-no-version-20061230
    
    
    set the version numbers on the head to 0.0.0.0 so there is no confusion
    that this code is not ready for prime time

commit 0995d4d9b3059569d1fa2ed330982e4dfe021cac
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 30 17:00:51 2006 +0000

    kaserver-deprecation-warning-20061230
    
    
    The following message is now logged to both the BosLog and the AuthLog
    at startup.
    
      WARNING: kaserver is deprecated due to its weak security properties.
      Migrating to a Kerberos 5 KDC is advised.
      http://www.openafs.org/no-more-des.html

commit 47b4f514cadb815fff7be99726911599cacfb287
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 30 16:55:02 2006 +0000

    afsdb-resolver-reinit-20061230
    
    FIXES 50576
    
    replace 'try' with 'try_init' and declare 'try_init'.
    'try' is a reserved word on some compilers.  not sure how this code
    was compiling on MacOS X and Windows as 'try' was not declared.

commit a305a8c3c7fff86ffcfce500150883262c1c6caf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 30 02:44:39 2006 +0000

    windows-optimize-smb-dir-search-if-no-wildcard-20061229
    
    
    do not follow mountpoints when calling cm_Lookup as part of the
    optimization.  otherwise the shortname is computed incorrectly.

commit 224eb9ff60ffc7658428557cb98dfdf59b61b8d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 28 22:32:52 2006 +0000

    proc-unixusers-cleanup-on-linux-20061228
    
    FIXES 49978
    
    maybe?

commit c4c90e33be7ce0954b603455c0aa77b667803d7a
Author: Dale Ghent <daleg@umbc.edu>
Date:   Thu Dec 28 22:25:41 2006 +0000

    null-terminate-solaris-ops-20061228
    
    FIXES 50340
    
    vfsops and vnodeops need a NULL at the end of the structs

commit a537d3ae9621ade7d03f289980eb340e435c0d8a
Author: Dale Ghent <daleg@umbc.edu>
Date:   Thu Dec 28 21:57:24 2006 +0000

    add-solaris-11-support-v2-20061228
    
    FIXES 50343
    
    initial 5.11 support

commit 7756a870f37134d33d1c3ceb4ef780e0cfd4beb0
Author: Dale Ghent <daleg@umbc.edu>
Date:   Thu Dec 28 21:48:25 2006 +0000

    solaris10-suser-replace-20061228
    
    FIXES 50246
    
    suser is dead, long live suser

commit 84078738ee735ee030e37425c3e2b93df0c72b9e
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Dec 28 21:35:17 2006 +0000

    linux-install-correct-modules-20061228
    
    
    FIXES 49787
    
    actually install the correct MP/EP/BM et al modules

commit 064926fd1b664b143e1389516c63bacb124b5f9f
Author: Marc Dionne <marc.dionne@technoconseil.com>
Date:   Thu Dec 28 21:28:31 2006 +0000

    linux-2620-rc1-update-20061228
    
    FIXES 49890
    
    updates for linux 2.6.20-rc1

commit fe649aac819839d84e6cecdbccdc5becc36fa968
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 28 20:36:26 2006 +0000

    afsdb-resolver-reinit-20061228
    
    
    as reported by Adam Megacz, but my own version of the fix

commit c454508d396fd361565f5e62da4ded7c735f5074
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 27 15:46:26 2006 +0000

    macos-installer-fix-20061227
    
    
    make the installer build correctly again

commit 2a9d3e91d0edd9e5afe43793bf8ced5dd6b2701a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 26 20:21:16 2006 +0000

    windows-server-config-20061226
    
    
    Reformat the entire directory.
    
    Add Freelance mode awareness.
    
    Map the root.afs volume starting from Z: and work down.

commit 432bede1e52245b6565c8970e96ee83c14e135fc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 26 20:17:25 2006 +0000

    windows-optimize-smb-dir-search-if-no-wildcard-20061226
    
    
    fix the computation of the ShortName.  Take into account the network
    byte order of the cm_dirFid_t fields.
    
    send error packets from within the function as needed.  do not return
    the error to the caller.

commit b2601916f6b3a95d5adcaf0091232acc759870df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 22 06:45:40 2006 +0000

    bosserver-avoid-bosconfig-truncation-20061221
    
    
    why the heck would it be a good idea to rewrite the BosConfig while we are starting, exactly?
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    why the heck would it be a good idea to rewrite the BosConfig while we are start
    ing, exactly?

commit 04208276307d407c3e14828e6c8402345f6c0592
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 20 21:17:12 2006 +0000

    split-cache-update-20061220
    
    
    move closer to 1.4 implementation esp when split cache is turned off

commit c1c2a80c1bc34b23507bf80a6fb12a672c94097c
Author: Dale Ghent <daleg@umbc.edu>
Date:   Wed Dec 20 20:07:02 2006 +0000

    solaris10-avoid-direct-cred-access-20061220
    
    
    avoid a panic after we muck with groups by being less evil

commit f4247e465da2b14fb877a74b69f6afc4b34cf2d5
Author: Jim Rees <rees@umich.edu>
Date:   Wed Dec 20 17:03:59 2006 +0000

    strl-20061220
    
    convert sys_errlist -> strerror, strcat ->strlcat, strcpy -> strlcpy

commit ea60a4dd395d0b14db1da2e5fec7d8dea48b2e70
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 19 17:55:44 2006 +0000

    windows-afslogon-20061219
    
    
    Initialize Winsock from within afslogon.c so that ka_UserAuth will
    work again.

commit 7a2d34be17d3ea1a24ab1362698de212c7d8008d
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Dec 19 04:50:16 2006 +0000

    volser-dumpstuff-20061218
    
    FIXES 46937
    
    "vos release" per default does an incremental dump.
    volser-dump-validate-input-20060417 ends up with keeping dead vnodes and
    data in the remote RO-volume.  This patch corrects the behavior for
    RO-volumes.
    
    See ticket for extensive discussion.

commit db8339c3c412c00bf62ff39f5092ace8b255ac5a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Dec 19 04:35:29 2006 +0000

    rx-mtu-fixes-20061218
    
    
    http://www.openafs.org/pipermail/openafs-devel/2006-November/014487.html

commit d229d72fa7719b947460674cdba203aab0c2a548
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 19 04:29:13 2006 +0000

    kernel-endianness-test-fix-20061218
    
    FIXES 47893
    
    ok, so, when we're in the kernel, do something

commit 8a7e66fb28b96888eeb9c36d27b855caa178566f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 19 04:18:48 2006 +0000

    openafs-kernel-src-fix-20061218
    
    FIXES 44573
    
    ok, so, we need to emit Makefile.version when we build openafs-kernel

commit 13cc6c5c376878f0ebbe86cae1fa2849d0aafd2f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 19 03:37:34 2006 +0000

    volser-undo-cleanup-20061218
    
    
    uncommit an inappropriate commit
    
      DELTA volser-cleanup-xx-20061128

commit acca80fd673b2d4bbf39dec6231d08f2373f518e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 19 03:17:57 2006 +0000

    rx-globals-avoid-INIT-reuse-20061218
    
    FIXES 45515
    
    avoid calling our macro INIT

commit c4adc63872d720b43d2ff99fd780046a4ba9883b
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Dec 19 02:32:55 2006 +0000

    volume-dont-artificially-untimeout-vlservers-20061218
    
    FIXES 48959
    
    remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"

commit 01c0e029f7eea96f2892df9dd570f019660cfd8b
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Dec 19 02:28:19 2006 +0000

    linux-osi-cred-pool-byebye-20061218
    
    
    ok, unneeded abstraction removed.

commit 8a1debde84c7bacb103bb1a9c3d82a1f352f441f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 18 23:56:19 2006 +0000

    windows-afslogon-20061218
    
    
    test for the existence of the mutex and not the bInit flag
    during the DLL attach

commit a1c31b6637fe44f2a2ebd4be491b71cc4e0fa922
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Dec 18 22:33:15 2006 +0000

    windows-install-wix-20061218
    
    
    remove the AFS Server wizard shortcut
    
    add AFS Server dependencies (tcpip and PNP_TDI)

commit a7ea1f2efd616149b2419bb394f54d4828d316b9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 18 21:44:11 2006 +0000

    windows-nsis-20061218
    
    
    remove the autorun for the AFS Server Wizard
    
    remove the shortcut to the AFS Server Wizard
    
    update the service dependencies for the bosctlsvc (tcpip and PNP_TDI)

commit a57531592bfab0b36a4d7fb58b556b848e6f75c8
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Dec 17 21:05:28 2006 +0000

    windows-optimize-smb-dir-search-if-no-wildcard-20061217
    
    
    When performing a SMB FindFirst/FindNext/FindClose operation if there
    are no wildcards involved, we can optimize the case and turn it from
    O(n) to O(1) where 'n' is the number of entries in the directory.
    This can be done by performing a cm_Lookup() and if it succeeds,
    constructing the appropriate response instead of parsing the contents
    of each buffer associated with the directory looking for matches.
    
    Without this optimization, FindFirst operations on directories containing
    thousands of entries can take a large number of seconds to complete.

commit 5b56a0b8ebbdfffa46b90d45b06253c3c6fade15
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 17 01:21:52 2006 +0000

    rx-fix-lock-init-20061216
    
    
    When rxBind was added it made an assumption that rx_GetIFInfo could be
    called before rx_InitXYZ.  This is true on non-Windows platforms, but
    on Windows rxGetIFInfo relies on an initialized mutex.  This patch adds
    a DllMain for Windows in order to initialize the mutex object upon DLL
    load.

commit d5583808e85ff8688716ce800c3eab5543582095
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 16 06:25:24 2006 +0000

    vldb-repair-tool-20061216
    
    
    make vldb_check able to repair at least some kinds of damage
    
    run it on a vldb which does not have a server operating live on it
    verify the result with vldb_check before using.

commit 35fae890e298b6d43990c2bccfe2a67c9d555ec3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 15 16:37:03 2006 +0000

    ubik-better-debug-logging-in-remote-20061215
    
    
    log when we get errors doing remote sync what it was, rather than covering it up

commit 04daebb95ebc15ece05f6f42aec1a3a7e9bd1bbf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 13 00:25:23 2006 +0000

    windows-custom-control-subclassing-bis-20061212
    
    
    Do not link to both talocale.lib and taafsapplib.lib.
    
    If you do, then there are duplicate functions in both the .EXE and
    the TaAfsAppLib.DLL.

commit 70c350c6d04176a9f58fa7ab00c92511f3ca039b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 12 20:37:44 2006 +0000

    windows-custom-control-subclassing-20061212
    
    
    While investigating the reasons behind the Drive Mapping listbox
    failing to permit entries 2 or above to be edited or removed and
    the text string being truncated to two characters (on some systems)
    I discovered that the subclasses were being recompiled into each
    application instead of linking against the DLL that contains the
    controls.
    
    The custom controls have been renamed to address name space issues.
    
    The "Drive X:" label changed to "X:" to permit single character item
    selection within the listbox.
    
    Still have no idea what is really going on.  Spy++ shows the Windows
    messages being sent to the correct Windows.  However, the getcount
    message never obtains a value other than 0 or 1.  This is probably
    why the selection code is broken.  Still working on it.

commit f126802236bb059b8f0e804c76aef1031beb8a44
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 12 17:02:37 2006 +0000

    windows-sleep-when-out-of-buffers-20061212
    
    
    When there are no free buffers, don't loop continuously.
    Sleep so that the other threads that are holding the buffers
    can grab the global buffer lock and release them.

commit 0919636307d628ff459edc77561dbcd0cec9fc6e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 12 04:00:40 2006 +0000

    windows-afsd-20061211
    
    
    (1) Power Management improvements.  Maintain a global flag that
        specifies whether or not the service is in a suspend state.
        Do not panic if Netbios() returns NRC_BRIDGE meaning that the
        lana is no longer valid.  Instead, stop the listener threads
        and if all listener threads are stopped, reset the lana_list.
        Allow the cm_Daemon() thread to periodically check the state
        of the smb listeners.  If they are all stopped and the service
        is not suspended, attempt to restart them.  If there are no valid
        lanas, return to the stopped state.
    
    (2) CreateX and NTCreateX use cm_CheckNTOpen() to test whether or not
        the user is permitted to obtain read or write locks.  This function
        would obtain the lock and then drop it returning whether or not
        the lock could be obtained.  If the lock was in fact required,
        CreateX/NTCreateX would then obtain it with cm_Lock().  The problem
        of course being that this pattern results in three RPCs to the
        file server (lock, unlock, lock).  This is reduced to one RPC by
        implementing cm_CheckNTOpenDone() which frees the allocated byte
        range lock from cm_CheckNTOpen() after the cm_Lock() call is
        performed.
    
    (3) Remove unused code.
    
    (4) Add debugging to SMB Directory Search functions.
    
    (5) Increase the SMB Ioctl MaxData size

commit 08bb3f639163be663d69c9b2188b694e6644cd00
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 6 20:00:48 2006 +0000

    kaserver-log-tgtreq-20061206
    
    
    Separately log TGT requests in addition to logging the authentication so
    that one can distinguish in the logs between Kerberos v4 clients and uses
    of klog.

commit 112604e9c31cba4f9605b6b53918aafa8cac77d0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 5 19:38:44 2006 +0000

    rx-preparesendpacket-avoid-double-free-20061205
    
    
    wow, this is special
    
    existed forever but only when we stopped leaking packets did it become a problem
    
    anyway, don't free packets and forget to reduce the number of packets in play

commit 71a1d8a0256323754f8bc994c1a67eca1dc5b84f
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Dec 2 03:56:17 2006 +0000

    docbook-quickguide-cleanup-20061201
    
    
    Remove generated files from CVS.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Some initial obvious cleanup.  Removed all the sections on Digital UNIX,
    changed IBM AFS to OpenAFS throughout, and reformatted and cleaned up the
    front matter and some of the first few pages.

commit f54446844329ca3ed2563e6f0aac75c8878eb409
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Dec 2 02:22:34 2006 +0000

    docbook-quickguide-makefile-20061201
    
    
    Add some comments to the makefile, set up dependencies to build the index
    automatically, remove a bunch of unnecessary @-signs in front of commands,
    and add a clean target.

commit ddc66bbff0a9687ef4a530908831cea26a85e2db
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Dec 2 01:44:50 2006 +0000

    pam-aklog-now-external-20061201
    
    
    Remove pam_aklog.  pam_afs_session will be developed and distributed as an
    external project instead.

commit b81763506fdf29f3df66d811e2d299cc4c9acec0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 18:48:26 2006 +0000

    give-s390x-syscall-table-the-big-hammer-20061201
    
    
    Neale Ferguson contributed the assembler.
    
    The false illusion of security some people want to play under is usually good for wasting a few hours; it was here. making the sys_call_table read nly for real of course fixes it, let's just hope keyrings come along before then on such platforms.

commit 9ba1d32b4ba8aac1d7e2c7f7489739e0e4ca5475
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 18:32:49 2006 +0000

    redhat-packaging-updates-20061201
    
    updates from derek
    
    updates for s390x
    
    updates to handle suse

commit af6af0bbc4d874a42f0640eaafd762ebfc1bc872
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 12:52:38 2006 +0000

    redhat-initscripts-update-for-suse-20061201
    
    
    suse lacks /etc/init.d/functions

commit 45425b2f222d5c0a8dd56695587b6cdeba581b6a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 29 21:22:38 2006 +0000

    cprivate-ticketlen-is-32-not-16-20061129
    
    
    everyone else thinks ticketLen is 32 bits. contrary to what arby's says, different is not necessarily better.

commit d253bde4574e34ee08cf326ec4c481b57c230476
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 29 06:23:00 2006 +0000

    windows-dirty-buffer-optimization-20061128
    
    
    The old dirty buffer synchronization algorithm had a buf_IncrSyncer
    thread walking the all buffer list periodically searching for dirty
    buffers to write to the file server.  This had several negative
    results.  The alogirithm ate up ever increasing amounts of CPU time
    even when AFS is idle as the size of the cache increases.  Also,
    buffers were written to the file server in an order based upon the
    original buffer allocation which has nothing to do with the order
    in which the buffers became dirty.
    
    The new algorithm maintains a dirty buffer list.  Items are added
    when the buffer is originally marked dirty.  A buffer is only
    removed from the list by the buf_IncrSyncer when the buffer is no
    longer dirty.  If the list is empty the thread goes back to thread
    immediately without additional processing requirements.

commit 1c661a198efca3b3273b1c523b19a367ddbee4d7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 28 09:30:58 2006 +0000

    volser-cleanup-xx-20061128
    
    
    cleanup the return code handling from
    
      DELTA volser-dump-validate-input-20060417

commit 1ed0460435ec05150526c951d1ff32dd3b5a9c39
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 28 09:16:36 2006 +0000

    windows-smb-dont-crash-vista-20061128
    
    
    Unlike previous versions of the OS, Vista performs a shutdown on
    the Microsoft Loopback adapter just like it would on a real adapter.
    This causes the smb_Listener threads to trigger a panic during a
    suspend/hibernate power event.
    
    The fix is to unbind from the network adapters in response to a
    suspend/hibernate power event and then rebind to the adapters
    when a resume power event is received.  Note that the resume events
    are not reliably delivered so it is possible the afs service will
    not be accessible.  However, this is the best we can do.

commit cb1997aad8a62b31f1e890dfe093a2d4845e0086
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 28 09:05:10 2006 +0000

    windows-conn-analyze-20061128
    
    
    force an rx connection reset if VICECONNBAD or VICETOKENDEAD are
    received

commit 97733f8dcfd08968da5173ceb5976143728b5eab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 28 08:59:43 2006 +0000

    windows-afslogon-dont-modify-environment-20061128
    
    
    don't allow environment variables we set to be inherited by child
    processes

commit 769f4e49b60b15b27eb2898a5b28c2d99fc0238c
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Nov 21 00:56:14 2006 +0000

    thiscell-whitespace-20061120
    
    
    Be more liberal when parsing ThisCell.  Accept and ignore leading and
    trailing whitespace and anything after the first whitespace character on
    the first line.  Return an error for a read error or for an empty cell
    name.

commit 40976a1f88d19c2c12fba6d1c530c02258ff1292
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Nov 20 23:50:42 2006 +0000

    param-common-fix-20061120
    
    
    Rather than setting AFS_PARAM_COMMON as part of the sysname guessing code,
    guess the sysname first and then sent AFS_PARAM_COMMON in a separate case
    statement based on the results.  Otherwise, it isn't set when
    --with-afs-sysname is used explicitly, resulting in a broken Linux build.

commit 778e2d5f18c1d0c93a073c137bb36e56f64747ef
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Nov 20 23:33:33 2006 +0000

    relative-path-canonicalization-20061120
    
    
    Path canonicalization for commands such as bos getlog was only applied for
    absolute paths; relative paths were still constructed relative to the
    canonical directory.  Modify the path canonicalization routines to also
    canonicalize the base directory for relative paths.

commit 848d2f1caa8d196831a1fe599694fdce0018136d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 20 18:53:28 2006 +0000

    windows-netidmgr-plugin-vista-vs2005-20061120
    
    
    Define _USE_32BIT_TIME_T since that is what tokens contain.
    
    Use cflagsdll instead of cflagsmt to avoid multiply defined entry points

commit 4a3482f9e6b5fdac731da45cc4f4179fd5db7046
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 20 18:03:03 2006 +0000

    windows-remove-unused-libs-20061120
    
    
    rpcndr.lib and largeint.lib are no longer used.
    rpcndr.lib no longer exists in the Vista SDK.

commit 7fff96e0cf113a34d3001282807b6bd04375f5b1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 11 07:12:10 2006 +0000

    windows-smb-rename-offline-folders-20061111
    
    FIXES 45692
    
    when offline folders are enabled, the old file name sent in a rename
    operation is sent in all uppercase even when the file name is not.
    this patch attempts a case insensitive match after the case sensitive
    match fails.

commit 1d6da37c594e3f379473aebc2a7345dc41bfff15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 10 04:33:59 2006 +0000

    revert-inactivevcache-hold-lock-20061109
    
    
    fails verification. come back to it

commit 6766285fc24e8ebc087e57085097106e1bb61425
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 10 04:09:16 2006 +0000

    macos-preupgrade-script-20061109
    
    
    update the preupgrade script

commit 2110d5e843aef69b0753370cd5ad705b5d5afb8e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Nov 10 04:02:01 2006 +0000

    kill-stat-blksize-20061109
    
    FIXES 42663
    
    don't provide a bogus hint

commit 24487b5ba24ef5a5d6ee269e880dbcdfd2b7cc6d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 10 00:14:16 2006 +0000

    leopard-updates-20061109
    
    
    make things work with current seeds

commit 789bf060d28465edc996b07b7f4bc21fc051515d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Nov 10 00:06:44 2006 +0000

    linux-blkbits-20061109
    
    FIXES 42671
    
    set blkbits if we have it

commit c12c958febfd6f7667345baec164b617f44f8bb9
Author: Marc Dionne <dionne@cs.wisc.edu>
Date:   Thu Nov 9 23:40:20 2006 +0000

    linux-statfs-dentry-20061109
    
    FIXES 42788
    
    statfs changed in recent linux kernels. cope.

commit ee8ae61a4d9610fea16473d87b471cd4fc128804
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Nov 9 23:10:51 2006 +0000

    linux-config-h-died-20061109
    
    FIXES 42662
    
    config.h vanished. deal.

commit 6975fcb202f2a599814ce9f26cda1999163050f8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Nov 9 23:02:32 2006 +0000

    inactivevcache-hold-lock-20061109
    
    FIXES 42798
    
    hold a lock while we are in InactiveVCache

commit dd508cf7b4553b13872335ec1eb84401bc61435f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Nov 9 22:53:46 2006 +0000

    linux26-disable-backing-readahead-20061109
    
    FIXES 42797
    
    disable vm readahead, we don't want it

commit 398ceb0775a0663829ce4c44a8ec08d9e63bd1ca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Nov 9 21:25:28 2006 +0000

    windows-buf-flush-20061109
    
    FIXES 44330
    
    The return value of buf_CleanAsync is not an error value but a flag
    indicating whether or not the buffer was in fact dirty.  Do not treat
    it as an error.  The error state is stored in the buffer itself.

commit ea4e9f1841dccebf37e9287334442a1ac2f928b3
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Nov 9 02:13:13 2006 +0000

    bozo-avoid-garbage-in-allprocs-20061108
    
    
    if we error, don't put garbage in allProcs

commit 9ea216fc9837eb6922ce365aa3eedafdb8564d94
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Nov 8 18:56:08 2006 +0000

    amd64-better-range-checking-20061108
    
    FIXES 44198
    
    check entire mapped space

commit 46cfe728987b8d2f45a7dc718234f83fccbda9eb
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Nov 6 04:24:42 2006 +0000

    aklog-doc-improvements-20061105
    
    
    Document (at least partially) AFS's mapping of Kerberos v5 principal names
    to Kerberos v4 format in the aklog man page.  Also document that -setpag
    may not always work.

commit f82012552166a51edf6931b05abd0380c429d6b6
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Nov 6 04:16:09 2006 +0000

    afsd-shutdown-doc-improvement-20061105
    
    
    Change the CAUTIONS about afsd -shutdown to be less dire and more accurate,
    as this now mostly works on Linux.

commit bf5bfc06638b028335ecdc19ce35315195fc6ffe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 4 23:49:45 2006 +0000

    rxkad-server-bad-ticket-part-two-20061103
    
    FIXES 43862
    
    Ensure that tkt_DecodeTicket and rxkad_CheckResponse return the right
    RXKAD errors for ticket expiration or invalidity.  Avoid calling
    tkt_CheckTimes twice in rxkad_CheckResponse

commit 799caa43b5417b40e43f38a690962b1d53bca374
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Nov 4 15:34:58 2006 +0000

    rxkad-server-bad-ticket-20061103
    
    FIXES 43862
    
    The file server has been returning RXKADNOAUTH when the time between
    the client and server is out of sync.  tkt_CheckTimes returns -1 for
    recently expired tickets and -2 for tickets that have been expired for
    a while.  In the -2 case we must return RXKADBADTICKET not RXKADNOAUTH.

commit 8dd192a8dd5b516aaa6f1f74d7c1979b004e358f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Nov 3 07:54:22 2006 +0000

    windows-afs-config-stat-entries-20061103
    
    
    raise max stat entries in the control from 10000
    to 262144

commit b0ac8662abe4d41f3671bd8bd001a17fcc2b90bd
Author: Jim Rees <rees@umich.edu>
Date:   Tue Oct 31 17:03:51 2006 +0000

    fix-help-msg-20061031
    
    
    Fix -help message, which was chopping off the "Usage: fileserver " part.
    Get rid of silly private buffer and use stdio while we're at it.

commit 9dc762e8e637089b8546bd73320cea998c8496a0
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Oct 27 00:39:15 2006 +0000

    k5-klog-20061026
    
    
    k5 version of klog

commit db4faa0656a9cc7ce9c3e0d32a0f92b35a01edb1
Author: Marcus Watts <mdw@umich.edu>
Date:   Thu Oct 26 17:49:38 2006 +0000

    aklog-lib-order-20061026
    
    
    fix lib ordering

commit c5fd006bf802bf6ccfd1e7a0c6422b71ea1fb9b1
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 26 17:34:31 2006 +0000

    use-strdup-20061026
    
    
    use strdup instead of rolling our own

commit 997454bd10aeb6d5db641da6a1b4f2d687a3a441
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 26 17:13:32 2006 +0000

    more-small-obsd-tweaks-20061026
    
    
    Mention how to build aklog.
    Don't even try to build kdump for [ofn]bsd.

commit a51a33beb322d96d7ecac711270fe5e5219fb878
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 26 16:06:57 2006 +0000

    obsd-20061026
    
    
    OpenBSD:
    deprecate --with-krb5
    warn about AUTOCONF_VERSION
    package builder is now just a tarball builder

commit 2145b549b304291c9ed022bcb9a8ce8c9042c3a6
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 26 15:54:12 2006 +0000

    proto-20061026
    
    
    prototypes for dbread/dbwrite

commit 04a3a95da334e5a9dfa8e3f1fd5459e7fe1b7f43
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 23 20:42:00 2006 +0000

    strcpy-is-bad-20061023
    
    
    eliminate strcpy

commit eecdb30c47b4c1a12011d2bf9bf0b6eb07797427
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 23 05:07:38 2006 +0000

    windows-readme-20061023

commit c484781531ce29d3d1b5c3753322be4a87dd0841
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 22 13:23:59 2006 +0000

    windows-smb_fid_t-deadlock-20061022
    
    
    smb_ReleaseFID cannot be called while a cm_scache_t->mx is held
    
    shuffle the order of the smb_ReleaseFID calls so they are always after
    cm_XXXRelease calls for performance.

commit 77d210cde774995bffdebf3347847afebd6f7cfd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 22 03:29:05 2006 +0000

    windows-delonclose-20061021
    
    
    set delonclose after obtaining the smb_fid_t

commit e6b719a4c0a33b0b020c07c20124a40a245dbe9e
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Sun Oct 22 02:58:37 2006 +0000

    parallel-attaching-20061021
    
    FIXES 43332
    
    Some sites expect single-threaded volume attaches to happen in a specific
    order. The parallel attach patch also changed the attach order for sites
    not specifying -vattachpar.

commit e720779b7c8472a0d928b0e1429b476f073309aa
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Sun Oct 22 02:48:35 2006 +0000

    kreltime-20061021
    
    FIXES 43551
    
    kreltime-guard-against-null-tm-20060731 was apparently an
    attempt to deal with the possibility of localtime() returning NULL by
    using localtime_r instead, and zeroing the tm structure first. This has
    two problems. First, localtime_r is not guaranteed to leave its output
    buffer untouched or in a sane state in the event it is given invalid
    input. More importantly, the second half of this delta fixed the build
    on Windows (which apparently lacks localtime_r) at the expense of using
    the wrong level of indirection on other platforms.
    
    Simple is nice, but correct is important too. There is nothing wrong
    with switching to localtime_r to avoid thread safety issues. However,
    the correct fix for the anticipated problem was and is to check the
    return value of localtime (or localtime_r), and if it is NULL, fill in
    the ktime_date with suitable default values.
    
    The attached patch does not implement the correct fix, but does fix the
    double-indirection problem, so butc will again perform correctly instead
    of crashing.

commit 4f26bcfdb3c6a47d17f825e99f9d5a1bc97eba45
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 21 21:46:17 2006 +0000

    windows-misc-20061021
    
    
    * don't DebugBreak unless a debugger is attached
    
    * replace afsdcell.ini with CellServDB in error message
    
    * do not NetBIOS Reset adapters when checking to see if only the loopback
      is in use because doing so breaks the existing LANA bind
    
    * remove a deadlock in smb3.c
    
    * do not retry dirty buffer writes when flushing in response to a suspend
    
    * do not flush in response to a suspend when only the loopback is present

commit 740013fcbf2273287414dd399b3020ed09cf07ba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 17 01:32:06 2006 +0000

    windows-dbg-refcount-20061016
    
    
    more code to assist in debugging scache refcount leaks

commit 6bc62e6c906174ef76759d77b3c6c9067a424455
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 17 01:20:33 2006 +0000

    windows-scache-ref-leak-20061016
    
    
    more reference count leaks

commit 5aa0347678c472d21b99af516c64578c4af41ea9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 16 14:54:32 2006 +0000

    windows-netidmgr-plugin-20061016
    
    
    fixup build dependencies for afsp_version.h
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fixup copyrights

commit 78c9881ed35d09416ddbd464214bb41f4429d05a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 14 15:57:37 2006 +0000

    keyring-pag-more-needed-defines-20061014
    
    
    some kernel don't have this. for post-1.4.2

commit 3e10dc3a84037bf86a744c6631854b580d5fab4b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 13 20:40:49 2006 +0000

    audit-one-more-thing-20061013
    
    
    it never ends

commit e3d10f048b3cbaa278f8213d8de6874db80f7658
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 13 18:36:30 2006 +0000

    audit-remove-nested-valists-20061013
    
    
    last straw
    make amd64, ppc happy for sure and for ever

commit 453abf6aa149e27622745b818afb88019e22171a
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Oct 13 14:06:38 2006 +0000

    aix-cleanup-20061013
    
    
    fixes for aix pre 5.2 (statfs64), remove a c++ style comment (makes xlc sad) and
     make clean target clean

commit 0e8238e7cb90c022ec126c05987d8258197a413a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 13 06:12:17 2006 +0000

    uae-translate-create-20061013
    
    
    really the stubs should probably just translate the codes back. maybe for 1.6

commit c8a86da7f76a8e71d883cda39c10251b0910302c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 13 00:28:05 2006 +0000

    windows-netidmgr-plugin-20061012
    
    
    afsp_version.h is auto-generated
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix product version generation

commit 2b96ba59194831ef298585c4f82d574a0790f3a6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 12 06:57:40 2006 +0000

    windows-scache-ref-leak-20061012
    
    
    make sure the scache mutex is held across calls to cm_SyncOpDone

commit e8a6b9977e637e304017cae8ac6d3fd03501b376
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 12 05:20:59 2006 +0000

    auditlog-sublist-fix-20061012
    
    FIXES 35559
    
    update so we don't botch the va_list child

commit d71d42d29f923750be4f4f518b8d0e72dba8fa23
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 12 13:22:28 2006 +0000

    linux-aio-functions-improved-test-20061011
    
    
    detect properly if we have nothing

commit eca0d2bdc94cbdbaeccd3d56991019c4ac732064
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 11 14:14:47 2006 +0000

    version-string-generation-consistency-20061011
    
    FIXES 42320
    
    try harder to reflect actual version

commit cbc3b26165f18fbcf9e41b493541ed0a8035bc37
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 11 13:25:47 2006 +0000

    elif-missing-defined-20061011
    
    FIXES 42321
    
    add missing defined() to avoid warning on macro

commit e870e08280c27e6164b240be74057744352d7371
Author: Peter Nelson <pnelson@andrew.cmu.edu>
Date:   Wed Oct 11 11:29:58 2006 +0000

    rx-memset-param-swap-20061011
    
    
    discovered via google codesearch

commit f72c2fc3e75a13e3736a275df35597ad43f620fa
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Oct 11 05:32:16 2006 +0000

    windows-netidmgr-plugin-20061010
    
    
    Secure Endpoints Inc. is contributing its AFS plug-in for KFW 3.1's
    Network Identity Manager to OpenAFS under an MIT style license.

commit 6e3aab757a6e33c62c216ab3ece722f0a7dda738
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 11 05:27:21 2006 +0000

    windows-release-notes-20061010
    
    
    fixup the file names to match the 1.5 branch

commit 59234e93a7aaf2f62bdd19bea39681e74752d1c5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 10 23:20:35 2006 +0000

    irix-compiler-hates-commas-20061010
    
    
    damn is irix fussy

commit 7be7dfe095a33ce354af2f3040d0486a6d463d95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 10 23:07:56 2006 +0000

    windows-no-more-win9x-20061010
    
    
    don't install afsmsg95.h as it no longer exists

commit ac52e2f3c0bec9298d020de963036409165f380e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Oct 10 22:59:10 2006 +0000

    linux-dont-lock-around-inactivevcache-20061010
    
    FIXES 42312
    
    iafs_InactiveVCache() calls afs_InvalidateAllSegments() which says
    it should be called with the vnode locked. so the lock should
    probably be moved to afs_InactiveVCache() so it can be droppped
    before calling afs_remunlink().

commit 8fa4ca5b80bb2e0ac43bd9ae4883ac7f5b3928b8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 10 21:12:56 2006 +0000

    irix-fgets-return-type-fun-20061010
    
    
    of course, we were just throwing it away, but....

commit c60736030bc7f7a678fc44af90d001cd8c08acf5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 10 16:55:49 2006 +0000

    windows-scache-ref-leak-20061010
    
    
    if cm_FindSCache is called the returned scache object
    must be released.

commit 3c13e5f0c0423d5e724ab224af22d7d3606ef1b0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 10 16:51:09 2006 +0000

    windows-afscreds-20061010
    
    
    prevent a stack overflow if the afsd_service does not successfully
    start after a request to do so is issued.

commit 8b7e9da62578c3d10bf699062963c02aa59d1609
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 10 16:45:56 2006 +0000

    windows-build-clean-20061010
    
    
    more AFS_component_version_number.h files to remove

commit 763dc42ff054dfd12c60aaf184271aedfffe589a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 5 19:37:00 2006 +0000

    revert-aix5-curpag-20061009
    
    
    failed to commit this. commit now
    VS: ----------------------------------------------------------------------

commit aa7d443b6d8d45b68115c72ede6da68d863e33c7
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Mon Oct 9 04:27:48 2006 +0000

    nbsd-sysnames-20061008
    
    FIXES 42019
    
    add missing sysnames

commit 747a8d8f41a34290c207327541372b4e1fcb0dec
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 9 04:15:45 2006 +0000

    h-enum-r-avoid-extra-hold-20061008
    
    FIXES 40699
    
    avoid orphaning an extra hold

commit 5ae8cf85e65e18a3d5593706c6f3f8d9435798e2
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Mon Oct 9 04:14:02 2006 +0000

    cellservdb-20061008
    
    
    cellservb update from grand.central.org

commit 1e9533907d4877f6b6aa70eb749e7a3e1717d861
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 9 02:48:44 2006 +0000

    windows-scache-ref-leak-fix-20061008
    
    
    pointer not pointer to pointer

commit 8919e0d5175dae85991a3782f659621c5be4056f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 8 21:37:01 2006 +0000

    windows-scache-ref-dbg-20061008
    
    
    add debugging code that can be activated with #define DEBUG_REFCOUNT
    to assist in debugging scache refcount leaks

commit 7231e2efe650b004168d443a290c4fed8b2db0a5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 8 21:30:03 2006 +0000

    windows-scache-ref-leak-20061008
    
    
    plug two more scache refcount leaks

commit c97374d6fd494ab790da7ae6c591abe0dac3d194
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 7 23:34:49 2006 +0000

    windows-osi-prototypes-20061007
    
    
    osi_LogCreate

commit b4007635064f08d4d0f019acc9888f0d4005708c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 7 23:32:27 2006 +0000

    windows-misc-cleanup-20061007
    
    
    reformat some code; make sure that pointers are copied while
    mutexes are held; ...

commit feb5f27c754325dcc5fd9eb13f305bc1c0172977
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 7 23:27:14 2006 +0000

    windows-scache-ref-leak-20061007
    
    
    return the cm_scache_t whose refCount was increased

commit ffe26eb18da581d2df02f9531d97e31e1c6dee65
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 6 17:31:30 2006 +0000

    windows-misc-fixes-20061006
    
    
    #ifdef DEBUG_REFCOUNT the ref count log entries so they aren't always
    compiled in
    
    comment out the remaining location where the write lock on cm_scacheLock
    is dropped in order to obtain the scache mutex on the object returned
    from cm_GetNewSCache().  Dropping the lock results in more than one
    thread being given the same cm_scache_t which is more dangerous than
    blowing away the contents of the object without holding the mutex
    
    ensure that cm_BufWrite is always called with a non-NULL scp.  Add
    an assertion to double check that we do it all the time.

commit ffe5092c3107afa72696f8d164c3ec587c2255ad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 6 17:23:27 2006 +0000

    windows-log-crlf-20061006
    
    
    use CR-LF as the afsd.log EOL so that it can be read with notepad.exe

commit 04b51cc8df7a3210ea18228743cb156c0e2c7115
Author: Tracy Di Marco White <gendalia@netbsd.org>
Date:   Fri Oct 6 15:55:35 2006 +0000

    netbsd-30-20061006
    
    FIXES 40782
    
    add support for netbsd 3.0, netbsd 4.0(ish)

commit e39f4d87896c451afb8c38705de4c12fd3940182
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Oct 6 14:59:54 2006 +0000

    osi-probe-avoid-out-of-range-memory-reads-20061006
    
    FIXES 41858
    
    avoid oops on opteron due to accessing unmapped memory

commit 775ea6f1b79b0e0e2b700e3894e01279e26ebbfa
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 6 14:27:44 2006 +0000

    linux-2619-aio-and-read-write-changes-20061006
    
    
    changes to support 2.6.19

commit f5e9182848b7c427acc515e7a7ed24afad655416
Author: Marcus Watts <mdw@umich.edu>
Date:   Fri Oct 6 06:37:38 2006 +0000

    pt_util-man-page-20061005
    
    
    Initial man page for pt_util.

commit b7117f61036c63238eb926c6eb71d42a56766501
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 6 06:13:49 2006 +0000

    windows-more-misc-fixes-20061005
    
    
    replace all DebugBreak() calls with osi_panic.
    
    remove calls to cm_RecycleSCache from VNOVNODE handler as its not
    lock safe to drop and re-obtain locks to adhere to the locking
    hierarchy
    
    restore reference to CM_SCACHESYNC_STOREDATA that should
    not have been removed.
    
    remove attempts to adhere to locking hierarching from cm_GetNewSCache.
    dropping the cm_scacheLock is too dangerous
    
    add a check to ensure that the scache refcount is not zero if there
    is a valid smb_fid_t pointing to it.
    
    more debug logging

commit 4cd9eee0155edba89b77779af9aea4f1aa55cd96
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 5 21:29:39 2006 +0000

    windows-misc-fix-20061005
    
    
    still tracking down issues when large numbers of temporary files
    are created and deleted in the same directory from multiple
    machines.
    
    VNOVNODE must return CM_ERROR_BADFD
    
    ensure that all calls to cm_GetCallback are made from cm_SyncOp.
    
    add CM_SCACHESYNC_FORCECB logic to cm_SyncOp so that it can be
    removed from cm_GetAccess
    
    don't mix CM_SCACHESYNC_NEEDCALLBACK with CM_SCACHESYNC_STOREDATA
    or CM_SCACHESYNC_FETCHDATA

commit 591460982c4372b461da8378682c9256dd913bba
Author: Jose Nazario <jose@monkey.org>
Date:   Thu Oct 5 16:34:29 2006 +0000

    bitwise-or-20051005
    
    
    bitwise and, not logical for p->flags in vnode_stop
    reported by Jose Nazario

commit 38d464e5791dbd96d6da85a0c0123f8b575f4e39
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 5 06:39:46 2006 +0000

    windows-misc-fix-20061004
    
    
    more cleanup from recent patches.  comment out the recycling code because
    it is not possible to implement it using the current locking hierarchy.
    
    change cm_BufWrite to take a pointer to cm_scache_t instead of a fid
    which must be used to look up a new reference to the cm_scache_t.
    more often than not we already have the scp and in the one case we
    don't we can let the caller look up the scp and then call cm_BufWrite
    if it is found.  If not, we have saved a function call and a bunch
    of lock operations.
    
    add a lot more logging.
    
    improve the scp mutex handling within smb_CloseFID

commit b9fd1d4c7eb672ec092596af7826e87e2d931c40
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 4 06:29:25 2006 +0000

    windows-wrong-lock-20061003
    
    
    grab the correct mutex so we don't free one we are not holding

commit 93b3be7d1adfcf90bb21009891d9e62b440aa629
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 4 02:35:43 2006 +0000

    windows-oops-20061003
    
    
    didn't mean to delete this release mutex

commit de6a01e51d8ea97e943cb4fa93d6bba2ecae9644
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 4 01:23:30 2006 +0000

    windows-multi-fix-20061003
    
    
    misc cleanups
    
    hold scp->mx while recycling
    
    add FILE_NOTIFY_CHANGE_CREATION to the notification mask when adding
    or deleting files

commit 665a125335c4844d35fa6510a38083602ef7fdbc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 4 01:18:43 2006 +0000

    windows-fetchstatus-20061003
    
    
    Don't call cm_GetCallback without checking the current callback status
    with cm_HaveCallback first

commit 8da04000ec70e7eebe8bb18d317bb6b348b91449
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 3 04:22:37 2006 +0000

    windows-multi-fix-20061002
    
    
    Fix the following problems:
    
    it is possible for a file to be created, buffers to become dirty from
    writes, the file to be deleted, the stat cache entry to be reused, and
    the dirty buffers to remain dirty until the end of time.
    
    stat cache entry starvation can occur because of large numbers of dirty
    buffers which take too long to be written to the file server.  The
    thread that writes dirty buffers in background writes/checks a small
    number of buffers, SQRT(buf-count), and then sleeps for 5 seconds.
    Writing all of the dirty buffers via this algorithm produces untimely
    results.
    
    threads can end up waiting for a callback on the same stat cache entry
    even though there are no threads actually attempting to perform the
    FetchStatus.
    
    And:
    
    Fix prototypes
    
    Optimize cm_GetNewSCache to reuse scache entries for deleted files
    and entries not in the hashtable before allocating a new one.  This
    keeps the entries in the hashtable to a minimum and thereby improving
    performance for all other operations which must lookup a scache entry
    by FID.
    
    Add support for Sequential and Random Access flags

commit b17a5d8192c08909ae57b540b25804ad9e1ae8a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 3 03:45:16 2006 +0000

    windows-track-lock-tid-20061002
    
    
    Keep track of the tid of the holding thread for writers

commit 62e5dab3d6ea8105cec253b45cef3ebcc0da1930
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 3 03:27:22 2006 +0000

    windows-scache-ref-leak-20061002
    
    
    when handling VNOVNODE must release the scache entry.

commit 0fe7b3a058b6c9df06d4df4af1e0621dbd53f44d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 28 13:58:04 2006 +0000

    avoid-assert-for-missing-vnodes-20060928
    
    
    specify the correct number of parameters for VForceOffline_r()

commit 4bfe736b9157fa3ee4c1c851e53d66b18e774827
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 27 22:13:15 2006 +0000

    darwin90-ukernel-setjmp-conflict-20060927
    
    FIXES 39354
    
    setjmp isn't safe for #define KERNEL

commit 6a2ac1e2d41b30dfd466e001f3a545bda4bc8da8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Sep 27 21:01:10 2006 +0000

    keyring-gcpags-20060927
    
    FIXES 40659
    
    do gcpags for keyrings without needing tasklist_lock

commit 2201fd6d9ff41506c1bc60d677ae268a1de42fbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 26 03:22:28 2006 +0000

    getcellunix-use-stdio-again-20060925
    
    
    i have no idea why this is so ugly. put it back to something like how it was.

commit c1d3a69976d7a6583a00176ff81dd66acb2cc07b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 26 02:36:03 2006 +0000

    copyonwrite-dont-assert-20060925
    
    
    take it offline, don't assert.

commit 9bd3d0926bbdc8ee9dedfe17bd137d5327e45a62
Author: Ken Aaker <kenaaker@myclearwave.net>
Date:   Mon Sep 25 16:04:12 2006 +0000

    getcell-still-stupid-20060925
    
    FIXES 40829
    
    should be fixed a third time too

commit 9a5cfc73bc5f2d0193cfaa22fca20f1c65daafbb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 22 21:20:54 2006 +0000

    windows-no-more-win95-20060921
    
    
    after killing off win95 at the hackathon there were some build
    dependencies left behind.  now we build again.

commit 50852d6c81b7e244e6bde625fd30d2f7c5f0c923
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 22 21:18:50 2006 +0000

    vioc-header-split-20060921
    
    
    enable windows to build again

commit faee281941502211c3ea8a62ffea85d934d9ba3a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 22 20:17:45 2006 +0000

    windows-kfw-sdk-20060921
    
    
    kfw 3.1

commit 928ad0445e91ecbfcd32a26e8c17b90ee0d83700
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Sep 22 12:16:24 2006 +0000

    tasklist-lock-redux-20060922
    
    
    try tasklist_lock weak binding in osi_probe
    
    if no tasklist_lock, fall back to rcu locking

commit 955a58a5a850da4caeba9b45b0e8ff27a143b725
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 21 22:10:28 2006 +0000

    pr-changeentry-arg-types-20060921
    
    FIXES 40568
    
    this has been broken a while, we just noticed it because of prototypes

commit b613480bd5eb6bc2a14c4e23229d90105291944c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 21 12:47:20 2006 +0000

    avoid-assert-for-missing-vnodes-20060921
    
    
    right now if a vnode is missing when we try to clone, we could assert. ick.

commit 86f4e7620b24505ec8c0b788e3040974ac2ea449
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 21 12:38:04 2006 +0000

    dont-close-this-afsconf-either-20060921
    
    
    static means static

commit 1221e482d786a56ca52568ed29a9c981e674ad7a
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Wed Sep 20 06:51:15 2006 +0000

    salvage-zlc-update-20060920
    
    
    avoid dealing so well with damaged namei volumes that we assume a temporary clone is damaged

commit 361751cbf4b0cfef9a738cfcfbbd589eee621ade
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Sep 19 22:33:10 2006 +0000

    linux-i-blksize-test-20060919
    
    
    this was missed in the configure test conversions

commit 3e28a968e0b916c176b978da2807a7e4857faa18
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 19 06:48:22 2006 +0000

    windows-loopback-install-20060919
    
    FIXES 40291
    
    Disable DNS Registrations for the Loopback Adapter and make sure
    that Netbios is turned on.

commit 357771453be717ee10dc0d580f1b458008133ba3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Sep 17 06:01:43 2006 +0000

    solaris-fopen-sucks-20060916
    
    FIXES 38566
    
    avoid issue trying fopen when fds 0-255 are in use already
    yuck

commit 57101f38a0a868b950e32bd70b95308b1edc243d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 16 20:40:19 2006 +0000

    fix-afsconf-leak-20060916
    
    
    this one's not a leak

commit 58e23eb620429f427cba72bbd2c982d81d9fbd9e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 16 20:11:04 2006 +0000

    amd64-linux-missing-syscall-nrs-20060916
    
    
    they removed these. makes it harder to probe for the ia32 syscall table
    (ignoring the compilation issue)
    
    cheat. they aren't going to change...

commit 52557c982e1ed65c694c5c1387ac2b385356438d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Sep 16 01:13:22 2006 +0000

    xml-docbook-documentation-first-pass-20060915
    
    
    needs more massaging to make it fit the tree, but, get it here first

commit 3473fa4ec7c8a7362003ba3d278345339bbf3e36
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 16 01:10:23 2006 +0000

    darwin80-avoid-stack-free-20060915
    
    
    thanks to apple for their help; all i did was code the patch

commit 1c8080fe9dcb3713bf1231cf4b455e80c6f0c697
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 16 00:23:18 2006 +0000

    namei-emulate-flock-20060913
    
    FIXES 39797
    
    lockf when not locking and unlocking the whole file is fraught with peril

commit de5f1c47e8af9a7e4fd1b77ff5fc085859813b59
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 16 00:17:23 2006 +0000

    afsconf-leak-20060915
    
    
    don't leak afsconf structs

commit 914b2e27dcf5b231832959d0b02dc1e40ca24c81
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Sep 15 00:58:24 2006 +0000

    uae-avoid-dups-20060914
    
    
    avoid duplicates in the errno space so we don't return the wrong error (something unexpected)

commit 975897d476ca5ade26d2d546620ba3bd97d8182a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 13 18:49:58 2006 +0000

    windows-afs-config-20060913
    
    FIXES 3730
    
    remove "Show Tray Icon" checkbox from afs_config

commit 94ff5651cb84a26ab931626392908684fae913f3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 12 19:57:17 2006 +0000

    suse-kernel-source-path-update-20060912
    
    
    no one can ever agree on anything

commit e7ec36ddeb0973c71514463862ad90d42f9b009c
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Thu Sep 7 02:08:39 2006 +0000

    vol-voffline-avoid-early-freevolumeheader-20050906
    
    FIXES 39422
    
    don't free vp before we finish using it

commit 19e16d34a61945dd1ff3d2f93e48662087654daa
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Sep 7 00:12:31 2006 +0000

    windows-afs-shell-ext-32bit-20060906
    
    
    Generate a new GUID for the 64-bit AFS Shell Extension and install
    the 32-bit version as part of the 32-bit tools

commit 3dc9bcb1289bb868a336e820d589b03246c36bce
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Sep 6 21:56:01 2006 +0000

    keyring-dont-use-syscall2-20060906
    
    
    avoid not-really-portable-use of syscall2

commit a63d753df88e547606f703764031ad1b9d18fa82
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 6 18:19:36 2006 +0000

    windows-dot-dir-part-two-20060906
    
    
    cm_LookupInternal can return the input stat cache entry when the name
    is "."
    
    the DNLC should not cache "." or ".."

commit f47b934c133150fef80fec57ae738ca885b8a914
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 6 07:11:52 2006 +0000

    windows-dot-dir-20060906
    
    
    when evaluating paths with cm_NameI treat the component "." as a no-op.

commit e68b0f9cb4c0216548bdb30cf8f3e93d23491fb8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 6 06:09:13 2006 +0000

    windows-install-licenses-20060905
    
    
    port LICENSES file contents to installers

commit b4d8384b6779369faa9c4fd533979f363ef4dc81
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 6 00:51:44 2006 +0000

    windows-fs-prototypes-20060905
    
    
    remove unused prototype

commit 51b862ef8869823fd0ba09045b88cab9ab197117
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 6 00:47:34 2006 +0000

    windows-vol-ntops-20060905
    
    
    if the function is namei_XXX on unix then it is nt_XXXX on Windows

commit 5bc1ab6cfabdfeb0e8f09308385d6680ce97645f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 5 23:04:25 2006 +0000

    pruclient-killer-logging-cleanup-20060905
    
    
    
    vicelog this stuff instead of fprintf

commit 56bbd155db6941d915cf199f6e23cccfeb359ce8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 5 17:30:33 2006 +0000

    callpostamble-deal-with-null-host-20060905
    
    FIXES 38566
    
    don't dereference garbage when no host was set

commit 2c103b8fb3a1b36e4c8eda986b8e82199d46e1b9
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Sep 5 15:59:46 2006 +0000

    salvage-zlc-update-20060905
    
    
    deal with damaged namei volumes better

commit 474df74c88464763d61889fbdcc1edd1167d4a94
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 4 18:36:23 2006 +0000

    windows-vol-ntops-20060904
    
    
    add nt_SetNonZLC()

commit 5a57fce90246e380fc530dc3c8ad097852b31712
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Sep 3 20:47:00 2006 +0000

    autom4te-cache-is-evil-20060903
    
    
    Purge autom4te.cache after running autoconf so that we don't ship its huge
    trace files in source releases.  Add #!/bin/sh to the beginning of regen.sh
    just because.

commit 96c22fdc0d399bb2749bc47316d866120bc02dcf
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Sep 3 06:50:12 2006 +0000

    salvage-zlc-20060903
    
    
    make salvager deal with zero link count files

commit cd341e2fd7e621a929cad9ac2e722f5178902266
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Sep 3 06:32:33 2006 +0000

    nuke-do-not-pass-null-rock-20060903
    
    
    don't pass a null rock inot nuke(), fixing earlier introduced bug

commit 50880283c916f1311ad7af9040b5e98435a7a8a6
Author: Jim Rees <rees@umich.edu>
Date:   Thu Aug 31 14:22:50 2006 +0000

    deprecate-fbsd-client-20060831
    
    
    deprecate the FreeBSD client

commit 7392f1d15f694adade1c8c51162f34bb2d03fd2b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 31 12:33:22 2006 +0000

    windows-gui2fs-20060831
    
    
    following ui guidelines, errors should display the HAND icon and
    warnings should display the EXCLAMATION.  Success should display
    the INFORMATION icon.  Let's get this right.

commit 0617e067d741d7a75d9a4e3e49a49c4986f9869c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 31 11:28:24 2006 +0000

    windows-fs-20060831
    
    FIXES 38949
    
    fs sq and fs mkm on Windows didn't behave as on Unix

commit 2ec7ad2af02f770688d711d3a7ac90627a89a583
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 31 06:15:15 2006 +0000

    linux-param-generator-20060831
    
    FIXES 36888
    
    not yet pulling up

commit d86f0c44d3c5910a6b54895484dc0286eac9bc73
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 31 05:49:02 2006 +0000

    inline-bug-for-linux-20060831
    
    FIXES 38854
    
    inline bug so we get sane oopses

commit f56dff0860d5f9a9d92e9a06c1b7cd1728a2844a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 30 21:14:59 2006 +0000

    windows-firewall-config-20060830
    
    
    Enable the firewall detection logic to work on Vista

commit 48471c805ee43192e3d3adf1ffac995c16257903
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 30 21:09:11 2006 +0000

    windows-init-log-eol-20060830
    
    
    change EOL to CR-LF for afsd_init.log

commit f8b7be8f167589f649d664c863f51300c9f5e4cf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 30 07:31:47 2006 +0000

    windows-t2-search-dir-info-level-20060830
    
    
    return CM_ERROR_INVAL if we don't recognize the requested infoLevel

commit a9bbe0e0dce33fd42cc944db3a657c95af6f6796
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 30 02:40:03 2006 +0000

    windows-winsock-init-20060829
    
    
    WSAStartup and WSACleanup do not need to be wrapped by the app
    to protect against multiple calls.

commit 90b79e93e81a8a20c0b6e9dc9d279dc073517ee7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 29 20:07:26 2006 +0000

    aklog-deal-with-feeble-kdcs-20060829
    
    
    i guess i should just give up and fix this here

commit 7ee51491035be767fc0e9d72a8471179b9874127
Author: Marc Dionne <dionne@cs.wisc.edu>
Date:   Mon Aug 28 20:11:31 2006 +0000

    get-sbdev-configure-test-20060828
    
    FIXES 38736
    
    the autoconf glue was missed before

commit 93846a81d2ffadb7741700ff96a40426bda920fd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 28 18:17:13 2006 +0000

    windows-pioctl-service-check-20060828
    
    
    before attempting a smb query check the service status.  fail immediately
    if the afs service is not running.

commit 09f46c46d09fef191a43a42abf9224f29025ec56
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 28 06:36:01 2006 +0000

    windows-talocale-20060829
    
    
    initialize variables before use

commit 8083dcea82bd2b2a43695047c14086d7d43c1a73
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 28 06:10:14 2006 +0000

    windows-dll-install-20060829
    
    
    install resource dlls in the same directory as the base modules

commit 56d71eaae70eca2c6065b9cf463c18cc3f6c7356
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 28 06:04:03 2006 +0000

    windows-shell-ext-20060829
    
    
    How did the afs_shl_ext_XXXX.dll module ever load on any platform?
    Since the name afs_shl_ext.dll is not 8.3 we must specify the base name
    explicitly.   Otherwise, it won't load.

commit 93cd9cb88c813159712922e3bd46722913834b68
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 28 05:26:30 2006 +0000

    windows-cleanup-20060828
    
    
    cleanup AFS_component_version_number.h the right way

commit 01e5faa0b2b34d7f7b03dcaf003624794c13f0d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 26 04:41:37 2006 +0000

    windows-smb-set-eof-20060825
    
    
    SMB_SET_FILE_END_OF_FILE_INFO is a LARGE_INTEGER not USHORT

commit 5ba229419b3a699ec55c1be0198838c3499ca93f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 25 18:07:21 2006 +0000

    windows-smb-alignment-20060825
    
    
    on the wire smb data structures should be byte aligned

commit 375a79f2a02ff2c16f9fcc54dba2b51e41b51c05
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 25 16:23:51 2006 +0000

    windows-cm_volume-recycling-20060825
    
    
    do not panic if we reach maxVolumes and there is a volume entry that
    can be recycled.

commit 4076e99d91e3644f4544386a38c908e5b793b285
Author: Derek Atkins <warlord@mit.edu>
Date:   Fri Aug 25 06:21:43 2006 +0000

    keyring-test-harder-20060825
    
    FIXES 38470
    
    don't enable keyring pags in older keyring kernels

commit 3cdf27d6f070dd93c48995c344fba3b9ab0ac48e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Aug 25 05:47:00 2006 +0000

    macos104-no-64bit-resid-yet-20060825
    
    
    we're not ready for 64bit resid yet (in dir code)

commit bfdf13de063363c34ece1a289e16136613cafaf8
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Aug 24 21:18:56 2006 +0000

    vol-init-locallock-20060824
    
    
    we never init this. oops.

commit 60f1ed2d6d68a2ce8de825147a99c0638762ed19
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 24 05:31:25 2006 +0000

    pruclient-killer-fix-20060824
    
    FIXES 37251
    
    yeah, i should commit the fix this time. not my day

commit d9486687e8549d4f29076ad095dfb09c14a33eca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 21 21:38:55 2006 +0000

    tweak-afsd-autotune-20060821
    
    
    this (chunksize tuning) needs to be revisited

commit ffa71e5a917606bddfabc1005ad6ca14c3e28731
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 21 21:01:14 2006 +0000

    specfiles-20060821
    
    
    same for head

commit b6f97376880bb38463b372d92b09a977957e0872
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Aug 20 23:12:46 2006 +0000

    tiger-fix-largefile-20060820
    
    FIXES 37890
    
    don't make uio offset an int.
    at the same time, fix resid similarly, and fix osi_file.c to accomodate that

commit 75599f03de22b1fd6e2818536078e9129741dfb4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 20 06:31:42 2006 +0000

    linux24-fix-20060820
    
    
    fix ifdef damage

commit b6da19fe253f456b7d9372d6620057bbd8ad2c8b
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 17 14:55:43 2006 +0000

    linux-keyring-pag-update-20060817
    
    FIXES 37887
    
    if you manage to patch the syscall table, then the setpag() in the
    patched setgroups syscall and creates a new session keyring. it does
    contain the right pag id but this isnt the intended behavior.
    
    so setpag() becomes __setpag() which just does the group insertion.
    (and perhaps it should be called something else?). the stat count for
    the setpag operation might be more correct now (instead of also counting
    the pag restores).

commit 16dc98ab4654f448909d59f65b2a8e3a55bc93b8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 17 13:40:16 2006 +0000

    windows-backconnectionhostnames-20060817
    
    FIXES 37807
    
    uninitialized variable reported due to dwAllocSize not being used
    within the initial RegQueryValueEx call.  (ugh)

commit 202efcf9f5707785ba4c7dab05de9d8dba11952c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 13 21:17:04 2006 +0000

    darwin90-updates-20060813
    
    
    make things compile cleanly

commit b21c13dc3ab751118220dc31276995050841a1ae
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Aug 13 17:53:46 2006 +0000

    linux-dentry-iput-20060813
    
    FIXES 37576
    
    update put_inode handler for swapping situation deadlock avoidance

commit 3017c8dc541afbaed68f9399c348bbdfa7529f9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 13 17:45:48 2006 +0000

    linux-gpl-only-tests-20060813
    
    
    don't try to use gpl-only kernel symbols

commit 031c1819239b5ece45027b25283d980ddc507c93
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Aug 13 17:40:27 2006 +0000

    fix-congestion-tracking-20060813
    
    FIXES 36951
    
    fix congestion tracking

commit 4baf136974d8845b7960708b804a87f1e6f512ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 13 05:52:08 2006 +0000

    linux-updates-20060811
    
    
    fix for current fc kernels, and clean up linux nfs translator

commit ba05854b63e969abc6fd85644e5146d9d110c1d0
Author: Jason McCormick <jasonmc@cert.org>
Date:   Sat Aug 12 17:50:37 2006 +0000

    linux-mutex-changes-20060812
    
    
    update mutex declarations

commit 7c76320e8b0bf49954f5b6f231305e36b7bc4edb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 11 22:38:41 2006 +0000

    linux-updates-20060811
    
    
    fix for current fc kernels, and clean up linux nfs translator

commit dc1531a528fc950253061c9ffb9a16248c9431e8
Author: Jim Rees <rees@umich.edu>
Date:   Thu Aug 10 22:03:35 2006 +0000

    fix-includes-20060810
    
    
    Fix kopenafs includes.

commit d9de7beb995a1158e5701d397467e028ff55fe77
Author: Jim Rees <rees@umich.edu>
Date:   Thu Aug 10 21:50:40 2006 +0000

    declare-ubik-client-20060810
    
    
    Declare ubik_client in rpcgen.
    I don't like this fix but I hope it's just temporary until someone fixes
    the include dependencies.

commit 677add475009261b8c1cc4b0cd8cbda985616a54
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 10 18:06:10 2006 +0000

    macos-install-vos-20060810
    
    
    install vos in /usr/sbin

commit aa4d289b87cda5790b268bbb44fd7806379d267f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 10 00:48:24 2006 +0000

    windows-buf-queue-handling-20060809
    
    
    don't free objects that are still on the queue.  remove them first.

commit cca848edb12abea4deb8f676b07182575d61186d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 10 00:27:50 2006 +0000

    windows-backconnectionhostnames-fix-20060809
    
    
    The previous code failed to specify the correct size of the REG_MULTI_SZ
    being written to the registry when appending an additional name to the
    list of Back Connection Host names.  This would cause the written string
    to contain
    
       FOO\0B
    
    instead of
    
       FOO\0\BAR\0\0
    
    this caused problems for Windows 2000 lsass.exe which failed to properly
    allocate the buffer for RegQueryValueEx and failed to check that it did
    not read beyond the buffer.   If the list was not terminated with two
    nuls an exception would be thrown that could result in a lock being
    orphaned on the NTLMNameTable.  This would in turn prevent authentications
    to UNC resources from completing.  As a result, the startup of
    afsd_service.exe would fail if a GlobalAutoMapper drive was configured.
    
    The work around is to set the correct value in the registry before
    switching machine names or installing/removing the Microsoft Loopback
    Adapter.

commit 09020663fad32a30cec3f425d6dee7807799eadb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 8 17:36:48 2006 +0000

    windows-restrict-timeouts-to-cifs-20060808
    
    
    If afsd takes longer than the cifs timeout to complete an operation
    the cifs client may break the virtual circuit and create a new one.
    this forces all file handles to be closed and locks to be released.
    Try to prevent the circuit from being destroyed by allowing the
    CIFS lanmanworkstation SessTimeout value to enforce upper limits
    on the Conn and Hard Dead Timeouts.   Permit this automatic configuration
    to be disabled by setting specific configuration values for timeouts
    in the registry.

commit f45d2d8e67e43faf3442031e29c681d24db10824
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 7 22:17:36 2006 +0000

    windows-globalautomapper-thread-20060807
    
    
    Move the establishment of the GlobalAutoMapper drives to a separate
    thread in order to prevent OpenAFS from reporting that the service did
    not start.
    
    OpenAFS considers the GlobalAutoMapper as deprecated functionality so
    it is ok to avoid the service failure report.

commit 2bed0e5377e84241c579e95212ab7b2aa8b5df84
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Aug 4 20:53:20 2006 +0000

    solaris-sockaddr-storage-20060804
    
    
    the head has the sockaddr_storage patch from the rxtcp work, so it needs this

commit 9ec8e8242a839066c30bee4541de5f6dd1e6ca35
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Aug 4 19:23:25 2006 +0000

    solaris-syscall-update-for-prototype-20060804
    
    
    since it's now prototyped, we needed to do this

commit 146b525664afb6d3ffa9cbb658e700593d300f45
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 19:05:02 2006 +0000

    signal-not-sys-signal-20060804
    
    
    <signal.h>, not <sys/signal.h>.

commit 67b7c2a6bb66470c59dcc0b41ad395516ddb24dd
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 18:58:46 2006 +0000

    shlibafsauthent-linking-20060804
    
    
    libafsauthent needs to link against libafsrpc.

commit 9e01ca69f3ae4bee3edce3ca540bc08e042cc60b
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 18:55:13 2006 +0000

    shlib-build-error-reporting-20060804
    
    
    Use set -e so that errors will be reported to make.

commit 2cb59dc2b7d9b7963c75d1ec7e2511d815133b24
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 18:42:37 2006 +0000

    death-to-remaining-longc-procs-20060804
    
    
    Kill the remaining references to afs/longc_procs.h so that head will
    actually compile (whoops).  For a header that no longer did anything, we
    sure included it in a lot of places.

commit 16f06bd0cab3e0b7e08ee45c7bb4e86cae75b601
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 18:40:08 2006 +0000

    fs-conv-sol26-move-20060802
    
    
    Take advantage of the new platform infrastructure to move fs_conv_sol26 out
    of the vol directory and remove the annoying Autoconf support for
    optionally build it in favor of the platform support.  We no longer care
    about upgrading inode file servers on DUX, so make fs_conv_DUX4 go away.

commit 5fdbb9841b8bdd5009993c96b7c01955990c3174
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 17:11:31 2006 +0000

    death-to-ultrix-20060804
    
    
    Remove all remaining references to AFS_ULTRIX_ENV or pmax_* from the source
    tree.

commit 43f1bcf65ae1f75694510524d9cb2d8fffcc5992
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Aug 4 16:55:21 2006 +0000

    linux-keyring-pags-20060804
    
    
    ok, well, first try

commit a901d2b8ad9cfb3060b7824179b92b16e5f3dd14
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Aug 4 16:46:59 2006 +0000

    linux-kernel-updates-20060804
    
    
    updates for new stuff in linux kernels

commit f3a77810db0044bd0fc3df1101269ab42b365fef
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 16:43:38 2006 +0000

    death-to-longc-procs-20060804
    
    
    longc_procs.h was only used on Ultrix, about which we no longer care.
    Delete it, its installation rules, and the places where we were including
    it.

commit 51799f7cc0337e6ecc7892be7b8700737712b5e5
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Aug 4 16:42:55 2006 +0000

    linux-try-kbuild-20060804
    
    FIXES 34561
    
    the real reason i upgraded auto*

commit 68382256a83363da98ecfbe0c1d2172542d0c042
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 05:12:05 2006 +0000

    death-to-param-usr-20060803
    
    
    The param.*_usr.h files are obsolete and no longer referenced.  All of them
    except for param.ia64_hpux1123_usr.h contained #error directives saying not
    to use them.

commit a8e9f2807b6b8b76dd836340408e5f3ba8bbd492
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 05:06:52 2006 +0000

    man-todo-update-20060803
    
    
    Update the to-do list for the man pages given the conversion of the aklog
    man page to POD and the removal of package and mpp.

commit 5c03f31406276490f05ac2ce1325709447be7df6
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Aug 4 04:55:39 2006 +0000

    rxdebug-man-formatting-20060803
    
    
    Add missing B<> and S<> markup to the SYNOPSIS.

commit 5c90caf395060832f10c0d5c8befc589fea49826
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 4 04:44:46 2006 +0000

    windows-cm-buf-20060803
    
    
    improve readability, ensure that buffers we free are in fact cm_buffers,
    and ensure that we obtain the next buffer before freeing the current one

commit 2247c0e499df70f2de1797e674ce1035514fc05c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 4 00:28:58 2006 +0000

    windows-smb-no-showerrors-20060803
    
    
    pop up error dialogs prevent auto shutdown and restart of afsd service
    on network adapater error

commit 3002d38bcd30a1ac20c77a2c30a6858435f6d604
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 3 22:48:54 2006 +0000

    windows-afslogon-null-ptr-20060803
    
    FIXES 33962
    
    do not dereference a null pointer effDomain

commit b32073b9d3a95d014a43747cb873a2d6a8400ae3
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 03:57:06 2006 +0000

    death-to-efs-20060802
    
    
    We never define AFS_SGI_EFS_IOPS_ENV any more, so kill all the now-dead
    EFS code.

commit 3a34d8cb4f749cfa0af3c2d81c460c2a46987102
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 03:37:12 2006 +0000

    autoconf-likes-relative-paths-20060802
    
    
    When using the install-sh that ships with the source tree, Autoconf
    substitutes in a relative path just to be annoying.  Define the INSTALL
    variables in each individual Makefile so that they find the proper file.
    Remove the definitions from Makefile.config so that no one will
    accidentally get the wrong ones.

commit b57f675bc3364c17fccc58ed56307f91213d3b3d
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 03:34:35 2006 +0000

    html-man-index-links-20060802
    
    
    Add links back to the index at the top and bottom of each generated page.

commit cf798932b5187c24d46a3e20d07aedb09e39ac66
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 03:18:43 2006 +0000

    create-top-libdir-always-20060802
    
    
    Always create the include and lib directories even if one builds specific
    targets.

commit b8dd9c4c6b211432c4867780376d2b5c7fc08835
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 02:51:41 2006 +0000

    sun-iow-includes-20060802
    
    
    Solaris needs <sys/ioccom.h> for _IOW.

commit b34e03d1e6f4e0254851ae9b4e366be75bca5d7f
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 01:25:59 2006 +0000

    pam-aklog-20060802
    
    
    A PAM module to call setpag and run aklog.  Based on ideas by Sam Hartman
    and Doug Engert.  Probably doesn't yet do everything that we want and needs
    more eyes, but it at least builds.

commit f260f74ad95402d5484479c9490a334ace7662e9
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 3 01:24:37 2006 +0000

    better-dirpath-sed-char-20060802
    
    
    People might use + in paths.  People might also use " in paths, but if they
    do, C doesn't work, so they lose anyway.

commit 2ec9b1db031db06ae99f0b86a3329ff7a81cf777
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 22:54:51 2006 +0000

    shlib-overhaul-20060802
    
    
    Overhaul how we build shared libraries.  Pull the code for building and
    installing shared libraries out into simple shell scripts that we can then
    evolve as we need to and make more sophisticated.  Remove the details of
    how to use a mapfile from the Solaris Autoconf-driven configuration and
    move them to the Solaris case of the build script.  In the process, make
    it possible to build more than one shared library in a single directory.
    
    Remove the last vestiges of libafssetpag from the sys directory; kopenafs
    now replaces all of that.
    
    Only link in syscall.o in the sys and kopenafs directories on those
    platforms that actually care so that we don't have to do work to generate
    a valid .o file that can be included in an archive.

commit aebadcd5478994fec011368597004bef2439ccb6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 2 20:49:44 2006 +0000

    aklog-stds-krb5-order-20060802
    
    
    kfm needs this first so when you include com_err.h from afs as a side effect of krb5.h we don't explode

commit fd099b3e763b6b2c5bfb87db0cae8a900f031ad3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 2 19:59:40 2006 +0000

    endian-fixes-20060802
    
    
    macos needs us to do weird stuff so -arch i386 -arch ppc works

commit 62e6fc36b129729a571264bfb661114dce12bc2e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 2 19:18:42 2006 +0000

    viced-sane-acls-bit-20060802
    
    
    Add VICED_CAPABILITY_SANEACLS bit and -saneacls option to viced to
    enable it.

commit 5fc2674bb85cf0266201ff6eaa16f2148315019b
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 19:14:44 2006 +0000

    death-to-more-dux-20060802
    
    
    Delete more DUX configure machinery that we no longer care about since we
    have no DUX client and don't care about fs_conv_DUX.

commit 2b20e5e61afa3e5bb1d196759c3b5da08f999a3e
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 18:42:54 2006 +0000

    no-pam-for-irix-20060802
    
    
    Don't try to build PAM on IRIX; IRIX PAM is almost but not entirely unlike
    what we expect.

commit 28114121fe045e82e286f93008b7d4b41ad824f2
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 18:35:25 2006 +0000

    fs-conv-sol26-cleanup-20060802
    
    
    We don't care about SunOS or DUX any more, so remove all the dead code.

commit fc90c24df1b2822d734340b6004d3b2a045ac7ef
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 18:33:30 2006 +0000

    fs-conv-sol26-move-20060802
    
    
    Take advantage of the new platform infrastructure to move fs_conv_sol26 out
    of the vol directory and remove the annoying Autoconf support for
    optionally build it in favor of the platform support.  We no longer care
    about upgrading inode file servers on DUX, so make fs_conv_DUX4 go away.

commit cfce015ead18c72ee921f480c73e9247a98838fc
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 17:50:43 2006 +0000

    death-to-dux-client-20060802
    
    
    Remove the DUX client files.  This code doesn't work on any current DUX
    system.

commit 83b6575648535ccdc4973ab24240a5b3dfc2f0d4
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 17:47:29 2006 +0000

    kopenafs-20060802
    
    
    Add a shared libkopenafs that provides k_hasafs, k_setpag, k_unlog, and
    k_pioctl (in other words, enough for a PAM session module that calls an
    external aklog).

commit 5c206470444f8f6531384a056c0a4484e127c01b
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 16:54:11 2006 +0000

    vioc-header-split-20060802
    
    
    Modify vice.h so that it doesn't depend on afs/param.h.  Split the VIOC*
    constant definitions out of afs/venus.h into a separate header file
    included by it.  Update various comments to reflect a more recent version
    of reality.  This is in preparation for kopenafs work so that kopenafs.h
    can include afs/vioc.h as well to get the same definitions.

commit 5bee037fc0d1158b1dc19a4306d5e1fa2e1af45d
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 16:45:34 2006 +0000

    config-include-fixes-20060802
    
    
    Include stdlib.h so that we have a prototype for exit.  One fewer compiler
    warning during the build.

commit 71a9dc8f789af60f48fa4d44a5b585901f54acb7
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 15:34:40 2006 +0000

    simplify-platform-makefile-20060802
    
    
    Simplify the recursion in the platform Makefile.in.

commit 78880bc5dce716c7c5885f505bee7eca23ff50d6
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 15:12:42 2006 +0000

    remove-unbaked-code-20060802
    
    
    Remove the preliminary rxgk and Automake conversion, neither of which are
    finished or ready for prime time yet.  Having this active in CVS isn't
    helpful and is mildly confusing at the moment.

commit 3bfa53ed23d18e431d23f720e49e254ca6c27003
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Aug 2 15:04:37 2006 +0000

    death-to-dos-win95-20060802
    
    
    Remove files that were only used for the DOS or Windows 95/98 ports,
    both of which are completely obsolete.  Also remove InstallShield version 5
    support.

commit 4ea8536c908871f173d776fc475064761d47d85d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 2 05:01:56 2006 +0000

    macos-use-platform-copy-of-afssettings-20060802
    
    
    we moved this to be made for real; use it

commit 4d67cb2f1645239d1ef73a8847b17275e4cb3feb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 2 04:48:27 2006 +0000

    macos-platform-update-20060801
    
    
    minor cleanup of the platform stuff

commit 6e8a145a55ab7e4474338e8bbdf8187e2d5991ac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 2 04:35:52 2006 +0000

    macos-installer-20060801
    
    
    partial updates

commit 2eaae5ef3a6739b3d4edf3c8e6e3daf3fd096833
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 23:55:11 2006 +0000

    death-to-null-20060801
    
    
    General consensus is that the termlib hacks that necessitate the libnull.a
    hack don't matter on any current platform we build on, and even if it does,
    it should be dealt with in TXLIBS in osconf.m4.  So remove all of that
    infrastructure and see what fails.

commit d1da98ac49860379f772bc27bdd86ac410592ad3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 1 23:51:38 2006 +0000

    darwin-platform-fix-20060801
    
    
    get rid of tabs

commit 1732c5cb5ac9c4b1c6bd656ea11992bfd22d03f0
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 23:30:03 2006 +0000

    death-to-obsolete-readmes-20060801
    
    
    Remove README.SECURITY given that we've already removed all the code that
    it was talking about.  Remove references to README.OBSOLETE, since it's
    now gone.

commit 80e88d6a80fc3fc0d15650f20ea7fc3fece1a1e4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Aug 1 23:29:15 2006 +0000

    viced-capability-writelock-20060801
    
    
    add write loc king capability

commit b405868ca02880207bda1ec6eb4e21c7b0ac250c
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 23:27:20 2006 +0000

    death-to-package-20060801
    
    
    Remove package, mpp, and wsadmin, along with the remainder of configure
    support for obsolete programs and the corresponding documentation.

commit 25015276f80a12296848d0fc9a2960d2e0226159
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 23:16:42 2006 +0000

    cvsignore-happiness-20060801
    
    
    Update .cvsignore files to ignore everything we should be ignorant of.

commit 4736c08e8ffe0929761d86580ff55ac1a6af9ef3
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 23:15:45 2006 +0000

    volume-static-mismatch-20060801
    
    
    VPrintExtendedCacheStats_r should not be static.

commit 892d231ec91f17506c37cf727c0571a1ff85b0dc
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 22:52:54 2006 +0000

    dirpath-h-tmp-delete-20060801
    
    
    Cleanup dirpath.h.tmp when dirpath.h doesn't need to be updated.

commit 46574ccb91da54b28e41d8de7b3d50686a564468
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 22:49:36 2006 +0000

    death-to-sia-20060801
    
    
    Drop the SIA code (PAM for Digital Unix).

commit 3f75e402535843b4e34c09b03fb5181758506d96
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 22:39:56 2006 +0000

    death-to-login-20060801
    
    
    Get rid of the AFS integrated login, which we no longer care about.

commit f6971a141558711fb09d9fa15c9de67772047b32
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 1 22:31:42 2006 +0000

    djgpp-killer-20060801
    
    
    kill djgpp code

commit 088e1409f8d318697023341e2050a3e58708b0fd
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 22:27:17 2006 +0000

    platform-build-fixes-20060801
    
    
    Add dummy makefiles for all the other supported architectures and fix a
    few issues with makefile inclusion in the Makefile.in and
    DARWIN/Makefile.in.

commit c5613fadf59fba0cd91d60607a5f5d2ff4df516e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 1 22:05:08 2006 +0000

    macos-installer-20060801
    
    
    partial updates

commit eb1dd3306b6459572dbb2c4d58d07939c9c85b50
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 21:57:14 2006 +0000

    we-hate-dce-20060801
    
    
    Destroy all traces of dauth, including the DCE authentication support in
    afsweb.

commit 86a29ebd32fd9cc48e367930709276a7c489e085
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 1 21:43:34 2006 +0000

    macos-move-afssettings-20060801
    
    
    build this as part of the build

commit 01441567bc08f814b79f5f583c867c63ea0c76c1
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 21:31:47 2006 +0000

    dead-log-programs-20060801
    
    
    log and passwd haven't existed for some time, so get rid of the Makefile
    rules for them.

commit 15dae9264ffcaa9393a0cead4595602b589ce74b
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 21:19:53 2006 +0000

    death-to-des-stub-20060801
    
    
    Remove des_stub; we don't care any more.

commit 8df5dcbc91e6504e45e16b8e70d7108eeaa6458c
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Aug 1 21:03:54 2006 +0000

    death-to-pinstall-20060801
    
    
    Delete pinstall and convert the entire tree to use the install program
    found by configure (falling back on install-sh in the local tree).  This
    means that we have to pre-create directories with install -d.  Also redo
    the install and dest rules to be lists of install rules rather than
    dependencies driving separate make rules so that running make install will
    always update the target directory with the current code, even if there are
    files in the install area that are newer.
    
    Stop installing libafssetpag; we're about to kill it in favor of a
    different library.  Remove some djgpp rules.

commit 29dd7923817b621c5d14920513dc26c2f9fda530
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jul 31 22:58:17 2006 +0000

    linux-afs-translator-xen-20060731
    
    FIXES 36646
    
    nfs translator for linux, plus xen support for shared afs client
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 36646
    
    add linux afs translator plus xen shared afs client support
    
    ====================
    FIXES 36646
    
    add linux afs translator plus xen shared afs client support
    
    ====================
    FIXES 36646
    
    add linux afs translator plus xen shared afs client support

commit 67f04fa714580016bdbb707d962ce763023e31aa
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 22:12:39 2006 +0000

    kreltime-guard-against-null-tm-20060731
    
    
    so we can memset 0 and get defaults

commit 75922872e6c29bd059db3b07b7b274e3c4172715
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 20:01:08 2006 +0000

    fslog-dpf-20060731
    
    
    turns out it's nice to log why we exit

commit da4775909094e8dc1e14fa9cdbf8ba3baaebf23a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 19:15:15 2006 +0000

    FIXES 35559
    
    va_list isn't integral on ppc

commit cc37bc5ae487dda611d2bf4b383b2d2cfd1ea675
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 31 18:34:26 2006 +0000

    ka-forwarder-20060731
    
    
    Add ka-forwarder.

commit 8c4496602badc1b0aa2642e061a720d4d1f108b8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 17:50:32 2006 +0000

    namei_mapper-20060731
    
    
    add chaskiel's namei mapping tool to cvs and make a rule to build it

commit 5f434b8087d3c73123860f853d15a0f51c03bf73
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Jul 31 17:43:19 2006 +0000

    aklog-man-page-20060731
    
    
    Rewrite the aklog man page in POD and add documentation of the new flags
    and .xlog.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Fix my misunderstanding of what rxkad2b is.
    
    ====================
    
    Fix unterminated B<>.

commit 57ef7a5d999de2829e2f205f2308101819e7f08a
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Mon Jul 31 17:36:01 2006 +0000

    bucoord-64-bit-cleanup-20060701
    
    
    However, in bucoord/commands.c, bc_VolRestoreCmd(), bc_DiskRestoreCmd(),
    bc_VolsetRestoreCmd(), and bc_DumpCmd() were passing '0' as arguments
    instead of NULL.  Because there is no prototype for bc_StartDmpRst() this
    results in a crash on 64-bit Linux.  (when running 'volrestore' from an
    interactive backup session)

commit c04c2a0b1aa266c67d2e7e056e6c3f9518a39a2a
Author: Alessandro Dellavedova <alessandro.dellavedova@ifom-ieo-campus.it>
Date:   Mon Jul 31 17:15:53 2006 +0000

    fbsd-ifnet-flags-20060731
    
    FIXES 35757
    
    i should really fix this right

commit 5a0c56d33b9bc842cee10afc977f59b04e46d728
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 31 16:52:43 2006 +0000

    windows-cifs-vista-20060731
    
    
    remove claim of support for Vista CIFS protocol version

commit e6f6adc1bc310482baa868046e68c386ab1c822b
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Mon Jul 31 16:33:16 2006 +0000

    libafsauthent-avoid-global-host-20060731
    
    FIXES 36411
    
    defining host globally in the rmtsysc interface: dumb

commit 77c502047025d8073e4cd35c5e4851fd1d2eb369
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 16:23:34 2006 +0000

    vos-avoid-freeing-null-pointers-20060731
    
    FIXES 36441
    
    pretty obvious. don't.

commit 8d2dbc51f40e61cbe6157c910dff18606cf84282
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 31 16:18:13 2006 +0000

    call-bzero-in-convertvolumeinfo-with-correct-size-for-dotreadonly-20060731
    
    FIXES 36442
    
    and slipstream in bzero() killing

commit e199597d529a035f50e57e7dd653a8095313d246
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Mon Jul 31 16:07:49 2006 +0000

    rx-readpacket-leak-20060728
    
    
    avoid just allocating packets forever

commit ebcfab8d3247ff6fa98726c88a55a5cec0d91f97
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 28 14:36:24 2006 +0000

    windows-cifs-compatibility-20060728
    
    
    more compatibility fixes to the CIFS gateway server

commit a4211966d7f9d16dd2f93c9122ba09b4920dfd8e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 28 03:07:13 2006 +0000

    windows-remove-bad-asserts-20060728
    
    
    remove assert()s that should simply be if()

commit b805981546444ba90c9d0b811358658e720f9277
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 26 14:52:56 2006 +0000

    windows-cifs-undo-large-x-20060726
    
    
    remove claim of support for LARGE_READX and LARGE_WRITEX

commit d42394946fc8c4da27361e3ad39766f83b659fd1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 26 14:01:55 2006 +0000

    windows-cifs-rewrite-20060726
    
    
     delta windows-cifs-rewrite-20060717 introduced a bug in Tran2SetFileInfo
     which would cause data loss by inappropriately truncating the file
     instead of setting the file length.
    
     this commit adds a new smb_SetSMBParmLong() function
    
     fix smb_ReceiveCoreWrite to check for locks before truncation and
     adds much debugging
    
     fix CIFS protocol negotiation and declares support for large readx
     and writex
    
     updates debugging strings for Tran2 functions
    
     configures the windows firewall before sleeping in cm_Daemon()

commit 3167f707fdf582c8ca851a353ca0c82b92ccc947
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 26 13:49:41 2006 +0000

    windows-integrated-logon-20060726
    
    
     delta windows-integrated-logon-20060724 would cause Windows 2000
     systems to blue screen with an exception in winlogon.exe.

commit 68e8e996b6cc82d5097e82a4c9c8af9eb8c3c093
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 25 15:44:46 2006 +0000

    des-no-obsolete-encrypt-20060725
    
    
    this version of encrypt() conflicts with current linux (which returns void)
    
    we don't use it, so, buh-bye

commit 238ac51e80551bf57334867521817103fddd2cbf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 25 15:38:31 2006 +0000

    cellservdb-dl-sanity-check-20060725
    
    
    protect me from myself

commit 1a0329fef030fedce3fb12d9c641825b0d49f053
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 24 15:06:15 2006 +0000

    windows-integrated-logon-20060724
    
    
     * apply ACL restrictions to credential cache immediately after
       initialization
    
     * move file from system temp directory to user temp directory
       prior to starting executable as user to perform credential
       import

commit 22f43b30a094669cc8b52bfb416ef6fb099bb93c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 20 22:44:30 2006 +0000

    windows-ifs-cleanup-20060720
    
    
    * fix up prototypes
    
    * remove unused variables
    
    * re-organize code for readability
    
    * fix type safety issues

commit 8d4d47860baeb983759782f64d46ec70659e5022
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 20 07:06:42 2006 +0000

    windows-ifs-afsrdr-20060718
    
    
    updates to ifs afsrdr code to allow it to compile.

commit 66db2c9bec2b6a38aab49eb31a992701930bd055
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 20 04:23:09 2006 +0000

    windows-ifs-20060718
    
    
    enable the afsifs code to build again

commit 72abe41e1df0e530ae73e50b0b952b26d4e26683
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 21 00:27:15 2006 +0000

    aix5-curpag-20060719
    
    
    curpag() exists in too many places
    anyway, fix em

commit 14ed562c4b576bcfe6b0147b86fa5f7899d22c16
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 19 15:41:48 2006 +0000

    viced-checkrights-loglevel-20060719
    
    
    increase the log level on the "CheckRights: len=%u, for host=%s:%d\n"
    message to 5.

commit 51d0c3c8d1daf63e2a9d07ff5be0e649eb821b0c
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Wed Jul 19 05:11:06 2006 +0000

    rxkad-typeindex-20060718
    
    
    clean up an off by one error for type index

commit 436e8fe17b2051db806e386db86b3de789afb2f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 18 17:02:04 2006 +0000

    windows-wix-2_0_4221-20060718
    
    
     * Updates to WIX installer to support the 2.0.4221 build
    
     * Removes unnecessary files from Release Notes

commit 94e2fd2f51b671ee44e9ddd12b44c6d26aa149fe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 17 19:45:27 2006 +0000

    windows-cifs-rewrite-20060717
    
    
    a re-write of the Tran2 Query File Info, Query Path Info, Set File Info,
    and Set Path Info functions to make them more readable and ensure
    correctness.

commit 7cb94029ce2092f2117742047cffd3c6b58292cd
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Jul 14 20:22:51 2006 +0000

    aix-largefile-20060714
    
    
    FDH_WRITE can return something great er than an int32 size for largefile

commit d335c636e25d268631c8408cf6b1aa04b6043f88
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jul 14 18:48:18 2006 +0000

    discon-20060714
    
    
    Implement PDiscon. Right now only sets nat mode. Untested.

commit 3a8a83c061965195c4842d89b888e37cd4b33ee3
Author: Derek Atkins <warlord@mit.edu>
Date:   Fri Jul 14 15:53:05 2006 +0000

    linux-posix-lock-file-api-fix-20060714
    
    
    fix lock enrollment for older kernels

commit 6878e0b6348a649768274adbce77500fbd45caa4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 13 19:17:20 2006 +0000

    vpurge-needs-no-lock-20060713
    
    
    don't hold the VOL_LOCK during vpurgevolume
    volserver's transaction stuff (NewTrans, actually) precludes any problem

commit 845b4ac1cf8f97c5c4d84e36109ef477edef4a31
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 13 18:55:10 2006 +0000

    rxkad-private-reorder-structures-20060713
    
    
    based on fix from tkeiser@gmail.com for aix segfaulting issue; keep offsets of
    cprivate and sprivate's copies of type and level the same

commit 8b898261c1c682f819856966f8158aba36d9abdb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 13 18:38:21 2006 +0000

    tsm-interface-simple-uid-20060713
    
    
    for now we use afs_uint32 as a uid in the exported interface

commit 4c1503ee9bf5769a9de247a86d7b9dae85bbd993
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Jul 13 18:24:29 2006 +0000

    aix-lam-20060712
    
    
    tsm for aix5

commit 8f2aba65819a668fc4a78c0ab929932c23cbc381
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 10 20:24:08 2006 +0000

    windows-wait-rx-hard-dead-time-20060710
    
    
    Don't timeout based upon the LAN Workstation Session Timeout value.
    Instead wait for the rx hard dead timeout.

commit 39af776e0e9c295aa24dcd31cd42d845980ad8d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 6 01:15:14 2006 +0000

    windows-dllmap-20060705
    
    
    afsrpc.dll and afsauthent.dll got too big for their
    allocations.

commit 3aa506fe502f010135d25e0d6996f5cdc38a13bd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 5 20:18:55 2006 +0000

    windows-vlserver-makefile-correction-20060705
    
    
    so make clean works right (remove vldbint.h)

commit 3d4b12626136a59bd876648e0d1360f629998df8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 5 19:34:01 2006 +0000

    libafsrpc-export-xdr-20060705
    
    
    "       ld: warning: relocation warning: R_SPARC_COPY: file
           /usr/local/lib/libafsrpc.so: symbol
            rx_enable_stats: relocation bound to a symbol with STV_PROTECTED
           visibility
           Undefined                       first referenced
            symbol                             in file
           xdr_afs_uint32
           /usr/local/lib/libafsauthent.a(ptint.xdr.o)
           ld: fatal: Symbol referencing errors. No output written to slapd
           collect2: ld returned 1 exit status
    "
    
    one can guess how that might be less than useful

commit f720e922a982ec99d57adb0514878c65bafc4293
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 4 23:42:37 2006 +0000

    windows-cifs-20060704
    
    
    a mixture of updates to cifs compliance

commit 941ac04165a9239a11b4ab908350dbfae24edfb9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 4 22:22:35 2006 +0000

    ubik-call-sucks-20060704
    
    
    make ubik_Call removal work on Windows.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    another fix for Windows

commit 15963ecb3459f34025c0e8fdbf8f1055e1e4a294
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 4 07:15:17 2006 +0000

    viced-uninitialized-20060704
    
    
    tcon in XStatsVersion.

commit e117599fe17fdfca9c61d1883fe9bf9aa95e3918
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 4 04:57:05 2006 +0000

    fileserver-hates-pruclient-20060626
    
    
    right now there is one struct ubik_client shared by all threads in the fileserve
    r, which sucks when one has it locked
    
    let's, uh, fix that.

commit 4478d3a99a1baaee081048a20ac50e7af0223647
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 4 04:50:46 2006 +0000

    ubik-call-sucks-20060703
    
    
    ubik_Call's pseudo-varargs construction is hideous
    
    put it out of its misery where possible

commit a2d5bb078f3df6dc6fe992fdcaaf8b5a5607c0d6
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Mon Jul 3 19:41:31 2006 +0000

    sol10u2-rename-20060703
    
    FIXES 34774
    
    In s10u2 the vnode path cache code was modified so that we're no longer
    guaranteed of having a valid path cache pointer for the lofs mount case.
    Attached patch changes gafs_rename to deal with this. Patch also removes
    unnecessary MODLOAD32 build rule from sun4x_510 case.

commit 277eb30d32349ad1fd24b1ea02a8dfca86c79ef5
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jul 3 02:45:35 2006 +0000

    windows-wix-sdk-20060702
    
    
    Move SDK to \Program Files\OpenAFS\SDK

commit 20b4f785b56ff604bab72d3b624aae74a9e5ae5d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 3 02:00:51 2006 +0000

    windows-library-cleanup-20060702
    
    
    Export rx_Finalize and rx_InitHost
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    * add afs_winsockCleanup() call to rx_Finalize
    
    * do not start listener threads multiple times
    
    ====================
    
    * export rx_Finalize and pr_End
    
    ====================
    
    afs_winsockCleanup

commit e66467f382a31345f3ea9dd919ea703eccb623d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 3 01:57:37 2006 +0000

    windows-afsauth-krb-20060702
    
    
    Build the afsuth.krb library

commit 5accc48e1b0db55c56ba64abe0450d511c0fdf2a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 3 01:55:54 2006 +0000

    windows-nsis-sdk-20060702
    
    
    Move SDK to Program Files\OpenAFS\SDK

commit 61df8d9fc834b87d758d8581e73fa7c05198ecf4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 3 01:54:19 2006 +0000

    windows-afslogon-pr_end-20060702
    
    
    * do not attempt to copy kfw krb5 creds if integrated logon disabled
    
    * disable use of automatic registration from afslogon.dll.  calling
      pr_Initialize() results in rx_Init() being called which creates
      threads that prevent safe unloading of the dll.  This is causing
      crashes in third party applications that call CreateProcessAsUser()
      which in turn temporarily loads afslogon.dll.
    
    * add life_to_time to afskfw.c in order remove the link to the rxkad
      and des libraries

commit 1947002d11358b9427adce1d6e03f5357a416ad8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jul 1 06:01:29 2006 +0000

    butc-prototyping-20060701
    
    
    have some prototypes
    happy july 1
    and what a crappy day it is

commit 350c140d89198cb7f9f8b241188f9937d7da119e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 30 20:44:19 2006 +0000

    libcmd-support-version-switch-20060630
    
    
    well, i guess adm will be sad until it exports AFSVersion, but, life is hard.

commit 8a1a06b5eb0e415859fd841c3c4a6b578eaea022
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Jun 30 15:03:04 2006 +0000

    solaris-vfsops-20060629
    
    
    fix symbol binding for modern solaris 10 patches (6/06)
    which kills a few we didn't need anyway

commit 2dcf63ef4e044019bda5889f1de332432124bb71
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Jun 30 14:57:43 2006 +0000

    salvager-20060628
    
    
    make ClearROInUseBit actually do it

commit bc9f256f1c6d2ac26a0b6bfc15de85de895ecf0b
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Fri Jun 30 01:17:06 2006 +0000

    rxbind-typo-fix-20060629
    
    FIXES 34634
    
    kill this obvious typo

commit f0830f89a11a2fea06a26270a90c7ddf8365a533
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 30 00:24:20 2006 +0000

    rxkad-rt34568-20060629
    
    FIXES 34568
    
    The use of strncmp() results in p->v5_str being treated as matching
    prefix instead of as the complete string.  This causes "ftpa" to be
    considered a match for "ftp".

commit a8dc93bf9f93a1ab74972c41d09af01da93ff230
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 28 16:00:33 2006 +0000

    windows-bulkstat-eaccess-20060628
    
    
    New CM_SCACHEFLAG_EACCESS flag is used to track whether the status
    information was the result of an EACCESS error during an inline bulk
    status call.  If so, we have a callback but did not get any status
    info.  When this flag is set we include the entry in future bulk status
    calls but otherwise treat the cm_scache entry as if it has a valid
    callback.  The callback will be revoked if the ACLs on the object
    changes.

commit cb395ac70a2387723b0eceb33afe293d2cbfbf71
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 28 06:33:28 2006 +0000

    windows-inlinebulkstat-20060628
    
    
    fix the timeout conditional and error handling so that all directory
    entries will be processed.
    
    now there is a problem in which transitioning from no tokens to tokens
    does not result in refreshed data.  something to look into.

commit 7fa3d8d735779c263eec66fecec5255d8407b2be
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 28 04:22:40 2006 +0000

    windows-inlinebulkstat-20060627
    
    
    Activate previously implemented TryBulkStat code.  Due to incorrect
    comparisons the code was never executed.  Add support for InlineBulkStat
    with fallback to BulkStat and increase the size of CM_BULKMAX to 150.
    (3 * AFSCBMAX)
    
    Add CM_SERVERFLAG_NOINLINEBULK to track support for InlineBulkStat.
    Clear flag during InitCallbackState.

commit 08c07df7eb8ab22857d0c23d8f7ab35532576039
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 27 23:52:37 2006 +0000

    windows-fs-uuid-part-two-20060627
    
    
    force new connections after uuid change

commit 5c563c121e853a06bb47d0b8932276982e676150
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 27 23:18:29 2006 +0000

    windows-fs-uuid-20060627
    
    
     fs uuid [-generate]

commit a8e481ddd92744944d2b06fd5c8ed28383297f6a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 27 22:48:23 2006 +0000

    windows-uninitialized-vars-20060627
    
    
    uninitialized pointers when dereferenced do bad things

commit f2c64e15995abc6791923013805cca402e6f4e8e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 27 16:39:04 2006 +0000

    windows-cleanup-20060627
    
    
     * fix UAEACCES debug string
    
     * assign scachetype invalid when invalid
    
     * smb_WriteData prototype
    
     * update T2 search dir debug message to include unique

commit 8de6593c6829eab9dae15fc38ba08f382ee7b096
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 27 05:02:57 2006 +0000

    windows-do-not-release-null-20060626
    
    
    uidp can be null.  if so, do not release.

commit 791b2141809fc0ad2da78ab3cd91303ac0ec482d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 27 04:16:46 2006 +0000

    fileserver-hates-pruclient-20060626
    
    
    right now there is one struct ubik_client shared by all threads in the fileserver, which sucks when one has it locked
    
    let's, uh, fix that.

commit 2a6f610ecadcc61f7fe332e63f8ffca7942e4193
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jun 26 06:47:04 2006 +0000

    windows-wix-path-key-fix-20060625
    
    
    properly set the path key

commit 83e22d270ea07cd473bc98a5fb2e7191cb840a40
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 26 03:24:14 2006 +0000

    windows-32bit-tools-client-dir-20060625
    
    
    Modify afssw_GetClientInstallDir to check both the registry for both
    the full client installation as well as the 32-bit tools installation
    for the Client Install Pathname.

commit ea499821f73a9f27aad36b1878cccd26b2dc55c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 26 03:18:21 2006 +0000

    windows-wix-client-path-20060625
    
    
    move <Environment> tag to a component that will be installed
    as part of the 32-bit tools so that Client\Program is added to
    the PATH.

commit 0eb04961602949683be26cbe002677b5ee537ab6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 22:44:26 2006 +0000

    windows-largefile-support-20060625
    
    
    don't clear the no64bit when there is no server

commit 67598a4f59ae485242d611d1a5e3dfa6e6c81784
Author: Dave Tanner <dtanner@mit.edu>
Date:   Sun Jun 25 20:50:37 2006 +0000

    windows-torture-test-20060625
    
    
    Torture Test

commit fa4b139d02fe4b1224a9ca367a081ca95ec18dd6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 20:50:02 2006 +0000

    windows-largefile-test-20060625
    
    
    Large File test

commit 266c9339896d75ab36dc812f1e905d05be23e0fd
Author: Qi Dong <qdong@mit.edu>
Date:   Sun Jun 25 18:56:53 2006 +0000

    windows-aklog-64bit-20060625
    
    
    Prepare makefile to link against kfw 64-bit libs when they are
    available.

commit ebef2766358b8cca53efd5c12bc951198eb246e0
Author: Qi Dong <qdong@mit.edu>
Date:   Sun Jun 25 18:54:16 2006 +0000

    windows-64bit-type-safety-20060625
    
    
    Type casting

commit 0b9b02178e7a3d8df39fec9c83f8b49230ce30d9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 17:55:23 2006 +0000

    windows-cleanup-20060625
    
    
    cleanup AFS_component_version_number.h

commit 8c3e1ad7578dfbfd26633fc12b91ea69c1f77436
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 15:59:38 2006 +0000

    windows-wix-tools-on-i386-only-20060625
    
    
    only build the 32-bit tools installer on i386

commit bfa26d1ddfc7727a9f8c2e79c8d608c586823a12
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 15:54:25 2006 +0000

    windows-nsis-help-files-install-location-20060625
    
    
    place the help files in the correct location

commit 8e0033ba73ef9551cb24052ef90db677e4adad50
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 25 02:47:04 2006 +0000

    windows-report-quota-diskfull-20060624
    
    
    overquota and diskfull errors are detected while writing dirty buffers
    to the file server.  A flag is set on the scp so that the error can
    be returned to the caller.  cm_FSync was clearing the flag without
    returning the error. This permitted calls to Win32 WriteFile to report
    success even when they failed.

commit a4cb03504075771e0f2cfebf931f91f29553c73a
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 24 17:08:40 2006 +0000

    rhel3-krb524-checking-20060624
    
    FIXES 30589
    
    Check for krb524 functions in libkrb524 if not found in libkrb5 so that the
    Kerberos v5 support will build on RHEL3.  Thanks to Derek Atkins for the
    debugging and testing.

commit 830756f8f73e1f67da6ec916cdfc3e4b9a677f71
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jun 24 15:09:34 2006 +0000

    windows-viced-cbd-20060624
    
    
    don't break platforms other than Windows

commit 2a1aff4104dd9a71bebf1a63ca85ac86338b3b1b
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Sat Jun 24 06:47:09 2006 +0000

    afsutil-includes-20060623
    
    
    Include <afs/afsutil.h> for prototypes of afs_inet_ntoa and afs_inet_ntoa_r.

commit 7f219ecd3863398d7cc5317a55b8c3f735e8ef95
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jun 24 06:14:09 2006 +0000

    autoconf-datarootdir-20060623
    
    
    Autoconf 2.60 will replace some variables, most notably mandir, with values
    relative to datarootdir, a new variable.  Add settings of datarootdir to
    the affected files.

commit e264711295275b7b1372e701bf106cf75b342007
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Jun 24 03:48:06 2006 +0000

    windows-wix-help-files-install-location-20060623
    
    
    place the help files in the correct location

commit 015f9ce287c22df7a0b967ee0357d0816b4e0e54
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Jun 23 08:54:27 2006 +0000

    windows-largefile-support-20060623
    
    
    This patch adds large file support (> 2GB) to the CIFS server and
    the cache manager.
    
    It also corrects a significant oversight where the definition of
    struct rx_call was inconsistent due to a failure to define AFS_PTHREAD_ENV
    prior to including rx.h in all source files.  This prevented all errors
    during rx_Read and rx_Write to be ignored.

commit ae9a07a8e0a5d0e83e138ef9bbd71b3e7e0072ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 23 04:32:48 2006 +0000

    windows-cm_syncop-buflocked-20060622
    
    
    If cm_SyncOp is called with the buffer locked, it must be returned
    locked even on error.

commit 4859232df55c94232a70d602cafe6a8bcc72d9dd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 22 22:48:32 2006 +0000

    windows-no-freelance-vldb-failover-20060622
    
    
    When Freelance mode is not in use the cache manager must load the root.afs
    volume of the default cell in order to be able to start.   Unfortunately,
    if the first vlserver fails the request to obtain the volume information
    will timeout and no retries will be performed.  This patch performs up
    to 10 retries in the initialization code in order to enable the vlservers
    to be marked down so that failover can occur.

commit d53a0a8d5e58d6bb0a979d977889aa2bfcb19829
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 21 21:40:00 2006 +0000

    windows-viced-cbd-20060621
    
    
    typo

commit f3a7cd67c5d9d225a688892b3d5948db11e9a82e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 20 23:09:46 2006 +0000

    windows-viced-cbd-20060620
    
    
    build the callback debug utility

commit 7826b313868ec8ce975b65e5c430a9503fca4dd5
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Wed Jun 21 18:57:24 2006 +0000

    aix-largefile-cleanup-20060620
    
    
    some largefile cleanup and other minor aix tweaking

commit 840ef4a80f3ec8378865232f23171c7c3485626b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 20 21:57:26 2006 +0000

    windows-afsrpc-exports-20060620
    
    
    New functions: rx_InitHost, rx_NewServiceHost

commit 7af6b06cb6611a8925e3fa887ddf0a03542ee4dc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 20 21:32:55 2006 +0000

    rxbind-for-servers-20060620
    
    
    do not call parseNetFile on Windows where the function does not exist

commit cb25e4400aa97379ec1b4390ddb3d343dc070935
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 20 21:07:06 2006 +0000

    revert-rx-magic-check-20060607
    
    
    revert until i recode to avoid conflict with queues

commit 06fa1f9c40432747724e6e55154bf54e1e3e94c5
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Tue Jun 20 21:00:09 2006 +0000

    viced-findclient-do-not-return-wrong-client-20060620
    
    
    In h_FindClient_r it was possible for the wrong client to be returned
    and worse for it to be returned without the reference count being
    incremented.

commit efd74baa950133de6ed92b7395be6d14ef63a58e
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Jun 20 15:50:17 2006 +0000

    viced-deadlock-20060620
    
    FIXES 34073
    
    * checks for client == oldClient
    
    * drops the H_LOCK prior to obtaining the WriteLock on oldClient
      in order to prevent a deadlock

commit 1833072cc857fd0ee217f81e5be27f9f023cf9a1
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 16 20:08:29 2006 +0000

    no-divide-by-zero-20060616
    
    
    Print nothing rather than dividing by zero if the cache manager doesn't
    return excessive cache params.

commit 176c2fddb95ced6c13e04e7492fc09b5551f273c
Author: Troy Benjegerdes <hozer@hozed.org>
Date:   Thu Jun 15 16:51:25 2006 +0000

    fs-getcache-show-more-20060615
    
    
    show more info about cache usage, optionally

commit 463d899a4f6527fc26d29e4cff31f65028cfa43f
Author: Troy Benjegerdes <hozer@hozed.org>
Date:   Thu Jun 15 16:42:24 2006 +0000

    linux-current-already-used-20060615
    
    
    don;'t conflict on use of current

commit 2e691074fb6ce70e8352da3e57a746a77f7489f1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 15 16:12:13 2006 +0000

    getaddr-avoid-looping-20060615
    
    
    so it would be good to count these all off
    
    oops

commit 592d97f9472abcf77496cef07261fa8766f60b9f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 13 01:28:48 2006 +0000

    rxbind-for-servers-20060612
    
    FIXES 32308
    
    support -rxbind switch for servers

commit 33418253e06534b43ad44eaa71b7c4a84be7cb49
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 12 17:19:27 2006 +0000

    linux-enable-gcpags-20060612
    
    
    enable gcpags

commit b365b06d34a9450dc53ad22e8ecb3f6d922af5f4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 12 05:23:54 2006 +0000

    recvackpkt-count-acks-and-open-cong-window-20060612
    
    
    "the non AFS_GLOBAL_RXLOCK_KERNEL version of
    rxi_ReceiveAckPacket() wasnt counting 'hard' acks and not opening the
    congestion window.  using rx_Readv() directs the incoming packets into
    the target iov, and sends a hard ack (skipping soft acks).  "

commit 3d1fc22c6ba5d07c831da79ffa01e3cf4d95322a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 13 04:50:03 2006 +0000

    getaddr-skip-loopbacks-version-for-macos-20060613
    
    
    so rxbind does something sensible

commit 1e5f6a17fcf4f7039bae756c22735b77a31ceec5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 13 00:58:33 2006 +0000

    namei-dec-drop-lock-20060612
    
    FIXES 17638
    
    unsure why yet, or even if, but this is all that makes sense

commit 40b690803a928da8bf25b1e03745e95f14fd1743
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 8 22:17:04 2006 +0000

    windows-scache-recycle-fix-20060608
    
    
    do not special case freelance entries

commit 2c20a3d603fcc654759b8c90924f36468f8aae81
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 8 00:28:40 2006 +0000

    windows-cifs-std-info-take-two-20060607
    
    
    The "is a directory" value was being set one field beyond the end of
    the Standard Info reply structure.

commit f6468e0f27c90b2e2385508f9a1f01b8b1d346d2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jun 7 05:56:55 2006 +0000

    no-client-tcon-20060607
    
    
    remove client->tcon and avoid locking issues

commit ff39cf322cff2b76290903203d3d6ee70b26ea1f
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jun 7 05:31:33 2006 +0000

    rx-magic-check-20060607
    
    
    for pullup as /afs/andrew/usr18/cg2v/rx-magic-check.diff

commit ed9a2181217f19b7ddbfe28118f6fb2f700b08ad
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jun 7 05:25:38 2006 +0000

    openlog-consistency-20060607
    
    
    open logs consistently so assert logging is appended

commit b8b1438716a14b596a68c2e77d54ca66009c01c2
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Jun 6 23:33:07 2006 +0000

    synchronize-xdr-20060606
    
    
    Include the same set of xdr objects in the shared libafsrpc as are included
    in the static libafsrpc.

commit 422f2d4523ae9be2ff3f1395db1dd62b0b3a3b4b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 6 17:57:43 2006 +0000

    windows-smb-mountpt-is-dir-20060606
    
    
    Be consistent about reporting mountpoints and invalid links as directories
    to the CIFS client.

commit 81cd89320fe855d22f91bda461dd5cdba147b671
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jun 6 15:43:16 2006 +0000

    windows-makefile-clean-20060606
    
    
    cleanup additional files

commit 36da63e03de7230b8464a50a58acf732ce994ff2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 5 04:25:03 2006 +0000

    windows-version-20060604
    
    
    1.5.0002

commit 54eed0930a36c54db73f8e2d10c28b99c2c1e6bb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 5 02:29:19 2006 +0000

    windows-notes-20060604
    
    
    notes

commit b30dcf9738d7fa87f8da4afa1f024376130b80a9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 4 07:11:53 2006 +0000

    viced-swap-old-cbcon-diff-20060603
    
    FIXES 32985
    
    swap cbconn when other side changes IPs

commit f4f09d1c03cf738de6f73fc9d56502babd6743b4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jun 3 18:59:35 2006 +0000

    windows-scache-recycle-20060603
    
    
    A deadlock was detected when performing "fs flushall" if the file
    server reports VNOVNODE.   The scp->createBufferLock is already
    held by the current thread and there is no mechanism to propagate
    the knowledge.  Therefore, an alternate mechanism for clearing the
    cache must be developed.  A new function cm_RecycleSCache(scp,flags)
    has been extracted from cm_GetNewSCache().  This function performs
    the task of recycling an cm_scache_t object.  When called from
    cm_GetNewSCache() with no flags the expectation is that there are
    no associated buffers that are queued to be read or written.  When
    called from cm_Analyze() with the CM_SCACHE_RECYCLEFLAG_DESTROY_BUFFERS
    flag, any queued buffers will be de-queued and marked as if the operations
    were performed so the data can be discarded.
    
    This patch also addresses the following issues:
    
    * CM_ERROR codes were logged as "unknown" by cm_Analyze.
    
    * In response to VNOVNODE, the parent is only discarded if the current
      cm_scache_t is not a directory.
    
    * In the Ioctl FlushFile and FlushVolume functions, there were no
      checks to protect against flushing the Freelance SCache entries.
    
    * In FlushFile, the wrong cm_scache_t object was being released.
    
    * In cm_GetNewSCache, do not allow Freelance SCache entries to be
      recycled.  Choose a new entry if cm_RecycleSCache fails.

commit 99b572a00a342ab6ff003eb6736eb24a27e8fb15
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Jun 2 22:12:27 2006 +0000

    flock-handle-uae-errors-20060601
    
    
    handle uae versions of errors for flock locks

commit 3fdb1902c04153e3522e36c091b073dc7419ac65
Author: Joe Buehler <jbuehler@spirentcom.com>
Date:   Thu Jun 1 16:57:15 2006 +0000

    linux-vfsops-remove-redundant-code-20060601
    
    FIXES 32783
    
    remove redundancy

commit 87313c96b1271b4730a27dcee1b6c062b0a37425
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 1 04:50:13 2006 +0000

    windows-smb-fid-faster-20060531
    
    
    Speed up the performance of the cache manager by not holding the
    smb_fid_t mutex across calls to cm_SyncOp and AFS RPCs.
    
    Ensure that all smb_fid_t flag references are protected.

commit 397fb82b694e72d9259aaa7264ca432c007bdb6f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 31 21:38:30 2006 +0000

    fix-rx-getaddr-20060531

commit 134669a912a99b212fb4768d2a9a969cda5fffff
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 30 17:56:51 2006 +0000

    windows-smb-fid-deadlock-20060530
    
    
    remove a deadlock introduced in 1.4.1

commit 83732fdb158e79b64774667ee09fc1b81062707e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 29 00:03:52 2006 +0000

    windows-get-acls-20060528
    
    
    It is possible to have a valid callback but not to have the
    required ACL info for the current user.  Force acquisition of
    a FetchStatus but do so without making multiple calls.

commit ee600c02e8f7c1299e3ebe13867f9aaa581c0141
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 29 00:01:26 2006 +0000

    windows-hexdump-fix-20060528
    
    
    do not allow unquoted percent signs to be logged

commit 40415fe265d8e660f3698d8ab7f93004d589f902
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 26 22:11:15 2006 +0000

    windows-access-fetchstatus-20060526
    
    
    Do not call cm_GetCallback() directly.  Always
    use cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK)

commit 7ca1a339cb488fd97015e959e2a17e91e9b56409
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 26 07:35:34 2006 +0000

    windows-dynamic-thread-priority-20060525
    
    
    Dynamically adjust the priority of server threads based upon the age
    of the cifs request that is being processed.  Bump the priority one
    level for each 15 seconds of age.

commit c1e79275079cfa68d73cc3a008c3fb3b201f1068
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 25 18:11:57 2006 +0000

    windows-head-tail-queue-removal-20060525
    
    
    while investigating the cause of the delayed write errors it was observed
    that all of the sleep queues are LIFO.  This has the side effect of
    encouraging starvation.  Changing the queues to FIFOs revealed a serious
    problem affecting the use of all queues which use both head and tail
    pointers.  The removal function osi_QRemove does not take a tail pointer
    and therefore the pointer is always left hanging.  If the number of elements
    ever drops to zero the queue becomes corrupted.
    
    Added osi_QRemoveHT to be used whenever head and tail pointers are used.
    Updated all callers in afsd.

commit b753ef7265b1970d1e38f3c65532af929102e1d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 24 23:59:51 2006 +0000

    windows-smb-mods-20060524
    
    
    Prevent smb_FindVCP from returning dead virtual circuits
    
    Treat "*." as an alias for "all"

commit cefa6b1dce9aa3c12a7afbc0c6b4d68c3444758d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 24 16:49:11 2006 +0000

    getaddr-skip-loopbacks-version-for-macos-20060523
    
    
    so rxbind does something sensible

commit 1344a69c57f6c2b8e0588e4b18b1178bc596f190
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue May 23 17:29:11 2006 +0000

    rxkad-var-tkt-len-20060523
    
    FIXES 31966
    
    allocate memory for struct rxkad_cprivate based upon the actual
    ticket size not the max ticket size

commit 53f6c22a2b590279d0ea4859829aec71c0692983
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 23 05:47:29 2006 +0000

    rx-rdwr-type-casting-20060523
    
    
    type cast correctly

commit 36f3bafb44aae8472453a1c39e9585b920a1bada
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat May 20 04:14:07 2006 +0000

    windows-aklog-afsid-lookup-20060519
    
    
    if the cell matches the realm, do not lookup with realm

commit 69c7d8ae707fd1a145b8eec756526603ddd370b7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat May 13 15:22:20 2006 +0000

    viced-host-mobile-client-20060505
    
    
    Do not delete an old host entry because the UUID because the UUIDs
    of the clients at the old addresses are wrong.  Remove the addresses.
    
    Do not allow the same host,addr,port combination to be added into
    the hash table multiple times.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Add some more logging
    
    Do not allow 'code' to be re-used for probing the uuid of the old host
    primary address because we are relying on the value of 'code' to indicate
    whether or not RCallBackConnectBack failed.  If it did, we mark the
    client as VENUSDOWN, if not we marked it as RESETDONE.
    
    ====================
    
    log the old addr, not the new one

commit f6833e96f961de1c1d402646c87681f27bf926e9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 11 13:36:06 2006 +0000

    windows-smb-vcp-cleanup-races-20060511
    
    
    Only allow one thread to mark the vcp dead

commit bcabba994188a4c88bdae3c5252c9b0de5d163c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 10 05:51:41 2006 +0000

    viced-writevalloc-dont-vtakeoffline-20060510
    
    
    random errors shouldn't take the volume offline

commit 40916b821aa19fb2aa810e8828e563d80d89cc82
Author: Jim Rees <rees@umich.edu>
Date:   Tue May 9 19:41:47 2006 +0000

    fbsd-saddr-20060509
    
    
    Small fixes to get sockaddr_storage changes working on FreeBSD

commit e55549af1447acf46b5fe7925d46841ddc641c14
Author: Jim Rees <rees@umich.edu>
Date:   Tue May 9 16:49:49 2006 +0000

    snprintf-20060509
    
    
    Change sprint to snprintf

commit 66596cc677e8cbf7fa40ad2962ccc4547692afb5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 9 06:18:08 2006 +0000

    windows-addr-change-mods-20060509
    
    
    When the client changes IP addresses, in order to obtain optimal
    performance it must:
    
    (1) force the replacement of all existing rx connections
    
    (2) ping all up and down servers

commit 3a5acf0f09cf18ea0fefcef961fcfe2dbf978656
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 9 05:15:47 2006 +0000

    bringing-rx-into-21st-century-20060504
    
    
    rx_InitHost() port is in network byte order

commit cabc803a62c2f3d20d41356bc177873bcf79c033
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 9 02:37:30 2006 +0000

    windows-less-power-mgmt-logging-20060508
    
    
    comment out some of the power mgmt log entries
    reducing the size of afsd_init.log

commit 77fbc6a158a570f1816c87433c0e4c44c0fc8fce
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 9 02:34:20 2006 +0000

    windows-smb-vcp-clean-20060508
    
    
    don't grab the vcp mutex after releasing the vcp

commit f86e9dfd7b97e1e26730be2d960bef004d3d3a1f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 9 02:30:37 2006 +0000

    windows-osi-lock-validate-20060508
    
    
    perform lock type validation

commit 948027777114c8061aaed3818dbdd836cfd87b11
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 8 20:26:38 2006 +0000

    macos-packaging-oops-20060508
    
    no plugin yet

commit c4b6c57f6706cf3672294c23a232d84aff107812
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 5 19:26:51 2006 +0000

    windows-manifests-20060505
    
    
    embed manifests when building tools needed for building OpenAFS

commit ada9819fd630f6cbe6fb8d442e79326df1fcdcad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 5 17:27:21 2006 +0000

    viced-host-logging-20060505
    
    
    another place where dotted notation and port numbers were not being used
    in log output.

commit 86ff4c4d6bd264210990b57cbdbbf6b40d742716
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri May 5 16:50:21 2006 +0000

    windows-wix-vs8-20060505
    
    
    Enable wix installers to build with VS8 compiler on X86

commit c17eb1925c6ba6ed41705829287abc6145d97163
Author: Jim Rees <rees@umich.edu>
Date:   Fri May 5 15:37:28 2006 +0000

    cast-sockaddr-20060505
    
    
    Cast sockaddr_in to eliminate warning

commit 62afc0a8c1e8528b1a50b0d4b6ba2b10acbe9879
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri May 5 06:47:37 2006 +0000

    more-rx-updates-20060504
    
    
    Suppress warnings from prototype changes.
    Trial code for OpenBSD support.
    Fix missing piece from UKERNEL.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    IPv6 support for Windows requires the use of ws2tcpip.h and associated
    restructing of include file order.

commit 9b6343e20315c131085b4a8e7f2aeeca61ef39c0
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Thu May 4 22:23:17 2006 +0000

    bringing-rx-into-21st-century-20060504
    
    
    Large series of changes to replace the use of afs_uint32 for IP address
    with struct sockaddr_storage in Rx.  May even work with IPv6, but only
    tested with IPv4.  Significant change to internal APIs; existing external
    APIs kept, new ones added that take struct sockaddr_storage arguments.

commit ea3ed375e8f706456afddd23bff5ebf906565d92
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu May 4 05:54:19 2006 +0000

    viced-hcps-logging-20060504
    
    
    log whenever a client host does not have an hcps value.
    
    log the host by dotted ip-addr and port number

commit 97a9d1964347e2b4b0f75e749b4d8f36d09fc876
Author: Tommie Gannert <d00-tga@d.kth.se>
Date:   Sun Apr 30 05:58:28 2006 +0000

    windows-ansi-filenames-fix-20060430
    
    FIXES 31202
    
    Remember to perform an OemToChar() conversion of the file name being
    queried in Trans2QueryFileInfo

commit 702e3346f36d448af8901d31c543d9d4b35bfa81
Author: Tommie Gannert <d00-tga@d.kth.se>
Date:   Wed Apr 26 16:22:33 2006 +0000

    vlserver-rxmaxmtu-fix-20060426
    
    
    use 'index' as offset to argv

commit bf7404c3510d63b90c2cb15766f8455f79da90fe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 27 16:49:55 2006 +0000

    windows-deadlock-and-race-removal-20060427
    
    
    This patch fixes:
    
    * race conditions around cm_Lock() calls that were not protected
      by cm_SyncOp(LOCK) [asanka@secure-endpoints.com]
    
    * deadlocks caused by obtaining smb_fid_t->mx after cm_scache_t->mx
    
    * removes an extra Release smb_fid_t->mx that could result in
      releasing a mutex that is not currently held
    
    * changes the log representation of several return codes and fids to
      be consistent with other output

commit b2b3aa1afb592955a9478c43367052fda6f4ffbd
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Apr 26 16:43:17 2006 +0000

    namei-delay-fsync-20060426
    
    FIXES 30632
    
    group fsync calls to speed up operations

commit 9677ca31860dd39749e7b3c2695d7209c1737cb6
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Apr 26 16:40:43 2006 +0000

    os-probe-linux-2-6-9-20060426
    
    FIXES 30514
    
    make this work on 2.6.9

commit 811b7f89e83e327a96c2c4dffd2a9a58d784f88a
Author: Christof Hanke <hanke@rzg.mpg.de>
Date:   Wed Apr 26 16:36:21 2006 +0000

    pam-configure-optmz-20060426
    
    FIXES 30659
    
    get rid of hardcoded optimize flags

commit 5452bc370977d6911282b836d4725587a45f3285
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 26 16:03:20 2006 +0000

    md5-fix-20060426
    
    
    the user struct macros hate us

commit a88cb6c662d7fc0daed043ba40d971f4b5d2a05a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 26 14:56:31 2006 +0000

    linux-probe-missing-commas-20060426
    
    FIXES 30977
    
    Add missing commas for non-2.6 x86_64 platforms

commit ecdc5aca34b0f0dc6bf67eb95f8e6506c556ca26
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 25 07:40:48 2006 +0000

    viced-write-locking-fix-20060425
    
    
    According to src/libacl/prs_fs.h the PRSFS_LOCK privilege is only supposed
    to control read-locks.  The PRSFS_WRITE and PRSFS_INSERT privileges are
    supposed to control write-locks.

commit 7d46e23621515da4a6eeb68be72ce086a86dbb12
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 24 16:02:48 2006 +0000

    windows-version-20060424
    
    
    1.5.1

commit 67a28f0875fe7d96e028b5abee9a0e0d2e8a7112
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 24 16:00:50 2006 +0000

    windows-notes-20060424
    
    
    notes for 1.5.1

commit edff1e8788a2cadfd6bb9e08f9cfdbfb491924a6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 24 15:25:12 2006 +0000

    windows-pthread-cleanup-20060424
    
    
    A number of crash reports have been filed with Microsoft in afspthread.dll.
    The crashes are occuring as the processes are terminating.  In order to
    attempt to address this problem this patch adds support for a DllMain()
    entry point that is used to cleanup Thread Local Storage and the various
    RX queues.  One theory is that processes are loading and unloading DLLs
    that are linked to afspthread.dll leaving the pthread data in a very
    inconsistent state after each unload.  By cleaning up the static data
    during the unload, if afspthread is loading again it will be forced to
    initialize the data once again.

commit 237ab6e5ba1e385d70601b48c89a56a409cc3050
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 22 20:44:28 2006 +0000

    windows-insert-locking-without-afsid-20060422
    
    
    This patch disables the lookup of the user's AFSID and instead solves
    the problem by tracking which cm_user_t created the file.  If the user
    is unable to obtain a write lock and is the creator, then we check for
    the Insert bit.  Otherwise, we deny access.

commit d463c0f7c62472b699c89ae406e7a622ff81092d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 22 04:45:47 2006 +0000

    windows-vista-20060421
    
    
    Vista has a bug in the Netbios ADAPTER_STATUS output in which the
    first four bytes of the MAC address with 127.0.0.1.  We must check
    for that when searching for the Loopback Adapter.

commit 106d23c3ec8e3fc8a5d6f33ac0bd1f6020b787b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 21 16:08:17 2006 +0000

    windows-notes-20060421
    
    
    updates post 1.5.0

commit dc39c28d68f0122691d6f6059eaed90ddb2a4768
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 21 16:03:34 2006 +0000

    windows-rx-init-fallback-20060421
    
    
    when the cache manager is being frequently restarted (especially during
    debugging) the 7001/udp port is often not freed appropriately.  This
    prevents the cache manager from running.  This patch allows the cache
    manager to retry with a random port number.

commit 507f4f14f8e620736b85904a0b98cbf4c355419e
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 21 15:58:38 2006 +0000

    openbsd-packaging-20060421
    
    
    Use tar and shell scripts instead of pkg_ for packaging.  The new package
    system apparently depends on ports and can't be used standalone.

commit 270e5a9077f7f217eb3188768fd9e2d6e1bc15e8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 21 14:52:02 2006 +0000

    windows-wix-20060421
    
    
    missing close paren

commit 625d0a2016cb914040a94fb811849ff25eab8dfc
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Apr 21 05:57:55 2006 +0000

    windows-wix-32bit-tools-20060420
    
    
    Add support for build a 32-bit tools package for use on 64-bit Windows.

commit 4a1296c25ad8320ec72035b063910ca33c0c093f
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Apr 20 19:52:03 2006 +0000

    windows-client-side-locking-20060420
    
    
    In order to make the client side locking more usable, if the client
    is denied a lock by the server and the user only has read privileges,
    then we will allocate a local lock.  Local locks are not allocated
    for write locks.
    
    There is a bug in the file server locking dating back to at least
    AFS 3.1 in which the lock privilege is used for read, write and insert
    locks.  According to the docs, the lock privilege is only supposed to
    control read locks.  Write locks on new and existing files are supposed
    to be controlled by the Write and Insert privileges.  This will be fixed
    in the file server by another commit.

commit 01fe275679740d516b78a477c8976fbefe1217b4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 20 18:19:22 2006 +0000

    windows-query-afsid-20060420
    
    
    In order to properly handle the local allocation of locks
    the cache manager must enforce the locking rules associated
    with PRSFS_WRITE and PRSFS_INSERT and PRSFS_LOCK.  Insert
    affects "new files" which in AFS are defined as any file that
    is owned by the user.  Therefore, we must know the afsid of the
    user so that it can be compared to owner of the file.
    
    This commit includes a query using PR_SNameToId where the name
    is the name specified by the entity setting the token.  There
    does not currently exist a Protection Service RPC to return the
    AFSID of the entity that the rx connection was authenticated as.
    Such a function will have to be added in order to make this
    functionality secure.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Export functions missing from the UNIX version and the PR_ functions
    required by the Windows Cache Manager.

commit 06250078ecef7e8cb65ab2bd3aec85608bcb39db
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 17 19:59:41 2006 +0000

    rx-dpf-20060417
    
    
    fix dpf to print the right thing and not simply fail to compile

commit 8074632d6938e965d3f02cc07359d85276c25dbc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 17 16:20:50 2006 +0000

    volser-dump-validate-input-20060417
    
    
    This patch adds code to perform return code error checking for all calls
    to the ReadXyz() routines.  If the rx connection was lost or if the dump
    format being parsed was incorrect there was an opportunity for data to
    the processed after an error had already been detected.  In the best case
    this would have simply resulted in additional work being performed when
    it was not necessary but there was also the potential for modifying return
    values which would later be used as input to later operations.  Better
    to simply catch the error when it initially occurs and be done with it.
    
    The ReadString() function had the potential to write into one byte prior
    to the start of the input array.
    
    ProcessIndex() would not properly close Fdhandle nor the StreamHandle
    if an error was detected.
    
    RestoreVolume() had a problem with the processing of incremental dumps.
    Originally AFS supported a concept of incrementals dumps which when
    restored would simply add their contents to the existing volume.  One
    of the distinctions between the incremental and full dumps is that full
    dump processing is responsible for removing any vnode entries from the
    volume that are not present in the dump file headers.  When the incremental
    dump support was removed, the RestoreVolume() function was broken.  If
    a dump file contains multiple Dump Headers, then only the vnode entries
    in the first Dump Header would be marked as being restored.  Any vnode
    entries restored from subsequent Dump Headers would be deleted when the
    RestoreVolume() function reached the end.  By removing the assignment
    of 'tdelo = -1' within the loop that processes the Dump Headers, this
    bug is resolved.  Although RestoreVolume is only called with the
    'incremental' parameter == 0 at the current time, the check for non-zero
    values is restored and the "remove unrestored vnodes" functionality is
    disabled when a non-zero value is provided.
    
    The ReadVnodes() function did not perform error checking.

commit f8103d800d8136d9f19fc880497741da859ff830
Author: Andrew Deason <adeason@tjhsst.edu>
Date:   Mon Apr 17 15:59:04 2006 +0000

    vos-date-parse-errmsg-20060417
    
    FIXES 30218
    
    use the correct index value when printing the invalid date string

commit c77421ff087d059b8723b8e44f19a87e860d5593
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Apr 14 14:12:16 2006 +0000

    aix-build-fix-20060413
    
    FIXES 30089
    
    don't include this other than in kernel

commit bbf4620d2d5c0d80d01f737b5bdda794453dd4ad
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 13 22:08:19 2006 +0000

    irix-ifnet-flags-20060413
    
    
    make ifnet_flags b e defined for irix also

commit 4d91ee63efb8b00dd2e6a1a50072928a94673175
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 11 20:40:19 2006 +0000

    inode-64bit-type-20060411
    
    
    use a 64 bit type for 64 bit inode size with inode fileserver

commit 9ebf2fed4a1af7134fa86d09c865802b05ed27d1
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Apr 11 20:27:03 2006 +0000

    backup-dump-parameter-fix-20060411
    
    
    this is a pointer, not an int, pass in NULL not 0

commit f1ef60c020feffb73b2aee4c1871afba039afb67
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 10 18:57:33 2006 +0000

    windows-remove-active_vcp-20060410
    
    
    The 'active_vcp' variable is no longer being used for any useful
    purpose and is the center of a race condition that could lead to
    an undercount of references to 'vcp' objects.  Remove it.

commit b85118420f7493dd5e61d5a1da35c6ffb28985b5
Author: Russ Allbery <rra@stanford.edu>
Date:   Mon Apr 10 17:41:22 2006 +0000

    man-page-fs-listquota-perms-20060410
    
    
    fs listquota requires read on the directory, not list.

commit 632d0c701b31877b4d74f5f3849a5a8054f7326a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 9 08:28:58 2006 +0000

    windows-getvolstatus-20060408
    
    
    don't prevent all calls to getvolstatus, just the ones that are
    not AFS pioctl calls.

commit b9f22f0b7b9bf9aa746d3ef8ea63465b1cdadb97
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 9 05:52:38 2006 +0000

    windows-protect-against-vcp-undercount-20060408
    
    
    An undercount has been detected of the smb_vc_t objects stored
    in the smb_allVCsp list.  Unfortunately, we have yet to be able
    to find the cause of the undercount so this patch adds logic to
    protect against the side effects until such time as the cause
    can be identified.

commit 9817af2a81eded29eeefcf8ef4445301a7d348ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 8 20:40:15 2006 +0000

    viced-store-data-validate-input-20060408
    
    
    The old StoreData RPC is only supposed to be valid for files
    smaller than 2GB.  When StoreData64 was added, StoreData and StoreData64
    were implemented as calls to common_StoreData64.  This removed the bounds
    checking on the old StoreData RPC making it possible for operations
    beyond two 2GB to be requested even if the file server cannot support
    them.  This patch adds a validity check to ensure that the requested
    file operations remain below 2GB.  Failures return E2BIG.

commit b9282fbe0f9c4eec359ecdce77b35c88cde54793
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 7 18:26:49 2006 +0000

    bsd-md5-20060407
    
    
    Use kernel md5 on bsd.

commit 78bb852509767ff32547c8dc90c385a4c503e0f9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 7 06:34:26 2006 +0000

    xstat_fs-fix-20060407
    
    
    as pointed out by cg2v@andrew.cmu.edu the addition of performance
    collection data for the GetCapabilities RPC broke backward compatibility
    with previous builds because it altered the size of the data structure
    sent on the wire.
    
    Instead we count the number of GetCapabilties calls but do not gather
    performance timing data as this can be done using spare fields.

commit 714df786894e6a9572e93d77b68384706abb02f0
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Apr 7 06:21:38 2006 +0000

    linux24-fix-osi-probe-20060407
    
    
    linux-updates-20060331 broke 2.4 kernels

commit 1b0f8949f1a7daf8614a5b6c9c65c68e70c37917
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 6 15:39:04 2006 +0000

    calc-inum-linux-only-20060406
    
    
    Disable md5 inode calc on non-linux.

commit a67acd0e9abc4b5a894db26887128a90e3016d65
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 6 02:24:21 2006 +0000

    md5-inode-numbers-20060405
    
    FIXES 25849
    
    an interface which lets you select md5 based inode numbers, and the csupporting code
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 25849
    
    an interface which lets you select md5 based inode numbers, and the c^?supportin
    g code

commit b3120246765e9f5d144ac470b66269ccbbce48a9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 5 14:45:58 2006 +0000

    macos-packaging-update-20060405
    
    FIXES 29226
    
    copy cellservdb if there is none

commit e687de8609045b46044876dc2f5941b038639714
Author: Jim Rees <rees@umich.edu>
Date:   Wed Apr 5 01:21:56 2006 +0000

    test-heimdal-20060217
    
    
    Add a configure test for heimdal and use it to build asetkey or not.
    Thanks to Derek Atkins for his helpful suggestions.

commit a64e7f34bd3ea8912286b043428dfdeb3a3a37cc
Author: Jim Rees <rees@umich.edu>
Date:   Tue Apr 4 22:32:22 2006 +0000

    syntax-err-20060404
    
    
    Fix syntax error (missing braces)
    Fix include file ordering
    Don't declare *tmpdir extern, we're initializing it here (even though
      there's no reason to)
    Fix OnlyOneVolume args to match proto

commit 54ce580ef3fdb6c98a80d1104728b1e25d3fb9ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 4 21:51:13 2006 +0000

    time-t-casting-fixes-20060404
    
    FIXES 15169
    
    hopefully the rest of this

commit 62e28d9a0a6adc6e1f3c2938bfc530b54bea4158
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Apr 4 02:41:12 2006 +0000

    linux-enroll-locks-20060403
    
    FIXES 25037
    
    enroll our locks in the linux kernels' lock management

commit ef95f2a0ce318e4c5ecad0d533b2b8e13040188b
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Apr 4 02:35:15 2006 +0000

    vnop-ifdef-cleanup-20060403
    
    
    make this less messy

commit 14d6771b9ddb413d2e870c57a4ade070b5b045f0
Author: Jim Rees <rees@umich.edu>
Date:   Mon Apr 3 17:22:30 2006 +0000

    iso-8601-20060403
    
    
    Parse a pitiful subset of ISO 8601 in date/time strings

commit 0fd8768c859b549c2294dcb4dc4cb315deb7caad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 3 00:54:40 2006 +0000

    windows-minidump-20060402
    
    
    change minidump default to include data segments

commit f3cf7bcda211c0f6b305db309fe402d08206f8a9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 3 00:44:56 2006 +0000

    windows-util-makefile-20060402
    
    
    remove duplicate entry for strlcpy

commit ea59126e31672e3a1ed2958ea10ef5dbad24813e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 31 06:51:03 2006 +0000

    linux-updates-20060331
    
    FIXES 29122 29110 29112
    
    fc5 and 2.6.16 updates

commit f86af4af2600707f0573d6a5623b32116b4b0656
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 30 18:13:39 2006 +0000

    nat-mode-20060330
    
    
    Code for "nat mode."  Currently there is no way to set it, because it would
    be a bad idea to make this available to the casual user.

commit d387dba5efc88b14696b72e6b18cfb1af264be04
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 30 17:27:52 2006 +0000

    viced-gethostcps-byte-order-20060328
    
    
    don't call GetHostCPS after swapping away from net byte order

commit 5b20ed35114473061015d3ff1904c12d0790c7ea
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Mar 29 21:44:16 2006 +0000

    man-page-asetkey-20060329
    
    
    Add a man page for asetkey.

commit 5f70d9bb3ce0d1bb5db6604a53c52f483449e0d3
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Mar 29 21:00:50 2006 +0000

    man-page-kaserver-fix-20060329
    
    
    SYNOPSIS was mislabelled DESCRIPTION and the man page was therefore missing
    the HTML formatting fixes.

commit 2c96a91ba42674e35ca7d54c0c20a1725b733e37
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 29 06:26:49 2006 +0000

    viced-client-keep-conn-ref-20060329
    
    FIXES 28966
    
    keep a ref on the conn the client has a pointer to

commit 1904db3fa3a0765f63ae4ecac23a8464818f1e9c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 29 05:13:58 2006 +0000

    viced-gethostcps-byte-order-20060328
    
    
    don't call GetHostCPS after swapping away from net byte order

commit a4f24472aa7abee6500188c6bb3acabcf96377bc
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Tue Mar 28 19:39:45 2006 +0000

    afsdb-len-signed-20060328
    
    
    in order for -1 to ever be returned, it's gotta be signed...

commit 467127075872971354e8dce10b7d596714448e04
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 27 18:27:38 2006 +0000

    ignore-new-targets-20060327
    
    
    cvsignore new targets

commit 1db522b6ac7df1d5f569d4cd654ead4dcbea91b4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 23 21:06:18 2006 +0000

    debian-updates-20060323
    
    
    from russ and sam

commit 5a1bd817b82ad613b1b63738dfa4a08746531a96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 5 01:11:15 2006 +0000

    build-system-updates-20060323
    
    
    config.sub config.guess and some other scripting updates

commit bb96daf441402cb6def2c20cc20f51d3d160b6e1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 23 16:07:30 2006 +0000

    macos-packaging-fixes-20060323
    
    
    update to make sure we have a cellservdb, that we shut down afs before an upgrade, and install the universal binary build script

commit a1041136186dba50f035ddc9b97fbfb86469b504
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 23 15:35:53 2006 +0000

    afsd-fs-check-20060323
    
    
    from debian, modified slightly. tell people why their filesystem sucks

commit db8d1da77aa792e0d042bf5dbe041c534350b277
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Mar 23 05:41:02 2006 +0000

    man-page-todo-20060322
    
    
    More to-do items for the documentation.

commit c0ce1b880a48661ac307477317091a63e9763623
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 22 20:05:47 2006 +0000

    sunos-dos2unix-20060322
    
    
    dumbest change ever

commit 681419e6eda37488fee938c8abc1a59bbf2764c9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 22 19:57:04 2006 +0000

    parisc-linux-lwp-20060322
    
    
    pulled in from debian

commit 095f64a7e9125a173a42d4ab95acba30ae21aa23
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 20 17:29:52 2006 +0000

    windows-dafs-20060320
    
    
    64-bit time_t pointer update
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    correct a type for consistency
    
    ====================
    
    corrections to the dafs delta to allow compilation on Windows

commit 2d43189490c04357e23329929c2c1846ed0c7ab0
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Mar 20 17:20:01 2006 +0000

    windows-64bit-wix-installer-32bit-tools-20060320
    
    
    Construct an MSI for installing 32-bit AFS tools and libraries
    on 64-bit Windows for use with 32-bit Kerberos tools.

commit c56c8a9b80ee96c1765fa0c186dcabe28fc3e5eb
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 20 16:15:23 2006 +0000

    strl-20060320
    
    
    src/util/strlcat.c src/util/strlcpy.c

commit b8cbfc363767e07a80b5759c8df5383e4f04d65f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 20 16:01:22 2006 +0000

    tvolser-try-ntmakefile-20060320
    
    
    first cut at ntmake for tvolser

commit e6f0c0c68f6b4d415484eed556dd65bcaacc9585
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 20 13:38:36 2006 +0000

    another-time_t-pointer-fix-20060320
    
    
    do not pass in pointers to 32-bit values as pointers to 64-bit values

commit 1b2fbe5fa9384eb5e1b19487eb6b0d201bea975e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 20 13:25:50 2006 +0000

    another-time_t-pointer-bug-20060320
    
    
    do not pass pointers to 32-bit values as pointers to 64-bit values.
    this results in memory corruption

commit 3f061cc2c3a8998d8c8e34a49d5fb964bb434a08
Author: Pedro Perez <pperez@opensourcetechnologies.net>
Date:   Mon Mar 20 04:45:06 2006 +0000

    configure-help-clarity-20060319
    
    
    Change "AFSDB RR" to "AFSDB DNS RR" for people who don't speak DNS.

commit 8c622ec7d7d89b8272b6d190c3865e0560da47cb
Author: Pedro Perez <pperez@opensourcetechnologies.net>
Date:   Mon Mar 20 04:41:23 2006 +0000

    readme-references-20050319
    
    
    Refer to the right names of the extra README files.

commit e63312e79aa747232239030807595356f40bc367
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Mar 17 23:10:50 2006 +0000

    sparc-linux-config-20060317
    
    
    Collapse all of the sparc*_linux* cases into a single case.  Not just for
    ease of maintenance -- this also results in clearer error messages for
    configurations that aren't supported and should allow building of the
    userspace tools for a few @sys types that the kernel build doesn't support.
    Reported by Michael Conrad and Karl Ramm.  Patch has been in the Debian
    package for some time.

commit 51ec2670116d95bb6bdcd7871fce685fc2eaaeb0
Author: Tom Keiser <tkeiser@sinenomine.net>
Date:   Fri Mar 17 19:54:26 2006 +0000

    dafs-20060317
    
    FIXES 26648
    
    demand attach/fast restart fileserver

commit cba4f12e172ed6b7901b57709037c1f43febc309
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 17 19:44:06 2006 +0000

    dedebug-20051007
    
    
    perhaps this should never be pulled up.
    
    anyway, implement dentry cache status dumping for linux.^? and provide a tool to
     dump it
    
    disabled (tool, not rpc) by default

commit a9102a89f046e578df9e0e165e34c951a10b2c22
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 15 19:32:49 2006 +0000

    fix-includes-20060315
    
    
    Now that we include arpa/inet.h, also include its prerequisites,
    and fix the ordering.

commit c6203bc67e31d40a95f7ef5a4689d1d6b1b2ccd9
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Mar 15 18:34:26 2006 +0000

    snprintf-needs-arpa-inet-20060315
    
    FIXES 28226
    
    include arpa/inet.h so we get inet_addr prototype

commit 5c408ee134b096352d140b1ce6b58edcf6e492d5
Author: Dave McMurtrie <dave64@andrew.cmu.edu>
Date:   Wed Mar 15 18:27:43 2006 +0000

    tokens-buffer-overflow-20060315
    
    FIXES 28227
    
    avoid a too-short buffer we try to fill with a username. doh.

commit 9340a22d6eb7a0399630cbe332bf947fd534c3ee
Author: Tracy Di Marco White <gendalia@netbsd.org>
Date:   Wed Mar 15 18:22:30 2006 +0000

    nbsd4-20060315
    
    FIXES 27916
    
    netbsd 4.0 support

commit 5ca54f23629145a9452345bd2d514b8fb571f735
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Mar 15 16:26:06 2006 +0000

    linux26-module-parm-versus-param-20060315
    
    FIXES 27588
    
    deal with 2.6 changes

commit 247273c51b10fca2c8f5633d203aa6a042e19b3b
Author: Neale Ferguson <neale@sinenomine.net>
Date:   Wed Mar 15 16:15:07 2006 +0000

    s390-linux26-20060315
    
    
    add s390 linux26 support

commit a8b82b1a744859a3ce2796fd17f997e0bdd2b570
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 14 00:33:14 2006 +0000

    viced-unspecified-host-hash-port-20060313
    
    
    h_Alloc_r was not specifying the port for the newly allocated
    host when adding the host to the hash table.  Use hashInsert_r
    instead so mistakes like this won't happen in the future.

commit b89082ac8926fb77d505e5ad35c2c22c0e355114
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 13 23:15:44 2006 +0000

    cmd-protos-20060313
    
    
    Fix protos for cmd funcs.

commit 9afcb2529a72f0169313d65b8410f5093d14fc0a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Mar 13 20:53:14 2006 +0000

    viced-log-fix-typo-20060313
    
    
    fix typo in addInterfaceAddr_r that is identical to the one that
    was fixed by viced-log-fix-type-20060210 in removeInterfaceAddr_r

commit b1883ef6ad619ffa1fb76caf5d3568f69c1e3136
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 13 19:18:07 2006 +0000

    no-clid-for-bsd-20060313
    
    
    Back out rev 1.28 for BSD.
    On BSD, clid is not necessarily a pid.
    Passing it to HandleFlock results in client hangs.

commit 9d3faf66086f47b0cd4551075b336ee0ea567979
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 13 16:26:27 2006 +0000

    curproc-20060313
    
    
    Possible fix for curproc panic reported by ober@linbsd.org.
    My guess is it will fix this one but others are lurking.

commit 7b33107a9c92d8d72ad269c2c1da9a4adc52560a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 13 15:09:40 2006 +0000

    multiple-local-realms-fix-20060313
    
    
    Fix use of "=" instead of "==" in conditional.
    
    Re-order parameters of afs_is_foreign_ticket_name for consistency

commit 9b1fa66828ecb02d782378f1717ac813ff657fdf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 9 21:49:04 2006 +0000

    host-tossstuff-locking-20060309
    
    
    the nonblocking locking was my fault.

commit cc324ae0653a7d2170a065f61b8475d76cdf03c1
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Mar 9 16:25:48 2006 +0000

    xstat-fs-callbacks-20060309
    
    FIXES 27912
    
    add new collection with callback stats

commit d451a366fba93bdbfcd1dd40adf2335ed2d7adf7
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 9 15:27:17 2006 +0000

    openbsd39-20060309
    
    
    Changes for OpenBSD 3.8 and 3.9.
    Based on ports by ober@linbsd.org and todd@fries.net.
    Untested.

commit 346d85adb00b34473bbec176184df40bf4b245bc
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 9 14:36:35 2006 +0000

    fstab-moved-20060309
    
    
    fstab.c moved from viced to util

commit 9f94892f8d996a522e7801ef6088a13769bee7c2
Author: Ed Moy <emoy@apple.com>
Date:   Thu Mar 9 06:35:14 2006 +0000

    darwin-x86-and-leopard-20060309
    
    
    updates for darwin x86, and pre-leopard

commit 6e7d51187c881e6a785b88ccddbb083e52d58448
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Mar 9 06:05:46 2006 +0000

    linux-updates-20060309
    
    FIXES 27590
    
    add missing variable test
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 27589
    
    update for new mutexes

commit da878c2b9d11471b3e59fc9fe0694a5e23e373c2
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Mar 8 20:05:59 2006 +0000

    man-page-bash-bashish-20060308
    
    
    if ! command is a bashish.  Use if command ; then : ; else instead.

commit c2535c0ee725657d2e06dd29fd3fba0ec3a66138
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 8 05:04:36 2006 +0000

    rx-panic-printf-20060307
    
    
    restore use of printf in osi_Panic

commit 9dc84c8c6c4682ab3c0a536a7ac10e997724f2b0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 6 21:23:09 2006 +0000

    windows-mkmount-20060306
    
    
    allow case-insensitive matches for the parent of the mount point

commit d0c343249ce0aad22d9577dd9bfea2bd72857e06
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 6 20:07:08 2006 +0000

    windows-init-20060306
    
    
    fix sysname string on amd64
    
    add registry configurable CallBackPort to allow for forcing the
    client to use different ports when talking with the file server.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add registry configurable CallBackPort to allow for forcing the
    client to use different ports when talking with the file server.
    
    Add UAE errors to cm_Analyze debug output

commit 9c687f10d013e423fb75d8049cc224218257c104
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 6 05:01:22 2006 +0000

    windows-smb-log-packet-20060305
    
    
    packet strings can contain %; do not parse as a format

commit 638eef405b802fb1215efc9e828996a8c6381067
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 6 03:11:31 2006 +0000

    windows-xstat-20060304
    
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    build xstat utils for windows
    
    ====================
    
    more windows specific mods plus improved output of ipaddrs and port
    numbers when debugging

commit c582cab1fb1708109f2aa26aab8eba189198e729
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 6 03:04:38 2006 +0000

    windows-rx-lwp-clock-20060305
    
    
    clock_Init() was broken because it would initialize rxi_clock0
    with QueryPerformanceCounter() and then call clock_UpdateTime().
    So instead of getting an ever increasing value you would get a
    fixed value determined by how long it takes to make a function call
    between to QueryPerformanceCounter() calls.

commit f803153c992af44cea18f4c948c7f3fb2a72da45
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 5 22:31:11 2006 +0000

    viced-host-type-consistency-20060305
    
    
    make sure all the types for host and port are consistent

commit cea063c0d48bb81c6349298ecdf5dfcc0f39733b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 5 20:53:28 2006 +0000

    windows-no-smb-ioctl-info-20060305
    
    
    don't support functions we don't implement.  the CIFS trans2 get info
    ioctl is not equivalent to the AFS Get Volume Status function

commit 3e70b7f3656be0a40fe45fb8ad9815abd2f541fe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Mar 5 05:36:40 2006 +0000

    viced-unsign-haddr-hport-20060304
    
    
    haddr and hport should be unsigned

commit 127ea5ae7df2d1441d4e636506ebadb07664311c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 4 22:02:57 2006 +0000

    xstats-getcapabiliites-20060304
    
    
    add the GetCapabilities RPC to the ops table

commit 943dfd7a1e17a3232a44fd7d7bc6843ef50cdff8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Mar 4 21:39:25 2006 +0000

    windows-deadcode-20060304

commit 3adadbb2281b5cf2b6cd854bfda7860c70792554
Author: Jim Rees <rees@umich.edu>
Date:   Fri Mar 3 20:27:23 2006 +0000

    const-args-20060303
    
    
    add const qualifiers to pr_Initialize and vl_Initialize args

commit 8a0016cabd026bd586fc27a1dfad3220c66e4457
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 3 19:26:21 2006 +0000

    viced-fix-tcallhost-20060303
    
    
    fix type and declaration location

commit 58b4069926c0e18c11c3fbe0969e94a269463183
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 3 18:26:45 2006 +0000

    viced-remove-premature-commit-20060303
    
    
    remove premature LockUpgrade/LockDowngrade commit

commit f251b03175d5f58f4adbfd84dc29ab0a87cc71cb
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 2 22:42:56 2006 +0000

    sysincludes-first-20060302
    
    
    afs/sysincludes before other sys includes, please.

commit 9da217cee811df78f07f47f51ad8202d1b47f812
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 2 22:34:27 2006 +0000

    probe-interval-20060302
    
    
    Make probe_all interval tuneable, although there is no easy way to set it yet.

commit c9a4d3363bc11722e017cac4ee83cbeb5d9583f7
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 2 06:42:47 2006 +0000

    callback-get-refs-20060302
    
    
    more updates, focused on issues found working at darwin, but actually generic issues

commit d1156ad4f9b1e0fb07275fff976890fd3bc90e05
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 2 06:39:45 2006 +0000

    refridgerator-update-20060227
    
    
    try to make refrigerator work again

commit c472a9c9165b3b742afd97b65c987b325c478b00
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 2 06:35:59 2006 +0000

    darwin-access-exec-only-20060302
    
    FIXES 27553
    
    don't misenforce mode bits

commit 8bfa2cdc6e79bf683ea035526e261940d1257daa
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 2 06:33:44 2006 +0000

    darwin-remove-fix-20060302
    
    
    move the if inside the condition so we aren't screwed up on tiger

commit 1cc6cddd85f8906b3b4a777b21e0981bbe1454f1
Author: Tracy Di Marco White <gendalia@netbsd.org>
Date:   Thu Mar 2 06:31:30 2006 +0000

    nbsd-30-pthreads-20060302
    
    
    update for netbsd 3.0

commit c2ef97ea657f27af5fdc7811a8b6bb21ed535707
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 2 06:22:15 2006 +0000

    viced-fix-comment-20060301
    
    
    fix comment in h_GetHost_r

commit 10f8d509df3a69e6dc684cfd81b5809adc5c9b09
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 2 06:21:42 2006 +0000

    remunlink-needs-iocount-20060302
    
    
    FIXES 27493
    
    keep needed iocount for remunlink on darwin 8.0

commit 84a24d096c1159aef3aeec4b27d154f47acdcab9
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Thu Mar 2 06:16:59 2006 +0000

    viced-preamble-postamble-20060301
    
    
    If the host obtained during the CallPremable and CallPostamble differ,
    then there is the possibility of a hold leak.  This patch is a quick
    attempt to deal with the potential problem.  If the problem occurs
    we log it in order to know for sure if this is in fact a problem.
    
    If it is, then at a later date we should perform a more extensive
    re-write in which the CallPreamble is used to obtain the host and the
    client and pass them both back to the caller which would not be
    required to obtain them again at a later date.

commit 36a8e29045adfcf5d3c144b0ff0bc9d1398d11b0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 1 19:12:05 2006 +0000

    viced-h_Enumerate_r-fix-20060301
    
    
    In h_Enumerate_r it is possible that the host may be released by the
    called procedure.  Therefore, we must preserve the pointer to host->next
    before the call and hold the host it points to in order to ensure that
    it does not disappear out from under us.  This ensures that although
    the H_LOCK can be dropped during the procedure and the host list can
    be rearranged we won't miss more than a handful of hosts during the
    enumeration.

commit 31fd9994db1c58d5e851e5a0bd9d04a031557c8d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 1 06:42:46 2006 +0000

    viced-h_gethost_r-host-hold-leak-20060228
    
    
    when h_GetHost_r replaces 'host' with 'oldHost' we need to release the
    hold on 'host' and maintain the hold on 'oldHost' because if a hold
    was placed on 'host' in CallPreamble() it will no longer be released
    in CallPostamble() since 'oldHost' will now be bound to the client

commit 6f707d94064646762e7014d19840b5b2902b3a4e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 1 05:04:00 2006 +0000

    viced-client-refcount-leak-20060228
    
    
    SRXAFS_CallBackRxConnAddr calls h_FindClient_r which returns a
    client with a refCount and the client->host held.  The call
    to CallPostamble will release the host hold but not the client
    refcount.

commit fc5acc01517260c661097cf84bddc359ca060bd3
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Mar 1 05:02:29 2006 +0000

    pretty-html-synopsis-20060228
    
    
    Implement proper synopsis wrapping for HTML generation.
    
    This was done in three pieces.  First, add HTML-specific tags to the POD to
    mark the synopsis for HTML purposes so that we can apply style information
    to it.  Second, update the style sheet to indent all lines except for the
    first in the synopsis section.  Third, add the appropriate S<> tags around
    option and argument pairs so that we don't wrap between the option and its
    argument.
    
    Unfortunately, due to the <I<foo>> style that looks nicer for other reasons,
    we have to use the very verbose S<<< >>>.  Oh well.

commit 2bd46f8a3915a37720e68d10a56a0ec33f508f67
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 1 04:08:57 2006 +0000

    viced-host-hold-leak-20060228
    
    
    fix a host hold leak although this one rarely occurs.

commit fed1cdb02241f6cffee9cdcb5d334f227fd011bb
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Mar 1 00:12:52 2006 +0000

    html-style-todo-20060228
    
    
    Some style sheet updates and lots of to-do updates based on feedback from
    C. Alex North-Keys.

commit 6321cca1a5bdda2c9e8d9688d220eff0edd850f9
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Feb 28 23:43:03 2006 +0000

    html-link-fixes-20060228
    
    
    Make the mentions of subcommands in the fs command introduction links to
    the relevant pages, and add to README a to-do note to do this for the rest
    of the introductory pages.
    
    Fix links to man pages that contain underscores by working around a bug
    in Pod::Simple.

commit 2c825a859033574b714c00d0e16ce06f126e1d6d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 28 23:24:23 2006 +0000

    viced-panic-if-maxhosttables-exceeded-20060228
    
    
    Do not allow HTBlocks to allocate more blocks than will fit in
    hosttablesptrs.  Doing so corrupts memory.   Panic instead until
    we can get this fixed right.

commit 1705109815189f2c03323bc154feb639c76180ad
Author: Todd M. Lewis <utoddl@email.unc.edu>
Date:   Tue Feb 28 23:09:08 2006 +0000

    up-m-docs-20060228
    
    
    Document the -m flag to up.

commit 79a7ddac4da960e3337b7792f8a44fc82514f81d
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Feb 28 21:17:27 2006 +0000

    amd64-linux26-fix-20060228
    
    
    Restore the previous code for AMD64 under Linux 2.6, as the generic
    Linux 2.6 code apparently does not work with all AMD64 kernels.

commit c41253bda7340f19b5f16d009393bf32f30ad24c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Feb 28 00:17:52 2006 +0000

    systm-h-header-inclusion-20060227
    
    FIXES 24765
    
    avoid implicit references by including the prototypes from the header except on linux
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 24765
    
    avoid implicit references by including the prototypes from the header except on
    linux

commit 9243beff2b7677dbfc5259a534625b2252f0fc54
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Feb 27 20:46:25 2006 +0000

    pod-updates-20060227
    
    FIXES 26463
    
    update pod files to deal with some section number changes

commit ff1d11169bc19aeb451a97e8ccdc14e1109031e7
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Feb 27 20:36:24 2006 +0000

    tiger-updates-20060220
    
    
    update lpioctl, setattr and free tuios

commit 888b038c92c222f0ebb4b61f9f96bd56ce75dfed
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Feb 27 20:34:10 2006 +0000

    darwin-bsd-flock-20060227
    
    FIXES 25544
    
    deal with posix flag in flock request on darwin

commit df0ebd8b903eb5f62fb7e34c198020068d144669
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 27 20:17:21 2006 +0000

    shut-up-fucking-whiner-20060227
    
    
    without further comment

commit 50ed43bfb45202fb288130c0e716db013391d855
Author: Jim Rees <rees@umich.edu>
Date:   Mon Feb 27 18:31:18 2006 +0000

    indent-style-note-20060227
    
    
    Document our official indent style.

commit f800113c3b2cb921a818d8823950c2ffeb18815b
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Feb 25 06:44:18 2006 +0000

    rmtsys-up-limits-20060225
    
    FIXES 27095
    
    raise limits of constants in rmtsys

commit 2024fe94cb331fe4eeeff3626617ab8090ce70ea
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Feb 25 06:39:20 2006 +0000

    vnop-remove-revised-lock-order-20060225
    
    FIXES 27176
    
    drop the tdc lock even rearlier

commit ff46f60c198840986800a0205366361d39a91d06
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 24 07:48:21 2006 +0000

    windows-ioctl-20060224
    
    FIXES 27225
    
    properly compute the length of the ioctl output buffer for each data
    segment

commit 1bc6c3a78cbace4e6555119fb3b7f6e7ecfc245a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 24 07:45:35 2006 +0000

    windows-freelance-default-20060224
    
    
    change freelance default to on.  this matches what the installers do.

commit 9a0b4cac5650b844e5c97922c6631d1e8e9653cd
Author: Jim Rees <rees@umich.edu>
Date:   Thu Feb 23 15:52:23 2006 +0000

    aclprocs-protos-20060223
    
    
    Prototypes for aclprocs.
    Also some other prototypes for viced.

commit d3113a14e81c02993749b8f3bf0421809793f46d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 23 12:32:25 2006 +0000

    softsig-thread-hack-not-on-nbsd30-20060223
    
    
    based on comment from gendalia@iastate.edu

commit edd97cb225b714474de0a631cb36bb35af8c846b
Author: Jim Rees <rees@umich.edu>
Date:   Wed Feb 22 20:29:01 2006 +0000

    viced-cleanup-20060222
    
    
    Prototypes, dead code removal, and other minor cleanups

commit a2530f03bacc9d9115782b49bda40fc01294a70d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 22 05:07:48 2006 +0000

    rxkad-krb5-improvements-20060222
    
    
    correct precedence of && and || in conditional to determine when
    tkt_DecodeTicket5() should be called.
    
    optimize order of ticket property evaluation to delay call to get_key()
    which will require that a lock be obtained until after we know that
    all of the other checks will succeed.

commit 9306554f9cc4198414e99eaec332703653b8d348
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 22 05:01:31 2006 +0000

    viced-log-get-key-failure-20060221
    
    
    log afsconf_GetKey() failure

commit 0ef21914dad5ddda3aba8ec3f3f894261edc5c08
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 22 04:07:34 2006 +0000

    server-rxmaxmtu-option-20060221
    
    
    add -rxmaxmtu <bytes> to allow setting the max send and receive RX MTU size

commit d7a60f50a40da4acc28fe7ebbd145a25a9ba8b6d
Author: Jim Rees <rees@umich.edu>
Date:   Tue Feb 21 21:07:57 2006 +0000

    fbsd61-20060221
    
    
    Param file for FreeBSD 6.1. Builds, untested.

commit 10947ccc74b0bef53e152c7275760ab8873a176e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 20 21:49:17 2006 +0000

    cache-autotune-20060220
    
    
    put in defaults so an old afsd will still start ok.

commit 4808977d7d0e49e5d260a26113fd97cb48d5f844
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 20 15:26:21 2006 +0000

    viced-client-cps-race-fix-20060220
    
    
    remove a race condition between h_TossStuff_r and SRXAFS_FlushCPS by
    changing h_ID2Client to return the client with a refcount and then
    release the refCount with PutClient.
    
    when the CPS list is non-NULL and the viceid is ANONYMOUSID be sure
    to set the prlist_val to NULL if the prlist_len is being set to 0
    since all of the tests are performed on prlist_val

commit fc5bb308c77a211a796b4bb5de7952dc7a5630ed
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 18 06:01:27 2006 +0000

    rx-dpf-20060217
    
    
    typo
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    conditionalize rx_intentionallyDroppedOnReadPer100

commit 9e3fdd9c3c2576ec9c5f465b2be936096ca20cd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 18 04:58:28 2006 +0000

    flushrec-prototype-20060217
    
    
    add a prototype to shut up gcc4

commit 591d9c76c8d935809625cbaab248ca7c2770c751
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Feb 18 04:53:34 2006 +0000

    vnode-ref-verification-20060217
    
    
    verify we got a ref when we call vnode_ref

commit c135a53f926039009897b781555519ce366592da
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Feb 18 04:11:30 2006 +0000

    rx-dpf-20060216
    
    
    when dpf is in use, log error codes from abort packets and perform
    ntoh translation of addresses and port numbers.

commit 55bdee41e635da3396ddd25234b3d5910921c1d5
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 17 21:57:12 2006 +0000

    qremove-set-null-20060217
    
    
    when we remove an object from a queue null its list pointers

commit c320fae82541d3026c9d2a89ffce60fd17ad5ca5
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 17 21:43:42 2006 +0000

    flushvolume-vhashq-consistency-20060217
    
    
    avoid having vflushed vnodes in play

commit 5e752a9cffcb057da595dcaebbf8d1a10c78b8f0
Author: Jim Rees <rees@umich.edu>
Date:   Fri Feb 17 17:58:21 2006 +0000

    test-heimdal-20060217
    
    
    Add a configure test for heimdal and use it to build asetkey or not.
    Thanks to Derek Atkins for his helpful suggestions.

commit a8f0d4a30f55ac506cad1d82a416b2847ace99e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 17 17:34:15 2006 +0000

    hpux11-store-fd-sonner-20060217
    
    FIXES 23112
    
    based on report from    jbuehler@spirentcom.com

commit 167819c0c55a258357ff36cede5e79399d470a23
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 17 16:41:28 2006 +0000

    darwin-x86-lwp-fix-20060217
    
    
    make lwp work on darwin x86

commit 3d1e5e29f7a7a53c2286b81a59d67a2e4463112a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 17 15:35:38 2006 +0000

    windows-notes-20060216
    
    
    1.5.0 development build

commit ca4fb5f2d08959e7296382318646047c452ba718
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 17 15:22:24 2006 +0000

    darwin-lost-wakeups-20060213
    
    
    eliminate the apparent lost wakeup problem in tiger

commit 79cfa471a719b9b270f5d1fa1bbd25c1be8e1fd7
Author: Klas Lindfors <klas.lindfors@it.su.se>
Date:   Fri Feb 17 14:48:09 2006 +0000

    viced-has-as-member-locking-20060217
    
    FIXES 26967
    
    A crucial line was missing from DELTA viced-fix-check-rights-race-20060213

commit 532bc6e84c47a7c54cd3d900c74145c3dd23ee44
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 16 22:06:02 2006 +0000

    windows-optimize-find-uid-20060216
    
    
    Rename smb_GetUser to smb_GetUserFromVCP and add smb_GetUserFromUID.
    
    Use calls to smb_GetUserFromUID to reduce the number of times that
    the smb_user_t object is obtained and released during the processing
    of an smb call.

commit 424ae50d1f7dfe0c3557d98f8ae9bc03a8265a21
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 16 22:03:47 2006 +0000

    windows-server-ping-20060216
    
    
    add logging of server addresses, status and capabilities
    
    prevent multiple threads from pinging the same server simultaneously.
    instead, threads block and then use the result of the ping that was
    already taking place.

commit 1e3c9a9a4767f65cbe7fe251eac47a79eead71de
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 16 22:01:45 2006 +0000

    windows-daemon-check-registry-20060216
    
    
    Add registry values to allow the defaults for daemon checks to be altered
    at startup.  Log values to afsd_init.log.
    
    daemonCheckDownInterval
    daemonCheckUpInterval
    daemonCheckVolInterval
    daemonCheckCBInterval
    daemonCheckLockInterval
    daemonCheckTokenInterval

commit cc0e245b7a8e374eef49f47d934c9b6f583bab51
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 16 21:59:19 2006 +0000

    windows-lock-testing-20060216
    
    
    turn on the support for backing byte range lock allocations with
    afs file server locks.

commit e1f4dd1c26a1fedb637ed754644f8c141fa4c0db
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 16 21:48:50 2006 +0000

    windows-rx-wsaeconnreset-20060216
    
    
    Deal with the fact that Windows returns WSAECONNRESET after an ICMP
    port not reachable packet was returned in response to a packet previously
    sent.

commit 21e0734259ee2c575bfbbd970f2fa84253378267
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 15 21:01:49 2006 +0000

    linux-inode-i-mutex-20060214
    
    
    new (2.6.16) kernerls have i_mutex instead of i_sem
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make i_sem become i_mutex

commit cee042e2f9f3e22e3cdb0c9535b122eb1714b691
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Feb 15 20:53:02 2006 +0000

    darwin-event-cleanup-20060215
    
    
    clean up event resources added for deadlock avoidance

commit 90d681405a744816435949c1c70a5f33d86ff12d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 15 16:38:33 2006 +0000

    asetkey-macos-20060215
    
    
    make the same fix we do on aklog w.r.t com_err

commit de53b41333d4d45834414bb8f28c4d0b1f6260dc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 15 16:32:42 2006 +0000

    darwin-ifnet-flags-20060215
    
    
    darwin (8.0) already has this

commit 658338b015fa6cd081726a6c96ab8c756857974a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 15 16:31:15 2006 +0000

    windows-reg-fix-20060215
    
    
    cleanup the back connection hostname code

commit 33d58440d1fa3938ff627e888537c367d06b1bf9
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Feb 15 07:01:40 2006 +0000

    darwin80-mkdir-error-leak-fix-20060215
    
    
    avoid a potential refcount decrement "leak" (well, the opposite, really) when a mkdir fails

commit f3137f9efc47d9b3365fd6076b05ebb5b907c306
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Wed Feb 15 00:37:28 2006 +0000

    macos-dynroot-start-anyway-20060214
    
    
    start afsd if -dynroot specified

commit 0ef6661fdcb452fc0ed2deb33560817c4b95674b
Author: Adam Megacz <megacz@cs.berkeley.edu>
Date:   Wed Feb 15 00:33:45 2006 +0000

    macos-afsdb-20060214
    
    
    enable afsdb by default

commit 848ed685c18e1fbdf550758c3e1d6c11e00d5239
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Feb 14 20:32:45 2006 +0000

    lookup-checkcode-bulkstats-20060214
    
    
    do error code analysis on bulkstat results also

commit 3828c257ae33306bbdd3c6db9381601fe5b1b110
Author: Jim Rees <rees@umich.edu>
Date:   Tue Feb 14 16:58:13 2006 +0000

    dead-code-and-prototyes-20060214
    
    
    Remove dead code and add prototypes.

commit 44514e95164e74f539c102bec05add7404b9cc77
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 14 14:03:17 2006 +0000

    windows-build-sys_name-20060214
    
    
    Add the sys_name to the dest and obj directories in order to allow
    both 32-bit and 64-bit builds to be built from the same directory
    tree.

commit 328544bd38f65525dad7b38a52c2d1407ea4b84b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 14 13:25:10 2006 +0000

    windows-notes-20060214
    
    
    updates

commit b4fdd2ec6f035f6bb47402c17f80a4bedb2f10b2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Feb 13 18:51:55 2006 +0000

    remove-recursive-vfs-getcontext-20060213
    
    
    remove unused code

commit 63031c0b8b1a00711a043431cb5d1c98834ab0cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 13 18:38:37 2006 +0000

    solaris-afs-nfsrdwr-avoid-reading-past-end-of-file-20060213
    
    FIXES 25747
    
    avoid a panic when we attempt a read past the end of the file

commit 0f9a5e3ad81a8583d486b3ee45aaebda50f6de06
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 13 18:29:26 2006 +0000

    revert-bkg-disable-var-20060213
    
    
    remove the bkg daemon disabling

commit 6c7a2901b00ae2f7df0bdff23b19fdd3b7f35156
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 13 17:09:36 2006 +0000

    viced-fix-check-rights-race-20060213
    
    FIXES 25869
    
    acl_CheckRights() was generating core dumps because the client's prlist
    was being invalidated by h_TossStuff_r() as part of freeing the associated
    host.  This patch fixes the problem in probably redundant ways.
    A missing hold on the host is now obtained.  refCounts on the client
    are now preserved as part of GetClient()/PutClient().  Read/Write locks
    are now obtained on the client when accessing/manipulating the prlist.
    
    This patch adds the client parameter to GetVolumePackage() and
    PutVolumePackage() and adds the new function PutClient().
    
    This patch removes the need for the client X had conn Y stolen by X messages.
    This is replaced by "deleted client X already had conn Y stolen by X.  If
    we see this there is definitely a logic problem as the client should not
    be deleted at this point.  We a no longer allowing the race condition that
    would have resulted in the original message.
    
    In addition, this patch fixes a problem with UAEs caused by the
    inappropriate translation of VICE error into UAEs when there is overlap
    between VICE error values and those in sys/errno.h.

commit bfdc909b5477e493656b3e9fb744fdf5cd16e179
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 13 16:33:49 2006 +0000

    windows-findacl-optimize-20060213
    
    
    don't remove an entry from the queue and add it to the head if it already
    is the head.

commit 8a6bfc54e5ff81bea0b78b45986f5115b2978adc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 13 16:28:59 2006 +0000

    windows-new-server-ping-20060213
    
    
    when adding a new server, mark it down to start.
    this will allow the Ping to use the short timeout when checking the real
    status.

commit d9d798f78617026349e3c087c714e474e9eb2b7f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 12 06:25:37 2006 +0000

    windows-off-to-the-races-20060211
    
    
    several race conditions were introduced over the last couple of weeks.
    let's fix them.

commit 81cfded7dbdf25d774375719ce02ebbfe698d77c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 10 18:43:22 2006 +0000

    windows-vcp-fidsp-empty-20060210
    
    
    protect against the case in which the vcp->fidsp list is empty
    which de-queuing smb_fid_t objects

commit 0c77d5332da76d223b007f8e85e8d81148b17737
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 10 17:10:44 2006 +0000

    viced-probe-uuid-on-old-connection-20060210
    
    
    When we have found an existing host via Uuid, send the probe to the
    connection associated with the old host instead of the new one.  If
    you send it to the new connection, we will fail to detect that the
    old host is no longer responding and hence that it should be removed.
    This should solve the 55 second delay problem seen from clients with
    Uuids that move addresses or sit behind a NAT.

commit d2de9e69bc08e04c00083166a59847be246a9e8c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 10 17:07:43 2006 +0000

    viced-log-typo-20060210
    
    
    missing % in format string causes crash at log level 125

commit 3416916228624b6b446b5106f40c4d7e5fbd8cb0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 10 16:49:37 2006 +0000

    viced-debug-port-numbers-20060210
    
    
    fix port number printing to not print byteswapped port numbers

commit 4b3c120e8e571f650e8274da553b1489cc34bd5e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 9 15:28:56 2006 +0000

    windows-afslogon-20060209
    
    
    replace sizeof(opt) with sizeof(LogonOption_t)
    
    add more debug statements

commit e4c21e9c6fe4a030cf271b614d8e3d78130e4fc9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 7 07:46:55 2006 +0000

    viced-host-nat-20060207
    
    
    When we discover a new address for an existing host we can take the
    opportunity to cleanup the hash table and the interface list if the
    new address differs from an existing address only by the port number.
    In that case we know the client is communicating to us from behind a
    NAT and the old addr/port number combination is no longer going to
    be of use to us.

commit 6909509eca2a22b4b7003be60e0dbda75a30949c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 7 06:04:34 2006 +0000

    viced-more-dbg-improvements-20060207
    
    
    convert the rest of the addresses output in hex to dotted notation

commit da0f2fdeca83a47d4c39814901ef862fdbfdb604
Author: Jim Rees <rees@umich.edu>
Date:   Mon Feb 6 17:18:12 2006 +0000

    no-global-sunlock-20060206
    
    
    Don't use global_sunlock on OpenBSD unless running smp kernel

commit 77de32ed745d912e35990c5602b4a69a1b654973
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 6 07:06:33 2006 +0000

    windows-winqual-20060206
    
    
    Fix two bugs reported via Windows Crash Reporting:
    
     * Freelance initialization is somehow broken allowing the number of
       locally defined mountpoints to become negative.  Due to the use of
       != instead of < in loops, it is possible to read/write unallocated
       memory.
    
     * GetTextualSid() was not properly handling a NULL output buffer
       pointer as an indication that the desired size should be returned.

commit f504df317572835718037fe177073e3202905753
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Feb 5 18:21:51 2006 +0000

    darwin-avoid-bogus-name-caching-20060205
    
    FIXES 26225
    
    avoid the possibility of creating bogus cached named vnodes

commit 3da66f26980d7cfcde54f6ba9c9a0114e23f6f40
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 5 17:45:34 2006 +0000

    windows-mountpoints-20060205
    
    
     * if the mountpointstring is empty, return No Such Path; do not panic

commit 18e7ef272ab4efbd599c5d10174f0afd87c57c2e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 5 17:44:41 2006 +0000

    windows-afslogon-20060205
    
    
     * AFS_Logoff_Event must destroy tokens even if integrated logon is not
       being used unless LogoffPreserveTokens is non-zero

commit f213588374ab92e27bb524cd747152270f9290ca
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Feb 5 07:44:50 2006 +0000

    windows-afslogon-20060204
    
    
     * fix LogoffPreserveTokens to work in the correct direction
    
     * modify behavior to avoid domain controller queries when integrated
       logon is disabled or the logon account is local

commit 22b02189ecc70a94410fb1648da987d0964ddcaf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 3 23:21:04 2006 +0000

    windows-todays-bugs-20060203
    
    
    * cell names must be treated as case insensitive
    
    * smb logoff messages do not mean the user is logging off the machine.
      do not use as an indication that tokens should be destroyed
    
    * use the correct lock and avoid a deadlock when handling dead VCs

commit 04c3d3cc3900914725c479b993a6313b0ef29e3f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Feb 2 21:47:37 2006 +0000

    viced-log-add-ports-20060202
    
    
    * add port numbers to Host addresses so we can distinguish clients behind
      NATs
    
    * make messages consistent with regards to case and punctuation of
      "Host x.x.x.x:y"
    
    * convert hex addresses to dotted notation

commit 57d3a8b72168bf03400ed42e8a8eab78ea75271c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 1 18:28:58 2006 +0000

    windows-more-cleanup-20060201
    
    
    missed one case where the vcpCounter wrapped fids at 0

commit 40d1b796c1dca9c51811224c5ad80bbd2c62cdb1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Feb 2 08:27:16 2006 +0000

    bkg-disable-var-20060202
    
    
    don't extern this

commit 8b39114d5b36f60904e5a615a16b43b7e65c3017
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 1 18:02:29 2006 +0000

    windows-more-cleanups-20060201
    
    
    * remove all references to 'dead_vcp'; cleanup smb_vc_t's as soon as
      we know they are dead
    
    * add mx holds across the cm_cell_t updates
    
    * add cm_FindSCacheParent() and remove duplicate code elsewhere
    
    * add mx holds across scp->flags updates
    
    * add cm_CleanFile()
    
    * clear CM_SCACHEFLAG_CALLBACK when discarding callbacks
    
    * fix smb fid wrapping.  wrap at 0xFFFF instead of 0 because 0xFFFF
      is -1 which is INVALID_HANDLE
    
    * add missing mx holds around vcp->flags updates

commit 3aa14478bfcff9aedeedf986e09c6274b6c5ced3
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Wed Feb 1 16:20:07 2006 +0000

    aix-prototyping-fixes-20060201
    
    FIXES 26102
    
    fix some prototypes and enable prototype enforcement for aix

commit 73f52f37e4c1be81fad5122787382a480c220af5
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Wed Feb 1 16:09:01 2006 +0000

    osi-audit-locking-fix-20060201
    
    FIXES 25955
    
    fix aix builds

commit ecb9da5839e8e2ed0d52d87e426a728700bbd389
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Feb 1 15:58:30 2006 +0000

    getsomespace-r-rewrite-20060201
    
    
    rewrite of GetSomeSpace_r to get rid of the brokenness we had before.
    
    also make GetCapabilities work like other rpc stubs which don't need callbacks

commit bceabce8498127c550bbe5a9a430c8589f76d162
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 31 09:13:11 2006 +0000

    windows-smb_fid_t-mx-20060130
    
    
    *Includes the changes from STABLE14-windows-smb_fid_t-audit-20060125
     as well:
    
    "Further testing revealed that some smb_vc_t objects could not be freed
    because the associated smb_fid_t objects never reached a zero refcount.
    Additional auditing uncovered cases in which there were holds not being
    released and others in which they were released to many times.  This
    patch fixes the problems and improves auditability by modifying the
    behavior of the smb_IoctlXXX() functions to not release a reference
    that was obtained by the caller.  Now the caller releases the reference."
    
    Fixup token deletion logic
    
    Surround all references to smb_fid_t flags and other references
    by obtaining and releasing the 'mx' lock.

commit fbdd66aeef67a5a05bc41e33f046ff2879296617
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Mon Jan 30 22:11:40 2006 +0000

    merge-up-fixes-rxtcp-20060130
    
    
    Merge in fixes to up from the rxtcp branch.

commit 2e76a2450e06c93d7cdbc0fe07bd9302ac085952
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jan 28 19:20:44 2006 +0000

    simple-darwin-disable-bkg-20060128
    
    
    avoid potential hang by disabling bkg daemons on 10.4 for now

commit 29277d96bfade62e437b9206f885af307c74e3ca
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jan 28 18:06:06 2006 +0000

    newvcache-dont-spin-20060128
    
    
    make things so newvcache won't spin

commit bb576b462d1d26cd07f03965c734ae6d2c5bd132
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jan 28 18:02:40 2006 +0000

    reclaim-defered-flush-fixes-20060128
    
    
    fix side effect of reclaim lookaside

commit 90ceee2d37b9da00638b9ed08bd12e28cd7de667
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 26 21:24:39 2006 +0000

    up-cleanup-20060126
    
    FIXES 25863
    
    subsumes todd's fix

commit a6a330b360ace80d6a1083577a5e46356f0e229b
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Jan 26 20:34:50 2006 +0000

    osi-panic-revert-to-kandr-20060126
    
    FIXES 25924
    
    avoid prototype issue for now

commit 78835720e0eac5897568f0ce32cd0ec20dc4c569
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 26 18:55:18 2006 +0000

    linux-vcache-extra-ref-unneeded-20060126
    
    FIXES 25829
    
    the dynamic/system inode version of the linux client already keeps an
    extra reference when the inode is on the vcache list. the inode/vnode
    should not go away while we are trying to flush the dcache children.

commit 42f24a53f5aa7ad713654789928a57f8dac52102
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 26 18:13:06 2006 +0000

    remove-spurious-var-20060126
    
    
    Remove unused local variable "lock".

commit 1fb654e0c02ab6ca90d531a250639ecda6cea5e2
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 26 18:11:23 2006 +0000

    cast-pointer-20060126
    
    
    Cast pointer to long for printf.
    "%p" would be a better fix, but is it supported on all platforms?

commit 532147e45588039e6db64ef7deccfc1d5d21d16d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 26 16:03:03 2006 +0000

    macos-avoid-reclaim-hang-20060124
    
    FIXES 25686
    
    based on chaskiel's suggestion, implement a lookaside reclaim list

commit f84de8044aab16ccaf961ba30a36929f2d1f1e50
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 26 16:00:34 2006 +0000

    more-rxglock-cleanup-20060126
    
    FIXES 23321
    
    more rx glock cleanup. eval for pullup after 1.4.1

commit c7df78fd7f9c4a29f8af32e49217806ef352ea01
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 26 15:56:41 2006 +0000

    linux26-build-update-20060126
    
    FIXES 25879
    
    KBUILD_BASENAME will need to be set in 2.6.15 and later for configure to work usefully

commit 27c42be1b9dced92f578664d57f2dd92aa21c8a0
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Jan 26 15:52:37 2006 +0000

    ukernel-rx-knet-deref-20060126
    
    FIXES 25927
    
    pass correct parameter to avoid type mismatch

commit ad86f80fc2a7c02452d4bf280236f4c5df317fe9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 26 15:49:05 2006 +0000

    sol10-vnode-cleanup-20060126
    
    
    Because we use a private pool of vnodes, it's up to us to trigger cleanup.
    here we do so.

commit 9352092dfd4c6c2c9d1f5c383852aaa30c9fdff6
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 25 19:44:15 2006 +0000

    regen-no-doc-noise-20060125
    
    
    Don't say we're building man pages if we're not.

commit 6eb9f473add1426b52861574c841b1fdfd80367b
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Jan 25 05:59:38 2006 +0000

    man-page-html-20060124
    
    
    Initial cut at an HTML conversion of the POD reference pages.  Requires
    Pod::Simple be installed (version 3.0 or later, probably).  Also fix a POD
    formatting bug in the afs(1) man page noticed while testing HTML output.

commit 1649de223462f5290974b7f05d09a41f9ff29bde
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 25 04:45:00 2006 +0000

    macos-avoid-reclaim-hang-20060124
    
    FIXES 25686
    
    based on chaskiel's suggestion, implement a lookaside reclaim list

commit 179b4c31d93b511a5762c818a47cddc0e364c9d3
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jan 25 03:49:25 2006 +0000

    release-avoid-negative-time-20060124
    
    
    avoid any possibility of time going negative when releasing incrementally

commit feccc2a98770fd48eee58d380671539e4bc1fdfb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 25 03:24:25 2006 +0000

    implement-vpeek-for-listvol-20060124
    
    
    roll back for listonevolume (only)

commit 1c53d7f34db626f6f44821844912e7f7012e5bfb
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 24 17:40:11 2006 +0000

    usebuffer-macros-20060124
    
    FIXES 25819
    
    get rid of usebuffers macro usage warning

commit 97304b84f76154d067717e3b34a3525abebc0cf7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 24 23:22:00 2006 +0000

    windows-continued-refcount-cleanup-20060124
    
    
    * re-enable LogoffTokenTransferTimeout and LogoffTokenTransfer.
      Tokens are now destroyed at logoff based upon the values specified
      here.  Default is ON and 120 seconds.  Setting this to OFF will
      result in tokens never being destroyed.  This will leak memory.
    
    * protect global queues with mutexes and avoid a variety of race
      conditions.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    rollback unintended commit

commit 4a5dda84178842e3eaa61d03fecc96149333dd13
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 23 21:23:16 2006 +0000

    viced-grow-h_maxSlots-20060123
    
    
    and jhutz@cs.cmu.edu
    
    The size of h_maxSlots as computed based upon the value of
    MAX_FILESERVER_THREAD is too small.   It is possible for h_lwpIndex
    (in the pthread case) to have produce the same Slot value for multiple
    threads.  In that case it is possible for the following to occur:
    
           X: h_Hold_r(host)
           X: H_UNLOCK
           ...
           E: H_LOCK
           E: Check h_Held_r(host); it is true, so don't hold
           E: H_UNLOCK
           X: H_LOCK
           X: h_Release_r(host)
           X: h_TossStuff_r(host)  [called by h_Release_r]
           X: H_UNLOCK
           E: CheckHost(host)
    
    The end result would be a crash due to a reference to a null field
    in the host processed by CheckHost.
    
    This patch is a bit of a hack in that it solves the problem by increasing
    the number of slots for threads and does not determine the correct number
    of threads the process should be allowed to produce.

commit ff40c87da3ce4c6a7a58c08eaa223e8760dc8f73
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 23 21:13:19 2006 +0000

    check-host-optimize-20060123
    
    
    There should never be a case where h_Enumerate calls CheckHost with a
    host whose callback_rxcon that is NULL.  However, due to a bug it ended up
    being the case that it happened.  An examination of the CheckHost code
    showed that the check for the HOSTDELETED flag should take place before
    a reference to callback_rxcon is obtained.  If HOSTDELETED were set, the
    code would simply release the reference immediately.  However, the process
    of obtaining and releasing the reference required dropping and obtaining
    locks that would be a performance hit.

commit db98b697fe4e1b38ac5e73d60dd101b2506e12a4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 23 21:04:31 2006 +0000

    fs-getfid-20060123
    
    
    add a fs subcommand to get a fid

commit 7fde756a2c6f17e6a3b0db7659c6edcc2eaa0bd7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 21 21:37:04 2006 +0000

    windows-smb-logoff-or-abandonment-detection-20060121
    
    
    This patch:
    
    (1) removes the rest of the dead logoff code that was originally
        stripped of any meaning by DELTA
        winnt-win2000-win98-afs-client-updates-20010623.
    
    (2) gives new meaning to smb_TokenTransfer and smb_TokenTransferTimeout.
        these variables now control how long a smb_username_t and its
        associated cm_user_t and its cm_cellinfo_t (including tokens)
        will be preserved after a logoff.
    
    (3) adds logic to detect logoff conditions
    
    (4) adds cm_CheckVCs().  This function probes the SMB client with a ECHO
        response to determine if the associated SMB virtual circuit is still
        valid.   This is executed once every five minutes by smb_Daemon()
        and whenever the machine's IP addresses change.  This allows
        abandoned VCs to be detected and the associated user credentials,
        file handles, and locks to be cleaned up.  This will also prevent
        the exhaustion of the limited number of SMB sessions.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and remember to mark the session dead so it can be re-used

commit 96100b6dea66ea5053956e545ada6228aabe2e4a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jan 21 21:22:47 2006 +0000

    h_gethost_r-hold-fix-20060121
    
    
    fix hold errors

commit 5790bf7cd0bcf3a9bf6d364e9bc6601b30feff8b
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 20 16:40:24 2006 +0000

    host-cpu-20060120
    
    
    Introduce @HOST_CPU@ and use it to find correct headers for FreeBSD build.

commit 1afcbc944110ab22a23e83b52b7e5667c2567398
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jan 20 06:22:46 2006 +0000

    windows-notes-20060120
    
    
    more notes for 1.4.1-rc5

commit a784c131709a8252fa1e8cb4ce49cb0c655dd7aa
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Jan 20 05:19:47 2006 +0000

    cached-lookup-mtpt-20060120
    
    FIXES 25647
    
    don't do lookups on the wrong vnode, if it's a mvstat=1 vnode, it's not useful

commit f3a7aabbc523cc3e90b4cc11788523cc72e72822
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Jan 20 05:05:35 2006 +0000

    aix-vm-rdwr-fix-20060120
    
    FIXES 25650
    
    avoid a loop in vm_rdwr on aix. also fix ifnet_flags macro

commit e367b6934d7970489a1b59d2a1e8a27e84f8efd9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 20 00:00:18 2006 +0000

    cmdebug-no-zero-pad-output-20060119
    
    
    length, dv and refcnt no longer 0 padded

commit 70b76b3a1cff1dabe9b10b8222cd84fc207b6704
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 19 23:07:50 2006 +0000

    windows-integrated-logon-hack-fix-for-proper-refcounts-20060119
    
    
    The Integrated Logon hack of setting a token for a smb name different
    than the one associated with the current smb session fails when smb
    virtual circuits, sessions and username objects are properly reference
    counted.  When refcounts are not leaked the constructed smb_username_t
    is destroyed immediately after the token is set since there are not
    references to it from a current session.
    
    The fix is to mark the smb_username_t object with a flag indicating that
    it was created by the Network Provider.  This flag prevents the destruction
    when the refcount is zero so that it will be available at the time the
    smb session is created (just a moment or two later.)  During the binding
    of the smb_username_t to the smb_vc_t the flag is cleared allowing the
    tokens to be destroyed when the smb session is closed.

commit 5832d839f526279780714135c69f2db007dc504a
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 19 16:57:07 2006 +0000

    bozo-log-fix-20060119
    
    
    don't fclose(NULL) (found by ober@linbsd.org)
    fflush after printf instead of before
    add missing trailing newline in WARNING message
    consolidate the logic to make it clearer
    make tdate bigger (26 chars plus '\0'; not sure this is needed)

commit 5112c06e8a68b88457ea438152103115cf69fe4a
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 18 22:31:22 2006 +0000

    fbsd-opts-20060118
    
    
    add -mno-mmx -mno-3dnow -mno-sse -mno-sse2 to kernel cc flags

commit f59f69ea9f99dec429a966ac22e19647a02b2870
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 18 16:03:28 2006 +0000

    ifnet-flags-20060118
    
    
    #define ifnet_flags to fix build on bsd

commit 0806f60ab8d3cdd092449126eb0102a0fcd5edd0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 18 06:26:15 2006 +0000

    linux-vrefcount-macro-fix-20060118
    
    
    thanks to jhutz@cmu.edu for making me consider this

commit 93efc4ae47cc942164c2dfee175df0760fbfca03
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 18 02:21:00 2006 +0000

    linux-kernel-bug-macro-inline-20060117
    
    
    force oops inline instead of calling bug, so we can printk

commit a02c04684df1a4992a14a4ef81919c717b9f3b8d
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 17 22:25:51 2006 +0000

    regen-doc-20060117
    
    
    slightly better documentation of regen.sh

commit d921ee381aa46e4385524f0c31ca5ad606aa920a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 17 21:43:25 2006 +0000

    windows-truncate-after-lock-check-20060116
    
    
    In smb_ReceiveNTCreateX the lock check, cm_CheckNTOpen(), must take place
    before we allow the file to be truncated.

commit 47d2ab228517deb7c3097ca4c5f46afd84e26098
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jan 17 17:08:34 2006 +0000

    darwin-use-kthreads-20060117
    
    FIXES 25542
    
    use kernel threads for afsd processes instead of forked pids

commit b81d0cf8af1c5788de399b630545945004f65345
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jan 17 17:05:31 2006 +0000

    macos-locking-behavior-20060117
    
    FIXES 25543
    
    F_UNLCK is send as a command, remap to F_SETLK like everyone else

commit ebf35c3f884b40616700b4b0b2462731cda290ae
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jan 17 16:06:56 2006 +0000

    tiger-sysctl-20060117
    
    FIXES 25327
    
    implementation of sysctl for tiger

commit c19324c8574c66f18cd18f2df4beb486460205aa
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Tue Jan 17 04:59:11 2006 +0000

    newvcache-can-fail-now-20060116
    
    FIXES 22260
    
    allow newvcache to fail without ooping
    
    sort of nasty, if you want more vcaches, say so.

commit 4bb334ef6e40250630aec96b319de8db72619134
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 17 03:57:19 2006 +0000

    windows-afsmap-20060116
    
    
    strcpy -> strncpy

commit 8d158c1b615ec2625756b8f124a9eaff94a67799
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jan 17 03:32:44 2006 +0000

    remove-dead-prototype-20060116
    
    
    remove dead prototype for osi_iput()

commit 93e1cee7046984a81f0339484713649aceb25f3a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 16 21:15:21 2006 +0000

    h-enumerate-r-fix-for-real-20060116
    
    FIXES 24196
    
    make this not simply wrong

commit f7b9cd54e50e553486c2ad850df1a8ecaee0d954
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 16 16:22:27 2006 +0000

    windows-rx-ehostunreach-20060116
    
    
    another location where EHOSTUNREACH can be returned
    such that we can timeout the request immediately

commit 880a6b66a5477e092d5bb74febbf24639d786c64
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 16 02:05:27 2006 +0000

    windows-vc-locks-and-more-20060115
    
    
    This patch fixes several issues:
    
     * the smb virtual circuits can be active and/or dead.   this patch
       improves the handling of vc's making the transition from active
       to dead
    
     * correct the refcounts on the smb_user_t and smb_vc_t objects
    
     * replace the deprecated GetCurrentTime() with GetTickCounts() which
       is the new name.  This function needs to be replaced with something
       else because its return value wraps after 49.7 days
    
     * hold the correct locks when adjusting the scp->fileLocksH queue
    
     * add new event log entries for unexpected session closures and
       send packet failures

commit 9435d0e973bcde2d97031229f4a11c89fe4651ff
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 15 08:10:00 2006 +0000

    windows-ncb-error-strings-20060114
    
    
    consolidate the use of NCB error strings in one place

commit 36fd6d30cbda668209b7118499f2c70c5b0358a6
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sun Jan 15 08:04:59 2006 +0000

    windows-afsifs-20060114
    
    
    minor style change

commit 0a7b86c2bffeaf8bee75cbabf3378d8463778b73
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 15 08:01:49 2006 +0000

    windows-eventlog-20051219
    
    
    More messages for the event log

commit ad207ee1134b42bd1a2204f7d91d0f4016a73c55
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Jan 14 08:19:19 2006 +0000

    sparc64-linux-typo-20060114
    
    
    XLDFLAGS64, not XLDFLAG64.

commit 0b24f2d91a444c4bb11b3eaf8082356907b32d44
Author: Troy Benjegerdes <hozer@hozed.org>
Date:   Sat Jan 14 08:00:01 2006 +0000

    sparc64-linux-20060113
    
    
    Hopefully fix sparc64 Linux support with 2.6 kernels.

commit 6cf662ca526cb9cbb9b93511008ab274834f6396
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Jan 12 18:45:16 2006 +0000

    windows-lock-data-versions-20060112
    
    
    Add a lockDataVersion field to cm_scache_t.  This data version is
    compared to the cm_scache_t dataVersion field in the following
    circumstances:
    
     * lock upgrades from read to write in which the lock must be released
       given current file server rpcs
    
     * lock downgrades from write to read in which the lock must be released
       given current file server rpcs
    
     * lost locks due to network disconnect.  if the data version has not
       changed then re-obtaining the lock is safe to do

commit af202cac551ad541a0a1ca4525b03c2ec05f6507
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 12 05:54:23 2006 +0000

    windows-cmfinduserbyname-20060112
    
    FIXES 25347
    
    Fix invalid access after freeing newly allocated data structure

commit 3e8b96cfc4596c3e9c6c3802c1bdca1784f86271
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 11 21:37:06 2006 +0000

    linux-clean-up-stupidity-20060111
    
    
    get some of an inadvertant misapplied patch, and get rid of a redundant check

commit fb6d1dacfc256386f32f59fe4335b546a7d368c3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 11 04:44:49 2006 +0000

    afs-sysnames-20060110
    
    
    move allocations for SYS_NAME_ID_amd64_w2k and  SYS_NAME_ID_i64_w2k to avoid
    conflicts

commit 29924c8302431a25d4889ef4500fc5f0eeb97b2e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jan 11 04:23:22 2006 +0000

    macos-reclaim-20060110
    
    FIXES 25165
    
    avoid a vnode cleaning pnaic during recycle

commit ab7cfe62ec128b1205193ede1c769ddb369cc563
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jan 11 04:21:11 2006 +0000

    macos-avoid-ref-leak-20060110
    
    FIXES 25302
    
    fix for the earlier fix

commit 8a1d347b2e129a6085fb605f706917d88aa054b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 10 15:09:55 2006 +0000

    remove-vnop-mem-leak-20060110
    
    
    avoid leaking mvid when we use .__afsXXXX renaming in remove

commit 39b23a0dc16f2e26abf3b7df53bfadb98377748d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 10 15:03:26 2006 +0000

    remove-vnop-lock-order-20060110
    
    FIXES 25118
    
    finegrained dcache lock order not obeyed

commit a9df3ca715f483a31c14b72bae3f548a4c9291d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 10 13:26:41 2006 +0000

    windows-smb-username-refcount-20060110
    
    
    the smb_username_t objects are reference counted but they were never
    released on their own accord.  Instead the smb_uid_t objects when
    released were also cleaning up the smb_username_t.  Since the smb_username_t
    is reused, now that smb_user_t objects are being cleaned up, this was
    a problem.

commit 5deb4e521b7f1f8741c1f0ceeb8e33b4bf198c6a
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jan 9 05:44:19 2006 +0000

    windows-tests-winflock-20060108
    
    
    Updates to locking tests

commit 78c40badbd8c65d82f6c384fdff8056c03100b67
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Jan 9 04:43:36 2006 +0000

    windows-byte-range-locking-20060108
    
    
    When SMB sessions are prematurely terminated as part of the tear down
    of the virtual circuit we must clean up any remaining file handles,
    tree connections, and user sessions.

commit 36596b93e0b45cb1074b554e57c5f71171350f62
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 8 04:17:18 2006 +0000

    windows-byte-range-locks-fix-20060107
    
    
    fix the SERVERLOCKS_ENABLED macro

commit 7d912795aae1ecb7a4a397f8572ee26fe62fe2da
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 8 00:42:52 2006 +0000

    windows-enable-byte-range-locking-20060107
    
    
    re-enable byte range locking

commit f057d9515c72609e4ca9e51ff96f658689679497
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 8 00:38:32 2006 +0000

    windows-byte-range-locking-20060107
    
    
    * Update architectural documentation
    
    * Allow locks to be obtained as soon as it is possible instead of
      enforcing a requirement that locks be granted in order.
    
    * Fix other bugs
    
    * Disable byte range lock processing

commit 57e5d7c2aea61db5e2cac5f96192534d2e86aab2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jan 8 00:30:40 2006 +0000

    windows-eventlog-20051219
    
    
    For afsd_service.exe, properly use the Event Log by constructing
    message strings stored in a MESSAGETEXT resource.  This patch also
    removes a large number of debugging related event messages that
    should never have been seen by an end user.   That data is now
    logged to the trace.log where it should have been logged initially.
    
    Similar changes need to be implemented for afslogon.dll and afscreds.exe
    
    The afsd_eventlog.[ch] files should be broken out into its own library
    so that it can be reused efficiently.
    
    The afsreg.h header was cleaned up to ensure name consistency and to
    remove the last vestiges of "IBM AFS".
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Do not change "AFS Client" to "OpenAFS Client" unless the installers
    are also updated.
    
    ====================
    
    remove temporary files upon clean

commit e07a781b20272a629f73cf8b2377ee8e3bd6cd99
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 6 02:54:40 2006 +0000

    macos-104-change-access-enforcement-20060105
    
    
    don't improperly enforce read attribute restriction on child instead of parent
    when it's a directory
    
    avoid screwing ourselves on mode 0 files, also

commit 8b015a5e325b52969203d0647f67945ab7e402cc
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jan 5 05:31:34 2006 +0000

    macos-vnode-get-fixes-20060105
    
    
    The afs_pioctl.c change should fix a real crash (panic), but fs flushv isn't
    that common an operation.
    Other changes:
    don't GUNLOCK() around vnode_get(). we weren't consistent about it, and it
    doesn't appear to be strictly required.
    handle vnode_get() failures in more cases
    darwin_vn_hold will panic if vnode is terminating rather than mess up the
    refcounts.

commit b36171907254a2b8a4f9cee0809da025869e00e8
Author: Horst Birthelmer <horst@riback.net>
Date:   Tue Jan 3 21:26:40 2006 +0000

    fbsd-vnode-includes-20060103
    
    
    Generate vnode_if_newproto.h and vnode_if_typedef.h in case they aren't in
    the kernel build directory, for example if the kernel has been configed but
    not built.

commit 40f151f5c47460927bcaa5b5a631057ae72790ad
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Fri Dec 30 22:40:15 2005 +0000

    windows-vista-wix-install-20051230
    
    
    Update the MSI to install the network provider without impersonation

commit 8863143052cb1a60de4fe90c1617df0bb3eca931
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Dec 27 23:30:22 2005 +0000

    man-page-rxgen-cmdebug-20051227
    
    
    Add man pages for rxgen and cmdebug.  The cmdebug man page was written from
    scratch based on the source code.  The rxgen man page is a conversion of an
    old TeX document to POD.

commit dc694b33608fb8d5fee55713fa39193e8d26266e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 27 20:00:10 2005 +0000

    windows-ptc-rc-20051227
    
    
    for ptclient.exe

commit 3875eec844609443710d3b98a2ac795d7f2d9121
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Dec 27 16:17:11 2005 +0000

    windows-process-detach-20051227
    
    
    The procmgmt library replaces the C RunTime Library's signal handlers
    but does not restore them on process detachment.  This leaves the
    process with signal handlers pointing to invalid code that generates
    an invalid access error during process termination if the library
    was previously unloaded.

commit 5a238125533fc826e3e39250fbc02e59bf352ec4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Dec 24 01:07:43 2005 +0000

    solaris-uniqtime32-20051223
    
    FIXES 24445
    
    afs really wants the 32 bit timeval/uniqtime stuff

commit 518bebb032c410a520a8923a16263e605370d60c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Dec 24 00:28:10 2005 +0000

    darwin-dnlc-cache-purge-20051223
    
    FIXES 22644
    
    cache_purge() to hint to darwin that we changed something instead of letting it cache invalid data

commit 97ebc776712b455b1e85df598b61ba6c847ca0a6
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Dec 24 00:20:18 2005 +0000

    tiger-fixes-20051215
    
    
    potential reclaim in progress fix, and per Chaskiel,
    "I don't remember why I put it there, but the fact that
    it gets triggered means that we're leaking a vcache object lock. It looks
    like the "rename to .__afsXXXX" codepath is responsible (as afsrename does
    not use the fact that adp (or aodp) is locked by afs_remove, and locks it
    again. I'm surprised it's not deadlocking)" so i coded up a fix
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    chaskiel says
    The RHS shouldn't be a double negative...
           There's no bug (other than the assert itself)

commit 856f5288e761e9dfaf720eb38a9bd4e7a053cb0d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Dec 24 00:08:32 2005 +0000

    darwin-lost-wakeups-20051223
    
    FIXES 24492
    
    rewrite for tiger to avoid losing wakeups

commit 90bc5c0092652b047c4eabffb5577e05859c80f4
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Dec 22 07:34:49 2005 +0000

    man-page-misc-improvements-20051221
    
    
    Add new man pages for livesys and voldump.  Fix the man page for sys to say
    what it actually does, rather than implying that it works like livesys, and
    to recommend livesys instead.  Fix a path error in the NetInfo
    documentation.  Update the README for the current status, including
    listing all installed commands that don't have man pages.  (There may still
    be some subcommands that don't have man pages but aren't listed.)

commit 5fde2994348d1c7f6239f98aac355011125b06ad
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Dec 22 07:29:52 2005 +0000

    man-page-installation-20051221
    
    
    On installation, substitute the configured paths into the man pages,
    replacing the Transarc paths.  Also fix a problem with the way that
    pinstall was being used to install man pages.  (Silly me, I was assuming
    it had the same behavior as install.)
    
    This is just a quick first pass.  Longer term, it's probably better to
    replace all paths in the man pages with unambiguous tokens and then
    replace those tokens instead of assuming that the man pages use Transarc
    paths and replacing those paths specifically.  The current method has a
    few minor problems, such as not being able to distinguish between the
    various paths that make up /usr/afs/bin.  Still, the results of this method
    are good enough to start with.

commit f874f6691b3237158a223b891650d800ee8abdd3
Author: Jim Rees <rees@umich.edu>
Date:   Wed Dec 21 18:41:47 2005 +0000

    aklog-obsd-20051221
    
    
    make aklog build on OpenBSD

commit b2b051fab1026a9bb1c2e9585c0d3c936c25a84e
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Wed Dec 21 18:22:08 2005 +0000

    aklog-fix-install-Makefile-target-20051221
    
    
    Fixed the install target so it installs asetkey instead of running it.

commit 160854bd2bd9994b615216c566473598e871d13b
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 21 00:41:17 2005 +0000

    man-page-whitespace-20051220
    
    
    Remove all trailing whitespace while we have the chance and there are no
    merge issues yet.

commit 0b21e24d0a96401033d55d3c079c954138b7c50e
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 21 00:37:16 2005 +0000

    man-page-generation-20051220
    
    
    Move man page generation out into a separate script that's just invoked
    from regen.sh, so that someone can run that separate script later if they
    wish.  Make that script more robust against problems such as empty podN
    directories.  Diagnose a missing pod2man and warn about old versions of
    Pod::Man.
    
    Also, remove the old programs used to do the initial conversion from HTML.
    Enough post-conversion editing was done that they're no longer necessary
    except for historical curiosity, and for that purpose they can be pulled
    out of CVS.

commit 2de17470f0853da5eb8d37322ddb61ed844cd74a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 19 16:12:16 2005 +0000

    windows-bg-fcrypt-20051219
    
    
    use the faster bg-fcrypt

commit 1b73452ba85993d990665d15031f2e1872929f1b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 19 15:51:28 2005 +0000

    windows-64-bit-type-safety-20051105
    
    
    SIZE_MAX should be UINT_MAX if not defined
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler

commit 065f9e1196cf1067ad2bad9ecc49ed01b971a3a2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 19 12:36:48 2005 +0000

    windows-uninit-20051219
    
    
    initialize the variable containing the afs id in case the pts lookup
    fails

commit 02a6d180f3ee22ca3e79ab8fce552dd393beae12
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Dec 19 12:35:15 2005 +0000

    windows-rx-debug-disable-20051219
    
    
    Provide a method to enable/disable rx debugging along as a part
    of "fs trace -on/-off"

commit 37147a406e5a44d762c976773d7f3bd01154460a
Author: Björn Torkelsson <torkel@acc.umu.se>
Date:   Mon Dec 19 03:27:21 2005 +0000

    linux-writepage-rename-20051218
    
    
    The ocfs2 patch renames WRITEPAGE_ACTIVE to AOP_WRITEPAGE_ACTIVE, and
    Ubuntu has applied that patch to their version of the kernel.  Allow for
    either.

commit 376a5dd834ab6813fc955a2b535eb4ab4aea3c0d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Dec 18 05:41:19 2005 +0000

    separate-capabilities-by-source-20051217
    
    
    This patch separates the client and viced capabilties;
    adds a viced capabilities for 64bit files;
    and modifies the Windows client to probe the viced capabilities
    the first time the client discovers the server and uses the capabilities
    RPC instead of the GetTime RPC to probe for Up/Down status
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    define the capabilities constants

commit 8c3cf4b89445d969c9f85e929d5e030f53773f81
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Dec 17 17:26:57 2005 +0000

    windows-no-fds-20051217
    
    
    when collecting rx statistics in response to an RPC query, the rx library
    attempts to enumerate the number file descriptors in use.  This is fine
    except that file descriptors are a C Run Time Library concept on Windows
    and are not related to networking.  In Visual Studio 8, the run time library
    will assert() if an invalid file descriptor is passed to fstat() which is
    the test used to determine if a file descriptor is valid.
    
    This patch simply returns 0 for the number of file descriptors in use
    because that is what would have been returned anyway with the existing
    code.  What we probably want to return is the number of open socket
    handles.

commit e5c8042e72a077bfcb05232c918995e9e965b7c2
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Dec 16 04:25:48 2005 +0000

    vos-restore-parent-id-patch-20051215
    
    
    avoid making broken readonlies when when you restore them

commit 1fe17bc36513fffe745df2445754a19d3c0f9863
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Dec 16 03:36:16 2005 +0000

    linux-dentry-multiple-mounts-20051215
    
    
    avoid triggering BUG() when a volume is multiply mounted

commit 914ac9204801982e1b1b9e827a92cd519ef18bfd
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Dec 16 03:31:18 2005 +0000

    freedatabufs-mark-free-20051215
    
    
    avoid an error with marking data packets free

commit b34223345b07b16008e3b4253c2572bea25fca55
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Fri Dec 16 03:27:17 2005 +0000

    multibreak-rework-avoiding-race-20051215
    
    
    avoid a potential race finding the correct connection during
    MultiBreakCallBack_r

commit d00359b24139753b8f6a62c6a9137c8f8ccd3b7e
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Dec 15 15:15:30 2005 +0000

    rx-osi_alloc-prototype-20051215
    
    FIXES 24267
    
    must provide prototype for osi_Alloc() on systems with 64-bit pointers
    and 32-bit int

commit f75b0075a79807eaae4e071ea4d0f3bd60d7f547
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Dec 15 05:55:10 2005 +0000

    rx-osi_alloc-prototype-20051214
    
    FIXES 24267
    
    include rx.h in order to safely include rx_prototypes.h in order
    to obtain a prototype for osi_Alloc() in order to prevent pointer
    truncation on systems with 64-bit pointers and 32-bit int.

commit 544dedb6eddd353094a8c7d9b30d76b80f6d2a87
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Dec 15 05:51:24 2005 +0000

    multiple-local-realms-20051208
    
    
    This patch extends the krb.conf file allowing the specification of
    multiple realms which should be treated as equivalents to the local
    cell authentication domain.  Additional realms are specified on the
    first line of the krb.conf file and are separated by white space.
    
    In addition, the patch adds a new file stored in the same directory
    as the krb.conf file called krb.excl.  This file contains a list of
    principal names, one per line, that must not be treated as local
    identities.
    
    The purpose of this patch is to allow organizations that are supporting
    multiple realms with synchronized user principal databases to allow
    their users to login with any of the realms and treat the principal
    names as equivalent to the local PTS identity.   The exclusion is
    to allow certain names, such as those for administrative IDs, to be
    restricted to a subset of the realms.
    
    Further optimization of the afs_krb_exclusion() should be performed to
    remove the need to re-read the file.  This patch should be considered
    a temporary solution until a more permanent set of extensions to the
    PT database and RPCs allow for the assignment of mechanism specific
    aliases for PT IDs.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    correction to exclusion list parsing

commit f9f9894a2c4d98b60f68ef811e7827e67b2dfe88
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 14 05:39:56 2005 +0000

    windows-ansification-20051214
    
    
    use modern function declarations

commit 8204b5968c0181e094f8369b94c5a4cf1a9de04a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 14 05:32:55 2005 +0000

    windows-rpc-warning-20051214
    
    
    If osi_InitDebug() fails due to RPC_S_NO_PROTSEQS, log to the afsd_init.log
    file a warning indicating that the registry should be examined for a
    misconfiguration of Windows.

commit b99bd38da60f374a03382090fdaae906a00c8428
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 14 05:29:28 2005 +0000

    windows-fs-setserverpref-vldb-20051214
    
    
    prevent a panic condition if "fs setserverprefs -vlserver" is executed
    more than once before the vlserver is associated with a cell.

commit aa2c784b5902691ec56103394c6725d7af6eaaa5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 14 05:27:09 2005 +0000

    windows-registry-20051214
    
    
    Change all of the daemon check interval values so they can be set
    via the registry.

commit 5d2b5780c463af51ffa264386daff210c633263f
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 14 01:36:05 2005 +0000

    retire-cat-pages-20051213
    
    
    These can go now that we have POD versions of, in most cases, newer
    versions of the same documentation.

commit f64a78e7013ebafd9ce4a0a50822a6087ff62f6c
Author: Russ Allbery <rra@stanford.edu>
Date:   Wed Dec 14 01:30:20 2005 +0000

    man5-editing-pass-20051213
    
    
    This completes the first editing pass of the man pages.  Very little
    content editing has been done, but the server and client versions of
    various man pages have been combined into a single man page for the
    file (affects CellServDB, ThisCell, NetInfo, and NetRestrict), the
    descriptions of the various AFS cache files have been combined into one
    afs_cache man page, and the descriptions of the two butc log files have
    been combined into one butc_logs man page.
    
    For man pages for databases with two files, symlinks are now created on
    installation for the secondary file name.
    
    All of the man pages should now be ready for public review, additional
    editing and cleanup, and content editing.

commit 68900af5e7dc40a52043d499eaa3babae992f8b9
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Tue Dec 13 21:58:49 2005 +0000

    fix-cbd-20051213
    
    
    The attached patch makes the cbd program (the stand-alone version of
    the fileserver's callback.c) work again.
    
    (Now I expect 99% "what's that?" and 0% "what a relief!" reactions. As
    a reminder that's one of the things you might go hunting for after a
    'kill -XCPU' to the fileserver - this program is probably used
    infrequently but the older you get... )

commit ab4abf15fef60308b982c73b6d1a17fa60577120
Author: Russ Allbery <rra@stanford.edu>
Date:   Tue Dec 13 19:21:13 2005 +0000

    man8-editing-pass-20051213
    
    
    This completes the initial editing pass of the section eight man pages.
    Only small amounts of content editing has been done.  Some known problems
    have been noted in README, but there will doubtless be others, as well as
    some lingering formatting problems.  However, the quality should now be
    good enough for general public review.
    
    Some of the section eight man pages were really supposed to be section one,
    the package apropros and package help commands are too useless to document,
    and a few of the difficult-to-name section five man pages have now acquired
    names.

commit cd6e2b99298bbb12d09b92b6b86de7f811f4e803
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Sun Dec 11 18:57:15 2005 +0000

    netbsd-statvfs-20051211
    
    FIXES 22905
    
    NetBSD 2.1 doesn't have statvfs, but the version numbering scheme changed
    so the test was getting this wrong.

commit a6c0532569e401f125f62639bf9e2c5c0092edf0
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Dec 10 18:47:40 2005 +0000

    multiple-local-realms-fix-20051210
    
    
    The krb.excl paths need to be defined for Unix as well.

commit 77d0369d3bdeab78b02f306644ddb6133e1a1484
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Dec 10 18:28:03 2005 +0000

    linux-srcdir-mapfile-20051210
    
    FIXES 23317
    
    Look for the shared library mapfile in ${srcdir} on Linux to allow for out
    of srcdir builds.

commit d60224477f13bbf6a16d9582040e38d539859518
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Dec 9 16:43:14 2005 +0000

    man-page-readme-20051209
    
    
    Initial documentation for the man page project, including initial notes
    on conversion, a start at a formatting guide, information on how to
    contribute, and an initial issues list of things I happened to notice
    while editing the section one pages.

commit 7b5bfb1c1793c488fff06fc9014119a286ec86a7
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Dec 9 14:50:02 2005 +0000

    man-page-reorg-20051209
    
    
    Generate the man pages in man1, man5, and man8 subdirectories rather than
    directly in the doc/man-pages directory to reduce clutter.  Add a
    .cvsignore to reduce noise.

commit 03b9fcc8834bfaaac069b27c0cd919934b68e833
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Dec 9 14:48:56 2005 +0000

    man1-editing-pass-20051209
    
    
    Complete an initial editing and cleanup pass for all section one man pages.
    Fix various conversion problems, formatting inconsistencies, and obvious
    problems.  Please note that no editing for content has yet been done; this
    is solely editing for formatting and correct conversion to POD.
    
    Also, add some additional section five man pages that were omitted from the
    first conversion run due to unusual file names, and globally replace
    CAVEATS with CAUTIONS in the man pages to match the original section name.
    
    The section one man pages should now be in reasonable shape and ready for
    additional review and further updates, although there are probably still
    remaining obvious problems.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    This file got the wrong name when it was originally committed.  Fix.

commit e3dfba8e6c10c296c09e9b0ac0c0355658ce0be7
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Dec 8 12:14:33 2005 +0000

    man-page-conversion-20051208
    
    
    This is the initial conversion of the AFS Adminstrators Reference into POD
    for use as man pages.  The man pages are now generated via pod2man from
    regen.sh so that only those working from CVS have to have pod2man
    available.  The Makefile only installs.  The pages have also been sorted
    out into pod1, pod5, and pod8 directories, making conversion to the right
    section of man page easier without maintaining a separate list and allowing
    for names to be duplicated between pod5 and pod1 or pod8 (which will likely
    be needed in a few cases).
    
    This reconversion is done with a new script based on work by Chas Williams.
    In some cases, the output is worse than the previous POD pages, but this is
    a more comprehensive conversion.
    
    This is only the first step, and this initial conversion has various
    problems.  In addition, the file man pages that didn't have simple names
    have not been converted in this pass and will be added later.  Some of the
    man pages have syntax problems and all of them have formatting errors.  The
    next editing pass, coming shortly, will clean up most of the remaining
    mess.

commit 71f9628a437e0ac7b9b9754d71c06ca5c3408061
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Dec 8 01:01:30 2005 +0000

    viced-multiple-ports-per-client-20051208
    
    
    this patch replaces the single address in the Interface structure
    with an AddrPort structure.  This enables the servers to send
    messages to the correct port if the port on the Interface does not
    match the port stored in the client itself.

commit 151ac6c167e30ab0a5c22e95ff48d837d4e08cba
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Dec 7 12:01:32 2005 +0000

    windows-afsd-service-20051121
    
    
    add logic to process VNOVNODE in cm_Analyze.  Force re-evaluation of symlink
    strings and flush the stat cache entry.
    
    force the use of new rx_connections when the server is marked down.
    
    prevent server objects from being freed if user preferences are set.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    improvements to VNOVNODE fix

commit 78bc041fe6349136bf186e90a727566892584210
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 15:18:08 2005 +0000

    linux-26-390x-update-20051201
    
    
    add linux26 version for symlinks

commit 49f0f7bb0ee04b6f80a4f84dbfd00dbf8f274ac2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 07:36:35 2005 +0000

    macos-103-20051201
    
    
    last fixes i swear

commit 3cccddb31f04deefbc20a52f95aabfa9e12853e5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 05:42:27 2005 +0000

    macos103-20051201
    
    
    one more fix

commit 72e221c0c164557d4eac98d982370ca925085f96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 05:19:00 2005 +0000

    macos-103-packaging-20051201
    
    
    fix packaging script for 10.3

commit 05db09ada10f83666a8d46e734d26656e99397f2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 05:09:32 2005 +0000

    volume-callback-fix-20051201
    
    
    fix rainer toebbicke's callbacks vanishing issue. this was probably my fault merging

commit 8887021eee01111f10e57db19885ace53ad46850
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 1 04:13:18 2005 +0000

    macos10-fstrace-catalog-20051130
    
    
    package the fstrace catalog correctly for osx

commit 9c3c2428250a8fd78af66fe8d5d6c467e8599b1d
Author: Mike Garrison <mcgarr@umich.edu>
Date:   Thu Dec 1 04:02:23 2005 +0000

    files-per-subdir-math-error-20051130
    
    FIXES 23811
    
    use a bitshift instead of xor(!)

commit 421e063d9b6500299b5e02b999b22c01dcc7c496
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Dec 1 03:57:49 2005 +0000

    freepackets-cbuf-leak-20051130
    
    FIXES 23143
    
    at least i'm guessing it fixes that one
    fix memory leak for multilevel packet queue stuff

commit eeee5a9e14a693538a62565483db8f1b3d46cc99
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 30 06:39:40 2005 +0000

    windows-afskfw-20051130
    
    
    correct the construction of the client name (with realm) when krb524
    is being used.

commit ae2f1d3f68266a47d04b62fab577ada30990732c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 29 07:00:19 2005 +0000

    rx-lock-leak-20051128
    
    
    Fix a lock leak introduced when adding thread local packet queues.

commit d94337feafeabe053d8fa4c6296ef776e4fd2597
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 29 06:52:03 2005 +0000

    macos103-update-20051129
    
    
    make the kernel module work too

commit efeedc4ac12632c619d1d4d719beac22478e14cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 29 04:58:49 2005 +0000

    macos-103-update-20051128
    
    
    roll up fixes for 10.3

commit 003667acda60ed5ec9397a4a1c02a37d51dc74e4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Nov 29 04:12:11 2005 +0000

    solaris-sparc32-largefile-20051128
    
    FIXES 23296
    
    
    readd largefile support for solaris sparc32

commit 390fd697a05fc51ddc5e7789b210736838780da4
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Nov 29 03:40:58 2005 +0000

    h-enumerate-r-safety-20051128
    
    FIXES 23336
    
    needs further testing, configure a low number of callbacks and hit the server.

commit bb7b7cef7916787f55f51a6dc070e1fa4ca08021
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Nov 29 03:09:24 2005 +0000

    linux-afs-put-inode-dont-race-20051128
    
    FIXES 23318
    
    hold lock across refcount check. oops

commit 030ecf1af9773c0e058ded784dd096fc886fd6d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 23 05:00:34 2005 +0000

    windows-locks-uninit-20051122
    
    
    Initialize 'code' to non-zero at the top of each loop to avoid
    setting the last updated timestamp on skipped locks

commit 5ce322c9f13522cf96addaf09804021c6d78b22f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 22 00:36:31 2005 +0000

    windows-drivemap-renewal-20051121
    
    
    When afscreds.exe performs a drive map renewal it should not delete
    all existing drive mappings.  This undoes the efforts of the AFS
    logon network provider and any persistent mappings created with the
    explorer shell.   This patch extends the interface to provide a mode
    in which DoMapShareChange does not remove unknown drive mappings.

commit 81365856ce91121c82969f97c1e79d34d30da648
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 22 00:31:44 2005 +0000

    windows-date-representation-20051121
    
    
    change date representation to yyyy-MM-dd HH:mm:ss so that it sorts
    properly

commit 3e6fdd48937b91fe9ec1322d2f89648fe8f6088d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Nov 22 00:14:25 2005 +0000

    windows-fetchstatus-logging-20051121
    
    
    remove the cell and include the vnode in the FetchStatus log messages

commit d99995ccfe30bff1f45f5f2e37beee7ac3566f3b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 21 15:51:37 2005 +0000

    windows-wix-update-20051121
    
    
    Wix 2.0.2419.0 changes the way that RadioButton values are specified.

commit 73e126c4c4f44f20e67d8ced8a89558746e87a90
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Nov 19 04:32:47 2005 +0000

    deadvnode-locking-update-20051118
    
    FIXES 22870
    
    change how we do vnode locking to avoid locking on ourselves

commit 54ad6e769e1362ad5a81c0ef91c49babad9a37f1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Nov 19 03:57:54 2005 +0000

    macos-allow-cached-stat-access-20051118
    
    FIXES 23257
    
    allow cached stat info to be accessed for directories where a user has only "l"

commit d3f9842bd4897b1b5c580858c3cb17326900548c
Author: Jim Rees <rees@umich.edu>
Date:   Thu Nov 17 21:03:38 2005 +0000

    print-64-20051117
    
    
    On non-Windows use %llu for 64 bit printf.
    Thanks to Brent Graveland for pointing this out.

commit 35ff383fcf1280b971a3730682d8991e93282e22
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 15 18:43:15 2005 +0000

    obsd-glock-decl-20051115
    
    
    Fix decl of afs_global_lock so you can build with global lock disabled

commit 6f82595a16750a3811526da9b4376a178e90bb49
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 14 06:04:23 2005 +0000

    audit-locking-20051113
    
    
    Add locks around writes to the audit log.  This ensures two writes
    do not interleave.

commit 4127de6c6ef90e28a9f32b40bd6360296cf6e93a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Nov 14 06:00:34 2005 +0000

    network-distance-server-prefs-20051113
    
    
    Use network distance based server preferences for all server types
    not just file servers.

commit bb0d0e7df0b41d34ba48dc28c986b477d68d49e4
Author: Jim Rees <rees@umich.edu>
Date:   Fri Nov 11 20:32:22 2005 +0000

    fbsd-build-path-20051111
    
    
    set default BSD_KERNEL_BUILD for FreeBSD >= 5.0.

commit bdc22ef4d37a35c34c0aa93fff43e6bc4484f7d5
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Nov 9 14:58:29 2005 +0000

    pod2man-update-20051109
    
    
    build when there's no pod utils installed

commit 685ba16a0b9db8cf5df2e875ff9a6e5b72d6539c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Nov 9 03:00:07 2005 +0000

    windows-release-locks-at-shutdown-20051108
    
    
    remember to release all of the locks we obtained from the file server
    at shutdown.

commit dc28ad2b6526faf697346e3ef8bc34e02c199758
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 7 23:42:02 2005 +0000

    hpux-store-fd-sooner-in-iopen-20051107
    
    
    do this a little differently, it may change out from under us

commit ce80f99d7f905ae0928983b6a560f9b8b82c34b7
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Nov 7 19:48:07 2005 +0000

    cellconfig-make-nkeys-littleendian-20051107
    
    
    cellconfig-check-for-corrupt-keyfile-20051007 should convert at least nkeys
    to host byte order before checking anything - fails on little endians
    otherwise.

commit b02d80508faeb9df788089a4cfc5578781efb46c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Nov 6 09:29:36 2005 +0000

    windows-64-bit-type-safety-20051105
    
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    more corrections for use of 64-bit types on Windows
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler
    
    ====================
    
    64-bit type safety changes required for successful compilation
    on Windows 64-bit systems with the VS 2005 compiler

commit 14a373e19cce71ffc32dedf5f241840197381235
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Thu Nov 3 04:10:05 2005 +0000

    cvsignore-updates-20051102
    
    FIXES 22861
    
    add generated files to cvsignores

commit 6792431d289a8bd5cc035907247c3d7b31a9b98c
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Thu Nov 3 04:05:46 2005 +0000

    aix5-warning-error-cleanup-20051102
    
    FIXES 22855
    
    aix 5.1 and 5.2 should also build

commit e240c805e238e803ae910487c9f87ee98f508414
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 2 17:54:44 2005 +0000

    cmdebug-obsd-ce32-20051102
    
    
    OpenBSD has no easy way to printf a 64 bit int so just use PrintCacheEntries32

commit 14a985b93f053896c6cd7b2dce1ed07cbff7df73
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 2 05:30:47 2005 +0000

    hpux11i-64bit-iops-20051102
    
    
    hpux 11i has 64 bit inodes

commit e2c497b0368b13e84e6a6404c3761e28d40f2119
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Wed Nov 2 05:22:39 2005 +0000

    fpq-bulk-free-math-error-20051101
    
    
    fix a math error here

commit c558c12d2b93d6ff664542ea4a667f97c4368588
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Nov 2 00:27:30 2005 +0000

    linux-ia32-offsets-include-change-20051101
    
    
    include these correctly

commit eb39935d4b3bdad5ee64afa0b50deea09a18333c
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 1 18:44:38 2005 +0000

    libafssetpag-bsd-20051101
    
    
    bsd only:
    make a real syscall.o (but with no code)
    build libafssetpag

commit 93cd1ed38932e8ddcedc8d082ab739ba949b90c7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 1 16:42:47 2005 +0000

    hpux-vol-package-cleanup-20051101
    
    
    make inode salvager large partition compliant
    make namei compile cleanly again

commit 8cf272e5f16abfe6b90b01bc613bf7f47bc4336c
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Oct 31 22:12:03 2005 +0000

    windows-tests-winflock-20051031
    
    
    A windows specific file locking test app for exercising the byte range
    locking code.

commit eaa142645227b1af8a7d41f8b9c376ddf789c532
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 30 01:59:57 2005 +0000

    windows-checkserver-fix-20051029
    
    
    the windows client was not treating Verror responses from the server
    as indicating the server as up if they were positive

commit 288886618b347cdd2d4bfaa06a2df18b1a24229e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 29 21:13:43 2005 +0000

    windows-daemon-timers-20051028
    
    
    the daemon up server check was set for 1 hour and not ten minutes.
    
    turned all interval constants into variables so that they can be
    set via registry entries at a future time.

commit 86b23327f8580f3b811b4bdc6734b28a79aa2993
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 27 19:34:44 2005 +0000

    ubik-trans-decl-20051027
    
    
    add missing decl for struct ubik_trans

commit 6b042d4edb7f26358523da9dcdb565ed023e00da
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Tue Oct 25 20:08:02 2005 +0000

    integrate-asetkey-20051029
    
    
    Add asetkey to the OpenAFS tree.

commit 834507571e397dc3a07550ef86ca2c159068d1ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 25 07:30:52 2005 +0000

    tbutc-solaris-and-vos-api-fixes-20051024
    
    FIXES 22063
    
    as tested for this and 22316
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 22316
    
    the rest of this, since i forgot to apply the other file earlier
    oops

commit 2bcece3cfad14f22759b1ec546646be900c3c504
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 25 03:07:50 2005 +0000

    windows-rap-debug-20051024
    
    
    some more debugging messages

commit cc3bbcb8e69dee4fe303e4e6adfed02df830a1b6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 25 03:02:27 2005 +0000

    windows-afsd-makefile-fixup-20051024
    
    
    put back the ifs rules accidently deleted by
    
      cmdebug-merge-20051024

commit 765e8606b9cda1f70f3117b4e1c7397d1ae42690
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 25 02:51:17 2005 +0000

    cmdebug-merge-20051024
    
    
    Merge src/WINNT/cmdebug.c into src/venus/cmdebug.c

commit cfa7b866c8deb876b06fd634d34ecdd30fb9b819
Author: Ervin Fenyak <efenyak@gamax.hu>
Date:   Sun Oct 23 20:05:40 2005 +0000

    add-volupdate-counter-20051015
    
    FIXES 18349
    
    add a volume update counter. danger will robinson. see ticket for details.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add configure gunk
    
    ====================
    
    add configure gunk
    
    ====================
    
    make this happy in libadmin on e.g. solaris
    
    ====================
    
    make this work on Windows

commit e6e293bb899cb027648908d23848ce13901a7503
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 23 07:27:03 2005 +0000

    vnop-attrs-fix-20051023
    
    FIXES 22568
    
    fix code broken in mac merge

commit 47cc7643e1b04bacd858a3893accab8c377b34ac
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 23 01:31:28 2005 +0000

    windows-mkdir-root-exists-20051021
    
    
    If a request is received to create the root directory of a device,
    return CM_ERROR_EXISTS instead of CM_ERROR_NOTFOUND for the nul-string
    file name.

commit 3491c0ffc559ac39fd861ff4c31bd1b4c0d94201
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 22 07:43:09 2005 +0000

    macos-build-dmg-20051021
    
    
    probably this script should take an argument which is the version string to use, and use it in the volume name and dmg name
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    probably this script should take an argument which is the version string to use,
     and use it in the volume name and dmg name

commit 9e1a0f8a0d5e77a490992ace7a2d7839a361c661
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 21 00:32:40 2005 +0000

    viced-audit-createfile-20051020
    
    
    add the FID of the created file to the audit output for CreateFileEvent

commit 1b7cbd1211ff12c983452e03ea0689360e1478d2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 20 06:09:08 2005 +0000

    windows-notes-20051019
    
    
    updates

commit 8b0b064f7ec60d8b5913248c97553ce3b7fdb775
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 19 21:10:52 2005 +0000

    window-largeint-20051019
    
    
    The large integer support was applying a <<32 to a 32-bit value.
    This is an undefined operation.

commit a92aa204855b6459ac483f0dd5b704b4a52edec8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 19 07:57:52 2005 +0000

    windows-rxkadunknownkey-20051019
    
    
    report RXKADUNKNOWNKEY as SEC_E_NO_KERB_KEY

commit 9f0f50a2b165392fc0a62f82d8c54e35108ab429
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 18 21:52:47 2005 +0000

    windows-locking-error-codes-20051018
    
    
    cm_Lock(), cm_RetryLock() should not interpret servers be unreachable as
    a sharing violation.

commit a923af27265c8d0aa359d57c8c47b50eb0dbeee3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 18 21:50:06 2005 +0000

    windows-ip-change-20051018
    
    
    add a monitor to watch for IP Address changes.  When a change is detected,
    wait 2.5 seconds for things to settle down and then check to see if down
    servers are reachable.

commit f48eb4ab590f25162f45a1671ad0917c6ebceeee
Author: Jim Rees <rees@umich.edu>
Date:   Tue Oct 18 16:53:06 2005 +0000

    libafssetpag-temp-fix-20051018
    
    
    Define SHLIB_LINKER for [fno]bsd
    Don't try to build LIBAFSSETPAG for [fno]bsd

commit 5cd3d016fdbc6d14c6ac942b0b4e3e92a09755c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 18 16:29:59 2005 +0000

    windows-error-codes-20051018
    
    
    handle the CM_ERROR_ALLDOWN case when translating cm errors to nt status

commit d16fb72074a3e81ad5ce295fbc49fa8707852545
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 17 22:28:12 2005 +0000

    windows-fw-service-test-20051017
    
    
    Do not perform Firewall Configuration if the firewall service is not installed

commit 1ed8428d1e4710594a299d9e6d765a1bb414cb2a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Oct 17 21:45:39 2005 +0000

    irix-no-xfs-checks-for-namei-20051017
    
    FIXES 22435
    
    don't do inode checks when using namei

commit cd98a20f1c9e89eb44ef5c5349337292bd3ba243
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 17 20:31:31 2005 +0000

    windows-firewall-configuration-20051016
    
    
    Windows Firewall Policy cannot be accessed by a service unless from the
    Service Manager thread nor until the service is in a RUNNING state.
    Firewall configuration moved to cm_Daemon() thread.

commit 8922ad369e1df7d9a983986b4eafe19153da55ae
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Mon Oct 17 20:00:38 2005 +0000

    rename-afssetpag-dot-map-to-mapfile-20051017
    
    
    The Solaris/Linux symbol export files must be named "mapfile" (see the
    definition of SHLIB_LINKER for Solaris).

commit d5a7daef3c6b91782a3779f00b7b9cb9292c352d
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 17 18:49:53 2005 +0000

    struct-socket-20051017
    
    
    rx_prototypes.h needs struct socket now

commit 3437c1ad7b15eef9c1e33f936ac500b360e1ff9c
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Sun Oct 16 01:55:59 2005 +0000

    cellservdb-update-20051015
    
    
    15 Oct 2005

commit 1968364520eb35b16b676a0a4abe7461da8ba87d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 15 22:51:28 2005 +0000

    rxgen-server-prefix-prototypes-20051015
    
    
    When producing prototypes for server side functions, use the correct
    prefix as specified in the input file.  If there is no prefix, then
    do not output the prototypes as they will collide with the client
    side stub prototypes.

commit 51fa307a0011d3ca27e6199631e1b2bdc75a9f50
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 15 22:45:43 2005 +0000

    windows-universal-error-handling-20051015
    
    
    properly interpret the universal error codes

commit 19f1c37c067b0820236f0cdc53c3e7577a3ae7ca
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Oct 15 17:25:21 2005 +0000

    shlibafssetpag-20051015
    
    FIXES 18745
    
    implement {sh,}libafssetpag

commit 7d0647d5ee9ae0d9b003f0e0c765522aa1433d23
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Oct 15 16:51:09 2005 +0000

    linux-write-dirty-pages-once-20051015
    
    FIXES 20561
    
    this time for sure, only write back once

commit 0f422eae1934a55e666c2f4d8968713fd02ad5f0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 15 16:40:14 2005 +0000

    default-largefile-on-20051015
    
    
    turn on largefile fileserver by default

commit 2699810c91aa883c51535e05f86c30bd7b665c2b
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Oct 15 16:22:15 2005 +0000

    afsd-no-logfile-20051015
    
    FIXES 18662
    
    remove afsd logfile parm

commit 16546f6826c4fac2a096840116277f913b861d85
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Oct 15 16:07:44 2005 +0000

    shlib-rationalization-200510155
    
    FIXES 18767
    
    make use of the export map. set a useful soname.

commit 351a1e3d512dae952c5dcdaf4c818582a2450e85
Author: Russ Allbery <rra@stanford.edu>
Date:   Sat Oct 15 16:00:57 2005 +0000

    pod-man-pages-20051015
    
    FIXES 19268
    
    add pod generation of man pages

commit 3d96fdb1825bd8c6bf76c11ed2fa5dc8f56aa532
Author: Frank Burkhardt <fbo2@gmx.net>
Date:   Sat Oct 15 15:54:28 2005 +0000

    cellconfig-afsdb-use-dots-20051015
    
    FIXES 20908
    
    do lookup postpending a .

commit 4f5ab395d66a287eb262d67a4935e928691c4cd7
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Oct 15 15:42:17 2005 +0000

    darwin-x86-20051015
    
    FIXES 20130
    
    add support for x86 darwin

commit 78eefa1c032e6e29fba1b90f4c1f8d76b91d973a
Author: Greg Hudson <ghudson@mit.edu>
Date:   Sat Oct 15 15:37:10 2005 +0000

    aix-afsdb-20051015
    
    FIXES 20801
    
    fix earlier issue with aix afsdb fix

commit 7c8cf708a06d810bba065e2a49d6ed80e754e1a9
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Sat Oct 15 15:23:05 2005 +0000

    aix-warning-cleanup-20051015
    
    FIXES 21066
    
    clean up aix warnings. hint that large file support works

commit 1c990adad6b654170849ccdaa1e5476d6caba9b4
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Sat Oct 15 15:16:07 2005 +0000

    nbsd20-amd64-20051015
    
    FIXES 21562
    
    add amd64 netbsd 2.0 support

commit f3d6141262e32e788838afee5e6c7a277ce3d029
Author: Love Hörnquist-Åstrand <lha@it.su.se>
Date:   Sat Oct 15 04:42:47 2005 +0000

    viced-help-abortthres-20051014
    
    FIXES 22070
    
    add help for abort thresshold switch

commit a5f2ec497d2c3452d795aa1d98309414c2d8c0e7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 15 04:36:57 2005 +0000

    windows-check-locks-logging-20051014
    
    
    add a log message so we can tell how long it took.

commit ee1435d516a31e8ec2d07ec9021bf032ac12f9cd
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Sat Oct 15 03:32:06 2005 +0000

    newvcache-can-fail-now-20051014
    
    FIXES 22260
    
    allow newvcache to fail without ooping
    
    sort of nasty, if you want more vcaches, say so.

commit 2a4a4f417dd4193df9e0a3deae14aacd3f94ccb1
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Sat Oct 15 03:12:17 2005 +0000

    java-update-20051014
    
    FIXES 21930
    
    update java afs classes

commit 410514dc6da0f9ff810668b5c75174e1ed6e4912
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 15 03:03:53 2005 +0000

    hpux11-no-kthread-iface-20051014
    
    
    11.0 lacks this header.

commit 012f413e4e35fce33a3039df7611c3ea3b66aeca
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Oct 15 02:42:14 2005 +0000

    solaris10-fs-find-afs-vnode-20051014
    
    
    find the real vnode so cheating on solaris 10 will work

commit a9fd6619a4e74930ae27744f95f04fefabaa6c9f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 15 02:18:34 2005 +0000

    rxgen-multi-prototypes-20051014
    
    FIXES 22349
    
    generate prototypes for split stuff when the stub is multi

commit 5487535dfc97bc78755737e05757b786637f4a81
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Oct 14 22:26:29 2005 +0000

    linux-objdir-kernel-builds-20051014
    
    FIXES 22352
    
    allow objdir kernel module builds to work again

commit 41fe908bead6b30e41fd9e4f5084cd5e1dc3ca4a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 14 12:18:15 2005 +0000

    windows-pattern-matching-20051014
    
    FIXES 4623
    
    Pattern matching was broken.   '?' should match zero characters if it
    appears before a '.' or at the end of the file name.

commit ec38f9ed3236005114292f08d1c77891aa3a36d3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 14 04:25:04 2005 +0000

    windows-locking-init-req-20051013
    
    
    two cm_InitReq() calls were in the wrong place opening the possibility for
    stack corruption

commit ae7d5f250d96b7350ee369a74f71a89d646ddccc
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 13 21:59:13 2005 +0000

    solaris10-afsd-waitpid-to-clean-contract-20051013
    
    FIXES 22317
    
    it seems like this might be a bug in solaris10 when handling contracts
    of exiting chilren who have created kernel threads.  the rxlistener is
    a kernel thread on solaris and the child that starts the kernel_thread
    returns and exits.

commit ed46ac49431f26e7063359ac96b174d1e7ec49e5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 13 20:55:35 2005 +0000

    macos-cleanup-20051006
    
    
    let's revert and try this again
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    try this again
    
    ====================
    
    try this again

commit f49876b8cb2acb94accda10d190c6cfe41a16b81
Author: Loïc Tortay <tortay@cc.in2p3.fr>
Date:   Thu Oct 13 19:25:05 2005 +0000

    solaris10-nfs-really-20051013
    
    FIXES 22318
    
    fix array size so this all works

commit bb33cbb6eb15664ff56ec5e93d95888878af3d7a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 13 16:12:00 2005 +0000

    macos-rollup-20051013
    
    
    incorporating STABLE14-macos104-20051005 STABLE14-macos-cleanup-20051006 macos-cleanup-20051006 macos-cleanup-20051007 from the 1.4.x branch, which needed to be forward-ported to work here, sadly.

commit b5f47e6d1574a6b267ece2d35f9d8d5a08414d7b
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Oct 12 07:15:39 2005 +0000

    solars-sparc32-largefile-20051011
    
    
    readd largefile support for solaris sparc32

commit 981b6352250d3bd279cf9bacda4045ca673efa60
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Oct 12 07:09:35 2005 +0000

    solaris10-ugly-avoid-ENODEV-hack-20051011
    
    
    fix this a better way,  rolling bsack earlier change

commit 4e763d07cf510c3a12f2c12bf21c3ec25579b021
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 10 23:21:29 2005 +0000

    windows-ticket-lifetime-20051010
    
    
    The lifetime parameter is in minutes so treat it that way.

commit f578cae38600970ad6b4da91f2f7b6c0f28a12c6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 9 03:52:33 2005 +0000

    macos-missing-files-20051008
    
    
    add files missing after merge

commit 2b4cbfe09beff325862f377bb509ce3515ad221b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 8 15:13:25 2005 +0000

    windows-release-notes-20051008
    
    
    Update description of Product ID generation.

commit 8299e102c71ae0f3d04c17e089e8f960a7c2bb7e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 8 04:57:34 2005 +0000

    rx-tq-waiter-rework-20051007
    
    
    Only Broadcast to wake threads if there are threads waiting.

commit 2dcb1cdc3d6f10b366d2b93970f5f1f83287e157
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 8 04:49:50 2005 +0000

    windows-byte-range-locks-20051007
    
    
    There was a race condition associated with maintaining the
    CM_FILELOCK_FLAG_CLIENTONLY flag on locks bound to scache entries
    for Read Only volumes.   Therefore, we remove the use of the flag
    and simply test the RO status of the scache entry.

commit 3b290d5b7972c589000837ea34f3ccbe047d36e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 7 21:11:01 2005 +0000

    dedebug-20051007
    
    
    perhaps this should never be pulled up.
    
    anyway, implement dentry cache status dumping for linux. and provide a tool to dump it
    
    disabled (tool, not rpc) by default
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    perhaps this should never be pulled up.
    
    anyway, implement dentry cache status dumping for linux.^? and provide a tool to
     dump it
    
    disabled (tool, not rpc) by default
    
    ====================
    
    perhaps this should never be pulled up.
    
    anyway, implement dentry cache status dumping for linux.^? and provide a tool to
     dump it
    
    disabled (tool, not rpc) by default

commit 57134019771652937047519c4efd5f17b733190e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 7 20:30:21 2005 +0000

    viced-take-offline-on-ihopen-fail-20051007
    
    
    when IH_OPEN fails, we should take the volume offline so it will be salvaged

commit 4a2c3ed5ed878350199350598614bb5f82cf965b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 7 20:29:30 2005 +0000

    solaris10-nfs-trans-update-20051007
    
    
    partial nfs translatlor update for solaris 10

commit 57e0d7e02d486c76f2004227f2918a92847377cf
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 7 20:24:16 2005 +0000

    solaris10-ugly-avoid-ENODEV-hack-20051007
    
    
    we need to fix this another way but put it here for now

commit f7bc43154dc81503b0f6fba9c9135d8926d16ceb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 7 20:18:21 2005 +0000

    cellconfig-check-for-corrupt-keyfile-20051007
    
    
    don't crash when we have a corrupt keyfile

commit 602f2ae816208f49e08667c65a3eee42ecc39041
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Oct 7 18:22:19 2005 +0000

    linux-cv-init-20051007
    
    FIXES 20114
    
    fix the CV_INIT macros

commit 465273f096b1a1720ca07638537fd4c65d7d1d8d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Oct 7 03:09:48 2005 +0000

    windows-busy-vs-offline-20051006
    
    
    Discovered a failure in the state machine.  There was no method of
    distinguishing between all servers being Down (which is handled by the
    background thread) and all volumes being offline (perhaps due to a move).

commit e8ad124c1622ab8a128b801a662db57ef587af68
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Oct 6 18:29:44 2005 +0000

    windows-lock-count-fix-20051006
    
    
    lock counts were not being reduced on file close when the lock was lost.

commit 8445720d36474797b67341991f15771dcb90b236
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Oct 6 14:48:58 2005 +0000

    windows-byte-range-locks-20051006
    
    
    Do not mark locks lost simply because the ExtendLock failed.
    A lock is only lost if the server responds with EINVAL indicating
    that the lock no longer exists. A lock can be renewed by other clients
    that are also using the file.  The client can make no assumptions about
    the status of a lock based upon the passage of time.

commit b9b6cb7c25cb3bcd4d34d1a52a7915c9ba46df06
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Wed Oct 5 14:32:29 2005 +0000

    windows-wix-product-id-20051005
    
    
    As the file name of the OpenAFS installer changes with each release,
    so must the Product ID (but not the Upgrade ID).  Therefore, do not
    hard code the Product ID in the Makefile, instead auto-generate it
    as part of the installer.

commit b7d63fe7389e1b984bf29ef680f791837fe63386
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Oct 5 14:22:35 2005 +0000

    windows-byte-range-locking-20051005
    
    
    Return the actual locking error such as "access denied" due to lack of 'k'
    privileges instead of a sharing violation.

commit 248c22dd15e11ed0ef233a387cb4c1578fe8d71c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 4 18:44:22 2005 +0000

    windows-exports-20051004
    
    
    remove duplicate exports

commit 83d0b569ee0a05d7a0e96de93c73a1be0813e3fa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Oct 4 04:16:36 2005 +0000

    windows-rxstats-20051003
    
    
    strip the pioctl path from the input before reading the flags

commit e12837391e2dbbf0cf113f9af64c4daeef6680a3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 3 05:03:39 2005 +0000

    windows-afscreds-20051002
    
    FIXES 22032
    
    Extend the fields so that more text can be displayed regarding the tokens.

commit abde1e6281ff1403e67c6f573dd10be4c892fb9a
Author: Joe Buehler <jbuehler@spirentcom.com>
Date:   Mon Oct 3 04:13:26 2005 +0000

    linux-rc-wait-for-salvager-20051002
    
    FIXES 21754
    
    rc file hack to wait for salvage to finish

commit 543e49eaaea2290c4239dd79864384f11adb2607
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 3 03:54:44 2005 +0000

    memcache-set-default-write-size-20051002
    
    
    based on comment from chas williams. set the default write amount as is
    done for ufs cache writes

commit aee18ed884d2af05174594120ba1825bfe76c96a
Author: Joe Buehler <aspam@cox.net>
Date:   Mon Oct 3 03:44:42 2005 +0000

    hpux-build-updates-20051002
    
    FIXES 21722
    
    ndir.h has been changed. also, pthreads header doesn't match how we used it

commit cb39d44cf56f51d6a14a6ba61f4b0662719aac8e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 3 03:29:45 2005 +0000

    windows-release-notes-take2-20051002
    
    
    place the text in the correct section

commit 6a643ba40a75ed0a03ddf6986eb6bdd485335f6d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 3 03:17:56 2005 +0000

    windows-release-notes-20051002
    
    
    Document registry entries for RX stats gathering

commit 43693952e7d7a2f7948940ab4376547ba691562b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Oct 3 01:22:53 2005 +0000

    windows-notes-20051002
    
    
    changes for 1.4.0 rc6

commit 28b99d753cbb5ff1dd527a93c8c6ee9c5c5011dd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 15:48:25 2005 +0000

    windows-shell-ext-default-buttons-20051002
    
    
    many of the shell extension dialogs did not have default pushbuttons
    specified which would result in an undesirable end user experience

commit f8bdf475e2260f8c8d70a4ddc053ef3ec086a416
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 15:46:13 2005 +0000

    windows-shell-ext-prevent-unload-hack-20051002
    
    
    The shell extension is unloading as it should but is never being loaded
    again.  Since we have no clue why and no idea how to debug it, for now,
    just prevent it from being unloaded in the first place.

commit c0013b2513b206edded080f0a4cea6e7e96ab281
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 10:07:16 2005 +0000

    windows-shell-ext-server-status-20051002
    
    
    Fix the server status dialog to properly call CheckServers and
    fix CheckServers to properly construct the data structure for the
    pioctl call.

commit f3e2cdb5260e49d5335d37fdab909d360bbe7102
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 07:04:36 2005 +0000

    windows-rxstats-20051001
    
    
    Add interface to rxstats api

commit bc536e32afbd921ff7be5065f92ec397ab7a2406
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 06:52:28 2005 +0000

    windows-afsrpc-exports-20051001
    
    
    Add missing exports

commit e06475ff424f416086a1b859eb658e0f2ac9ed13
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Oct 2 05:45:27 2005 +0000

    windows-afs-shl-ext-rc-20051002
    
    
    The DownServers dialog had the wrong resource id associated with the
    listbox.

commit 2b1604240e664da572df922aa84b15b717fcd8ec
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Oct 1 13:10:41 2005 +0000

    windows-fs-exa-20051001
    
    
    Add reporting of the FID, cell, owner and group to the output of "fs exa"
    (on Windows only).   There is no other means to obtain this data from a
    Windows client.

commit 46e260b9e72925f9f5b2e5cee3159d4c6b02fc05
Author: Matthew Loar <mloar2@uiuc.edu>
Date:   Sat Oct 1 05:50:44 2005 +0000

    windows-afscreds-20050930
    
    FIXES 21958
    
    For the afscreds program on Windows, if you right click the system tray icon
    to display the menu and then click on the taskbar, the menu is not hidden,
    but instead is covered by the taskbar.
    
    This is a common issue documented at
    http://support.microsoft.com/default.aspx?scid=kb;en-us;135788.

commit f1454a2885c410f5e886fa136a61c70cc06d42df
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Sep 29 21:34:55 2005 +0000

    solaris-init-offset-for-write-20050929
    
    
    passing a random nlen into afs_GetDCache() when in write mode
    seems to sometimes trigger overwrites.

commit 49ee8b5cfc44964d0305f2e1cc6b4d5d4ab8b028
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Sep 29 05:42:31 2005 +0000

    makefile-dependancies-20050925
    
    FIXES 21859
    
    add missing dependancies to make it explicit who needs what

commit 69a5db9fda91d5fc7becb85980f2f0595ebe7ed5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 27 05:37:37 2005 +0000

    windows-nsis-20050926
    
    
    Install a Documentation Shortcut as part of the client install.
    It is independent of the Supplemental Documentation which is not
    required for the release notes.

commit f2674a3d45dfe83efb5c0647e22e25f42c553d13
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 27 04:13:31 2005 +0000

    windows-notes-20050926
    
    
    more changes for 1.4.0 rc5

commit a1e9273ded1993c528576102fca290663854e0c8
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Sep 27 03:40:16 2005 +0000

    windows-wix-docs-20050926
    
    
    Match the documentation location of the NSIS installer.

commit 1512b602134bf46d78671628e438a5b7f9155524
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 27 01:35:21 2005 +0000

    windows-release-notes-20050926
    
    
    Document MSI Product Codes

commit 54ce3cf1e76210aef198f7ca90c7eaeae9d6c484
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 27 00:30:33 2005 +0000

    windows-installer-guid-20050926
    
    
    New GUIDs for the 1.5 branch:
    
    amd64_w2k   {A0A7B986-CF35-499c-9400-9A987F218127}
    i386_nt40   {93AFD8F0-C150-47bc-B318-A029222D8993}
    i386_w2k    {E832F832-C937-46bc-8C1D-BC7EF6F3F62F}

commit 0632bcbdabec3536582632097194abb65c36bf95
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 04:13:16 2005 +0000

    windows-issues-20050925
    
    
    update the outstanding issues list

commit 06c41102b4b1ee1f120aa4d8f2081ab7ed24d720
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 04:10:42 2005 +0000

    windows-notes-20050925
    
    
    document changes for 1.4 rc5

commit a5ec94485bf57826c09be0a3fa44ae610e1cc7e8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 03:51:41 2005 +0000

    windows-index-title-fix-20050925
    
    
    Fix the title to read OpenAFS instead of IBM AFS

commit 7a3dd6f807beb3f516bcbcbe5cb2523fcd464c62
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 03:32:23 2005 +0000

    windows-nsis-install-c-20050925
    
    
    remove the new docs from non-en_US installs.
    We need to find someone to perform language conversion.

commit cd8126f56c27848add91bb1e323ab40457472748
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 03:14:49 2005 +0000

    windows-nsis-install-b-20050925
    
    
    oops, missing '\\'

commit 93b2789e897c707e37dfaac3a039773e681cdf7f
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Mon Sep 26 02:19:01 2005 +0000

    windows-wix-install-20050925
    
    
    Add new HTML release notes to MSI

commit da213bfa2904bdb3899982640822e9434d515b6c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 02:10:05 2005 +0000

    windows-notes-remove-20050925
    
    
    remove files whose contents are now maintained in the HTML files
    src/WINNT/doc/...

commit a2e39eb0f239da83dc438806bcb0b4a5ee5e88d8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 01:47:25 2005 +0000

    windows-nsis-install-20050925
    
    
    Update the installer to always install the release notes.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add all of the new directories

commit 2c599161dbb255edee27c4fc176a8011408f2b47
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Sep 26 01:18:00 2005 +0000

    windows-release-notes-20050925
    
    
    Update the installed documentation to include the new OpenAFS for
    Windows release notes.   No IBM documentation is being removed but
    the top level index page has been re-written to indicate that the IBM
    docs are out of date.   The new OAFW Release Notes have been added to
    the ReleaseNotes with a link.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Fix the link to the OAFW notes.
    
    ====================
    
    fix the links to point to .htm instead of .doc

commit 4e49cb6fcf340a74c68520476ceec598180b8134
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 23 15:55:38 2005 +0000

    revert-aix-afsdb-20050815
    
    FIXES 20801
    
    revert this until it's corrected.

commit 9c7f6fa17209ce8cfbe73eefbcbb37aced31cc60
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Wed Sep 21 16:13:28 2005 +0000

    pthread-glock-volatility-20050921
    
    FIXES 21526
    
    deal with situations where pthread glock assert happens by asserting volatility. ick.

commit fbba9553640a785bc449672d60870a6fcd043436
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 21 01:33:42 2005 +0000

    rx-send-error-code-propagation-20050916
    
    
    corrections to rx-send-error-code-propagation-20050915 for bsd

commit 664c5f83fea216fe8e1213ba50cf955dd5d768a2
Author: Joe Buehler <aspam@cox.net>
Date:   Wed Sep 21 01:02:42 2005 +0000

    aix-export-h-20050920
    
    FIXES 21723
    
    make sure we include our export.h and not the one from nfs.

commit cc8cfd47bc506396501c9bd2225dd907567e36b7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Sep 20 00:24:26 2005 +0000

    windows-icons-20050919
    
    
    Associate the OpenAFS icon with the Control Panel and Service and
    the installers

commit 277c3b4ecf11398457c617ecd63e6c7f1a52fd1c
Author: Stephan Wienczny <Stephan@wienczny.de>
Date:   Mon Sep 19 04:39:13 2005 +0000

    linux-no-pf-freeze-20050908
    
    FIXES 21424
    
    new enough linux has no PF_FREEZE
    
    sigh

commit 8aef0475415d2b67721b06aaad6a6aa47b3f2bf8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Sep 17 20:59:22 2005 +0000

    windows-rx-debug-tid-20050917
    
    
    add the thread id to the rx debug output

commit 18bb5faec22ac8c000b7964eef635a1213500654
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 16 04:24:30 2005 +0000

    windows-servers-all-down-do-not-retry-20050915
    
    
    remove the logic in cm_Analyze that performs a flush of the server
    data and retries when all of the servers are marked down (aka ALLOFFLINE).
    Instead return an immediate error to the caller.  The servers will be
    checked by the background daemon thread and made available when they are.

commit 9ac9185b0feb87eff820963f83a6c861c49bdab5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 16 03:27:15 2005 +0000

    rx-send-error-code-propagation-20050915
    
    
    * add a version of rxi_DebugPrint for Windows that uses OutputDebugString
    
    * migrate all printf statements to the dpf macro
    
    * stop masking the errors from rx_sendmsg() so that higher level functions
      can make decisions based upon the failure.
    
    * Windows reports EHOSTUNREACHABLE.  Similar to Linux, if it is reported
      reset the send packet start time to 0 in order to immediately cause the
      server to be marked down.

commit b08017e91f5b4d175b5c9b1f6d68adb9effa3360
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 14 09:51:56 2005 +0000

    rx-tq-waiter-rework-20050914
    
    
    heavily reworked by jaltman@secure-endpoints.com
    and then a little further editing by me
    
    
    see if we can avoid doing to sleep forever waiting on the tq to flush
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    do not decrement tqWaiters in the while evaluation.   This will
    result in an invalid count if the value was zero to begin with.

commit bd1cc3d37b456b02d9d1446ae12962fdd97fa1a5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 14 05:41:54 2005 +0000

    windows-notes-20050914
    
    
    Add note regarding AFSCache file fragmentation affecting performance
    
    Fix one of the RPC registry entries
    
    Document UUID re-generation change

commit bbf6472a111727e739ec5216b431c1c9263af736
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 14 05:28:11 2005 +0000

    rx-no-data-on-call-zero-20050913
    
    
    hopefully fix sven oehme's problem

commit 870d414e6c3765ff52a65d1c06fbc5ddfb254f17
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 9 20:47:03 2005 +0000

    windows-detect-uuid-cloning-20050909
    
    
    Begin to store the Disk Volume Serial Number and Machine SID in the
    AFSCache file for use in detecting system clones.   Clones must get
    a new UUID for the AFS Client.

commit 604435daaf23c9883c6ac52c1c3b656ebacbaae7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 9 20:43:07 2005 +0000

    windows-fs-cleanup-20050909
    
    
    remove unused variables

commit 1d83f0e3b725643c32ec211694f554acd9d6777a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 9 13:51:43 2005 +0000

    windows-pioctl-debug-20050909
    
    
    log the pioctl path provided by the caller

commit 9e348b344dfe9f3940f099beb2acc208fa90a61c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 7 20:19:10 2005 +0000

    windows-fs-flushall-20050907
    
    
    "fs flushall" is like "fs flushvolume" but flushes all data in the cache
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    typo

commit 6d6789345ecab70c973cea46b5b262e92e153498
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Sep 7 18:38:56 2005 +0000

    linux-root-fix-reval-20050907
    
    FIXES 21390
    
    revalidate the root vnode correctly so if we become replicated we don't lose

commit d154b54b555ab1c0eca0a633a29e6d73a1ef35bd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Sep 7 18:17:04 2005 +0000

    windows-uuid-note-20050907
    
    
    Warn users to remove AFSCache file when cloning machines with AFS installed

commit 46e69c150286793e0c2238af01b8d4637b95dd54
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Sep 5 17:28:39 2005 +0000

    linux-root-no-reval-20050905
    
    
    don't revalidate the root afs vnode, so if root.afs becomes replicated out from under us we don't lose.

commit e32a568a967d3a63832ac57f77032ca34fb7056d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 4 05:53:27 2005 +0000

    windows-install-notes-20050904
    
    
    updated install notes

commit d9a958998c6a04e213532f908dbb2a559ea8c355
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Sep 4 05:50:17 2005 +0000

    windows-updates-20050904
    
    
    most recent change descriptions

commit fed9b0844cbd07717e0af1376573f835eb3aaade
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Sep 4 05:10:14 2005 +0000

    linux-remove-reval-shortcut-20050903
    
    
    don't skip revalidation work so we don't end up with bogus directory dates

commit fd8bfddd5ec9395a9ed5057e36abeb66beb976fb
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Sep 3 00:38:16 2005 +0000

    shlibafsrpc-objdir-20050902
    
    FIXES 21312
    
    make objdir builds work again

commit 599b57ed78f86eaeb543d67d3955f71865feae1e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Sep 2 23:48:35 2005 +0000

    rx-propagate-error-20050902
    
    
    if we have an error propagate it to new calls

commit d04a62e64141903d17dd244e10094fd446ab73a7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Sep 2 18:23:50 2005 +0000

    windows-pioctl-20050902
    
    
    support '/' as well as '\\' in pioctl calls

commit 001f9b9732a3a30ea0c51c12a0f69c400102d7a7
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Thu Sep 1 02:55:01 2005 +0000

    windows-loopback-20050831
    
    
    As stated in the afs-install-notes, the MS Client for Networks should
    be enabled on the loopback adapter, so enable it.
    
    Prevent an install failure by not calling CoInitialize twice in the same
    thread.

commit 69a98684f0a85db5618a472835a0e588b01b5d6e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 1 01:00:41 2005 +0000

    windows-gui2fs-20050831
    
    
    Apply AFS Client Admins group protect to AFS Shell Extension
    
    Add support for \\afs\<name> to most commands except the symlink methods.

commit 27b81213dfffc5c4d8979f1cc381084d924ea8e1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Sep 1 00:52:03 2005 +0000

    windows-cell-expiration-20050831
    
    
    When updating cell information from DNS, be sure to set a new timeout.
    When obtaining cell information from a file, check every two hours to
    see if it changed.

commit 36c57c994ae750dd5f673de5574f0505d67b4e1f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 31 22:35:40 2005 +0000

    volser-audit-setids-fix-20050831
    
    FIXES 21263
    
    type is an int, not a string

commit 682f5ffb21575587123ecbb7a5867d1c5495dd4e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 31 11:59:06 2005 +0000

    windows-freelance-fs-symlink-20050831
    
    
    Add support to allow use of \\AFS\<foo> where <foo> is either a mount
    point or symlink.   As <foo> is normally treated as a share name, we
    transform it into \\AFS\all\<foo> for processing.

commit 0b74a7d25c7f164702843b545615f906a6bdebbd
Author: Eric Williams <ericjw@citi.umich.edu>
Date:   Mon Aug 29 20:39:56 2005 +0000

    windows-afslogon-code-init-20050829
    
    
    Init 'code' to prevent false errors when integrated logon is disabled
    and the service is not running

commit 920dc9dfc41a52a79f062f887d7cd656ea084f42
Author: Jim Rees <rees@umich.edu>
Date:   Mon Aug 29 19:58:05 2005 +0000

    obsd-krb5flags-20050828
    
    
    KRB5CFLAGS and KRB5LIBS for OpenBSD

commit 308ed8fecbeb0a6eb70461016f9b726830cb7979
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 28 21:48:25 2005 +0000

    windows-notes-20050828
    
    
    updates

commit e03a1b954f0cc2ae63aaa3506d44647d93f13db4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 28 20:59:55 2005 +0000

    aklog-no-gmake-20050828
    
    FIXES 21031
    
    make aklog Makefile not use gmake/non standard make += syntax

commit b9fc404bdf16fc3a61f13bffcaadc5d598d02cbd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 28 04:43:55 2005 +0000

    windows-default-trace-log-off-20050827
    
    
    Now that OAFW is ready for a stable series, we will default "fs trace"
    to off on non-Debug builds.   It can be set to on via the TraceOption
    registry value.  (see registry.txt)

commit c0fea634084ee1c223c611c3ab3955a13d1ba884
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 28 04:32:44 2005 +0000

    windows-add-tid-to-mutex-20050827
    
    
    Add to mutex objects the ID of the thread that holds the lock.  This
    will make future debugging much easier.

commit 6620b9452bb3f270ebabc29a910918b1f17225f4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 28 04:29:31 2005 +0000

    windows-scache-deadlock-fix-20050827
    
    
    It was reported that Microsoft Word when editing files stored in AFS
    would cause OAFW to fail to respond.  It was determined that a scp->mx
    lock was not being released in buf_WaitIO if the no one was waiting
    on the scp.
    
    This patch corrects the deadlock and fixes some debugging messages.

commit ee937439adc8d8ea214c9d53aee0ee5329697c80
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 26 14:46:11 2005 +0000

    windows-remove-log-messages-20050826
    
    
    The log message added to buf_LockedCleanAsync() during the debugging
    post 1.3.8201 is output for 1/10th of all buffers once every 5 seconds.
    This is a huge performance hit.  Move the message so that it is only
    output for buffers that are actually dirty.
    
    Also, change the algorithm so that the sqrt() of the number of buffers
    are checked every 5 seconds instead of 1/10th.   This will do a better
    job with very large cache sizes.

commit 48b0320b201c2efe153098e8a5a5e4e6470a41c5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Aug 26 14:39:31 2005 +0000

    windows-trace-log-to-dbgview-20050820
    
    
    Added a new option for viewing the trace log data in real time
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Include the Thread ID in the output to make it usable for debugging
    deadlocks.
    
    ====================
    
    alter the afsd_init.log tag for the TraceOption to not be
    Windows Event Log specific.

commit f4471a8f188dd74617ef831a6dcbe677eb8a6acf
Author: Jim Rees <rees@umich.edu>
Date:   Mon Aug 22 15:22:58 2005 +0000

    recommended-bsd-options-20050822
    
    
    Document recommended build options for Open and FreeBSD.

commit 84e761d850c4cf5f76dd844e6e6f738a35f88102
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 21 00:22:59 2005 +0000

    windows-afscreds-deadlock-20050820
    
    
    found a deadlock in the expiration check if a MessageBox dialog is
    being displayed

commit df72c49fbadfa6e30538f136aa2dd0a54e58c20d
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Sat Aug 20 23:58:21 2005 +0000

    windows-dfs-support-disable-20050820
    
    
    remove the trailing 1

commit 1a2172275920d959bab3f21aacf0689814c83c87
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 20 02:27:48 2005 +0000

    windows-better-vol-missing-messages-20050819
    
    
    Use a different message for each vol error code instead of one for all

commit 3e6b71d7aad3aeea23e313c5c63f5e2abda07a7e
Author: Stefaan De Roeck <stefaan.deroeck@gmail.com>
Date:   Fri Aug 19 20:34:34 2005 +0000

    dirpath-canonical-should-be-local-20050819
    
    FIXES 20954
    
    ConstructLocalPath only checks
    the first argument (cpath) for needed translation from canonical to
    local, but not the relativeTo path, which is simply prepended when
    cpath doesn't begin with a '/'.

commit aec3c2b19292c552705f1c0eb3065a26e0b03649
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 19 20:20:44 2005 +0000

    fix-busyat-enforcement-20050819
    
    FIXES 20659
    
    enforce busyat in the other half of the if

commit 49802c76b1a4cc1fb67e704e449325899ae42f0e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Aug 19 16:32:24 2005 +0000

    rmdir-dont-hold-kernel-lock-20050819
    
    
    potentially fix one of the deadlocks people have been seeing

commit e14ef50cd5f40b403e71cc2068c98c6e06f2c612
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Aug 18 05:55:00 2005 +0000

    des-nostats-20050818
    
    FIXES 20921
    
    just yank for now, we'll fix for 1.4.1

commit caa4c12b719763c6b35080a6e5f0beaf0d53c406
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 18 05:11:59 2005 +0000

    linux-inactive-in-place-of-remunlink-20050818
    
    FIXES 20912
    
    call afs_InactiveVCache() instead of afs_remunlink()
    for unlink, the "inactive" refcount is 1 now instead of 0.

commit 1bc0250ec0793ee28d4cbec3fb5b929d541aa95c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 17 20:25:29 2005 +0000

    irix-gop-lookupname-20050817
    
    
    irix of course won't build when your function doesn't match the prototype

commit e465ee95b095d1bea7e37e0aeec0f4a781cf8231
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 17 19:50:18 2005 +0000

    windows-dfs-support-disable-20050817
    
    
    disable dfs processing until we get the Unicode CIFS support

commit 9d396c4916fdac64fcface30e6637ca6e2911203
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Wed Aug 17 17:16:50 2005 +0000

    cache-autotune-20050817
    
    
    This patch tries to implement the afsd default tuning parameters
    discussed in the thread starting at
    https://www.openafs.org/pipermail/openafs-devel/2005-May/012158.html
    
    I took the liberty of adding chunksize-tuning to the memcache too,
    with the motivation that people using large memcaches usually wants
    better bulk performance too.
    
    It seems to work for me using both disk cache and memcache of various
    sizes.

commit c9bba4c460b54c48fe8ecb1b35fbe2a4efd4ac19
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 17 17:06:26 2005 +0000

    windows-freelance-admin-20050817
    
    
    When testing for IsFreelance() use the right path for symlink rm and
    fs rmmount.

commit 128ec84945c1f0879e0df74259a55029f2ea48d6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 17 11:38:55 2005 +0000

    windows-version-1-5-20050817
    
    
    Development version to 1.5.xxxx

commit adbded121354fe6727edcad303e25d4d42b17bcb
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Aug 17 11:22:50 2005 +0000

    windows-version-1-4-20050817
    
    
    Update version to 1.4.0000   Yay!!!!!

commit cc2c8c3a8efe073ff20dca356e859d0dbdcd62d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 16 19:09:49 2005 +0000

    kasadmin-prototyping-20050816
    
    FIXES 20766
    
    make kasadmin module prototyping correct again

commit 68f5f09832ae0b9207951df717a4e33910d9a147
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 16 18:58:27 2005 +0000

    sgistuff-missing-files-20050816
    
    FIXES 20766
    
    these were overzealously killed (by me)
    
    fix

commit 23e9aff4c95d3803923f4352bc37435805b4c68d
Author: Jim Rees <rees@umich.edu>
Date:   Tue Aug 16 17:59:12 2005 +0000

    reindent-afsd-c-20050816
    
    
    reindent

commit 14408c7e88c198d80ce89e90e209f48685da89da
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue Aug 16 17:17:13 2005 +0000

    windows-byte-range-locks-20050816
    
    
     Byte range locks:
    
       The OpenAFS Windows client has to fake byte range locks given no
       server side support for such locks.  This is implemented as keyed
       byte range locks on the cache manager.
    
       Keyed byte range locks:
    
       Each cm_scache_t structure keeps track of a list of keyed locks.
       The key for a lock is essentially a token which identifies an owner
       of a set of locks (referred to as a client).  The set of keys used
       within a specific cm_scache_t structure form a namespace that has a
       scope of just that cm_scache_t structure.  The same key value can
       be used with another cm_scache_t structure and correspond to a
       completely different client.  However it is advantageous for the
       SMB or IFS layer to make sure that there is a 1-1 mapping between
       client and keys irrespective of the cm_scache_t.
    
       Assume a client C has key Key(C) (although, since the scope of the
       key is a cm_scache_t, the key can be Key(C,S), where S is the
       cm_scache_t.  But assume a 1-1 relation between keys and clients).
       A byte range (O,+L) denotes byte addresses (O) through (O+L-1)
       inclusive (a.k.a. [O,O+L-1]).  The function Key(x) is implemented
       through cm_generateKey() function for both SMB and IFS.
    
       The cache manager will set a lock on the AFS file server in order
       to assert the locks in S->fileLocks.  If only shared locks are in
       place for S, then the cache manager will obtain a LockRead lock,
       while if there are any exclusive locks, it will obtain a LockWrite
       lock.  If the exclusive locks are all released while the shared
       locks remain, then the cache manager will downgrade the lock from
       LockWrite to LockRead.
    
       Lock states:
    
       A lock exists iff it is in S->fileLocks for some cm_scache_t
       S. Existing locks are in one of the following states: ACTIVE,
       WAITLOCK, WAITUNLOCK, LOST, DELETED.
    
       The following sections describe each lock and the associated
       transitions.
    
       1. ACTIVE: A lock L is ACTIVE iff the cache manager has asserted
          the lock with the AFS file server.  This type of lock can be
          exercised by a client to read or write to the locked region (as
          the lock allows).
    
          1.1 ACTIVE->LOST: When the AFS file server fails to extend a
            server lock that was required to assert the lock.
    
          1.2 ACTIVE->DELETED: Lock is released.
    
       2. WAITLOCK: A lock is in a WAITLOCK state if the cache manager
          grants the lock but the lock is yet to be asserted with the AFS
          file server.  Once the file server grants the lock, the state
          will transition to an ACTIVE lock.
    
          2.1 WAITLOCK->ACTIVE: The server granted the lock.
    
          2.2 WAITLOCK->DELETED: Lock is abandoned, or timed out during
            waiting.
    
          2.3 WAITLOCK->LOST: One or more locks from this client were
            marked as LOST.  No further locks will be granted to this
            client until al lost locks are removed.
    
       3. WAITUNLOCK: A lock is in a WAITUNLOCK state if the cache manager
          receives a request for a lock that conflicts with an existing
          ACTIVE or WAITLOCK lock.  The lock will be placed in the queue
          and will be granted at such time the conflicting locks are
          removed, at which point the state will transition to either
          WAITLOCK or ACTIVE.
    
          3.1 WAITUNLOCK->ACTIVE: The conflicting lock was removed.  The
            current serverLock is sufficient to assert this lock, or a
            sufficient serverLock is obtained.
    
          3.2 WAITUNLOCK->WAITLOCK: The conflicting lock was removed,
            however the required serverLock is yet to be asserted with the
            server.
    
          3.3 WAITUNLOCK->DELETED: The lock is abandoned or timed out.
    
          3.5 WAITUNLOCK->LOST: One or more locks from this client were
            marked as LOST.  No further locks will be granted to this
            client until all lost locks are removed.
    
       4. LOST: A lock L is LOST if the server lock that was required to
          assert the lock could not be obtained or if it could not be
          extended, or if other locks by the same client were LOST.
          Effectively, once a lock is LOST, the contract between the cache
          manager and that specific client is no longer valid.
    
          The cache manager rechecks the server lock once every minute and
          extends it as appropriate.  If this is not done for 5 minutes,
          the AFS file server will release the lock.  Once released, the
          lock cannot be re-obtained without verifying that the contents
          of the file hasn't been modified since the time the lock was
          released.  Doing so may cause data corruption.
    
          4.1 LOST->DELETED: The lock is released.
    
          4.2 LOST->ACTIVE: The lock is reassertd.  This requires
            verifying that the file was not modified in between.
    
          4.3 LOST->WAITLOCK: All LOST ACTIVE locks from this client were
            reasserted.  The cache manager can reinstate this waiting
            lock.
    
          4.4 LOST->WAITUNLOCK: All LOST ACTIVE locks from this client
            were reasserted.  The cache manager can reinstate this waiting
            lock.
    
       5. DELETED: The lock is no longer relevant.  Eventually, it will
          get removed from the cm_scache_t. In the meantime, it will be
          treated as if it does not exist.
    
          5.1 DELETED->not exist: The lock is removed from the
            cm_scache_t.
    
       6* A lock L is ACCEPTED if it is ACTIVE or WAITLOCK.
          These locks have been accepted by the cache manager, but may or
          may not have been granted back to the client.
    
       7* A lock L is QUEUED if it is ACTIVE, WAITLOCK or WAITUNLOCK.
    
       8* A lock L is EFFECTIVE if it is ACTIVE or LOST.
    
       9* A lock L is WAITING if it is WAITLOCK or WAITUNLOCK.
    
       Lock operation:
    
       A client C can READ range (Offset,+Length) of cm_scache_t S iff:
    
       1. for all _a_ in (Offset,+Length), one of the following is true:
    
           1.1 There does NOT exist an ACTIVE lock L in S->fileLocks such
             that _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_ of S is
             unowned)
    
             AND
    
             For each LOST lock M in S->fileLocks such that
             _a_ in (M->LOffset,+M->LLength), M->LockType is shared AND
             M->key != Key(C).
    
             (Note: If this is a different client from one whose shared
             lock was LOST, then the contract between this client and the
             cache manager is indistinguishable from that where no lock
             was lost.  If an exclusive lock was lost, then the range is
             considered unsafe for consumption.)
    
           1.3 There is an ACTIVE lock L in S->fileLocks such that: L->key
             == Key(C) && _a_ in (L->LOffset,+L->LLength) (IOW: byte _a_
             of S is owned by C under lock L)
    
           1.4 There is an ACTIVE lock L in S->fileLocks such that _a_ in
             (L->LOffset,L->+LLength) && L->LockType is shared (IOW: byte
             _a_ of S is shared) AND there is no LOST lock M such that _a_
             in (M->LOffset,+M->LLength) and M->key == Key(C)
    
       A client C can WRITE range (Offset,+Length) of cm_scache_t S iff:
    
       2. for all _a_ in (Offset,+Length), one of the following is true:
    
           2.1 Byte _a_ of S is unowned (as above) AND for each LOST lock
             L in S->fileLocks _a_ NOT in (L->LOffset,+L->LLength).
    
           2.2 Byte _a_ of S is owned by C under lock L (as above) AND
             L->LockType is exclusive.
    
       A client C can OBTAIN a lock L on cm_scache_t S iff:
    
       3. for all _a_ in (L->LOffset,+L->LLength), ALL of the following is
          true:
    
           3.1 L->LockType is exclusive IMPLIES there does NOT exist a QUEUED lock
             M in S->fileLocks such that _a_ in (M->LOffset,+M->LLength).
    
             (Note: If we count all QUEUED locks then we hit cases such as
             cascading waiting locks where the locks later on in the queue
             can be granted without compromising file integrity.  On the
             other hand if only ACCEPTED locks are considered, then locks
             that were received earlier may end up waiting for locks that
             were received later to be unlocked. The choice of QUEUED
             locks were made so that large locks don't consistently get
             trumped by smaller locks which were requested later.)
    
           3.2 L->LockType is shared IMPLIES for each QUEUED lock M in
             S->fileLocks, if _a_ in (M->LOffset,+M->LLength) then
             M->LockType is shared.
    
       4. For each LOST lock M in S->fileLocks, M->key != Key(C)
    
             (Note: If a client loses a lock, it loses all locks.
             Subsequently, it will not be allowed to obtain any more locks
             until all existing LOST locks that belong to the client are
             released.  Once all locks are released by a single client,
             there exists no further contract between the client and AFS
             about the contents of the file, hence the client can then
             proceed to obtain new locks and establish a new contract.)
    
       A client C can only unlock locks L in S->fileLocks which have
       L->key == Key(C).
    
       The representation and invariants are as follows:
    
       - Each cm_scache_t structure keeps:
    
           - A queue of byte-range locks (cm_scache_t::fileLocks) which
             are of type cm_file_lock_t.
    
           - A record of the highest server-side lock that has been
             obtained for this object (cm_scache_t::serverLock), which is
             one of (-1), LockRead, LockWrite.
    
           - A count of ACCEPTED exclusive and shared locks that are in the
             queue (cm_scache_t::sharedLocks and
             cm_scache_t::exclusiveLocks)
    
       - Each cm_file_lock_t structure keeps:
    
           - The type of lock (cm_file_lock_t::LockType)
    
           - The key associated with the lock (cm_file_lock_t::key)
    
           - The offset and length of the lock (cm_file_lock_t::LOffset
             and cm_file_lock_t::LLength)
    
           - The state of the lock.
    
           - Time of issuance or last successful extension
    
       Semantic invariants:
    
           I1. The number of ACCEPTED locks in S->fileLocks are
               (S->sharedLocks + S->exclusiveLocks)
    
       External invariants:
    
           I3. S->serverLock is the lock that we have asserted with the
               AFS file server for this cm_scache_t.
    
           I4. S->serverLock == LockRead iff there is at least one ACTIVE
               shared lock, but no ACTIVE exclusive locks.
    
           I5. S->serverLock == LockWrite iff there is at least one ACTIVE
               exclusive lock.
    
           I6. If a WAITUNLOCK lock L exists in S->fileLocks, then all
               locks that L is waiting on are ahead of L in S->fileLocks.
    
           I7. If L is a LOST lock, then for each lock M in S->fileLocks,
               M->key == L->key IMPLIES M is LOST or DELETED.
    
       --asanka
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Byte range locks added to change list
    
    ====================
    
    should improve error codes, and allow lock promotions and demotions
    by releasing locks.
    
    ====================
    
    More improvements to the byte range locking.  Handle errors caused
    by a failure to have locking privs; report sharing violations when
    opening files; lie about locks on read-only volumes; implement
    shared read/write file creation in the smb layer.
    
    ====================
    
    remove assertion
    
    ====================
    
    must reference count local references to objects if the lock
    is being released
    
    ====================
    
    Do not use a variable until you assign it a value
    
    ====================
    
    remove an unwanted assertion and move the resetting of scp->serverLock
    to -1 into cm_LockMarkSCacheLost() so that others do not forget to set
    it.  cm_LockMarkSCacheLost() is always called when the scp->mx is held
    so it is ok to do so.

commit a09b27d0a0bdb9d967220388f76379ece4c7b5cb
Author: Jim Rees <rees@umich.edu>
Date:   Mon Aug 15 23:30:47 2005 +0000

    openbsd-pthread-20050815
    
    
    Build pthread servers for OpenBSD.
    There is some evidence they might even work.

commit cdb51cf26196ffc2f7a2c2090c73f7b0892ab119
Author: Jim Rees <rees@umich.edu>
Date:   Mon Aug 15 21:36:53 2005 +0000

    automate-freebsd-systype-20050815
    
    
    Determine freebsd systype automatically too.
    Thanks to "Todd T. Fries" <todd@fries.net>

commit fab147e843667d87323cdf9fcad2012ca942f6fd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 15 18:35:05 2005 +0000

    afssyscalls-declarations-20050815
    
    
    declare lsetpag() and lpioctl() since they are exported

commit eb00f913748ba8651755451120a1f0d06b1e9cd2
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Aug 15 18:27:52 2005 +0000

    windows-smb-error-codes-20050815
    
    
    Do not return error codes from the SMB/CIFS server that can be interpretted
    by the SMB/CIFS client as meaning that the AFS Client Service is not
    available.

commit 1b0b0945caa4f6138f102dab22e78d2c4b048610
Author: Klas Lindfors <kllin@it.su.se>
Date:   Mon Aug 15 16:54:50 2005 +0000

    vos-format-cleanup-20050815
    
    FIXES 20783
    
    make sure partition name actually gets printed

commit e4ca2e597c85ae8667e3963db847aab83aaf0ce2
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Mon Aug 15 16:51:29 2005 +0000

    aix-afsdb-20050815
    
    FIXES 20801
    
    make afsdb work on aix.
    use storage as thread-local when it is

commit e0d9e434bb778a2507c1cd6d96c1faa2071f2b2c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Aug 15 16:47:38 2005 +0000

    put-inode-speedup-20050815
    
    FIXES 20820
    
    don't bother with credp

commit bbe78805681ec8303ab198288693586e8bfdb7f3
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Aug 15 16:39:51 2005 +0000

    large-cache-fix-20050815
    
    FIXES 20821
    
    make large caches actually work

commit 45d144da14c39ed48ae8be4f89d78cfc12985056
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Mon Aug 15 16:04:12 2005 +0000

    aix-make-install-20050815
    
    FIXES 20827
    
    make install was broken on aix. fix it.

commit 7c34c9b5c0fbdf0b9b9429c2e763c635857974ab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 14 12:25:06 2005 +0000

    windows-afscreds-20050814
    
    
    When tokens expire, do not display an obtain tokens dialog if there
    is no network connectivity to the kdc for the realm associated with
    the cell.
    
    In the en_US build, stop displaying the expiration time of tokens
    after the tokens expire.

commit 50c5210a25d34bfc8cf027ccfb098460268911c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Aug 14 03:10:07 2005 +0000

    audit-fetchacl-20050813
    
    
    Include the ACL value in the FetchACL logging.  This combined with
    StoreACL can be used to compute ACL changes.

commit 8ea5ed2c2b7d5ac5f66eaef5f8b615812aa69601
Author: Todd Fries <todd@fries.net>
Date:   Sat Aug 13 21:49:00 2005 +0000

    auto-obsd-version-20050813
    
    
    Determine openbsd version automatically.

commit c8db31cc2bf9b59d8b8cf7e5310079ff6c9e4a96
Author: Jim Rees <rees@umich.edu>
Date:   Fri Aug 12 22:26:09 2005 +0000

    openbsd38-20050812
    
    
    With thanks to "Todd T. Fries" <todd@fries.net>
    OpenBSD 3.8.
    Introduce HAVE_STRCASESTR.

commit 467a85164c054b9fa427d8033b0c7cf4911d5c44
Author: Russ Allbery <rra@stanford.edu>
Date:   Thu Aug 11 18:55:50 2005 +0000

    linux-pic-everywhere-20050811
    
    FIXES 20781
    
    Build shared libraries with -fPIC on all Linux platforms, not just the ones
    that absolutely require it.

commit c9b0955360b34ab1f8775c5ccc55e77037e0d312
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Aug 10 20:21:27 2005 +0000

    refrigerator-20050809
    
    FIXES 20728
    
    refrigerator takes void starting in 2.6.13

commit 42e081360efbfc847488aeaf4c604ea7030edccd
Author: David Thompson <thomas@cs.wisc.edu>
Date:   Tue Aug 9 19:39:26 2005 +0000

    vos-ctime-fix-20050809
    
    FIXES 20748
    
    fix larger than 4 byte ctime case

commit 0c931ef444c03fc1cc5fcb1a55fec0d32f4dda61
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 9 14:41:13 2005 +0000

    linux26-umount-force-doesnt-work-20050809
    
    
    this was never finished, just revoke it for now

commit 5740865dce2219de0826d72fe4f5bff70fadfdf3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 8 16:37:28 2005 +0000

    logthreadnum-libafsauthent-20050808
    
    FIXES 20412
    
    export LogThreadNum so hings can link our libraries again

commit 3e9c1b1f1a1b3d33c6af44d1fe79810ad2a3a0f8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 8 16:04:10 2005 +0000

    revert-linux-write-dirty-pages-once-20050802
    
    
    this needs to be revisited

commit 9485ca85d36b7449bc4ad4895d2a96ec95ea7537
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Aug 8 15:58:32 2005 +0000

    linux-panic-20050727
    
    FIXES 20392
    
    just call panic() on linux
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 20392
    
    call BUG() instead

commit 7e95d1bc89ebc6b1418ca1d69970efe00d30390e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 6 01:38:53 2005 +0000

    windows-notes-20050806
    
    
    updates for 1.3.8700

commit 520d3143e60a6f316c7bbd9677926b7ff62c01c1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 6 01:37:13 2005 +0000

    windows-version-20050806
    
    
    1.3.8700

commit 4d0a6e73bf46847766512c15d2466627237409e5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Aug 6 01:34:50 2005 +0000

    windows-afscache-validate-20050806
    
    
    Ensure that queues that have forward and reverse pointers are
    consistent that either both are NULL or neither are.

commit c264965a635a71e3b21d49da7dc0998a87dd67ba
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Aug 4 21:44:57 2005 +0000

    client-omit-zero-length-reads-20050804
    
    
    The attached patch restores the behaviour of the 1.2.x client: writes
    appending to a file do not trigger a 0-length read which at best updates the
    current status. If another cache manager wrote to the same file in the
    meantime, the file status is updated only after the StoreData RPC (and for
    the changes the last one wins).

commit b607770bc5d8a3ebe64153e906787a4fdb48eddc
Author: Horst Birthelmer <horst@riback.net>
Date:   Thu Aug 4 21:03:53 2005 +0000

    checkservers-set-back-deadtime-correctly-20050804
    
    
    the multirx version of this does this wrong. fix it.

commit 67f1537746d2354d90cedfa0b425ce5f9622e4de
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 4 20:53:30 2005 +0000

    revert-cache-size-limit-upping-20050728
    
    
    let's re-examine this

commit 177547465639d4ed65646edc4f635ac84819896e
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Aug 4 20:31:33 2005 +0000

    client-omit-zero-length-reads-20050804
    
    
    The attached patch restores the behaviour of the 1.2.x client: writes
    appending to a file do not trigger a 0-length read which at best updates the
    current status. If another cache manager wrote to the same file in the
    meantime, the file status is updated only after the StoreData RPC (and for
    the changes the last one wins).

commit fc0ca363da52144628a35abae30315257bbf76a8
Author: Eric Williams <ericjw@citi.umich.edu>
Date:   Thu Aug 4 17:32:32 2005 +0000

    windows-afsifs-20050804
    
    
    addresses:
    byte-range locks work (mildly tested)
    fixes a reference counting error
    can shutdown/restart client
    code formatting
    major speed improvements
    fixes delete operation problem
    internal locking in more places
    
    i have reviewed this patch myself carefully.  specifically, please review
    the changes to cm_buf.c and cm_callback.c.  in cm_buf, i added the looping
    code because i ran into the following assert once.  i am not sure why, and
    my attempt to diagnose the problem was not successful.
    
    apart from the byte-range locking code, the code has not change for quite
    a bit.

commit 81b0f9cf1d0335a1e2f8ae897ba9566c1e4962e3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Aug 4 17:03:50 2005 +0000

    windows-pioctl-update-20050804
    
    
    change "fs wscell" to report the registry configured cell name when
    using freelance mode.
    
    change "fs mkmount|rmmount" to require membership in AFS Client Admins
    group when freelance mode is being used
    
    change "symlink make|remove" to require membership in AFS Client Admins
    group when freelance mode is being used
    
    Move some smb init debug messages to afsd_init.log

commit 1bdc4cea4b01ca080a458ec65e3d783f464d5548
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Aug 3 05:45:53 2005 +0000

    viced-dont-crash-on-link-enospc-20050803
    
    
    when symlink gets ENOSPC don't assert.

commit f6ff3f769a8e84e9148c3c47c9e82d1bcb7d6f6a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Aug 2 19:59:46 2005 +0000

    linux-vnode-aliases-20050802
    
    FIXES 18613
    
    you can end up hanging when you end up with multiple aliases for a single direct
    ory (dentry) as a result of @sys or multiple mountpoints.
    
    don't end up with multiple aliases, and avoid the situation

commit 7ad3929e3c75aa2fabab7f72c79e42759562804f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 2 15:03:42 2005 +0000

    linux-fix-refrigerator-calls-20050802
    
    
    it's CONFIG_PF, not CONFIG_PM

commit 893849bdca91df3ec60b0b587c0b56500c04d70d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 2 14:46:28 2005 +0000

    linux-4gb-32bit-file-fix-20050802
    
    FIXCES 20560
    
    fix wrapping error on page offset

commit 82b010d26adac3854507331b3bbbbcc2e07e50ef
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 2 06:15:54 2005 +0000

    linux-group-putback-20050802
    
    FIXES 20562
    
    put back reference before discarding group pointer

commit c893cf0e3ddce6c020a5fb28b6caa35ea3aa83c4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 2 06:11:38 2005 +0000

    linux-write-dirty-pages-once-20050802
    
    FIXES 20561
    
    also done in afs_linux_write

commit 4778f1fc153c5164b692866f1460e8ec58012de6
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 2 06:08:45 2005 +0000

    linux-4gb-32bit-file-fix-20050802
    
    FIXCES 20560
    
    fix wrapping error on page offset

commit 7c5dcc5d439c3bbe8097b24b0efe8ca002ab71ff
Author: Jim Rees <rees@umich.edu>
Date:   Sun Jul 31 18:22:50 2005 +0000

    tq-uq-scope-20050731
    
    
    Move local vars tq and uq back into proper scope

commit f7b6f3022ddd20cc27d5f401023c35c98bd8eeec
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jul 29 15:49:31 2005 +0000

    linux-osi-vfs-mkdir-20050729
    
    FIXES 20479
    
    mkdir so this works when building outside our tree

commit 57bb8e09a33b9cabba8768d5261b8a85366e0307
Author: Stefaan De Roeck <stefaan.deroeck@gmail.com>
Date:   Fri Jul 29 15:24:05 2005 +0000

    audit-use-va-arg-20050729
    
    FIXES 20311
    
    use va_arg instead of int

commit 2da4a84732acc3b049aab59ade3edf01cecb7669
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 28 23:15:50 2005 +0000

    windows-doc-updates-20050728
    
    
    updates for 1.3.8600

commit 3d43d87010a64fe6bf673cfc84bce14a0e8c1b51
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 28 23:09:20 2005 +0000

    windows-version-update-20050728
    
    
    version number to 1.3.8600

commit 4fc48af8346665004b566c80b2ec3b5146b6ab95
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 28 15:38:36 2005 +0000

    vc-hashing-be-less-expensive-20050728
    
    
    use an afs_q so this is less expensive to deal with

commit 459636211ca01c1b1c3fbe34ddb2fab50ceb49ea
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 28 15:17:47 2005 +0000

    cache-size-limit-upping-20050728
    
    
    based on work from wes chow
    
    allow larger caches without variable overflows.
    
    does not port to 1.4 as-is.

commit 456462b314f7fc7ed25da7840c7087cba1dbc48b
Author: Stefaan De Roeck <stefaan.deroeck@gmail.com>
Date:   Tue Jul 26 19:14:14 2005 +0000

    audit-use-va-arg-20050726
    
    FIXES 20311
    
    use va_arg instead of int

commit b58c1f103ee2d2b615b9b78f594bb8285e05b3c1
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jul 26 18:39:00 2005 +0000

    linux-mmap-cleanup-20050726
    
    FIXES 20391
    
    avoid the vma close business, we don't need to do this to track maps

commit a21fc56daf70d0433276eab29798542f6ef362ad
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jul 26 18:34:05 2005 +0000

    linux-reduce-stack-use-20050726
    
    FIXES 20337
    
    don't do pointless work in osi_NetSend, and save some stack

commit 575cbd4a2f231f7bcaaf92a356afa61a4ae170dc
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 26 16:25:43 2005 +0000

    openafs-sleep-20050726
    
    
    tsleep on "afsslp" in afs_osi_Sleep

commit eff25c1899fd0a96199764ff26ef1084228f48cd
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jul 26 14:34:31 2005 +0000

    linux-largefile-fix-20050726
    
    FIXES 20396
    
    use the generic read/write functions, but set the superblock up correctly.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 20396
    
    make old 2.4 happy

commit 969a49f6d9c2ee5c496629aff0b4e4b0df05fb64
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 28 22:50:01 2005 +0000

    amd64-no-red-zone-20050725
    
    
    why are we not -mno-red-zone here?

commit ab22c7a587126c100d3c4fe40465f5ba3ebc25f4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 23 02:16:06 2005 +0000

    windows-misc-20050722
    
    
    Add debug logging to SMB and CM Locking code
    
    Optimize cm_Analyze by only performing a cm_CheckServers on the current
    cell instead of all cells
    
    Add code to detect loops to the cm_scache_t validation routines.

commit 724b6e639afee800663cb6ce9dbb9717cdca2b70
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 21 17:30:50 2005 +0000

    unlink-fix-20050721
    
    
    fill in parent after processFS

commit 7926c85fdfb82761b673887c3c2441ead9a274ea
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 21 15:54:18 2005 +0000

    viced-multiprobe-fix-20050721
    
    
    see if a uuid actually matches what we though was there

commit 2f3bdd36ee9e5fef465026d452b08e4d927f70a6
Author: Hans-Werner Paulsen <hans@MPA-Garching.MPG.DE>
Date:   Thu Jul 21 06:06:27 2005 +0000

    fssync-fix-log-20050721
    
    
    don't call Log like it's ViceLog

commit 9e32ad33139376f6d109addb8add5024915bf025
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Thu Jul 21 05:56:02 2005 +0000

    afsclient-cellopen-avoid-global-var-20050721
    
    FIXES 20215
    
    avoid use of global variable in CellOpen to avoid thread problems

commit da5187d4b4093b32f811631d3cc57c746e4b23a3
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Jul 21 05:52:33 2005 +0000

    dir-buffers-use-nullidx-as-none-20050721
    
    FIXES 20214
    
    since 0 is a valid number use -1 (NULLIDX)

commit f00e35f7a23c6caeba58dc77ab53334514b9d31e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 21 05:46:51 2005 +0000

    checksysname-stack-usage-20050721
    
    FIXES 20227
    
    fix misuse of MAXSYSNAME for MAXNUMSYSNAMES

commit bd1eba7f4091b7e2ef4264476d3ed3e54cc228f4
Author: Sabin Iacob <iacobs@exotic4.nipne.ro>
Date:   Thu Jul 21 05:41:09 2005 +0000

    linux-refrigerator-check-20050721
    
    FIXES 20209
    
    don't call refrigerator unless we have a kernel which supports it

commit ea20d8d6c244521bd72a42a4aef1f92bd03800e8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 19 15:44:53 2005 +0000

    vnrehash-avoid-cachecheck-change-20050618
    
    
    unlocking and locking lets us race and makes cacheCheck potentially go bad

commit fb1b339a017936da78e13d4afbeaebcfaa29ef00
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 19 06:06:12 2005 +0000

    windows-explorer-remove-mountpt-fix-20050719
    
    FIXES 20137
    
    the gui version of fs rmmount was reading random memory.

commit ef934e388cdc09e9afe7234aedad318618207104
Author: Karl E. Kelley <kekelley@iastate.edu>
Date:   Tue Jul 19 03:51:26 2005 +0000

    aklog-segfault-fix-20050718
    
    FIXES 20198
    
    I have built openafs 1.3.85 on an emt64 platform on RedHat Enterprise 4,
    and found that the aklog supplied with 1.3.85 (not the one in the afs-krb5
    conversion kit) consistently segfaults when aklog is called with the
    "-path ...." parm. It works properly when called with no parms.
    
    I traced this down to the call to the readlink() call in aklog_main.c,
    when the params structure references were removed the nesting was
    changed on an if statement that changed the logic and allowed the
    do while loop to loop past the end and de-reference a NULL pointer.

commit 0c678579113a84be09c8f734352f8a681751ba8e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 15 20:16:27 2005 +0000

    pt-util-no-cmd-seek-20050715
    
    
    i guess someone was dumb at some point and failed to completely remove bogus options

commit 3f3fdba33058521bc3f68edf56ef56910d32f0c8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 15 13:17:53 2005 +0000

    windows-cmdebug-20050715
    
    
    add TellMeAboutYourself functionality and report on capabilities if they
    are known.  Used instead of WhoAreYou when supported by the cache manager.

commit 1acd90549f183f185ac119096ba8c3fa1dcb3596
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 15 13:09:47 2005 +0000

    windows-aklog-tweaks-20050715
    
    
    * type correction
    
    * formatting
    
    * other cleanup

commit 1c3d89463e55844de7b22ca80f72ed7fabda66e7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 15 12:56:42 2005 +0000

    windows-config-cache-path-20050715
    
    FIXES 20007
    
    Update AFS Control Panel to display the default cache location based upon
    the SYSTEM %TEMP% environment variable.

commit d51baa42c4e1962816803bc391d88f4319d32110
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 15 04:23:18 2005 +0000

    audit-pts-supergroups-20050714
    
    
    PTS SuperGroups failed to compile with auditing due to a missing #define

commit 7498def5fb32c043bb4800bb79d9d3684031b46d
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Fri Jul 15 02:19:27 2005 +0000

    misc-aklog-fixes-20050714
    
    FIXES 20092
    
    Fix various minor problems with aklog, including the return type from main,
    removal of #ifndef __STDC__ code, missing includes, removal of unused
    variables, correct number of arguments to pr_Initialize, correct argument
    type for pr_SNameToId, and use of getcwd instead of getwd.

commit 2fdb50e1b87458c5bba76c269da41184bd9497ce
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jul 13 16:51:50 2005 +0000

    linux-dynamic-inodes-20050713
    
    
    remove errant log message

commit f21fa57453f4c94690c56cf4933b4eed82d99edc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 13 15:22:06 2005 +0000

    windows-aclent-deadlock-20050713
    
    
    Discovered a deadlock due to a violation of lock order.  We may not
    attempt to obtain a lock on a cm_scache_t mutex while holding the
    cm_aclLock.

commit 2d5bb80889f877fcacec02cc229a0960b9852081
Author: Zach Schimke <zschimke@mars.asu.edu>
Date:   Tue Jul 12 18:48:49 2005 +0000

    freevclist-static-20050711
    
    
    these are static now, make it so

commit 68d8b397aadb3985435d157ddfbc48f56bee66b3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jul 12 05:26:23 2005 +0000

    windows-version-20050712
    
    
    1.3.8500

commit 855d3669b28707afd8f9fe59d2a857eafb0552af
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jul 11 23:12:49 2005 +0000

    auditlog-include-timestamp-20050710
    
    
    add a timestamp to auditlog

commit 652f3bd9cb7a5d7833a760ba50ef7c2c67214bba
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jul 11 19:45:47 2005 +0000

    linux-dynamic-inodes-20050710
    
    
    i slipped a rollback on the linux 2.4 dentry stuff for osi_UFS* in here
    at the same time. this patch lets us use kernel inodes instead of our own pool.

commit 685989647d0fb31eca60e0900cea1598d5c001d8
Author: Karl E. Kelley <kekelley@iastate.edu>
Date:   Mon Jul 11 04:22:16 2005 +0000

    linux-and-64bit-cleanup-20050710
    
    FIXES 19166
    
    fix warnings found on x86_64 linux

commit 85d429528bfba3e909d9614320fbaad84473dfe3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 9 15:20:38 2005 +0000

    audit-add-and-fix-messages-20050708
    
    
    update and add some more audit logging
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Fix logging of authenticated user name

commit 09b145f6bf0a1cca5947cb14128a146423197558
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 8 22:22:44 2005 +0000

    kdump-vcache-update-20050708
    
    FIXES 19292
    
    wasn't updated when struct vcache was. oops.

commit 46ff986a42e3cce761ad5830e9e2792d67d5a156
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jul 8 20:58:25 2005 +0000

    pr_Initialize-fix-20050707
    
    
    The previous patch to pr_Initialize() opened an opportunity for
    afsconf_Check() to be called with a NULL pointer if tdir == 0.
    Prevent this occurrance.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fixed one null pointer reference but not the other.
    
    ====================
    
    commit the rest of jeff's fix

commit fbbb6db84c85061bd010df068485927b1a3a628f
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jul 8 17:53:43 2005 +0000

    freebsd60-20050708
    
    
    Fixes for FreeBSD 6.0 snap5.
    Builds and runs but has locking issues.

commit 06e66a65c5aaff6d3095fd989ef013df0acc4477
Author: Russ Allbery <rra@stanford.edu>
Date:   Fri Jul 8 02:18:55 2005 +0000

    krb5-configure-fixes-20050707
    
    FIXES 19862
    
    Use krb5_creds rather than struct krb5_creds, add missing test in if
    statements for krb5_creds structure probes, and tweak the configure output.

commit f829393c716330b65a96d5cc0c33b2c83e9b4bc4
Author: Pascal Terjan <pterjan@mandriva.com>
Date:   Thu Jul 7 03:32:39 2005 +0000

    coda-xfs-header-defines-fun-20050706
    
    
    make this better, we should never have been doing it as we were before

commit 043900fb415e2eb5327fd3c3f89064a403b3166e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 7 03:00:45 2005 +0000

    aklog-assume-old-autoconf-20050706
    
    
    old autoconf is my fiend

commit 2695a18459c3f5294a6de2cd2d13d725d61840e9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 7 02:31:05 2005 +0000

    vos-ctime-help-20050705
    
    FIXES 6031
    
    kept looking at this backwards, fix is obvious

commit c6a736486eb2704efd03082ff067858a198ae6d0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jul 7 01:23:15 2005 +0000

    windows-vs2005b2-20050706
    
    
    Visual Studio 2005 Beta 2 has been released.   As part of this
    release Microsoft has tightened the rules for their C++ compliance.
    
    * no longer can a variable declared in a for() statement be used
      outside of the associated command block
    
    * no longer can a function or variable be declared implicitly as
      'int'
    
    * several types such as size_t have become 64-bit values on all platforms
    
    * due to type changes the C++ function names in libraries have changed.
      This requires the use of different .DEF file export lists

commit 2428f3eee3c84b745e04c5ee70d9405df620b385
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 6 15:11:28 2005 +0000

    windows-ntbuild-20050706
    
    
    Update the default sysname to i386_w2k in the ntbuild.bat file

commit 16b6696938bea2a27651ca246afef7ad794c99f0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jul 6 06:10:46 2005 +0000

    windows-config-param-20050706
    
    
    New param files for new sysnames

commit 8f72c44972c86001607ce90b28c018f55a40b364
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Wed Jul 6 00:43:38 2005 +0000

    util-admin-64bit-20050705
    
    FIXES 19631
    
    serverAddress is an int; don't copy a pointer size

commit 16d67791dce45e5d4ee9b854c796492ffcde2113
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 5 16:33:24 2005 +0000

    auditlogs-for-everyone-20050702
    
    
    
    all servers now take -auditlog (path), send ibm-style auditlogs there, rotate the logs like the normal server logs, and will log thread ids when it's multiprocessor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    
    all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
    e logs like the normal server logs, and will log thread ids when it's multiproce
    ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
    
    ====================
    
    
    all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
    e logs like the normal server logs, and will log thread ids when it's multiproce
    ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
    
    ====================
    
    
    all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
    e logs like the normal server logs, and will log thread ids when it's multiproce
    ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
    
    ====================
    
    Windows build dependency changes to support the audit logs

commit 092cc5c9e693b2c4248e1c56b80fb198b49c31a3
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Tue Jul 5 16:08:34 2005 +0000

    aklog-update-20050705
    
    
    fix typo in #error statement

commit 391566e0b4173a3342b493048e152d9d1b7e0eb1
Author: Troy Benjegerdes <hozer@hozed.org>
Date:   Tue Jul 5 16:06:08 2005 +0000

    aklog-principal-rewrite-20050705
    
    
    fix second_comp call to be correct for macro

commit f6d99fbba133ba996610d0c00457408fede942dc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Jul 2 03:44:42 2005 +0000

    windows-afsdb-fix-20050701
    
    
    Fix AFSDB queries using DNSAPI to always terminate the query string with
    a period.

commit d48a6d9548f9c3c2f1fe8af564cbdfc6fb35bbe0
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Jul 1 05:40:52 2005 +0000

    aklog-forgot-quote-20050701
    
    
    Forgot closing quote in #error directive.

commit 233b7043ce22a120e52b2d1194a2603c659de735
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Thu Jun 30 22:06:15 2005 +0000

    aklog-heimdal-integration-20050630
    
    
    The necessary autoconf/C glue to make aklog work with Heimdal.

commit ed54c889202b51361f3f01df80930e9577baa914
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 30 19:02:03 2005 +0000

    windows-logon-20050630
    
    
    Add a method to disable the deletion of tokens at logoff
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add a registry entry to prevent token destruction at logoff

commit 0fed4743ae7763bf0b7c2c273cd54730e01f2249
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jun 30 06:06:54 2005 +0000

    pts-logging-20050619
    
    
    enhance pts logging

commit 25ecdbd2c4f1f02a7d449278c4b01f3938aba86d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 30 06:02:50 2005 +0000

    windows-notes-20050630
    
    
    latest updates including new afs-install-notes section on debugging

commit f2e86f4e03559dc45f4457960f302cb58e0ff59d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 30 04:10:31 2005 +0000

    threadid-logging-20050629
    
    
    log thread ids for any debug level

commit 4464c62f92541c8b1f46260d6c4cbdd1ba4cf85f
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Wed Jun 29 03:43:28 2005 +0000

    windows-nsis-20050628
    
    
    Support for NSIS 2.07 including named installation configurations
    and an Icon for the uninstall entry listed in the Add/Remove Programs
    control panel.

commit b60eb36f4b4d7e519b054895f3b44dfd396b2602
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 29 03:42:14 2005 +0000

    windows-notes-20050628
    
    
    pre-1.4

commit 09e871e52fac858a22b0b41a5f414b8b69a79e2d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jun 29 03:41:55 2005 +0000

    windows-readme-20050628
    
    
    Updates to describe NSIS 2.07

commit f89bb3cd972d82685ed02805d478ff63637537e6
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Jun 24 04:57:39 2005 +0000

    fix-kerberos-autoconf-20060623
    
    
    Commit remaining autoconf fixes for aklog.

commit a61ff319b7a9cec29b02579c20a338c46a8d2c55
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 24 04:01:48 2005 +0000

    windows-aklog-naming-20050624
    
    
    Correct for the behavior of pr_SNameToId() lowercasing the username

commit 3b58e267504b715a8535858d161527a35afa7a7c
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Jun 24 03:54:13 2005 +0000

    fix-getcrypt-command-description-20050623
    
    Fix the description of the getcrypt command.

commit 272ed1c01d2ae6eea9aaafb84df59c53ceffbb83
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Jun 24 00:43:48 2005 +0000

    aklog-cleanup-rxkad2b-20050623
    
    
    Clean up the aklog source, and add support for rxkad2b tokens.

commit c4b1decf6caacb13db666f516ceaf9b65e4371ab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jun 23 15:23:50 2005 +0000

    pr_init-fix-20050623
    
    
    for the longest time aklog implementations with automatic pts registration
    have included a work around for a bug in pr_Initialize.  The bug fails to
    reset the connection when the cell changes.  This patch fixes that bug.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    for the longest time aklog implementations with automatic pts registration
    have included a work around for a bug in pr_Initialize.  The bug fails to
    reset the connection when the cell changes.  pr_Initialize has been fixed
    so we can remove the hack.
    
    ====================
    
    remove the pr_Initialize force cell change hack from afskfw lib

commit dbd69d19e43ecdb74be531ab847c8aba48c025d3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 22 18:35:20 2005 +0000

    objdir-20050622
    
    FIXES 19341
    
    try harder to make builds work in cases where you're building into an alternate directory with old autoconf (mkdir vs mkdir -p)

commit 854db695f9a643b969aab86d76602dbb1666cc10
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 22 14:47:19 2005 +0000

    hpux11-vfsck-20050622
    
    
    make vfsck build for hpux

commit ee5bee633a26efbeea30a5c44aef2d2055f39520
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Jun 21 23:19:09 2005 +0000

    amd64-udebug-20050621
    
    
    fix 64 bit glitch in udebug

commit 7ad8a32a0ebbbd2be37eb3a323b23bc017dc1423
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 21 23:14:17 2005 +0000

    aklog-configure-backport-20050621
    
    
    make old autoconf work again

commit eb3124e2227b4837183f3b742a64341b0eba1f4c
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Tue Jun 21 22:15:23 2005 +0000

    Add missing Makefile.in that I apparantly forgot.

commit 6e732a8032b921b358337606ebf2972b3dbf7baa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 20 15:09:18 2005 +0000

    windows-afsifs-20050620
    
    
    more IFS reformatting that was not committed in the window-afsifs-20050617
    delta

commit 13814630d6b61c65f86151f8ba6668e3ec43c495
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 20 15:01:22 2005 +0000

    pts-logging-20050620
    
    
    Modify log levels to equal:
      Lookups at 125
      Creates at 25
      Modifies at 5
    
    Modify Windows makefile to build ptclient.exe

commit a63ba494bf909ed36b75556cb1f4d33ce13b76c5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jun 19 18:56:44 2005 +0000

    pts-logging-20050619
    
    
    enhance pts logging

commit f43f102c71f69a1b0bd6d4ea7cb7f0c74e67b083
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Jun 19 18:39:03 2005 +0000

    linux-change-dentry-cleanup-20050619
    
    
    try to make this work in 2.4 also

commit 9b1430c2d028dd38ce7392297cfe572d82a4c173
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jun 19 18:37:38 2005 +0000

    threaded-logging-20050619
    
    
    update logging to be able to show threads

commit 0f61c69103bada5f4039ffd3968d7e8b92eb9bf6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 18:17:42 2005 +0000

    viced-firstclient-retry-20050619
    
    FIXES 1345
    
    
    avoid race as we add a new client

commit bcdb5a184ee597244fe1c7a8c708ee6bf796d07a
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Sun Jun 19 02:06:21 2005 +0000

    more-aklog-fixes-20050618
    
    Fixup aklog so it will compile (at least on MacOS X).  Include basic
    autoconf glue.

commit c4c11566986877903ac5bdf73e6c2241ef72de9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 01:14:14 2005 +0000

    rxkad-stats-do-it-right-20050618
    
    
    fine, let's just do this right

commit d201f1e234c14b0fef5c55ed9016f0df956e38b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:50:40 2005 +0000

    move-rxkad-stats-20050618
    
    
    fine, let's try this again, so aklog doesn't lose, but this sucks

commit b5461fc5a8350a5a1110e225da62caa7bf0e7245
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:23:46 2005 +0000

    vlprocs-extended-user-logging-20050618
    
    
    update log message to provide full username

commit f16d1cef70e138b71a04d9c71ab067a1dc947867
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:22:31 2005 +0000

    lock-client-around-acl-checkrights-20050618
    
    FIXES 1345
    
    one of the like 3 crashes there. thanks love

commit 91953e8c0774697902ca025dd7969f0acc9c9ec2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:20:45 2005 +0000

    lwp-protoize-20050618
    
    
    protoize lwp directory

commit b6b62c852178e171eb00b1548ec169dcb51abf1b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:20:35 2005 +0000

    log-protoize-20050618
    
    
    protoize log directory

commit 379e3be3196aeb3fefaa1e9296e52a9f8018550a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:20:01 2005 +0000

    ppc-darwin80-20050618
    
    
    this is actually a throwaway

commit cc2f4ac0b36e79b137d03dcea32bb59bd1bceb8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:17:12 2005 +0000

    audit-protoization-20050618
    
    
    protoize libaudit

commit b680a2d1221144c07d15a40d495146d2c84d2b13
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:15:22 2005 +0000

    libafsdep-des-stats-20050618
    
    
    for rxkad stats dependancy when doing only_libafs build

commit a32bbb929bcb5988af419ea03640f2220c22c330
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jun 19 00:05:00 2005 +0000

    readme-devel-20050618
    
    
    we have protoized kernel code now

commit e4df380272ef8aab22af50cbffd8d338336f4894
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 17 17:15:25 2005 +0000

    windows-afsifs-20050617
    
    
    Not all of the chunks applied on the last commit

commit 329a79234449dcadbaf0aa7c09a3b74fea834746
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 17 17:07:46 2005 +0000

    window-afsifs-20050617
    
    
    Updates to the afsifs-20050615 DELTA.
    * Fix the build system
    * Reformat the code
    * Update docs

commit ff8554593ffb580a43b3d0e45d9b8ee1455a8fac
Author: Eric Williams <ericjw@umich.edu>
Date:   Wed Jun 15 19:51:54 2005 +0000

    afsifs-both-20050615
    
    
    this patchset makes it build both ways.

commit 3cc3cedba03827ba3796740a40f2f75bba85a44e
Author: Eric Williams <ericjw@umich.edu>
Date:   Wed Jun 15 17:51:44 2005 +0000

    afsifs-20050615
    
    
    Windows IFS client code and build option

commit be485c959856311853303f5633687adb1efc5109
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 13 15:30:42 2005 +0000

    windows-logon-20050613
    
    
    fix the return value of IsServiceStartPending.
    
    use IsServiceRunning and IsServiceStartPending in the while loop

commit 8f5d90c7cf6137fc5fde1e4063ceb62aeb1abcd1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jun 13 02:06:57 2005 +0000

    windows-installer-updates-20050612
    
    
    Add asetkey.exe
    
    Add uninstall.exe and associated shortcut to Wix
    
    Fix ability to uninstall loopback adapter on non-English Windows versions
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add clean rule
    
    ====================
    
    use "uninst" for rule instead of "uninstall"
    
    ====================
    
    build wix/uninstall directory
    
    ====================
    
    add OpenAFS logo icon

commit 06597a0e03faf2f5d4cd8d3f72b93017970b28fd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 12 12:44:55 2005 +0000

    windows-misc-fixes-20050612
    
    
    if scp is not known when flushing dirty buffers, find it by fid
    
    only free the server list when one was obtained
    
    hold the scp mutex until after the associated bufp flags are updated
    
    only get the volume by id if there is a server callback
    
    map CM_ERROR_ALLOFFLINE to NT Remote Host Down

commit a08552748100597bea748b17a9ae1b8ddf4a9aa7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 12 12:25:13 2005 +0000

    windows-asetkey-20050612
    
    
    Add asetkey.exe to the Windows distribution

commit 324cd9710526238056801d9b19ef1626db7f3c78
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 10 22:37:37 2005 +0000

    pipe-logging-fix-20050610
    
    
    fstat calls should be lstat
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fstat calls should be lstat
    
    bang in the wrong place

commit 72de37a9c45f7d1184ef0c23465d2b79dbfe93c5
Author: Tony D'Amato <tony@lions.odu.edu>
Date:   Fri Jun 10 22:11:07 2005 +0000

    sgi-afs-rename-decl-fix-20050610
    
    
    achar -> char

commit 4af80bc2045ee85592a82bc9aacaee71f8667ea0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 10 22:07:05 2005 +0000

    unbalanced-unlock-20050610
    
    
    Addition of __EXPERIMENTAL_CALLBACK_CONN_MOVING if defined left an
    unbalanced H_UNLOCK.
    
    Semi-colons after H_LOCK and H_UNLOCK were missing.

commit a70bec720087aab99909861c346cc59d14107278
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Jun 10 21:54:23 2005 +0000

    windows-afslogon-20050610
    
    
    replace wfhile(TRUE) with while(afsAutoStart)

commit 51a587b9607df9da903dabff5db5e0d668fc0b0b
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jun 7 18:37:10 2005 +0000

    dont-restrict-nfiles-20050607
    
    
    Let afsd compute cachefiles as cacheblocks/10 instead of limiting it to
    50000 in the XLARGE and XXLARGE cases.

commit 8502de9a4b4ad3cc106f497ae0c5442e21197262
Author: Russ Allbery <rra@stanford.edu>
Date:   Sun Jun 5 17:20:48 2005 +0000

    linux-no-smp-modules-on-uniprocessor-20050605
    
    FIXES 18738
    
    don't try to build smp modules with uniprocessor kernel. this may need to be revisited for the redhat buildsys

commit 3b414bb125ce226ee79edb5bf0c524c4b3a3e75f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 5 15:52:21 2005 +0000

    windows-version-20050605
    
    
    1.3.8400

commit 01845badd5da293cb360fb54fc25d25558a150d4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 5 15:45:02 2005 +0000

    windows-notes-20050605
    
    
    updates for 1.3.84

commit be6ccec728bf2cad77f5aad83a706a281baaf9d0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 5 14:38:56 2005 +0000

    windows-syncop-waiting-20050605
    
    
    Forgot to remove unneeded flag

commit dfd34687f29ea2c20c5c0438ab4dba11e077f889
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Jun 5 07:44:32 2005 +0000

    windows-buf-waiting-20050605
    
    
    The function cm_SyncOp() can cause threads to wait either because there
    is a state conflict on the current use of the cm_scache_t object or
    a state conflict on the cm_buf_t object.  Waiting is always performed
    on the cm_scache_t object.  However, if the conflict was with the cm_buf_t
    object there was no method for waking up the thread when the conflict is
    cleared.  Now all of the cm_buf_t waiting functions also take a cm_scache_t
    and waiting threads are woken if necessary.
    
    cm_scache_t and cm_buf_t objects now have waitCount and waitRequest fields.
    The WAITING flag is now cleared by the waking thread who sets waitCount to
    zero.
    
    Many improvements to trace logging for these issues.

commit dcb55704f990790898780fc7a280b1a378440b9c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Jun 4 18:08:55 2005 +0000

    linux26-clear-inode-locking-20050603
    
    
    respect i_state flag
    
    (works for my test case, if it works more broadly i will pull up)

commit edb1f92a67c5875b6be11621fe1b519c01877e8f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 4 15:42:12 2005 +0000

    split-dcache-fixes-20050604
    
    
    based on discussions with jhutz@cmu.edu and chas@cmf.nrl.navy.mil

commit 23cbd8f646dac8dbe3d5615e8a59e1170a281f07
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jun 2 06:20:23 2005 +0000

    solaris10-optimization-20050602
    
    FIXES 17262
    
    declare certain things volatile to make solaris compiler less cranky

commit ab0f8ed43b863aeccbb98c8beae545cfeb40ee36
Author: Tracy Di Marco White <gendalia@netbsd.org>
Date:   Thu Jun 2 05:40:53 2005 +0000

    netbsd-fileserver-shutdown-20050601
    
    FIXES 16897
    
    do what we do on darwin

commit 9e110558c26b1f3b4c3f96fa9c4b3c1cb9e60dd7
Author: Tracy Di Marco White <gendalia@netbsd.org>
Date:   Thu Jun 2 05:27:27 2005 +0000

    netbsd-399-20050601
    
    FIXES 18288
    
    add support for netbsd 3.99

commit 7df1794eda61b60539c5bc3afcc384ea39f80c08
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue May 31 22:12:28 2005 +0000

    d-reval-one-more-20050531
    
    
    last try

commit fa00cacf48e66c275604d616112e0b74932ace44
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 31 21:33:52 2005 +0000

    windows-undo-20050531
    
    
    undo last change

commit c4c2f33340660948943d5ebff45e7ebd8085d647
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 31 20:55:35 2005 +0000

    rxkad-stats-cleanup-20050531
    
    
    define this in kernel

commit 528c511aabaefcafc01361c8038766ce56fe8e45
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 31 18:36:28 2005 +0000

    windows-more-races-20050531
    
    
    a couple of more locations at which cm_SyncOpDone() either was not
    called or was called without holding the scache mutex.

commit 1ceb19954b0b4bfca3d500803649debc0e9c001a
Author: Jim Rees <rees@umich.edu>
Date:   Tue May 31 16:43:59 2005 +0000

    use-test-r-20050531
    
    
    Use "test -r" instead of "test -e".  Not all systems (Solaris) have -e.

commit e844445243f837f9bc2fc52b503af99ecd44427e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 31 15:18:38 2005 +0000

    windows-logon-cleanup-20050531
    
    
    remove debugging messages

commit 4c143cf63df724637d765b8ade88a9f5aa97107e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 31 14:23:54 2005 +0000

    windows-des-stats-20050531
    
    
    Put the declaration for rxkad_stats back into the stats.h but only
    for Windows.   We don't want to deal with figuring out all the
    dependencies today.

commit d9f9724c9562f8ae0115394454dd2dd96ac258ff
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 31 03:11:38 2005 +0000

    rx-queue-macros-rename-20050530
    
    
    
    /usr/include/ctype.h on macos 10.3.9 now uses _Q
    
    bah

commit c87ae4f82cacacef68a2b54ad21e17ac6d5ddfae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 30 18:34:30 2005 +0000

    rxkad-stats-cleanup-20050530
    
    
    minor reorg so everything links ok

commit 5343ad18e33b97e808fdf377bbdb2c76bb63da0d
Author: Jeffrey Altman <jaltman@columbia.edu>
Date:   Mon May 30 11:49:30 2005 +0000

    not-cplusplus-20050530
    
    
    variables must be declared at the start of a block.

commit ad4634fca26d92c9496dbbd70e7c970c1f84a5ad
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 30 11:46:38 2005 +0000

    windows-double-declare-20050530
    
    
    rx_global_stats is being declared twice in the header file each
    time with different properties.  Remove the one that is not
    conditionalized.

commit e5d21400b799c34af8ed63cf5dba2ee95c83cd87
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 30 06:36:16 2005 +0000

    windows-include-des-20050529
    
    
    Create an include/des directory and copy stats.h into it

commit b9ae6e9547471c4006e4ac00879b3cb9bcefe47b
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Mon May 30 06:22:04 2005 +0000

    parallel-attaching-20050529
    
    FIXES 18999
    
    allow parallelization of VInitVolumePackage so attaching volumes can be sped up

commit 25b0681893b3c41cfeba213f9a6b7bfd0d85c685
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Mon May 30 05:55:12 2005 +0000

    pthread-rxkad-stats-20050529
    
    FIXES 17547
    
    speed up rxkad by keeping stats per-thread

commit b56513ffd69bbcd94afb2b1e1509aae63fa438fc
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon May 30 05:36:25 2005 +0000

    memcache-dont-dump-buffer-20050529
    
    FIXES 18944
    
    don't bother dumping what may not be a readable buffer while tracing when using memcache

commit 2995362346abd9691bc8d4ceca57247e1954fb1d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon May 30 05:33:30 2005 +0000

    linux-vnode-aliases-20050529
    
    FIXES 18613
    
    you can end up hanging when you end up with multiple aliases for a single directory (dentry) as a result of @sys or multiple mountpoints.
    
    don't end up with multiple aliases, and avoid the situation

commit 44350283a2fc3c18954169f42edda14063e86535
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Mon May 30 05:20:19 2005 +0000

    s390x-linux26-remove-externs-20050529
    
    FIXES 18987
    
    remove externs in param for s390x linux26

commit c915a6bce730fca994aef77b8a3224a3f126bae7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 30 05:13:13 2005 +0000

    windows-notes-20050529
    
    
    Update notes for 1.3.8300

commit c7db062bea6e57242554a3eb8aa32ac0271c45ae
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon May 30 05:12:10 2005 +0000

    d-reval-fin-20050529
    
    FIXES 18588
    
    last try at fixing d-revalidate

commit c640e271d893ac8275b3ee50b04f8775dca384b5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 30 05:07:56 2005 +0000

    module-license-url-20050529
    
    FIXES 18596
    
    url with module license info

commit ec84a819de10eac9ede8e2499b35d61bb4840744
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon May 30 04:57:02 2005 +0000

    vcache-cleanup-20050529
    
    FIXES 18368
    
    clean up unused stuff in struct vcache

commit 96472a6b3a71d5d5ef57e2481680920a7e006ffe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 30 04:55:47 2005 +0000

    windows-stuff-20050529
    
    
    (1) Replace all calls to getenv() with GetEnvironment().  getenv() does
    not read from the real environment but instead from a copy created by
    the C RTL.
    
    (2) Add support for preserving Kerberos 5 tickets during the Integrated
    Logon process.   Now when Integrated Logon is used, the tickets will
    be stored into the default ccache within the user session.
    
    (3) Stress testing at MIT uncovered two code paths that could leave
    threads in a permanent sleep state under heavy load.   Calls to
    cm_SyncOpDone were added to plug this hole.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Install afscpcc.exe and register the KFWLogon WinLogon Event Handler

commit d049ca2ae4e7708df028fca739c2a35ccb906bfb
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Mon May 30 04:39:50 2005 +0000

    rx-fpq-bulk-free-20050529
    
    FIXES 19027
    
    After profiling RX for a while, I've found a few more bottlenecks in the
    packet handling code.  This patch addresses a couple of these issues.
    The major change in this patch is a new API to allow bulk packet
    alloc/free ops on rx_queue's of packets.  Benefits include reduced lock
    contention on rx_freePktQ_lock, elimination of a lot of unnecessary cache
    line invalidates, and reduced register window thrashing on sparc.
    
    In addition, this patch dedicates one rx_packet per thread to rxi_SendAck,
    since that function is in the critical path, and represents a large
    percentage of execution time.

commit 985171769d01bfa8cd583e75c08d13949ac201fc
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Mon May 30 04:35:52 2005 +0000

    netbsd-pam-20050529
    
    FIXES 18924
    
    pam support for nbsd

commit b15721aef16f9b8b689bfc0be01a434f88610919
Author: Roman Mitz <rmitz@cmu.edu>
Date:   Wed May 25 00:12:52 2005 +0000

    discard-rx-streams-20050524
    
    FIXES 18895
    
    they wouldn't compile anyway. remove references also.

commit 57150405dac2e8ba5b815e880107dda7c48cbd58
Author: Klas Lindfors <klas@it.su.se>
Date:   Wed May 25 00:06:43 2005 +0000

    make-clearcallback-faster-20050524
    
    FIXES 4413
    
    hash callbacks twice so we can discard them more quickly.

commit 0d57910b60b3283803464eb26cd0a33d16c2d7db
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 24 21:32:36 2005 +0000

    unroll-macos-104-20050523
    
    
    we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to go out.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    we'll finish it on a branch and remerge; 1.3.83 needs to happen and 1.4 needs to
     go out.

commit 280e10315e00d9f3545bb5176f08c58512385571
Author: Asanka Herath <asanka@secure-endpoints.com>
Date:   Tue May 24 06:12:19 2005 +0000

    windows-loopback-20050524
    
    
    Find the loopback adapter installer by hardware ID instead of English name.

commit 2d130131201d78a47d097412d64c98268d481579
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon May 23 14:57:55 2005 +0000

    windows-notes-20050523
    
    
    more fixes

commit eb7ef65dfa95bbc035a54d15b594a19c1e94335a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun May 22 06:53:44 2005 +0000

    windows-delonclose-20050522
    
    
    Fix support for the CreateFile(DELETE_ON_CLOSE) option.

commit 4e6733a0520bc0221bdda085ffa83bd23463a599
Author: Jim Rees <rees@umich.edu>
Date:   Fri May 20 20:26:53 2005 +0000

    bsd-config-20050520
    
    
    config stuff for OpenBSD 3.7, FreeBSD 5.4 and 6.0

commit c20d9c0eabb6f6186f21e2f5bd7e125c9a9aee37
Author: Jim Rees <rees@umich.edu>
Date:   Fri May 20 20:19:26 2005 +0000

    obsd-time-20050520
    
    
    Remove extern time from OBSD/osi_machdep.h. It's in sys/kernel.h.
    Suggested by irene.braun@ualberta.ca.

commit 657a6ea09ea18ee597038816b7e0bf3b77c12c5d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 18 23:29:32 2005 +0000

    windows-version-20050518
    
    
    1.3.8300

commit 9bb874fc2c51907542c1bbafa2377f3aabf9bb20
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 18 23:27:19 2005 +0000

    windows-notes-20050518
    
    
    1.3.8300

commit 5b6865886258ea102c90dfb3af65b68d979ef936
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 18 23:22:03 2005 +0000

    windows-afssvrmgr-20050518
    
    
    Link resulting executable to kerberos 5

commit 10f6e5d6e2960469eb4d0e75f62fa9b33629b132
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 18 23:01:10 2005 +0000

    rx-makecall-race-fix-20050518
    
    
    On at least one system it was noticed that threads waiting in rx_NewCall
    would starve forever (aka deadlock).   This was the result of one out of
    two problems related to a race condition on the RX_CONN_MAKECALL_WAITING
    bit flag.  This flag was set once in rx_NewCall and cleared in rx_EndCall.
    However, it was possible for the flag to be cleared even though there
    were additional flags waiting in rx_NewCall.  This was due to a failure
    to check the value of makeCallWaiters before clearing the flag and also
    due to a failure to properly lock the access to the makeCallWaiters field.
    
    The second problem was an ability to destroy a connection on which threads
    are waiting within rx_NewCall.

commit 70a7e29bc0ad770d56a11e45d0bea84727eed755
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed May 18 14:52:24 2005 +0000

    linux-str-inlines-20050518
    
    
    add #include <linux/string.h> in the param file after <linux/config.h>
    fixes unresolved ref to strlen from xdr.o via inline

commit 6143eed83ce1d0f413b141c2c8d585dd649ce7d1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 17 19:25:21 2005 +0000

    windows-dnlc-corruption-20050517
    
    
    It has been noticed that on startup there may be corruption of the
    dnlc freelist.  In particular, some items on the list are actually
    in use.  This patch will cause the dnlc to be purged if corruption
    of the freelist is detected.  It also makes changes to ensure that
    items placed onto the freelist are in fact cleaned to prevent confusion.
    
    The purge function is corrected to set that magic field to the correct
    value.
    
    The validation function is fixed to not CloseHandle the same handle
    twice.

commit 0d4b01ba892240979dcf8d0cbf98e618607d97cd
Author: Jim Rees <rees@umich.edu>
Date:   Sun May 15 21:54:50 2005 +0000

    fix-vrefcount-20050513
    
    
    fix VREFCOUNT macro for XBSD
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and everything else.

commit 015c5356d9910688c497f860f70ed277e263239b
Author: Jim Rees <rees@umich.edu>
Date:   Sun May 15 21:40:15 2005 +0000

    freebsd60-readme-20050515
    
    
    Add FreeBSD 6.0.
    Consolidate linux kernel header notes in Linux Notes section.
    Reformat system types section.

commit 761c6ca7ff623a85532cd11c946734925a0e1dbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 13 22:43:55 2005 +0000

    macos104-not-yet-20050513
    
    
    rewrite attrs section a bit to deal with 10.4

commit 65682542456058462ff9cfa41543a6d5024721c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 13 04:00:24 2005 +0000

    macos104-not-yet-20050512
    
    
    virtualize vnode refcount "greater than" testing so we can use tiger primitive

commit 38f6b037e42d0e9342d846da33014719b68088a8
Author: Jim Rees <rees@umich.edu>
Date:   Thu May 12 21:06:59 2005 +0000

    fix-tuiop-20050512
    
    
    tuiop, not tuio

commit a5cb6d6c4e4fef19dc1b02a138bc671605e68a8a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu May 12 19:30:35 2005 +0000

    macos104-not-yet-20050511
    
    
    further work
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    ifaddr/ifnet compat macros for older versions, and clean up afs_server interface ot use it.
    
    fix vnode_isinuse macros
    
    ====================
    
    further work
    
    ====================
    
    further work

commit 116c2d680ebcb7bd977ee13c8ad2fe94e59ecfe3
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed May 11 22:33:33 2005 +0000

    windows-scache-release-20050511
    
    
    Add additional "if !NULL" checks before calling cm_SCacheRelease

commit 1279af120c1a876e975892c12deba1ff255e9936
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 10 04:34:03 2005 +0000

    windows-minidump-20050509
    
    
    Enable support for Minidump generation and crash reporting

commit dca8867b9eb8b578078ee6ebe17d46766c06fd62
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 10 04:33:28 2005 +0000

    windows-server-manager-20050509
    
    
    Enable KFW support for server manager

commit aa2f2fdd143904329ead91873dca0e55f0af141d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 10 04:32:30 2005 +0000

    windows-makefile-20050509
    
    
    reorganize dependencies to allow kfw to be integrated into Server Manager

commit 144e51ccd06b25dc08d9ba3435614fe72c94bf85
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue May 10 04:31:56 2005 +0000

    windows-notes-20050509
    
    
    latest updates

commit c206977d93116adf1d8ff79f2fd6374fa5a728fc
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun May 8 07:49:43 2005 +0000

    macos-104-not-yet-20050508
    
    
    shadow@dementia.org to blame for some of this.

commit 5afb5d6246d34948d15e93d1af9c2370d26c9f3a
Author: Klas Lindfors <klas.lindfors@it.su.se>
Date:   Sun May 8 07:16:45 2005 +0000

    export-calleraccess-via-pioctl-20050508
    
    FIXES 18442
    
    provide pioctl to get CallerAccess bits

commit f519e0457caaff9be2926518efffac586202e266
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun May 8 07:09:19 2005 +0000

    volinfo-fixes-20050508
    
    FIXES 18391
    
    large (>31bit) volume id handling and fixed handling of cloned volumes

commit ccdab705071cf7ab1a508b06bf09b472806a8b1f
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Sun May 8 07:05:09 2005 +0000

    linux-proc-read-seq-file-20050508
    
    FIXES 18612
    
    use sequenced file interface for proc copy of CellServDB

commit c1315b3b63b2ca2a1b95c63ede59d25bb9f6fe93
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Sun May 8 06:59:58 2005 +0000

    fix-64bit-assign-int64-20050508
    
    FIXES 18611
    
    make this match the way the 32 bit (struct lo/hi) version works

commit 2669e1103bc733df4e27e24438c72d7d39a4c476
Author: Marc Horowitz <marc@mit.edu>
Date:   Sun May 8 06:55:45 2005 +0000

    sparc64-linux26-20050508
    
    FIXES 18485
    
    add sparc64-linux24 port

commit 160c01035ca3775d8bf21dd9a34bd0f51f309159
Author: Steve Roseman <sgr0@lehigh.edu>
Date:   Sun May 8 06:50:23 2005 +0000

    aix-auth-speedup-20050508
    
    FIXES 18467
    
    The security module "afs_dynamic_auth" can get VERY slow if trying to
    authenticate against a user in a large NIS password file. This happens
    because it "replaces" getpwnam with code which loops through the
    "passwd" file.
    
    this 1) makes external programs use the "real"
    getpwnam, and 2) changes the internal routine afs_getpwnam_int to use
    getpwnam instead of iterating.

commit e8efb3970aef3ec9d2f2ca01a4550ed6c7cf62a1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun May 8 06:46:14 2005 +0000

    linux-copyin-copyout-dont-check-errors-20050508
    
    FIXES 18293
    
    improved macros which do error checking

commit f6883dfbbcbe14f65c2b9e44f2841392050e755f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun May 8 06:38:15 2005 +0000

    d-revalidate-redux-20050508
    
    FIXES 18588
    
    when the callback for a directory is broken the children of this vnode
    are not invalidated as well. so VerifyVCache() always believes these
    vnodes to be up to date since they will still have the CStatd flag.
    
    perhaps breaking the callback on a directory should also clear CStatd
    on children vnodes?
    
    this isnt a problem for other operating system which go through the
    dnlc which does purge the children entries for the vnode in question
    during ClearCallBack().
    
    since d_revalidate now avoids the dnlc (and afs_lookup) the following
    patch tracks the parent vnode's DataVersion (just the lower half really
    but this should be sufficient) in d_time. if the parent has changed
    then the dentry is flagged as neededing updated.

commit ba9a46089417c13ca5570839713ddeadc2413ef7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 2 03:04:45 2005 +0000

    macos104-not-yet-20050501
    
    
    push first group of 10.4 changes

commit 35c9cef27e3f60588b5b15e3795d9475ed377e32
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 29 22:55:58 2005 +0000

    freebsd60-mount-20050429
    
    
    Fix new FreeBSD mount vfs op.
    Client works now, at least for a little while.

commit 02bbfe94abe7aa617d3e841df7e1fab98f43c64c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 29 21:00:10 2005 +0000

    windows-version-20050429
    
    
    1.3.8201
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    1.3.8201 (do it right this time)

commit 2a46337042e9aee6ddb3152f8edd892db7ebdeb4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 29 20:51:18 2005 +0000

    windows-fix-kfw-dependency-20050429
    
    
    a failure to install KFW would lead to crashes

commit e89913282cfe3a9cc029911e0d6bb24bad90892a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 29 20:49:58 2005 +0000

    windows-notes-20050429
    
    
    1.3.8201
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove AFS Gateway option

commit 36957dd203ddb45d993e1ea9ad1ffaeccc3b9390
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 29 19:24:01 2005 +0000

    freebsd-20050429
    
    
    Move module init/uninit code from module event handler to vfs ops
    Use VFS_SET for FreeBSD 6.0

commit ff6259a9c4122f098328c2b256093bd32f979e8f
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 29 18:01:08 2005 +0000

    getpid-20050429
    
    
    rename our getpid() to osi_getpid() to avoid name collision with kernel version

commit a15d665e1d3a5cb564f2d32d6700b1bdef069728
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 29 02:48:21 2005 +0000

    macos-osi-flushpages-20050428
    
    
    reenable osi_FlushPages

commit 4fa2511a449a332a0217ab00dbdb9714ce4aa156
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 28 23:14:57 2005 +0000

    split-dcache-20050427
    
    
    split for rw/ro dcaches to allow portion of cache to be dedicated
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    update

commit 7a4c7609c8ec87030813687b4a015ea58281ffaa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 28 19:12:43 2005 +0000

    windows-version-20050428
    
    
    1.3.8200

commit 1e75a2fdc1979beba0df0837e4588230acfdc4c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 28 06:02:19 2005 +0000

    vnode-nusers-avoid-potential-overflow-20050428
    
    
    a byte is very small...

commit 965864f2ed8659b02c0ff6ed88ca2b8d24271837
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 28 04:10:19 2005 +0000

    osi-initcacheinfo-cleanup-20050427
    
    FIXES 18429
    
    remove extraneous variable, be consistent about cacheMnt type

commit 48e618ff0aa6708bcc2fe8cd577f7db7342e8c48
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Thu Apr 28 04:04:13 2005 +0000

    change-s390x-linker-binding-20050427
    
    FIXES 18447
    
    to avoid binding against xdr_int_internal in xdr use from the pam module

commit c90b1bd66a8c2565a4b6927d2344768b0768c545
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Apr 27 22:43:18 2005 +0000

    linux-always-glock-20050427
    
    
    finish this up, always glock on linux

commit 8085bc4d476a2e77b26454929cdfa1d034c754f7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 27 16:32:22 2005 +0000

    windows-callback-race-20050427
    
    
    cm_EndCallbackGrantingCall contained a race condition due to the release
    of the cm_callbackLock in the middle of the for() loop.  The race was
    removed by optimizing out the call to cm_CallbackNotifyChange().  There
    is no reason this needed to be called once per callback revoke in the
    list.

commit bd6345779e38b4de1d7b83269cace93ccc8bfb8a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Apr 27 16:28:00 2005 +0000

    winnotes-20050427
    
    
    more updates

commit f2558d6b89d4d3e6effbd8fc3868303cc3e69e7b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 27 02:49:47 2005 +0000

    add-ptprocs-prototype-use-20050426
    
    
    thanks to Chris Wing for pointing this out

commit e911b292af2c35f8f4af29aed26c557bf856d498
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 27 02:36:40 2005 +0000

    daemonize-log-somewhere-so-fds-can-close-without-harm-20050426
    
    FIXES 18405
    
    switch to VLog from printf

commit 35285dad3e20e50f592afa95d994b68ded5c8b2b
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Mon Apr 25 21:52:59 2005 +0000

    rx-fpq-optimize-20050425
    
    FIXES 17805
    
    here's a patch that reduces the overhead of transfers
    between the local and global free packet queues. The old algorithm was
    O(n) in the number of store instructions -- 7 per rx_packet. I've added
    some bulk transfer macros to the rx_queue package. Now, the number of
    store instructions is O(1) -- 6 total. This should help reduce bus
    contention and cache line invalidates on SMPs.

commit 3a30e787f2ab5c16bc1fdf34d74f67963ef63155
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 25 18:20:16 2005 +0000

    linux-global-sunlock-always-20050424
    
    
    ok, well, in the land of pre-emption i guess we need this always

commit 7631e20aa097ff062cbd3b04f2d483e3e7a95707
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Apr 25 15:54:54 2005 +0000

    linux-dentry-revalidate-one-more-20050424
    
    
    further updates

commit 9213494ea84370f095d1d43e81b78fa11e5529e7
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Apr 24 15:54:03 2005 +0000

    add-missing-inotify-test-20050424
    
    
    so we actually detect the inotify sem

commit 937e96cfd192c86affa8a86f24ea4a5cdd81c7cd
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Apr 24 15:26:53 2005 +0000

    dentry-revalidate-cleanup-20050424
    
    
    clean up dentry_revalidate one more time so performance improves

commit 87de2a0c8f3870017dddaf7cc7e3a748a7c71fb4
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Sun Apr 24 15:24:57 2005 +0000

    aix53-20050424
    
    
    add param file for aix 53
    check for cache partition type

commit 6115ace770c1b63db2bae9a883c63c7f478315a6
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Sun Apr 24 15:19:55 2005 +0000

    maintain-volume-filecounts-20050424
    
    
    maintain file counts in volume header

commit 21610a43f7bd4a0f1df1c1184308c04b26d77785
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Sun Apr 24 15:16:21 2005 +0000

    use-daemon-in-bosserver-and-afsd-20050424
    
    
    provide daemon() if none exists. call it in bosserver and in afsd for afsdb handler
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add the file, too

commit 1ecb15494a769dad02d2278dbe50d34cab0cab05
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Apr 24 15:01:29 2005 +0000

    avoid-leaking-stat-info-20050424
    
    
    otherwise we are effectively giving stat powers to people who shouldn't have it

commit 6c0ca56a91dba4e74819d169a387f9c07be6ec9a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Apr 24 02:02:52 2005 +0000

    osi-file-use-dentry-open-20050423
    
    FIXES 18335
    
    use dentry_open et al instead of doing the work ourselves

commit 784854caceb5b9fa6e1a6db1446887b99b4bb14e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 24 01:54:42 2005 +0000

    linux-osi-module-proc-csdb-sprintf-bug-20050423
    
    FIXES 18334
    
    remove extraneous %s

commit 8e3f1f45b0615e38aa8b8171b2d99e0d2d72cc0a
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 22 15:57:09 2005 +0000

    freebsd60-20050422
    
    
    Preliminary FreeBSD 6.0 support.
    Builds, but unlikely to work.

commit 8a009bf15110b94245c638e89ea91bbbd859238c
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 21 23:08:12 2005 +0000

    ignore-ytab-20050421
    
    
    add y.tab.h to .cvsignore

commit 0223153f50ea07e7714ddd34e00317210a01b15f
Author: Michael Niksch <nik@zurich.ibm.com>
Date:   Thu Apr 21 13:03:43 2005 +0000

    restore-tab-20050421
    
    
    Restore lost tab.

commit 9198f00b19d0ba793d62241973403d7d1e8acfab
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 21 03:16:57 2005 +0000

    windows-shell-ext-remove-mtpt-20050420
    
    
    Conditionalize the AFS->Mount Point->Remove menu item based upon whether
    or not the selected item(s) contain mount points

commit 1099227e08af3df856d8a998746d98405e3ef04b
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Wed Apr 20 22:21:16 2005 +0000

    rx_fpq_take_three-20050420
    
    FIXES 17805
    
    I've been stress testing a patch all weekend that changes the way
    thread-local packet quotas are computed.  I was able to replicate the
    unbounded packet alloc problem on unix server components by eliminating my
    code from rxi_StartServerProcs that sets the maximum number of expected
    threads.  This patch makes the upper thread limit get computed on the fly,
    adds some thread-local free packet queue statistics, and a few other minor
    tweaks.  I still don't have a working windows development environment, so
    I can't say whether this will fix all the windows client problems.  But,
    the unbounded packet allocation problem should go away with this patch.
    
    stress testing on windows succeeds as well. <jaltman@secure-endpoints.com>

commit 92920f732d8c9b2ca623ede5ffe5a56e98e32624
Author: Jim Rees <rees@umich.edu>
Date:   Wed Apr 20 17:35:44 2005 +0000

    fix-vc-v-macro-20050420
    
    
    Fix IsAfsVnode and friends for OpenBSD and NetBSD.
    Use "v" instead of "vc" for vnode args to macros (cosmetic only).
    Redefine OpenBSD macros instead of using #ifdefs in afs_osi.h.

commit 5dd44b7a0f04ea43ca8ddea97ae7f1591de9fd54
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 22:06:22 2005 +0000

    windows-hookdll-20050419
    
    
    Some more tweaks for hook dll processing.

commit 77111b823235eefbcc43a61fc7917d25c1bdac44
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Apr 19 17:27:25 2005 +0000

    linux-conflate-rdwrs-20050419
    
    FIXES 17561
    
    conflate the 2 rdwr routines we have

commit 9b506fb588eb884b3255f298f204b36e95b46851
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Tue Apr 19 16:50:25 2005 +0000

    aix53-20050419
    
    
    add aix 5.3 support

commit c0753e9ee7ff61ecd162cebbb30da7f0a8ca0bb6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 07:26:27 2005 +0000

    windows-hooks-20050418
    
    
    Add new hooks from "AfsdHook.dll" to the afsd_service.exe
    
       AfsdInitHook - where you currently have one
    
       AfsdRxStartedHook - after RxInit but before SmbInit
    
       AfsdSmbStartedHook - after SmbInit
    
       AfsdBkDaemonHook - called by the BkDaemon thread and is executed once per
                          cycle
    
       AfsdStoppingHook - called just after a shutdown event has been
                          received but before any shutdown has been performed
    
       AfsdStoppedHook - called just after all shutdown operations after
                         completed but before the service terminates
    
    The type of the function is
    
       BOOL ( APIENTRY * AfsdHook )(void)
    
    in all cases.  Returning FALSE will cause the service to shutdown.

commit f4f8176464bab9256786135df2f09fe8b129e7c1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 06:04:35 2005 +0000

    windows-O_NOBLOCK-20050418
    
    
    O_NOBLOCK is not defined on Windows

commit c630f81194666e438d93b79fc2510d112050e524
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 06:04:03 2005 +0000

    windows-rx-ts-fpq-20050418
    
    FIXES 17805
    
    Add a new function called rx_StartClientThread() which parallels the
    behavior of rx_StartServer but is used for initializing client threads.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 17805
    
    Add a new function called rx_StartClientThread() which parallels the
    behavior of rx_StartServer but is used for initializing client threads.
    
    Also, disable RX_TSFPQ_ENABLE for Windows as it slows the client down.

commit 66b82d3c10101b70abcbcc6933b439aa1904600f
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 06:03:10 2005 +0000

    windows-formatting-20050418
    
    
    keep formatting consistent

commit ebf2022608aa239756a3a43e18ece02f3e512abc
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 19 06:02:48 2005 +0000

    windows-free-lib-20050418
    
    
    call FreeLibrary not CloseHandle

commit 61c5f8c0c89cb15f2bc4e47edb018c33d9ba256e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 18 21:09:38 2005 +0000

    macos104-not-yet-20050418
    
    
    push first group of 10.4 changes

commit e93bf762518b9afe91dee604e46fd8339c78360d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 18 15:43:50 2005 +0000

    windows-syscfg-20050418
    
    
    GetAdaptersAddressess -> GetAdaptersAddresses

commit bf094cb5f4994d403c1fd0f6bf26c83447d95ae9
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 18 15:30:53 2005 +0000

    linux-fmode-set-20050418
    
    
    to avoid problems where we don't get truncated

commit 7b71eb265efc727c88de0f25c1c6569831e6cbf9
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Apr 18 15:28:05 2005 +0000

    logging-in-linux-vnodeops-sucks-20050418
    
    
    given that we keep ending up with these weird errors, it's just not worth it.

commit d8c0cc4c26fc779cf157fba07606060500555f38
Author: Robert Banz <banz@umbc.edu>
Date:   Mon Apr 18 15:25:34 2005 +0000

    solaris-largefile-not-on-ia32-20050417
    
    
    disable largefile on solaris x86 32 bit

commit eb71287333da152158cb2ea35c8f6c9f97752e6c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 18 03:28:31 2005 +0000

    missing-eof-20050417
    
    
    add missing eof

commit 93ece98ccb1fd54c8c10848c574efe8932befc28
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 20:39:33 2005 +0000

    ptserver-restricted-mode-20050415
    
    
    add restricted mode to pts
    only admins can make changes

commit 6fe57dcfdae6efbf1aaf8e994e280c813c8c30dd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 20:32:31 2005 +0000

    make-linux-proc-cellservdb-info-20050415
    
    
    use info hook instead of read so we can have larger than a slab

commit 16982614437754880951c8a1c0220e61d13eccf7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 20:04:55 2005 +0000

    license-compromise-20050415
    
    
    just copy the full list of licenses here. bleh.

commit 44eac0a8ac135b76876c6740b852406dad042f97
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 20:02:08 2005 +0000

    license-update-20050415
    
    FIXES 18131
    
    collect all licenses here

commit a72d598e09a935f5974243cd622e0b986222b8b8
Author: Kris Van Hees <aedil@alchar.org>
Date:   Fri Apr 15 19:43:57 2005 +0000

    vos-release-compare-update-timestamps-20050415
    
    FIXES 17758
    
    use last updated timestamps to determine if a release needs to be done

commit c38270884ad47b4d04d6212739e2fcee34568d3a
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Fri Apr 15 19:34:30 2005 +0000

    fix-rxkad-prototype-20050415
    
    FIXES 18079
    
    fix cbc_encrypt prototype

commit 2dc87bcf1e632444b163eea94172b77e7d376d5c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 19:33:22 2005 +0000

    kill-struct-osisocket-20050415
    
    FIXES 18079
    
    more complete version of what's in the patch, kill all refs to struct osi_socket in favor of just osi_socket
    
    from  psomogyi@gamax.hu

commit 4625fe8f93518d68bb61f58bb51a9c430ede37e9
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Apr 15 19:23:06 2005 +0000

    viced-already-regd-warning-20050415
    
    FIXES 18049
    
    the ethernet address is irrelevant

commit 3e20db8bbbcfd4f725d803b705b8816aa84f859d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 15 17:01:40 2005 +0000

    windows-locking-freeacls-20050415
    
    
    Ensure that the appropriate mutex locks are held on the stat cache
    entry referred to by the acl back pointer when performing a cleanup

commit bee80ed64c042d63e9a57875a064744199d44996
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 15 17:00:15 2005 +0000

    windows-memmap-adjust-20050415
    
    
    Prepare to allow the maxVolumes and maxCells parameters to become
    independent of the MaxStats value

commit 671b02194a49c2548bdad45d2f1ba3c6452f3d43
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Apr 15 14:40:31 2005 +0000

    sema-init-takes-2-args-20050415
    
    FIXES 18271
    
    init sema correctly

commit b086690fbb27b8ee31c8d8f546f9ed4824007cd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 15 14:31:42 2005 +0000

    fifo-logs-20050415
    
    
    use O_NONBLOCK during open if it's a fifo
    suppress SIGPIPE in case we care (EPIPE handling still not needed: return value
    of write is discarded)

commit e2d6d9bf2e8d628096b9ce4d6eb558524231bac4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Apr 14 06:46:34 2005 +0000

    windows-winlogon-logon-event-20050414
    
    
     Apparently the problem with multi-domain forests with cross-
     realm trusts to non-Windows realms was not entirely solved.
     The authentication to the AFS SMB service failed because
     the wrong name was being used.  Using ASU as an example,
     the authentication was being performed with the name
     "QAAD\user" (an account in the forest root) and not
     "user@ASU.EDU (the MIT Kerberos principal used to login with)
    
     The solution was to add an additional dependency on KFW
     in order or to be able to easily obtain the client principal
     name stored in the MSLSA ccache TGT.  This information is
     used in two locations:
    
     - the pioctl() function
    
     - a new WinLogon Event Handler for the "logon" event.
    
     The pioctl function will now be able to use the correct
     name when calling WNetAddConnection2() and the "logon"
     event handler will now be able to call WNetAddConnection2().
     The hope is that the "logon" event handler will be called
     before the profile is loaded but I have not guarrantee
     that will happen.

commit bdc7e43117706d0aa46d3b6435489e9d4c2b0888
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 14 05:41:59 2005 +0000

    support-named-pipe-logs-20050414
    
    
    so log files can be named pipes

commit 5aab14c8434e9ea5f3bfa05b6a8cc20de1856c6a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 14 05:29:34 2005 +0000

    renamefile-for-mrafslogs-20050414
    
    
    call the renamefile wrapper so mrafs style logs on windows work like other logs

commit cffa1571bb7122cdd5fc18251685af5a3c5cbaaa
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Apr 14 05:22:24 2005 +0000

    kill-rxglock-20050413
    
    FIXES 18222
    
    the rxglock was being defined out by all the platforms, just kill it.

commit 004be0249387802cc7abe45d50c6f8b67c4832d0
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Thu Apr 14 03:41:18 2005 +0000

    rx-fpq-trying-again-20050413
    
    FIXES 17805
    
    this time we'll work it out on windows. multitier free packet queues to increase performance

commit 7dd07b912b62b62cc19a24abfd6ebd81abc3cca7
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Apr 14 03:32:46 2005 +0000

    bye-getitimer-20050413
    
    FIXES 18221
    
    stop using getitimer on linux

commit dbeab01c12fd61305b9b5cc9a61036d934db1ce8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Apr 14 03:25:02 2005 +0000

    kill-rxglock-20050413
    
    FIXES 18222
    
    the rxglock was being defined out by all the platforms, just kill it.

commit 12df63ce9a626dded034e90f92ec9f15326ab96c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 14 03:18:33 2005 +0000

    linux26-unlocked-ioctl-20050413
    
    FIXES 18224
    
    add unlocked_ioctl support and compat_ioctl support

commit c7774aa1177e4363db92d7c309263204093a440d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 14 03:13:50 2005 +0000

    tbutc-avoid-lwp-libs-20050413
    
    FIXES 18225
    
    stop using lwp family libs when building tbutc

commit d489574156ff01b0a8ff362c14eb12d9a8642d1f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Apr 14 03:09:46 2005 +0000

    kill-clock-advance-20050413
    
    FIXES 18228
    
    we don't use clock_Advance, so it's gone

commit 9307de2fe7780b2df43b5f8e21871f8e5eb633dc
Author: Peter Somogyi <psomogyi@gamax.hu>
Date:   Thu Apr 14 02:59:34 2005 +0000

    aix-volser-fix-retry-20050413
    
    FIXES 18240
    
    destroy lock only after we gave up permanently

commit 40e03e078f02fd819a187457678b001065a0972f
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Apr 14 02:38:37 2005 +0000

    hpux1123-parisc-20050413
    
    FIXES 18245
    
    hpux 11.23 changes for parisc

commit 0fb256419d48beadc6236481b6b27839e6ad6dd9
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 14 02:14:21 2005 +0000

    linux-inotify-sem-20050413
    
    FIXES 18260
    
    add inotify sem detection

commit 84d997e240979271472721e80980cc6d9f19b9e5
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 14 01:54:25 2005 +0000

    rx-dont-use-kmutex-outside-linux-kernel-20050413
    
    FIXES 18261
    
    don't use kmutex in prototypes outside linux kernel

commit 87e748f20df109be127827f7f45c1ce549e217f4
Author: Tom Keiser <tkeiser@gmail.com>
Date:   Mon Apr 11 19:10:58 2005 +0000

    cblater-hold-lock-on-broadcast-20050411
    
    
    avoid race from not holding lock around fsync_cond broadcast

commit a054c419176c6ad73dafed66ce6acfbdf3f36952
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 11 19:03:03 2005 +0000

    cleanup-rcmd-killing-20050411
    
    
    cleanup killing of rcmds.

commit 1ca15ed253d8273a9b47c9da95ea1c59412f3e8b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 6 22:24:27 2005 +0000

    linux-follow-link-light-needs-putlink-20050406
    
    
    based on research by cg2v@andrew.cmu.edu and suggestion of jhutz@cmu.edu
    needed so kmaps are balanced by kunmaps

commit b5be28de3093b225c2a2e927ecefe395d9a74388
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Apr 6 06:08:56 2005 +0000

    afsdb-lock-20050405
    
    
    
    init one more lock

commit 28c0189fa2a5880ef0c8f89645c69673def29027
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 6 05:46:03 2005 +0000

    osi-probe-old-kernels-20050405
    
    
    old kernerls lack __user

commit d0879e78e6a8824eb745359a00b1d3170b977eaa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Apr 5 03:16:43 2005 +0000

    windows-rx_mtu-20050404
    
    
    cmdebug -addr should report the rx_mtu size if it is set and less than
    the actual mtu size

commit 54d6578ae68f8a093661a69fa763499f10457623
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 4 12:51:02 2005 +0000

    windows-notes-20050404
    
    
    final updates before 1.3.81

commit 9e811713859a45e644f28c606e79701e422ea3f9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Apr 4 12:37:28 2005 +0000

    windows-version-20050404
    
    
    1.3.8100

commit 04ab517de87cb01c49b33afa74b25b7577a91c92
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Apr 4 08:42:59 2005 +0000

    make-afs-h-includable-outside-kernel-20050404
    
    
    so you don't need to define KERNEL to cinlude this

commit 9e7c3c015f2b89d360de43f70b8eb69d8adc9c10
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Apr 4 08:34:58 2005 +0000

    kdump-update-20050404
    
    
    make kdump build again

commit 9b10a8c4b85180a202123815b948581dda036d66
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 4 06:02:56 2005 +0000

    remove-insecure-and-ntp-20050403
    
    
    rcmds, inetd, ftpd and ntp are gone. leaving the files in the cvs head for now.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    rcmds, inetd, ftpd and ntp are gone. in 1.4, files also go away.

commit de920422171ab134f2821d1dd2feeb542750a0f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 4 05:26:36 2005 +0000

    remove-rx-2tier-freepacketq-20050403
    
    
    needs more work.

commit 2eda44d7eb3c1adc103600a3c3695e37b238441f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 4 05:17:56 2005 +0000

    macos103-update-20050403
    
    
    use system vnodes. one remaining bug, dangling vnodes at shutdown.

commit 2a3d2ad3af1a0443fe59d48b2889f2508ec5fe5f
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Sun Apr 3 21:20:54 2005 +0000

    vos-partinfo-summary-portability-20050403
    
    
    make this work on systems with non-native 64 bit int

commit 5c6b956257f4f43122d393eaf119ad7616084576
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Sun Apr 3 21:12:36 2005 +0000

    rx-2tier-freepacketq-20050403
    
    FIXES 17805
    
    The attached patch turns the rx free packet queue into a 2-tiered cache
    with a local thread-specific queue, backed by a global queue when using
    pthreaded rx. The patch is against 1.3.79. Preliminary benchmarks show
    scalability much closer to 2 cpus on sparc with this patch. Also,
    fileserver performance under heavy load is improved: 50% improvement in
    throughput for sequential writes, and a 10% improvement in performance for
    random writes against an smp sparc solaris 10 fileserver.

commit 4bf562265c18433868e3ae28c4b6fb3dd30d57af
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Sun Apr 3 21:09:53 2005 +0000

    hid2client-write-lock-20050403
    
    FIXES 17867
    
    h_ID2Client currently returns a client struct with a shared lock. The
    only caller of h_ID2Client (SRXAFS_FlushCPS) immediately calls
    BoostSharedLock. This patch just goes ahead and makes h_ID2Client return
    it with the write lock so we don't enter the Lock struct mutex multiple
    times in a row. This also happens to remove the last reference to
    BoostSharedLock in the tree.

commit f9971b7729d31ecb08d22dcd3511f924c6681214
Author: Andrej Filipcic <andrej.filipcic@ijs.si>
Date:   Sun Apr 3 21:00:11 2005 +0000

    alpha-linux26-20050403
    
    FIXES 18081
    
    alpha linux26 port

commit c5c9bf0a7896047381d2d07ddaa954b231b7f356
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Apr 3 20:53:43 2005 +0000

    rx-clock-rollover-fix-20050403
    
    FIXES 17990
    
    itimer rollover comes faster now; handle it.

commit becb3ea3ce793972f95523a3efd88f8c43837675
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Apr 3 20:48:32 2005 +0000

    more-linux26-cred-fixes-20050403
    
    FIXES 18009
    
    instead of crget() getting a groups_alloc(0) just to put it, we just fix
    crref()/crdup()/afs_pioctl() to do the "right" thing
    
    added missing task_lock()'s as well.

commit 423125bcb611a1790df93a6090959dab7364056a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 20:37:29 2005 +0000

    license-update-20050403
    
    FIXES 18131
    
    collect all licenses here
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 18131
    
    install LICENSE into destdir builds

commit f96befff4353f7820afb7e1436360f84f92a902c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 20:21:19 2005 +0000

    hpux-license-update-20050403
    
    FIXES 18129
    
    update hpux psf file copyright info

commit f8831d1ed74a3da346bb24162d1bace8467e3ab7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 20:13:11 2005 +0000

    macos-update-packaging-20050403
    
    FIXES 18127
    
    add apsl 2.0 license. note it in ReadMe.rtf. update buildpkg to provide afsd options sample. update post_install to use sample ThisCell and options if none provided.

commit face6451fda9809a28cf6bec42f50f211b51d07d
Author: Sven Oehme <oehmes@de.ibm.com>
Date:   Sun Apr 3 20:02:28 2005 +0000

    linux-ppc64-26-20050403
    
    FIXES 18114
    
    add support for ppc64 linux26

commit 10afa98bcd952b490d850054115e945bb44fd79f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 19:48:16 2005 +0000

    new-gcc-cleanup-20050403
    
    
    more picky about some of this stuff, and it's right, so let's clean it up

commit 228f109a4303db018f3e52db0822f8d70dc10d43
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 19:32:20 2005 +0000

    remove-insecure-and-ntp-20050403
    
    
    rcmds, inetd, ftpd and ntp are gone. leaving the files in the cvs head for now.

commit 2f9948b7e72b5dde1d46ecb05498e8f0248aee67
Author: Sven Oehme <oehmes@de.ibm.com>
Date:   Sun Apr 3 19:17:58 2005 +0000

    s390x-linux26-flavor-check-20050403
    
    FIXES 18112
    
    add missing flavor bit check for s390x

commit 412854593cf368006c18e6c0dc607a9ecd76a0e0
Author: Niklas Edmundsson <Niklas.Edmundsson@hpc2n.umu.se>
Date:   Sun Apr 3 19:13:30 2005 +0000

    aix5-allocator-cleanup-20050403
    
    
    * Removed memory allocation functions only used on AIX and ancient
       HPUX. If the performance penalty is noticeable, implement a wrapper
       at the osi-level in the same manner as LINUX/FBSD (ie not sprayed
       throughout the code).
    * Removed all remnants of splnet()-style locking, it was not
       sufficient for MP anyway which the real locks are. Affects only AIX
       and HPUX.
    * Drop the global locking in rxi_Alloc since the real locks do their
       jobs, affects only AIX41 and up (ie. MP capable OS).
    * Fix the non-kernel wrapper for osi_Alloc/Free on AIX to take void *
       in the same manner as the rest of the functions. IMO this wrapper
       shouldn't be necessary since you should never ever malloc() 0 bytes,
       but since it's there I'd guess someone made stupid assumptions
       somewhere...
    * Restores MAXKTCTICKETLEN to 12000 on AIX
    * Restores AFS_LWP_MINSTACKSIZE to 48k on AIX (might affect
       server-stuff)

commit 706530c295dcf528d7307a524020457a0a6d5f59
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 3 19:09:05 2005 +0000

    openafs-kill-dead-code-20050403
    
    
    Code ifdef'd any of AFS_MACH_ENV, AFS_GFS_ENV, AFS_DEC_ENV dies
    
    Code ifdef'd AFS_SUN_ENV either becomes AFS_SUN5_ENV or dies as appropriate,
    in the kernel only. The database servers etc are probably still buildable,
    and I still have a SunOS 4.1.4 machine. ;-) But the Solaris vnops get all
    SunOS 4 code nuked.
    
    Uses of AFS_ALPHA_ENV which secretly meant OSF/1,D/UX,Tru64 become
    AFS_OSF_ENV.
    
    Bozon lock use gets its own ifdef. OSF and Solaris define it. Darwin and any
    BSDs have bozon lock usage removed: note that only OSF and Solaris were
    bothering to *init* the bozon lock during NewVCache. Bozon locks are for
    platforms where basically we could end up deadlocking ourselves because of
    how locks are handled.
    
    Some nonsensical ifdefs removed.
    Some if 0'd code removed.
    Some obsolete code (hpux pre-10, for instance) removed.

commit 15d82b857efc21fd80f250d2f315e12f8b20db2a
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sun Apr 3 06:32:35 2005 +0000

    rxdebug-unsigned-20040403
    
    
    use unsigned types when displaying stat data via printf

commit 6beff57613f56870218af992b1ae394aecb9fe09
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 2 10:06:44 2005 +0000

    windows-notes-20050402
    
    
    updates for version 1.3.81

commit 48b2968e0a3ff5f07bd1e04f01e625b110d78482
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Sat Apr 2 09:23:50 2005 +0000

    windows-deadlock-20050402
    
    
    One final deadlock was found in cm_TryBulkStat().  Do not hold the scp->mx
    through the RXAFS call.

commit 9a3844a96b07ffa7b677460d0a9f0dbffd774e03
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Apr 1 00:36:04 2005 +0000

    windows-time-20050331
    
    
    Replace the time translation hack based on smb_NowTZ with a purely
    mathematical conversion from UTC based unixTime (time_t) to UTC
    based FILETIME

commit 0a9609d8eb599dfe11ff04d8752e15b58c3ef89d
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 31 07:05:21 2005 +0000

    windows-afsd-minor-20050330
    
    
    Add bounds checking to the comparison of fid->vnode and cm_localMountPoints
    when Freelance mode is used.
    
    Fix typo in DJGPP section of smb.c
    
    Use rx_connection * instead of rx_call * in previous fix to cm_dcache.c

commit b9bf7ee01acc7f2646fbc6e09c1ca8d41cc59d55
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 30 21:49:35 2005 +0000

    windows-stress-test-fixes-20050330
    
    
    Ran more stress tests against 1.3.80b on a dual processor machine and
    found a number of additional errors which could be fixed.
    
    cm_callback.c: correct the refCount handling of server lists when
    processing registering callbacks on the scache entry
    
    cm_conn.c: cm_Analyze was not handling the CM_ERROR_NOSUCHVOLUME case.
    In this case force a retry and Force Update the Volume info
    
    cm_dcache.c; do not hold mx locks around calls to rx_NewCall().  That is
    why we have reference counting on the rx_connection objects.
    
    cm_ioctl.c: replace references to afsdcell.ini with CellServDB
    
    cm_utils.c: formatting
    
    cm_vnodeops.c: improve the logging and add a missing call to
    cm_EndCallbackGrantingCall()
    
    cm_volume.c: allows cm_volume_t objects to be reused if their
    ref count is 0 and we have hit the maximum number allowed.
    
    smb.c: improve the logging and the handling of dead_vcp references.
    If all of the SMB sessions and NCBs are in use, return BUSY to the
    CIFS client.
    
    smb3.c: convert constants to preprocessor symbols

commit c167d56b1afcf5f4dfb0fc50a430504e253a77c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 26 07:10:39 2005 +0000

    linux-vnode-macros-20050326
    
    
    here's a place where we passed a vcache instead of a vnode for linux. doesn't
    matter today, might as well fix it now.

commit 1156923e08d95972105fcb99045b29b2c7732fc5
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 27 21:19:45 2005 +0000

    lwp-deal-with-unaligned-memory-20050326
    
    FIXES 18050
    
    don't double-free lwp stack space

commit 4cbe2e7ebfc993a3d09d558cd58757e0b858facd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 26 06:53:44 2005 +0000

    rx-getaddrs-skip-loopback-addr-on-bsd-too-20050326
    
    
    as reported by Tracy Demarco-White

commit 79703698011d196616561072b6c531ad0a4f8c68
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 26 05:37:42 2005 +0000

    darwin-vnode-macros-20050325
    
    
    use vnode to vcache conversion macros

commit 977184e22026ae177427faf6c31fe920cbfae7e6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 26 00:44:39 2005 +0000

    darwin-fstrace-20050325
    
    
    holy crap, it just worked.

commit 93ed4e14f0c1d8cee113f29e151bab14554b51cd
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 25 17:58:47 2005 +0000

    acl-maxentry-comment-20050325
    
    
    correct the comment related to the maximum number of entries in
    an ACL.  the number of ACEs must be less than or equal to ACL_MAXENTRIES
    not less than ACL_MAXENTRIES.

commit 2ba2c97f90fdb9d3afa44f0436e1e9b46eb7feba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 24 01:53:46 2005 +0000

    sb-list-fix-20050323
    
    
    
    fix gaffe from my attempt at this

commit d33cd7595bc7afffec277d761d911b54e39f3dbf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 23 22:31:13 2005 +0000

    windows-logon-20050323
    
    
    Fix initialization error when getting domain parameters

commit ef8eb1aef619b40f0c88a473841dc8e215ab1e72
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 23 22:30:09 2005 +0000

    windows-version-8002-20050323
    
    
    1.3.8002

commit 6132fc038434759daabd5d501cbcfa99de963654
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Mar 22 23:52:59 2005 +0000

    kbuild-one-more-try-20050322
    
    
    and shortly i will confirm it works for all cases

commit 19b681e32b4ae0f488a48af5c9acc4d5c87144bf
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 22 19:39:44 2005 +0000

    windows-toplevel-makefile-20050322
    
    
    fix build dependencies for vl headers

commit 46f7713f16c8c96983872a801cf1ce9cf7b80530
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 22 05:42:29 2005 +0000

    windows-smb-fix-20050322
    
    
    the use logon cache hack only works on xp and above. do not give up
    use of smb auth simply because it fails
    
    fix the smb_vc_t refCount fix to smb_CopyPacket.  Only hold a smb_vc_t
    if there is one.

commit 8d8fe4947882300c45347379fd826b7a55743951
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 22 05:40:13 2005 +0000

    windows-version-20050322
    
    
    1.3.8001

commit 247a58de77004ec10c2e55451d99dd04bd982df4
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Mar 21 16:27:59 2005 +0000

    windows-smb_vc_t-refcounts-20050321
    
    
    conditionalize the assertions on smb_vc_t refcounts as they are only
    for debugging.  We know there is a problem but don't want to deal with
    it for the 1.3.80 release.
    
    added logging info for each hold and release.  perhaps that will provide
    a clue in the future
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    When copying a packet we must increment the vcp refcounts

commit f9e3781fdb7600c5beba5727d4ddc7a86bd54b58
Author: Ervin Fenyak <efenyak@gamax.hu>
Date:   Mon Mar 21 02:54:11 2005 +0000

    vos-extended-format-20050320
    
    FIXES 17961
    
    vos listvol -extended
    with -format option (vos listvol -extended -format) had no effect.
    After applying the patch,
    vos listvol -extended -format
    outputs tab delimited output.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 17961
    
    move variable declaration to the beginning of the block

commit 6650b683bf999293d3473d0f7e2dd3fd4dc0daf7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 20 20:37:39 2005 +0000

    linux-inotify-20050320
    
    
    yay more inode fields.

commit 4be6888040a9671e91e0732867a07a153c4d4d26
Author: Michael Niksch <nik@zurich.ibm.com>
Date:   Sun Mar 20 20:26:19 2005 +0000

    install-cfgafs-20050320
    
    FIXES 17712
    
    cfgafs shoudl be installed regardless of AIX64

commit 5a8f1057b0e9d07246af9213b8388dee0a64fd41
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Mar 20 20:18:08 2005 +0000

    linux-crref-held-longer-20050320
    
    FIXES 17917
    
    hold the cr ref longer
    we were putting it too soon

commit 158f2d91b9e0a911494b3755768e209b12dea980
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 20 20:12:05 2005 +0000

    linux-rx-spinlocks-for-preempt-20050320
    
    FIXES 17966
    
    force linux spinlocks on when CONFIG_PREEMPT is involved

commit 1aa23c665347d00f9ef4f81e58830799a6e4783d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 20 20:08:06 2005 +0000

    afs-lock-init-20050320
    
    FIXES 17939
    
    add missing afs lock initialization

commit 3b6e82294bcf1e1545b3b3767289a5f7abc922c1
Author: Vitaly Chernookiy <cvv@email.zp.ua>
Date:   Sun Mar 20 19:38:44 2005 +0000

    linux-libafs-makefileproto-call-kbuild-correctly-20050320
    
    FIXES 17972
    
    call the script directly out of srcdir instead of looking elsewhere

commit 70a8bba77b7e03d29edd8fab9b1cac098d1a7338
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 20 19:23:19 2005 +0000

    amd64-linux-rx-clock-fix-20050320
    
    FIXES 17950
    
    avoid initial delay in rx on amd64 linux due to interval timer issue

commit 37f7895c48c2a5cafae15ae79d04f196e6fa6989
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Sun Mar 20 15:11:54 2005 +0000

    vos-partinfo-summary-mode-20050320
    
    FIXES 17868
    
    add a summary mode to vos partinfo

commit 2cfd611e919524ec39403a1eef3970a41f2e348f
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Mar 20 15:07:19 2005 +0000

    linux-find-kernel-build-link-path-to-kernel-headers-20050320
    
    
    look in /lib/modules for a path to the kernel build instead of just in /usr/src

commit b0b3b02bd18c404d9323d1a060abbdfbdcc2e0af
Author: Jason McCormick <jasonmc@cert.org>
Date:   Sun Mar 20 15:00:43 2005 +0000

    linux-afsd-rc-better-defaulting-20050320
    
    FIXES 17630
    
    default to a small cache rather than breaking if the client is ill-configured

commit efda40565de69c3b144d78b77c32d8d7d2833211
Author: Ervin Fenyak <efenyak@gamax.hu>
Date:   Sun Mar 20 14:32:06 2005 +0000

    afsd-rxpck-switch-20050320
    
    FIXES 17837
    
    add rxpck switch to afsd to allow overrding maxpackets

commit af22fcd182df1ebe31aec70b6544c5bd58a97d01
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Mar 19 20:42:04 2005 +0000

    revert-salvager-verbosity-entirely-20050319
    
    
    simply remove the verbosity added to salvager

commit ab67e8970f8342d4814737b6c27204dc3f6a1d6b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Mar 17 17:50:22 2005 +0000

    windows-notes-20050317
    
    
    final notes for 1.3.80

commit 9055824240a1c7c5b1a13c179159922098ba0b05
Author: Jeffrey Hutzelman <jhutz@grand.central.org>
Date:   Thu Mar 17 17:42:26 2005 +0000

    CellServDB-update-20050317
    
    
    Public CellServDB 16 Mar 2005

commit 54119c1e0e479b32fc77db42ea1a308621804d7e
Author: Harald Barth <haba@pdc.kth.se>
Date:   Thu Mar 17 15:52:54 2005 +0000

    nosettime-20050317
    
    
    Make -nosettime default for afsd.  Use -settime to get old behavior.

commit 164d4ee959547e4791a497bc86377b269ec43dd2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 16 21:37:07 2005 +0000

    windows-dns-crypt-20050516
    
    
    Found another case in which the windows client could break connections
    which should not be broken if cryptall is on.  If the connection is
    unauthenticated because there are no tokens, the connections will be
    broken.
    
    If a site relies on AFSDB records and the client machine is configured
    to append a domain suffix to all queries it is possible for "foo" and
    "foo.bar" to appear to be separate cells.  fixed by appending a trailing
    '.' to all AFSDB queries if there is not already one.

commit 1c5e550e99b3a7fd8fc53106f8e4ac01860a2ef8
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Mar 16 04:49:02 2005 +0000

    rollback-20050315
    
    
    Rollback changes to 1.68

commit 0949ca36faf493b235a4fde03b3b9a3eb3745d9c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 15 00:55:56 2005 +0000

    windows-notes-20050314
    
    
    Update notes to describe fix for cross realm trusts to Windows
    multi-domain forests

commit 80d60b9cd1275c4a4ded571c5876a1e704baf53e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Mar 15 00:43:21 2005 +0000

    windows-comments-20050314
    
    
    Update the comments to indicate how we force authentication to be
    performed against the Windows logon cache instead of a domain controller
    and how BackConnectionsHostNames will work in Longhorn Beta 1.

commit 834adacf6a65609d2d013b31ccbfba44d540abfa
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 11 18:16:47 2005 +0000

    windows-mumble-20050311
    
    
    Add new registry setting to force a lana to be treated as a loopback
    
    Move hack to force use of MSV1_0 cache

commit 01a4455f37921829896f47fa26465a587fd394f9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Mar 11 07:30:00 2005 +0000

    windows-1380-20050310
    
    
    updates for 1.3.80
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    update issues list

commit 0b90d69f8a44e6c7ba20553cfb7d5cf7072bab57
Author: Jeffrey Altman <jaltman@sinenomine.net>
Date:   Fri Mar 11 05:33:12 2005 +0000

    windows-pcache-20050310
    
    
    This patch applies all of the work done to add persistent cache support,
    cache manager debugging, and a variety of bug fixes.  A full description
    will be committed within doc/txt/winnotes as part of a later commit.

commit c41aa8245ed0b9847d40671fa72d34350a75a569
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 11 04:35:39 2005 +0000

    fix-linux22-20050310
    
    
    
    fix accumulated linux 2.2 damage

commit d82d85f7c4802db6ddadb42657d4ffa72b6c10cf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 11 02:54:49 2005 +0000

    volinfo-dont-bomb-on-attach-failure-20050310
    
    
    let volinfo keep going in the face of failure

commit d849943aabd248fde92686094e7bb82fb29d451b
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Tue Mar 8 22:14:50 2005 +0000

    vos-listaddrs-dont-infinite-loop-20050308
    
    FIXES 17814
    
    avoid possible infinite loop in vos when checking a non-existant uuid

commit a91a5fc68658f845f18d288925d4ef0498e29f93
Author: Johan Danielsson <joda+openafs@pdc.kth.se>
Date:   Tue Mar 8 22:09:29 2005 +0000

    linux-osi-gettime-avoid-collision-20050308
    
    FIXES 17802
    
    don't reuse tv as a variable name in osi_GetTime macro

commit e9084af7bfe8ef50e4ebbc57b580b8f6fffbf230
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 8 22:05:45 2005 +0000

    linux-writepage-sync-20050308
    
    FIXES 17792
    
    "The attached patch
    1) makes afs_linux_writepage_sync do the required lock_kernel and
    AFS_GLOCK()'s instead of making the caller do it.
    2) removes the 2.4+ afs_linux_updatepage wrapper function which just calls
    afs_linux_writepage_sync and is only called by afs_linux_commit_write
    3) removes the kmap/kunmap in afs_linux_{prepare,commit}_write on 2.6
    since the caller of afs_linux_{prepare,commit}_write
    (do_generic_file_write) does the kmap/kunmap itself, and has since before
    2.4.19 (early 2.4's do require it, and it doesn't break anything to do it
    twice, so !defined(AFS_LINUX26_ENV) is appropriate)"

commit 011a40a56da8c36ebfe6d3216d35ec5618132393
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 8 21:57:41 2005 +0000

    osi-lookupname-nuke-dirvpp-20050308
    
    FIXES 17791
    
    osi_lookupname doesn't need dirvpp anymore

commit 4e3107a00270132b23194a0e776504f4cb425251
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Mar 3 16:56:48 2005 +0000

    osi-syscall-fix-20050302
    
    FIXES 17666
    
    fix typo _nr should __nr

commit 248d5402fe893044e37b7395887c7e5b69829836
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Mon Feb 28 20:18:11 2005 +0000

    fake-admin-on-create-file-20050228
    
    
    pass back admin in status bits for create file

commit 7c3aeba6869320852e3366b48e4549f83edab79b
Author: Karl Ramm <kcr@mit.edu>
Date:   Sun Feb 27 18:31:42 2005 +0000

    salvager-less-verbose-20050227
    
    
    make the salvager less verbose

commit 6477c929cda3e6ebd2be5235132eded0f3268421
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Feb 27 04:26:41 2005 +0000

    fix-uae-20050226
    
    
    sometimes the proeprocessor is cranky. bah.

commit 403e8cfa5e4a48a778175fc09a8c2b1637cbb127
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Feb 25 19:51:51 2005 +0000

    osi-probe-update-20050225
    
    
    update osi_probe for machines with no mmap2

commit c9b63162b696589b6772847038f73bfd5d1df896
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 25 19:49:10 2005 +0000

    cblater-protection-and-paranoia-20050225
    
    
    with additional fix from jaltman for case where we need to get a fresh fe.
    don't reuse FE_LATER file entries.

commit 21fae1faf649e946f276912d94c58ec589c4b3de
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 25 18:02:35 2005 +0000

    unified-afs-cleanup-20050225
    
    
    use EIO as base error

commit e697e7bd13e40cafb5eb146ab0a8ec207ba84f13
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 25 17:42:17 2005 +0000

    fe-clear-status-on-reuse-20050225
    
    
    jeff pointed this out yesterday, it may fix more than he guessed.

commit 89d655566f3c9556768e83ab9e8cc4b272be2fc0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 24 15:21:28 2005 +0000

    tviced-log-thread-at-high-loglevel-20050224
    
    
    if loglevel > 999, log thread id as part of logging

commit 202d87e6ec0fafa3c87af3dc16d46b0294c35451
Author: Sam Hartman <hartmans@mit.edu>
Date:   Thu Feb 24 05:04:50 2005 +0000

    ppc64-linux26-param-20050224
    
    FIXES 15581
    
    missed before

commit 0801ce99b717954c9748c9170ebde4dacd98ac63
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 24 04:44:59 2005 +0000

    fix-uae-20050223
    
    
    
    make uae flag not secretly overflow hostFlags

commit 0b1be0bedb8a7e6dcaed6e6f353d46c89966ad21
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Feb 23 23:07:31 2005 +0000

    ioctl32-linux26-20050223
    
    FIXES 17669
    
    add ioctl32 support for linux 2.6

commit f7ff156ec1f2daf9c9c81c44314034e178132717
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Feb 20 05:42:47 2005 +0000

    ia64-smp-definition-20050220
    
    FIXES 17640
    
    change how smp is defined so we pick up a mutex

commit cb3ec9004e095a11db6e349d6feef6d08243aa19
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Wed Feb 16 22:47:35 2005 +0000

    unified-osi-probe-2-20050216
    
    FIXES 17548
    
    update osi_probe

commit 66735f54b79bcc610f6185df98d9caeab8476a8b
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Feb 16 19:22:49 2005 +0000

    solaris-x8664-support-20050216
    
    FIXES 17628
    
    add amd64 support for solaris 10

commit ef85cb144dc433879cfd05d0fd3a380d7ce78098
Author: Tom Keiser <tkeiser@psu.edu>
Date:   Wed Feb 16 19:13:01 2005 +0000

    fix-multirx-checkservers-20050216
    
    FIXES 17549
    
    put results in an array.

commit d164b1d311f55af08e020d3d163f67595271b003
Author: Harald Barth <haba@pdc.kth.se>
Date:   Sun Feb 13 00:23:52 2005 +0000

    fbsd-amd64-20050212
    
    
    initial fbsd support for amd64

commit c92132eba3250d3ef3647b578a363be970496597
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 12 19:52:19 2005 +0000

    solais10-declares-mem-funcs-20050212
    
    
    mem* funcs now declared in sys/systm.h with a different prototype so there's a conflict. (but delcared means they exist, so this is fine)

commit cefe48fc1353c0f5e2831b8b81443d35e983fc96
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Feb 12 19:47:03 2005 +0000

    store64-cleanup-20050212
    
    
    fix several deficiencies in 64 bit file size handling

commit e4552599b0e1d1ef8b8100a901510591f2e0c6b7
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 11 22:37:31 2005 +0000

    linux-avoid-leaking-refs-20050211
    
    FIXES 17451
    
    hopefully this fixes all the not-able-to-unmount leaks

commit 8d1d71913cebee105416affa940fe96d63b12696
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Feb 11 22:27:22 2005 +0000

    linux-sysincludes-needs-slab-20050211
    
    
    add linux/slab.h to includes

commit d47aace39f22a83f7c15b28c631695dc6aa362b5
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Feb 10 16:30:41 2005 +0000

    linux26-inode-got-i-sb-list-20050204
    
    
    another thing to do at inode initialization

commit a0732a579ac1aea9cfdee2de530b3afcffe30bac
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Feb 10 04:49:10 2005 +0000

    linux-flush-release-rewrite-20050209
    
    FIXES 17509
    
    rewrite afs_linux_release and afs_linux_flush

commit 08b998f798b44673f058b6a262c81cc077f20123
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 10 03:57:27 2005 +0000

    client-conndeadtime-tunable-20050209
    
    
    make the fs and not just the vldb interface dead time tunable

commit 3aaeae0ee6fa13209fff93fd5d9dfe709804cee5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 10 03:02:46 2005 +0000

    linux-lwp-work-around-signal-lossage-20050209
    
    
    some versions of linux seem to lose signals sometimes. very annoying.

commit 641c2b17efbffa523818a950761e612e9fc6f5f7
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Feb 7 19:27:35 2005 +0000

    windows-misc-20050207
    
    
    smb3.c: another fix for pattern matching.  Patterns can include '<' and '>'
            instead of '*' and '?'.  Treat any pattern with angle bracket as
            star patterns
    
    afslogon.c: instead of retrying the username lowercased if it is all
            uppercased.  retry the username lowercased if it was not already
            lowercased.  this captures the mixedcase username case.
    
    afskfw.c: If Leash is configured to not import tickets from the MSLSA,
            neither should we.
    
    cm_vnodeops.c: If the second to last component of a path is a symlink and
            the last component cannot be found, return NOSUCHPATH instead of
            FILE_NOT_FOUND.

commit 96e09aa1099e7877dffb5134fe24edfa261032b4
Author: Guillaume Rousse <Guillaume.Rousse@inria.fr>
Date:   Mon Feb 7 15:31:31 2005 +0000

    linux-libafs-fix-20050207
    
    
    create osi_vfs.h in the right place

commit 5d0ed437731496c6f2441fffe9994a50a3814168
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Feb 4 21:13:51 2005 +0000

    linux26-inode-got-i-sb-list-20050204
    
    
    another thing to do at inode initialization

commit 053e901f6bbd3237ca58147d4986e1c528ae503d
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Feb 4 21:09:58 2005 +0000

    ubik-remote-ntoa-20050204
    
    
    afs_inet_ntoa needs a prototype for 64 bit systems

commit d5495f26ec6e02bc09ad0d6ee6a9a62f545bfd9c
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Fri Feb 4 04:55:51 2005 +0000

    windows-longfilename-matching-20050203
    
    
    retry pattern matching when ambiguous matches are found for long file
    names

commit a6f560b80575a246b4ee347622f1fd3f6fdd1420
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 3 17:02:54 2005 +0000

    macos-dont-inactive-vnodes-were-still-referencing-20050203
    
    
    don't VOP_INACTIVE if we intend to keep using the inode, the refcount will go
    bogus

commit 09feb1be1711dbbe053b572915df4384f488eb0e
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Mon Jan 31 18:52:30 2005 +0000

    windows-misc-20050131
    
    
    afskfw.c: fix cross-realm token acquisition in ANDREW vs CS CMU case
    
    cm_aclent.c: when ACL's timeout, remove them from the associated
       cm_scache_t object's randomACL list and place them on the end
       of the ACL LRU queue
    
       correct tgtLifetime to be unsigned
    
    smb3.c: fix case sensitive matching

commit 51ec9e099e22e16dbf8aee3333568b9ff26abd3f
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jan 29 05:46:42 2005 +0000

    linux-tasklist-lock-weak-20050129
    
    FIXES 17424
    
    weak binding to tasklist_lock

commit f126dbdbe226bb05687f0bcbd0e379431f666219
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Jan 29 05:41:59 2005 +0000

    osi-probe-syscall-20050129
    
    FIXES 17405
    
    add osi_probe

commit 4cc0394af02a07a0000dd4ce9384398d8b03a6f4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jan 27 00:09:32 2005 +0000

    createx-null-ptr-20050126
    
    
    Don't release null scps

commit 4c27de95394d44e2066413de7eca65315b83cacb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jan 27 00:00:10 2005 +0000

    windows-aclent-20050126
    
    
    Undo the FreeACLEnt lock as it is an automatic deadlock

commit ff2e55343fdf14d730825c8e09dbe42b6037abb8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 26 22:07:33 2005 +0000

    revert-afs-indextimes-in-dcache-20050125
    
    FIXES 17377
    
    indexTimes needs to persist, revert for now

commit 1de152256aeb1d2b54e177a327404efe2504c815
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 26 21:09:08 2005 +0000

    afs-indextimes-in-dcache-20050125
    
    FIXES 17377
    
    move indextimes array into dcache struct

commit e41837e876f7dc947e8718b6dc972b803023eae5
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 26 15:51:46 2005 +0000

    winnotes-update-20050126
    
    
    add dr watson info to install notes.
    
    update changes list

commit 516614090190f34cb74ec741cf06f86384bff4d1
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 26 15:49:14 2005 +0000

    windows-misc-20050126
    
    
      * The list of ACL entries was becoming corrupted because the function
        which obtained a free entry was doing so without the appropriate lock
        being held.
    
      * Changed the default @sys name list to "x86_win32 i386_w2k i386_nt40"
        for 32-bit x86 systems.  The default for itanium will be "ia64_win64"
        and "amd64_win64" for amd 64-bit processors.

commit ff3436446e1c8447d0f9703b088c6d65c6845aa0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 25 23:24:43 2005 +0000

    windows-misc-20050125
    
    
    The list of ACL entries was being corrupted because the function
    which obtains a free ACL entry was doing so without the appropriate
    lock being held.
    
    Returning Not A Directory is not the right thing to do when we are
    attempting to resolve a path if the error is found on one of the
    intermediary path components.  Instead return No Such Path or
    No Such File as appropriate.

commit e86eb73e30fe492c8be99a0a7a4788ec1b136ead
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 25 23:00:35 2005 +0000

    obsd-vattrs-20040125
    
    
    compare vattrs against VNOVAL, not -1
    fixes mode setting now that modes are 32 bits

commit 9b7e78b048869e0319a369912d9fef63288dca7f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 25 20:19:17 2005 +0000

    unpin-out-of-order-oops-20050125
    
    FIXES 17346
    
    unpin before freeing

commit 8a68d38977d4311a62350dd60645e39ded4650f1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jan 25 18:46:33 2005 +0000

    rxdebug-withWaited-20050125
    
    
    copy/paste error corrected.  'withWaited' never assigned a value

commit 96cf60ef3e830d16325fba664044f751ca164f85
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 25 06:54:31 2005 +0000

    linux-mmap-ro-means-no-write-20050125
    
    
    don't allow a write map of a file which cannot be written to

commit 187f26a3afe805180268322d93dd7e01974c5fb1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jan 21 22:02:02 2005 +0000

    no-copy-libafs-builds-20050121
    
    
    make things so file copies from src/libafs don't happen; change how libafs_tree
    is done

commit 72ea4e2c690d28b6c5c464368099b49dac847642
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jan 21 19:13:33 2005 +0000

    linux-revised-dentry-invalidation-20050121
    
    FIXES 17337
    
    "the latest 2.6 version of "tryflushdcachechildren" is probably
    good enough for 2.2/2.4 as well. further, we can just call
    d_invalidate() to make things less complicated. unification
    is good.
    
    its seen limited testing here under 2.4/2.6."

commit 01aca8ca222373d71941cd007bdc00260bd3ff5c
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Jan 21 18:27:37 2005 +0000

    rx-hash-table-mod-prime-20050121
    
    
    see https://lists.openafs.org/pipermail/openafs-devel/2004-September/010967.htmland https://lists.openafs.org/pipermail/openafs-devel/2004-September/010968.html

commit 110b1f14bd5b5548211ece9a32c540490e0aef6a
Author: Douglas Engert <deengert@anl.gov>
Date:   Fri Jan 21 17:44:36 2005 +0000

    rx-packetreadwrite-adjust-offset-20050119
    
    
    offset - l must be zero in the second loop pass to avoid overwrites

commit 90115511209e59ff4728a66a575899312fdf3e5b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 21 14:33:40 2005 +0000

    readd-qwaiting-20050121
    
    FIXES 5616
    
    the problem was caused by optimization on solaris. sigh.

commit 76d6e43eb8e1ec72fcfde7cf8f303f954c11da14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 21 14:31:38 2005 +0000

    linux-no-log-in-tryflushdcachechildren-20050121
    
    FIXES 5835
    
    just don't log, and lock order doesn't matter

commit a0ce71a84374cc0600813a3101b76f89df04ee76
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 20 18:00:28 2005 +0000

    alloc-confusion-20040120
    
    
    use osi_Alloc instead of osi_AllocLargeSpace for tokens, to match free

commit 7f430a45aa12108ed1dc93e4a41ac154b1397818
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 20 17:59:02 2005 +0000

    obsd-cred-ptr-20040120
    
    
    **credpp, not *credp (OpenBSD only)

commit dacae61bda0105497e912b3cdac429066cd68fcf
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 20 17:33:38 2005 +0000

    re-indent-20040120
    
    
    re-indent so I can read the file so I can fix a bug

commit 73437ee7d469765df30285369301e3907fee0a3c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 19 22:46:06 2005 +0000

    linux26-vcache-reclaim-cleanup-20050119
    
    
    "ok, if you ever drop
    dcache_lock you need to go to restart (i think that's pretty clear).
    shrink_dcache_parent() _might_ reduce a dentry count to 0.  in the
    previous version, it seemed to make the assumption that this would
    always happen.  if shrink_dcache_parent() is unsuccessful and the
    dentry is a directory, we cant restart.  we would just find the
    the dentry again and do the same thing over (we could always d_drop
    but you shouldnt do this to active directories -- see d_invalidate).
    
    if we find a busy dentry, we abort all processing for this inode.
    going back to restart would find the same busy inode.  (i suppose
    we could use a d_flag to keep track of which dentry has been shrunk.
    this has other trouble, like who resets the flag and when?)  since we
    only do this for directories and d_alias typically only grows due to
    soft/hard links (as far as i can tell) this scheme seems reasonable."

commit 8ccd2d91d89fc3ed0170a458853ec95ff274c87d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jan 19 22:35:40 2005 +0000

    dirbuffer-fid-is-index-20050119
    
    
    "The new buffer code (which I wrote) did not deal
    with dcache object re-use, as I had conflated the concepts of "dcache *
    reuse" and "dcache slot reuse".
    
    This patch should fix this problem. It now stores the dcache index (aka slot number,
    which is the same as the numeric part of the cache file's filename) in the
    buffer instead of the ephemeral struct dcache pointer."

commit f42701022203605f8509b106fe8ca1677666aaa9
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 19 05:14:11 2005 +0000

    rx-multiple-packets-20050118
    
    
    Doug Engert reports that large tokens are corrupted when being sent
    using RX.  This patch fixes two bugs which prevent the transmission
    and receipt of multiple packet exchanges.

commit 5f498279b827675a48c80b7c2f43c78d8e41d406
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 18 16:15:36 2005 +0000

    obsd-cleanups-20040118
    
    
    remove dead code
    add (commented out, non-working) new reclaim code

commit eabe2b6f77da6913b4a6bd51220708c363762fe6
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Jan 18 07:36:25 2005 +0000

    windows-smb_vc_t-refcounts-20050117
    
    
    Rework the reference counting of the smb_vc_t objects to use
    smb_ReleaseVC and smb_HoldVC.  Add missing counts for references
    from waiting locks.
    
    Fix cm_ioctl.c to allow it to compile once again.

commit cadc5b46e103fd543814d450dd9a568961c9886a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Jan 16 16:49:06 2005 +0000

    linux26-rename-more-cleanup-20050116
    
    FIXES 17284
    
    cleanup how renaming does moving and unhashing of dentries

commit 646028dbdb90640f14f7a22aede858432ffa9025
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Jan 16 16:43:34 2005 +0000

    linux26-dcache-lock-20050116
    
    FIXES 17266
    
    "The changes I submitted previously, and committed as
    linux-26-vlru-cycle-20041012 do not satisfy necessary invariants of the
    dcache api.
    
    1) the dcache_lock is not held when calling d_unhashed and
    list_empty(&dentry->d_subdirs)
    2) the caller of d_prune_aliases does not hold it's own ref on the inode
    
    Patch attached.(has been used lightly for a month or so)"

commit 091d64876bea6737dd6cf89a9232dd11d0072677
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Jan 16 16:41:33 2005 +0000

    linux26-zomb-gcpags-cleanup-20050116
    
    FIXES 17265
    
    clean up for newer non-TASK_ZOMBIE kernels

commit 8db7eb1876380df8100c5df37e6a25a7ebc4f43b
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Jan 16 16:36:53 2005 +0000

    linux25-rename-rehash-not-move-20050116
    
    
    not tested yet

commit 9e81a8e4c2e7830ab18de1f5dd23dfc916ef2bf0
Author: Matthew Miller <mattdm@mattdm.org>
Date:   Fri Jan 14 17:36:39 2005 +0000

    linux26-rlim-20050114
    
    
    detect rlim stuff for linux 2.6

commit 270f675b6f64df5cca73de2ae097a12fd56c59b9
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jan 14 17:31:31 2005 +0000

    fstrace-linux-proc-20050113
    
    FIXES 17240
    
    support /proc interface

commit d9e55baca180891ef999919118a5ad2d73764abb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 14 03:03:27 2005 +0000

    fs-busy-stats-20050113
    
    
    add support for counting number of vbusies returned

commit 0cea4432fcceff07103cb4df0eba9b5667ce1fa4
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Fri Jan 14 01:34:54 2005 +0000

    linux26-pag-copy-groups-always-20050113
    
    FIXES 17226
    
    always copy the group list on linux 2.6

commit 7854052b3827a3853cb80a6f7de5dcc32756aa95
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jan 14 01:27:26 2005 +0000

    x86-sol10-param-cleanup-20050113
    
    FIXES 17082
    
    make user section match kernel section

commit 2519680a2c93f4a3049e64bd22760510775e3343
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jan 14 01:11:48 2005 +0000

    sol10-afsd-rc-20050113
    
    FIXES 17036
    
    install an rc file for solaris 10

commit ed02afba553ca9944c5e3c338188ba38b5946a0c
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Fri Jan 14 01:07:45 2005 +0000

    nbsd30-20050113
    
    FIXES 16889
    
    netbsd 3 this time for sure

commit 0a872abd75fa27bb91aa2724c54fc72fce03f241
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 14 01:04:13 2005 +0000

    largefile-efbig-20050113
    
    FIXES 16964
    
    return EFBIG instead of E2BIG

commit a18937e6a4e5f8a3266e6208bf51fea9bb636c48
Author: Douglas Engert <deengert@anl.gov>
Date:   Fri Jan 14 00:57:32 2005 +0000

    sol9-vfsck-interleave-becomes-si-20050113
    
    FIXES 16941
    
    fix remaining fs_interleave ref

commit e4961402747d02f51b0ea82aad7f0d4f774dbeac
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Jan 13 23:55:27 2005 +0000

    lih-host-hold-20050113
    
    FIXES 17211
    
    "lih_r now leaves the current lih_host held, and h_Releases those for which
    it changed mind during h_Enumerate. It also closes the window that
    ClearHostCallbacks_r opens.
    
    The problem was: due to the leak on the h_Hold table, rx connections and
    host and client structures stopped being garbage collected once the
    fileserver went through GetSomeSpace_r. Only relevant for "busy" servers,
    many would never even invoke this routine."

commit 543d4464d8afe11e74b239abb5da20b0269259b3
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 13 23:50:15 2005 +0000

    linux26-avoid-memory-zone-fun-20050113
    
    FIXES 16965
    
    "  the wake_up_bit() mechanism has replaced
    'per object' wait queues (atleast when testing for single bit changes).
    the actual wait queue to use is determined using a hash on page->flags
    (which encodes the zone table in the lower 8 bits).  afs inodes come from
    a vmalloc() since afs gets all the inodes in one go.  vmalloc()'d memory
    apparently doesnt get mapped to any particular zone.  so when an afs
    inode uses wake_up_bit() they index off the end of the zone_page table.
    "

commit 1307b891888c61debe2eadd47ddfe8717fc75ddd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 13 23:37:21 2005 +0000

    memcache-no-volitems-20050113
    
    
    Don't try to open VolumeItems when using memcache

commit b11e76ce63b6c23265d17d5597342e4aa296f6c0
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 13 04:47:37 2005 +0000

    windows-fs-wscell-20050112
    
    
    when freelance mode is in use, "fs wscell" will now return
    "Freelance.Local.Root"

commit 5a3eddc8ba75832c55e322c7189ff5f20df834fe
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Thu Jan 13 04:46:18 2005 +0000

    windows-pioctl-20050112
    
    
    Fix a bug introduced in 1.3.75 within Tranceive().  If the file handle
    is invalid, be sure to return an error.

commit 4c861ab65683add205d062790036b27123d0fe6b
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Wed Jan 12 21:34:36 2005 +0000

    windows-misc-20050112
    
    
    New AFS Logo Icon
    
    Fix the assignment of the dataVersion for the freelance scache entries
    
    Fix the calling convention of the AFSD Service Main function to be
    WINAPI.

commit 1a8519de16a2dad989300da94d597fac57c20c0f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 7 23:08:27 2005 +0000

    rx-avoid-xmit-overflow-panic-20050107
    
    
    instead of losing, just send the packets and then make another pass to collect more

commit d3fc023d07f923eb53c28d2bc480745ae9227593
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jan 5 04:23:58 2005 +0000

    windows-notes-20050104
    
    
    updates

commit 1a3e8d9e1641a301a87dd0a0f5b2ca5ef2528e58
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jan 5 04:18:34 2005 +0000

    windows-remove-extra-parameter-20050104
    
    
    aklog.c - remove extra parameter from pr_Initialize()

commit ca1c67688bf92903c9803976e918266753ef0aae
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jan 5 04:17:16 2005 +0000

    windows-cb-deadlock-20050104
    
    
    afskfw.c - remove extra parameter to pr_Initialize
    
    afsd_service.c - move SERVICE_STOP_PENDING to before we start to
                     do any work.
    
    afsd_init.c - initialize rx and rpc after starting the cache manager
    
    cm_callback.c - release cm_callbackLock before attempting to re-obtain
                    scp->mx lock in cm_EndCallbackGrantingCall()

commit 5bbfc9302503af54ecfd78450abc0b1edf88a860
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jan 3 01:29:29 2005 +0000

    windows-misc-fix-20050102
    
    
    fix typo

commit 48ba9a0cd5869264790e3d0d539dd7798813009c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jan 3 01:13:44 2005 +0000

    ptuser_h-20050102
    
    
    add ptuser.h to provide prototypes for ptuser.c
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add ptuser.h

commit c27d32d2efbd7d8b085083c0f3c349ca99ffd74c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jan 3 01:11:21 2005 +0000

    new-afs-logo-icon-20050102
    
    
    Use a new icon file based upon the new OpenAFS logo for afs_config.exe
    and the afs control panel.

commit 635abf2d8fb4cfb94ecb396f125e8b65af1d7813
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jan 3 01:07:56 2005 +0000

    windows-misc-20050102
    
    
      * The AFS Service needs to respond to SERVICE_ACCEPT_SHUTDOWN messages
        in addition to SERVICE_ACCEPT_STOP.
    
      * Move RPC shutdown until after the SMB and RX shutdown procedures
        complete.  Block until RPC shutdown is complete.
    
      * Modify afslogon.dll (integrated logon) to wait for service if its
        state is START_PENDING.  If the timeout period occurs, reset to
        the retry interval and not the sleep interval.
    
      * When renewing the server list for a cell obtained via DNS AFSDB
        records, the cm_cell_t entry must be removed from the list of all
        cells.  Otherwise, the list of cells will be corrupted.
    
      * In the dcache and scache modules, use the cm_scache_t dataVersion
        instead of the cm_fakeDirVersion.
    
      * Synchronize fs.c with the unix version.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Include ptuser.h for prototypes.
    
    ====================
    
    link to afsutil.lib for hostutil functions

commit d3d4af7795dd7371750bfdb9612b6419561cf32b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Dec 24 17:21:06 2004 +0000

    windows-virtual-memory-20041224
    
    
      * The variable used to determine whether a file or virtual memory
        mapped cache is used was not properly initialized to a default
        value. If the registry setting "NonPersistentCaching" was not
        set, the choice would be random.   Properly initialized to be
        "file".
    
     * The memory mapped view was never unmapped before closing the file
       at service shutdown.  This is now properly cleaned up.
    
     * Default location of Cache file is now %TEMP%\AFSCache

commit a66c63315b2cb83cc356068972ba4ffbbcb609f1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 24 06:31:35 2004 +0000

    dux-vnops-cleanup-20041224
    
    
    move DUX code out of vnops and into dux os dependant code

commit a69e758875b420de6d5ae8ac9c303da5b708d63b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Dec 16 20:11:08 2004 +0000

    windows-notes-20041216
    
    
      document bug found in 1.3.75/76 release

commit f26bd30c980288132f800ebbc1bfc1a2b281c2b2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Dec 16 19:02:05 2004 +0000

    windows-freelance-default-root-cell-20041217
    
    
    Forgot to add trailing dot on auto-generated default root.cell mountpoints.

commit b6ef8c484f47e100298e5187abf117e7cc88e242
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 13 23:48:21 2004 +0000

    windows-smb-auth-debug-20041213
    
    
    Add more OutputDebugF() calls to the smb auth routines to assist in
    debugging

commit 570b2df988688c309d4e58a663f06093ec504e84
Author: Mike Becher <Mike.Becher@lrz-muenchen.de>
Date:   Fri Dec 17 15:33:43 2004 +0000

    linux-rxk-header-update-20041217
    
    
    update header to not defien _LINUX_CODA_FS_I if it is

commit f639e4b41ef12bb78feb27495952f065b917fc73
Author: Mike Becher <Mike.Becher@lrz-muenchen.de>
Date:   Fri Dec 17 15:30:55 2004 +0000

    kdump-update-20041217
    
    
    update kdump for ia64_linux26

commit f4f365c7c9c604ef52f0c6d28d61b7f297167706
Author: Mike Becher <Mike.Becher@lrz-muenchen.de>
Date:   Fri Dec 17 15:28:19 2004 +0000

    ia64-linux26-20041217
    
    
    add ia64 linux26 support

commit 1c8ad1139cce630f77854a3d9f2e7bf4cabd8889
Author: Mike Becher <Mike.Becher@lrz-muenchen.de>
Date:   Fri Dec 17 15:13:19 2004 +0000

    linux-rc-update-20041217
    
    
    update rc scripts for 2.6

commit 937ba22002f3bb3dddf45c4906349a48c7601cb7
Author: Christof Hanke <hanke@rzg.mpg.de>
Date:   Fri Dec 17 14:41:36 2004 +0000

    linux26-generic-sendfile-20041217
    
    FIXES 16842
    
    enable loop mounting to work.

commit ae3cbf270fc84bd315981b5abb6a19699c635223
Author: Travis Broughton <tvb@intel.com>
Date:   Fri Dec 17 13:45:56 2004 +0000

    dumptool-update-20041217
    
    FIXES 16751
    
    large file support for dumptool

commit 2d52203a51c96adde5bbeb9fa79720f01c538f63
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Dec 16 20:06:47 2004 +0000

    windows-version-update-20041216
    
    
    1.3.7700

commit 0d4b452e25bd8b1672fc46aa13afbe640b3ce58b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 13 23:43:17 2004 +0000

    windows-afs-all-20041213
    
    
    In addition to establishing a connection with \\AFS; use \\AFS\all to
    ensure that we can access ioctl calls even if other methods fail.

commit 29e4920cd86d7186fc96c442666b698b60499874
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 13 14:04:25 2004 +0000

    windows-version-number-20041213
    
    
    1.3.7600

commit d9c409437d443a95ddefede0db91f7639de5e183
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 13 14:03:55 2004 +0000

    windows-smb-and-symlinks-20041213
    
    
    Fix bug in automatic symlink generation for freelance root.afs.
    do not create symlinks if cell resolution fails
    
    Update SMB files to use preprocessor symbols for InfoLevel constants.

commit 3400f8d4da4c0f08bc226730f4d00b252fbad52e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 13 14:02:32 2004 +0000

    windows-notes-20041213
    
    
    update notes for 1.3.7600

commit 19ff527496735814a68af3c406be91c28f49f4f6
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Dec 11 11:02:00 2004 +0000

    implement-vpeek-for-listvol-20041211
    
    FIXES 16765
    
     All of AFSVolListOneVolume, AFSVolXListOneVolume, AFSVolListVolumes,
     AFSVolXListVolumes currrently attach each volume to be listed with
     V_READONLY.  This makes the fileserver update and sync the volume header
     before releasing the volume to the volserver.  The result is that volume
     list operations are slow, and generate lots of fileserver load, as Jimmy
     pointed out during his talk this afternoon.
    
     The attached patch introduces a new attach mode, V_PEEK, which is like a
     cross between V_READONLY and V_SECRETLY.  It can be used for read-only
     operations on the volume header, where it is not necessary to inform the
     fileserver that the volume is being accessed.  The patch also changes
     the above-named RPC's to use the new mode.

commit 6cd93d304142724c7c0fd37272e84f1a7eacb951
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Dec 11 10:52:16 2004 +0000

    fix-linux-kvers-setting-20041211
    
    FIXES 16763
    
    set SYS_KVERS reasonably on linux always

commit efb0f66b66821d5155d7c1b0232427c4b5af2c73
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 10 21:57:06 2004 +0000

    revert-mwaitprocs-20041210
    
    FIXES 5616
    
    revert this for now

commit 80016e804616f7d233831716b1127e3a48c51038
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Dec 10 10:47:17 2004 +0000

    ubik-calliter-update-20041210
    
    
    if we're going to prototype it we need to match this

commit 8c912bedbcb532d6aa40134a54679539ae8b7245
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 10 10:03:54 2004 +0000

    sys-depinstall-20041210
    
    
    add depinstall in sys directory

commit e9c5e2af894e3556c1758e3bf60ba2f140bb6654
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Dec 9 23:14:01 2004 +0000

    windows-multihomed-20041209
    
    FIXES 16564
    
    Add support for VL_GetEntryByNameU and VL_GetAddrs for the purpose
    of working with multi-homed servers

commit 8f660ba178b0a05bea16331c4335ca9f377a9006
Author: Kris Van Hees <aedil@sinenomine.net>
Date:   Thu Dec 9 16:16:55 2004 +0000

    linux-page-follow-link-light-20041209
    
    FIXES 16742
    
    new 2.6 uses page_follow_link_light
    detect and use

commit f8432c77965a79047429b18ae0ee214a45e4c9a4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Dec 9 16:14:21 2004 +0000

    linux-remove-negative-dentry-20041209
    
    FIXES 16735
    
    during unlink, afs sometimes renames the file instead of deleting it.
    this isnt reflected properly in the dcache in linux. the following
    patch attempts to address this issue. newname is renamed to afs_newname
    and exported.
    
    afs_linux_unlink() checks to see if the file is open. if so, it creates
    a negative dcache entry using the name suggested by afs_newname(). then
    dmove() moves (exchanges) dp and __dp. __dp is now a negative dentry
    for the old name and is put/dropped.

commit e400114f4486cc7be18de13a3a68a38b446620d3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 8 22:55:28 2004 +0000

    only-libafs-update-20041208
    
    
    only_libafs needs sys on irix

commit 867c3010731daa89f58e54c2c620215de0a94c1f
Author: Jim Rees <rees@umich.edu>
Date:   Wed Dec 8 18:33:48 2004 +0000

    ubik-iter-proto-20041208
    
    
    prototype, casts, and proper arg count for ubik_CallIter
    thanks to Christof Hanke for some of this

commit 038116a881c1773cda50eca783f5308a52121681
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Dec 8 17:21:04 2004 +0000

    linux26-dont-fix-inode-size-ourselves-20041208
    
    
    hopefully fix cache truncation

commit 727a2a01ccc8fd4645deafba590f583e4a19b288
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Dec 8 10:39:58 2004 +0000

    STABLE12-umlinux26-20041202
    
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted

commit 655de549a4115c4ebdb18417aeeba4280ad54162
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 8 10:35:02 2004 +0000

    update-irix-bhvl-20041208
    
    
    define BHV_IS_BHVL(x) to 0 for non-CELL cases where BHV_PREPARE is defined.
    6.5.20f is "broken"

commit e8e9a297bc92f40ff03a468b64e8f0b5c930fa6c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Dec 8 10:19:57 2004 +0000

    wix-update-20041208
    
    
    Add new Property for StoreAnsiFilenames
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Add property for StoreAnsiFilenames

commit 8a9f304b868bd74a30c1059253acd2094673ad8b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Dec 8 09:12:52 2004 +0000

    windows-version-20041208
    
    
    1.3.7500

commit 3b361484428cd276627c92add48747c57f3db360
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Wed Dec 8 09:09:34 2004 +0000

    nsis-installer-20041208
    
    
    Preserve previous install settings when upgrading

commit f41121f32825cf31de238af871605d523727b9cf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 22:26:46 2004 +0000

    x86-solaris-20041207
    
    
    fix my mistake

commit d271c1c295d138fa5da622a4dd9136d535f4e42d
Author: Douglas Engert <deengert@anl.gov>
Date:   Tue Dec 7 18:30:11 2004 +0000

    sparc32-no-largefile-20041207
    
    FIXES 16719
    
    disable largefile on 32bit sparcs
    see the bug for better commentary

commit 54643e26780bed06f1194602426f16dffcf9077d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 7 18:24:44 2004 +0000

    afsd-chunksize-error-20041207
    
    FIXES 16723
    
    based on work from mmokrejs@ribosome.natur.cuni.cz

commit beff42414aeb908b141f116d2b47b2a5baee28ad
Author: Harald Barth <haba@pdc.kth.se>
Date:   Tue Dec 7 16:48:57 2004 +0000

    aix-5-update-20041207
    
    
    updates for aix 5

commit d6c8b023bb580ccb48198fb4ee070b9e1f950f51
Author: Harald Barth <haba@pdc.kth.se>
Date:   Tue Dec 7 16:36:43 2004 +0000

    volname-cleanup-20041207
    
    
    cleanup how volname or id number is parsed

commit 4d550ad6b6ec430e3d2564f37ed4b471f8928a38
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Dec 7 15:59:12 2004 +0000

    umlinux26-20041207
    
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted

commit 1183771a422a00fcc95d47d06b71479fcc99f4b7
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Tue Dec 7 14:23:36 2004 +0000

    sunx86-20041207
    
    
    update to provide sun x86 support

commit 882a97985726eadbf1be7e936e08be8ce2712cce
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Dec 7 12:41:15 2004 +0000

    winnotes-20041207
    
    
    update text files for StoreAnsiFilenames.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Allow users to choose to store file names in AFS using ANSI code pages
    instead of OEM code pages.

commit 00d1015b18d00e683e21a069baafe76761ebb81b
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Tue Dec 7 05:45:26 2004 +0000

    umlinux26-20041202
    
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted
    setting mps correctly. fixed now
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted

commit a3b31a12531558717d46b501222040c1bf4c1402
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Dec 7 05:07:06 2004 +0000

    rxdebug-more-dewarn-20041207
    
    FIXES 16660
    
    more dewarning

commit 60a97cdc87340de738835d8548b8e76f45ad731e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 6 16:43:20 2004 +0000

    lwp-elf-labels-on-solaris9-need-underscore-20041206
    
    
    solaris 9 x86 wants _ in labels.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    solaris 9 x86 wants _ in labels.
    nope, i lied

commit d39b99f3da856672edd61adb82532039631b7cb4
Author: Jim Rees <rees@umich.edu>
Date:   Mon Dec 6 14:17:47 2004 +0000

    no-oscheck-20041206
    
    
    remove ostype and osrelease check; more trouble than they're worth

commit cca8097cb99349bd57aca44113cc0c3cebb537ca
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Dec 6 12:00:24 2004 +0000

    windows-smb-20041206
    
    
    Fixup references to SMB Dfs functions.  Now need to fill in the details

commit fe97ddf25b550365fd54a3300fa7388cf71d8631
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Dec 5 21:20:00 2004 +0000

    windows-shutdown-20041205
    
    
    Synchronize the shutdown of all smb_Server threads by waiting on a
    shutdown event before continuing
    
    Do not lock a buffer object if the attempt to obtain the buffer failed.

commit d2d84479cfc9288cfa2c6d7c012ad0418229d225
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Dec 4 21:30:25 2004 +0000

    windows-pioctl-20041204
    
    
    Be more agressive about trying to establish a connection to the SMB
    server if it fails.  This requires adding a new dll: secur32.dll

commit eb164be09070dbf3aeabaa04afef5d16cdbfaa7a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Dec 4 21:29:35 2004 +0000

    windows-version-20041204
    
    
    1.3.7402

commit 38ed975350a879cd2a8d45c3e71aa2ed49e8b664
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Dec 4 21:29:10 2004 +0000

    windows-freelance-20041204
    
    
    perform a bit more error checking and logging when loading mountpoints and
    symlinks from the registry

commit 86420864cddb9148b89eafc9926b92910e576697
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Dec 4 21:28:21 2004 +0000

    winnotes-20041204
    
    
    make note that the contents of this file are no longer up to date

commit a8d0ca81a8d79b65e265ebf67ae6b9ddc868cac6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Dec 3 01:26:14 2004 +0000

    windows-afsd-init-20041202
    
    
    Fix a memory overwrite condition caused when the BackConnectionHostNames
    key does not exist

commit 40d674c9bcefc9b701a2e39edbf3f7e54c8fbcc0
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Thu Dec 2 05:59:55 2004 +0000

    rxdebug-use-afs-ntoa-r-20041202
    
    FIXES 16050
    
    use afs_inet_ntoa_r in rxdebug for consistency

commit bdd73ef446e4fb1788f414549f39a63ac2419470
Author: Horst Birthelmer <horst@riback.net>
Date:   Wed Dec 1 23:48:14 2004 +0000

    afs-server-multi-rx-clesnup-20041202
    
    
    clean up multirx code 's use of lock

commit 75e31ca662dc32581bde67ef5102ec15bac1be60
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Dec 1 23:38:53 2004 +0000

    amd64-linux-dewarn-20041202
    
    FIXES 16342
    
    clean up warnings for amd64

commit ffce916e8e37662bb032287a06ee85c28c5e2b3a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Dec 1 23:36:48 2004 +0000

    rx-dewarnify-20041202
    
    FIXES 16277
    
    dewarnify rx

commit a8cb095e85fba7ecdeb7bdb7848cfb2f498d5cc8
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Dec 1 23:31:54 2004 +0000

    osi-gettime-20041202
    
    FIXES 16346
    
    osi_GetTime needs to bdeal with 64 bit time on platforms that have it

commit db3a694498e6fc000933e2a8fd30e8812dd75a65
Author: Matt Benjamin <matt@linuxbox.com>
Date:   Wed Dec 1 23:21:18 2004 +0000

    umlinux26-20041202
    
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 16591
    
    umlinux 26 support. i wonder what i just reverted
    setting mps correctly. fixed now

commit 70df053245459ebb9b3874719fbc5229b94c114c
Author: Douglas Engert <deengert@anl.gov>
Date:   Wed Dec 1 23:07:21 2004 +0000

    ubik-calliter-pass-all-args-20041202
    
    FIXES 16556
    
    pass in all args to ubik_CallIter instead of doing (pseudo) varargs

commit 93bc285e69f1588b04224e65424bfb7e67b14f6d
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Dec 1 22:53:30 2004 +0000

    vol-bless-20041202
    
    FIXES 15928
    
    add volume blesser

commit f32f9810b188878e1e79b004873f91c1c538d40e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Dec 1 22:46:22 2004 +0000

    linux26-set-mps-correctly-200412102
    
    FIXES 15645
    
    set MPS correctly when compiling on 2.6

commit d8e6630fffbbc6635c49c8c6d45a4550144e7f94
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Dec 1 22:40:47 2004 +0000

    libafsrpc-assertion-failed-20041202
    
    FIXES 16432
    
    need AssertionFailed in libafsrpc. ndon't need casestrcpy in libafsauthent
    VS: ----------------------------------------------------------------------
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 16432
    
    need AssertionFailed in libafsrpc. ndon't need casestrcpy in libafsauthent

commit b208926c260105159bdf03bf219966a341e76197
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 30 16:53:59 2004 +0000

    windows-pioctl-debug-20041130
    
    
    Output the error number and not just the text string when reporting
    failures from CreateFile.

commit 53f0da3fb019cbc44bc012fbf0af0c85e7341381
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 30 07:40:11 2004 +0000

    windows-notes-upd-20041130
    
    
    update docs

commit 9ba17afadb859bf9e3ef912aa1a4c120b7998eb5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 30 07:31:07 2004 +0000

    windows-auto-disable-sig-verify-20041130
    
    
    If the desired cache size is greater then 700MB auto disable the
    signature verification check in order to prevent fragmentation of
    memory.

commit f8ce184140b2f54bd2d82d4f62b47b5387225419
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 30 07:21:35 2004 +0000

    windows-maxmem-20041130
    
    
    There is currently a maximum cache size of 1.3GB.  The limit is imposed
    by the largest contiguous block of unused memory within the 2GB process
    space which can be assigned to the memory mapped file.  Unfortunately,
    when the executable digital signature verification code is activated
    Windows sees fit to further segment the process memory which in turn
    reduces the size of the maximum cache file to less then 800MB.  If
    larger cache sizes are desired, a new registry value should be set:
    
      HKLM\SOFTWARE\OpenAFS\Client (DWORD) "VerifyServiceSignature" = 0x0
    
    Setting this value will disable the runtime verification of digital
    signatures on afsd_service.exe and the afs dlls which it loads.  It
    will not disable the the version number check on those same files.
    The signature verification is not a security messure and is only meant
    to enhance the ability to afsd_service.exe to detect potential
    destablizing mixtures of DLLs from incompatible distributions.

commit 852a0518624c13e45a4d0f2561b171687e07b9cc
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Nov 29 21:05:26 2004 +0000

    windows-digital-sigs-and-more-20041130
    
    
    Switch the Trust Provider used to verify the validity of executables
    and libraries to the Software Publisher Trust Provider.
    
    Add code (with Asanka's help) to extract the certificate details and
    log them to afsd_init.log.  Ensure that if files are signed that all
    of the files are signed by the same entity.
    
    Add a number of missing prototypes
    
    Correct conversions from time_t to long or short.

commit 0f1892f09b123d8251c99e81106aae49b42d477e
Author: Asanka Herath <asanka@mit.edu>
Date:   Mon Nov 29 09:23:46 2004 +0000

    windows-clean-20041129
    
    
    Cleanup clean targets to not break with cmd shell

commit 1a050671c9af89857a31cd41e13c64e95ae7a8e3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Nov 29 08:12:11 2004 +0000

    windows-dyn-symlinks-20041129
    
    
    in the freelance root.afs volume, instead of creating a mountpoint when
    a name is evaluated and it is a partial representation of a cellname,
    create a symlink.

commit a3c06afa0b7a9a94248af080bc5208291c08e08f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Nov 29 07:56:35 2004 +0000

    winverifytrust-20041129
    
    
    Add support for WinVerifyTrust().  If afsd_service.exe is a digitally
    signed executable, make sure that all of the associated binaries not
    only have the same file version number but are signed as well.

commit a688328e8524f7232bfc294ea02b4d87d7172656
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Nov 28 02:07:45 2004 +0000

    windows-freelance-init-20041127
    
    
    replace the registry population scheme with cm_freelanceAddMount
    based on the CellRootName

commit 3c487ecb59c0bace3a417245f639f7e3388ae5dc
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Nov 26 17:09:51 2004 +0000

    windows-robust-freelance-20041126
    
    
    Implement new functions: cm_freelanceMountPointExists and
    cm_freelanceSymlinkExists.  Use them along with other validity checks
    in cm_freelanceAddMount and cm_freelanceAddSymlink to ensure that name
    collisions do not occur and that empty strings are not valid file names.
    
    A symlink may not have a name which would resolve to a valid cell name.
    Doing so would prevent access to the cell.

commit 976465c87e027a3721a464324cf1d83c522dd996
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Nov 26 08:32:16 2004 +0000

    windows-scache-locks-20041126
    
    
    replace all direct manipulations of the cm_scache_t refCount field
    with calls to cm_{Hold,Release}SCache[NoLock]().
    
    add missing call to cm_HoldScacheNoLock in freelance Mount Point
    re-initialization code.
    
    experiment a bit more with "special folders".   ensure that checks
    for "desktop.ini" are case insensitive.

commit 081993a6274866507bfa3969a7b692a24e6491e1
Author: Dave Tanner <dtanner@mit.edu>
Date:   Thu Nov 25 01:25:30 2004 +0000

    windows-ini-file-mapping-20041124
    
    
    Install registry values to force a mapping from afsdsbmt.ini file updates
    via the old profile API to the new HKLM\Software\OpenAFS\Client\Submounts
    key.

commit 2a7cf0d2ae5094dcf2b09e5794c86fe4326b9c4f
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Nov 24 18:57:58 2004 +0000

    netbsd21-20041124
    
    
    netbsd 2.99.x (aka 3.0) support
    (aka 2.1?)

commit 487bf88c403cbe0ae93b92556623913962b4b871
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Nov 24 18:42:31 2004 +0000

    windows-updates-20041124
    
    
    update docs
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    conditionalize the cleanup of language files on their existence
    
    ====================
    
    reformat parts of afsd_init.c
    
    add support for version number checking to afsd_service.exe
    
    ====================
    
    Fix the afs_config.exe submount dialog operations:  Edit Submount name and
    Remove submount entry.
    
    ====================
    
    Fix the version info data stored in the resource block to
    use the same language identifier as is advertised.

commit 50ca88be2a8dcce74ba9386d0161c39e46e1d57c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 23 04:19:42 2004 +0000

    freelance-import-20041122
    
    
    Fix the afs_freelance.ini import code.
    Check both the Client install directory and the %WINDIR% directory
    for afs_freelance.ini

commit 06edeed70c9b3c7a2b8909c2069e720c97478799
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 23 03:49:05 2004 +0000

    windows-misc-20041122
    
    
    the VC++ 2003 Toolkit is missing some important libraries.
    remove it from the README-NT file
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    update docs
    
    ====================
    
    simplify the freelance import from afs_freelance.ini code.  don't generate
    an new file if the old one does not exist.
    
    begin conversion from old string functions to new strsafe functions.
    this will need to be done for all of the afsd_service.exe source
    modules before we can regularly use VS .NET 2005
    
    Add support for VL_GetEntryByNameN.  Still need to figure out what needs
    to be done for VL_GetEntryByNameU.  (multi-homed support)
    
    ====================
    
    fix a deadlock situation if an Obtain Tokens dialog is produced
    by an expiration event and the user chooses to cancel instead of
    obtain new credentials.

commit cef225f20e88cffaaa4a4a7dfc74d39137bc4e64
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Fri Nov 19 20:01:29 2004 +0000

    aklog-intergration-20041119
    
    Import the aklog source from the MIT AFS-Kerberos 5 migration kit.

commit 32c55d118baa6315402d896d6b874705fe1189a5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 11 07:12:42 2004 +0000

    kdump-in-kernel-20041111
    
    
    first step at integrating kdump functionality into the kernel; all the rx stats.

commit 9b579bf0f77b6832897c5b50fa6a5f6b40940717
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 11 04:34:40 2004 +0000

    proc-cellservdb-20041110
    
    
    put a cellservdb in /proc/fs/openafs

commit fbec56963df5d556056e4da37c3b6468a1ca69c5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Nov 11 04:24:13 2004 +0000

    update-objdir-20041110
    
    
    make objdir builds work (with fix from shadow@dementia.org in src/rxkad/...)

commit aa204b0a4b586a3bfec532c16bd64a5964f092f5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 11 04:20:45 2004 +0000

    mask-loopback-address-allow-loopback-interfaces-to-be-advertised-20041110
    
    
    some software network adapters use instances of lo but are real network adapters
    . allow them to be advertised. the modified functions are called only in the pro
    cess of collecting a list to advertise.
    
    at the same time, make sure we mask 127.0.0.1.
    i wonder if that's a mistake.

commit 248aa3980eb4cf35d153119ed88b94a129ea9198
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 9 17:07:28 2004 +0000

    windows-version-bump-20041109
    
    
    1.3.7400

commit 8e3f7c5cb04a2e2950f2c56cd41f697b857ae8a7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 9 12:47:36 2004 +0000

    winnotes-upd-20041109
    
    
    windows note updates for 1.3.74

commit c0dd32748f5a64676ddbc7897d1a622e0f250cd7
Author: Horst Birthelmer <horst@riback.net>
Date:   Mon Nov 8 19:59:57 2004 +0000

    aix-vol-salvage-make-malloc-not-be-cast-20041106
    
    
    When you have a 64bit big endian machine with a 64bit off_t in the stat
    the salvager won't work.
    
    Malloc takes an "unsigned long" and a implicit cast will be almost
    always zero :-).

commit 565126d68eed60e5787be6202fb38619baeab3e5
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Nov 8 06:30:37 2004 +0000

    ppc-linux26-20041108
    
    FIXES 15770
    
    support ppc linux 2.6

commit c3d9ed3cb553747b9b317fc4794755ba98afc24b
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Nov 8 06:26:01 2004 +0000

    readdir-report-correct-inums-20041108
    
    FIXES 15962
    
    We currently try fairly hard to make stat() on a volume root return the
    same vnode number as is listed for the mount point by readdir(). This
    behaviour is desirable; in fact, getcwd would not work otherwise.
    
    However, we are _not_ careful about making readdir list correct inode
    numbers for "." in a volume root or ".." in a directory whose parent is
    a volume root. This means that applications which examine these entries
    will still see inconsistent inode numbers. Clearly, it would be more
    desirable to report consistent inode numbers in all cases, instead of
    only in some cases.
    
    The attached patch, written while I was tracking down some NFS
    translator problems (which ultimately proved to be unrelated), makes
    readdir return consistent inode numbers for volume roots. We are
    running this on a few machines and have seen no problems, but it has not
    been extensively tested.

commit 40c1d00508b3ad9e4384ad7cc3f39f7a206c4014
Author: Douglas Engert <deengert@anl.gov>
Date:   Mon Nov 8 06:20:54 2004 +0000

    vfsck-sol9-breadwrite-args-20041108
    
    FIXES 15927
    
    fix arg types for bread/bwrite for solaris 9

commit 31dd436712c7119a0bcb0ad534b7e9e6304dd298
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Nov 8 06:07:16 2004 +0000

    nfs3-no-readdirplus-20041108
    
    FIXES 15961
    
    don't support readdirplus in nfsv3

commit 08af3229f3c4d961e5d662e049476229fbb11767
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Nov 8 06:04:12 2004 +0000

    callback-rxcon-use-safely-20041108
    
    FIXES 15973
    
    add get/put refs to all callback rxconn usages to preclude any possibility of race

commit 884335d78318aca00293245c9d481fd285ceba59
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Nov 8 05:52:36 2004 +0000

    nfs-root-mtime-20041108
    
    FIXES 15960
    
    don't reset root mtime, solaris 9 wants it to be the same across multiple calls

commit ee23c5f90a7069bd8203fbf44575da361a63d7b8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 8 04:03:10 2004 +0000

    any-way-damnit-20041107
    
    
    no comment.

commit 27fbf495163784c7d9a88001441b671f446ce547
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Nov 7 17:11:50 2004 +0000

    mask-loopback-address-allow-loopback-interfaces-to-be-advertised-20041106
    
    
    some software network adapters use instances of lo but are real network adapters
    . allow them to be advertised. the modified functions are called only in the pro
    cess of collecting a list to advertise.
    
    at the same time, make sure we mask 127.0.0.1.
    i wonder if that's a mistake.

commit 10c1abfa31273ebf99c5eaf401cb8c5b9e8df0dd
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Nov 6 07:16:54 2004 +0000

    client-dir-package-interface-update-20041106
    
    FIXES 15726
    
    cleanup from dread-do-validation; change to using dcache and not just fcache

commit 756488a8395b5c45ceb383ca0106164e24bcb66c
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Sat Nov 6 07:02:44 2004 +0000

    vos-timestamp-handling-20041106
    
    FIXES 15708
    
    fix timestamp handling on create; display "never" for copy time

commit 6dce8ba4e23c6482856aaf35cb5dc5168ef054cc
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Nov 5 04:21:29 2004 +0000

    irix-largefile-update-20041104
    
    
    from peter tripician via chas. update so largefile support stands a chance of working

commit df99b514f619cde44b223a0e1f22ba856e548842
Author: Jim Rees <rees@umich.edu>
Date:   Thu Nov 4 15:49:58 2004 +0000

    openbsd36-20041104
    
    
    auto-detect OpenBSD 3.6.

commit 98057f4ac4047e1b28bfa56cd91c32ee04a2a8b4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Nov 2 06:10:29 2004 +0000

    dnlc-optimize-20041102
    
    
     * Optimize calls to the DNLC.  Do not search if the FID is the Freelance
       root.afs volume.  Do not search if we are looking for the magic
       _._AFS_IOCTL_._ name.
    
     * Enable Buffer Trace logs in debug builds.

commit 66cf365c50efa09b0629cf3c211659b070457f63
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Nov 1 11:45:29 2004 +0000

    readme-nt-20041101
    
    
    Remove last vestiges of Win9x comments
    
    Update Wix 2.0 information
    
    Provide download or ordering information on how to obtain all the
    necessary tools required to build OpenAFS for FREE

commit b9f527243e6aa7fc24a0ea0e52d1ec753dd04fa9
Author: Asanka Herath <asanka@mit.edu>
Date:   Mon Nov 1 10:45:48 2004 +0000

    wix-compatibilityK-20041101
    
    
    Wix has been updated.  to avoid warning/error messages some changes
    to the scripts were required.  there were no changes to functionality.

commit 5745d6e260998288c2411057b661e3ff33ece78e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Oct 30 00:38:53 2004 +0000

    windows-invalid-dir-handles-20041029
    
    
     * Define new error CM_ERROR_TOO_MANY_SYMLINKS
    
     * Fix storage location for Freelance Mount Points broken in
       previous patch
    
     * Correct locking throughout the Directory Search code
       which was resulting in invalid handle errors being
       generated when objects were freed while they were still
       in use by the CIFS client

commit f0824d9f4e06d2f305dcc63cf0d10f9fe3ccb805
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 28 22:20:10 2004 +0000

    ioctl-dbg-windows-20041028
    
    
    Output error codes in hex

commit a3da9532a930720e4e9fba5f6520c3c9e1d67bc4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 28 21:46:42 2004 +0000

    inlinebulk-put-ref-on-error-20041028
    
    
    if we got an error during InlineBulk, put back the reference

commit 2fbfef7f9157aad571307564faae1ce7aae4e3be
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 28 19:08:06 2004 +0000

    drop-h-lock-around-putconn-20041027
    
    
    the problem with rx_PutConnection is h_FreeConnection uses the host global lock
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    the problem with rx_PutConnection is h_FreeConnection uses the host global lock
    but it shouldn't matter (callback conn should be a client not server conn and
    thus not h_FreeConnection on cleanup)
    
    further, we should free the conns we GetConnection'd not the ones still in
    the host struct at the end.

commit 28171bbc9c33d40e6e0064c951a1ab542b48a3de
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 28 17:37:52 2004 +0000

    more-freelance-symlinks-20041028
    
    
     * Fix Find Cell By Name pioctl call to return a name "Freelance.Local.Root"
       for the fake root.afs volume.  This allows the IsPathInAfs() type
       functions to succeed for \\AFS\all
    
     * Add missing dialog template for Explorer Shell Extension Symlink->Add
       operation
    
     * Increase the acceptable length of the link destination path in the
       Add Symlink dialog box support code.
    
     * Fix up some missing prototypes

commit f8c4c2fd3b831794cbcd16c1689179cd593ea491
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 28 15:33:05 2004 +0000

    windows-unused-vars-20041028
    
    
    remove unused vars

commit c7f18e4946ffe5b22b19079ad412bd962bed5092
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 28 02:22:25 2004 +0000

    windows-docs-20041027
    
    
    Documentation updates

commit 4cbee84b4c1d1eca5913a64a392e2b31779ca7b5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 28 02:13:51 2004 +0000

    windows-freelance-symlink-20041027
    
    
     * Remove the fallback to KRB4 in afskfw when obtaining tokens
    
     * Add support for symlinks to Freelance root.afs volume
       Stored at HKLM\SOFTWARE\OpenAFS\Client\Freelance\Symlinks
           <number>  =  "<linkname>:<relative-path>."
       Use symlink.exe to create, list, or remove

commit e751ec6a3683a175e1cdad910dd1311d61f632e1
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 27 20:46:54 2004 +0000

    fbsd53-20041027
    
    
    support for FreeBSD 5.3
    builds and runs as well as it did on 5.2

commit 5bacdac16c2efda7a22125ce89cc617d6ba2c285
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 27 16:01:03 2004 +0000

    acinclude-fbsd-20041027
    
    
    auto-detect FreeBSD 5.3

commit 0297f7d573b1acd5428816f39400880076746cf2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Oct 26 02:55:32 2004 +0000

    undo-patch-windows-20041025
    
    
    pull patch which breaks submount creation from gui

commit 0e8e8c988950b94ae71d815817b1474d0c4ddab1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Oct 26 02:53:40 2004 +0000

    windows-misc-20041025
    
    
     * fix loading of SysName from the registry
    
     * reformat cm_scache; change flags to unsigned
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
     * fix loading of SysName from the registry
    
     * broken patch to tab_drives.cpp - this will be pulled

commit 58f0334640f989a955930cae37d43d86aa999509
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Oct 20 05:16:57 2004 +0000

    hklm-reg-fix-20041019
    
    
    fix the logic to ensure that HKLM is checked if HKCU does not exist
    for EnableKFW and Use524

commit cabe659f112e70e5ff9e5979b14a6ac6057af58e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 19 23:34:33 2004 +0000

    provide-fPIC-method-for-amd64-20040508
    
    FIXES 3680
    
    allow building fPIC on amd64

commit 37e865b235ad6e7d85c4cc47f842d60c60965b4a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 19 07:07:53 2004 +0000

    irix-cleanup-20041019
    
    
    clean up my messes.

commit 9f3a32c75121490eb1260e6ee36da7bb5ec8cccf
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Oct 19 01:51:48 2004 +0000

    windows-cleanup-20041018
    
    
    cleanup AFS_component_version_number.h

commit 8b09add2a4b52d02a6ffc2c9dedaaa7eddbedc26
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 18 23:31:56 2004 +0000

    lang-clean-fix-20041018
    
    
    Fix the for loop used to clean the language directories

commit 78736ba21b90199de364f235aa7d03cd3ec6666d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 18 21:25:58 2004 +0000

    windows-version-update-20041018
    
    
    1.3.7300

commit efee9917cbb3130dfd73b5f064c4ff266c284333
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 18 19:39:16 2004 +0000

    configure-linux-header-path-help-20041018
    
    
    thanks to Kris Van Hees for pointing this out

commit 98a7c79f2f9fee1ac66d4ab96a9acf6258f58ff7
Author: John Bucy <bucy-openafs-devel@gloop.org>
Date:   Mon Oct 18 07:49:45 2004 +0000

    setpag-print-throttled-20041012
    
    
    kernel printf when we start throttling for time

commit 8bb47b67a00bd4ff6a89d57cff706aba0551db8a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 18 07:12:49 2004 +0000

    partly-revert-volser-restore-timestamp-cleanup-20041018
    
    
    messes up creation field on new volume.

commit 8b7de1a484228a77048fee98c73b7fe8b7a550ab
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Oct 18 07:08:14 2004 +0000

    amd64-ccobj-update-20041018
    
    
    update ccobj for amd64

commit 8e335f4079d2c62d7cfe932eb46b59b8ceb695c1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 18 05:22:18 2004 +0000

    windows-version-20041017
    
    
    update version to 1.3.7200

commit 02d99c8c98be8921147d9f84c4d2fe1be2235d9f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 18 03:44:14 2004 +0000

    freelance-end-of-line-20041017
    
    
    modify the algorithm used for loading mount point entries to ignore
    all data beyond the terminating dot.

commit 564f4a8022beaf9e131f784fa15ea00759b5bd80
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 22:19:13 2004 +0000

    flushonhibernate-20041017
    
    
    Fix Asanka's patch.

commit 3c291a5fcce47c361670266e466a4785aaddda08
Author: Asanka Herath <asanka@mit.edu>
Date:   Sun Oct 17 22:02:01 2004 +0000

    flushonhibernate-registry-20041017
    
    
    Add a new FlushOnHibernate registry option to allow users to disable
    the Power Management Flush support

commit 1fd9a66fc692bf003feab8d1d2b4eaa8dc18fe56
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 22:00:24 2004 +0000

    winnotes-updates-20041017
    
    
    Updates for 1.3.72
    
    New FlushOnHibernate registry option

commit 3d15cfc3ca8fb159e8b4a22717a3d53421e3c88a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 21:24:19 2004 +0000

    krb5-no-dot-20041017
    
    
    Generate error in the client if a krb5 principal contains a dot in the
    first component.

commit 3c89433fc9e5229ad19c2096f5758a7730c47f0c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 16:18:24 2004 +0000

    local-system-acct-20041017
    
    
    When testing for Administrator privileges always grant them to the
    Local System account

commit 38a75434706093569359e7d87b8726fd8f865955
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 03:46:56 2004 +0000

    wix-clean-20041016
    
    
    Clean the intermediary build files before each build.

commit c8feac3a2e8dcd89882aa1d9edf9b08566b162ea
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 17 03:44:52 2004 +0000

    windows-updates-20041016
    
    
    * Correct the handling of Over Quota errors
    
    * Update all of the reference count fields to use unsigned long
      instead of shorts or ints
    
    * Reformat touched files
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    * Update reference count fields from short to unsigned long

commit 4803a9d7f9ad7952148b45a8ebb04eeb1e69127a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Oct 16 23:41:18 2004 +0000

    des-fix-mustalign-20041016
    
    FIXES 15637
    
    Forgot to fix the MUSTALIGN case

commit 43dca8542be38c947e6cbee45293f183f3d4ed93
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Oct 16 23:31:49 2004 +0000

    des-fix-20041016
    
    FIXES 15637
    
    Correct previous patch.

commit 85835f169cf47207795e00cbc2dae6fd77950f78
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 15 07:01:35 2004 +0000

    rx-peer-and-conn-refcounts-now-unsigned-int32-20041015
    
    FIXES 15459
    
    in an extreme case, the peer object refcount could wrap
    
    we should probably also log if wrapping is imminent

commit 5862d1612aaab259fa7f7bbb07776b7c7fa04ee8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Oct 14 02:52:05 2004 +0000

    pioctl-debug-20041013
    
    
    Add more debug statements

commit c66f4f6f50ed50502847a9b1dfb750bd61e57586
Author: Peter Nelson <pnelson@andrew.cmu.edu>
Date:   Wed Oct 13 22:00:04 2004 +0000

    makefileproto-linux26-20041013
    
    
    add "linux26" to the case where we symlink asm

commit 8be8a671c5dfa478b571c70d6c6a9757ebec553d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 13 17:29:36 2004 +0000

    h-tossstuff-r-leak-20041013
    
    
    don't leak host hash objects in h_TossStuff_r

commit 1bf42dd73c2f47137cb4adfc682ac852b696bf68
Author: Peter Nelson <pnelson@andrew.cmu.edu>
Date:   Wed Oct 13 15:46:29 2004 +0000

    amd64-use-flock-20041013
    
    
    
    so we stand a chance of compiling on amd64

commit 9ce92cb420da6c003257aeef092480d6c0131278
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Oct 13 15:23:25 2004 +0000

    uninitialized-vars-20041013
    
    FIXES 15604
    
     initialize flags in SetFields so that it has a default value
     otherwise a runtime exception is generated on windows due to
     lack of initialization before use.

commit 33809f6c7382ab07d018809922a2a2b06e798b63
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Wed Oct 13 15:07:53 2004 +0000

    linux-pagelaunder-avoid-deadlock-20041012
    
    FIXES 15239
    
    mmap'd files can deadlock on linux; fix by not letting kernel free pages out of our space predictively
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 15239
    
    mmap'd files can deadlock on linux; fix by not letting kernel free pages out of
    our space predictively

commit 181c134ed87385f38261893b02c6554b892fbbfd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Oct 13 07:41:38 2004 +0000

    expand-strings-20041012
    
    
    Stop blowing away the drive mappings of REG_EXPAND_SZ values due to
    the use of the incorrect order of the parameters

commit 4050980d3c1f7eec40a95a1c35122b89ff2a651c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Oct 13 03:48:24 2004 +0000

    winnotes-20041012
    
    
    Update documentation files with latest changes

commit d8a4052f72bb5620559ff80bc4ef36e8daf6f0e1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Oct 13 03:30:49 2004 +0000

    rx-refcount-20041012
    
    FIXES 15585
    
     * use new rx_GetConnection/rx_PutConnection functions to increment/
       decrement the refCounts on the rx_connection objects so that the
       objects are not invalidated during RXAFS_xxx calls when:
    
        - the user tokens change
        - the global cryptlevel changes
    
     * import SysName from registry and parse along white space boundaries

commit 63a1a5b27cc0ec321069cfa7b73715f059c98348
Author: Horst Birthelmer <horst@riback.net>
Date:   Wed Oct 13 02:28:25 2004 +0000

    aix-des-cleanup-20041012
    
    
    incrementing pointers behind casts apparently pisses of vac 6

commit 3e9f470025ad4191c084dee6e129d3320bf1d9fd
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Oct 13 02:16:40 2004 +0000

    amd64-linux26-20041012
    
    FIXES 15617
    
    support for amd64 linux26

commit 2fb7971aa120a92d1cf58c3940f85f7a7b3d091f
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 13 02:10:58 2004 +0000

    build-fcrypt-from-domestic-20041010
    
    
    don't install rxkad/domestic/*.c, just compile them where they live

commit 512f3b0555c10d26ea6b05695471481df11fe1c9
Author: Eric Melski <ericm@electric-cloud.com>
Date:   Wed Oct 13 02:04:55 2004 +0000

    solaris-fix-ulimit-write-size-bug-20041012
    
    FIXES 15609
    
    convert nonsensical comparison to one which makes sense in light of code and
    comments below it

commit d566c1cf874d15ca02020894ff0af62c4e39e7bb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 13 01:51:00 2004 +0000

    dread-do-validation-20041012
    
    FIXES 15340
    
    so we can do directory object validation in DRead()

commit ef08d58e9361ca72b22bff091c870dbcae6ab1f1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 13 01:36:59 2004 +0000

    linux-26-vlru-cycle-20041012
    
    FIXES 15339
    
    
    it was only a matter of time...

commit f1e789f75f3ccc7f7055cfebc970437680931a61
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Oct 13 01:30:03 2004 +0000

    asmlinkage-for-pioctl-20041012
    
    FIXES 15338
    
    another place where we need to declare a function asmlinkage

commit e106a39fe62a8d338ac7f8cf4ed857c97a9b3484
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Oct 12 21:51:55 2004 +0000

    cleanup-rx-peer-leak-20041012
    
    
    if the peer was the second in the chain we could throw away our reference to
    the first, effectively leaking it forever.

commit 07d62e8a6f266f554ee39720941da8254bbbc518
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Oct 11 23:31:26 2004 +0000

    linux-setgroups-need-asmlinkage-20041011
    
    FIXES 15460
    
    sys_setgroups pointers must be asmlinkage everywhere

commit d98a0af85d857f74ba8c50ae85f397a526822cb8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 11 19:39:55 2004 +0000

    viced-callback-lock-host-during-multi-breakcallback-20041011
    
    
    since it looks like CheckHost is using a gc'd client conn, this more or less has to be it.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    since it looks like CheckHost is using a gc'd client conn, this more or less has
     to be it.
    
    and don't deadlock.
    
    ====================
    
    since it looks like CheckHost is using a gc'd client conn, this more or less has
     to be it.
    
    and don't deadlock.
    
    ====================
    
    since it looks like CheckHost is using a gc'd client conn, this more or less has
     to be it.
    
    and don't deadlock.

commit 3b9cdc23b5122e371139828e557732c5e434230a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Oct 11 19:35:30 2004 +0000

    rx-getputconnection-20041011
    
    FIXES 15584
    
    add Get/PutConnection funcs to diddle conn refCounts.

commit d0898af1876fcbd5ac6962a8e11b3ca776791fde
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Oct 11 19:19:35 2004 +0000

    osi-timeval-can-be-timeval-20041011
    
    FIXES 15580
    
    since the timeval is used only internally, let's just use struct timeval

commit 1d1412bbc4b19b901dde5f6f2a16223be2230026
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Oct 11 17:21:28 2004 +0000

    ppc64-26-support-20041011
    
    FIXES 15581

commit 9a0eb2496d990b6bb4fcd3a459047f7434835c87
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 11 17:01:58 2004 +0000

    libafsrpc-cleanup-20041011
    
    FIXES 15586
    
    remove unwanted files

commit d8453a3f467e6350da304dbc0f494591737662cd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 11 00:50:37 2004 +0000

    windows-combined-20041010
    
    
      * fix the Windows cache manager to prevent it from replacing the
        rx_connection object associated with the cm_conn_t object on each
        and every operation if "fs crypt" was set.  This explains the
        dramatic performance difference when crypt is used vs clear.
        The problem: 'cryptall', a boolean flag indicating whether or not
        "fs crypt" is set, was being compared to the rx_connection
        cryptlevel which is either rxkad_clear:0 or rxkad_crypt:2.
        1 != 2 and therefore the rx_connection was always destroyed
        and replaced on each and every operation.
    
        Lock the cm_conn_t object around every call to RXAFS_xxxx functions.
        It is not safe for the cm_conn_t object to not be locked because
        rx_DestroyConnection might be called from another thread if:
            - the user's tokens have changed or expired
            - the crypt mode has changed
    
      * Modify cm_Lookup to evaluate a list of possible values for @sys
        instead of just a single entry.  Re-write cm_ExpandSysname and
        add cm_LookupInternal.
    
      * Reformat affected files
    
      * Add cache file name to cache creation errors

commit 346f60b807693c5ee480d105520b4a11cc283675
Author: Jim Rees <rees@umich.edu>
Date:   Sun Oct 10 03:13:41 2004 +0000

    crypt-take-voids2-20041009
    
    
    make various crypt/decrypt routines take void * args to eliminate more
    compiler warnings

commit d114c46e85624c1988a7f61a872251660c7d52c4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 10 03:03:11 2004 +0000

    pr-initialize-dont-leak-ref-20041009
    
    
    we were leaking an afsconf_Open ref. let's not.

commit d4d2fc438654939348b92dca1b8a6b09b56dfd6c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Oct 10 02:53:32 2004 +0000

    generic-client-init-function-20041009
    
    FIXES 15464
    
    so we can have this code in just one place

commit d764e768f94464021462e4b53c40a467eb4840f3
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Oct 9 23:34:45 2004 +0000

    linux-disable-pmtu-discovery-20041009
    
    FIXES 15505
    
    don't set DF bit; use setsockopt to turn of kernel "pmtu feature"

commit 2ad64703d4942b7a64751c24aa8af790b271f93e
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 8 20:30:37 2004 +0000

    add-rocks-20041008
    
    
    add rocks to cmd args to match prototype

commit 7e7475981f2f0ba9fa8937c07514548580834981
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Oct 6 18:35:19 2004 +0000

    revert-fix-seclevel-20041006
    
    
    Ticket #15367
    revert rev 1.12 fix-seclevel-20030213:
    Use requested security level instead of "clear" in pr_Initialize

commit ba58f50caf44e14493eaa5ccaf5d30f17b792782
Author: Jim Rees <rees@umich.edu>
Date:   Tue Oct 5 21:40:59 2004 +0000

    crypt-take-voids-20041005
    
    
    make various crypt/decrypt routines take void * args to eliminate more
    compiler warnings

commit 04ec8ea29d1440beca6e8be9bac12a64650c900b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Oct 4 08:35:13 2004 +0000

    admin-group-nsis-20041004
    
    
    correct the test for -create and -remove so that the proper
    action is taken for each

commit e845efc4428fa5764eb5e450b7f5ec8a805eb4f7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 3 15:06:46 2004 +0000

    pioctl-debug-20041003
    
    
    Add a new registry value HKLM/SOFTWARE/OpenAFS/Client "IoctlDebug" DWORD
    which when set to a non-zero value will output error messages to stderr.
    This is to assist in debugging ioctl failures when fs.exe, tokens.exe,
    etc. fail because of an inability to open the ioctl file name.

commit fdaf6f793398fb7dd61bdb7030447918dbe30b38
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 3 14:53:35 2004 +0000

    windows-symlink-access-20041003
    
    FIXES 15250
    
    One more fix for the symlink problem.  Access control checks cannot be
    performed until after we have walked all of the symlinks.  Otherwise,
    we are checking access to the symlink itself and not to the file.

commit 2469663d0d4b2df8100ec8e09954163ddf1aa042
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Oct 3 14:34:27 2004 +0000

    win-power-mgmt-flush-test-20041003
    
    
    The windows power management code responds to a request to suspend or
    hibernate by performing a "fs flushvol" as the logged in user on each
    of the SMB/CIFS mounted shares.  This can be very time consuming if
    the cell servers cannot be reached.
    
    This patch adds a test to ensure that there is at least one network
    adapter in the machine which is not a loopback adapter.
    
    While developing this patch other areas of concern have been raised.
    The power management code waits a fixed period of time based upon
    the hard dead timeout before allowing the suspend/hibernate to continue.
    This allows the machine to shutdown even if there are active flush
    operations being performed.  This defeats the benefit of performing
    the flush at all.
    
    A better mechanism could be developed if the functions called via
    cm_IoctlFlushVolume returned and checked error codes.  Then it might
    be possible to abandon the flush operation if a Server Not Reachable
    state was obtained.
    
    The power management flush operations will also not work on Terminal
    Server.  This would be important in the case where a terminal server
    is shutting down due to a switch over to a UPS.  The reason it does
    not work on Terminal Server is that there is that it is not possible
    for afsd_service.exe to enumerate the SMB/CIFS shares and impersonate
    the individual logged in users.
    
    It would be preferred for there to be a new cm_FlushAll() function
    implemented which was not dependent on the use of the ioctl mechanism
    for the purpose of identifying a volume ID or a user ID.

commit 3f2e943d430ea85ece5c1f96f197122a7c47851c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 2 16:54:28 2004 +0000

    vol-fix-nuke-iteration-and-nuke-globals-20040928
    
    
    allInodes global dies; don't use ti as an iterator right after freeing it.

commit 9592e1b10c23d99a9f7b29b77033b054974bbff1
Author: Jim Rees <rees@umich.edu>
Date:   Fri Sep 24 16:42:32 2004 +0000

    rx-nprocs-static-20040924
    
    
    make nProcs static so it will count up correctly
    also change its scope to eliminate compiler warning

commit d3c732bcbd5970f4f20cf5576fa43269e37c99d4
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Sep 24 02:42:28 2004 +0000

    rxi-flushwrite-fake-a-better-empty-packet-20040923
    
    
    Fake a better empty packet in rxi_FlushWrite(), with enough space for
    an rxkad header.  Otherwise rxi_PrepareSendPacket may panic.

commit d7c3b0a1466654961160e5cd1db632f6c419e07c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 23 04:55:52 2004 +0000

    threaded-volserver-and-protoization-update-20040922
    
    
    fix a deadlock between GCTrans and DeleteTrans
    more protoization

commit d69e6641e5fc423b41fcfc9345a6f917ec958f37
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Sep 22 16:04:59 2004 +0000

    kfw-hklm-registry-fix-20040922
    
    
    Fix the registry query in afskfw.lib to read the HKLM machine value
    even if the HKCU key is present.
    
    Update text in the install notes to better describe the krb524
    issues

commit b40090233989aad1b96fdd9fd9d8d0478c2abd6e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Sep 22 07:00:56 2004 +0000

    windows-force-krb524-20030921
    
    
    Provide mechanisms to force the use of krb524 via afscreds, afslogon,
    and aklog.  afslogon and afscreds rely on a new "Use524" registry value
    (see registry.txt) and aklog has a new "-m" command line option.

commit a135e0d30c077e19c3f10f7a6ccc46fa3fb6c234
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Sep 21 21:05:14 2004 +0000

    cifs-pattern-match-20040921
    
    
    The pattern matching algorithm was failing to match strings when the
    pattern terminated in a '*'.  The logic was also too complex because
    it failed to simply the patterns prior to processing.  Any combination
    of '*' and '?' == '*' according to the Windows file name pattern
    matching rules.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 15365
    
    The pattern matching algorithm was failing to match strings when the
    pattern terminated in a '*'.  The logic was also too complex because
    it failed to simply the patterns prior to processing.  Any combination
    of '*' and '?' == '*' according to the Windows file name pattern
    matching rules.

commit e07406e551cc5c67e83c9985dbbfe5952ada6518
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Sep 21 15:00:08 2004 +0000

    windows-links-20040921
    
    FIXES 915
    FIXES 15250
    
      * smb_ReceiveCoreRename() was factored to produce smb_Rename()
        which is used by both the original function and the new
        smb_ReceiveNTRename().  smb_ReceiveNTRename() supports the
        creation of HardLinks in addition to Renaming.  smb_Link()
        is a new function which creates HardLinks via cm_Link().
        cm_Link() is a new vnodeops function which creates links
        using RXAFS_Link().
    
        smb_ReceiveNTRename() does not support the File Copy and
        Move Cluster Information operations described in its interface.
        ReceiveNTRename is under documented in CIFS-TR-1p00_FINAL.pdf.
    
      * When opening files via symlinks, we should follow the symlinks
        until we reach the actual file stat cache entry.  The stat cache
        entry of the file should then be stored in the FID instead of
        stat scache entry of the symlink.
    
      * return bad operation errors for all unimplemented functions
        even if we do not know the functions exist.
    
      * Log bad packets and unknown operation packets to the trace log
    
      * Map CM_ERROR_BADOP to STATUS_NOT_SUPPORTED instead of
        0xC09820FF
    
      * Update list of known CIFS operations to include all those listed
        in CIFS-TR-1p00_FINAL.pdf.

commit 9a213dba7776f9571d34c8b11416d88440ece827
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 20 03:07:22 2004 +0000

    rx-unrefd-peer-may-be-gcd-so-be-safe-20040919
    
    
    this means we potentially "lose" some received bytes in the tracking,
    but the alternative is to add and then drop a ref (which i suppose would be ok)

commit cbe0d7cc1daca4a2d9a634f7cdb8da8d01ad050d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 17 14:35:51 2004 +0000

    rx-stats-calls-waited-ever-20040917
    
    
    keep track of the number of calls which have waited for a thread ever (not just those waiting now)
    
    update rxdebug to be able to print it.

commit 1ea05bb5679ba0e00b02ef2b20f72f7b2c39eb14
Author: Christof Hanke <hanke@rzg.mpg.de>
Date:   Wed Sep 15 04:54:28 2004 +0000

    segments-keep-chunkbytes-and-validpos-in-sync-20040914
    
    FIXES 15200
    
    "Basically, the pointers (struct dcache *)->validPos and (struct dcache *)->f.chunkBytes are not kept in sync."

commit 8c887b207210e0b7b01d2c8621149e8a92d0224c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Sep 9 21:19:06 2004 +0000

    nsis-1400-compiler-20040908
    
    
    Add support for MS VS 2005

commit 24da12afa3b7b79b4af097daa39b98093e10a743
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Sep 8 22:35:33 2004 +0000

    time_t-pointer-conversions-20040908
    
    FIXES 15169
    
    Modify all parameters to functions which take a pointer to time_t
    to actually provide a pointer to time_t instead of pointers to long,
    afs_int32, afs_uint32, etc.
    
    This is to provide compatibility with systems that use 64-bit time_t
    typedefs such as the IBM compilers for AIX and the Microsoft Visual
    Studio 2005 compiler.
    
    This patch does not address any of the issues of data loss caused
    by converting 64-bit time_t to 32-bit signed or unsigned values.

commit f31658317a77346759f165ff13b5dcf77a8b3683
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Sep 8 06:52:20 2004 +0000

    windows-misc-20040907
    
    
    * modify registry.txt to replace QWORD with DWORD
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    * add expanded registry support to "submounts"

commit 4d906fec23916230936763ef36d6bc7a79c8eebf
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 26 22:07:01 2004 +0000

    placate-netbsd-cc-20040826
    
    
    netbsd's cc doesn't like multiple semicolons in variable declarations,
    so let's adjust the XSTATS_DECLS macro appropriately.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    netbsd's cc doesn't like multiple semicolons in variable declarations,
    so move OSI_VC_CONVERT down to the last statement

commit 33460d3571b0faf4ca394aa6f7f4980b20942895
Author: Jim Rees <rees@umich.edu>
Date:   Thu Aug 26 19:14:37 2004 +0000

    fix-missing-config-quote-20040826
    
    
    fix missing quote and CPPFLAGS from last commit

commit d05d58a816059b8489d1aaf1b0c8bf126f65755a
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Aug 26 18:45:59 2004 +0000

    snprintf-ip-printing-20040826
    
    
    don't treat ip address as long long, cast to 32 bit...

commit ce6d83d6aa2af4da6a3010bad10ff2dbcb44fcf2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 26 06:15:57 2004 +0000

    allow-loopback-interfaces-to-be-advertised-20040826
    
    
    some software network adapters use instances of lo but are real network adapters. allow them to be advertised. the modified functions are called only in the process of collecting a list to advertise.
    
    at the same time, make sure we mask 127.0.0.1.
    i wonder if that's a mistake.

commit cb1b41b159b98881f66319d7f65d941ba9fab911
Author: Sven Menke <Menke@MPPMU.MPG.DE>
Date:   Wed Aug 25 21:39:21 2004 +0000

    linux-5-arg-sock-create-20040825
    
    
    update for sock_create 5 arg with a better configure test

commit 5e1c6d613544574e61aedbf456fbd6f36c04383f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 25 08:21:39 2004 +0000

    no-interleave-on-solaris-9-20040825
    
    
    a patch does away with it and it doesn't look like we need to care

commit 854d15634a149777070a08ebe8ce59029e88f2e2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 24 08:09:47 2004 +0000

    version-update-20040823
    
    
    1.3.71

commit bca5ba20e678ffc7b5dbbd3d9e2760b16b1ff1a9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 23 20:36:22 2004 +0000

    expand-drive-mappings-20040823
    
    
    Drive mappings are now per user and stored in the registry.  Allow
    them to continue to use environment variables in the paths.

commit f1ff3887a269a541eb42b13c7e743ad0394e0bef
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 23 17:15:36 2004 +0000

    libafsauthent-mapfile-update-20040823
    
    
    export a few more symbols

commit 40d2f5f7c02e28cf471d284e5be9fb97c91d145a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 23 16:49:45 2004 +0000

    windows-admin-group-20040823
    
    
    Update text files for 1.3.71 and describe the new Windows Authorization
    Group "AFS Client Admins"
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Add support for "AFS Client Admins" windows authortization group
    
    ====================
    
    NTMakefile changes for Admin Group

commit 65884b7d946f045f0f3c6ee15f0d808181e6e756
Author: Asanka Herath <asanka@mit.edu>
Date:   Fri Aug 20 21:11:57 2004 +0000

    wix-admin-20040820
    
    
    - Support administrative installations ( 'msiexec /a openafs-en_US.msi')
    
    - Register services as interactive
    
    - Move product code into NTMakefile.i386_nt40
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    - Move product code into NTMakefile.i386_nt40

commit 97031c31689312a783630e1c270372a063949e46
Author: Rolandas Naujikas <rolnas@takas.lt>
Date:   Fri Aug 20 21:07:18 2004 +0000

    afslogon-20040820
    
    
    Modifications to support local machine profiles redirected to AFS

commit e82bc5223192fc2a7270aec53aed951ba4a24cae
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Fri Aug 20 05:05:14 2004 +0000

    kdb-enhancement-20040820
    
    FIXES 6355
    
    - It resolves all IP addresses to names unless the "-numeric"
      parameter is used.
      This is the same behavior as "fs listcells [-numeric]"
    
    - If the "-numeric" parameter is used, IP address will be printed
      in dotted decimal form instead of a 8 digit hex string.
    
    - A new parameter "-long" allows to print all information for all
      entries in the log.
      This is the same info you get for entry XYZ when called with
      "-key XYZ" only you get this for _all_ keys.
      The output is slow if not also called together with "-numeric

commit 59cc46ef7e41d21288034df0a850b1c2ca7b4e5c
Author: Steve Roseman <sgr0@lehigh.edu>
Date:   Fri Aug 20 04:55:56 2004 +0000

    aix-config-guess-20040819
    
    FIXES 6352
    
    detect aix 5

commit b0f773c41c68fd7833a669693d30b27a12f3ba8e
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 19 22:37:51 2004 +0000

    fix-indent-bug-with-lock-macros-part-four-20040819
    
    
    Thanks to jaltman for pointing out some files I missed
    (basically those in two-level deep directories).

commit c18d67d9a0d653b6557824d3583c827f076e29d3
Author: Horst Birthelmer <horst@riback.net>
Date:   Thu Aug 19 21:25:22 2004 +0000

    aix52-updates-20040819
    
    
    make des crypt module be built without optimization.
    make aix 5.2 be "supported"
    make ukernel work on aix 5

commit 7c01e673176e9de75620a9765aacc25324ce36a4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 19 20:50:03 2004 +0000

    callback-deadlock-20040819
    
    
    cm_CallbackNotifyChange(scp); must not be called with scp locked

commit f2b18e7af85093f88b8afb8d7a344fd15fc90164
Author: Rolandas Naujikas <rolnas@takas.lt>
Date:   Thu Aug 19 20:47:56 2004 +0000

    non-ad-afs-profile-20040819
    
    
    NetUserGetProfilePath function provided by Rolandas Naujikas

commit 481b170d88e1821bd4d498e3c75e514facbff0a5
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Aug 19 06:42:20 2004 +0000

    aix-5-updates-20040819
    
    
    updates to aix 5 code since last patches

commit 06478aeaae1e7812230f31c63e9cae8b7cc1b643
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 19 03:19:13 2004 +0000

    fix-indent-bug-with-lock-macros-part-three-20040818
    
    
    Add trailing semicolons to more macros and re-indent.

commit 1d6cf7729ca06c95eb4dd8b2f72d61bda6010304
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 02:37:24 2004 +0000

    revert-linux26-selinux-20040621
    
    
    well, i'm not sure what the right way to deal is, seeing as this change weas reverted later in the kernel

commit 3fa71885aecae85a3ddadc04dd1fcbfaa2a7e8b0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 19 02:34:47 2004 +0000

    fix-too-many-close-parens-20040818
    
    
    Noone seems to be using this code anyway, as it's been non-compilable
    for 2 years now.  But indent noticed that we have too many close-parens
    in there, so might as well fix it...

commit 5ca50c575abed691bf2e726f84f35241fcef8242
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 02:16:04 2004 +0000

    banish-fstrace-trydcachechildren-entirely-20040818
    
    
    we really don't need this...

commit 4d44764c157b1310de81e010975ae5867028fa5b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 02:07:10 2004 +0000

    butc-xbsa-cleanup-20040818
    
    
    make things compile when xbas is defined.

commit fc441042fcfe619cc8fac528886782caed12ab48
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 01:58:18 2004 +0000

    linux-kernel-header-tests-20040818
    
    
    check for existance of some headers (in_systm.h, mm_inline.h) to decide on inclusion

commit 6f1cd5a43e1240ecc7a964b8236e25e1d0e46fca
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Aug 19 01:28:29 2004 +0000

    ubik-multihome-byte-order-problem-20040818
    
    
    "Playing around with multi-address database servers on little-endian machines
    I found out that there is one conversion of the ip-address too much"

commit 788ca86bdc139ee42aeecceb4b453c87bfd2426f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 19 01:22:38 2004 +0000

    fix-indent-bug-with-lock-macros-part-two-20040818
    
    
    Add trailing semicolons to _LOCK and _UNLOCK macros and re-indent.
    This should've been in fix-indent-bug-with-lock-macros-20030729
    but somehow it slipped by and I've only found it now.

commit 9a39ae21fea305029f1bcdc6a864170ff6503793
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 01:11:37 2004 +0000

    aix-install-cfgafs-20040818
    
    
    based on feedback from tdamato@odu.edu

commit 0ed8f55d597a247980412f004852446d8f138324
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 19 01:08:50 2004 +0000

    aix-make-install-install-everything-20040818
    
    
    install the other stuff when you make install

commit 399785acf166dac15123889c28974ff06d6d2de0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 18 23:46:37 2004 +0000

    attachserverproc-dont-dequeue-if-not-in-queue-take-two-20040818
    
    
    nWaiting ended up negative, because the dequeuer (GetCall) decremented.

commit 3de51188f75dd1503c300d87cc00c30b0ba4a0b0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Aug 18 18:52:03 2004 +0000

    time_t-20040818
    
    
    Make sure the response of time() is stored in a time_t

commit f21740a0acc44ae5493bbe1f53b94acc14af0ac8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Aug 18 18:10:17 2004 +0000

    time_t-200408018
    
    
    time values in the cache manager and smb engine which are passed to
    the run time library must be of type time_t and not long or int or
    unsigned long or unsigned int or ...

commit ddaba14e372c96f572b0762f1f0de824aac06d5a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 17 21:16:01 2004 +0000

    cellservdb-20040817
    
    
    update to current gco

commit 202a27f07329527f2a488d8d949b572879846aab
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 17 18:15:37 2004 +0000

    osilog-messages-20040817
    
    
    move the cm_GetCell_gen debug messages to the trace log

commit 1ae8a71dfa8a5efea7d31ad985746b026b444f48
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 17 16:25:33 2004 +0000

    smb-notify-callback-expire-20040817
    
    
    When the callback expires on an scache item, if there is an smb client
    listening for updates send it is a notification of change.  This will
    force the smb client to refresh its listener which will in turn cause
    a new callback to be registered.
    
    Also, remove debugging statements from GetServer/PutServer

commit 3dce18d2481ee07ac27af8bd691d640247526a5d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 17 05:21:17 2004 +0000

    post-1-3-70-windows-changes-20040816
    
    
      * Fix aklog.exe to not add the AFS ID to the username
    
      * PTS registration of new users to foreign cells has been added to
         afscreds.exe
    
      * The cm_Daemon thread is used to perform checks for
        down servers, up servers, volumes, callback expirations,
        lock maintenance and token expiration.  Due to a gaff in
        larger integer division the thread never performed any
        work.  Instead the current time computation would always
        be less then the trigger times.  This had an adverse affect
        on the client's ability to maintain communication with servers,
        keep volumes up to date, and flush user tokens and acls
        when they have expired. This was broken when the 1.3 branch
        was modified to support VC7 which no longer included
        largeint.lib
    
      * An initialization problem with the Freelance code was
        detected while fixing the callbackRequest.  The cm_rootSCachep
        object is obtained during afsd_InitDaemons() but the callback
        information is incomplete.  The callback information will not
        be obtained until cm_MergeStatus is called from within
        cm_GetCallback.  Unfortunately, cm_SyncOp did not properly
        test for the conditions under which the callback information
        must be obtained.
    
      * Reports have been filed indicating that callbacks were
        being lost.  An examination of the code indicated that the
        cm_server_t objects were not being properly reference
        counted by the cm_scache_t and cm_callbackRequest_t objects.
        In particular, the cm_server_t objects may have been freed
        from beneath the cm_conn_t objects.
    
        All of the reference counting is now done via the functions:
            cm_GetServer
            cm_GetServerNoLock
            cm_PutServer
            cm_PutServerNoLock
        this improves the ability to track the referrals.
    
        Each cm_BeginCallbackGranting Call now allocates a reference
        to the cm_server_t.  The cm_EndCallbackGrantingCall either
        frees the reference or transfers it to the cm_scache_t
        cbServerp field.  These are then appropriately tracked
        through the cm_Analyze call.
    
      * Ensure that the dnlc hash table is the same size as the
        dir name hash table (as per original author's note).
        Increase the dnlc CM_AFSNCNAMESIZE to a multiple of 8
        for compatibility with 64-bit systems.
    
      * fix smb_ApplyV3DirListPatches to properly apply the hidden
         attribute to dotfiles when the infoLevel < 0x101 and
         cm_SyncOp has failed.
    
      * Fix the Freelance registry initialization code.  There
        was a possibility that some systems could end up with
        garbage in the registry during a clean install.

commit e6c7148abed9f88d6dd83ce8dba77a434cce231a
Author: Kris Van Hees <aedil@alchar.org>
Date:   Mon Aug 16 22:23:26 2004 +0000

    initialize-i-security-20040816
    
    
    modern 2.6 kernels with i_security need this such that if the i_security field got garbage-collected out from under us we don't deref a null pointer.

commit 8651d7a69315735db866e7bf6a9539e10a6b1f9f
Author: Sven Oehme <oehmes@de.ibm.com>
Date:   Wed Aug 11 16:45:35 2004 +0000

    s390x-20040811
    
    
    zLinux on S390x (64 bit S390)

commit cf8a163c20179d76075653af243305446604bc92
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Aug 10 21:35:08 2004 +0000

    netbsd20-config-20040810
    
    
    cleanup config files for NetBSD 2.0

commit 46b847e3678f01b5f1bd2ef4db54cb66a55d057e
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Aug 10 20:57:09 2004 +0000

    netbsd-lwp-no-param-h-20040810
    
    
    fix NetBSD process.o build

commit 2e8a3050d39ead364cad038647f0049b5c03b119
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 10 05:07:58 2004 +0000

    1-3-70-release-really-20040809
    
    
    Restore the installation of afslogon.dll as a winlogon event handler.
    Microsoft identified the problem as being a newly added restriction
    on the behavior of DllMain entry points.  Network operations such
    as bind() may no longer be called.  The ICF blocks them but does not
    cause an error to be returned.

commit 7a2fea24df9600e5f2f0f46a2a28864b25b34601
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 10 01:16:34 2004 +0000

    xp-sp2-fix-plus-20040810
    
    
    The XP SP2 problem was caused by attempting to call bind() from
    within DllMain which is no longer permitted.  Added a new function
    AfsLogonInit() which is called from every entry point to ensure
    that the necessary initializaton is performed.
    
    Cleaned up the prior fix to smb3.c to better test the invalid
    conditions.

commit 3fd571cb1014f61101e0b82fc9944f9d5285cea1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 9 21:51:56 2004 +0000

    null-pointer-20040809
    
    
    protect against a null pointer reference in smb_ReceiveV3Trans
    when its the first packet and the totalData and totalParms are 0

commit 4394e421bb9baadde8a26daaf58f3e15ace30349
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 9 10:45:35 2004 +0000

    msvs8-20040810
    
    
    changes to support building under msvs8.  this will allow us to produce
    64-bit binaries.

commit 7bc57bc068238b9f8c672b502c8f7ddef7ab01a9
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Mon Aug 9 10:18:51 2004 +0000

    solaris-x86-9-support-20040809
    
    
    osconf stuff for solaris x86 9.0

commit d98157d514dd000f68e0b27cd73b4039715d7433
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 9 06:13:38 2004 +0000

    remove-winlogon-key-20040810
    
    
    Make sure installers remove winlogon event handler key

commit 88418dccc815ac6f6439c74a8b7d2da4076df473
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 05:35:51 2004 +0000

    tvolser-default-20040809
    
    
    build and install tvolser on platforms with tviced.

commit 544afa6bcc2dd8a72f58e1fb9e95517a0abba7e3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Aug 9 05:20:07 2004 +0000

    release-1370-20040810
    
    
    Disable the installation of the WinLogon Event Handlers to avoid
    problems with XP SP2 Final Release booting and profiles being released
    on logoff.
    
    Update version to 1.3.7000
    
    Add VS8 entries to the build system

commit c1b72715c2c3c88c8edacc82440512a63808c1b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 05:13:57 2004 +0000

    prepare-for-1-3-70-20040809
    
    
    get configure scripts ready for 1.3.70
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    unget configure scripts ready for 1.3.70. not what i meant to do

commit aa72caacc4092bb29bd13df19f2e19456d48c8cc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 05:07:33 2004 +0000

    enable-largefile-clients-20040808
    
    
    the linuxes should all work. it at least builds on openbsd. i can't imagine
    freebsd doesn't work, likewise "netbsd 2.0", only question is hpux.

commit bdbb4fd7672216fe3e56831a2ff9a52d39c08736
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 04:30:18 2004 +0000

    irix-largefile-client-20040808
    
    
    enable largefile support in the client

commit b26b38a321b6b3f07277b73b111c2b8e65d87cc0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 04:25:45 2004 +0000

    irix-osi-cred-decl-20040808
    
    
    add cred declaration for irix back

commit 9a2ff82f9b23b60a4c96b0cef0a3785281d1da55
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 02:23:32 2004 +0000

    dux50-largefile-client-20040808
    
    
    good here also

commit faf9b110123a014d233ea8e5a783018f9e4b8a15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 01:58:50 2004 +0000

    dux-rxk-init-is-void-20040808
    
    
    rxk_init is a void function

commit 20074af8e13da929dbc9c493edd54a5d425224be
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 01:54:05 2004 +0000

    dux-min-direct-20040808
    
    
    someone removed d_fileno from the generic case, put it back there.
    (maybe it was me, who knows...)

commit 3ffd1b18ad08d2f0797c583184bd1ac6a3dd958f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 01:24:57 2004 +0000

    dux-kernel-cleanup-20040808
    
    
    more "cleanup cleanup"

commit 34a078003da5328d089bdea01da079d55dcdf52d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 01:17:33 2004 +0000

    dux-gcpags-20040808
    
    
    pidtab and npids need to be pulled in so this works

commit 1a7e336a169fff770933c3ca963ce625f8693d3b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 00:59:51 2004 +0000

    dux-vol-cleanup-20040808
    
    
    make partition code work again on dux

commit fc2133da492c9adb6edfcec9e63fcf7c15f04885
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 00:57:23 2004 +0000

    ubik-reorder-functions-20040808
    
    
    
    avoid need for prototypes by reordering

commit 5f93afbeff04804d4aaf05eb263dd53ae1e68fab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 00:49:52 2004 +0000

    dux-lwp-makefile-fix-20040808
    
    
    tru64 hates indented comments inmakefiles

commit 3feb2837fa769f57729aad5c9eb1cd9a90974c9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 9 00:12:55 2004 +0000

    macos-largefile-client-20040808
    
    
    libcc_kext is needed for ashldi3, ashrdi3, so that long long operations
    don't result in undefined symbols

commit 5bc0d218f5ee1488301c641734fad636fb282bee
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sun Aug 8 20:21:33 2004 +0000

    rxgk-import-20040808
    
    
    not actually hooked in yet, but getting it in so we can work with it.

commit 2376b591d08cfae37e39eedee849cbb12bb9932c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 8 20:07:09 2004 +0000

    macos-10-autoconf-update-20040808
    
    10.3.4 and 10.3.5 work

commit ed1098ad102490a2540832a849cf64e96ccf8a39
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Aug 8 19:14:08 2004 +0000

    solaris-largefile-client-20040808
    
    
    enable largefile client for sparc and x86 solaris 8 and on.

commit e3627407b26881034f9501d115781fef39b28128
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Aug 8 17:55:28 2004 +0000

    debug-messages-20040808
    
    
    make sure that all messages logged to the Event Log are also in the
    trace log

commit 3d790dd2326f1268a33a70c07eb06d6438ceb052
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Aug 7 22:32:46 2004 +0000

    winnotes-20040807
    
    
    document new freelance functionality and update install notes
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    more updates

commit 99cd190567f969366051f67f0fbc03919b375cdd
Author: Asanka Herath <asanka@mit.edu>
Date:   Sat Aug 7 17:56:26 2004 +0000

    hidden-dot-files-20040807
    
    
    Hide dot files even when we can't stat the file.

commit 9fef137786ed5da93fa3ed982119cba35f54e606
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Aug 7 15:14:17 2004 +0000

    unused-vars-20040807
    
    
    remove unused variables

commit 413f2aaf6098c52bb9c8f9a421c70a617df35a17
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Aug 7 15:12:11 2004 +0000

    free-serverref-list-20040807
    
    
    Freeing the cm_serverRef_t has proved to be a challenge to get it right.
    We now pass a pointer to a pointer to the first object in the list to
    the function.  We must be very careful to not destroy the list as we walk
    the contents of the list with the extra level of indirection.   On the
    other hand, when we are freeing members of the list which have reached
    a refCount of zero, we must be sure to maintain the fiction of the extra
    level of indirection.

commit e8553285e20c4650340eccb8928ef0cebe94c36e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Aug 7 14:45:59 2004 +0000

    ignore-me-20040812
    
    
    ignore this commit

commit 0cf725772b6c019401ad485906d0c08d885536e5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Aug 7 06:44:05 2004 +0000

    freelance-misc-20040807
    
    
    Added a change monitor to the HKLM\SOFTWARE\OpenAFS\Client\Freelance
    key.  When a change occurs mark the root.afs data as invalid and
    for it to be reloaded on the next access.  This allows administrators
    to modify the mount point list without restarting the service.
    
    The freelance client used to provide a fake modification time for
    the root.afs volume data and its mount points of 7/09/2001 14:24 EDT.
    Added code to extract the last modification time of the Freelance
    registry key and use that instead.  The time now represents the
    most recent mount point change.
    
    smb3.c: Fake the timestamp if we can't stat the file.  A zero FILETIME
    value causes problems.

commit 6fc2e2900cc68973a05acedf51462281d8fc89c0
Author: Tracy Di Marco White <gendalia@iastate.edu>
Date:   Fri Aug 6 22:48:28 2004 +0000

    netbsd-20-update-20040806
    
    
    make it compile with current netbsd

commit 01845f22fb5847b30c9ab9c687f926ddcd3e35d2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 6 21:13:44 2004 +0000

    netbsd-has-long-long-20040806
    
    
    feedback from gendalia@iastate.edu

commit bcc2794e26de749359f06a382dd87ae62610d285
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:51:41 2004 +0000

    ntlang-20040805
    
    
    No longer warn about executing language registry file.

commit c35e327595565d36b6965374d2c6237c3dd76f54
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:50:04 2004 +0000

    ntbuild-lang-20040805
    
    
    No longer warn about executing a language registry file since the file
    no longer exists and is not used with the new installers

commit 4c20d3d1fc11bfb1b8fc054d991caa2d6e36dede
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:47:28 2004 +0000

    winnotes-20040805
    
    
    Updates winnotes with current info
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    summary of changes performed this week for 1.3.70

commit 432479c4bb20fef14043cf913bdd669d01281990
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:31:34 2004 +0000

    mpr-lib-required-20040805
    
    
    All executables which include the pioctl functions now require mpr.lib
    to be linked

commit 1adc13467055e916b45e54c010dda1f6917bd4cb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:28:10 2004 +0000

    winxp-sp2-pioctl-20040805
    
    
    On Windows XP SP2, when a Kerberos principal is used for login and the
    KDC is not reachable, Windows will return a DOWNGRADE_DETECTED error
    when attempting to open the ioctl file.  This is because NTLM will not
    be permitted when there is the potential of an attack.  There is a hack
    to get around this.  Manually create a CIFS connection to the AFS client
    service while specifying the current user's name.  This will use the cached
    password and allow the downgrade to NTLM.

commit 0ce0ec85860dcc0f8541f0bcab75f9a91806defa
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:24:27 2004 +0000

    nsis-20040805
    
    
    Correct missing debug conditional

commit fd297f88e4d4299e51dcc5e9afce8db4a5599d45
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Aug 5 17:23:25 2004 +0000

    readme-nt-20040805
    
    
    Update readme with latest WiX installer info

commit c50f171f2c9922c6d156f33f12af40ebbcade70d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 5 15:48:09 2004 +0000

    findclient-print-stolen-clients-20040805
    
    
    
    when a client is "stolen" due to a race, print it.

commit fca4ef8bfdfd2ddc0dba970427783e4841b5bb50
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Aug 5 04:09:26 2004 +0000

    loopback-install-20040804
    
    
    If the backup hosts file can't be deleted, try changing attribtues
    first, and failing that try to come up with a unique name for the
    backup instead of failing.

commit b4566d725e1aa4f57d1e6db5821c590a4b6da7c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 4 20:41:53 2004 +0000

    partly-revert-rx-cleanup-20040804
    
    
    if there's a callback connection to a multihomed client, you need this
    or you end up with multiple connections, one per IP, being made from
    the single connection

commit 29971c6e9f79f936e5c0b87a4c858543180b2b74
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Aug 4 20:30:03 2004 +0000

    ticket-6077-20040804
    
    FIXES 6077
    
    Patch from Joe Buehler modified by Asanka

commit 993051678f84137fd216a95ca3af84a59ca66451
Author: Asanka Herath <asanka@mit.edu>
Date:   Wed Aug 4 17:36:10 2004 +0000

    misc-post-1366-20040804
    
    
    Update documentation on cache control and credential manager options
    in MSI deployment guide.
    
    'CachePath' setting in registry allows REG_EXPAND_SZ type.
    
    Update registry documentation for 'CachePath' setting.
    
    Both installers save the credential manager command line options in
    registry.
    
    Fix handling of existing 'afsdcell.ini' file in WiX installer.
    
    WiX 2.0.1927 changed the XML schema.  The WiX installer has beed
    updated accordingly.

commit fc128997e7d9b4bd4555731da60bd6a425179596
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Aug 4 16:54:42 2004 +0000

    shortcut-params-20040804
    
    
    Fix the retrieval of the shortcut params from the registry when the
    HKCU\Software\Openafs\Client key exists but the AfscredsShortcutParams
    is missing.

commit 306f75eb4cfe174da3ad7524320316109d75bd76
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Aug 4 16:52:56 2004 +0000

    server-list-refcount-20040804
    
    
    cm_GetVolServers must return a pointer to the pointer to the server list
    so the volume can be updated when the list is freed

commit 03dd9eefd3e8e797493463522ee9f3eb1e36e8bd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 3 21:10:36 2004 +0000

    freelance-deadlock-20070803
    
    
    oops

commit 986bee7d66fc98e7efb14575939ca30ad6152f57
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 3 20:40:31 2004 +0000

    freelance-deadlock-20040803
    
    
    Avoid deadlock in Freelance mount point re-initialization

commit cb1730a07c0ed597b2cd59e85366204af459f2ea
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Aug 3 18:27:52 2004 +0000

    windows-misc-20040803
    
    
    Increase max chunksize to 128K from 32K.  Windows uses 64K SMB writes.
    The large chunksize helps reduce the overlapped write to afs issue.
    
    Increase number of server threads from 4 to 25.  Also helps to aleviate
    the symptoms of the overlapped write to afs issue.  I can now write files
    as large as 80MB.  120MB files still fail.
    
    Export pr_CreateUser and pr_SNameToId from afsauthent.lib in order to
    allow aklog.exe to use them to determine if a new pts uid should be
    created for a user when accessing a foreign cell.
    
    Modify pioctl to output a message to stderr if a Downgrade Detection error
    has been returned when attempting to open the __IOCTL__ file.
    
    Increase version number to 1.3.6601
    
    Use HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer:Logon User Name
    to determine the current user name for the afscreds.exe display
    
    Do not allow submount names to have forward or backward slashes
    
    Add debug info to cm_ioctl to track token addition and deletion
    
    Add register new user code to aklog.exe from KenH's AFS kit
    
    Correct test in cm_callback.c for freelance root.afs volume which
    should not have been applied when freelance was not active.

commit 268b92917024bab8321b347275afe32ff8e0e5cc
Author: Jim Rees <rees@umich.edu>
Date:   Tue Aug 3 15:45:49 2004 +0000

    fix-lwp-includes-again-20040803
    
    
    Fix lwp includes AGAIN.

commit acfafa740df96b71989383fd24191d1ef03cb6d1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Aug 1 01:20:34 2004 +0000

    submount-20040731
    
    
    Change "Description" field to "Submount"

commit 4a4c214cbcbf65e2028a57e36fe774eb3cf23192
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Aug 1 01:19:08 2004 +0000

    osi-save-strings-20040731
    
    
    Increase the save string length to 128 from 30 in order to be able to
    handle principal names, paths, etc.

commit 16e5767cc91e62721ce8c14ba6180efb9f404b97
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Aug 1 01:16:37 2004 +0000

    misc-windows-20040731
    
    
    Move most log entries to the osi trace log from the afsd_init.log
    
    Add log entries to help diagnose the lost callback problem
    
    Fix a variety of type errors in header files and casts
    
    More fixes for cm_Analyze.  Do not allow a retry to be performed
    if the timeLeft on the call has expired.  Forcing a retry resets the
    timeout period causing the call to never expire.  The side effect is
    that the SMB sessions never close.  When the Windows SMB client times
    out it will create a new session at a rate of one per 66 seconds.  This
    causes the SMB session limit to be exceeded and we panic.
    
    Modify the SMB Session limit to be four less then the number of SMB
    NCBs.  This is because the server itself uses 4 NCBs which are not associated
    with sessions.

commit 6eaeb762448b0887cd3319bbd4cdb242838bc3b2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 30 21:02:57 2004 +0000

    server-list-and-volume-updates-20040730
    
    
    As discovered previously, the cm_serverRef_t objects were not reference
    counted.  This resulted in the objects being freed while they were
    still in use.  This patch adds reference counting to the cm_serverRef_t
    objects which are locked using the cm_serverLock.
    
    Once the reference counting was fixed it became immediately obvious
    that cm_VolumeUpdates could not succeed in altering the state of a
    server list from ALLOFFLINE to NOTBUSY. cm_VolumeUpdate calls cm_Analyze
    without a fid_t object which was required to obtain the server list for
    the affected volume.  Of course, cm_VolumeUpdate has a pointer to the
    volume so cm_Analyze was updated to take an optional pointer to a
    cm_serverRef_t which avoids the need for the fid_t object.

commit 24411ebbd7a2644225b60b83c1fb36912fb34145
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 30 05:04:27 2004 +0000

    get-server-list-20040729
    
    
    Undo the previous patch.  the server list can't be cloned.
    instead we will have to refCount the cm_serverRef_t objects.
    This is going to be a lot of work.  To be continued ...

commit e5453d2814a45978d291133e3e0799c27ed1361c
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Thu Jul 29 22:29:18 2004 +0000

    linux26-dont-lose-afs-smp-status-20040729
    
    
    this should be fixed better later, but for now we'll go with this

commit 9c5895b8c124a307fb2f7c939fdf7d62901d1bba
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jul 29 19:51:20 2004 +0000

    vos-shadow-print-status-correctly-20040729
    
    
    we were printing that volumes were shadowed to partition partition
    instead of server partition

commit 333d836050361ae3a7423da9e270784db378bdf0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 29 17:55:01 2004 +0000

    aklog-20040729
    
    
    Fix afs_realm_of_cell5() to validate the return value of
    krb5_get_host_realm

commit 20cfcb0aea5aedc63fcb2695d540ed28c5cf899d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 29 15:38:57 2004 +0000

    nonpersistentcaching-20040729
    
    
    document new value

commit 46bafc8a620ba956f057b47a32287a87a857e407
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Jul 29 15:34:21 2004 +0000

    virtual-cache-file-20040729
    
    
    This is a variation of Joe Buehler's request.
    New registry key "NonPersistentCache" places the cache file into the
    Windows paging file.  One limitation of doing so is that the page file
    cannot be grown with "fs setcachesize" and the associated ioctl.

commit 924fb5f5b96e4288a70bf64deee37886f78e2d38
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Jul 29 14:53:35 2004 +0000

    server-ref-list-20040729
    
    
    There was a race condition where between a thread calling cm_GetServerList and using the returned server list, another
    thread could free the server list.  Now cm_GetServerList duplicates the server list with proper locks held.  Callers of
    cm_GetServerList call cm_FreeServerList to free the returned list.

commit 2395eb60757025a47b5d729948baf1951cc4467a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 29 05:29:33 2004 +0000

    afsmonitor-update-stat-descriptions-20040729
    
    FIXES 5952
    
    correct list of available stats

commit d6df153cead8ecd26645320a05576a4636947c66
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Thu Jul 29 05:20:52 2004 +0000

    afsmonitor-results-fix-20040729
    
    FIXES 5929
    
    use the correct variable when converting result sto ascii

commit 276d7351122263a76ce0122e36b8218569480e2f
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Thu Jul 29 05:17:02 2004 +0000

    afsmonitor-document-usage-20040729
    
    FIXES 5931
    
    update the docs to reflect the usage correctly

commit 9e6977f39e04f9700b1923f7167331f59cb711ae
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Thu Jul 29 05:09:18 2004 +0000

    afsmonitor-remove-pointless-if-20040729
    
    FIXES 5933
    
    an if in an else which will always trigger is dumb

commit 5ece0001b8bf4de2c6e3b7afc435f322e887cad5
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Thu Jul 29 05:03:31 2004 +0000

    afsmonitor-document-stat-entries-correctly-20040729
    
    FIXES 5934
    
    NUM_CM_STAT_ENTRIES should match the docs

commit 0bc9af9ed91689ef8a9e0c631b927f1674195a35
Author: Jeff Mahoney <jeffm@suse.com>
Date:   Thu Jul 29 04:57:03 2004 +0000

    makefileproto-configer-cleanup-20040728
    
    
    make config tool for MakefileProto processing able to deal with e.g.
    "linux26" for all linux 2.6 platforms

commit b1289615e1737536769ca7e1a83434b140102c7b
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Thu Jul 29 04:53:27 2004 +0000

    afsmonitor-categories-correction-20040728
    
    FIXES 5951
    
    wrong number of categeories defined. oops.

commit 21592fe61aac073eca6807dec1b294b475735cfa
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Thu Jul 29 04:44:08 2004 +0000

    volser-restore-timestamp-cleanup-20040728
    
    FIXES 5926
    
    This patch solves the problem of how timestamps are handled by during a
    'vos restore' by allowing the specification of there the creation and last
    updated timestamps are taken from:
    
            - generate a new one using the current time
            - retain the one in the target volume if there is one
            - restore the timestamp from the dump file
    
    This is needed to allow sequences of restoring incremental dumps on top of
    full dump work, and to ensure that a subsequent vos release can do a real
    incremental release for the restored incremental dumps.
    
    It also fixes the fact that the vos exa command hides potential problems
    with timestamps by refusing to display a last updated timestamp that is
    older than the creation timestamp.

commit 08a623793fa7e9fc5c4428f5b575eded9b40e6bd
Author: Phil Holland <hollandp@umich.edu>
Date:   Thu Jul 29 04:36:53 2004 +0000

    darwin-rc-script-update-20040728
    
    FIXES 6027
    
    update rc script to support stopping afs

commit 9728182c00db80f61aa78e225ecaffcc4df7615c
Author: Phil Holland <hollandp@umich.edu>
Date:   Thu Jul 29 04:32:56 2004 +0000

    darwin-afsdb-handler-signal-mask-20040728
    
    FIXES 6027
    
    mask signals on darwin so afsdb handler doesn't die

commit f01257a2042a4c39186b4f417f71b6024beaf61e
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Thu Jul 29 04:18:07 2004 +0000

    afs-dont-shutdown-if-not-started-20040728
    
    FIXES 6001
    
    if the module is loaded, but afsd hasn't been started, don't allow a shutdown.

commit 4054aec72b4cfd922a044d73bf92f73374219638
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Thu Jul 29 04:13:37 2004 +0000

    afs-suser-consistent-20040728
    
    FIXES 6034
    
    always call afs_suser() with one arg.
    always take one.

commit e5e7801db895b1e57ff99fb59371aee47ac33b9c
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Thu Jul 29 04:08:48 2004 +0000

    linux-null-superblock-if-mount-failed-20040728
    
    FIXES 6002
    
    The appended patch resets afs_globalVFS to NULL if /afs cannot be mounted,
    eg., if no cell server is accessible.
    
    There are two advantages:
    
     - it is possible to do "afsd -shutdown" to terminate all daemons
     - more importantly, if /afs cannot be mounted, the linux kernel will
       probably free the superblock, ie the memory pointed to afs_globalVFS.

commit 563894500fa0a108aeec400077b57b062b7db96c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 29 03:46:48 2004 +0000

    rx-provide-binding-version-of-init-20040728
    
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    i should be dragged away and beaten for this
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets
    
    ====================
    
    i should be dragged away and beaten for this
    
    first pass at interface to allow bound Rx sockets

commit 5dc0642264fd97ab255ff5b15c08a172eb25f831
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 28 22:49:18 2004 +0000

    fssync-more-offline-volumes-20040728
    
    
    just let the offline volumes array be larger

commit 40d54d5dd1c64564410f9efa8806b97e952a00ca
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jul 28 21:59:58 2004 +0000

    lwp-track-qwaiting-second-try-20040728
    
    FIXES 5616
    
    track qwaiting lwps rather than potentially leaking them

commit b20129a33794c2c1b28852cb2e6af51eb2e9e06d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 28 04:54:19 2004 +0000

    unc-paths-current-directory-20040727
    
    
    fix the handling of unc paths in pioctl calls when the current directory
    is the unc path.  (not likely to be the case with cmd.exe since it does
    not support pure unc path environments.  4nt.exe shows the problem though.)

commit 49fb21afc5a9c0f5d5568d93167b6d8561ba78a5
Author: Jeremy Mika <jeremym@backboneentertainment.com>
Date:   Tue Jul 27 17:24:40 2004 +0000

    fbsd53-20040727
    
    
    FreeBSD 5.3 has an extra thread arg to vflush()

commit 58069bf38068b559e10460b0d6c814d0cd7c96ad
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 27 15:39:31 2004 +0000

    bsd-new-releases-20040727
    
    
    Preliminary support for FreeBSD 5.3 and OpenBSD 3.6.
    OpenBSD osi_vnodeops.c patch from brent@graveland.net (slightly modified)
    Remove obsolete src/lwp/process.fbsd.s to prevent further confusion

commit 22fbf94fcd6a3be86f197b26ffdcd5891fd91906
Author: Asanka Herath <asanka@mit.edu>
Date:   Tue Jul 27 14:32:38 2004 +0000

    msi-deployment-guide-20040727
    
    
    a guide to making organization specific modifications to the msi
    installer

commit 71530bc5c0e6cfffc5d18f1766d6cada9e608b5f
Author: Tommie Gannert <d00-tga@d.kth.se>
Date:   Tue Jul 27 14:23:11 2004 +0000

    registry-txt-20040727
    
    
    Remove duplicate entries

commit 93a9087c5c2876ed8f4718cced27c82b9e1b51e9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 27 22:34:46 2004 +0000

    freelance-rw-20040727
    
    
    Fix cm_Lookup to properly set the rw flag when adding Freelance mount
    points based on whether the filename begins with a '.'
    
    Fix cm_FreelanceAddMount to set the cellname to the cellname without
    the '.' when rw mode is used and a cellname is not provided.

commit b02dabd24edd97a44f5f27ca5116e47588981660
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 27 00:24:09 2004 +0000

    winnotes-20040726
    
    
    Updates for 1.3.66

commit 92076d87491618f3194da528d8d824d3888dad95
Author: Asanka Herath <asanka@mit.edu>
Date:   Tue Jul 27 00:22:20 2004 +0000

    afsd-20040726
    
    
    Prevent a TID allocated for IPC from being used for anything other than RAP.
    
    Implement NetServerGetInfo instead of returning an error.
    
    When looking for shares, go through root.afs first before trying to add a
    mount point.

commit 3c402009821570b840641be6afe261f1187f0da3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 27 00:14:42 2004 +0000

    afslogon-20040726
    
    
    Only display the "Integrated Login failed" message box if Integrated
    Login is in fact being used.

commit 06634de3494db97c182b3452e1f7a9b70e608606
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 27 00:01:31 2004 +0000

    afsconfig-dns-cells-20040726
    
    
    Another annoying bug.  afs_config.exe now validates cell names against
    DNS in addition to the CellServDB file.

commit 7ab88f29eae461f7e6aee819e2e6885921a173f2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jul 26 21:40:23 2004 +0000

    misc-patches-20040726
    
    
    Update .cvsignore files for windows
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    cleanup uninitialized variables
    
    ====================
    
    more dlls to be replaced
    
    ====================
    
    When determining the full path of a UNC path, strip the server and
    share names

commit 1d4e40b3604daec3d1cba3f2f4b473d6dc7fd2f4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jul 26 20:08:42 2004 +0000

    freelance-cellid-20040726
    
    
    Replace Freelance cellid constant 0x1 with a #define and set its
    value to 0xFFFFFFFF to avoid collisions with the root.cell volumes
    on remote cells.

commit 0b41cf16f003a9d60a6fbf3941d6de94e9243195
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jul 26 03:48:47 2004 +0000

    novolume-20040725
    
    
    if we are going to return CM_ERROR_NOSUCHVOLUME do it whenever the
    server list is empty.  If the server list is empty, allDown and allBusy
    will always be set but there is nothing we can do.

commit 0dbdc359dfbcf794303b398f00692b914c5f0f6b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jul 25 22:47:20 2004 +0000

    version-update-20040725
    
    
    Update version to 1.3.66

commit c281138620a634e805f86b29d6dd58fdc4dcb286
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jul 25 22:45:19 2004 +0000

    kfw-2-6-4-20040725
    
    
    Update KFW SDK to 2.6.4

commit 3a89df255ce6de5b7bf4473931e9cdfe5b059156
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jul 25 21:53:09 2004 +0000

    small-tweaks-20040725
    
    
    * update winnotes
    
    * add osi trace log entries to help diagnose issues with overlapped writes
      from CIFS client
    
    * fix osi trace log entries for freelance add mount to use osi_SaveLogString
    
    * fix afscreds "Start Service" to automatically obtain tokens if kerberos
      tickets are available
    
    * update afscreds systray menu to use "..." after Remove Icon
    
    * remove extra "." in wix installer resource

commit 1a711beba6e8e0ea402a5c85f58263fe508eab3d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jul 24 19:59:32 2004 +0000

    force-vol-upd-20040724
    
    
    Change cm_ForceUpdateVolume to not try to perform an immediate update.
    Just set the CM_VOLUMEFLAG_RESET flag.  Calling cm_UpdateVolume calls
    cm_connByMServers which then calls cm_Analyze which is how we ended
    up having cm_ForceUpdateVolume called in the first place.

commit 6c2eaf58156782c8665d647a33040f17680fd774
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jul 24 16:25:35 2004 +0000

    global-drives-20040724
    
    
    If creating the global drive letter fails, attempt to cancel the
    previous use and then re-create.

commit e73c65900fe5285f9bbff9783d10713b2b9bdd36
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jul 24 09:31:15 2004 +0000

    smb-extended-20040724
    
    
    Don't fallback to SMB_AUTH_NTLM.  Apparently, allowing SPNEGO to be
    used each time prevents the failure of authentication when logged into
    Windows with an external Kerberos principal mapped to a local account.

commit ed8fdaa8e152ed1e607b187b15ae072db30ccfa9
Author: Asanka Herath <asanka@mit.edu>
Date:   Sat Jul 24 08:35:04 2004 +0000

    wix-updates-20040723
    
    
    Change default security level to 'crypt'.
    
    Add registry key for SMBAuthType.
    
    Add configurable property for SMBAuthType.
    
    Remove high security mode option from the UI.
    
    Workaround UI bug where a text control would redraw twice, once properly, once without interpreting format codes when
    there are two properties to replace.

commit efd0f88ed5a90bff92ab2b3b7ad47c02d704c450
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 23 23:58:24 2004 +0000

    down-before-busy-20040723
    
    
    slight correction to previous patch.
    check allDown before checking allBusy

commit 74197f04f373758368dcc99a86260d62e55625ac
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 23 23:25:23 2004 +0000

    install-notes-20040723
    
    
    Update the install notes to describe conflicts between SMB Authentication
    and Windows machines configured with non-Windows Kerberos authentication
    used to map to local accounts.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    More updates to smb auth vs external kerberos login

commit 56f82397c60ce968f7d02c9bba22bc6489f7e162
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 23 23:06:22 2004 +0000

    linux-null-out-stat-struct-20040723
    
    FIXES 3812
    
    we should memset this to 0. we should also only do it once for linux 2.2. code is slightly different in the cvs head.

commit d4b14b4e947b44c8e167c81d07554ca52bc814ff
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 23 22:55:23 2004 +0000

    allserversdown-20040723
    
    
    When all servers associated with a volume get into the CM_SERVERFLAG_DOWN
    state, the error CM_ERROR_ALLOFFLINE would be returned by cm_ConnByMServers.
    cm_Analyze was then supposed to be pausing for 5 seconds and then reset the
    volume information.  Unfortunately, although it called cm_ForceUpdateVolume,
    cm_ForceUpdateVolume does not reset the CM_SERVERFLAG_DOWN state on the
    servers.  Therefore, when cm_ForceUpdateVolume calls cm_ConnByMServers it
    would be given a CM_ERROR_ALLOFFLINE.  In other words, there was no way
    out of the state.
    
    cm_Analyze will now reset the CM_SERVERFLAG_DOWN as well as setting the
    server status to not_busy after its 5 second wait.  This will allow
    cm_ForceUpdateVolume to actually reset the volume information, and
    refresh it if servers for the volume are newly accessible.
    
    Also, added some missing locking calls in cm_Analyze.
    
    In cm_ConnByMServers, change the error reporting to return CM_ERROR_ALLBUSY
    only when all servers are busy or down; return CM_ERROR_ALLOFFLINE when all
    servers are down; and only return CM_ERROR_NOSUCHVOLUME if the server list
    for the volume is empty.  In all other cases return CM_ERROR_TIMEDOUT.

commit f84f7306a3bfe143fba59294429af3ba1598222d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 23 00:21:06 2004 +0000

    afslogon-domain-20040722
    
    
    Fix null reference to bstr when active directory is not available
    during a short domain acquisition

commit 7da4cd1adc8ce09effe52071691d5bafa32371f2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 22 23:41:27 2004 +0000

    prototypes-20040723
    
    
    fix prototype for afs_realm_of_cell

commit 1a5fbdb9432add6f5acad22d7ee787d567c00fca
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 22 23:15:37 2004 +0000

    afslogon-20040722
    
    
    the procedure used to obtain the profile directory failed in Domains
    which were not Forests.  If ADS_NAME_INITTYPE_GC fails, we must try
    ADS_NAME_INITTYPE_DOMAIN which requires the Domain.  Added a Domain
    parameter to QueryAdHomePathFromSid.  This was easy to obtain in
    the NPLogonNotify since the logon domain is provided as a parameter.
    Unfortunately, the domain provided to the winlogon event notification
    routine is the user authentication domain, not the logon domain for
    the local machine.  Needed to create a  GetLocalShortDomain function
    which uses the IADsADSystemInfo COM interface to obtain the local
    short domain.  With this in place, we can now properly detect the
    profile directory in all cases.
    
    Document MaxLogSize in registry.txt

commit d538abeb1b03b4a77d18aa17e13ac8347f4df336
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 22 10:42:40 2004 +0000

    misc-cleanup-20040721
    
    
    pass the correct data type into afssw_GetClientCellServDBDir

commit 2743691b770268ba0584369aa960ef2f656759b4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 22 10:23:52 2004 +0000

    misc-cleanups-20040721
    
    
    * Cleanup debug logging.  In particular, allow the TraceOptions registry
      value to be used as a bit flag as it was intended.  Give each type of
      debugging its own value instead of having each module test for the zero
      bit.
    
    * Modify the handling of the afsd_init.log file.  This file originally
      was replaced on each start.  However, with auto-restart this causes
      any error information from the previous halt to be lost.  So it was
      changed quite a while back to append forever.  The problem with this
      is that the file gets unreasonably large.  Solution: add a new registry
      value, MaxLogSize, which determins how large the file should be allowed
      to become before truncation.  The default is 100K.  The magic value 0
      means grow indefinitely.
    
    * Update afslogon.dll.  Cleanup logging.  Fix some errors.  Remove unused
      variables.  AND do not Forget Tokens on Logoff if the profile is located
      in AFS space.
    
    * Fix a bug introduced yesterday in cellconfig.c which caused problems
      accessing the CellServDB file
    
    * Update the NSIS installer to replace the CRTL DLLs instead of overwrite
      them.
    
    * Add new Startup Winlogon handler to initialize the TraceOption.

commit efce9b6f2994bb1e0a9f28f059e9733fb0d964fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 21 23:23:38 2004 +0000

    fstrace-avoid-double-glock-in-dentry-code-during-fstrace-20040719
    
    
    
    fstracing on a linux machine and trying to fs flush a file in the cache would trigger a hang on a machine with SMP kernel. fix it.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    
    fstracing on a linux machine and trying to fs flush a file in the cache would tr
    igger a hang on a machine with SMP kernel. fix it.

commit 9bc1b6a7b9f09922d2a097b36e4e5f8d763eaece
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 21 22:41:33 2004 +0000

    trace-logging-20040721
    
    
    TraceLogging is supposed to be activated for different purposes
    with bit flags.  The osi log and afslogon both used the same bit
    flag.  Bit 0 is now for afslogon; and Bit 1 is for osi log.

commit 0e64553af6333305fbd227635a1800c476539b48
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 21 17:08:28 2004 +0000

    cifs-rap-20040721
    
    
    
    Fix smb_ReceiveRAPNetShareEnum to report the correct buffer size to the
    client

commit b0920fe9c2cfbb314146c7a9941aec3cc20b96c8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 21 15:05:59 2004 +0000

    registry-docs-logoff-20040721
    
    
    * Update Windows Notes files
    
    * Modify logoff procedure to use a pioctl to check if an arbitrary path
      exists within AFS
    
    * Add a new registry value HKLM\Software\OpenAFS\Client  CellServDBDir
      which can be used to locate the CellServDB file in an arbitrary directory

commit feb3e7641257afd050f1dc6b11d5a7fc09f58a30
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 21 06:27:44 2004 +0000

    afslogon-20040720
    
    
    Do not release the AFS Tokens at logoff if the user's profile was loaded
    from AFS.  In this case we must keep the AFS tokens because we have no
    idea how long writing back the profile might take.

commit 8517719bc83406e966b472067c43156db5b5da5d
Author: Asanka Herath <asanka@mit.edu>
Date:   Wed Jul 21 05:43:07 2004 +0000

    smb-rap-20040720
    
    
    Add CIFS RAP support to the SMB server.  This allows AFS to be queried
    with NetGetShareInfo, NetGetServerInfo, etc.  This allows the AFS SMB
    server to be browsed using NET VIEW.

commit 3ed447174447e7d423f28dddb9244a2465ed28b4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 20 16:51:07 2004 +0000

    user-auth-cell-20040720
    
    
    remember to return the authentication cell name if found

commit fd8e75df5ef3dd503a31c75c952655ecd50213c4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 20 16:48:18 2004 +0000

    submounts-20040720
    
    
    Fix afsshare.c to strip the MountRoot off the afs-path before inserting into
    the registry
    
    Fix smb.c to read the submounts out of the registry.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix submount extraction from registry

commit aa9dff3b1b5d3a483862773a211395a8d02566ce
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 20 06:16:35 2004 +0000

    afsshare-20040719
    
    
    correct off by one error

commit 25ec4c8140f765d5d25874947a12cc193ac2f88d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jul 19 23:40:12 2004 +0000

    ioctl-freelance-20040719
    
    
    Do not perform a Cell Search when the name matches the SMB IOCTL filename.
    This is a special name and is not to be treated as a cell.  The failure
    to find the name produces DNS queries as well as disk access.

commit 32ee04d17d1709050b567494cb115ec0a4a6b3e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 19 16:25:16 2004 +0000

    pthread-ft-approxtime-is-time-20040719
    
    
    for tvolser most code paths simply never result in time being updated. seems dangerous.

commit f02a7996b96c646df6d210347e26a501a136b44d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jul 19 15:39:38 2004 +0000

    win32-fd_set-20040719
    
    
    Make sure that we do not alter the FD_SETSIZE on Windows.
    On Windows this is an array of FD_SETSIZE.  FD_SETSIZE does
    not define the maximum socket handle value.

commit 60446a8ffe48e9ab93bb8657f7fe29010c1ebfda
Author: Asanka Herath <asanka@mit.edu>
Date:   Fri Jul 16 05:49:26 2004 +0000

    registry-20040715
    
    
    Description of new afslogon functionality

commit 7930ab49288141d4ebbe6bd58c8841f817891ed7
Author: Asanka Herath <asanka@mit.edu>
Date:   Fri Jul 16 05:40:54 2004 +0000

    strsafe-20040715
    
    
    String Safety fixes

commit 9a8b4bbd934d4490f3bc9df127d1ce3e1ae67268
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 16 04:56:46 2004 +0000

    ntmakefile-20040715
    
    
    Updated makefiles to avoid macro redefinitions and add new files
    to src/WINNT/afsd

commit 01e6e22c15c646931c63e2595f063a8e3822c1b4
Author: Asanka Herath <asanka@mit.edu>
Date:   Fri Jul 16 04:48:22 2004 +0000

    afslogon-20040715
    
    
    New file for AD logon processing routines.

commit fe991aa74f9c289a36f6ecae7e74bb42c2b178c6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jul 16 04:38:25 2004 +0000

    afslogon-wix-cleanup-20040715
    
    
    - Fix NTMakefiles in many directories to define WIN32_LEAN_AND_MEAN NOGDI
      to avoid macro redefinitions
    
    - update text files
    
    - add "authentication cell" registry value for afscreds.exe
    
    From asanka@mit.edu:
    
    Network provider :
    
      -  If the user is logging into an AD domain, then look up the user's
         profile path, find out which cell it's in and then authenticate to
         that cell instead of the default cell.
    
      -  Domain specific registry keys
    
      -  A few fixes for handling UNICODE_STRINGs
    
    smb3.c :
    
      -  Delete partial security context during negotiation
    
    client_cpa :
    
      -  As per the SDK which says we must handle CPL_INQUIRE message, we do.
         Also fixes a small bug where the icon isn't properly set when viewing
         the Control Panel folder.
    
    loopbackutils.cpp
    
      -  Don't bother setting the app data template, because we are setting
         it in the MSI anyway.
    
    install/wix/NTMakefile
    
      -  Add a configurable symbol AFSDEV_AUXWIXDEFINES which can be used to
         customize a build of the msi.
    
    install/wix
    
      -  Move afslogon.dll to SYSTEM32 directory
    
      -  Add registry keys to support WinLogon notifications.
    
      -  Rename afsdcell.ini to CellServDB and move it to the client directory.
    
      -  If there's already an afsdcell.ini in the Windows directory, copy
         that over to the client directory instead.
    
      -  Add descriptions to AFS client and server services

commit 8063c68dc8a57447cac39444197511d21257ea88
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 15 17:26:35 2004 +0000

    winnotes-20040715
    
    
    Update Windows note files with the latest changes.

commit aeae9c030125ab14b1a465b667d43d5984ef8236
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 15 07:53:12 2004 +0000

    nsis-installer-20040714
    
    
    Move afs_cpa.cpl control panel to the OpenAFS\Client\Program
    directory and register it in the registry via the
    HKLM\Software\Microsoft\Windows\CurrentVersion\Control Panel\Cpls\
    key.

commit f63ba24b48cab6484ba37e58564b3b42a612437e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 15 06:24:22 2004 +0000

    nsis-20040714
    
    
    Rename afsdcell.ini to CellServDB
    
    Add Winlogon Event Notification support
    
    Move afslogon.dll to %WINDIR%\System32

commit 671792a8d2ffc68153d812d4b2a9078f287c7f55
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 15 06:22:14 2004 +0000

    cellservdb-20040714
    
    
    Search for the CellServDB in the OpenAFS client install directory
    not in the %WINDIR% directory

commit 674afe86c0ffbc808803127564a744ee59311737
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 15 06:20:33 2004 +0000

    afslogon-20040714
    
    
    Add a Winlogon Event Notification handler to afslogon.dll to process
    Logoff events.  Upon Logoff call ktc_ForgetAllTokens() on behalf of
    the logged off user.
    
    Fix a filename wildcard matching error introduced a few versions back.

commit 7aca33e6ebeafc96af8e62a99fea9b9bfae8bf25
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 14 07:34:09 2004 +0000

    incorrect-level-of-indirection-20040713
    
    
    When freeing a server_t, do not indirect to GC the connections

commit 59d81d9d24f8bc1fecdab7cd7661f1145fb10066
Author: Asanka Herath <asanka@mit.edu>
Date:   Wed Jul 14 07:12:20 2004 +0000

    xp-sp2-icf-20040713
    
    
    Windows XP SP2 adds a firewall which blocks all incoming ports by default.
    This patch adds support to the AFS Client Service (but not the AFS Server)
    to automatically open the firewall to ports in use by the application.
    
    One of the new requirements of this functionality is the use of the
    latest Platform SDK "Microsoft Platform SDK for Windows XP SP2".
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
     For the XP SP2 SDK both the Core and Data Access SDKs are required

commit ccea80c085da5671a0b7228eec9f67ddb92ffe77
Author: Hans-Gunther Borrmann <hans-gunther.borrmann@rz.uni-freiburg.de>
Date:   Wed Jul 14 05:46:48 2004 +0000

    butc-xbsa-20040714
    
    FIXES 5827
    
    update for xbsa 5

commit 4f13d9daa981d1c55c19a1606a5f0638846ffe88
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jul 14 05:34:46 2004 +0000

    glock-kernel-lock-ordering-20040714
    
    FIXES 5836
    
    make lock order consistent
    some routines have kernel lock held when entered, so...

commit b7b62574fdf64e5d6aa4e3dd932bafc59685f5c0
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jul 14 05:21:54 2004 +0000

    fix-fstrace-for-linux-20040714
    
    FIXES 5835
    
    don't deadlock when flushing dcache children

commit 4aba717d6404cad38583e96eb38227f542dad430
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jul 14 05:14:31 2004 +0000

    linux-free-dont-drop-alloc-sem-20040714
    
    FIXES 5831
    
    dropping semaphore not needed, so don't

commit f70a694a15c7ce6d042506e9b8af5323056faeda
Author: Christoph Becker-Freyseng <beyond@mmc-startup.com>
Date:   Wed Jul 14 05:08:06 2004 +0000

    linux24-update-20040713
    
    FIXES 5713
    
    make getgroups compile
    deal with afs_suser(x) and afs_suser()

commit 8e3383a9eacb39a0e90eaabf5c78679c720f8e39
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jul 14 04:28:36 2004 +0000

    no-more-ini-files-20040713
    
    
    Get rid of all %WINDIR% INI files
    
    afs_freelance.ini moved to the HKLM hive SOFTWARE\OpenAFS\Client\Freelance
    
    afsdcell.ini moved to the Openafs Client install directory and renamed
    to CellServDB to match Unix and the Openafs Server.
    
    afsdsbmt.ini moved to the registry.  Submounts are moved to HKLM hive
    SOFTWARE\OpenAFS\Client\Submounts.  Active Maps and Drive Mappings are
    moved to the HKCU hive SOFTWARE\OpenAFS\Client\Active Maps and Mappings.
    CSCPolicy is moved to HKCU hive.
    
    afsdns.ini is no longer used.
    
    NSIS installer updated to migrate the afsdcell.ini to CellServDB
    
    The cm_freelance.ini module has been modified to migrate the afs_freelance.ini
    data to the registry on first execution.
    
    The afsdsbmt.ini file data is not currently being migrated.

commit f2235b4832f9745608cde593daa22fcf79070220
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 13 14:09:16 2004 +0000

    migrate-to-registry-20040713
    
    
    * NTMakefile: missing commit from SMB AUTH patches
    
    * cm_config.c: obtain location of CellServDB from registry
            [HKLM\SOFTWARE\OpenAFS\Client] "CellServDB"=reg_sz
      This will allow us to move from %WINDIR%\afsdcell.ini to
      C:\Program Files\OpenAFS\Client\CellServDB.  This is necessary
      for compatibility with Terminal Server in which applications
      are not given access to %WINDIR%.
    
    * cm_freelance.c: migrate freelance mount point data from
      %WINDIR%\afs_freelance.ini to the registry
            [HKLM\SOFTWARE\OpenAFS\Client\Freelance]
      Each value, whose name is unimportant, contains one mount point
      entry.  After the first execution of this code, the current data
      in afs_freelance.ini will be moved to the registry and then all
      subsequent data access will be performed via the registry.
      The afs_freelance.ini file will be deleted after the migration
      has occurred.

commit 10e32e99cea35cfe0da7726171fb2343f5e52a35
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jul 13 07:22:53 2004 +0000

    ntlm-back-connection-hostnames-20040713
    
    
    Add function configureBackConnectionHostNames(void)
    
    On Windows XP SP2, Windows 2003 SP1, and all future Windows operating systems
    there is a restriction on the use of SMB authentication on loopback connections.
    There are two work arounds available:
    
      (1) We can disable the check for matching host names.  This does not
      require a reboot:
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
        "DisableLoopbackCheck"=dword:00000001
    
      (2) We can add the AFS SMB/CIFS service name to an approved list.  This
      does require a reboot:
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0]
        "BackConnectionHostNames"=multi-sz
    
    The algorithm will be:
      Check to see if cm_NetbiosName exists in the BackConnectionHostNames list
       If not, add it to the list.  (This will not take effect until the next reboot.)
          and check to see if DisableLoopbackCheck is set.
          If not set, set the DisableLoopbackCheck value to 0x1
                      and create HKLM\SOFTWARE\OpenAFS\Client  UnsetDisableLoopbackCheck
       else If cm_NetbiosName exists in the BackConnectionHostNames list,
          check for the UnsetDisableLoopbackCheck value.
          If set, set the DisableLoopbackCheck flag to 0x0
          and delete the UnsetDisableLoopbackCheck value

commit 229051032dbf6a56e99fa3231990df6c61b6fa9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 13 07:08:32 2004 +0000

    admin-doc-sysname-20040713
    
    FIXES 4054
    
    update docs to reflect sys being static.

commit 320ddefc691b71ba4bf29a91ced8e55028f9bfb6
Author: Hans-Gunther Borrmann <hans-gunther.borrmann@rz.uni-freiburg.de>
Date:   Tue Jul 13 06:52:44 2004 +0000

    butc-xbsa-20040713
    
    FIXES 5761
    
    update for butc xbsa support

commit 4bd03a76c55b6f90f82a3625207ed31be375bcf8
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Tue Jul 13 06:49:54 2004 +0000

    kdump-linux-26-20040713
    
    FIXES 5814
    
    update kdump for linux 2.6

commit 3791318ca4faa230dc32304c055896661fc24fa5
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Tue Jul 13 06:45:14 2004 +0000

    afs-cold-shutdown-20040713
    
    FIXES 5768
    
    use correct syscall parm for cold shutdown

commit d03840f85c698a39483b225133898a36d57dce2e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jul 11 22:22:57 2004 +0000

    smb-auth-20040711
    
    
    Over last several years significant efforts have been made to work around
    the inability to protect user tokens from use by inappropriate entities.
    The tokens are associated with a given userid and session by a combination
    of an SMB based ioctl and an authenticated/encrypted RPC.  This has opened
    the door for tokens to be borrowed by other users if they could connect
    to the same SMB server with the identical userid.  This was trivially
    possible because the SMB connections were unauthenticated.
    
    This patch adds two forms of authenticated SMB connections: NTLM and
    Extended Security (aka GSS SPNEGO).  By default Extended Security mode
    is used.  This patch has been tested on 2000 workstation, 2000 server,
    XP SP1, and 2003 Server, and XP SP2 RC2.  The Extended Security works on
    all platforms except for XP SP2 RC2 regards of whether or not the machine
    is part of a domain or not; and whether or not a local or domain account
    is used.
    
    On XP SP2 RC2, attempts to use negotiate Extended Security result in a
    Logon Denied error from AcceptSecurityContext() and a substatus code of
    0x7C90486A is logged to the Security Event log via the NTLM SSP.
    The SMB AUTH NTLM mode succeeds on XP SP2 RC2.
    
    Disabling SMB Authentication or specifying the use of NTLM mode may be done
    via the registry.
    
    Value   : smbAuthType
    Type    : DWORD {0..2}
    Default : 2
    
      If this value is specified, it defines the type of SMB authentication
      which must be present in order for the Windows SMB client to connect
      to the AFS Client Service's SMB server.  The values are:
        0 = No authentication required
        1 = NTLM authentication required
        2 = Extended (GSS SPNEGO) authentication required
      The default is Extended authentication

commit 5489c6c955748d43c942009b7b93f0704607f80f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jul 11 21:56:27 2004 +0000

    unicode-strings-20040711
    
    
    UNICODE_STRING buffers are measured by their length field;
    do not assume they are nul terminated

commit ec5b34b8fc1d0871c9a4a7ca62161ae1429fd45f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 8 15:45:58 2004 +0000

    winnotes-registry-20040708
    
    
    Add descriptions of Global Drive Mappings; MaxCPUs, and Environment
    Variables

commit 3f337727bc68794db172b5d5163e96938d917f89
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 8 14:25:40 2004 +0000

    aklog-uninitialized-variable-20040708
    
    
    make sure that the krb5_context is initialized to 0.  Otherwise, we
    might try to free it.

commit f328d29f96f1db187bf6e0080491c4372d07391a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 8 14:24:00 2004 +0000

    local-rpc-20040708
    
    
    change the default RPC type from "ncacn_np" to "ncalrpc"
    This says to use local rpc instead of named pipes from the
    client to the server.  Named pipes can still be used by
    specifying the "AFS_RPC_PROTSEQ" environment variable.

commit 3fb32a2561e3171761e7b434cde1da4d37b2aef2
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Jul 8 06:35:26 2004 +0000

    openafs-for-arla-20040708
    
    FIXES 5490
    
    allow use of openafs binaries with arla's linux 2.6 support

commit fa82c5e6a9a6eadd97588b6b2e028fe0595bb375
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Thu Jul 8 06:23:53 2004 +0000

    solaris10-20040624
    
    FIXES 5396
    
    as substantially done by Jeff Woodward <Jeffrey.B.Woodward@Dartmouth.EDU>,
    work diffed out and slightly rewritten
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 5396
    
    this should be the correct way to give up the socket on all solaris versions

commit 775933e89544da31c0cf22cd0937614f5616c50e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jul 8 06:16:55 2004 +0000

    rx-lwp-fdsetsize-20040708
    
    FIXES 5615
    
    limit our fd set size so we don't "lose" fds.

commit c4b6351fc56fe853b0cc97a2e6c6c68ce68f251f
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jul 8 06:11:34 2004 +0000

    lwp-track-qwaiting-20040708
    
    FIXES 5616
    
    track qwaiting lwps rather than potentially leaking them

commit 85a973a7b997b66d009e46c8b4116c00e1182b3c
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Thu Jul 8 05:52:38 2004 +0000

    afsd-bitch-about-xfs-not-about-dir-for-memcache-20040708
    
    FIXES 5728
    
    make afsd complain if cache partition is linux
    don't complain if no cachedir and we're -memcache.

commit cccb91291f77ce0c6be0ed4659b43c848938e022
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jul 1 09:00:40 2004 +0000

    dns-fix-20040630
    
    
    Fix the dns portion of cm_GetCell() to prevent against a NULL pointer
    dereference when the ttl expired.

commit a193405623427b9c0de034ebd3f6e982c745853b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 28 17:33:20 2004 +0000

    afscreds-aklog-only-20040626
    
    
    Modify the Obtain Tokens dialog to allow a blank password
    if a full principal name is provided.  (for aklog only requests)

commit d26145606529756389f07c2e518ca841ecbf8d6c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 28 17:29:42 2004 +0000

    freelance-rw-mounts-20040626
    
    
    Extend Freelance code to support r/w mount points in the fake root.afs
    volume

commit 7262f41cd15dfe54e8f2bae3212c48ee21815cb9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 28 17:28:38 2004 +0000

    afskfw-aklog-only-20040626
    
    
    If no password is specified, perform aklog only using the provided
    principal name

commit e2149ea3f246c9fa946f781e1a678d71bdba2e50
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 25 22:18:44 2004 +0000

    maxcpus-20040625
    
    
    Add documentation on MaxCPUs entry.

commit 5f1c38764d4d23587234740d215342e7daf11f87
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 25 20:48:44 2004 +0000

    hyperthreading-bad-20040625
    
    
    Give folks an option of running afsd_service.exe on fewer processors
    than are installed in the machine.  A new registry value
    
            TransarcAfsDaemon/Parameters   MaxCPUs
    
    allows a restriction to be applied.  Set to 1 to use a single CPU
    (or hyperthreading instance)
    
    The restriction is applied with SetProcessAffinityMask()

commit 291f2e2043eae83d0cbbd541ab0dfa76fab0b94c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jun 24 19:57:51 2004 +0000

    nsis-default-loopback-ip-20040624
    
    
    correct the default loopback IP addresses used
    
      10.254.254.253 mask 255.255.255.252

commit 4586c298ae2d44e3a577a1097b394841bf7216ca
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jun 24 19:24:14 2004 +0000

    windows-install-notes-20040624
    
    
    A first cut at installation notes for windows.

commit 51d766814160caa6ce6af0d08ac96af3c22a095b
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Thu Jun 24 18:38:19 2004 +0000

    solaris10-20040624
    
    FIXES 5396
    
    as substantially done by Jeff Woodward <Jeffrey.B.Woodward@Dartmouth.EDU>,
    work diffed out and slightly rewritten

commit f42cf2a991b9ac37f9525cbdd7afddd02bb4c9b9
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jun 24 18:28:03 2004 +0000

    linux-make-lock-unlock-20040624
    
    FIXES 5430
    
    don't double lock the kernel

commit c91503f32dc94515ce623428d6da04fabcb83cf6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 24 17:56:20 2004 +0000

    getce64-cleanup-20040624
    
    
    get rid of 64bit client & !64bit env case: won't work as is.

commit 62c7e9dafc4fd6e6ecfcd552f86d7407fd3b9389
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 24 17:55:00 2004 +0000

    irix-ukernel-define-64bit-env-move-200406024
    
    FIXES 4896
    
    don't include afs_sysnames.h before defining AFS_64BIT_ENV
    oops

commit fa71ea11afba7b727579b8369b60d10f5e8ef0dd
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Jun 24 17:28:51 2004 +0000

    wix-add-crypt-20040624
    
    
    1. Add gui option for SecurityLevel.
    
    2. Fix grouping of symbol files.

commit ec3b49a1cd0288706dd7518cad36e38df39025da
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jun 24 05:51:54 2004 +0000

    loopback-20040623
    
    
    properly set dependencies for NSIS and wix targets to build loopback target
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    do not install a second loopback adapter if one is already installed.
    
    ====================
    
    1.  Custom actions should not depend on any library that is not in the Windows distribution.  Change makefile to link
    with a static runtime.
    
    2.  Add common reporting mechanism to report ActionData messages back to the MSI process during the loopback
    installation.
    
    3.  CoInitializeSecurity can be called only once per process.  When running as a custom action DLL under the MSI process
    we won't be able to successfully call this since the MSI process beats us to it.
    
    ====================
    
    
    
    Compensate for difference in argument passing in MSI and RunDll32

commit d346e2ed5314ee9b00f31045d56cfb50a29aaaa0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jun 24 05:16:46 2004 +0000

    version-1365-20040623
    
    
    Version number to 1.3.6500

commit cc0abf8054c1aa51ea63fcacd7081e469422cd6b
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Jun 24 05:12:07 2004 +0000

    nsis-20040623
    
    
    Remove obsolete registry entry:  TruncateNetbios

commit 8dbd908bddee81d10c84740d737b6406bb0e2973
Author: Asanka Herath <asanka@mit.edu>
Date:   Thu Jun 24 05:11:02 2004 +0000

    wix-20040623
    
    
    1. We are packaging debug symbols for all builds.  In a checked build the default is to install debug symbols while on a
    free build debug symbols won't be installed unless asked to.
    
    2. Change impersonation level for loopback installation.
    
    3. Change UI to allow for ActionData messages during the long wait while the loopback is installed.
    
    4. Add templates for displaying ActionData.
    
    5. Parameterize language resources.

commit 74e6409d65a906cb80f3ca659e56f813a5500531
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 23 23:25:06 2004 +0000

    darwin-updates-20040623
    
    
    this should be switched to use the freebsd style getnewvnode
    
    perhaps it will be

commit c7d8ba8371b75504ea541f98e7faba63d515f382
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 21:22:42 2004 +0000

    winnotes-20040623
    
    
    Updated change list and issues list to reflect the state of the world
    as of 1.3.65

commit d763078f3a081ff9bf24f94ca9844e4d9b2fc926
Author: Marcus Watts <mdw@umich.edu>
Date:   Wed Jun 23 16:01:04 2004 +0000

    ptserver-flags-default-switch-20040623
    
    FIXES 5418
    
    allow ptserver flags to be defaulted different per switch

commit 4e2c9285f412438efaf42227cef5709153a004f2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 23 15:27:35 2004 +0000

    prototyping-20040623
    
    
    i had this laying around, i don't know from when, but i should flush it to cvs

commit d344a584239383a4d51b450f41e654d70fc3fc0a
Author: Marcus Watts <mdw@umich.edu>
Date:   Wed Jun 23 14:45:09 2004 +0000

    ptserver-flags-default-switch-20040623
    
    FIXES 5418
    
    allow ptserver flags to be defaulted different per switch

commit a8cb8a265067c5e360cb7421d9ecafa43fce30a0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 23 14:35:20 2004 +0000

    cvsignore-updates-20040621
    
    FIXES 5209
    
    update cvsingore files

commit 6b18244984f94e8959455839b3f73d25c87ef450
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 14:17:22 2004 +0000

    loopback-ok-2000-20040623
    
    
    The afsloopback.dll will configure the LMHOSTS and HOSTS files for "AFS"
    therefore it is safe to use the loopback adapter on win2000 even though
    it does not support broadcasts

commit 5d7681b5aa5ab9290be007101515a2d258f9bcf1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 14:03:30 2004 +0000

    use-afsloopback-20040623
    
    
    Use the new afsloopback.dll in NSIS

commit 5d133b13a78f79fc9eb4ba6a3f905b644ab7795e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 09:30:19 2004 +0000

    wix-use-loopback-dll-20040622
    
    
    alter wix installer to use msi interface to afsloopback.dll instead
    of instloop.exe

commit 50e18fe02468daf94a6d5f851f60543dbf015737
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 09:12:07 2004 +0000

    wix-msi-loopback-20040622
    
    
    convert wix installer to use msi interface to loopback dll instead
    of instloop.exe

commit be70343e2a5e4d050363c8cad1a1132e43d24a51
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 23 08:48:18 2004 +0000

    new-loopback-dll-20040622
    
    
    Construct a new afsloopback.dll which contains the routines
    for installing, removing, and verifying the existance of
    a loopback adapter.  This dll will be used by both the NSIS
    and the Wix installers.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Update the wix installer to use the new version of instloop.exe
    which uses the new afsloopback.dll

commit e0b9d58142e2796f342383143d33a9c58f989413
Author: Asanka Herath <asanka@mit.edu>
Date:   Wed Jun 23 04:55:13 2004 +0000

    license-mit-20040622
    
    
    Add MIT's license to their Wix contributions

commit f7be9862d956a10e4cf3d85889d1ea91fa0f29be
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jun 22 20:00:37 2004 +0000

    dword-instead-of-bool-20040622
    
    
    use DWORD instead of bool for function return types

commit 6a035f21605e625e3d07a7f39d7298c40dfdc60b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jun 22 06:04:32 2004 +0000

    default-realm-20040621
    
    
    Set the default build realm to openafs.org

commit a4950863fc0528df9f12ba2dafc3ac7329e5d740
Author: Asanka Herath <asanka@mit.edu>
Date:   Tue Jun 22 05:00:13 2004 +0000

    wix-changes-20040621
    
    
    1.  Fix choice for logon options to include only 'not integrated',
        'integrated' and 'integrated with high security'.
    
    2.  Add configuration page to select whether or not to run afscreds.exe
        when logging in and also choose the command line
        options for afscreds.exe.
    
    3.  Assert that all dependencies are satisfied at install time when
        installing the server component.
    
    4.  If running in full UI mode and installing the server component,
        the user is notified about dependencies and given a
        choice to review selections or just let the installer add the
        required components.

commit 6ed3d79dbd1183557098755d89dbb414c1ce1b89
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Mon Jun 21 22:56:37 2004 +0000

    rx-xdr-deal-with-linux26-regparm-20040621
    
    
    deal with regparm side effects in xdr calls. no clue if this works without regparm yet, that might actually be an issue

commit e82999dedffd04e456b943d481a48db427ba6422
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Mon Jun 21 22:54:15 2004 +0000

    linux26-i-security-20040621
    
    
    configure test is shadow@dementia.org's fault
    test for i_security inode field and init if exists

commit 1c94ac6950f3943027023cce668b1cf15f8d5b41
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Mon Jun 21 22:46:17 2004 +0000

    linux-syscall-asmlinkage-20040621
    
    FIXES 5138
    
    deal with asmlinkage for CONFIG_REGPARM, so afs syscall prototype matches declaration

commit cebf4da48df4187828f8a26b8ab8443f473a35be
Author: Matthew Miller <mattdm@mattdm.org>
Date:   Mon Jun 21 22:40:53 2004 +0000

    linux26-vermagic-cleanup-20040621
    
    
    clean up vermagic to not be defined twice

commit b9683ad8508e3640c73f5764aa3095b27dcaf9a3
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Mon Jun 21 22:22:39 2004 +0000

    nsis-debug-symbols-20040621
    
    
    Force Debugging Symbols to on when Debug installer is used

commit 9cae2bb1f3a39933a2a1fc4dc292a054288b70db
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 21 21:13:55 2004 +0000

    loopback-installer-fix-20040621
    
    
    Convert all Loopback installation code to use Unicode always
    
    Fix case sensitivity of loopback adapter type comparison

commit 827ff40465832184b40d4006a4169f4612f757b6
Author: Kris Van Hees <aedil@alchar.org>
Date:   Mon Jun 21 21:06:18 2004 +0000

    linux26-selinux-20040621
    
    FIXES 5372
    
    add selinux configure checking, and make sock_create take extra arg if needed

commit e1092aa9b560499a48394f35f5f4e8cef7ef0d19
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 21 21:01:50 2004 +0000

    linux26-cred-cleanup-20040621
    
    FIXES 5362
    
    change how cred is stored on linux 2.6

commit 7b06d5a9f53ee984fe16b6b034af2e5432f63cd6
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Mon Jun 21 20:57:52 2004 +0000

    venus-clean-livesys-20040621
    
    FIXES 5316
    
    update clean target

commit f8b90da03c42d2734eec3cc50e03aec2f854a301
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 21 20:53:07 2004 +0000

    aix-makefileproto-updates-20040621
    
    FIXES 5252
    
    fix makefileproto for aix to not use $$

commit d9765e5bd5650853ed5612f5e29ab787182e952f
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Jun 21 20:30:18 2004 +0000

    linux26-allow-suspend-20040621
    
    FIXES 5208
    
    necessary changes for swsusp to work.

commit 25a1518f04378e205375f63b01d579b62b3dcbc7
Author: Rainer Schöpf <rainer.schoepf@proteosys.com>
Date:   Mon Jun 21 20:17:14 2004 +0000

    linux-afs-call-printf-20040621
    
    FIXES 5138
    
    add missing printf arg

commit 50125cb62ad4695ed122b603742829d137d584a1
Author: Asanka Herath <asanka@mit.edu>
Date:   Mon Jun 21 18:48:11 2004 +0000

    wix-msi-installer-20040621
    
    
    One more file for the Wix installer

commit 54f02cabe2404a48c30053ed0469c67fc97333cb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 21 18:25:35 2004 +0000

    missing-file-20040620
    
    
    Forgot to checkin cm_vnodeops.h

commit cb5052f2e9b0c060ac51cd52f4790a22a2b57e37
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 21 18:23:36 2004 +0000

    readme-nt-20040620
    
    
    Update README-NT with details on Wix MSI installer
    (last time README-NT did not get picked up by cvs)

commit 4606c98156cbc8c66254a97fbfdf898bcfb9101a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 21 06:59:18 2004 +0000

    missing-file-nsis-20040620
    
    
    add missing file to nsis installer

commit b7aab5ea00d95f398d24472be998cd5cd9b08134
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 21 06:24:04 2004 +0000

    msi-wix-installer-20040620
    
    
    Update README-NT to include details on Wix MSI installer builder.
    Modify build system to create work directories and provide "wix"
    and "install-wix" build targets

commit a5a69cd4b05bc55f7258252b4cc63fdf425aa48a
Author: Asanka Herath <asanka@mit.edu>
Date:   Mon Jun 21 06:21:44 2004 +0000

    wix-msi-installer-20040620
    
    
    New MSI installer based on the open source Wix installer builder

commit 64a65ad7dc896ff39d68a9e622ee457c009ed5d7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 19 17:00:13 2004 +0000

    fs-sysname-20040619
    
    
    Begin the process of supporting multiple sysnames on Windows as is
    done on Unix.  These changes replace the internal variable with a list
    of sysnames.
    
    Still to do:  change command line interface to allow entry of multiple
    names; and replace cm_ExpandSysName() with code similar to Unix which
    allows expansion of one element in the list at a time.

commit 83d1e43ad551ffd0436d76d1cbfbf000f957c208
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 19 16:18:58 2004 +0000

    safe-strings-20040619
    
    
    Begin to make use of the Microsoft strsafe library to avoid buffer
    overruns.

commit b899b0ff5793139a0a86c01bf701cf186beee383
Author: Asanka Herath <asanka@mit.edu>
Date:   Sat Jun 19 05:21:07 2004 +0000

    ntmakefile-auth-headers-20040618
    
    
    break up auth build step into two parts to avoid
    circular dependency in the build process

commit 83c6908646e58fc8091d55d1013e012f48becb69
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 21:08:50 2004 +0000

    ntmakefile-part-two-20040618
    
    
    check in the correct version.

commit faae04d83540098cd015d9926837c9e2b0ee4397
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 20:58:13 2004 +0000

    ntmakefile-reorder-20040618
    
    
    place 'auth' before 'afsdobjs' to ensure creation of afs/cellconfig.h
    
    allow DESTDIR to be specified as an arbitrary location earlier in the
    build process.

commit 16f5052b412ab00cff7a0d9ca8f504333c0c2213
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Fri Jun 18 19:56:03 2004 +0000

    nsis-loopback-20040618
    
    
    loopback installation executable code.
    the license is GPL which is ok because the NSIS installer does not
    contain any IPL code.

commit f5f358bb164b717abcf4471389875eac4196e622
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 18:36:33 2004 +0000

    afscreds-krb5-principal-error-20040618
    
    
    afscreds did not properly construct kerberos 5 principals with
    multiple components.  This prevented the use of user/admin@REALM
    tgts.

commit 2cacc256d996fcdb024da70a933f92aeec9d9f3c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 06:05:48 2004 +0000

    nt-makefile-configuration-change-20040617
    
    
    Add support for building symbols in all configurations

commit fcb7d1569f9a7803a144fc79c38d793d6aaace35
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Fri Jun 18 06:03:19 2004 +0000

    nsis-installer-updates-20040617
    
    
    New BSD License for compatibility with GPL and NSIS licenses.
    
    Add Loopback Adapter installation
    
    Add Debugging Symbols for all builds (optional module)
    
    Add user configuration of afscreds.exe startup

commit 5ffd9096680e15f886950359868585cf30fb508f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 05:59:51 2004 +0000

    fs-admin-20040617
    
    
    Add Is Administrator requirement to fs functions.
    
         - checkservers with a non-zero timer value
         - setcachesize
         - newcell
         - sysname with a new sysname list
         - exportafs
         - setcell
         - setserverprefs
         - storebehind
         - setcrypt
         - cscpolicy
         - trace
    
    Should create a user group to which users can be added so that
    non Admin users can issue fs commands.

commit 113167c778e265d9002ee48cf5eda613b9cd444a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 05:56:48 2004 +0000

    kfw-support-update-20040617
    
    
    Fix improper use of krb5_data data field as null-terminated string.
    
    Reuse pre-existing context for obtaining the realm from the afs cell.

commit c9fa134e65c557abf7a25122b2581b962ac1481f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 05:52:25 2004 +0000

    nt-power-mgmt-fix-20040617
    
    
    The fixed timeout of 19 seconds was too short.  Should be set to the
    value of HardDeadtimeout as set by cm_conn.c.  The failure to specify
    an adequate timeout value prevented successful Hibernation and Standby
    mode access when network connectivity was not available.

commit 18a9be2b18b7baf3eb0d1aa40a6337c97bd0571e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 18 05:49:20 2004 +0000

    nt-readme-upd-20040617
    
    
    Update requirements for building OpenAFS on Windows 2000/XP/2003

commit e81615d0f1ca357eb5e44a0c3b54046798702a8f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 14 09:36:09 2004 +0000

    darwin-updates-20040613
    
    
    complain if TryReclaim gets a vnode which is on the inactive list
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    be willing to instantiate a ubc in our lookup vop (rename needs this so
    the followup vget doesn't get a vnode with no ubc)
    
    refuse to instantiate a ubc if VORECLAIM is set
    
    rework rename 2 links to same vnode case. (yes, you can have hard links in AFS)
    
    ====================
    
    drop the parent directory ref and remove name from the kernel name cache
    when recycling a vnode.

commit bc9bbe8a955aabfcf42265e3d81a60b5f4c1aa40
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jun 8 18:27:46 2004 +0000

    fix-havecallbacks-proto-20040608
    
    
    afs_HaveCallBacksFrom, not HaveCallBacksFrom

commit c3d0a688212d42f0ad6f028f900eb838646119cc
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jun 8 17:09:09 2004 +0000

    temp-fix-PCallBackAddr-20040608
    
    
    temporary fix for compiler warning in PCallBackAddr

commit 202f407a15c23bc238018c3d57e0bb22e7b5b9bd
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 7 20:54:33 2004 +0000

    objdir-libafs-ko-20040607
    
    FIXES 4943
    
    make libafs.ko build in objdir environment

commit 4f33ab1992fad680478e70e3c1adf466fea08d9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 7 20:52:51 2004 +0000

    export-havecallbacksfrom-20040607
    
    
    i suck, the PCallBackAddr stuff needs this

commit 3c1e497d753ad1201a564bb73fd3103724aba28f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 7 20:48:50 2004 +0000

    linux-use-page-count-macro-20040607
    
    FIXES 4944
    
    use page_count macro instead of accessing directly

commit 7329d33e22eede068a17d583202c6ec2c1d1fc83
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Jun 7 07:22:57 2004 +0000

    freelance-fake-root-vol-id-fix-20040606
    
    
     * add debugging to allow fs trace -dump to be used for freelance
       operations
    
     * Change the volume id associated with the fake root.afs from
       0x20000001 to 0x00000001 to prevent confusion of remote cell
       root.afs volumes with the fake root.afs.  (way to go Derrick.)
    
     * add function prototypes to cm_freelance.h

commit a749be9ff374aafc1ddb04cfc9f616c186dc60e7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jun 6 04:51:41 2004 +0000

    uninitialized-variable-20040605
    
    
     cm_dns.c: getAFSServers() did not initialize the output
               parameters before testing them when setting the
               return value.  It therefore returned success
               when the network was unavailable. Bad Bad Bad.

commit 326e26068fe8136c2c943665f8cf84cacc12cf9b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 5 21:11:06 2004 +0000

    kpasswd-uninitialized-20040605
    
    FIXES 4994
    
    More uninitialized variables

commit 6d4bdfc2f78605b4339523577d7726101eb38b42
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 5 19:59:41 2004 +0000

    winnotes-20040605
    
    
    Document changes up to this date since 1.3.64 and new registry values

commit d58233a52f3d705b039d690c4cc0befd1ac54408
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 5 19:57:58 2004 +0000

    timeout-logic-20040605
    
    
       * The timeout logic in the AFS Client Service has been wrong
         for sometime.  It is based on two different assumptions.
         First, the SMB client timeout is a fix value as was the case
         with OS/2 Lan Manager.  This assumption is incorrect.  The
         SMB timeout in Windows is a dynamic value computed based upon
         a fixed minimum timeout to which is added time based upon the
         size of the request and the performance characteristics of
         the connection.  Second, it is the responsibility of the
         SMB Server to enforce the timeout requirements of the client.
         This is untrue.  The SMB Server cannot be expected to know
         the requirements of the client.  More importantly, if the
         SMB server uses the SMB client timeout as a value to restrict
         its behavior as an RX client, the performance characteristics
         of the local SMB session would be used to prematurely terminate
         WAN connections with significantly different performance
         characteristics.
    
         The timeout logic has therefore been modified in the following
         manner:
          . the Lan Manager Workstation (SMB) Session Timeout is used only
            as a basis for configuring the Connection Dead Timeout
            and Hard Dead Timeout values.  The Connection Dead Timeout
            must be at least 15 seconds longer than the SMB Timeout
            and the Hard Dead Timeout must be at least double the
            Connection Dead Timeout.
          . New registry entries have been added to allow the Connection
            Dead Timeout and Hard Dead Timeout values independent of the
            Lan Manager Workstation Session Timeout
          . The test to enforce the SMB Client Timeout has been removed.
    
         One of the side-effects of removing the enforcement of the SMB
         Client Timeout is that regardless of whether or not the SMB client
         is available to receive the response (and how would the SMB server
         know) the RX protocol response can be used to update the AFS
         Client Service state for ready access by future SMB client
         requests.
    
         This should be the end of the "Server paused or restarting messages"

commit 304fbc25279cef35724f042e0a6bf5a43a51e7a0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Jun 5 07:02:39 2004 +0000

    cell-info-do-not-delete-20040604
    
    
    * cm_cell.h: define new bit flag CM_CELLFLAG_VLSERVER_INVALID
    
    * cm_cell.c, cm_ioctl.c:  Do not delete cell info either because
      it has been removed from the CellServDB file or because the
      volserver info becomes invalid due to dns ttl expiration.  This
      is necessary because the cell info is pointed to by other structures
      which require continued access to the cellname and username fields.
    
    * cm_ioctl.c: provide UNC support for the MakeMountCmd

commit 414fe9588a3532fcb648be3b9a7fbc04baa5e14b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 4 07:02:18 2004 +0000

    ioctl-unc-20040603
    
    
     * pioctl.c: handle another UNC case in GetIoctlHandle
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
     * cm_ioctl.c: avoid running off the end of a string

commit eb48b8e6caca5ac85dae43b2bbf029f8fb8a17aa
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 4 04:10:44 2004 +0000

    ioctl-changes-20040603
    
    
    Fix more edge cases for ioctl handling.
    
     * cm_dcache.c: reformat the file to make it possible to set breakpoints
       on conditionals
    
     * cm_ioctl.c: add a call to smb_FindShare() when processing UNC paths
    
     * cm_vnodeops.c: move debug message from the afsi_log to the osi_log
    
     * fs_utils.c: reformat
    
     * smb.c: change smb_FindShare to take a smb_user_t * instead of a
       pointer to the input smb_packet_t.  Change calls to smb_FindShare
       to use new prototype.
    
     * smb.h: change prototype for smb_FindShare
    
     * smb3.c: Change calls to smb_FindShare to use new prototype
    
     * smb_ioctl.c: reorganize use of smb_user_t so it can be passed
       to smb_IoctlPrepareRead in order for it to be used in the call
       to smb_FindShare.

commit 913876f3a96da9608a18852cb54035854b0eb854
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jun 4 04:00:39 2004 +0000

    ioctl-handle-20040603
    
    
     * Fix GetIoctlHandle so that it will create the handle on the correct
       volume when a drive letter is not specified as part of the source path

commit 4a69168cdf111e1e0ea77e7ecee612602bb75937
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Jun 3 06:13:27 2004 +0000

    i-hate-aclocal-20040603
    
    FIXES 4922
    
    aclocal wants [] around macro names.
    good for aclocal.

commit 1d5ddeb9dbb34108f5c3c1b6356d9dcdd86988d5
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jun 2 20:40:34 2004 +0000

    gconfd-lock-fix-20040602
    
    FIXES 4905
    
    "i believe i have managed to track this down to a missing
    lock_kernel() in the dentry (lookup) revalidate routine.
    this missing lock was already fixed in the 1.3 tree when
    i submitted the 2.6 support patches (although its not quite
    right i think -- the shrink_dcace_parent() should happen
    under the BKL)"

commit 0dbbc2c4c5741859ce75afa253294c901625018f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 2 15:52:04 2004 +0000

    ntmakefile-20040602
    
    
    update comments

commit fc250cc0be2dd73dad05b869bb41a7f3e12e8079
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 2 15:50:23 2004 +0000

    win32-ewouldblock-20040602
    
    
     * enable detection of EWOULDBLOCK errors on Windows

commit b0161198cfbe35fd2663ad849d0ebe33c057c289
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 09:43:02 2004 +0000

    callback-rxcon-move-20040602
    
    FIXES 4891
    
    apply it disabled in the fileserver, but provide mech for client to suggest a particular IP address to the fileserver
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 4891
    
    apply it disabled in the fileserver, but provide mech for client to suggest a pa
    rticular IP address to the fileserver
    
    ====================
    FIXES 4891
    
    apply it disabled in the fileserver, but provide mech for client to suggest a pa
    rticular IP address to the fileserver
    
    ====================
    FIXES 4891
    
    apply it disabled in the fileserver, but provide mech for client to suggest a pa
    rticular IP address to the fileserver

commit 07ba4620cf956d1cecd5bcd4448179b681c1cc3b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 09:39:34 2004 +0000

    vos-new-repsite-cleanup-20040601
    
    FIXES 4730
    
    if for some reason we got into a situation where all ROs were marked NEW_REPSITE in the vldb, vos release without -f deals very poorly. force a -f, and also, never print "Old Release" for the RW, to avoid confusion
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 4730
    
    if for some reason we got into a situation where all ROs were marked NEW_REPSITE
     in the vldb, vos release without -f deals very poorly. force a -f, and also, ne
    ver print "Old Release" for the RW, to avoid confusion

commit d37b482873d1652ba74ac61005d49cd5facf7d96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 09:18:28 2004 +0000

    irix-make-ukernel-build-20040602
    
    FIXES 4646
    
    ukernel needs 64 bit type defined, define it.

commit fe370813b95b0268ecb134c8c20bfe8d4ba9ee4b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 08:43:48 2004 +0000

    linux-dont-mark-writer-on-mmapped-RO-20040602
    
    FIXES 4892
    
    don't mark an mmapped RO as an execOrWriter.

commit 404f837d577da5ef46e99c63b9c7e7aba7a9ef45
Author: Michael Pronath <mcp@eda.ei.tum.de>
Date:   Wed Jun 2 08:08:46 2004 +0000

    adviseaddr-call-dont-shadow-code-decl-20040602
    
    FIXES 4536
    
    removed shadowed declaration of code

commit 5191f0038305b5b356dbb17d891fecf68ee2daac
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jun 2 08:04:15 2004 +0000

    volinfo-large-size-update-20040602
    
    FIXES 4679
    
    make volinfo useful for >4gb

commit d5dfb9113bb6444fb46ab90ff807d40fdb6180d6
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jun 2 07:15:45 2004 +0000

    linux-26-build-updates-20040601
    
    FIXES 4767
    
    use 2.6 kbuild infrastructure to build modules. updates proc mechanism.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 4888
    
    use 2.6 kbuild infrastructure to build modules. updates proc mechanism.

commit 5d9fcb30347e97471e5604828ef433683ca7a766
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 07:08:01 2004 +0000

    attachserverproc-dont-dequeue-if-not-in-queue-20040602
    
    FIXES 4699
    
    can't see what else this can be. pile of details in the ticket.

commit 7a46d3a0766a34816c468f5e00b720994778466b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Jun 2 06:21:16 2004 +0000

    unc-enable-fs-20040601
    
    
     * modify cm_ParseIoctlPath() to be able to handle arbitrary UNC
       paths of the form \\netbiosname\mount\path.  This enables all
       of the fs commands and the shell extension to be able to work
       with UNC paths.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
     * add support for UNC paths

commit 8d442bea4f760366b0c2bb2053e0ebf6ffa3d5c6
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Wed Jun 2 03:49:28 2004 +0000

    rx-protect-queue-during-debug-20040601
    
    FIXES 4811
    
    "in rx_packet.c:rxi_ReceiveDebugPacket() the rx_idleServerQueue is
    scanned without taking a lock first.
    
    The queue_Remove macro zeroes the ->next field (luckily), but this can
    lead to a crash when Murphy strikes and the entry gets removed during
    the scan: queue_Scan will dereference 0x0 -> next.
    "

commit 3d66364e7255e7802760cad2d12ea90be7366584
Author: Sam Hartman <hartmans@debian.org>
Date:   Wed Jun 2 03:40:03 2004 +0000

    make-distclean-do-it-20040601
    
    FIXES 4814
    
    remove some of the crap we were missing

commit ab10f17e126312b34443acb32bfb21fc4ebde601
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 2 03:37:45 2004 +0000

    provide-fPIC-method-for-amd64-20040508
    
    FIXES 3680
    
    allow building fPIC on amd64

commit de972e77b34ab454310dbb495aa25f7c76b24c19
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Jun 1 03:45:24 2004 +0000

    corrections-winafs-20040531
    
    
     * cm_server.c: remove locking from cm_FreeServer().  Must call
       while holding a write lock
    
     * afskfw.c: Remove manual dynamic loading of ktc_xxxx functions
       Change some of the debugging logic

commit 78f184e3076a015508db89cfc345710c3d0c3aec
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 30 16:54:13 2004 +0000

    afscrds-dns-20040530
    
    
       * Fix afscreds.exe (by updating afskfw.lib) to search for cells via
         DNS if the cell configuration cannot be determined via CellServDB

commit d64679ee4c125f6df5772007b69a9d7a1b69c32e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 30 15:39:05 2004 +0000

    dns-and-server-ref-counts-20040530
    
    
       * Add debug info to test whether CM_BUF_WAITING or CM_SCACHE_WAITING
         are ever set more than once at a time
    
       * Fix the management of lists of cm_cell_t structures when using
         DNS to lookup cell information.  The previous code would fail to
         reuse the same cellID for a cell if DNS was used more than once
         for a given cell name.  When the ttl expired, a single cm_cell_t
         could be inserted into the cm_allCellsp list more than once
         producing a loop.  In addition, the vlServerp list belonging to
         the cell was not freed resulting in improper refCounting of the
         servers.
    
       * Add DNS support to cm_IoctlNewCell() which previous only examined
         the CellServDB file
    
       * Add cm_FreeServer() function and call it from cm_FreeServerList()
         to properly garbage collect cm_server_t objects
    
       * Add numVCs variable to smb.c to track the number of smb_vc_t
         objects created and use it to initialize the vcID field which
         previously was set to 0 in all objects resulting in FindByID
         collisions.

commit 52898404c69832c3954cb746b7529174d57169fc
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 30 01:25:19 2004 +0000

    rx-debug-20040529
    
    
    Fix MakeDebugCall to properly check the return code of select() and
    recvfrom().  Do not copy data buffer unless recvfrom() succeeds.

commit 6b488b4c99ae5b57143ed2417638b60b0b546a4f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 30 00:47:59 2004 +0000

    batch-commits-windows-20040529
    
    
       * Fixed DNS lookups to work consistently throughout the OpenAFS
         product instead of just from within the afsd_service.exe
    
       * Added a runtime check to ensure that AFS Client Service SMB
         Server is accepting connections before attempting to mount
         global drives.
    
       * Read IP addresses for volume servers out of the CellServDB
         file if gethostbyname() on the hostname fails.
    
       * Fix getcellconfig() to populate both the Hostnames as well
         as IP addresses when loading cell data via DNS
    
       * Increase the Connection Dead Time to 50 from 20 seconds
         Increase the Hard Dead Time to 120 from 40 seconds
         (matches the Unix values)
    
       * Fixed an assertion validating the number of allocated NCBs
    
       * Fixed the build environment to consistently build for
         Windows 2000 and above.  (APPVER = 5.0)
    
       * Fixed rx_debug to properly validate the receipt in incoming
         data with select() and recvfrom().  Do not copy data out of
         the socket buffer unless success is indicated.

commit e21149cec321d055c715d0362e77a85118cdf561
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu May 20 20:15:04 2004 +0000

    uafs-fixes-20040520
    
    
    Make uafs not crash if uafs_fstat() is used.  Fix open(O_RDONLY).

commit 0d1159c724a03ff10a4b31641e8b07d5722dc360
Author: Jim Rees <rees@umich.edu>
Date:   Wed May 19 21:31:18 2004 +0000

    banish-ushort-20040519
    
    
    Change ushort to afs_uint16. ushort is a SysV thing, not present in FreeBSD.

commit 849122ff1113b5e2c5f1fb2d90bd6b363da7a72a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 19 16:47:16 2004 +0000

    kdump-build-update-20040519
    
    FIXES 4639
    
    more cleanup of kdump build

commit b1ae3fc1a6e30392e08b93177b005cc6fa79f27f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 15 07:43:09 2004 +0000

    linux-26-updates-20040515
    
    FIXES 4027
    
    update autoconf for linux 2.6

commit 7d2dd14c62f2bd06278eb1907f12a2ad3bd20a59
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sat May 15 07:32:35 2004 +0000

    netbsd-has-statvfs-20040515
    
    FIXES 4535
    
    netbsd has statvfs, use it

commit c05beb30dc90a745a5a1a812fc7658afbf2a38b1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat May 15 07:16:55 2004 +0000

    kdump-build-cleanup-1-20040515
    
    FIXES 4521,4522
    
    remove KDUMP/KDUMP64 configure stuff, clean up kdump targets in Makefile

commit e59d92b03e187506ccae82df7cbd530ae81ce11f
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sat May 15 07:11:40 2004 +0000

    salvager-log-instead-of-abort-20040515
    
    FIXES 4533
    
    insert of assert, log an error

commit 4ec1f3fcd36a265b564a30af6e59b184568db196
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat May 15 05:53:30 2004 +0000

    rx-include-afsconfig-before-param-h-20040515
    
    FIXES 4578
    
    make sure afsconfig.h is included before afs/param.h

commit 02f83314df745178ff48eeb3bcb6918d176bcf54
Author: Jim Rees <rees@umich.edu>
Date:   Wed May 12 18:57:11 2004 +0000

    openbsd-35-20040512
    
    
    Add OpenBSD 3.5 notes to top README.

commit a2233de3fd00a3351078429943ce8af1e9e8bcae
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 23:31:51 2004 +0000

    cellservdb-20040511
    
    
    Latest CellServDB as of 2004-05-11

commit 6b50d377b0b4ff2af12044c1dc15d37aad864e76
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue May 11 21:36:13 2004 +0000

    linux26-proc-interface-use-long-not-int-20040511
    
    FIXES 4462
    
    arguments to sys_call are long, not int
    ioctl returns -ERROR, not -1
    return -EINVAL on ioctls we don't know

commit a2c0be066193802b7c1d3aa2d21c8bb2a50ff06d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 21:08:57 2004 +0000

    update-winnotes-20040511
    
    
    Update the changes and issues files for the 1.3.64 release

commit ce5e3e99d7e0f3518644f531068fd7ab1cf1f521
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 11 20:52:28 2004 +0000

    kdump-reorder-nfsclient-header-20040511
    
    FIXES 4520
    
    nfsclient.h needs afs.h for MAXNUMSYSNAMES definition

commit 7db901bda1bdbbe23a9ebcb0264e94c617ac2bb2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 20:43:20 2004 +0000

    nt40-version-20040511
    
    
    Update version number to 1.3.6400

commit f6318c58054c7e6435494925dc5ed4cdd7f13557
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 20:35:02 2004 +0000

    reference-counts-20040511
    
    
    Correct VC reference counting.  (not that it is used for anything but
    there is no reason the reference counting should be allowed to perpetually
    increase)
    
    Fix smb_FindFID.  Do not do anything if fid == 0 without SMB_CREATE_FLAG
    being set.  Ensure that the event object name is unique by both the fid
    and the vcid.

commit 7441eb8f59a946fa568ae2f6bf361a6f687039c3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 14:26:14 2004 +0000

    move-memdump-file-20040511
    
    
    Move the memdump file produced on Windows by "fs memdump" from
    %WINDIR% to %WINDIR%\TEMP

commit 265c009c72e7a7cbb29421c06f13fc97179e287a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 03:45:20 2004 +0000

    KRB5KRB_AP_ERR_BADADDR-retry-20040510
    
    
    retry once if KRB5KRB_AP_ERR_BADADDR error is received while attempting
    to obtain tickets.  This is often produced when using transitive trusts.
    a retry is then successful.

commit 6f571891869a3a4f903bdb5953579d4c655419f9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 11 03:08:50 2004 +0000

    off-by-one-20040510
    
    
    off by one error when allocating memory for mountPointStringp
    in cm_GetSCacheEntry when using Freelance mode

commit 861fa50de1d54ed7b333e9b86c63262707c0d3a9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon May 10 14:51:16 2004 +0000

    ukernel-take-two-20040415
    
    
    Make uafs work enough to support readdir()
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Make uafs work enough to support readdir()
    (add casts for irix)

commit 329f256d42fcf575fca3216a2107e3e155a64b7e
Author: Jonathan Curley <jcurley@andrew.cmu.edu>
Date:   Mon May 10 05:39:21 2004 +0000

    linux-26-provide-proc-interface-instead-of-syscall-20040507
    
    FIXES 4462
    
    provide /proc file interface to use instead of AFS system call.
    doesn't solve the PAG problem.

commit ad57d95089928e7626bef13bb2dbc87bec90a049
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 10 04:43:02 2004 +0000

    snprintf-irix-needs-sys-socket-h-20040510
    
    
    6.5.9 or so wants sys/socket.h to get AF_INET

commit 05060d53255a17478e78a9a07e50c6d62640e5dc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 10 04:18:58 2004 +0000

    provide-fPIC-method-for-amd64-20040508
    
    FIXES 3680
    
    allow building fPIC on amd64

commit 3812a973cd6c8329ce18802a7c5bb980308ae87a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 9 05:39:05 2004 +0000

    user-instance-20040508
    
    
    Enable afscreds.exe to support instance components of usernames
    for non-kfw token retrieval

commit 98bcba19235a6ff40ba9c3dd1bf4054a870d8a20
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun May 9 05:04:52 2004 +0000

    case-sensitivity-20040508
    
    
    Correct the number of parameters to cm_Lookup calls in smb_ReceiveNTCreateX
    and smb_ReceiveNTTranCreate.  Also, do not allow directories to be created
    if there are any files with names that differ only by case.
    
    Miscellaneous reformatting.

commit 8023007863f21234104aa3588b798e32fd4b9192
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat May 8 05:50:38 2004 +0000

    kdump-linux-install-typo-20040508
    
    FIXES 4430
    
    fix @? to be $?

commit 75b51e6192d9758e5abf1984c139ecc00be397b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat May 8 05:47:10 2004 +0000

    update-README-20040508
    
    
    update list of supported platforms, slightly

commit 686eb8de49c3e59a99cbd8f1e93cc0949a253621
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat May 8 05:45:36 2004 +0000

    aix-dynamic-auth-20040507
    
    FIXES 4278
    
    make dynamic auth work for aix 5

commit 87f6d5a8f003f71724c7a49c6ab178a3f1efd2f9
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:33:07 2004 +0000

    writethru-dslots-allocate-once-20040507
    
    FIXES 4071
    
    only allocate once for WriteThroughDSlots

commit 9e9a617786ed6b21fcf8f052e08f2a9f9b75fe0e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:28:35 2004 +0000

    dcache-shutdown-free-20040507
    
    FIXES 4070
    
    free dcache list during shutdown

commit b660e7d7cd3029e7325ba8af7ea0bb15e0d43436
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:26:37 2004 +0000

    linux26-updates-20040507
    
    FIXES 4068
    
    define NGROUPS if it doesn't exist

commit fc25d8cf697db8fde0eb3e89b39a1fbd39a6313c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:23:56 2004 +0000

    add-shutdown-server-20040507
    
    FIXES 4067
    
    cleanup server list during shutdown

commit bfe8ffc7278b4f7850a20eaf604527cc762978c4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:22:19 2004 +0000

    shutdown-cell-free-cellname-list-20040507
    
    FIXES 4066
    
    also free cellname_list when doing shutdown, part of quest to free all allocated memory

commit dd38ea87cf0208463e64379e9b74fbe5fc7297fe
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 05:20:39 2004 +0000

    shutdown-vcache-free-after-using-20040507
    
    FIXES 4065
    
    don't free the VClist until after use

commit fae4792e91bfd16b1d15f912dab88a90851ec8e9
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat May 8 04:58:27 2004 +0000

    linux26-update-20040507
    
    FIXES 4027
    
    updates for modversions and for symbols which we don't need to grovel out of the kernel

commit 48e39b49431d902b6c51723df70b62a45b4e1f8d
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Fri May 7 15:56:00 2004 +0000

    ntmakefile-20040507
    
    
    remove extraneous '*' characters from C2OBJ rules

commit 6b1cb8b1a8fcb8f48110e4583e38b696d38f6c05
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 22:06:58 2004 +0000

    active-mapping-20040506
    
    
    Write active drive mapping data to afsdsbmt.ini from afs_config.exe

commit 847d870c14c0c9b126d5a1691c10e5fc4b3e412b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 21:52:16 2004 +0000

    mounttab-20040506
    
    
    ensure that we do not access an array with -1

commit d941303ccc06e2d5ee517d8f25f5b4e095e2ad2f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 21:46:31 2004 +0000

    afsd-20040506
    
    
    Andrei provided a replacement for the pattern matching algorithm.
    It has been applied but the old version is still there and can be
    activated with a #define
    
    The KFW_AFS_get_cred() routine does not use the "instance" parameter
    so removed it.

commit 2d788598693ec1578d2f3abafe5858c44f67fe57
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 21:40:03 2004 +0000

    incorrect-filename-after-install-20040506
    
    
    the TaAfsApp_1033.dll was incorrectly installed as TaAfsAppl_1033.dll
    This prevented the user manager from starting

commit 620cd80707f42a280b64a933a3a0751ab5c58855
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 21:37:12 2004 +0000

    mkdir-20040506
    
    
    Make src/WINNT/aklog directory if missing

commit 9552283298757ca7f44643a5a26cf909e12c589f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 16:17:29 2004 +0000

    case-sensitivity-20040506
    
    
    from asanka@mit.edu
    
    We now strictly prefer exact case matches.  This does incur a
    performance penalty because we can no longer be satisfied with an
    inexact matches in cache (we make an extra trip to the server to make
    sure there aren't any exact matches or pick up the extra match if
    there is one).  Of course, the name lookup cache is now case
    sensitive.
    
    * cm_dnlc.c : case sensitive name lookup cache
    * cm_vnodeops.{c,h} : changes to cm_Lookup to first look for exact matches,
            failing which, look for inexact matches.  Also, only put a name in
            the name lookup cache iff it exactly matches something on the server.
    * smb.c : look for exact matches first.
    * smb3.c : as above.  Also T2 Search is used by the SMB client to resolve
            filenames.  Respond accordingly.
    
    and:
    
    * added new CM_ERROR_AMBIGUOUS_FILENAME mapped to ERROR_POTENTIAL_FILE_FOUND
      This error is not yet used but is intended for situations in which an
      AFS volume contains two files which differ only by case "Foo" and "FOO"
      and the user says "DEL foo".  Since we do not have an exact match by case
      the existing code deletes one of the two files at random.  In the future
      we want to return an error.

commit 786ead5cef01d76169a4fec33a6eb584fa5cea5e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 15:21:44 2004 +0000

    ipaddrchg-20040506
    
    
    ipaddrchg.[ch]: contains the ip address change monitor thread functionality
                    which was previously in afskfw.[ch] but which is now a
                    library in src/WINNT/afsd

commit d44da96287a7cb5c6a67fd7c18112b52a6180085
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu May 6 15:19:19 2004 +0000

    afscreds-20040506
    
    
    creds.cpp:  add support for principal name instances to the Obtain Tokens
                function.  Previously instances were not parsed.
    
    main.cpp:   Fix the -M (renewMaps) option to always call DoMapShare()
    
    mounttab.cpp: When removing a drive mapping, remove the "active" entry
                from the afsdsbmt.ini file.

commit 233fa17c01c614c2d436d1c285c728fcb30b746a
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Wed May 5 19:49:47 2004 +0000

    lzma-compress-20040505
    
    
    Use lzma compression instead of bzip2

commit e2af5db575e71bb3a7d5a75be9144d0fdbc2ba60
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed May 5 04:24:57 2004 +0000

    uninitialized-variable-20040504
    
    
    Do not assign reference to declaration in cases which declaration is
    not assigned a value.

commit 14005bc769bbca0a1944aacce1f4c9aae7d55d9b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 4 23:48:15 2004 +0000

    afskfw-library-20040504
    
    
    Migrate KFW functionality from src/WINNT/client_creds/afskfw* into a
    a new library to be shared by afslogon.dll, afscreds.exe
    
    Add KFW support to afslogon.dll
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Migrate KFW functionality from src/WINNT/client_creds/afskfw* into a
    a new library to be shared by afslogon.dll, afscreds.exe
    
    Move IP Address Change Monitor into new source files.
    
    Add smbname support to the KFW set token functionality in afscreds.exe

commit 48f4c91cb4957ddf3763c39ce7a802b9b726cfd7
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 4 22:38:15 2004 +0000

    dangling-comments-are-bad-20040504
    
    
    Fix an unterminated comment..  Oops!

commit 0b807876f1d68ef8a76bf31a1a63bb9642b0d348
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue May 4 10:36:01 2004 +0000

    fun-with-a-profiler-20040504
    
    
    fun with a profiler:  afs_RemoveVCB accounts for 20% of the total AFS
    client CPU utilization, even under a moderate vcache turnover rate of
    less than 10 new vcache's per second.
    
    introduce a hash on the afs_cbr objects to speed this up.  if you are
    seeing your AFS client being CPU-bound, e.g. on your web server, you
    may want to try this.

commit 64b8ee9d887c4d7d669734e30bfd66c758efb51e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 4 10:31:55 2004 +0000

    linux-handle-short-reads-gracefully-20040504
    
    
    break out of the read loop with EIO if we've reached EOF,
    rather than looping forever hoping the file will grow.

commit 5b6b91e6b803536058203a3404190af39bfa9292
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue May 4 10:31:11 2004 +0000

    add-missing-uafs-prototypes-20040504
    
    
    add missing prototypes for uafs_seek

commit 746aab497cce0987431909734a6b28ef2f6e15af
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue May 4 05:05:25 2004 +0000

    csc_policy_logon_updates-20040503
    
    
    From Andrei: CSC Policies
    
    Updates to afslogon.dll: attempt lowercased name on authentication failure
    if LSA provided name is all upper-case.

commit cedfdb08734dcf4fcd4aa7dead5bf9af0809a2df
Author: Robert S Murawski IV <rsm4@ieee.org>
Date:   Sun May 2 23:09:22 2004 +0000

    nsis-server-updates-20040501
    
    
    This implements:
    
    1) Does not delete server config data on uninstall
    2) If an upgrade or a re-install with existing server config data, will not auto-start the Server Configuration Wizard.
    3) Checks for RPC keys on install.  (I believe you only need one because not all of the keys are required for AFS to work.  However, it might require TCP or UDP based RPC)
    
    Still to do:
    1) Server data should be destroyed if user answers "No" to "Do you want to keep your existing configuration data?"
    2) If installing when existing server configuration data is present, populate the client cell to be the contents of the "ThisCell" file.

commit 86c8433bc6ef85f44a9a6f65e62dd710b4300fa6
Author: Jim Rees <rees@umich.edu>
Date:   Tue Apr 27 20:43:04 2004 +0000

    obsd35-20040427
    
    
    get ready for OpenBSD 3.5 (due May 1)

commit e1814aeb8427090304d6577de9c732a880022aad
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 27 19:58:48 2004 +0000

    fixes-from-andrei-20040427
    
    
    Cleanup the makefile to remove unnecessary defaultlib restrictions
    
    Remove the DST fix added to address Rodney's bug with the timezone being
    off by an hour on files one hour after the time change.  Still need to
    identify the real cause.
    
    Finally fix once and for all the afsd_service.exe shutdown error.
    The ServiceHandler must be declared with the WINAPI calling convention
    because it returns a value.

commit e116ec14765a25a2af41d456065f78b281783a12
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 27 19:54:28 2004 +0000

    release-vs-debug-flags-20040427
    
    
    Move a few debug only compiler flags into a debug only build section of
    the makefile

commit f4cc1fdc491e7e217686d22673d17acd882e7153
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 27 02:26:01 2004 +0000

    no-mfc-20040427
    
    
    remove the reference to afx.h.  there is no reason to bring in MFC
    for lanahelper.lib.  (thanks to Andrei)

commit 519e7f0669d61c1d339d156f96469bbd68a328e3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 26 22:39:33 2004 +0000

    check-if-compiler-supports-__FUNCTION__-macro-20040426
    
    
    Add an autoconf check to see if the compiler supports __FUNCTION__ and __LINE__

commit a40db2ebc0490dfd63f02900fa2aa077a8276f6a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 23 04:43:24 2004 +0000

    kfw-upds-20040422
    
    
    (1) remove the tkt_lifetime table which is no longer used
    
    (2) improve the handling of token to k5 principal mapping
    
    (3) assign the REALM to the token client name if the realm of
        the cell does not match the realm of the user

commit 9374963fcade1390ce97e388c19ccf104f969f18
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 23 04:38:54 2004 +0000

    ren-msgbox-logfile-20040422
    
    
    Several fixes:
    
    (1) the log file afsd_logp should not be referenced in the smb modules
        instead the smb_logp should be used
    
    (2) Properly define the dummy_MessageBox function as _stdcall
    
    (3) When afsd_service.exe fails due to a Network Error (IP address change)
        display a MessageBox to the end user
    
    (4) Fix "rename foo foo" to not generate a "destination file exists" error
        (Thanks to asanka)

commit 171cec34dcca479573551ac7a48b3892b1442f87
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Apr 21 03:20:21 2004 +0000

    linux26-more-updates-20040420
    
    FIXES 4027
    
            . osi_cred now uses struct group_info
            . the big kernel lock has been moved from the fs generic code
              for some of the operations in 2.6
            . 2.6 now just uses iput() and hooks the appropriate routines
            . the dummy inode list handling should be clearer

commit 37d106e228998d58cfe3427ba9bdae66e464c042
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 20 15:56:16 2004 +0000

    kaanswertoolong-20040420
    
    
    when determining whether or not the ticket len is too long for the
    receiver to accept we want to compare against the actual ticket length
    and not MAXKTCTICKETLEN which is what is used when sizeof(ktc_ticketAnswer)
    is used for comparison.

commit daa011af022ac9b7434aa86be0489692c616ae67
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 19 06:43:58 2004 +0000

    more-memory-leak-fixes-20040418
    
    
    Another memory leak plugged; thanks to Jeffrey Altman for noticing it.

commit 6f22e163a5e79df4ce96d7234a634fc717fa1e4a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Apr 18 07:13:47 2004 +0000

    memory-leak-fixes-20040417
    
    
    Fix some memory leaks.

commit b06c35909060e644f170b3210e7934803e74aae4
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Apr 18 07:10:33 2004 +0000

    more-uafs-support-20040417
    
    
    Some more minor uafs fixes

commit 66e04e9f88452b4afef19fb8dbba431018ec1bbb
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Apr 18 07:09:49 2004 +0000

    add-fs-exa-file-support-20040417
    
    
    Make "fs exa filename" print out the FID for the filename, not just
    the status for the volume containing that file.

commit 194c348298d146fe5a59892de0da2d8fb461e537
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Apr 18 04:16:14 2004 +0000

    uninitialized-20040417
    
    
    ngroups was uninitialized.  This produced a run-time warning even
    though its value was never used in subsequent calls.  set to 0.

commit 733af496e822a07f216ec3d815946cb0212c4e1b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 16 07:26:11 2004 +0000

    more-memory-scrubbing-20040415
    
    
    Scrub the callBacks array just in case, as we're exposing some
    arbitrary kernel stack contents to the user.

commit 5db578e0786707b6ab1bf94a830bf8cff9bb4902
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 16 05:57:01 2004 +0000

    dont-leak-random-kernel-data-20040415
    
    
    Zero out data structure being returned to user, so that we don't
    send random kernel memory garbage to them.

commit cd495f072760736c3e962ed11796e6d682b98f98
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 16 00:49:13 2004 +0000

    make-uafs-work-a-little-20040415
    
    
    Make UAFS at least a little more likely to work.

commit e604accb426158b00be8442c8cc6bc82b4f1eb65
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Apr 15 23:48:12 2004 +0000

    fix-linux-build-20040415
    
    
    It's AFS_LRALLOCSIZ, not AFS_LRALLOCSIZE.

commit f3983124b17e00357c5ae21c2d98939784fe6b9e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 15 22:04:21 2004 +0000

    ticket-1241-20040415
    
    
    Correct mistaken use of >= when > is appropriate

commit fa189b670dbbbf493b86f1c56539ff2693ed49c0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 15 03:23:41 2004 +0000

    ntmakefile-20040414
    
    
    Fix the makefile to build with vc.net 2003 in a release configuration.
    /GZ and /Ox are mutually exclusive

commit fad225bab61ac1a3be430aacd9af9ef0cf675561
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 15 03:21:23 2004 +0000

    resource-fix-20040414
    
    
    There was one more off by one error in the resource file
    enumeration preventing the loading of the "Drive" string table entry

commit f8ed1111d76bbf36a466036ff74b44e1425be8bd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 15 00:26:13 2004 +0000

    ticket-1241-20040414
    
    FIXES 1241
    
    Modify buffer allocation to support tokens up to MAXPIOCTLTOKENLEN
    (3*sizeof(afs_int32)+MAXKTCTICKETLEN+sizeof(struct ClearToken)+MAXKTCREALMLEN)
    in length.

commit 1757180dab3f5fb74044f665f5e603fafa8e7e22
Author: Ken Hornstein <kenh@cmf.nrl.navy.mil>
Date:   Tue Apr 13 21:41:11 2004 +0000

    fileserver-no-longer-asserts-when-read-past-EOF-20040413

commit 4a0729240ae03929502de36039b6f982c08c905d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 13 04:47:50 2004 +0000

    uninitialize-20040412
    
    
    Fix uninitialized use of ltto

commit 9dc32a5a18ac5a9228e916f207ee2e7815ab741e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 13 04:06:17 2004 +0000

    aklog-20040412
    
    
    MIT's aklog.exe imported into the OpenAFS for Windows distribution
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    MIT's aklog.exe imported into OpenAFS for Windows

commit f3cd6ca06315691c46f9a3f917099efaed57fe3d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Apr 12 20:42:19 2004 +0000

    linux-26-progress-20040412
    
    FIXES 4027
    
    if you complain about any of it, you better include a patch, or risk being
    severely flamed. very much a work in progress

commit 6a3068af6a1237302e6baa59d64a65b4e2cf45e3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 9 07:48:22 2004 +0000

    md4-md5-20040408
    
    
    Integration of Heimdal MD4/MD5 code
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Integration of Heimdal's MD4/MD5 code
    
    ====================
    
    Integrate Heimdal's MD4/MD5 code
    
    ====================
    
    Integrate Heimdal's MD4/MD5 code
    
    ====================
    
    Integrate Heimdal's md4/md5 code
    
    ====================
    
    Integration of Heimdal's MD4/MD5 code

commit 02deda384d77262b733437872833ce1fc0e91234
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 9 06:57:39 2004 +0000

    remove-extra-compare-20040408
    
    
    do not check for i < 2000 and i < MAXKTCTICKETLEN

commit efd0c52372a9439dfee20d69a9d09870a7d5a038
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 9 00:32:03 2004 +0000

    cross-realm-obtain-tokens-afscreds-20040408
    
    
    If afscreds.exe you can now obtain credentials for cell "foo.com" with
    credentials from "user@BAR.COM" when specifying a password.  This is a
    first step since if there are already valid credentials for "user@BAR.COM"
    the password should not be requested.  That would allow you to obtain
    tokens for multiple cells with the same kerberos tgt.

commit 6bcdc8cae3bafcc37da491117050c16d58e1bcbf
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 8 23:20:39 2004 +0000

    unitialized-vars-20040408
    
    
    Fix uninitialized pname reference
    
    Rename afs_int32 pname to pnum

commit 99c6354d4f92eadf5d57f4001d0fadc37ef4f40c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 6 23:31:03 2004 +0000

    more-mutex-20040406
    
    
    Rodney found in his logs  "Event Object Already Exists fid_t" messages.
    This lead to another location in the code where problem mutex usage
    was missing.  In this case, multiple fid_t structs were created with the
    same fid number.

commit afb8a665406f68fd9996b8c9e6f444880d533aff
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 6 23:26:37 2004 +0000

    va_args-20040406
    
    
    Who at IBM was stupid enough to believe it is acceptable to
    pass a va_args variable into a function without initializing
    it with va_start()?  Why would you ever bother to do otherwise?

commit 6818e27fc3adcf6f800d80db6caaca5e65292eb9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 6 09:54:54 2004 +0000

    debug-changes-20040406
    
    
    Add run time checks to the compiler flags when debug

commit 991edf329f7e0bff7a8b1f86337fab3aa4a321a6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Apr 6 09:53:15 2004 +0000

    i-need-sleep-20040406
    
    
     * fix uninitialized return variables in smb.c and smb3.c
    
     * open the osi_log file as early as possible in afsd_init.c
    
     * create an argv to use for non-service executions
    
     * add support for \\afs\.cellname for rw volumes
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Do not use IsKerberosLogon() it does not always report the right value.

commit 00543744955243dcfb829286aacc6e3d7bb88c89
Author: Chas Williams <chas3@users.sourceforge.net>
Date:   Mon Apr 5 23:39:51 2004 +0000

    linux22-fix-20040405
    
    FIXES 3909
    
    make linux 2.2 work again

commit b624c2bc738ab053761383043ef8f960b15e16cb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Apr 5 07:32:57 2004 +0000

    afs-release-notes-20040405
    
    
    release notes as of 1.3.63

commit b32ac50073e8fe7b6a3034afba98b807dbdae410
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 5 07:26:17 2004 +0000

    remove-vnop-dont-umount-fix-entirely-20040405
    
    
    circumstantially it doesn't work. /afs/andrew.cmu.edu/usr/shadow/tempdata is a
    file and mvstat is 2, so I get EISDIR.
    
    so i'll remove this for now and fix it after the next release.

commit 3e45fd85912ad14fa88eb7d16fa1dfe6c3c8664c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 5 07:21:33 2004 +0000

    darwin-pageout-limit-to-filesize-20040405
    
    FIXES 3870
    
    previously we weren't limiting to file size, now we are

commit 1f5b66ecaac6fb3b0ba34f3cfe32410f3199fa86
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Apr 5 07:00:11 2004 +0000

    version-1-3-6300-20030405
    
    
    Update version number to 1.3.6300

commit aa7f0cf9d5f56405e813a3218b39081fa35cda80
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Apr 5 05:26:45 2004 +0000

    preserve-server-config-20040404
    
    
    Fix the replacedll macro
    
    Comment out the code which deletes the server configuration files
    on AFS Server uninstall.  We need to do this to protect existing
    volumes if the product must be uninstalled and reinstalled

commit 5a8e37d8820d63587bf8acf916da06bfe7daa893
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Apr 5 03:16:11 2004 +0000

    for-rodney-20040404
    
    
    Formatting changes
    
    Fix the problem with a corrupted cell table when using \\afs\cell-alias
    
    Attempt to fix Rodney's DST problem.  Added a check for tm_isdst to the
    computation of the local vs GMT differential.

commit 4ad381d8959ba11a2991e6001464d367dd4054ab
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Apr 4 03:41:07 2004 +0000

    shell-extension-20040403
    
    
    Fix missing resource strings for Symbolic Links and error strings
    (english only)

commit 0d00d2f08da7fe37cc14babd111d49c17e732409
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Apr 4 03:38:49 2004 +0000

    nsis-installer-20040403
    
    
    Change UpgradeDLL to ReplaceDLL
    
    Fix missing pts.pdb

commit 1f0e197dbfa920f1e257524f0055d294ce252052
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Apr 4 03:35:47 2004 +0000

    ktc_nt-20040403
    
    
    Increase TBUFFERSIZE to match increase in KTCMAXTICKETSIZE

commit 0a0f0e023b761ec7d04778e14568681ae7105627
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 23:33:35 2004 +0000

    tchar-ptr-20040403
    
    
    TCHAR != TCHAR * but MS VS .NET 2003 does not care.  Why not?

commit 4449276b5c16ca59fb95bfb573018ede60303763
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 23:16:37 2004 +0000

    upgrade-dll-20040403
    
    
    Apply the upgradedll to .CPL files as well as .DLL

commit 086376b593f78d390d4031b2840b38dea1c1a2f2
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 20:50:37 2004 +0000

    afsd-improvements-20040403
    
    
    continuing attempts to identify the cause of the crash after the service
    shuts down successfully.  (without success)
    
    Add shutdown logic for SMB and RX daemons.
    
    Fix Global Drive Mapping
    
    Add Global Drive Unmapping

commit 9a7b375bcf2999d1bc92803a0d6af0d927233112
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 20:47:22 2004 +0000

    fix-missing-parameters-20040403
    
    
    Fix missing username parameter in calls to Mount Drives

commit ce17273242d6864becde3c58fd0c75d1cc42fdb6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 20:45:48 2004 +0000

    resource-20040403
    
    
    conflict resolution

commit 426f7d6a01b6530417f7b565321ce527f3c094fb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 20:43:15 2004 +0000

    precedence-20040403
    
    
    != has higher precedence than &

commit 9e4d68ffba1d0e6d370f80ced8e199e203db7b9a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 10:34:16 2004 +0000

    more-cleanup-20040403
    
    
    removal of unused variables, formatting, comments, etc.

commit 536c4547d6c31031d96a9b2b05b5888d88bd0b7e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 08:59:53 2004 +0000

    even-larger-ticket-sizes-20040403
    
    
    Microsoft Windows 2003 max ticket size is 12000

commit c38e32c7786e7a913cb431c81d5ffc9dc0a30cf1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Apr 3 08:17:52 2004 +0000

    reformatting-20040402
    
    
    Reformatting of the source code.  Minor editorial changes to comments.

commit 2d0b67fed04275407daa5f9f1130def159bdc063
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 17:41:27 2004 +0000

    unitialized-return-variable-20040402
    
    
    krb5_des_decrypt() does not initialize the return value to 1, failure,
    therefore it returns random success (0) values when ticket types of
    DES-CBC-MD5 or DES-CBC-MD4 are used because we do not have checksum
    functions for those types.

commit 4c6238b3d9a18bc5ac0bb0ebde1dc2d47f7cdb22
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 12:12:01 2004 +0000

    restore-original-size-test-20040402
    
    
    feeling like an idiot.  the original test compared the size of the
    ticket field in the ktc_token struct allocated by the app which might
    be smaller than the size of the field defined in the library

commit 8939c5189d4ef626de580dd4790499ceaa56b2b4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 11:54:35 2004 +0000

    something-weird-20040402
    
    
    something weird.  the previous commit had diff marks.

commit 92e83f6d684d967d3fdbb4c2147a98a3eba45fbf
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 11:52:49 2004 +0000

    one-more-try-20040402
    
    
    much too sleepy.  TBUFFERSIZE for all tbuffers

commit 64fe0b914d0f4d22feb24239995a50be9c8288cb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 11:41:58 2004 +0000

    lowercase-cell-20040402
    
    
    Lowercase the cell name (from realm name) for which we are
    requesting set/get token operations
    
    Return the error code generated by the ktc_SetToken operation and
    not one of the many Kerberos operations.

commit 49fd75dce4a56ce76659aaff296e9e106c614b00
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 11:39:13 2004 +0000

    maxticketsize-20040402
    
    
    When processing pioctl() operations, properly perform the test of
    the ticket size to the ktc.ticket field.  The field is of fixed
    size MAXKTCTICKETLEN and not some value which is adjusted based
    upon the content of the message.

commit 2b0160125f80266e811987a1fc453fa892e7f2c1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 08:46:07 2004 +0000

    maxktcticketlen-20040402
    
    
    The buffer size for the ktc_SetToken and ktc_GetToken should be of size
    MAXKTCTICKETLEN not some arbitrary value.

commit 52abace67922a1da7c99334a2352817721fb1f42
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Apr 2 07:56:24 2004 +0000

    windows-server-config-20040402
    
    
    Corrections to the libadmin interface for the Windows Server Configurator
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Use lanahelper.lib for the server configurator as well

commit 3ee69178951dcb50168d53e4d4c7f2c032c4c273
Author: Ed Moy <emoy@apple.com>
Date:   Thu Apr 1 23:26:22 2004 +0000

    macos-fstab-fun-so-fileserver-works-20040401
    
    
    so we use getfsent and actually find vice partitions (and make volinfo work)

commit 1503077a553eefe40104b7b60300ea4ac1d825f3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:53:49 2004 +0000

    rxkad-increase-token-ticket-sizes-20040401
    
    
    In order to support the large ticket sizes produced by Microsoft
    Active Directory and allow the use of raw Kerberos 5 tickets as tokens
    increase the size of MAXKTCTICKETLEN and MAXKRB5TICKETLEN to 4096
    from 344 and 1024 respectively.

commit 10e3aa6cc28d74bcc65eaf43fcf78c229fed72b6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:51:09 2004 +0000

    kill-afsd-20040401
    
    
    Remember to kill afsd_service.exe when uninstalling.

commit 3f91e4305a8261e202e71d62f119fd92940dc9cd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:49:49 2004 +0000

    smb-8dot3-pattern-matching-20040401
    
    
    Do not enforce the funky 8dot3 pattern matching rule that the first "."
    is special when using long file names.  (you must use "*.*" and not "*")
    Instead only enforce it when performing 8dot3 searches.

commit a346d60fee93916b6a6e0ecace8cd2d77a695ffe
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:46:42 2004 +0000

    afsd-debugging-20040401
    
    
    Add additional debugging during initialization

commit 9692a83f626cf362c2b796a9ea79d80dcf1dc8fe
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:45:03 2004 +0000

    resource-string-loading-20040401
    
    
    Fix TaLocale_Initialize to be thread safe
    
    Fix String Resource loading to not generate exceptions which must
    be caught by try-catch(...)

commit c357237a23785092f1d5b46824612a3ba3720b3a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:43:06 2004 +0000

    kfw-ak5log-20040401
    
    
    Remove internally defined life_to_time.  Instead rely on version
    in rxkad
    
    Use kvno = RXKAD_TKT_TYPE_KERBEROS_V5 when setting tokens.  No longer
    use krb524d.
    
    Fix the assignment of the username and instance to place the instance
    within the aclient.instance field instead of appended to the aclient.name
    field.

commit 784c86de8cc5e8329fafceeb5724957c31239024
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:38:37 2004 +0000

    windows-srvr-cfg-resource-20040401
    
    
    Renumber and re-organize all of the String Table entries
    to adhere to the rules specified for dynamically loading
    them with the tools in WINNT/talocale.  All numbers must
    be sequential.  Each block must begin on a mod 16 == 0
    value.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Update resource constants to avoid conflicts

commit a75d4cd3f8c4c90ace20da98c543ae745b88e089
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Apr 1 20:29:38 2004 +0000

    ntmakefile-clean-20040401
    
    
    Cleanup the *_component_version_number.* files in all directories

commit b197192bcc2922b98f05909e88a32616680c82ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 26 07:42:21 2004 +0000

    winnt-dont-display-ibm-legal-message-20040326
    
    
    remove the ibm legal message display at bosserver startup

commit df33edc04970e10262ac04c9b80ad1d7e7c26327
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 26 06:39:23 2004 +0000

    win-xp-sp2-20040325
    
    
    Support for punching holes in the Win XP SP2 Firewall
    for AFS Cache Manager Callbacks

commit 2e455c370266d8f522532b8a8b4073ee603cd89b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 25 23:25:50 2004 +0000

    pam-login-sia-et-al-reorg-20040325
    
    FIXES 3680
    
    rework top makefile to build pam or not depending on acinclude.m4

commit 7e55cf6c267e808315ed0150202423e6ce9f0b50
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Mar 25 22:52:15 2004 +0000

    remove-vnop-dont-unmount-fix-20040325
    
    
    Make remove-vnop-denies-unlink-on-mtpt-20040325 more likely to work,
    and don't forget to afs_PutFakeStat() while we're at it.  After we
    call afs_EvalFakeStat(), there's no way that mvstat can be 1 -- either
    the object wasn't a mountpoint and it'll be mvstat 0, or EvalFakeStat
    will evaluate it and it'll be mvstat 2.

commit df744ad374e51255883eb69dcf9f226d673af7be
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 25 22:10:54 2004 +0000

    remove-vnop-denies-unlink-on-mtpt-20040325
    
    FIXES 3724
    
    if mvstat is 1, we're a mountpoint; simply short circuit EISDIR and return

commit 75f081a027e10c335e680136b44f60af6e0357b4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 25 19:37:41 2004 +0000

    afsd-service-shutdown-crash-20040325
    
    
    More fixes to the afsd client service which do not result in solving
    the problem but still should be done.

commit 82817983fec1cdffe8bc9f2fc0d2f8edaa48ac9d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 25 19:35:49 2004 +0000

    global-mapping-20040325
    
    
    Undo change imported from MIT bulk changes

commit 02991c3b70950049a157231df29cdf6669095e50
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 25 17:04:44 2004 +0000

    openbsd-20040325
    
    
    go back to using afs_vget instead of VREF for VN_HOLD
    in afs_vget, only insert vnode in mount queue if it came off freelist

commit a1bfd0339cb3a6bcb42ac9821972ce34d59c5fb5
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 24 22:53:19 2004 +0000

    openbsd-packaging-20040324
    
    
    fix small typo

commit 819a0a44fe6da377584c58eea33285c4ba54353f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 17:36:57 2004 +0000

    viced-dont-atoi-NULL-20040324
    
    FIXES 3726
    
    check argument number when processing args at startup

commit 6ec96854457716f5b056007b013db998c1f31683
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 09:47:06 2004 +0000

    nsis-install-20040323
    
    
    Uninstall should be deleting CRT and MFC DLLs; not be installing them
    
    Add new startup flags to the LogonScript for Integrated Logon

commit 8b6ff6ca6b73051104ffd8bf1a8ee74b0be7ce74
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 09:24:16 2004 +0000

    static-cm_dnsEnabled-20040323
    
    
    Make cm_dns.c cm_dnsEnabled static to prevent potential
    conflict (not really) with a variable of the same name
    in afsd_init.c

commit fa95e92340e92f23ddb7bd182c3b2d1cc98b6763
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 09:22:59 2004 +0000

    bad-checkin-20040323
    
    
    bad checkin

commit 344b1f3f2ce5d50c560d905199dbac9d2c2165e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 08:40:19 2004 +0000

    sunx86-59-sysname-id-20040324
    
    
    add missing sysname id for solaris 9 x86

commit afcb78c966d30aae222c5d3b3812e315396ca03b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 24 08:38:15 2004 +0000

    aix52-add-param-header-20040324
    
    FIXES 3718
    
    copy and modify the aix 5.1 header

commit 074c2f0909c389bc4fee44e7849650a44e1695fd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 08:35:36 2004 +0000

    version-update-20040323
    
    
    1.3.6200

commit 28c0534dfbfdb90809118ddf9fa5d224a828c11b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 08:32:16 2004 +0000

    no-getcellconfig-error-20040323
    
    
    don't produce a MessageBox when getcellconfig fails

commit 5cf8fc1d99460d3d7a99bf0950b7e8f6852515e7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 08:27:36 2004 +0000

    no-longjmp-20040323
    
    
    Do not use setjmp/longjmp in multithreaded code.  It will destroy the stack.

commit 14de0321462526f69390586475e56950abd53c92
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 24 08:25:39 2004 +0000

    integrated-logon-20040323
    
    
    Cleanup the integrated logon code.  Remove memory overwrites.  Refactor
    the rest of the code.  Make it readable.

commit 5865e9cbd8f3b7c91e0bdd6cd4c1bbe1f10bdaa0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 23 04:45:29 2004 +0000

    doug-nsis-20040322
    
    
    apply patch to include more header and lib files.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Fix doug's patch.  remote extraneous colons
    
    Move (once again) the DependsOnXXX values to the right place.
    (how did these end up back in NetworkProvider?)

commit 08845d854861dd7c4b1cefce61e49e4e8d01dc2b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 22 05:40:52 2004 +0000

    uninstall-exception-handler-20040321
    
    
    Before we shut down the service and return control to the service
    manager uninstall the exception handler before it gets unloaded
    from the process.

commit f31cd9a4f3911aafd5b0c634b2159edcd6150972
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 22 04:09:48 2004 +0000

    power-mgmt-20040321
    
    
    #define REGISTER_POWER_MANAGEMENT

commit 45ca8632f29e21e00bf8d687beff1d5aa8106a75
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 22 04:07:10 2004 +0000

    power-mgnt-close-handles-20040321
    
    
    Close the Handles before terminating the thread to ensure that
    additional power events cannot be queued during shutdown.

commit efc9d62e932c283700ce7ad66258fb6eb63a8a04
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 23:03:56 2004 +0000

    nofindlanabyname-20040321
    
    
    Disable the Find Lana By Name functionality for 1.3.61 because it
    appears to be causing grief for too many people.

commit ec0b44efad35f859057c1e059f9723202de52666
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 21:35:27 2004 +0000

    version-1-3-6100-20040321
    
    
    update version to 1.3.6100

commit 8ef7d621c5903eeeacaeded88384e38e4f666339
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 20:56:25 2004 +0000

    nsis-installer-20040321
    
    
    Remove Rob's new way of installing services as it does not appear
    to work properly.
    
    Add in code to test the legitimacy of the upgrade to ensure we don't
    try to upgrade an old IBM AFS version that isn't supported
    
    Make sure that the only AFS in the PATH is ours and that we are only
    in once.
    
    Add the TransarcAFSDaemon entry into the Control\NetworkProviders::Order value
    to support Integrated Login
    
    Build service.exe and killer.exe with static libraries to avoid
    run-time dependencies at install and uninstall time
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Check both Client and Server for unsupported previous installation

commit 53029f4827f2769fe149f5082e11428cfdc92cf5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 19:48:49 2004 +0000

    debug-log-20040321
    
    
    A more informative log message plus fix uninitialized variable

commit f1a997e27528fce3ea550e51f01f853806602d33
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 11:41:57 2004 +0000

    VLCallBack-vos-20040321
    
    
    The variable 'm_unique' is an afs_uint32 where the desired parameter
    must be of type struct VLCallBack when attempting to call VL_GetAddrs.
    I do not know how this code ever worked on any platform as the stack
    was being overwritten.
    
    This produced binary, vos.exe on windows, also generates massive
    memory leaks.  I do not think we care all that much because the
    utility does not stay around all that long.  However, the fact that
    the API makes it so easy to lose memory is scary.

commit 6b11da1d0c4b7773be3aa4888d87e37fe3011239
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 05:24:19 2004 +0000

    nsis-service-20040320
    
    
    Incorporate a new NSIS library ServiceLib.nsh which will allow us
    to avoid using the Service.exe which we must build from Service.cpp

commit 4e5c8d47a2e15bd827ee9d6f627d0c66d52301e8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 04:27:10 2004 +0000

    registry-20040320
    
    
    Document "NoFindLanaByName"

commit 010b9d04371b7abb0fa3d943fe75d849d87744d9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 03:12:55 2004 +0000

    more-optimizations-20040320
    
    
    Replace all calls to lana_GetNetbiosName with GetClientNetbiosName
    which performs the local caching

commit d1bbfc0d0e1348bf2faffb2c784bae3038435b71
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 21 03:05:45 2004 +0000

    find-netbios-optimize-20040320
    
    
    In Mount_ReadSubmount() cache the first response to GetNetbiosName()
    since the result won't change and the work necessary to get the result
    is considerable.  We don't want to be calling it loops over and over
    again.

commit e3b52b0bc6089a100df804698c96081cd48e8229
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 18:42:16 2004 +0000

    prevent-crash-at-shutdown-20040320
    
    
    The Power Management Exit routine was instructing the thread to
    terminate but was not waiting for the conclusion of the operation
    before returning control to the caller.  This allows the service
    to pass control to the Service Manager before cleanup was properly
    completed.

commit aaed9b1a5a8799290b7063a173e5bb0a023cf3d0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 18:00:01 2004 +0000

    per-user-registry-20040320
    
    
    Rename existing registry Read/Write functions to Global
    
    Add new registry functions to support Per User Read/Write operations
    
    Clean up references to Registry Key strings
    
    Change "ShowTrayIcon" to be a "Per User" item from a "Global" item

commit 804a85a4872643925e0d204ff301ef68aca2bef6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 17:23:48 2004 +0000

    fs-setserverprefs-bug-20040320
    
    FIXES 3555
    
    Rodney Dyer (UNCC) reported that the "fs setserverprefs" command if
    issued multiple times would result in the AFSD server becoming unresponsive.
    This appears to have been caused by improper use of writeLocks, a failure
    to use writeLocks when necessary, and improper reference counting on the
    cm_server_t data structures placed into the cm_allServersp list.

commit c763e4b64308867c4bbc36f243462701c63874bf
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 07:55:38 2004 +0000

    tab-drives-20040319
    
    
    the mount root is used to define mount paths not the netbios name

commit 2b0462c68d9a319d56743a67d850bd5218d34840
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 01:03:08 2004 +0000

    use-dns-install-fix-20040319
    
    
    allow use of dns to be configurable

commit 16125086891f14efb1618e2d5ac30697518007db
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 01:01:07 2004 +0000

    non-kfw-probe-fix-20040319
    
    
    Fix the non-KFW case of the KDC Probe.  Prevent infinite loop.

commit 24cee2b758cfd8f1ed4054781034ab97fdadaae3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 20 00:56:28 2004 +0000

    version-update-20040319
    
    
    Update version to 1.3.6090

commit 4b0f00c40799cdecfaaac232dea41afed1fd8219
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 19 19:50:27 2004 +0000

    dns-fixes-20040319
    
    
    Reorganize some debug statements to put them in more consistent locations
    
    Do not initialize the internal dns support if using the Windows DNS API.
    (Win2000 and above)

commit bd1febc8932662ff6407af62cc7093f25c42078d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 19 19:44:31 2004 +0000

    nsis-installer-20040319
    
    
    Fix: The use a provided CellServDB file option was not working.
         You can't compare a filename to "1" and expect it to work.
    
    Add: Make the use of DNS optional and default it to off.

commit e53d7575f364efe014fe01bb85b38f5a1f404b3a
Author: Jim Rees <rees@umich.edu>
Date:   Fri Mar 19 16:38:29 2004 +0000

    obsd-vnops-warnings-20040319
    
    
    eliminate compiler warnings

commit 9c05a6f66d6a1e0c2c3e13a98042a104fd33d15d
Author: Jim Rees <rees@umich.edu>
Date:   Fri Mar 19 15:37:10 2004 +0000

    freebsd-mkdir-panic-20040319
    
    
    don't vput(dvp) on error return from afs_mkdir (vfs already does this)
    bug found by, and fix tested by, adridg@sci.kun.nl

commit c396fdec11f575cfa8adcdc268e30eeec2e98449
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 19 07:58:52 2004 +0000

    irix-ucred-is-really-cred-20040319
    
    FIXES 3651
    
    gotta wonder what crack monkey came up with this
    AFS_UCRED is ucred in osi_machdep.h, and ucred is redefined to cred in osi_vfs.h
    
    whatever

commit e1cc03f597954d6e70086dbccf989f791b123c66
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 19 05:16:24 2004 +0000

    getipaddrlist-20040318
    
    
    Improve error checking in GetNumOfIpAddrs to prevent potential
    invalid memory access if the IP Address Table cannot be accessed.
    (win2000 with no privs)

commit 48913f747f4f3df491295b78a51167dfa7f0d264
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 19 03:52:07 2004 +0000

    afslogon-20040318
    
    
    Fix memory deallocation errors (never call free() on memory allocated
    by GlobalAlloc() or LocalAlloc())
    
    Modify event logging to be consistent between High and Low Security
    
    Only generate a random user name when using High Security.  Use the normal
    user name when running with Low security.

commit e8fc0557d3da988b9a830af0dd0b84c27a4c1ff4
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 19 01:09:40 2004 +0000

    notifyaddrchange-20040318
    
    
    NotifyAddrChange() on Win2000 without privs fails.  Detect the failure
    and terminate the IPChangeMonitor thread to prevent an infinite loop
    eating up system resources.
    
    Anyone have a clue which bits are required?

commit 8f0422422defc4e74f05e0e36c54f810c204bfa5
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 06:13:55 2004 +0000

    the-correct-mkdir-fix-20040318
    
    
    Apply the correct file including the fix to the MIT recursive directory
    creation patch.

commit 1d568df733ce07f252800b1e2ca86cf89ee8625f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 06:10:12 2004 +0000

    mkdir-fix-20040318
    
    
    Fix recursive directory creation from MIT for single component case.

commit c9aaa428368f9a3eb0d1bff45c185929fcfaa5b2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 18 05:12:18 2004 +0000

    irix-attempt-to-detect-kernel-mem-routines-20040317
    
    FIXES 3651
    
    first pass at routine to detect kernel mem* routines
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 3651
    
    second try
    
    ====================
    FIXES 3651
    
    third try
    
    ====================
    FIXES 3651
    
    this time for sure.
    includes the definitions too, this way we can not have macros conflict with
    headers we don't need
    
    ====================
    FIXES 3651
    
    this time for sure.
    includes the definitions too, this way we can not have macros conflict with
    headers we don't need
    
    ====================
    FIXES 3651
    
    this time for sure.
    includes the definitions too, this way we can not have macros conflict with
    headers we don't need

commit 83b2f72a94b9e6953006acef4729694ee6b74271
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 04:32:20 2004 +0000

    move-readme-to-top-20040317
    
    
    Move the README files to the top directory where they belong.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    As of 1.3.60 move the Windows Readme files from src to top directory

commit 455c1786bc1e833006b0229a76b5258e04045843
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 04:03:21 2004 +0000

    windows-readme-updates-20040317
    
    
    Add warning to WIN9X indicating that OpenAFS probably won't build on WIN9X
    anymore.
    
    Describe the new build procedure for 2000/XP/2003 in README-NT

commit 3110c898e71856bfb63a21ea40004582e2a21283
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 03:39:54 2004 +0000

    fix-install-bugs-20040317
    
    
    Fix:
    
    Compatibility with IBM/Transarc and 1.2.10 installations
    
    Correct Pathname
    
    Compatibility with incorrect Pathname from 1.3.xx > 1.3.5299
    
    Call CheckSDK on upgrades

commit 367c8076b1a38dc6294dfb7f394512dfe3311766
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 01:46:48 2004 +0000

    a-better-way-20040317
    
    
    Make the directories first, then the trailing spaces won't matter.

commit 18cdb6be81e22cbd31f8ed5b2b39a241a6a21218
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 01:42:36 2004 +0000

    missing-spaces-20040317
    
    
    Add trailing spaces to xcopy commmands.

commit 096366d658312d882751aac401a5241996dcc7e8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 01:20:10 2004 +0000

    nsis-20040317
    
    
    make sure that afscreds.exe is terminated after executing with the -z
    option.

commit eecfad90abfb3db3f132da21c97e5fe31ca39fb7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 00:34:50 2004 +0000

    update-afsdcell-20040317
    
    
    grab current version from http://grand.central.org/dl/cellservdb/CellServDB
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    grab latest version from http://grand.central.org/dl/cellservdb/CellServDB

commit 03c7ef7b7fcfced553456cf3c40974705fbb7f8e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Mar 18 00:00:15 2004 +0000

    1360-version-20040317
    
    
    Update the version number to 1.3.6000

commit c7b595608e1a691194871be239de3e02823cace8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 08:24:13 2004 +0000

    darwin-new-systypes-20040317
    
    
    make autoconf figure it out for us

commit 7e1fa15ac11ece2a7a08fa3637e8c789aea39127
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 07:51:57 2004 +0000

    aix-install-kmods-20040317
    
    
    would be nice if make dest worked again

commit b0601bd700b74a76adaf8daa865cc47b4eead312
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 07:21:43 2004 +0000

    aix64-dont-build-on-aix4-20040317
    
    
    don't build the 64 bit stuff on aix 4

commit 02ed7daa25442fbe33b7be8743c4fb0e10d8492d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 06:43:34 2004 +0000

    support-nfs-translator-sysname-lists-20040317
    
    
    support sysname lists in nfs translator

commit a14a3dd7c19f54c434fc01d4dafd0384d1f9c608
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 06:38:38 2004 +0000

    macos-update-readme-20040317
    
    FIXES 3317
    
    update readme to indicate success through 10.3.3

commit 9f546d5700193beabc00761b4f8e9e1532cc5a12
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 17 06:27:37 2004 +0000

    distclean-remove-include-lib-20040317
    
    FIXES 3610
    
    include a lib directories generated during build not removed
    fix it.

commit 1da4853098c494e35fcb00089381d69446fdbd5d
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 17 04:20:31 2004 +0000

    fix-typo-20040316
    
    
    fix last commit

commit 7bb8cfd27fa67987872100cda07df2f4a2cff1f7
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 17 04:17:20 2004 +0000

    use-oldstyle-netbios-name-for-default-20040316
    
    
    For UNCC, allow old style netbios name to be the default for this
    release to give them time to convert their scripts to use \\AFS\...
    instead of \\%MACHINENAME%-AFS\...

commit 8022d7659eb2ab04bc4102c5a016857bf5815d1a
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Mar 17 02:29:39 2004 +0000

    aix-largefile-update-20040316
    
    FIXES 3647
    
    don't allow reading past the end of a file

commit ec0ba71b30179be312452208bed139db0d9f01cf
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 16 22:03:00 2004 +0000

    reg-expand-str-20040316
    
    
    Change the NetbiosName registry value from REG_SZ to REG_EXPAND_SZ
    and add the necessary code to expand the strings.   This will allow
    the use of %COMPUTERNAME%-AFS in case people want to explicitly use
    a non-portable name.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Update text for NetbiosName value.

commit b0ba6348441e330509e444d77753d44940da19dd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 16 16:21:42 2004 +0000

    registry-20040316
    
    
    Fix the DependsOnGroup NetworkProvider key to ensure it is placed in
    the correct location
    
    Change the location of the ShowTrayIcon key so that we no longer store
    user data in the HKLM Transarc tree
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Move the locations of the ShowTrayIcon and cell name based expiration
    reminder keys out of the HKLM\SOFTWARE\Transarc... key and into the
    {HKCU,HKLM}\SOFTWARE\OpenAFS\... tree.  This is safe to do because these
    keys are transient in nature (created by afscreds.exe) and really do
    belong to the user and not to the machine.

commit 462160c4d08d45dcc2ec9ec46397e83b4fb62c0c
Author: Jim Rees <rees@umich.edu>
Date:   Tue Mar 16 16:19:07 2004 +0000

    freebsd-pkg-builder-20040316
    
    
    Mention the FreeBSD package builder, with warning.

commit 6580ab06807de87fe6b4f7c9b83de004a8774772
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 16 16:15:36 2004 +0000

    registry-notes-20040316
    
    
    Update the registry usage for 1.3.60
    
    Add information for the Network Provider values and the AFSCreds.exe values.

commit 741486ef8356743aa3b42b07b9501c42ac1e1dec
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 16 04:40:10 2004 +0000

    service-dependencies-20040315
    
    
    Fix the location of the registy values to be used for specifying
    the service dependencies of the AFS Network Provider.  AFS is
    dependent on PNP_TDI (tcpip, netbt, etc); RpcSs; and NetBios.
    
    Upgrades were failing to read the Cell name from the proper location
    so that it could be restored.

commit 18fde45d13a62f7e861887adffaa08bbbc63d2b3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 16 04:32:45 2004 +0000

    kfw-thread-safety-20040315
    
    
    Add a mutex semaphore around the kfw initialization code to prevent
    multiple threads from attempting to initialize simultaneously.

commit 348e26e10deaee7306a739c4f25ae8c0bf8bf5c4
Author: Dr. Dieter Mack <mack@uni-hohenheim.de>
Date:   Mon Mar 15 18:51:03 2004 +0000

    uss-kauth-support-lockout-20040315
    
    FIXES 3637
    
    minor reformat by shadow@dementia.org
    make uss kauth support account locking correctly.

commit a70f5d8c51c9f81414f7604907f97caefa904657
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Mar 14 01:28:24 2004 +0000

    hourglass-20040313
    
    
    Ensure that all functions which perform a pioctl() call also change
    the icon to an hourglass.
    
    Replace calls to InAFS() with the function IsPathInAfs() and remove
    InAFS() since they were identical functions.

commit 79af038ceaecba4cf4a79308e6798baa0798fd20
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 21:51:07 2004 +0000

    lets-get-it-right-20040313
    
    
    the NSIS script crashed on a test machine.  Fix the use of variables.
    When using the System.dll plug-in; you must use $1..$9 instead of $R1..$R9

commit 974943281e6bdb2c4d61f0e2dbc1115fbb2b9890
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 21:24:41 2004 +0000

    update-to-nsis-script-20040313
    
    
    Modify NSIS script to prevent overwriting variables

commit d4b9b483df4f91928d1d6e1cf7e14901acc0566a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 21:07:36 2004 +0000

    mutex-token-access-20040313
    
    
    This is an initial crack at one of the big problems with the existing
    AFS client.  Multiple processes in a single session or in multiple
    sessions (terminal server) can step on each others toes.  This is
    because the dual use of RPC and SMB calls to perform operations.
    Since nothing is done in a single synchronized step, there are plenty
    of opportunities for data overwrites to occur.
    
    The change was to add a Global Mutex within all of the ktc_XXXToken
    calls.  The use of "Global\" prefixed kernel objects are only supported
    on Win2000 and above.  This is fine because this is all we claim to
    support.  But if someone was to decide to run this code on NT4 or Win95
    anyway bad things will now happen.  This should probably be cleaned up
    if someone has time.

commit 9b8b47a3d2402224f2180150ce1d49419625fc41
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 21:00:52 2004 +0000

    empty-cell-name-fix-20040313
    
    
    If the Registry contains a "Cell" entry which is the null string
    don't crash. Instead panic and log an appropriate error.

commit facb3c0102a65522165fcb03dcbc8a5db9409bfc
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 18:34:23 2004 +0000

    add-registry-values-20040313
    
    
    Add registry values to enforce service startup dependencies
    
    Increase the RxMaxMTU value from 1200 to 1260 based upon experience
    running across the Cisco VPN at MIT, Cert, and Fermi.

commit 04f4e9849434bf06c89ed13b941f5b969d142373
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 18:28:39 2004 +0000

    registry-call-optimizations-20040313
    
    
    Do not read the same value from the registry three times in
    the same function.

commit f3599342f6e85e01a351fb35bad0ee518b2a4980
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 18:26:42 2004 +0000

    remove-extraneous-code-20040312
    
    
    Remove calls to obtain the netbios name which is placed into
    variables which are never referenced.

commit ffb5b960276fb59da08d4312690ff60cc36959e6
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 13 18:24:14 2004 +0000

    remove-loopback-test-from-smb-20040313
    
    
    Now that the loopback test is being performed within
    the LANA Helper library we should not be performing
    the test in the smb init code.

commit 5febc849d9f4bd6b84bede9c23e840a0795fc2d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 12 05:56:59 2004 +0000

    linux-ukernel-pthreads-ugliness-fix-20040312
    
    
    really an autoconf test should do this. in the meantime we do this.

commit 4a4b438592af15bb1a574d77d18e404a65dacd8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 12 03:27:32 2004 +0000

    juafs-makefile-fix-20040311
    
    
    make the juafs rules not break the makefile (remove bogus quoting)

commit 01653376bf4e649e755e5d1a3f0aaab147dd0975
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 12 02:30:45 2004 +0000

    irix-deal-with-sh-versus-make-vars-20040311
    
    FIXES 3322
    
    so the LDFLAGS variable doesn't get shadowed we do this

commit e0a1f4ab4374852323660a250781865a545c4986
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 11 22:35:45 2004 +0000

    freebsd-pkg-builder-20040311
    
    
    freebsd package builder
    not quite right yet, the rc file won't work

commit dd2979bce9926895b2da1f534779c906dfd4db51
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 11 20:39:07 2004 +0000

    openbsd-shutdown-panic-20040311
    
    
    openbsd:
    use vrele instead of AFS_RELE in unmount to avert panic
    acquire GLOCK in mount (not really needed but oh well)
    other finnicky and needless tweaks

commit e1281a2014433fce1ec31caa2652cbf1ef743b6a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Mar 11 20:22:07 2004 +0000

    inode-largefile-attempt-20040311
    
    FIXES 3519
    
    attempt to deal with large file fileservers for inode versions. not done yet

commit 49038f32b99088448609b54165dcc08b6429abc0
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 11 19:14:46 2004 +0000

    openbsd-vrefs-20040311
    
    
    OpenBSD bug fixes:
    fix vnode refcount botch introduced by freebsd merge
    fix yet another deadlock in the vnode reclaim path

commit fc4ab52ec4839afb91168f846b84a05bc6df60cc
Author: Lynn Zhang <lyzhang@umich.edu>
Date:   Thu Mar 11 07:31:46 2004 +0000

    buserver-support-clones-20040311
    
    FIXES 3355
    
    support ubik clones in buserver as with other ubik servers

commit 7b838f474b15f038d52603758460d987dbcf0369
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 07:24:23 2004 +0000

    base64-elsewhere-20040311
    
    
    base64 is in util, and has a different name.

commit 70a4232ec9d6b0b0fd4931e255a811afa86e2499
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 07:20:31 2004 +0000

    irix-afs-osi-credp-declared-elsewhere-20040311
    
    
    revert to 1.2 declaration for irix

commit 5cef3a3fca214a8ce576928bf922214f156bc5dc
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 11 07:15:52 2004 +0000

    viced-revert-EIO-and-instead-use-zero-length-20040311
    
    FIXES 3594
    
    this was the other considered approach, i'm unsure why it's needed,
    but we'll play along for now.

commit bfc88419b13fc1df44f033dcd3a73a92b2f46693
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 06:30:58 2004 +0000

    rx-user-dont-redefine-isafs-glock-for-ukernel-20040311
    
    
    rx/UKERNEL/rx_kmutex.h already covers this

commit 76405667dcc7fe0dc91651d44346c686a6951515
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 06:05:54 2004 +0000

    aix-update-linktest-20040311
    
    
    aix hates darwin, again. include netinet/in.h (which was implicit from
    rx/rx.h before) to make aix happy

commit 04c2e8aef35efde22d0fcc678bd3163fbf47b54f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 11 05:40:31 2004 +0000

    aix-uafs-dir-compile-20040311
    
    
    make dir package work for uafs on aix

commit d0f33e1d88e6e252b9abffea77f2d5712ca3c23c
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 10 23:01:50 2004 +0000

    freebsd-20040310
    
    
    Support for FreeBSD 5.x client.
    Both 4.x and 5.x now use vnodes from the system pool instead of attaching
    a private vnode to the vcache.
    Most of this is from Garrett Wollman <wollman@khavrinen.lcs.mit.edu>,
    I just did some integration and made it work again on 4.x.

commit 9eea027e69d630d64da24fc1b69ac36c9a153e43
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 10 17:14:13 2004 +0000

    aix-dont-build-64bit-on-aix4-20040310
    
    
    no 64 kit module for aix4.3.3

commit d3b28b180b1099c0267d6d9492ed319e277ef772
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 10 17:12:08 2004 +0000

    aix5-missed-autoconf-support-20040310
    
    
    put back the aix5 stuff in autoconf files

commit 7e1b1a2e0d6a70832ea993af71d130a0a8ff8239
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 10 08:35:38 2004 +0000

    macos-build-update-20040310
    
    
    make the head build again.

commit 99dbd4c52b0a8a13dc9e12662433dc4a856ddd4f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 05:47:30 2004 +0000

    nsis-lang-file-fixes-20040308
    
    
    Cleaned up the language file installations.
    Place language files in the same directories as the non-language files.
    Do not install the MSVC files twice.
    Install debug symbols for language files for all languages; not just German.

commit 5afe47f3dbc93e21f88b9f198305a23f1d30a563
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 04:45:32 2004 +0000

    nsis-improvements-20040308
    
    
    UpgradeDLL updated by Rob Murawski
    
    Rob and I replaced dll installs with upgrades
    
    I removed all of the support for beta versions of NSIS now that 2.0
    is officially released.

commit 1269df5ffaebedeabb2afec48199500311cdc458
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 03:07:27 2004 +0000

    unmap-debugging-20040308
    
    
    Add more debug info to DoUnmapShare

commit 91dac9e5b54925c2f410bd34b441fe8c44534f02
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 03:06:32 2004 +0000

    afscreds-unmap-command-line-option-20040308
    
    
    Add -z option to afscreds.exe which is called from the installer
    to unmap the drive shares when uninstalling OpenAFS.

commit 5af850b9eefc20b6ae27ca1403917be0dc5294f9
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 02:02:38 2004 +0000

    event-object-naming-20040308
    
    
    Restore event object naming to the pthread objects.  Be sure to identify
    the objects by PID this time to avoid conflicts.

commit 1e97e0dcab286036411e320197158a6556fd6268
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 02:00:18 2004 +0000

    kfw-not-installed-bug-20040308
    
    
    * Remove attempt to free a krb5_context when KFW is not installed.

commit 946b2218e29eef34e00355bffa70348dbb511acd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 9 01:57:34 2004 +0000

    add-path-to-log-20040308
    
    
    Discovered after wasting a huge quantity of time that it is possible
    for OpenAFS to be installed on machines already containing the IBM/Transarc
    AFS.  Add the PATH environment variable to the log to allow this situation
    to be detected.

commit 4c29d908300ed37f190681c07aa24c6e8dfbab1e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 8 14:02:50 2004 +0000

    long-lifetimes-20040308
    
    
    Add long kerberos 4 ticket lifetime support

commit e0461bfb375a634850043b77b477e7015fbc3e9e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 8 02:23:34 2004 +0000

    kfw-changes-20040307
    
    
    * Increase debugging of the KFW code;
    
    * Remove the krb5_cc_remove_creds

commit 28fe0be851223d4d08f1d4c54d9501592b96ac86
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Mon Mar 8 02:05:44 2004 +0000

    fs-admin-privs-20040307
    
    
    Add a requirement for Administrator privileges to the "fs setserverprefs"
    command.

commit 2ad3f0377c1b1cb976379ba66d0df48f9c0bae0c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 6 21:38:48 2004 +0000

    netbiosName-cellname-20040306
    
    
    Add support for a new form of automatic share name generation
    
            \\netbiosName\cellname
    
    which means that on systems with the loopback adapter you can
    now refer to the athena.mit.edu afs cell as \\afs\athena.mit.edu\
    
    This is implemented within cm_FindShare().  If the share name is not
    one of the special ones and cannot be found in the Submounts table,
    check to see if it is a known cell name,  If so, create a path to
    the share of /afs/sharename with the "sharename" being lower cased.
    (I hope there are no cell names in mixed or upper case.  This won't
    work.)

commit 4ec7d4f8c29bbf750e85c68d684984c693470693
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 6 15:25:47 2004 +0000

    NTMakefile-dependencies-20040306
    
    
    Update dependencies on various libraries to enforce consistency checks

commit c34c5822cd1629700e5da86b4a8b6cb879f071d8
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 6 13:27:48 2004 +0000

    corrections-to-MIT-merge-20040306
    
    
    * Corrections to MIT merge caught by Asanka.

commit 30ad9faeb214fc1a2d362b79e73eb117ed2fe49c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Mar 6 08:09:13 2004 +0000

    lanahelper-20040305
    
    
    Minor updates.  Fix AFS Root UNC path string; add debugging code (off by default)

commit 9be2bdb79de58c6c39478791bc1f4722a3c25483
Author: Jim Rees <rees@umich.edu>
Date:   Sat Mar 6 02:42:53 2004 +0000

    inaddr-any-20040305
    
    
    use INADDR_ANY instead of ADDR_ANY.

commit 01059dcb66eef9d220b096730b9f168f42098865
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 5 23:27:07 2004 +0000

    drivemap-fix-take2-20040305
    
    
    * See I knew it wouldn't work.  Revert to loop used in revision 1.14

commit 52d6f0920660cc736ee4b44edb566e9c2617550f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 5 23:19:33 2004 +0000

    drivemap-fix-20040305
    
    
    * an attempt at a cheap fix which probably won't work.

commit 13c71ca0d33cde3dd9daecebb91012223e159b7f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Mar 5 23:09:18 2004 +0000

    lanahelper-library-20040305
    
    
    * at my request Asanka Hearth of MIT ripped out all of the code used
      the compute the Netbios Name of the SMB Server and the mountRoot
      and constructed one commonly used library called lanahelper.lib.
      This library is now constructed in the WINNT/afsd directory and
      used throughout the tree.  At least we now have consistency if
      nothing else.

commit 93bb47640c5b672d924d934a6b81fab8a8410027
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 3 22:41:05 2004 +0000

    no-cdev-fsync-20040303
    
    
    don't try to fsync() a character special dev
    reported and fix suggested by Helmut Jarausch

commit ce9f211c09043f4888e46258f9d800e5c575a646
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Wed Mar 3 03:32:42 2004 +0000

    smbname-consistency-20040302
    
    
    These changes are an attempt to provide a bit more consistency when
    it comes to the establishment of SMB drive mappings.  Whenever mappings
    are created, the same name is used when a name can be found.  This is
    supposed to mirror what is performed in the integrated logon DLL.

commit c5689df2864cb1f863cd35d760eefdb75ec4d965
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 2 15:41:43 2004 +0000

    fix-service-start-permissions-20040302
    
    
    When merging the Skyrope changes I forgot to specify the SERVICE_START
    privilege necessary to allow the -N option to work.

commit 2617395f90db0c94c5c556c87ca0e82cc20fe649
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 2 07:23:41 2004 +0000

    security-class-object-leak-20040301
    
    
    Incorrect reference count management results in a leak of rx_securityClass
    objects.

commit b37097c6b72528753bb81c15a254e00f2d29dbbd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 2 04:14:43 2004 +0000

    name-event-objects-20040301
    
    
    When naming event objects allocated in a library, make sure the
    names are unique by including the process id.

commit 6152f1e0f21a8261bf5093ed972f1bdf4b20854f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 2 04:12:07 2004 +0000

    openafs-nsi-20040301
    
    
    Add two new registry keys:
            RxMaxMTU (DWORD) = 1200 (decimal)
            NoFindLanaByName (DWORD) = 1 (decimal)  DEBUG builds only

commit 403e46be7dfee98ef9ee818cf4b37530c5df1755
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Mar 2 04:09:32 2004 +0000

    afsi_log-buffer-20040301
    
    
    Increase the size of the final buffer to be large enough
    to hold all of the data which is being written to it.

commit 65b2c45287a42a7e6555c3a300e58e05d22c4039
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Feb 29 22:22:19 2004 +0000

    smb_fid_t-leak-20040229
    
    
    There was a significant leak of smb_fid_t objects produced when copying
    files from an AFS volume.  This is clearly part of the problem reported
    by UNCC.  However, there is still an unexplained memory leak associated
    with reading and writing files even if the data is only being read from
    the cache.
    
    I am noticing reports of memory allocation overruns from the Debug CRT
    when freeing SCache objects.  This could be a side effect of whatever is
    causing the memory leak.  This will require more research.

commit 85caa4d1ded464b2d89eb8d2a14a6cedf93de08c
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Feb 29 02:38:26 2004 +0000

    win32-name-event-objects-20040228
    
    
    This is a very bad leak of Event Objects.  Name all of our event objects
    in an attempt to identify the source of the leak.  Apparently, the leak
    is not coming from any Event Objects we are creating directly.
    
    Did find a misallocation of event objects in the smb code for the
    initial session object.  Fixed.

commit d83b9bb75aac67ef79857b731e421dbb6168311f
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Feb 28 19:13:26 2004 +0000

    findlanabyname-20040228
    
    
    * an attempt to fix the problems with stack overwrites when calling
    the undocumented calls does not work.  check it in anyway.

commit 7942e801d9b911139c6a947f5d6f7f32bee2dd7b
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Feb 28 19:10:05 2004 +0000

    hidedots-fix-20040228
    
    
    * Fix the Hiding of dot files.  attributes were computed but never applied
      due to typo during merge
    
    * Prevent crashing during service shutdown by power management thread

commit f0f49b80b0f4c5b400874dbe1fdeb6993bf20bee
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Feb 28 06:26:05 2004 +0000

    afscreds-shortcut-params-20040227
    
    
    Obtain Shortcut Parameters from Registry Key
    
       {HKLM, HKCU}\SOFTWARE\OpenAFS\Client
            (REG_SZ) AfscredsShortcutParams
       Default value is "-A -M -N -Q" if not found

commit 1d7c0cc9024e0c142d0741baa5dde046c5c37057
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sat Feb 28 06:20:12 2004 +0000

    nsis-afscreds-shortcut-params-20040227
    
    
    Add Shortcut Parameters to AfsCreds.exe  -A -M -N -Q
    
      A automatically attempt to obtain tokens on startup if needed
      M renew drive maps
      N background check monitors network configuration and attempts
        to obtain tokens or restart client service if needed
      Q do not start AFS wizard

commit d10a43683ae0beb844275f960f6dae26f31bd64a
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 20:38:48 2004 +0000

    NoFindLanaByName-regkey-20040227
    
    
    Add a new registry entry "NoFindLanaByName" which can be set to 0x01 (DWORD)
    to disable the FindLanaByName lookup in case it crashes

commit 4d9e419c8cdefc5fd9085beec6144eb6109fb8ad
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 18:36:09 2004 +0000

    enablekfw-part2-20040227
    
    
    Current User should have priority over Local Machine

commit c9b834d6e72189cacc08be199f16598ae53fe9a1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 18:35:22 2004 +0000

    enablekfw-regkey-20040227
    
    
    * Add new Registry Key:
    
            {HKLM,HKCU}\\SOFTWARE\\OpenAFS\\Client
                    DWORD  EnableKFW
    
            Default value if missing is 0x01

commit 4cc93fd62692082cb6b847fa6ded2daaae91c1e0
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 18:20:34 2004 +0000

    morgan-patch-20040227
    
    
    * Add error checking and logging for WaitForMultipleObject calls
    
    * Place log file in directory pointed to by TEMP env variable if defined
    
    * Use the platform defined value for MAXIMUM_WAIT_OBJECTS instead of
      the value 100.  (WinNT.h defines this as 64)
    
    * Add a new registry value "AllSubmount" which can be set to DWORD 0x00
      to disable the automatic creation of the \\AFS\all submount.  This is
      for sites which wish to restrict access to the world.

commit 4eb61ff3471652427c1ff03cd4e413550f01cb95
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 07:40:20 2004 +0000

    nsis-new-reg-strings-20040227
    
    
    Make the NSIS installer create the registry strings for NetbiosName = "AFS"
    and MountRoot = "/afs"

commit 94c5d9d6ad90bfc1b6943cce913377ee6fbb0320
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 07:35:25 2004 +0000

    fix-unc-binding-message-20040227
    
    
    Fix the UNC Binding message.

commit 702e858526dad2dbec9564b9a60bfaaaea70c0ad
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 06:44:46 2004 +0000

    nbname-instead-of-mountroot-20040227
    
    
    When determining what name should be used for the NetbiosName
    query the registry value "NetbiosName" instead of "MountRoot".

commit 33f9f204bbe69637c160d9d09659f8c8fe617f1e
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 06:21:59 2004 +0000

    fix-getlana-typo-20040227
    
    
    GetUncServerName had a typo which was using "=" instead of "=="
    not good.  :-(

commit 569602eb625780e02658bda84d325e7aec9e1794
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Feb 27 06:02:18 2004 +0000

    no-wspp-builds-20040227
    
    
    the WSPP build references in the current ntbuild.bat are extraneous
    as there are no references to the defined variable anywhere else in
    the build system.  remove them from ntbuild.bat

commit a16b140dc876c4f52d15ba9f49ae7263653259cd
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Feb 26 19:22:35 2004 +0000

    skyrope-mit-merge-hell-20040226
    
    
    From Skyrope:
    
    The Skyrope work attempted to improve on the end user experience of using
    OpenAFS in the following ways:
    
       * Obtain tokens using renewable Kerberos 5 tickets in order to
         reduce the need for end users to renew expired tokens
       * Monitor the list of IP Addresses in order to detect changes
         in the network configuration which might affect the reachability
         of cells or the state of the AFS Client Service.  When cells
         are newly reachable, obtain tokens for the cells.  If the AFS
         Client Service is not running, start it.  If tokens are expiring
         attempt to renew them.
       * Use KDC probes to detect the accessibility of realms/cells.  If
         the KDC is not reachable, do not prompt the end user for a
         username and password.  (fs probe is not implemented on windows)
       * Automatically obtain tokens using the Windows Logon Session
         Kerberos credentials (if available)
       * Allow tokens for multiple cells to be obtained by using the
         same Kerberos 5 tickets.  (no UI yet implemented)
       * Perform drive mapping persistance by tracking it within the
         afsdsbmt.ini file instead of relying on the Windows Shell
         to persist the state.
       * Add new afscreds.exe command line options and change the
         default set used when creating the "AFS Credentials" shortcut
         in the Start Menu->Programs->Startup folder.
    
    From MIT:
    
       * Auto-detection of loopback adapters.  Use "AFS" as the netbios
         name when a loopback adapter is installed.
    
       * Support for responding to power management events.  Used to
         flush the cache when the machine is about to suspend, hibernate,
         or shutdown
    
       * Documentation of Registry entries
    
       * Support for Extended SMB Requests
    
       * Beginning of support for true Event Log reporting from a
         message database
    
       * Hidden Dot File support (configured via the HideDotFiles
         registry option)
    
       * Configurable Max number of Multiplexed Sessions (MaxMpxRequests
         registry option)
    
       * Configurable Max MTU size (RxMaxMTU registry option)
    
       * Configurable Jumbogram support (RxNoJumbo registry option)
    
       * Configurable Max number of Virtual Connections per Server
         (MaxVCPerServer registry option)
    
       * Win32 DNS API support
    
       * Addition of SMB_ATTR_xxxx defines for use instead of hex numbers
    
       * A variety of heap access and resource deallocation errors corrected
         in the SMB code
    
       * Support for recursive directory creation
    
       * Modifications to the en_US version of the client configuration
         dialog (need to port to other languages)
    
    Notes on the current check-in:
    
       * The KfW code will always be used when installed on the machine.
         This code only supports Krb5 and will not work with Krb4 only
         realms.  A registry flag indicating whether or not KfW should be
         used if found needs to be added.
    
       * afscreds.exe needs to have a registry entry created to control
         the parameter list it should be started with.  There should be
         a dialog to control this in the installer and within afscreds.exe
    
       * The MIT method of auto-assigning the mount-root and the netbios
         name is in conflict with the morgan stanley submissions in some
         parts of the code.  If you are using the loopback adapter with
         this code both the "NetbiosName" = "AFS" and "Mountroot" = "/afs"
         registry options must be specified.  This will be fixed in coming
         days.

commit be6c29629b697077cdbeb979e9a8e8b149726267
Author: Jeffrey Altman <jaltman@secure-endpoints.com>
Date:   Tue Feb 24 20:23:42 2004 +0000

    remove-nbt-reg-entry-on-XP-20040224
    
    
    In discussions with Andrei Keis at Morgan Stanley it has become clear
    that the NBT registry parameter which disables the use of port 445
    should only be used on Windows 2000.

commit 6e880ed20e91ce1f83f8493b56947ef1d13dbf0f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 13 18:58:39 2004 +0000

    revert-linux-sysname-list-estale-fix-20040213
    
    
    (despite just committing a leak fix) we can no longer find a kernel where this is needed so we'll leave it in the cvs history but revoke it. it may have been a "special" kernel

commit 09d4822ebe7e5696244b56efaaf57e72eac82377
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 13 18:55:36 2004 +0000

    linux-sysname-list-free-sysstate-20040213
    
    
    required by linux-sysname-list-sys-links-resolve-dentry-20031109
    eithout this, if you're in a directory that the second or later entry in a
    sysname list resolved to, pwd returns ESTALE. force the true path to have its
    dentry cached.

commit eca259c292f430de52414111e1b1514b22114510
Author: Sven Oehme <oehmes@de.ibm.com>
Date:   Tue Feb 3 06:23:30 2004 +0000

    linux-ppc64-fixes-20040202
    
    FIXES 3058
    
    linux ppc64 port

commit 0008bb59882acebb9a65f8ce76357686fb5a6e8c
Author: Andrej Filipcic <andrej.filipcic@ijs.si>
Date:   Tue Feb 3 05:57:49 2004 +0000

    amd64-update-20040202
    
    FIXES 2756
    
    deal with types in newer amd64 distributions
    initialize some variables

commit 526c586898d5509a4abfdbd17e20c7325b75b312
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 3 05:43:23 2004 +0000

    fs-return-EIO-when-starting-read-beyond-EOF-20040202
    
    FIXES 1493
    
    large file support asserted when attempting to read beginning past
    the end of the file

commit 3c4dd454dd61d9dc96ae32a41ff71a9e626ef458
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Feb 3 05:31:52 2004 +0000

    dumptool-largefile-support-20040202
    
    FIXES 2720
    
    make dumptool support large files

commit 3f73524386f38f1a6fe004fec4dee6afbc3f288c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 3 05:24:11 2004 +0000

    macos-protect-kpasswd-20040202
    
    FIXES 1893
    
    rename kpasswd to kpasswd.afs in /usr/bin
    since krb5 kpasswd is included

commit 43118d9396d26adf107530d49b60245b756d7455
Author: Shantonu Sen <ssen@apple.com>
Date:   Tue Feb 3 05:10:24 2004 +0000

    darwin-avoid-hang-on-rename-20040202
    
    FIXES 2967
    
    this version deals with afs being multiply mounted.
    return EXDEV on cross device rename attempts as upper layer doesn't deal for us

commit bb236704d338312192c155f83cd5584d2184d951
Author: Tom Maher <tmaher@watson.org>
Date:   Tue Feb 3 04:53:43 2004 +0000

    acquire-fsync-lock-inside-while-loop-20040202
    
    FIXES 3205
    
    in order to not violate the invariant that pthread_cond_timedwait be called
    with a locked mutex, we must relock if we unlock.

commit 0a0b3c0974ab16ba574cdb65b9e1fafa7a932c13
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 23 16:53:35 2004 +0000

    dir-buffer-protos-20040123
    
    
    take yet another stab at getting dir buffer prototypes right

commit 80747b803f6923040545496c040ba67aee542355
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Thu Jan 15 04:13:37 2004 +0000

    nsis-run-time-lib-fixes-20040114
    
    
    - Update the installer script to properly install the required
      runtime libraries for all compilers
    
    - Update the AddToPath and RemoveToPath files

commit 8730b44612435377a114a024efdb920b78db1897
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 14 21:30:59 2004 +0000

    kdump-linux-sucks-more-20040113
    
    
    make it build on newer rhel
    
    attempt to deal with hugemem kernel dumbness

commit 276df5918b057765e50b4c8a48ec8060f8abe5a7
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Sat Jan 10 16:59:35 2004 +0000

    ubik-election-epoch-fix-20040110
    
    
    ubik's ability to keep quorum broke when unix time passed 2^30 seconds.
    Buy us another 2^30 seconds.

commit c4f94dd3a5c1d15273bc54e4f42fc9069c3a3613
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jan 8 21:54:10 2004 +0000

    vos-move-copy-improvements-20040108
    
    FIXES 2815
    
    add switches to vos move and vos copy. add vos clone.

commit d56b95d9a213cb862aeb1f31b6f2c9078530f631
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Sun Jan 4 10:39:03 2004 +0000

    avoid-long-windows-shell-timeouts-20040105
    
    
     * cm_conn.c: assume that if all of the servers for a cell are DOWN
       that there is NOSUCHVOLUME.  We can't return TIMEDOUT because
       this assumes there is a server which is up and the windows shell
       will in turn continue to try to reach it for several minutes on
       each refresh.  Of course, each refresh occurs more frequently
       than the timeouts.
    
       We can't return ALLOFFLINE because that in turn results in
       an attempt to cm_ForceUpdateVolume() will a NULL (cm_fid_t *).
       That in turn causes a null reference and a crash.
    
     * cm_volume.c: place a check in cm_ForceUpdateVolume() to return
       without performing its job if there is no (cm_fid_t *) value.
       Unfortunately, this in a ALLOFFLINE situation places the
       service into an infinite loop.
    
       Question: why is cm_ForceUpdateVolume() ever being called with
       a NULL parameter for the (cm_fid_t *)?
    
     * cm_smb.c: change the NTStatus for CM_ERROR_NOIPC to Remote
       Resources instead of Access Denied.
    
     * cm_buf.c: add a debugging statement

commit 06af6dc9cfd16d42a90f0a58f0d47fa7d0b9cc41
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Fri Jan 2 07:03:47 2004 +0000

    nsis-do-not-install-sdk-with-client-20040101
    
    
    From Rob Murawski: This is a diff with the changes we talked about for
    making a separate section for the SDK files.  It is not installed by
    default, unless the SDK files already exist.  (To keep them consistent
    on the machine)
    
    Also, a fix to the ShouldClientInstall function to properly handle
    downgrades.

commit 47eac162efd4d6cce9aa7207095a0980f16ca1e1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 1 07:58:38 2004 +0000

    undo-flexelint-screwage-20040101
    
    
    irix cc wants this prototype

commit 49b42ef91dba7b866eb485546b87e0792cbd5474
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 1 07:47:54 2004 +0000

    irix-osi-prototypes-20040101
    
    
    add prototypes header for irix kernel module

commit c8185c54f742bdc2550687ea746cd6984008c96f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 1 06:51:25 2004 +0000

    vos-full-listvol-irix-20040101
    
    
    irix needs a inet_ntoa prototype

commit 858264ca909259e60526768e21e4681cdf85c97f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 1 06:22:31 2004 +0000

    undo-flexelint-breakage-20040101
    
    
    make irix cc happy

commit 754d8a94accd046499d433ed512ed9a21fb277cb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 1 05:56:25 2004 +0000

    undo-flexelint-damage-20040101
    
    
    unfortunately the problem with making flexelint happy is that irix's cc
    becomes sad.

commit c5e75ee015b791012f70a8d5238c0b8fad08b1eb
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Dec 30 22:34:18 2003 +0000

    nsis-installer-20031230
    
    
    remove some additional warning messages

commit 02b6bdbc6ae00863e302936ce164aca20eec6de3
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Dec 30 22:31:03 2003 +0000

    nsis-installer-take-three-20031230
    
    
    only use IsSilent on 2.0b3

commit a35d7330fd36eb4bc518d7b7d89885f6787ce1e1
Author: Jeffrey Altman <jaltman@mit.edu>
Date:   Tue Dec 30 22:24:11 2003 +0000

    nsis-installer-take-two-20031230
    
    
    Left out one change

commit e445236521e23071e5a9adf335835cf77e87f4a5
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Tue Dec 30 22:21:33 2003 +0000

    windows-nsis-installer-update-20031230
    
    
    NSIS released v2.0 RC1 today.  Updated the installer script to
    build with it.

commit af52472a7595a2d848ec33785a00546e6551d17a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Dec 28 01:26:32 2003 +0000

    fix-softsig-on-freebsd47-20031227
    
    
    The workaround for Darwin of setting a signal handler for SIGUSR1 appears
    to also be needed on FreeBSD 4.7.

commit f91e4fd0e7481592944a1b2a077bfd637fdd231b
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 20 19:28:07 2003 +0000

    do-not-delete-krb5-ini-20031220
    
    
    Do not delete krb5.ini unless we were installing KfW

commit f35416a7fff2f0105ea0816611f16ed308998177
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 13 00:04:56 2003 +0000

    dir-header-dont-conflict-with-kernel-protos-20031208
    
    
    kernel module has disjoint buffer package

commit d938729a11c98e25d6be533d380e33245e88c0d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 12 23:37:37 2003 +0000

    libadmin-test-client-restore-prototypes-20031212
    
    
    won't build without these. put em back.

commit 829975edc7a38b0f214b98bd778c7aa8e51d0e65
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 12 23:29:49 2003 +0000

    dlq-moveb-also-returns-void-20031212
    
    
    nothing even uses it...

commit 61e6580fb675881db6fd8fdc7b82e343c3f920ea
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 12 23:16:12 2003 +0000

    ulock-rellock-actually-returns-void-20031212
    
    
    but seriously.

commit 3458ec42cba8614967ce016268388e59ee178b43
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 12 01:21:06 2003 +0000

    path-fixes-for-bos-logs-20031211
    
    
    Fixes to paths to enable Bos Logs to function
    
    -Rob

commit 46c42a763777c565d646c52888b98a1efa705962
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 12 01:20:14 2003 +0000

    nsis-patches-20031211
    
    
    To do list:
    
    * remove /wizard from afssvrcfg.exe shortcuts
    
    * add a "runonce" for afssvrcfg.exe /wizard when the Server is
    installed
    
    * enforce a restriction of no Freelance mode when the Server
    is installed
    
    * enforce a requirement of the Client install when the Server
    is installed
    
    * add a control panel shortcut to afssvrcfg.exe
    
    * remove "recommended" tag from the AFS Server option
    
    >>>>>>>>>>>>>>>>>>>>>
    
    This is everything we talked about, plus:
    
    1) Fixes the installer so re-installation behaves as expected.
    All existing settings are preserved. (With the exception of what
    is modifiable during install.  The cell name is prepopulated, but
    the user CAN change it)
    2) Likewise, an upgrade will retain previous settings.  (There
    might be a point from which you cannot upgrade, i.e., from IBM
    3.4 or something)
    3) Variables named consistently, more code left out if NSIS 2.0b4.
    
    -Rob

commit 3d1da03178b2ff43010a814db78f99925ecb5e71
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 11 19:06:16 2003 +0000

    pr-initialize-silence-error-on-empty-dir-20031211
    
    FIXES 2678
    
    don't print an error if we're just flushing the cached directory info

commit 94682458df6867991ec8354cd9d9ee2773a6be4c
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Thu Dec 11 03:57:56 2003 +0000

    nmake-convenience-20031210
    
    
    Add new targets  install-nsis and install-is5  to perform both a build
    and an installer in one shot

commit 95e9e5dbbd7486b4930083d86b2f23085491bbbf
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Thu Dec 11 03:21:20 2003 +0000

    fix-netaddconnection2-call-svr-config-20031210
    
    
    TEXT("") -> NULL

commit 3e90ead98c4ac6da489d154300aa8e37106fe30f
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 22:17:48 2003 +0000

    murawski-20031210
    
    
    Murawski's daily patch for NSIS:
    
    * user selectable registry settings
    
    * generated files placed in $(OUT) tree
    
    * installer produced in $(DEST) tree
    
    * auto-detection of previous installation
    
    * better naming to distinguish build date and Release vs Debug

commit 3fe290665fba0fb6d1d715bee15a32dbcf840ce1
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 18:12:01 2003 +0000

    nsis-registry-changes-20031210
    
    
    Turn off High Security Mode Logon Option
    Turn on  Freelance Client
    Turn off Use DNS
    Turn on  Crypt Option

commit 943ff7831500e47c08af55c7c33c731f5c192b45
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 08:01:35 2003 +0000

    tal_string-was-coded-wrong-from-the-start-20031209
    
    
    tal_string defines three types: String, Ansi, Unicode
    and provides functions to convert between them.  The
    initial problem with this module was a lack of consistent
    memory allocation.  The secondary problem was incorrect
    conversion of between string types.

commit ad5a7108ead6d279c0b67409c3c0a73de8b8cb72
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 07:49:55 2003 +0000

    oops-20031209
    
    
    oops, typos

commit 95252680a90f1fdcebeb53ef5834fcab5144493b
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 07:48:06 2003 +0000

    tal_string-must-allocate-memory-20031209
    
    
    The tal_string routines must always allocate memory otherwise they
    double free strings.

commit 14d9380559c1e931300179dd01f18239c478b923
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 07:03:55 2003 +0000

    use-closesocket-not-close-20031209
    
    
    In Winsock, the function to close sockets is closesocket() not close()

commit 0f4d93c3091f1c31eeab2174e4262f3e686e83d5
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 10 07:02:43 2003 +0000

    disable-optimizations-20031209
    
    
    Many of the subtle problems we are seeing with the AFS Server are
    being aggrevated by compiler optimization bugs.  Disable for now.

commit a31feefdb13544bd3edb9295a5c866a2d4d81a17
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 9 23:07:57 2003 +0000

    volser-salvagedirhandle-fix-arg-order-20031209
    
    
    make the order of these consistent with the vol package

commit b6d499bf3cef0ac2a936b839f417f3aaba22faab
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Tue Dec 9 21:44:42 2003 +0000

    nsis-20b4-support-20031209
    
    
    Add support conditionally building NSIS 2.0b3 or 2.0b4

commit ba08e660976786dc4a4a7f2d8415be2002802ef9
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Tue Dec 9 21:34:00 2003 +0000

    remove-extraneous-appsver-20031209
    
    
    Remove extraneous reference to APPSVER variable.  This might have
    been an attempt at turning on debug info for the .NET compiler
    for non-debug builds.  The debug builds already have debug info
    turned on.

commit ebd13b027277211e78b2e83394020ef23c89d996
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 9 19:58:28 2003 +0000

    fix-ih-lock-macros-20031209
    
    FIXES 1774
    
    probably safe to remove trailing ; in ihandle.h now too.

commit 6285a23dfdba8310171455f5d1950edcdb4809dd
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 22:40:56 2003 +0000

    nsis-installer-updates-20031208
    
    
    From Rob Murawski.  Add upgrade/downgrade support to NSIS installer
    Comment out the Loopback Installer code

commit 36ac69eedca1b2de6119ddd19b99dd302d5a496b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 8 07:31:57 2003 +0000

    vol-linux-dont-assume-ext2-20031208
    
    
    to deal simply with /usr/include/linux potentially having 2.6 kernel headers
    in newer linuxes. given that we might not have ext2 as root, this check
    probably wasn't sufficient anyway.

commit 4b01f15c0c699ededec18dadf97469ba564f1cd0
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 06:18:46 2003 +0000

    format-fix-for-fs-windows-20031208
    
    
    spacing errors in List Quota command

commit 6dc76e27f0a2993db0e360ceaf5ad9426966e0b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 8 06:09:12 2003 +0000

    fssync-extern-loglevel-20031208
    
    
    wanna use LogLevel to determine whether to log? make sure it's declared.

commit a3339d25459ea4cda9c2b01edfbddbef0f5c9859
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 06:08:45 2003 +0000

    winnt-afsd-fs-header-fix-20031208
    
    
    Improper prototype declaration

commit 3f98530173838e31ce72564996872147c2d59995
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 8 06:03:58 2003 +0000

    protoize-buffer-20031208
    
    
    we need a definition for struct buffer. while we're at it, protoize the
    whole file.

commit 35192ba9e3bd8ffa0372373904f481471a671d56
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 8 05:50:39 2003 +0000

    ptserver-prototype-ubik-20031208
    
    
    since ubik got prototypes, we have to make our shadow functions the same

commit 2ea2e4debaf3b6863f9ae00a157f4684b872fb68
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 04:32:27 2003 +0000

    import-fs-formatting-to-windows-20031207
    
    TICKET 2651
    
    Import string formating from venus/fs.c

commit 705241efee4119b0f5c089771e5384a8a0dc9d66
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 04:01:20 2003 +0000

    set-service-error-condition-afsd-20031207
    
    TICKET 2619
    
    If the service crashes unexpectedly (eg, when the network adapter list
    changes) we should return an error code so that system policy can be
    used to determine if the service should be automatically restarted.
    When there is an error GlobalStatus gets set to a non-zero value.
    If GlobalStatus is set, we will return ERROR_EXCEPTION_IN_SERVICE
    to the Service Manager.

commit 8bdaee9e18359b3fb62ac19f26ee9a01fdb2195e
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 03:14:08 2003 +0000

    remove-int64-conversion-warnings-20031207
    
    
    Use casting to avoid repeated conversion warnings resulting in data loss.

commit 85f6cefe70b502b706ff57f5e79d3c555641e969
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 02:54:14 2003 +0000

    jbuehler-add-missing-extern-c-patch-20031207
    
    
    Add extern C modifiers to non-C++ functions in Windows files

commit d5070bd9a08c0532364125909192347ea7f2f227
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 02:41:17 2003 +0000

    more-must-returns-20031207
    
    
    More must returns value warnings cleaned up

commit 0c23b6fd77e6497c707a4cd1a3bebc94657bf6bc
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 02:37:55 2003 +0000

    ntmakefile-fix-20031207
    
    
    remove extraneous include of src/config/NTMakefile.version

commit 3dc648d7610641a530b06ecaddac6f6e576e1b74
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Mon Dec 8 01:45:23 2003 +0000

    add-missing-return-values-20031207
    
    
    Add missing return values producing warnings on Windows

commit 08248560ea17cb0068025c821d08325ce18dc014
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Dec 7 23:18:33 2003 +0000

    ticket-2618-corrections-20031207
    
    
    Remove extraneous declarations in dir.c

commit 21caaae64f4565d1a7ed82e326ef852d4cd3642f
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Dec 7 22:49:00 2003 +0000

    ticket-2618-patches-20031207
    
    TICKET 2618
    
    flexelint patches for prototype handling from Joe Beuhler
    
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    This patch adds a bunch of missing prototypes, makes various
    corrections to global prototypes, and removes global declarations that
    are not needed.
    
    One set of added prototypes is commented out because it applies to
    some printf-like functions that are implemented the way it used to be
    done before varargs existed, and they need to be unprototyped or the
    code will fail to compile.  (There are a number of functions in the
    OpenAFS code that need to be converted to use varargs...)
    
    There is one place of note in src/WINNT/afsd/fs.c where typedefs for
    afs_int32 and afs_uint32 conflict with afs/stds.h.  I just added a
    note to that effect.
    
    Prototypes in src/WINNT/afsd/fs.c are incorrect for Windows NT.  I
    don't know whether the return type involved changes from platform to
    platform -- they come from .xg files.
    
    Some prototypes are now commented out or #ifdef'd to match the code
    that uses them.
    
    Some global variables conflict between modules and have been made static.
    The bufferBlock variable was of two completely different types...
    
    In src/config/stds.h, I changed the declaration of afs_intmax_t to
    reflect the fact that the Windows platform supports 64 bit integers.
    This may be incorrect semantically, but I believe it is needed for the
    %llx format to match afs_intmax_t arguments (for printing of inodes
    mainly, I believe).
    
    There were two different declarations for the rxkad_stats structure --
    I synced them up.
    
    - Joe
    
    Removed the conflicting typedefs from src/WINNT/afsd/fs.c
    
    Removed the changes to src/config/stds.h.  Added declaration of
    AFS_64BIT_CLIENT to src/config/NTMakefile.i386_nt40 instead.
    
    Do not remove unused variables which are defintions of data type
    values.  Instead comment them out to avoid space utilization and
    warnings.

commit 4ceaebdbda533374ab7c66a832096988379a3ec8
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Dec 7 03:39:50 2003 +0000

    afssvrcfg-updates-20031206
    
    
    Replace the mechanism used to register drives with WNetAddConnection2.
    This will hopefully be more reliable than then older code which was
    unable to register drive mappings.
    
    Corrected error string formatting.

commit 8d0d3f16c3d6ee54154da056071d0e0befcfaeae
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 21:17:39 2003 +0000

    add-multiple-interface-support-20031206
    
    
    The ubik support on Windows only verified against the first
    address on the system even if that address was assigned to
    a disabled interface.

commit b2d84ee04786127ce73acf0120cefaf5095dc989
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 20:11:12 2003 +0000

    reorg-ntbuild-20031206
    
    
    Reorganize ntbuild.bat to place all of the user edits at the front

commit 334f5f00f109dddeba5f9c5e09088302c51b4b16
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 19:29:31 2003 +0000

    fix-memory-alloc-srv-cfg-wizard-20031206
    
    
    The Windows AFS Server Config Wizard would produce an invalid memory
    deallocation error from the memory management routines due to the
    failure to allocate PROGRESSDISPLAY objects with the same tools used
    to deallocate them.

commit 999ec32f9d1325b261ce1c64e0f2a1271f5752c9
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 19:01:41 2003 +0000

    more-NSIS-fixes-20031206
    
    
    from Rob Murawski

commit 46b23d72d2b0637794c3efd85dafaca1ba92beed
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 17:41:53 2003 +0000

    add-pdb-files-to-server-nsis-20031206
    
    
    Add PDB files for debugging to NSIS Server install

commit 6e667ed9d1759d7679431cc0fd3aba4fa2e05c45
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 17:01:30 2003 +0000

    more-vc-net-installer-fixes-20031206
    
    
    Make sure we get the included libraries correct for install

commit 53e72a1ec157ece226e9a2eb10c42c1158cc7203
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 16:01:03 2003 +0000

    another-correction-ntbuild-bat-20031206
    
    
    I wish .BAT files had IF-THEN-ELSE instead of just IF

commit 6826cde0a6deff9e67f821fe4c7a86d5a1b2ee56
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 15:41:38 2003 +0000

    no-debug-for-free-builds-20031206
    
    
    Reorganize makefile to not generate debug files for free builds.

commit 7bcb1e53bf4ed53d37f4b9d94b64a7b9507fb103
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 15:40:17 2003 +0000

    correct-include-for-cl1300-20031206
    
    
    CL 1300 uses the mfcatl paths just like CL 1310

commit 235cd101fde89df7c4777bd7369aae51ef9b0695
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 06:19:03 2003 +0000

    nsis-installer-updates-20031205
    
    
    Remove need for MakeCommon.bat
    
    Produce nsi-includes.nsi from NTMakefile
    
    Update OpenAFS.nsi to use MFC70.DLL and MFC71.DLL as needed.
    (Need to confirm with Rob Murawski)

commit ad9367a9ada10016f704256fc017fbb7c8b77141
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Dec 6 06:15:46 2003 +0000

    product-version-number-update-20031205
    
    
    Modify the variables used to construct the product version numbers
    to allow these same values to be used with the NSIS installer

commit 090f882fd9917e05a65911a0611f432ad554b323
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 23:17:20 2003 +0000

    typo-correction-ntmakefile-20031205
    
    
    Fix a typo in msvcrtd.dll reference

commit 492387b8d2f6b3b73684ace93999ee1661f078ac
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 23:10:04 2003 +0000

    updates-to-NSIS-to-support-debug-crt-20031205
    
    
    Updates to NSIS installer scripts to conditionally build with
    debug or non-debug CRT libraries; also, now supports conditional
    library usage based upon the MS Compiler version used

commit c6c803432275b27b8cffd87e664f148c77f3215b
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 22:19:50 2003 +0000

    i386_nt40-lex-macro-fix-20031205
    
    
    Not that anyone has used it in forever and therefore would not notice
    but the LEX macro was a version number "1.2.2 a" instead of a program
    name.  Changed to "flex -l" but it really depends on which lex type
    program is being used

commit 7a60256d585487d3aa3b8cd5e62d9714bbd961c0
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 21:59:31 2003 +0000

    NSIS-installer-debug-mode-20031205
    
    
    NSIS installer debug mode activiation based upon AFSDEV_BUILDTYPE

commit 5d0958127a05378bc85f186fdbdc049b7256d4b0
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 21:56:33 2003 +0000

    pdb-files-for-checked-builds-20031205
    
    
    Produce PDB files in the DEST/CHECKED tree for use by NSIS installer

commit fb7ed4bf35c5e0d13445aae9275bb14ad54f0496
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Dec 5 20:07:26 2003 +0000

    fix-ntbuild-bat-20031205
    
    
    Fix conditional contruction of AFSDEV_LIB variable

commit 333b371389f6dc3fc5ff2ccadd359cbe119db5b0
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Fri Dec 5 08:35:57 2003 +0000

    largefile-support-continued-20031205
    
    FIXES 1493
    
    configure switch and minor largefile cleanup. not done.

commit afb1b03e750d553066b47c0436b31a65ce751c14
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 4 19:53:37 2003 +0000

    vos-full-listvol-on-by-default-20031204
    
    
    at the suggestion of miles@cs.stanford.edu

commit ebe5567b3beec22e6e0608c3ff14b57dd625cf73
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Dec 4 17:02:38 2003 +0000

    salvager-remove-orphaned-header-20031204
    
    FIXES 2522
    
    this should be fixed for the global case, but that's harder to test

commit 0935f3838f451fc6e995e5c13ccf31afef7a97b1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Dec 4 16:47:05 2003 +0000

    libafsrpc-fix-objdir-breakage-20031204
    
    FIXES 2615
    
    the not gmake workaround broke objdir builds. sigh.

commit f0c992107a0d0e19ccbcff4836fd3697f4d861d9
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Thu Dec 4 16:33:54 2003 +0000

    solaris-kdump-build-rationalization-20031204
    
    
    make kdump64 and kdump32 get built with sanity on solaris

commit 8be29dc51638254f210795625c47a903104a0629
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Thu Dec 4 16:23:28 2003 +0000

    salvager-fix-misparented-vnode-1-20031204
    
    
    if vnode 1 gets a parent (which is incorrect) arrange for it to be cleaned
    up properly

commit 90f461c9128efd9980a9e7d75a9359fd5d253562
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Dec 4 16:10:43 2003 +0000

    hpux-1123-update-20031204
    
    
    update the hpux 11.23 on ia64 support
    don't build libuafs. make kernel modules build. fix afsd.

commit 2fba10f1637e655ce0402c9e935b3f1fe6f9967e
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 23:28:50 2003 +0000

    fix-checked-build-libraries-20031203
    
    
    checked builds were linking against non-debug versions of the MFC libraries
    which produced warnings at link time.  Replaced with the debug versions.

commit 708b147ba544fa55b6969691a9ba81e3a96af105
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 20:07:55 2003 +0000

    typo-20031203

commit 877a7bd74169b871b53179dfd4c742e411af3a58
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 20:06:37 2003 +0000

    more-missing-crtdbg-includes-20031203
    
    
    For when you are debugging ...

commit c46ebfb07e99ff4d0758de6d1f8aabe215b6934d
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 19:44:59 2003 +0000

    add-missing-include-file-afsd-windows-20031203
    
    
    ctrdbg.h but only when _DEBUG is defined

commit 2542d907f1f1ffacebc0dda3715dd9f70490c3e7
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 19:24:38 2003 +0000

    i-hate-bat-files-20031203
    
    
    Add missing % at end of variable names to be compatible with cmd.exe

commit 79b9432758f49ead13cec005d02a8b512adcca27
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 15:58:55 2003 +0000

    do-not-make-commits-after-24hrs-awake-20031203
    
    
    .BAT files do not use the same syntax as makefiles.
    don't make commits after being up more than 24 hours straight.

commit dfed0829ddd9994b5077034bc2821913cea873ee
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Dec 3 04:53:12 2003 +0000

    ntbuild-support-for-visual-studio-net-2003-20031202
    
    
    Add LIB and INCLUDE files for Visual Studio .NET 2003
    (Thanks to Rob Murawski for details)

commit 1c5a7b4ea135dcccadea1775922a783c5fc42989
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 1 20:16:02 2003 +0000

    rpc-rename-avoid-loop-20031201
    
    
    enumerated solution (n vnodes cannot yield n+1 loop passes) suggested by
    jhutz@cmu.edu. avoid looping forever on a corrupt parent.

commit 6b81e7a4bb2f9ee2e748a945b233f301a7566732
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 1 05:35:04 2003 +0000

    tvolser-update-20031121
    
    
    add transaction mutex to handle global list of transactions

commit 6b375af14f6cfe6d6cc02a68b6c437853a640160
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Nov 30 15:39:33 2003 +0000

    remove-duplicate-include-from-shell-ext-cpp-20031130
    
    
    Remove atlconv.h include the second time it is listed

commit a42c1000050dd154ad61ce00d1e691a7081349e4
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Nov 30 03:52:59 2003 +0000

    update-version-number-for-windows-20031129
    
    
    Updated the version number to 1.3.51 for both nt40 and win95
    However, it is unlike that win95 will build at this point in time.
    Its version of the makefile had not been touched since 1.2.2b

commit 1b618cd71fecd52a7923fda357dd11bdd59d652b
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 22:50:14 2003 +0000

    jaltman-missing-variable-20031129
    
    
    jbuehler left out a variable declaration

commit 61cf9fa731654b943a271dcf585b95062fbe7a4c
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 22:07:57 2003 +0000

    jbeuhler-flexelint-bugs-found-20031128
    
    
    This patch covers bugs found by running flexelint on
    the CVS code on Windows NT.
    
    - incorrect enum used in al_creds.cpp and various other files
    - use of local after it goes out of scope in al_wizard.cpp
    - uninitialized class members in afsclass/*
    - cm_config.c looks like it has code commented out accidentally
    - useless statement in alert.cpp
    - no default case handling in problems.cpp
    - strange use of & on booleans in set_clone.cpp
    - fgets() and fclose() on closed stream in cellconfig.c
    - memory leak in cellconfig.c
    - *scanf into variables of unknown length in cellconfig.c
    - incorrect pointer passed to getAFSServer() in cellconfig.c
    - possible buffer overflows in userok.c
    - address of array in bos.c
    - too many arguments for printf() in commands.c
    - return code not saved in bucoord/main.c
    - bad types for argv arrays in bucoord/main.c
    - probably incorrect initializer list in ol_verify.c
    - extra argument to TLog() in lwps.c
    - memory leak in cmd/cmd.c
    - lack of typecast on malloc() in a couple files
    - lower-case L for long constant in touch.c (is it a 1 or an l...)
    - parentheses nesting error in util_cr.c
    - apparently invalid case fall-through in util_cr.c
    - various memory leaks in util_cr.c
    - macro missing parens in crypt.c
    - macro missing parens in quad_cksum.c
    - null pointer deref in kpasswd.c (CVS work in progress?)
    - Print_bos_ProcessState_p() code does not look correct
    - extra argument to printf() in kas.c
    - typo in vsprocs.c
    - macro missing parens in iomgr.c
    - address of array in threadname.c
    - storing result of getch() in char type in waitkey.c (may not match EOF constant)
    - storing pointer to local car in global in ptserver.c (benign -- it is in main())
    - address of array in rx_lwp.c
    - macro missing parens in rx_packet.h
    - impossible == (signed vs. unsigned?) in rxdebug.c
    - bogus constants in xdr.c and xdr_array.c (possible security implications?)
    - incorrect test of fd for open file in update/server.c
    - dangerous unparenthesized macro in get_krbrlm.c
    - buffer overrun in regex.c
    - missing comma causes string concat and bad array init in vlclient.c
    - comparison of string < 0 in ntops.c
    - default case has no code in vos.c
    --
    Joe Buehler
    
    >>>>
    
    Comments: Several comments for FIXME left in the code - unaddressed

commit a95c759cd7601e0755f380ebe3b2b5493a188104
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 21:46:30 2003 +0000

    missing-assert-h-20031129
    
    
    Missing assert.h for added assert()

commit 21ca23297494f1cf8e578fd848bfcd0be2c360cd
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 21:37:50 2003 +0000

    jbeuhler-flexelint-fun-with-printf-20031128
    
    
    This patch addresses a number of problems with printf-like functions.
    
    Most of them are %x formats applied to pointers (which could be a
    problem depending on the architecture I would assume).  There is a
    %p format for pointers on many machines but I don't know if it
    applies to all supported OpenAFS platforms so I didn't go that route.
    
    There is a buffer overflow fix to ktime.c
    
    There are a couple places where incorrect format characters were used.
    
    One call had two arguments swapped.
    
    Other fixes include the use of PrintInode() and %s formats for
    printing inode numbers.  The code was inconsistent in this regard -- sometimes
    PrintInode() was used, sometimes it was side-stepped.
    
    There is one place where a local shadowed another variable, so I renamed
    the local.
    
    The last segment points out that an fdset need not be anything printable
    with an integer format.
    --
    Joe Buehler
    
    Comments - The fdset comment relates to a WinSock only file on which
    the size is a pointer to int.  Modified the source to use a %p instead
    of %x as it is supported on Windows.
    
    Added an assert(p != NULL) to src/rx/rx_packet.c

commit e5a76ae386e909f151b6bde140a727520bffeee1
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 20:31:49 2003 +0000

    jaltman-flexelint-aggregate-initialization-patches-20031129
    
    
    Address FIXME concerns in jbuehler-flexelint-aggregate-initialization-patches-20031129

commit 10750393dc96b5892e6ae95b95f61e5009a7c2b8
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 29 20:23:24 2003 +0000

    jbuelhler-flexelint-aggregate-initialization-patches-20031129
    
    
    This patch mainly makes explicit some initializations that were implicit.
    
    There are several places where it looks like the missing initialization
    may be a bug, and I have inserted comments to that effect in the
    relevant patches.  Someone needs to look at them and supply
    whatever is missing (if anything is).
    
    In make_keyperm.c, an array was sized too large.
    --
    Joe Buehler

commit 6e2f4f9df4d1370f3131d0904229e51a6365604d
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Nov 27 05:52:51 2003 +0000

    hpux-rx-attach-file-struct-to-socket-20031124
    
    FIXES 2450
    
    attach a struct file to the socket; clean up when done

commit 9ca613da43045d6e10a969af19345cf5851d48fc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 27 02:27:55 2003 +0000

    solaris-make-hates-dollar-lessthan-20031126
    
    
    the $< macro support in solaris make is different from every other make
    due to POSIX not being fully specific. a perl script cleans up the mess,
    and gives us a different mess.

commit cef7b6ae8c6751c23d98ed88d4d8a6f7481a5eb2
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Nov 27 01:23:13 2003 +0000

    hpux-snprintf-support-20031126
    
    FIXES 2587
    
    need sys/socket.h on hpux

commit 49ab5ed14a0e5f98104146c01c1f03fcd9409ab3
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Nov 27 01:17:34 2003 +0000

    ia64-hpux1123-support-20031126
    
    FIXES 2579
    
    necessary changes to support hpux 11.23 on ia64.

commit 93bd3784d68d56c33e1d94d19fbb18e7bfbf01ce
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Wed Nov 26 21:32:52 2003 +0000

    ticket-2584-patches-20031126

commit d15973aa12bf4eeb5d0d03497281cc4a946d1c27
Author: Douglas Engert <deengert@anl.gov>
Date:   Mon Nov 24 22:44:20 2003 +0000

    hpux-ia64-dont-optimize-lwp-20031124
    
    FIXES 2450
    
    remove -O when compiling lwp

commit ff9c60a3c86c9891ac8420f82524e7eefe1a4d1a
Author: Jim Rees <rees@umich.edu>
Date:   Mon Nov 24 22:09:18 2003 +0000

    fix-joe-beuhler-patches-20031124
    
    
    minor fixes to Joe Beuhler's NT patches for non-NT

commit fc7931f4f23a7f2d368716abb6a194be559f9d0d
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sun Nov 23 04:52:52 2003 +0000

    joe-beuhler-patches-20031122
    
    
    Joe Beuhler's many patches merged into the tree

commit 0f7c8a031073801e155d3158bc40df74d9944344
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 22 03:11:46 2003 +0000

    threaded-volserver-progress-20031114
    
    
    not ready for primetime. not even close.

commit 5e52289abf12261b9575a0226ae8c7b5e37e6e51
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 22 02:57:04 2003 +0000

    tvolser-update-20031121
    
    
    add transaction mutex to handle global list of transactions

commit 1972aa4414857e46d8e3537b143bc380e10d0833
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Sat Nov 22 01:28:05 2003 +0000

    jaltman-afsd-loopback-w2k-and-noipc-patches-20031121
    
    
     * Change handling of CM_ERROR_NOIPC to return an Access Denied
       error instead of a Bad Network Name error.  The reason is that
       Bad Network Name results in a subsequent query by many apps
       to find a good network name which cannot be accomplished.
       Access Denied is more appropriate and results in an immediate
       error return.
    
     * Disable the Loopback Adapter hack for operating systems prior
       to Windows XP because the Loopback adapter on previous versions
       does not perform loopback operations on Broadcast messages
       which are necessary for the proper registration of the
       NETBIOS name for the AFS Service.
    
     * Many minor corrections to uninitialized variables; spelling
       errors; formatting errors; etc.

commit 955d376ddd00f4c35d65c646dabefc7d159bf710
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 22:34:16 2003 +0000

    rob-murawski-afscreds-scm-patch-20031121
    
    
    Reduce the requested list of permissions to the minimum necessary to
    access the service manager and service for the requested task.

commit 111e5bb562049818518e58a8f5dbf3e622977eca
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 18:56:01 2003 +0000

    fix-CH-lang-resources-for-afs_setup_utils-20031121
    
    
    Rename afs_setup_utils/lang/zh_CH/afs_setup_utmls.rc to afs_setup_utils.rc

commit f968f826e47e47d9a43023e45fd4963481a6b778
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 18:36:01 2003 +0000

    afscreds-drivemap-updates-20031121
    
    
    #undef REALLOC before importing drivemap.h to prevent the use of the
    wrong memory allocation routines.
    
    Remove extraneous code which computed strings which are no longer used
    and worse produced misleading debug information
    
    Improved consistency of drive mapping when HIGHSECURITY is in use

commit 803678a90033b54606337e033cff5393a92adb5a
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 18:33:10 2003 +0000

    thread-and-timer-corrections-to-afscreds-20031121
    
    
    Changes to afscreds to place the obtain tokens dialog into a separate
    thread to prevent blocking of the Windows Message queue.  Requires
    utilization of mutex semaphores to protect credential data structures.
    
    Previous versions of afscreds would set/unset the timer event every
    time the program received an event indicating user activity including
    dragging the mouse across the systemtray icon.  This resulted in
    extremely unpredictable behavior.  Now the timer event is only turned
    off when it must be turned off; and turned on when it must be turned on.
    The result is a credential expiration check once a minute.

commit df95472c3aa809493802d3c61f733f8fc2f853e0
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 15:41:04 2003 +0000

    shadow-to-jaltman-bkbox-02-20031121
    
    
    Remove another file which was included in the bkbox patch but is really
    autogenerated.
    
    Add a command to dolastcmp.bat to conditionally delete golast.bat if
    it exists.  Otherwise, the initial CD command which is meant to be
    written to the file is lost.

commit 7cf05a5e371c3f05540f050ba77f8715def16358
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 15:26:05 2003 +0000

    shadow-to-jaltman-bkbox-01-20031121
    
    
    Incorrectly committed NTLang.bat when it is copied from src/config

commit 98544e6ab469a190c4e7c322365cc369c91484fc
Author: Jeffrey Altman <jaltman@grand.central.org>
Date:   Fri Nov 21 07:59:35 2003 +0000

    patch-from-shadow-to-jaltman-bkbox-20031120
    
    
    This massive patch contains changes in several significant areas for Windows:
    
    - the ability to specify the mount point to be something other than /afs
    
    - functionality to assist debugging of the NT Services
    
    - support for languages other than English (NTLang.bat)
    
    - revisions to the Build system to support separate trees for src, obj,
      dest and free or checked; allow any MS compiler to be used
    
    - updates to NSIS installer build
    
    - mutex locking added to critical locations
    
    - updates to IS5 directory tree creation
    
    - update to afswsNetscape_config.sh

commit 69116e6cae89692a4aca60d4087d25f8f21ff3a4
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 19 21:59:18 2003 +0000

    compiler-warnings-20031119
    
    
    fix various compiler warnings
    some are from jbuehler@hekimian.com

commit d08f4a716fcfb012ae82d184b4cdd938048e4daa
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Wed Nov 19 21:43:29 2003 +0000

    error-typo-20031119
    
    
    confusion of == and =

commit b737d56f2970e0963b53fc39f1ed27cf417c2f53
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Nov 19 04:02:29 2003 +0000

    fixed-and-improved-afscp-20031118
    
    
    Fix afscp to make it build and fix the -u option.
    Add support for explicitly specifying a file by host/fid.

commit 63ba8d77fb139abdde915b5b44318edc9bc1bcbd
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Nov 17 23:21:52 2003 +0000

    callbacks-later-locking-order-20031117
    
    
    be consistent in the order we hold H_LOCK and FSYNC_LOCK;
    in this case acquire FSYNC_LOCK as needed.

commit 7207fd6d3100dc5fd8736b944e41c26d1514bcde
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 15 05:57:42 2003 +0000

    volser-protoization-20031114
    
    
    more protoization in the volserver

commit b1dd6e87cb615dcad234537751fb20ce91febeda
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 15 04:59:08 2003 +0000

    threaded-volserver-progress-20031114
    
    
    not ready for primetime. not even close.

commit 76d2b6dabbf251a0e4e4149ba2da1395d9db9954
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Sat Nov 15 04:02:37 2003 +0000

    volser-restore-create-timestamp-not-touched-on-incremental-20031114
    
    FIXES 2521
    
            The issue: when you restore an incremental dump to an existing volume,
    the creation timestamp of the target volume gets reset to the current timestamp
    (literally the timestamp of when the 'vos restore' command is being executed).
    That messes things up for any subsequent 'vos release' operation, because such
    operation then needs to do a full release rather than an incremental one.  For
    large volumes that can be quite an issue.

commit e0d79ffeb6f456bbd6cc506752c7b166f43308eb
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Sat Nov 15 03:20:01 2003 +0000

    remove-redefined-warnings-20031114
    
    FIXES 2512
    
    don't redefine KABADARGUMENT

commit 973c617d000fed52519de6da221ca8c85f6a17a9
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Sat Nov 15 03:14:32 2003 +0000

    cvs-remove-wow3-20031114
    
    FIXES 2505
    
    remove empty file which came with the source

commit 012a26f20b83dd259df0257709fee69572362d95
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Nov 15 03:12:16 2003 +0000

    restorevol-needs-gethostbyaddr-20031114
    
    FIXES 2514
    
    so restorevol will link on solaris

commit 4458dd4410207fcdf8dec6789f0397adc6ce7b01
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 15 03:08:10 2003 +0000

    callback-rxcon-protection-20031114
    
    FIXES 2498
    
            CheckHost() sets the HOSTDELETED flag on a host, does its
            touch, calls H_UNLOCK at the end of its function;
            AddCallBCal1 in a different thread grabs the lock, does its
            thing.  Gets to GetSomeSpace_r(), which calls
            h_Enumerate_r; the host in question isn't held, so
            h_Enumerate_r calls h_Hold_r and h_Release_r on the host
            that CheckHost() set the HOSTDELETED flag on; h_Release_r
            sees the HOSTDELETED flag and calls h_TossStuff_r, poof, we
            have our broken host entry for ClearHostCallbacks_r to trip

commit 423c279a498ac4f691522f6d11e67921fd3d79e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 15 03:02:23 2003 +0000

    tail-dont-use-dash-one-20031114
    
    FIXES 2453
    
    new tail axes -1 support

commit 79b67c7461097ab5ca1dac9b9c1f069dfb4d290d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 14 23:36:16 2003 +0000

    namei-ihandle-leak-20031114
    
    FIXES 2518
    
    namei_dec now logs if you have open ihandles when you unlink a file
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 2518
    
    flush all dir buffers we have cached when rewriting a volume from a restore
    
    avoids holding an ihandle which has an open fdhandle for an unlinked file
    
    ====================
    FIXES 2518
    
    remove logging code for now. it appears to trigger on some possibly legitimate operations.

commit 0402a8c4405193e364cca9b66e59380e49799d15
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 12 16:07:28 2003 +0000

    more-posix-regex-20031112
    
    
    remove more REG_BASIC

commit d4b1d61d21de06465d81f57261e9d35dd386605c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Nov 12 14:23:30 2003 +0000

    regex-no-reg-basic-20031112
    
    
    apparently not all posix regex implementations have REG_BASIC.
    get rid of it since it's the default.

commit 917af567222abc6ec18730c067298f8c384cb8f1
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 11 19:03:09 2003 +0000

    rx-multi-incs-20031111
    
    
    fix rx_multi includes so it will compile

commit 456f1dfdc6cb04ba93e58b5af58e86305bb173cf
Author: Jim Rees <rees@umich.edu>
Date:   Mon Nov 10 22:25:28 2003 +0000

    rmtsys-uninit-20031110
    
    
    fix uninitialized variable found by jbuehler@hekimian.com
    consolidate duplicate cases so this won't happen again

commit edbf777400771ef0e5f262cfcba0d4271e18d9a0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 10 02:04:17 2003 +0000

    cachemgr-rx-multi-gettime-20031109
    
    
    use multi Rx to GetTime all servers we wish to talk to in parallel. This
    should have the effect of compressing the amount of time to time out all
    fileservers to (1 times full set of Rx transmit intervals) instead of (n times
    same). VLservers get handled out of band and so aren't in scope for this
    change.

commit 2d3fda8c82c24b01537ed10fe614ce5eea130754
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 10 01:36:09 2003 +0000

    linux-sysname-list-sys-links-resolve-dentry-20031109
    
    
    without this, if you're in a directory that the second or later entry in a
    sysname list resolved to, pwd returns ESTALE. force the true path to have its
    dentry cached.

commit c5110942b97b06d423f0452cd9fceb219db1b513
Author: Joe Buehler <jbuehler@hekimian.com>
Date:   Fri Oct 24 07:31:49 2003 +0000

    bos-fix-mode-complaints-20031024
    
    FIXES 2277
    
    complain correctly about mode

commit e2e93aa8920c0b1bfc672a555a59eb4e15dbeaae
Author: Ed Moy <emoy@apple.com>
Date:   Fri Oct 24 07:25:58 2003 +0000

    macos103-20031024
    
    FIXES 2325
    
    support for macos 10.3 for 1.2.10

commit b35d52ba80e9c3236685311d47976365e3413319
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 15 22:38:40 2003 +0000

    freebsd-vnode-if-20031015
    
    
    generate vnode_if.h dynamically for FreeBSD

commit 7e554cf673820fe5a4ac11a57f47b4172ae97024
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 10 21:01:56 2003 +0000

    openbsd-deadlock-fix-20031010
    
    
    release global lock when calling getnewvnode
    thanks to wollman@khavrinen.lcs.mit.edu for finding this

commit 5f705ff1b9f1593123d3bcdf6b41105b1ed9d59b
Author: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Date:   Fri Oct 10 15:08:31 2003 +0000

    use-posix-regex-20031010
    
    
    use posix regex if available instead of re_comp
    eliminates need for -lcompat on the BSDs, so remove it from XLIBS

commit 7a8a5aaec374eb9040283d9d4d0ef2bd321e072d
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 10 14:12:05 2003 +0000

    fix-lwp-20031010
    
    
    abort needs _C_LABEL too
    add dependency on process.i386.s to process.o

commit c4af168c73dce3cd059727d0ee0b607683eb2094
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 9 17:13:16 2003 +0000

    openbsd35-20031009
    
    
    OpenBSD 3.5 config files
    fix afs_osi_suser for 3.5 (from provos@citi.umich.edu)

commit 0bc7169a9c7abf2dc1b2a13cb97bf366a3174649
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 8 14:48:11 2003 +0000

    openbsd-20031007
    
    
    use poll instead of select for 3.5 and beyond
    reported by provos
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    works much better if you check the right vnode pointer

commit dc0e2fe16a877a1100945bbf15951296a3c23d23
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 1 15:04:34 2003 +0000

    freebsd5-20031001
    
    
    FreeBSD 5.2 config files.

commit 161a1f65095eb6da989a7386588918c9ec5ef640
Author: Kris Van Hees <aedil@sinenomine.net>
Date:   Sat Sep 27 07:23:30 2003 +0000

    ubik-dont-serve-data-while-syncing-20030927
    
    
    while we're syncing a new database over, and if the sync fails, don't keep
    serving out of the truncated and/or trashed database. set the db version to 0
    before starting the sync.

commit d4d4680f403dd0f857a6571a0d9a8adfa1fbdc2d
Author: Jim Rees <rees@umich.edu>
Date:   Fri Sep 26 17:57:45 2003 +0000

    openbsd-20030926
    
    
    check for (v_type == VNON) from VFS_VGET in UFSOpen
    remove dead prototypes from osi_vnodeops.c

commit b39bf74e58096c0c8bc6c52cad8ffb0aa319200d
Author: Jim Rees <rees@umich.edu>
Date:   Thu Sep 25 17:26:10 2003 +0000

    more-sysnames-20030925
    
    
    add openbsd 3.3-3.4, freebsd 5.1-5.2 (from wollman@khavrinen.lcs.mit.edu)

commit 66ebac7872c41a57584ae7e734686e8486b08ac1
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Sep 24 20:26:54 2003 +0000

    deal-with-new-gcc-multiline-behavior-20030924
    
    FIXES 2154
    
    "foo
    bar" is right out
    
    deal.

commit 5b7f5d6f44d9ee73ba36b1507d929344bfb463a6
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Sep 24 20:02:05 2003 +0000

    lwp-elf-bsd-and-assembly-cleanup-20030924
    
    FIXES 2153

commit 5d4f88c5c32a63e368b9750481abf6c37a5bfde9
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Sep 24 19:54:10 2003 +0000

    fsync-wait-typing-mistake-20030924
    
    FIXES 2155
    
    correct refs to fsync_wait

commit 42d23ccf9aafc264a5e9d47bceb979c8e8caa0bf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 24 19:33:36 2003 +0000

    linux-dentry-revalidate-make-sysname-lists-work-20030924
    
    
    pass the unmangled name into afs_lookup in dentry_revalidate if dnlc lookup
    fails.

commit a4d467351ab715e20f94a31aa1aa1cc82c4b1564
Author: Robert A Basch <rbasch@mit.edu>
Date:   Tue Sep 23 22:44:16 2003 +0000

    windows-doesnt-always-have-long-long-20030923
    
    
    Still can't assume long long exists; can break Windows build.

commit c5b9483a47f3240b6a12a97bb0028ea0e9dd3cef
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 22 20:19:21 2003 +0000

    callbacks-later-remove-lhs-cast-20030915
    
    FIXES 2100
    
    lhs cast illegal, some compilers barf, remove it.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 2100
    
    lhs cast illegal, some compilers barf, remove it.
    this time commit the correct patch

commit d3093f2ba6eb7370f0056e1c140cb879212c75ba
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Mon Sep 15 22:39:10 2003 +0000

    vos-fix-fprintf-args-20030915
    
    FIXES 2096
    
    kill extraneous argument to fprintf

commit ea4a465aa48fd79c6b04a3f9bb438d9c88daa85a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Sep 15 22:31:01 2003 +0000

    res-search-test-shouldnt-use-res-close-20030915
    
    FIXES 2099
    
    res_close() not part of generally accepted resolver api

commit 387f83d8d879be170c294fca66629d7559ff0619
Author: Jeffrey Altman <jaltman@columbia.edu>
Date:   Mon Sep 15 22:12:28 2003 +0000

    winnt-newcreds-dialog-missing-attribute-20030915
    
    FIXES 2119
    
    DS_CENTER attribute missing from dialog.

commit 18d060c68d32807b1c694e58ae524d817d46266c
Author: Jeffrey Altman <jaltman@columbia.edu>
Date:   Mon Sep 15 22:02:25 2003 +0000

    winnt-avoid-leak-and-memory-corruption-in-afscreds-20030915
    
    FIXES 2120
    
    WINNT/talocale/TaLocale.h conditionally defines REALLOC() to
    TaLocaleReallocFunction().
    
    WINNT/client_creds/afscred.h  conditionally defines REALLOC() to
    AfsCredsReallocFunction().
    
    Unfortunately, AfsCredsReallocFunction is never used because REALLOC is
    always defined first by an include of Talocale.h within afscreds.h.
    This is a problem because it results in memory being allocated within a
    DLL and then freed by the EXE.  This results in both a memory leak in
    the DLL and memory corruption in the EXE.

commit 5aa025d9e46a47811818ae14d371837d5e518f48
Author: Robert A Basch <rbasch@mit.edu>
Date:   Sat Sep 13 21:14:32 2003 +0000

    windows-doesnt-always-have-long-long-20030913

commit d2a51dfe9ab5a2f10fb734a95db8333030275279
Author: Jim Rees <rees@umich.edu>
Date:   Tue Sep 9 22:14:34 2003 +0000

    freebsd50-20030909
    
    
    use VFS_VGET with correct args instead of igetinode
    fix str warnings in dir.c

commit c734141bdcd5dc2909ce2805c79b003f1397c9bd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 4 16:57:38 2003 +0000

    irix-volser-lwp-stack-20030904
    
    FIXES 2031
    
    may be needed on more platforms
    based on suggestion from salvet@ics.muni.cz

commit b033d78f2906b313da957771d0b8cca536e63ea2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Sep 4 16:45:38 2003 +0000

    sys-dont-rebuild-for-aix-files-20030904
    
    FIXES 2040
    
    hack, touch the files so we don't rebuild for them

commit 8b59d97972fa80a2a65acbba10199de264fbab1b
Author: Jeffrey Altman <jaltman@columbia.edu>
Date:   Thu Sep 4 16:41:00 2003 +0000

    winnt-use-current-platform-sdk-20030904
    
    FIXES 2068
    
    _WIN32_WINNT definition must match _WIN32_IE
    to use current platform sdk

commit 333975e8797232b0e5c59572430e273dd169529b
Author: Jeffrey Altman <jaltman@columbia.edu>
Date:   Thu Sep 4 16:35:05 2003 +0000

    winnt-checked-do-debug-20030904
    
    FIXES 2069
    
    Disable optimization; generate full debug info in objs for checked build.

commit b124918ec9c2f92bd51b5ed66ba195c414178532
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 4 16:22:56 2003 +0000

    winnt-binaryify-icos-20030903
    
    
    at suggestion of rsm4@cssd.pitt.edu

commit 368b3eb0aa4016621b8a1004693faacb8c2f959a
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Thu Sep 4 04:30:30 2003 +0000

    winnt-nsis-installer-update-20030903
    
    
    more work on the nsis installer
    should be mostly complete

commit 21c5eaa31f165e830dfd4720c0d0fbb7f63f1a77
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Sep 3 17:47:15 2003 +0000

    aix52-support-20030903
    
    
    AIX 5.2 support
    does not include param.h
    does not include deadlock fix for afs_vnop_remove.c

commit b796ecc392e743c583d6a6be4f80378ead772bbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 3 07:48:02 2003 +0000

    linux-fstrace-syscall-return-code-20030903
    
    
    so fstrace doesn't get bogus return values

commit 741e7005daf323cf8890f26aa92e8d78baefb43c
Author: Jim Rees <rees@umich.edu>
Date:   Fri Aug 29 23:00:04 2003 +0000

    freebsd50-20030829
    
    
    pass thread, not proc, to VOP_[UN]LOCK in afs_write
    pass correct bio arg to biodone in afs_strategy
    fix some warnings
    reformat some #ifdefs for clarity

commit 352ffae3d2cb87cec6c94c8fc5f2d1402f00dd7a
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Fri Aug 29 03:12:24 2003 +0000

    winnt-nsis-installer-server-support-more-languages-20030828
    
    
    make server available to install. support more languages.

commit a80ce6e4dbd804a91a3d17ebf82a8db82c488af2
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Fri Aug 29 03:11:28 2003 +0000

    winnt-server-dirpaths-fix-20030828
    
    
    make server stuff actually be able to run

commit c0fb8c9cbb6aba73fecf8a333648192122a0de42
Author: Jim Rees <rees@umich.edu>
Date:   Thu Aug 28 16:19:17 2003 +0000

    ukernel-osi-credp-20030828
    
    
    also declare and init afs_osi_credp for ukernel.
    thanks to nathan for bug report.

commit 9053e5c9468fbf0092ae167d606632f1a45b4284
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Thu Aug 28 04:46:04 2003 +0000

    winnt-64bit-env-20030827
    
    
    define and support 64 bit env on windows

commit 3467c697025a8d857a023cba549f0218e6dbb04e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Aug 28 04:16:33 2003 +0000

    voldump-builds-with-volser-20030827
    
    
    avoid circular dependancy issue.

commit 84413f9d4a4d6eda515c33e50f6ac86ec7e8d236
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Thu Aug 28 01:43:05 2003 +0000

    winnt-nsis-installer-20030827
    
    
    make the nsis installer actually work.

commit f40f466c7f5086e425f53a15022396f550874aa5
Author: Jim Rees <rees@umich.edu>
Date:   Wed Aug 27 22:43:16 2003 +0000

    osi-credp-20030827
    
    
    Use a pointer for afs_osi_cred, and crget() instead of just inventing one.
    Required for FreeBSD, which puts a mutex in the cred.
    Not strictly required for other BSDs, but it's more correct.

commit 3d50a78236db35d1e97a0f2b5dc0b620cba37b09
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 26 19:05:54 2003 +0000

    packed-int64-macros-20030825
    
    
    these were missing for the non long long cases.
    
    ew.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix NSIS installer build paths
    clean up base64 support for nt
    clean up int64 support in volser
    
    ====================
    
    these were missing for the non long long cases.
    
    ew.
    
    ====================
    
    these were missing for the non long long cases.
    
    ew.

commit 75ac7f8bf3b5f3b37fdb1c2383a4bac493f651da
Author: Jim Rees <rees@umich.edu>
Date:   Tue Aug 26 16:09:28 2003 +0000

    fix-format-20030826
    
    
    minor silly indent/format fixes

commit c1157da616ee27667f46bdecd8438736b32ba8b1
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Tue Aug 26 04:03:32 2003 +0000

    winnt-build-cleanup-20030825
    
    
    include unified afs error support for winnt. removed dup'd code.
    
    supports building an installer with NSIS
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    include unified afs error support for winnt. removed dup'd code.
    
    supports building an installer with NSIS
    
    remove orphaned osi_malloc header ref
    
    ====================
    
    more updates. make libadmin build, fix dependancies for unified_afs,
    copy rxstat header out during build
    
    ====================
    
    fix NSIS installer build paths
    clean up base64 support for nt
    clean up int64 support in volser
    
    ====================
    
    more updates. make libadmin build, fix dependancies for unified_afs,
    copy rxstat header out during build

commit d1e8e34e6112e3f5013f4ffc5db7be8faef082da
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 26 03:43:21 2003 +0000

    dir-dont-oops-on-corruption-20030825
    
    
    If afs_dir_GetBlob gives us a corrupt blob, try to handle it gracefully.
    
    Ideally, we'd figure out *why*, but, what crash dumps?

commit d7cf6a26e0cb0dfa577286dc45036eb33123632d
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Mon Aug 25 21:36:40 2003 +0000

    winnt-nsis-installer-20030825
    
    
    include NSIS installer files

commit 46c3ff8515349476c30bfd4bf5c75e160d90f0ae
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 25 21:33:27 2003 +0000

    dumpsize-int64-support-non-64bit-platforms-20030825
    
    
    this didn't compile on non long long platforms.
    
    again, ew.

commit 0f97dbabceab1dc8345ae5273af8d817317733bd
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Aug 24 22:22:39 2003 +0000

    vol-dump-tool-20030824
    
    FIXES 2008
    
    create direct-from-disk volume dump tool

commit 292a9377c9783a9ff7fd9bfbbc91690790c6ffe2
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Sun Aug 24 18:17:44 2003 +0000

    winnt-update-to-build-again-20030824
    
    
    get things closer to building again for winnt port

commit 3254836ee9ac6ef6e090ac3be68a6131adf5b701
Author: Robert A Basch <rbasch@mit.edu>
Date:   Wed Aug 20 23:41:06 2003 +0000

    fix-indent-lossage-20030820
    
    
    Fix lossage that breaks Windows build introduced by running indent.

commit ec35af350a4a2d89940139461a9d5b82996ea0b2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Aug 16 00:50:27 2003 +0000

    use-largespace-for-osifile-20030815
    
    
    Use AllocLargeSpace for osi_file's on Linux because it sometimes
    exceeds SMALLOCSIZ.

commit d2c30d069bb9ea803b347d9482ef788f59da3566
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 14 04:55:55 2003 +0000

    memory-allocation-fixes-20030813
    
    
    Properly free allocated memory from osi_AllocLargeSpace and
    check the amount of memory requested from osi_AllocSmallSpace
    to avoid a possible panic.

commit f249aaeede96d99434cd0112cc2189e8c7266c8c
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Tue Aug 12 05:06:37 2003 +0000

    winnt-dotnet-support-20030812
    
    
    "The 1.2.10 build ALMOST builds out of the
    box in Visual Studio .NET 2003.  The MIDL compiler's default option
    changed from /NO_ROBUST to /ROBUST in version 6.0.359.  So I propose
    that we put the /NO_ROBUST switch in the NTMakefiles as part of the
    command line."

commit 63fb9cd1d4dee92be77141fa45d8534432bb3110
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 11 23:22:02 2003 +0000

    ptprocs-supergroups-stub-20030811
    
    
    have a stub to go with the unifdef'd .xg file.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    have a stub to go with the unifdef'd .xg file.
    
    make the stub actually work. i wonder if it's ok to cheat like this.
    (return RXGEN_OPCODE)

commit be95c11413b06f4a3e6007e46c04a1e0bf34c70e
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Mon Aug 11 20:29:21 2003 +0000

    usermode-linux-configure-cleanup-20030808
    
    
    clean up configure test for usermode linux

commit 8f00fdfd5fc09f6c341125d46fa7457108dfa796
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 8 22:54:30 2003 +0000

    reindent-again-20030808
    
    FIXES 1774
    
    catch things which crept in. if emacs hadn't started ignoring my code
    formatting settings this would suck so much less....

commit 28fb8f1e02e1a8f4f058281b41311b9846656388
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Fri Aug 8 22:34:28 2003 +0000

    ptserver-supergroups-cleanup-20030808
    
    FIXES 1834
    
    last changes needed for nested pts groups

commit e11771d8a344f0bd84d93c3c0acef44069fe07b3
Author: Matthew A. Bacchi <mbacchi@btv.ibm.com>
Date:   Fri Aug 8 22:20:46 2003 +0000

    ptutil-use-libcmd-20030808
    
    FIXES 1276
    
    use libcmd in pt_util

commit 856ae10278b1624c15c8ac6291026da12f8b7352
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 8 22:00:09 2003 +0000

    pinstall-execve-adhere-to-posix-20030808
    
    FIXES 1886
    
    pass in null env in posixly-correct manner

commit 08db75c1968917a452f1d7c2a8a88b7a3e538ded
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Fri Aug 8 21:40:42 2003 +0000

    large-file-support-20030808
    
    FIXES 1493
    
    large file support in the fileserver, again

commit 0e49bd804aaca2b86a6adac5496ca793675fe870
Author: Alf Wachsmann <alfw@slac.stanford.edu>
Date:   Fri Aug 8 21:27:58 2003 +0000

    bos-error-string-args-cleanup-20030808
    
    FIXES 1822
    
    remove bogus arguments to printf in bos

commit 0a0ba24b62329dab8780f6217e56f91921ee6982
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Fri Aug 8 21:22:11 2003 +0000

    viced-vlserver-rpc-proto-20030808
    
    FIXES 1835
    
    add prototype for vlserver function to stifle warnings on aix

commit bab4e2dd948c96f6f2545e4b7ca3b17e0a27d506
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Fri Aug 8 21:21:27 2003 +0000

    remove-unneeded-mman-include-20030808
    
    FIXES 1835
    
    don't include mman.h in lwp fasttime

commit 06a041b9ddbc36cb47d973d16fbbc93ab2af5c49
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Fri Aug 8 21:10:11 2003 +0000

    objdir-build-cleanup-20030808
    
    FIXES 1833
    
    so objdir builds can work on aix

commit d6eefb7be58f4de0057691213e023fc7bb9fd49e
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Fri Aug 8 20:55:03 2003 +0000

    afs-prefer-backup-volumes-on-mountpoints-option-20030808
    
    
    afsd option (-backuptree) and proc interface code for linux to enable preferring
    backup volumes when crossing mountpoints once in a tree of backup volumes.

commit 937a911c674551bf66ac440da43e329ba6b0fda2
Author: Douglas Engert <deengert@anl.gov>
Date:   Fri Aug 8 21:01:25 2003 +0000

    hpux-build-fixes-20030805
    
    
    so we can build cleanly on hpux 11.22

commit f77455bd8676f203168c92e423a3fb11c82c635e
Author: Jim Rees <rees@umich.edu>
Date:   Mon Aug 4 18:48:33 2003 +0000

    lwp-reformat-20030804
    
    
    fix lwp.c:Debug() macro so lwp.c will reformat correctly
    other minor cosmetic fixups

commit f7c4f16110497457263851fed22a0c2ed50521c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 29 23:34:33 2003 +0000

    butm-restore-from-large-files-20030729
    
    
    make restore also work from large files

commit 5227918cb93f8f6b0c0c8c9a02e50c728fc1fce8
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jul 29 19:58:19 2003 +0000

    fix-indent-bug-with-lock-macros-20030729
    
    
    Add trailing semicolons to lock/unlock macro invocations to make
    indent do the right thing, and re-indent.

commit 42396526a7f141ed1d03ba1b2451fc7475773258
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 29 03:00:47 2003 +0000

    opteron-linux-sys-call-hack-fix-20030728
    
    
    smp machines need a larger search space?

commit cd84e65f972ef53b45df742dfef67c04e94c95fd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 25 19:15:15 2003 +0000

    package-build-rules-20030715
    
    
    allow building of macos packages from make

commit 7356b6696e7b22f0d130fe27ef6233bc251b9a0d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 25 05:38:01 2003 +0000

    use-strerror-if-available-20030725
    
    
    discover and use strerror instead of sys_errlist and sys_nerr.

commit 26891bbac0e4aea5402bf44651d284194d503270
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 25 05:30:31 2003 +0000

    linux-largefile-defns-20030724
    
    
    make usd library able to write large files on i386 linux

commit 1a2fa8bd5cca6d69f13b5da47cc175d6337dabcd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 23 17:30:11 2003 +0000

    butc-notice-eot-20030723
    
    
    if we're going to check for BUTM_EOT, have a chance in hell of finding it.
    and not, say, 0.

commit 7161b7362f44b5294034ce71391e7b68245a5b7f
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jul 17 17:00:56 2003 +0000

    freebsd-51-20030717
    
    
    add support for FreeBSD 5.1 (builds, kernel module not working yet)

commit 71a364dc0077390833aaf99ab042001c9a73570e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 16 23:22:54 2003 +0000

    undo-reindent-newline-20030716
    
    FIXES 1782
    
    so the message catalog doesn't upset tools.

commit 872bc94f8ce5d38f0a12e7cec455a2cb368b7427
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 16 00:28:24 2003 +0000

    reindent-20030715
    
    FIXES 1774
    
    thanks to nneul@umr.edu for providing a script to do this.
    gnu indent 2.2.9 options:
    -npro -nbad -bap -nbc -bbo -br -ce -cdw -brs -ncdb -cp1 -ncs -di2 -ndj -nfc1
    -nfca -i4 -lp -npcs -nprs -psl -sc -nsob -ts8
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 1774
    
    fix subst mistake

commit 744212766fed382ede385a0b62b49a9b10fadcfc
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 15 20:49:30 2003 +0000

    freebsd-5x-20030715
    
    
    use curproc->p_pid instead of getpid() (conflicts with kernel getpid)
    pass correct number of args to afs_close

commit 40d7a8b4f144d13628ac18b35e8c861af35beab6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 15 06:30:04 2003 +0000

    hpux-make-packaging-target-20030715
    
    FIXES 1315
    
    make the make rule able to make packages

commit 8ce988f5fd7e801b8801607ed468e8a3cff4c7f2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jul 15 00:43:45 2003 +0000

    aix-objdir-build-20030714
    
    FIXES 1763
    
    we never get this right.

commit 55738b0971210912d1d515943f3bde95be36ad39
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jul 11 19:45:07 2003 +0000

    freebsd-5x-20030711
    
    
    more curproc -> curthread

commit 7eeb271d9f12498b77f90a28c063bdfcb22afa39
Author: Robert S. Murawski <rsm4@cssd.pitt.edu>
Date:   Fri Jul 11 03:12:46 2003 +0000

    winnt-fileinfo-is-directory-20030710
    
    
    correctly report directories by not setting field in incorrect position
    in reply.

commit ddac9ce59abee2f53d6243b05c502966dfc9ad56
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Thu Jul 10 22:52:15 2003 +0000

    linux-usermode-better-test-20030710
    
    
    test the source tree and not the running kernel

commit 378de32cbca1bbe3bf605f72a222ec0a655a8c6b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 9 20:44:46 2003 +0000

    package-build-rules-20030709
    
    
    allow building of macos packages from make

commit c59e18c174569393ada98bb2ff1ab80c51c07b2b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 9 19:55:32 2003 +0000

    macos-pkg-update-csdb-20030709
    
    
    attempt to update cellservdb before building packages

commit e8775604576da0b1c1b180f0c0922222522c0dd5
Author: Paul Weber <paul.weber@hp.com>
Date:   Wed Jul 9 19:06:59 2003 +0000

    hpux-packagings-20030709
    
    FIXES 1315
    
    updated packaging for hp-ux 11.00, 11.11 and 11.22

commit e6b5dee3bcdd7dc825c3b60df7c6893a31fa2c85
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 9 18:41:02 2003 +0000

    no-kerberos-env-20030709
    
    
    you really don't want AFS_KERBEROS_ENV

commit 7e11fe0bb2dbe66de36b6aa2bf1383fd47c83c55
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jul 7 23:30:46 2003 +0000

    openbsd-packaging-20030707
    
    
    add bos to usr/vice/bin
    strip -x usr/vice/bin/*

commit b6a2aae8216822024d1ca844beaf866a02f3cdff
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jul 7 23:09:27 2003 +0000

    openbsd-flock-fix-20030707
    
    
    release all locks on last close, not just those for this process
      (not correct but better; needed for posix)
    only sleep for remaining time in afs_osi_Wait if woken before timeout
    add proto for afs_open

commit 75c205ed892a36be13b75d37718d8207c5a5abcb
Author: Kris Van Hees <aedil-afs@alchar.org>
Date:   Mon Jul 7 22:58:39 2003 +0000

    linux-uml-update-20030707
    
    
    remaining update for uml, already i 1.2.10-rc2

commit fc60d09e3d6b20ffa3cc25368a3c06f20dd3cd9c
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jul 7 18:04:04 2003 +0000

    openbsd-vnops-20030707
    
    
    always return child locked in lookup
    add support for PDIRUNLOCK flag

commit 71bf49aa93c393bd977155c54e423da0d2a36ad9
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jul 7 17:15:48 2003 +0000

    freebsd-4x-fix-20030707
    
    
    fix merge screwup

commit 4dd74ef18256f6052bc7279aff68d347fb723bd6
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Wed Jul 2 02:03:17 2003 +0000

    splint-support-20030701
    
    FIXES 1493
    
    add splint support targets to makefiles
    add support files

commit a633a9920803860e8b4167501f0ffa171fcf40c2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 2 00:53:09 2003 +0000

    translate-more-vol-errors-20030701
    
    
    based on complaint from Ryan Underwood on openafs-info.
    translate to EDQUOT and ENOSPC actually instead of just returning random
    numbers

commit 526316e97b0eb6e60789c2ce46a9183542c04682
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 23:55:12 2003 +0000

    snprintf-varargs-fun-20030701
    
    
    this probably needs a better fix. however, one some platforms, we see:
    ./snprintf.c: In function `afs_vsnprintf':
    ./snprintf.c:227: `short int' is promoted to `int' when passed through `...'
    ./snprintf.c:227: (so you should pass `int' not `short int' to `va_arg')
    
    and it won't compile. are there platforms where short is correct?

commit 3f8b428d52feb45e6d2dc3577c7c38306c98e0d8
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 1 23:41:22 2003 +0000

    freebsd-50-creds-20030701
    
    
    freebsd 5.0 module now loads and runs!
    init creds in osi_Init
    don't call crhold on afs_osi_cred, because the mutex is invalid
    afs_xioctl takes a thread, not a proc

commit 239067b1476801254c502c348893bb49553b5e74
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 1 23:21:34 2003 +0000

    linux-i-alloc-sem-usage-20030701
    
    
    modern kernels appear to use i_alloc_sem around truncation

commit f43c2f4412d670ce1131dc429cb43302352df3e4
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Jul 1 23:02:58 2003 +0000

    aix-51-support-20030701
    
    FIXES 1661
    
    make afs work for aix5.1 64 bit.
    some code cleanup

commit 4bda27a286acb45ce87131eb43d80dbcbe5e5b39
Author: Douglas Engert <deengert@anl.gov>
Date:   Tue Jul 1 20:43:08 2003 +0000

    winnt-enable-global-drive-mappings-20030701
    
    FIXES 1614
    
    This will allow access to AFS from system processes and scheduled tasks.
    It also means that each user does not have to map AFS to his own
    drive.

commit f661ad4e58f6ad7fd9aea9755c141e0a2d742b66
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:39:18 2003 +0000

    ptserver-make-main-int-20030701
    
    FIXES 1645
    
    don't declare main void.

commit 9d1570615849e9f83e78d365fb98df743f512550
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:34:23 2003 +0000

    libadmin-pts-pointer-fixes-20030701
    
    FIXES 1647
    
    fix pointers to eliminate warnings

commit 4fc1bbdf9406bf28e9027d68d3b861ded9b65fd5
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:30:30 2003 +0000

    use-lncurses-instead-of-path-20030701
    
    FIXES 1648
    
    use -lncurses instead of explicit path

commit 96c7261a229207a44e483cce52478fbb1b35fe96
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:27:54 2003 +0000

    ignore-pam-module-if-no-headers-20030701
    
    FIXES 1649
    
    we check for pam headers; use the result

commit 88e2d8e292e687d3193dcaff62ffd5f2ab4f72ad
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:23:51 2003 +0000

    gcc-warnings-cleanup-20030701
    
    FIXES 1650
    
    add headers, cleanup castings

commit 010af620459e2af0841810f1b232eccd7bc4ccb1
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 20:14:29 2003 +0000

    eliminate-bogus-rebuilding-20030701
    
    FIXES 1651
    
    so makefiles have proper dependancies

commit a75f0516f52d967a1ffa0088fddaff88fe3f40bb
Author: Peter Breitenlohner <peb@mppmu.mpg.de>
Date:   Tue Jul 1 19:57:05 2003 +0000

    kdump-build-cleanup-20030701
    
    FIXES 1654
    
    don't rebuild kdump on every pass

commit e28aaca5ede7e7d4caecb46af1ee67a9879b1b75
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 1 19:12:18 2003 +0000

    protos-20030701
    
    
    add proto for init_et_to_sys_error()

commit a4bfe58a1b2dfe7dc84e593678d80e4247e5d62f
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jul 1 19:06:38 2003 +0000

    freebsd-20030701
    
    
    freebsd: eliminate unresolved symbols
    kernel module loads now, but doesn't get very far

commit 4e7136740c8c41e49d9d88969feab4bc0eff8a2a
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 30 20:51:57 2003 +0000

    label-in-col-1-20030630
    
    
    put asm labels in col 1 (some asms are picky picky)

commit 88f3f666dee7a74d2011cddb4415377bbda3c108
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 30 20:44:50 2003 +0000

    with-bsd-kernel-headers-20030630
    
    
    add --with-bsd-kernel-headers configure option
    thanks to nathan for help with this

commit b251040bb2086d9bc85f9c79ea53e83407c04492
Author: Jim Rees <rees@umich.edu>
Date:   Sat Jun 28 20:39:03 2003 +0000

    freebsd-20030628
    
    
    change freebsd kernel module name to libafs.ko (required by kldload)

commit cf984d3d5ca6d68c6dc7cc38d75efa68dba6c0d4
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 27 21:54:31 2003 +0000

    openbsd-oops-20030627
    
    
    back out my last commit. I'm told it's not wanted.

commit f0245940b88cbe35e3c00364f29127d00e8af0df
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 27 21:32:28 2003 +0000

    freebsd50-20030627
    
    
    makefile changes to build freebsd 5.0 kernel module

commit 4ec35eae77327cbe2feaa3316246ea108c6adee2
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 27 20:55:46 2003 +0000

    openbsd-20030627
    
    
    use -fno-stack-protector for all openbsd after 3.2

commit 819df73c887c7999cf8163e0e95477a88a67490a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 27 15:12:06 2003 +0000

    bozo-ubik-needs-rx-20030627
    
    
    make ubik depend on rx, not vice versa

commit def59db27bb8a6b2b123547b30054d8ff380366e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 27 15:07:47 2003 +0000

    rx-xdr-rename-userland-symbols-also-on-amd64-linux-20030627
    
    
    because the XDR struct is different on amd64, we need to do this to avoid tainting
    namespace of processes which otherwise use XDR and wouldn't use ours otherwise.
    
    this should be done otherwise, or maybe we *should* use the vendor XDR when we can.

commit e458134e448ebcebadf876d8d891081375db80ee
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 27 15:01:21 2003 +0000

    strl-20030627
    
    
    add strlcat, strlcpy to libutil
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    src/util/strlcat.c src/util/strlcpy.c

commit 51c36cd685ed8cd912dcba865c852d168f75c7fb
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jun 26 18:00:11 2003 +0000

    bsd-no-sysparam-for-asm-20030626
    
    
    don't #include sys/param.h in asm code (lwp/process.s)

commit 038ee0211017a7318c74409c63d5fb2db9a5e63d
Author: Ben Creech <bpcreech@eos.ncsu.edu>
Date:   Wed Jun 25 19:51:53 2003 +0000

    windows-zombie-fix-20030625
    
    
    To refresh your memories, this past semester, NC State experienced a
    problem wherein the OpenAFS Client for Windows would go into a zombie state
    and stop responding to traffic on the SMB interface until restarted...

commit 2efac26e48946b3928966b93dcee21dc5f73b40e
Author: Brent Graveland <brent@graveland.net>
Date:   Tue Jun 24 20:30:59 2003 +0000

    openbsd34-20030624
    
    
    openbsd 3.4:
    add -I${TOP_INCDIR} to lwp/process.s compile flags
    use afs_strcat

commit e0306e8c05c16b176f9861b271d358bcdded74d2
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jun 24 20:24:18 2003 +0000

    openbsd-groups-20030624
    
    
    openbsd:
    use the right creds in afs_xsetgroups
    don't clobber the ucred pool by running off the end of the group list
    don't over-hold creds

commit 7ac709c80bed82db08d0c7d71f91be34feeb63a2
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Mon Jun 23 23:46:19 2003 +0000

    sun-x86-20030623
    
    
    also use process.i386.s for sun x86

commit 3cd54ac636d38fb45ea957382c669e8b5d2df8cc
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 23 23:14:06 2003 +0000

    setpag-proto-20030623
    
    
    use prototype for setpag for freebsd too

commit 89a13a3bb1713359f0c3d2ba4d44d078d5264765
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 23 22:48:49 2003 +0000

    handlecontext-20030623
    
    
    only include code for HandleContext when it's needed, and
    make it more obvious when HandleContext is needed

commit 5db7b8a88cd0f570e851333228f1f62b71d8c124
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 23 21:27:39 2003 +0000

    add-strcpy-for-openbsd-20030623
    
    
    add strcpy() to afs_util.c for OpenBSD 3.3.
    Please don't look at my previous attempt to fix this.

commit d7f00e40498be72c7426cf7731329fc71ce0de6f
Author: Jim Rees <rees@umich.edu>
Date:   Mon Jun 23 18:02:17 2003 +0000

    i386-elf-20030623
    
    
    break out i386 code from lwp/process.s to separate source file,
      as discussed at workshop.
    add support for OpenBSD 3.4, contributed by Brent Graveland <brent@graveland.net>
      (requires kernel patch for lkm; see:
      http://graveland.net/openbsd/openafs-on-openbsd

commit 725db719eee937cff6f764289b822fc428d5b0d5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jun 23 17:04:29 2003 +0000

    vol-extra-logging-on-attach-detach-20030623
    
    FIXES 1387
    
    add extra logging, revert in cases where you don't have log level turned up

commit e2507583d54d55576500d59a7205fa5dce0259a3
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jun 20 16:42:07 2003 +0000

    freebsd-64bit-env-20030620
    
    
    Add AFS_64BIT_ENV to all FreeBSD param files

commit 8236e418cc829a30eb6176184a9fe3b51c7ed1ba
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 20 01:40:15 2003 +0000

    more-warnings-and-prototyping-work-20030619
    
    FIXES 1816
    
    abstracted from work by toddr@rpi.edu

commit 738be8220e48ccccb35d016d750e1721efaf64ca
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 20 01:35:19 2003 +0000

    snprintf-string-includes-20030619
    
    
    and some warnings killed. anyhow it should be happier now

commit 5f09e7031d8fa4e44d94eace5b326785eee99027
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 20 00:38:57 2003 +0000

    add-maintainer-clean-target-20030619
    
    
    oops. make INSTALL's idea of the target name work also, in addition to "pristine"

commit d73fc1d60295f41b6e897cb87315bd31d8e2891f
Author: David Magda <dmagda@magda.ca>
Date:   Fri Jun 20 00:37:32 2003 +0000

    vsnprint-af-inet-bsd-header-20030619
    
    
    the bsds also need socket.h to get a definition for AF_INET

commit 4b2f1af543680039c791242d5bd594a3cd3061f0
Author: Paul Weber <paul.weber@hp.com>
Date:   Thu Jun 19 23:03:29 2003 +0000

    hpux-packagings-20030619
    
    FIXES 1315
    
    updated packaging for hp-ux 11.00, 11.11 and 11.22

commit bc9ff0f64010b5ed886389ed584fb1c7c8169dc5
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jun 19 20:00:31 2003 +0000

    windows-file-versioning-20030619
    
    FIXES 1488
    
    It adds:
    
    - the binary version of the file version/productversion, which the MSI
    engine sort of want files in MSI packages to all have. This requires
    another variable to be maintained in NTMakefile.i386_nt40 (Please don't
    change the value from 1,2,910,0 to 1,2,9,1 or something like that. The last
    number group in the version is considered completely insignificant by some
    things)
    - some file typing, which I don't know if anything cares about
    - Some new items in the stringfileinfo table, (InternalName and
    OriginalFilename) without which explorer won't show use the version info in
    constructing tooltip text.
    - Actually setting ProductVersion and FileVersion to something real
    - Language codes, which the MSI engine also wants

commit befd22d01d34ccc09c85d7ef0fc683a7df2d77ae
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Thu Jun 19 18:35:44 2003 +0000

    logging-changes-for-large-files-20030619
    
    FIXES 1493
    
    create afs_vsnprintf. use it in FSLog. add new types which are intmax and uintmax,
    32 or 64 bit as needed.. some casting.

commit 106a54eef7dc4e97fd229a7fc0a63a2d69a8ab01
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 19 18:20:08 2003 +0000

    ident-cleanup-20030619
    
    FIXES 1549
    
    change to /* */ comment style
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 1548
    
    i think indent is being stupid, but whatever.
    
    ====================
    FIXES 1545
    
    get rid of macro usage with causes "spurious" else
    
    ====================
    FIXES 1544
    
    comment in ifdef'd out code should be a comment
    
    ====================
    FIXES 1543
    
    make definitions ifdef notdef'd look like definitions

commit 3caa5d6e9691c7d0d19964983f7c4fc6ff948046
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 19 18:08:09 2003 +0000

    des-add-error-so-indent-deals-20030619
    
    FIXES 1546
    
    important to make sure build still errors out

commit f5f73a560ea423a384e3f209ad1d2a3d598bc588
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 19 18:06:29 2003 +0000

    aix-cv-macro-fix-20030619
    
    FIXES 1547
    
    fix macro escaping

commit da3adbb189c5487d4d9e928f9b529e8e99d780b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 19 17:55:10 2003 +0000

    uss-rename-lex-to-lex-file-20030619
    
    FIXES 1550
    
    so reindenting will not do the wrong thing.

commit af1a0ea039223063b582cb44e55a4b58d1ec2836
Author: Manuel Pereira <mpereira@almaden.ibm.com>
Date:   Thu Jun 19 17:53:09 2003 +0000

    java-jafs-update-20030619
    
    FIXES 1565
    
    updates to java jafs, make it work with new cell code.

commit 43011a3a0013aa17a941f8ac0abf87f3efe7df7b
Author: Ryan Lantzer <lantzer@umr.edu>
Date:   Thu Jun 19 17:43:15 2003 +0000

    winnt-avoid-nosuchvolume-for-down-servers-20030619
    
    FIXES 1568
    
    a volume could be marked "no such volume" and hence disappear if a server
    went down until fs checkv.

commit 2bff2bb6f3ba79d4c26ee7d7f3de0898c9e5296f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 19 17:31:33 2003 +0000

    ptserver-rxgen-cleanup-20030619
    
    FIXES 1573
    
    get rid of placeholders, inline opcodes..

commit 0f53b559c34aa4bef8161eda7d7c21c898908119
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 19 17:28:58 2003 +0000

    cvsignore-updates-20030619
    
    FIXES 1580
    
    update cvsignore files

commit 7f16752202c603eadb6d88ae4cee8b55e8c66436
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 19 17:17:20 2003 +0000

    use-mkstemp-correctly-on-linux-20030619
    
    FIXES 1603
    
    might as well fix it all.

commit 1f3990e5eafb6bd9dfdae28ce4fea5b8e5cff79e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 19 17:06:58 2003 +0000

    vos-getsize-20030619
    
    FIXES 1574
    
    ported basically verbatim from work by ilya@ccmr.cornell.edu and
    mitch@ccmr.cornell.edu.
    
    add estimator of dump size support to vos/volserver

commit 3dbc33ad071b9cf22fcef6c9c51f829edb0ece87
Author: David Magda <dmagda@magda.ca>
Date:   Thu Jun 19 14:56:49 2003 +0000

    fbsd-pagefree-proto-20030619
    
    
    s/vnode_pager_freepage/vm_page_free/ to avoid proto conflict
    remove vnode_pager_freepage from afs_prototypes.h

commit a8dd10c862abeba2c05809b9fd921293b7e5e5e6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 17 18:28:00 2003 +0000

    check-mkstemp-in-config-20030617
    
    
    check for mkstemp in configure
    use HAVE_MKSTEMP in src/butc/tcudbprocs.c

commit ae5e2f7865ce1dee9649aa6992f49fc89eb52669
Author: David Magda <dmagda@magda.ca>
Date:   Tue Jun 17 18:08:19 2003 +0000

    use-mkstemp-20030617
    
    
    have the BSDs use mkstemp(3)

commit ecfcebec10542834fe770d2f1c98baa77aaaf90e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 10 21:42:51 2003 +0000

    rxkad-ticket-cleanup-20030610
    
    
    kill forward decls and dead code.

commit 8a33c2d8a590d92df27d7febf708449feae17254
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 10 20:18:34 2003 +0000

    rxkad-check-tkt-length-20030610
    
    
    tkt_DecodeTicket didn't seem to check that ticketLen < MAXKTCTICKETLEN
    
    didn't matter since no callers failed to check, but we should enforce this where the limit is

commit 10a00664e344fd8d8bb2089c5e8a43a62050a5ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 10 20:15:07 2003 +0000

    opteron-no-modversions-ia32-sys-call-table-fun-20030610
    
    
    attempt to deal if modversions is disabled

commit b609b807d24d336dfe8a0939249001dc8874c69a
Author: Joakim Fallsjö <fallsjo@stacken.kth.se>
Date:   Fri Jun 6 22:11:25 2003 +0000

    winnt-give-better-debugging-20030606
    
    
    offer better messages in certain cases

commit ad61a30d57eaf91d6c4edde632459b7e3d9f8700
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 6 20:58:09 2003 +0000

    linux-rx-listener-flush-signals-20030605
    
    FIXES 1409
    
    make sure we flush signals before calling force_sig. i don't know why this
    matters, but it does.

commit 3fd6efb40fb4b81874cd1d48a1b529a175383e55
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 5 22:42:07 2003 +0000

    rx-avoid-leaking-nwaiting-20030605
    
    
    thanks to kolya@mit.edu for suggesting moving rather than adding the
    decrement and confirming sanity.
    
    basically if a call ended up call->error it was possible to queue_Remove()
    it, drop the call, and not rx_nWaiting--; result should be observed as
    rxdebug reporting waitprocs when threads were idle.

commit 718f25e62e7249682f8e9deddb1eb72408f4df9e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 5 15:11:44 2003 +0000

    amd64-hook-ia32-table-20030519
    
    
    if sys_call_table is exported and ia32_sys_call_table isn't, we need it this way

commit 2acd0d9937f6040ab8b9dc0ce3304706136fac87
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 4 17:11:55 2003 +0000

    amd64-hook-ia32-table-20030521
    
    
    keep track of the ia32 table separately. annoying but needed.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    provide the variables we need for ia32 sys call table if
    sys_call_table is exported

commit 244fde00a9da55b4a55cc3c0944b28d28b90e597
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 3 05:31:08 2003 +0000

    afsd-check-for-bad-partition-type-20030602
    
    FIXES 1455
    
    disallow cache directory of types we know cause problems
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 1542
    
    typo

commit ee00daa36432ba6eac6004c6c691aaab98c0e62f
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jun 2 23:44:39 2003 +0000

    softsig-update-20030602
    
    FIXES 1435
    
    changes to help us die and to unblock all signals to wait on

commit 07f9b84fd75eaf7d1ea7129044d01da6532a8de6
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 2 19:11:40 2003 +0000

    kernel-reduce-stack-use-20030529
    
    FIXES 1485
    
    so we allocate instead of using memory off the stack in the kernel paths

commit d0bb3b8fa0aa57634df3aadc2cf86eca6ad4a6c6
Author: Paul Weber <paul.weber@hp.com>
Date:   Mon Jun 2 15:47:12 2003 +0000

    hp-packagings-20030602
    
    FIXES 1315
    
    add HP pacakging files

commit e110b1d34a7141a1fdfe4570418545c59945ce6d
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Mon Jun 2 15:37:48 2003 +0000

    logging-cleanup-20030602
    
    FIXES 1493
    
    logging function cleanup and protoizing

commit df3dbd15787b2523681a3ff8a5c2a2ba22155314
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Mon Jun 2 15:35:59 2003 +0000

    splint-fileserver-volserver-cleanup-20030602
    
    FIXES 1493
    
    add "make splint" target for viced, vol, volser and clean up for splint

commit a04ba28f72ab3d23ce46e71d165c1d8707c5b40e
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Mon Jun 2 15:27:54 2003 +0000

    largefile-2nd-try-base-work-20030602
    
    FIXES 1433
    
    another try at largefile support. macroize so things can be easily cut over

commit 87ba62cc9bbdf64e95eba97b9d85453c08c86bce
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu May 29 19:23:15 2003 +0000

    prototyping-20030529
    
    FIXES 1455
    
    more prototyping.

commit e011b31bfa2a511ef663a85ffd548e64303a4c3c
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu May 29 19:03:14 2003 +0000

    syslog-tags-20030515
    
    FIXES 1266
    
    include a program tag in syslog output

commit 5ecdab3b75c02784ae6d87e93a92d1a3f705c83d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 28 19:34:38 2003 +0000

    closer-to-vc7-support-20030528
    
    FIXES 1334
    
    VC7 dropped support for the LARGE_INTEGER functions (linking against
    largeint.lib doesn't seem to have any effect)

commit aaea47afd223021d98e6c5f3b778fe8b0fd472d8
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Wed May 28 19:18:08 2003 +0000

    start-splint-support-20030528
    
    FIXES 1493
    
    only part of this bug

commit ce4f08f0a9ab6fc7a2c40267aebc48934ec6dfb9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 16:51:08 2003 +0000

    linux-system-calls-return-long-20030522
    
    
    the kernel says they return long. returning int causes sadness. stop being sad.

commit 20656c4a44c4ae294e99eaa60cf8137a2fda51d3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 16:16:19 2003 +0000

    revert-pioctl-return-negative-errors-on-linux-20030522
    
    
    syscall stub handles it. this is actually an overflow on 64 bit system

commit 7d710fd45f7f6fa06de22d4f524342d02ae4afcd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 15:22:18 2003 +0000

    pioctl-return-negative-errors-on-linux-20030522
    
    
    otherwise we can end up with errors that make no sense.

commit 580f1ffc506bb925c28af824e08f84318f1dca64
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 22 05:57:31 2003 +0000

    switch-to-strerror-20030522
    
    FIXES 1458
    
    your brights brighter, your whites whiter. well, at least compilers won't bitch
    that sys_errlist[] isn't supported anymore.

commit 4b88ff73550199014d552f9fddc74785fa5eccdb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 21 20:56:28 2003 +0000

    linux-group-syscalls-return-long-20030521
    
    
    these return long. also call the underlying handler expecting to get a long
    back

commit ad98c8d9562f8d56ba8497467480a2de49e1527a
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Wed May 21 15:45:05 2003 +0000

    close-cellaliases-20030521
    
    FIXES 1481
    
    don't leak a ref to CellAliases

commit 055e0b99f911a1c821cf6264f72bad61d8e63d11
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 21 14:42:53 2003 +0000

    amd64-copy-args-for-ia32-table-20030520
    
    
    first cut at an opteron port

commit 831e17246314f6204b1fe05c8f8a23a3be6b728a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 08:02:53 2003 +0000

    amd64-hook-ia32-table-20030519
    
    
    first cut at an opteron port

commit 9dfb5d60479847c630d46bf67a6cd9570a5b1a21
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 05:01:15 2003 +0000

    amd64-linux-port-20030428
    
    
    first cut at an opteron port

commit a9b72c443e4bd074ecabe7ed005354e55c69b53d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 04:57:44 2003 +0000

    linux-use-kernel-net-include-dir-for-net-20030519
    
    
    since we can end up trying to include things which exist in include/net
    but not include/linux, try to rationalize.

commit 7fa099db6f796eb1eb0528cf8b7b68d27f510dd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 20 04:49:29 2003 +0000

    linux-look-for-syscall-h-in-kernel-20030519
    
    
    some new kernels appear not to have linux/syscall.h in the kernel. no clue.

commit a8b536e7d3f45abd20fa0ea293f5f313189114d4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 16 18:42:28 2003 +0000

    linux-try-sys-wait4-20030516
    
    
    we may have close/wait4 instead of close/chdir or open/exit

commit f1198f411ff0ca77fef0957107cd07ff2ed9bed6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu May 15 18:10:39 2003 +0000

    stifle-valgrind-20030515
    
    FIXES 1379
    
    shut up valgrind on zeroing allocations

commit 6c4bb9b335a3e5464007c61b6c4e4f286281ef0b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 15 17:59:12 2003 +0000

    linux-busy-cache-partition-while-afs-running-and-dont-allow-afsd-shutdown-while-afs-mounted-20030515
    
    FIXES 1454
    
    otherwise you can get into situations where you get strange oopses
    and superblock corruption

commit 36225d657349c6dad851fee286a200ef1d3a82b4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 15 17:41:25 2003 +0000

    vol-more-logging-20030515
    
    FIXES 1453
    
    much more to do here. start with this.

commit 5012151295bef1f99944041fd19083ffc7c3f912
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu May 15 17:23:37 2003 +0000

    salvage-allow-hardlinked-logs-by-date-20030515
    
    FIXES 1259
    
    a switch causes salvager to create salvagelog hardlinks by date so
    logs are preserved forever

commit 390083af2e4444c5c6ffc14a573728250f9c7df1
Author: James Peterson <james@abrakus.com>
Date:   Thu May 15 16:41:11 2003 +0000

    winnt-add-osi-event-mc-20030515
    
    FIXES 1373
    
    add missed file

commit 68c67f8621f8d76f430b7329c1db8d6704ec0037
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu May 15 16:25:08 2003 +0000

    solaris-deal-with-gatekeeper-stupidity-20030515
    
    FIXES 1261
    
    make gmake not try to link libafs.o and libafs.nonfs.o into another object

commit 3c66862d6932430e64e7abbd8c87fffd47b5e2cd
Author: Christopher Allen Wing <wingc@engin.umich.edu>
Date:   Thu May 15 16:16:26 2003 +0000

    setgroups-return-errors-negative-20030515
    
    FIXES 1383
    
    return errors negative as linux kernel needs

commit 26ee3fcc3947c8df88b5e95d413b5144f13c7e6a
Author: Alexei Kosut <akosut@cs.stanford.edu>
Date:   Thu May 15 16:00:27 2003 +0000

    darwin-mount-and-disk-arbitration-enhancements-20030515
    
    FIXES 1363
    
    * Allow AFS to be mounted multiple times, each mountpoint with its
      own root volume.  This allows usage similar to the Windows client,
      e.g., mounting a drive that contains only the user's home
      directory.  Our users find this much easier to work with than
      having to navigate the entire AFS tree in the Finder or open/save
      dialog.
    
    * Have afsd register /afs with the DiskArbitration system
      when mounting it.  This means that the root afs volume shows up in
      the Finder immediately, and prevents the Finder from getting
      confused by additional AFS volumes later on.
    
    * Add a "-nomount" option to afsd, which prevents afsd from
      mounting /afs.  We use this by default on our Mac OS X client, so
      that AFS doesn't show up in the interface at all unless the user
      explicitly asks for an AFS volume to be mounted.  This is
      especially handy for portable or remote users who don't always
      have a network connection, since there isn't an AFS filesystem
      around to hang the Finder if the AFS servers can't be contacted
      (the cache manager may still hang, but since there are no AFS
      volumes mounted, the rest of the OS doesn't notice).
    
    * Make it so that /afs (mounted by afsd) will not unmount unless
      MNT_FORCE is given.  This prevents the user from accidentally
      ejecting /afs in the Finder, and also works around a DiskArb bug in
      Mac OS X (possibly fixed in 10.2) where autodiskmount would sometimes
      unmount /afs when logging out, even though it's marked as
      non-ejectable.

commit 19b1a9015f5546881c3c077e4c39d2b8d167dfc5
Author: Jim Rees <rees@umich.edu>
Date:   Thu May 15 15:53:28 2003 +0000

    pioctl-buffer-size-checking-20030515
    
    
    don't check output buffer size against PIGGY

commit 0683dd7fcdc4e8ecb6e3bf79dc0c8d1c2ebec022
Author: Jim Rees <rees@umich.edu>
Date:   Wed May 14 23:08:25 2003 +0000

    openbsd-20030515
    
    
    OpenBSD 3.3 is out now, and seems to work.

commit b6e4d69eff29ed7b3bb280f38c979987165b00d4
Author: Jim Rees <rees@umich.edu>
Date:   Wed May 14 22:47:32 2003 +0000

    openbsd-20030514
    
    
    #include afs/sysincludes.h for OpenBSD.
    I suspect other systypes will need this too.

commit ffeb03ae952b671691387421e0e4319fef97a7c9
Author: Alexei Kosut <akosut@cs.stanford.edu>
Date:   Wed May 14 16:47:24 2003 +0000

    osx-fake-mode-bits-20030513
    
    FIXES 1362
    
    give up on waiting for apple to get things right, which probably means they
    never will.

commit e970988aa1c8ed1b3ab90fdb693be4edebf4dcb5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 14 16:14:54 2003 +0000

    more-prototyping-20030513
    
    FIXES 1351
    
    some ansification in src/ubik, more prototyping

commit 3673e304fd72cf75912cb19b781227c6e53ca897
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 14 16:10:23 2003 +0000

    kdump-deal-with-vnode-to-vc-change-20030513
    
    FIXES 1350
    
    so kdump can compile again

commit d4828d32266cbd6cd9786c5d6e7e6312925e691e
Author: Alexei Kosut <akosut@cs.stanford.edu>
Date:   Wed May 14 16:06:41 2003 +0000

    darwin-use-perl-instead-of-grep-20030513
    
    FIXES 1361
    
    perl is installed by default. grep isn't. use perl.

commit 1932dede050797bcb3a7592e9b0663c696acd48f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 14 15:54:53 2003 +0000

    vol-additional-logging-20030513
    
    FIXES 1387
    
    additional logging for attach/detach.

commit 5bd1a6140aa79cd3ac7e8e384a4f84d4fe3f008c
Author: Douglas Engert <deengert@anl.gov>
Date:   Wed May 14 15:37:06 2003 +0000

    solaris8-dont-read-binding-file-20030513
    
    FIXES 1434
    
    Sun changed read_binding_file in a patch; Make sure we avoid the problem.
    We don't need to call it if afs was already in /etc/system.

commit d9eab68f86dd90cd4cfee623eaca35cd9248b864
Author: Matthew N. Andrews <mnandrews@lbl.gov>
Date:   Wed May 14 15:30:51 2003 +0000

    rx-bulk-example-cleanup-20030513
    
    FIXES 1436
    
    make the bulk example work

commit 436ebe8a8a3463c80d6ae4498a96b66d358ab29c
Author: Jim Rees <rees@umich.edu>
Date:   Tue May 13 22:22:19 2003 +0000

    rx-mtu-params-fix-again-20030513
    
    
    remove redundant decl of rxmtu

commit 7aa0acdbc893e351241066aba2eadc28e64baf62
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 13 05:27:59 2003 +0000

    rxgen-xdr-call-stifle-warnings-20030513
    
    FIXES 1349
    
    eliminate some warnings in generated code from rxgen

commit fcdc120ce70a189ca7ed908688721b72ab3ffe77
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Tue May 13 05:23:56 2003 +0000

    i386-user-mode-linux-support-20030513
    
    FIXES 1396
    
    support for usermode linux

commit bdd9476a9a8df914b1f8d634c1c4bc564cbcb132
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 13 05:11:01 2003 +0000

    vol-gi-prototyping-20030513
    
    FIXES 1432
    
    changed slightly by shadow@dementia.org to not need forward decl.

commit 49358c8ae7cee5b9c91f1d2bddde5a7601f5a573
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 13 05:05:39 2003 +0000

    rx-mtu-params-fix-20030513
    
    FIXES 1433
    
    define needed variables outside ifdef

commit 7cd283e55e3559a42f451cf5d5f5d9dd09d20f21
Author: David Howells <dhowells@redhat.com>
Date:   Tue May 13 04:55:13 2003 +0000

    pioctl-buffer-size-checking-20030512
    
    FIXES 1413
    
    buffers are signed, should be checked for negative in addition to smaller than
    PIGGYSIZE; also, check out buffer size before calling pioctl handler.

commit c3cee1da8cab49810ba7509fdf17feba3258fd05
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 13 02:58:32 2003 +0000

    volser-ros-use-parent-id-20030512
    
    FIXES 1448
    
    everything shoudl be done as the parent volume id so the volume group stuff works right.
    otherwise, we create things which get stored under one "tag", try to open the,
    under another "tag" and they aren't there, because it doesn't hash the same.

commit 079af80b44d6175d4def489338a25159aa82a1af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 8 19:53:48 2003 +0000

    linux-gcpags-deal-correctly-with-uid-tokens-20030508
    
    
    look at the correct uid, so we don't gc in use tokens

commit ab088215909fb60067adbdaab168556ea99f97fe
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon May 5 20:58:36 2003 +0000

    winnt-eventlog-newline-fixes-20030505
    
    
    Clean up newline conventions in src/WINNT/eventlog/lang/*/event.mc.
    Existing files were in CVS with CRLF newlines, and so some Windows tools
    would check them out with CRCRLF.  Unfortunately, the mc-compiler can't
    handle CRCRLF newlines.  Fixing the files in CVS to have LF newlines
    (like all proper text files) makes the problem go away -- they end up
    with CRLF if checked out using tools that do newline conversion, and
    LF-only if not, and the compiler accepts either.

commit 6cb978478120614f0f9df21a08a3be9decc89435
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 5 17:13:25 2003 +0000

    ubik-dont-copy-stack-garbage-when-netinfo-forces-primary-address-change-20030505
    
    
    don't mess up count by reusing it

commit 76832e229efa8ee34e0aeead0c13381f027e92fd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon May 5 16:40:25 2003 +0000

    mapname-allocate-enough-space-for-pr-nametoid-20030505
    
    
    the alternative is to crash when we get a foreign user here

commit e9993b1fce5a9d0260d94e95811a5b5dd79ef4ad
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Apr 30 02:14:43 2003 +0000

    add-afsdb-aliases-for-cellservdb-cells-20030429
    
    
    Add cell aliases we find using AFSDB for cells that have been
    statically configured via CellServDB.  This preserves the AFSDB
    implementation behavior from before the cell code rewrite.

commit 31629a79253aecd5c330597817fd1e04c27a390b
Author: Jim Rees <rees@umich.edu>
Date:   Tue Apr 29 22:39:36 2003 +0000

    freebsd-50-20030429
    
    
    FreeBSD 5.0 kernel module compiles now, but not likely to work yet.

commit dd2cad1e18dcb1912576986feda399954cab2ee2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 29 00:30:09 2003 +0000

    no-sysincludes-in-rx-20030428
    
    
    not the correct fix but without it linux/vnode.h conflicts with osi_vfs.h
    when both get included.

commit f5df7b1d97572b6a0cd5f8a3a7b0f752ae111905
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 29 00:05:57 2003 +0000

    autoconf-deal-with-res-search-as-macro-20030428
    
    
    on some platforms, res_search is a macro for __res_search, find it anyway

commit 509c965d0aef031293edc0fcf3e97587d1deac73
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 28 22:38:20 2003 +0000

    amd64-linux-port-20030428
    
    
    first cut at an opteron port

commit 1c67a70709df397461183b77b724a6e9a4d20eca
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 25 16:54:48 2003 +0000

    proto-20030425
    
    
    add missing prototype for ClearHostCallbacks_r()

commit 5c8d5da46088ece3eed29e6abec7706abfeeb701
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Apr 24 20:21:31 2003 +0000

    uae-dont-translate-zero-20030424
    
    
    Leave a zero return value as zero, rather than translating to UAEMEDIUMTYPE.

commit 05be212fea360747dbe5a9681ca81459b3d6ac62
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Thu Apr 24 14:37:15 2003 +0000

    viced-shutdown-avoid-deadlock-20030424
    
    
    don't deadlock on H_LOCK if we need to shut down in an emergency

commit 9948575c6ec949ff9212830a143ef1713fcc22ed
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 24 00:03:45 2003 +0000

    freebsd-50-20030423
    
    
    more FreeBSD 5.0 kernel module work.

commit 42a1981fff5c9b3f4855e4f9200fb6a9de53642b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 23 05:31:14 2003 +0000

    afs-analyze-avoid-potential-loop-20030423
    
    
    avoid potentially looping forever in e.g. afs_FetchStatus because
    we exit afs_Analyze too early to increment busyCount, and despite having
    areq->busyCount non-zero we have servers still not_busy which are already down
    that we'll never talk to again. that combined with no conn means we never
    touch most of afs_Analyze, exiting early with shouldRetry set.
    
    incrementing busyCount whenever we exit with shouldRetry set should
    ensure we can never end up looping forever.

commit ea410c1c4d78c74419a300ab1ee1aee62ea5db17
Author: Rolf Sattler <rolf@multi-os-net.de>
Date:   Tue Apr 22 17:45:07 2003 +0000

    winnt-xdr-mem-needs-limits-h-20030422
    
    
    as received from scoot williams

commit f135e42fbf5267b37d4d0cdc7542b2771fdb20a8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Apr 22 16:45:40 2003 +0000

    fs-include-string-function-prototypes-20030422
    
    
    so fs won't segfault on ia64 linux

commit ddd9554560a44314a029d7d2d59af8b7aaaec8ca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 22 06:27:17 2003 +0000

    pass-pointers-for-uuid-printing-20030422
    
    
    pass pointers for uuid string building

commit 5cebfdc757655ba0762b3edd5d9dbdd3dc5f25dd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 22 06:25:50 2003 +0000

    cellconfig-unlock-mutex-on-error-20030422
    
    
    clean up my own mess (i bet).
    certain error cases weren't being cleaned up properly before we returned

commit 3960ee3bb834dafb74ad64be1f84713046187b6c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 21 17:37:08 2003 +0000

    freebsd-20030421
    
    
    add .PHONY target for libafs

commit 26d844a4532dd8dad16f9d0389814fb9ab65a2f8
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 17 23:14:30 2003 +0000

    openbsd-20030417
    
    
    use the correct group list entries (1,2) for pag (duh)

commit 8c788b1e757bc841b36637c8e6876dcd33d9d809
Author: Kevin Coffman <kwc@umich.edu>
Date:   Thu Apr 17 16:05:58 2003 +0000

    aix-20030417
    
    
    I had to do the following to do a 'make dest' on AIX in a directory
    separate from the source:

commit 5d443e0d36850182cb1fe86baad7fa37f58ef842
Author: Jim Rees <rees@umich.edu>
Date:   Wed Apr 16 23:28:52 2003 +0000

    freebsd-50-20030416
    
    
    More FreeBSD 5.0. Most of it builds now.

commit 26c8bff4ee47b1feb1b522ac57163df43eb0ecf2
Author: Jim Rees <rees@umich.edu>
Date:   Wed Apr 16 20:47:07 2003 +0000

    ignore-20030416
    
    
    ignore all MakefileProtos in libuafs

commit 6eac7d68178e5d0800d3ac00c63b50e1ef0378dc
Author: Joakim Fallsjö <fallsjo@isk.kth.se>
Date:   Mon Apr 14 16:45:54 2003 +0000

    solaris-x86-port-already-htons-20030414
    
    
    rx_port is already htons() and htons is a NULL-op on sparc but not on x86...
    make shutdown actually work on x86 solaris

commit e233f0646c81f671f0c70d209ba601f864e3d82a
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Apr 14 00:53:07 2003 +0000

    update-news-file-20030413
    
    
    Note minimum version requirement for 2.2.x series Linux kernels, and
    also note incompatability between 1.2.9 afsd and older kernel modules.

commit 8cb30fa5fb6084f5a6b67120ab1155b7da029e9f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 11 18:50:12 2003 +0000

    softsig-dont-block-critical-signals-20030411
    
    
    blocking these seems to prevent all threads from dying when the kernel
    gives e.g. SIGSEGV to one of the processes. since softsig is to protect us
    from what signals we handle might do in the handler, this should be fine

commit 2abc69100118bb1e50efcb061c60d71ca5b77a7b
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Apr 11 01:58:23 2003 +0000

    update-news-20030410
    
    
    Update NEWS file with important changes going into 1.2.9.

commit 5946081876332bfb53eecf48448b42412ddf9925
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 10 20:57:22 2003 +0000

    linux-try-more-kernel-paths-20030410
    
    FIXES 1364
    
    try /usr/src/linux-2.4 in addition to /usr/src/linux

commit abc9f6b19029fc76093d8c2d1326ad1b36fa1b00
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Apr 10 20:23:23 2003 +0000

    darwin-map-more-versions-20030410
    
    
    Reocgnize MacOS X 10.2.5 as ppc_darwin_60.

commit 429cc8b6467726795bf46bdf1aa612400aa7afdf
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Apr 10 19:55:03 2003 +0000

    rxkad-2b-deal-with-expiry-20030410
    
    FIXES 1369
    
    return the actual error and not RXKADBADTICKET always

commit dbced93c1a46e82f42a4ec51c0accfce38f49ada
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Thu Apr 10 15:55:32 2003 +0000

    static-return-from-structname-20030410
    
    
    return pointer to static data from structname()
    needed by aix, probably others too.
    This bug has been around forever!

commit 3ab4af08ac9262e3384602fe49a4697acdd3ebd8
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Apr 8 22:38:18 2003 +0000

    viced-file-readonly-fs-support-20030408
    
    
    add missed curly braces so VannilaUsers don't get EACCES

commit 2b295f43938a1b7defc151111a15021f197317fa
Author: Jim Rees <rees@umich.edu>
Date:   Mon Apr 7 21:24:39 2003 +0000

    afsutil-protos-20030407
    
    
    remove redundant prototypes and move to afsutil_prototypes.h
    fix protos for int64_to_flipbase64
    thanks to Alexei Kosut <akosut@cs.stanford.edu>

commit f40a6356f7917b164c4b949bc1916dbcb83a2f38
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 7 21:11:35 2003 +0000

    h-gethost-r-race-20030401
    
    FIXES 1308
    
    don't deref null identP if code was -1

commit 3ab37f714824d90701caa9123fc7c820aa411bcb
Author: Michael Niksch <nik@zurich.ibm.com>
Date:   Mon Apr 7 18:56:28 2003 +0000

    salvager-aix-update-20030407
    
    
    make it work with namei

commit dd517125c21e010954989d60caa31bc2da7ca394
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 7 18:38:56 2003 +0000

    flushhostcps-20030407
    
    
    make it so flushhostcps can't try to Release when no host was found,
    which was apparently the problem dlc@cs really observed.

commit 75f02de7034f20663781cf20851ef8d6f5ed5f46
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 4 21:15:54 2003 +0000

    openbsd-33-20030404
    
    
    param file for OpenBSD 3.3.  untested but "should work."

commit 26a36110b0b23267526bffdbf6d0ef0b0a1b094d
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 4 19:04:22 2003 +0000

    freebsd-5-20030404
    
    
    preliminary work on freebsd 5.0 kernel module

commit a7c365f5cc5049343b06d0983ad254edbbd78796
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 4 17:49:33 2003 +0000

    openbsd-20030404
    
    
    changes suggested by mcmer@gmx.net

commit 2dd8bbd1e267f85b8caf3f7f9a48b5837e7f2a79
Author: Jim Rees <rees@umich.edu>
Date:   Fri Apr 4 17:09:21 2003 +0000

    remove-redundant-proto-20030404
    
    
    remove redundant rxk_NewSocket proto

commit 9dc3708d5fbe5604558dde4a206bfe6846f47183
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Fri Apr 4 16:53:00 2003 +0000

    freebsd-5-update-20030404
    
    
    re-apply rev 1.6 patch, lost in rev 1.7

commit dd6f6844b50880445b3dae0dc01292ba45bf7641
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 3 22:46:51 2003 +0000

    openbsd-20030403
    
    
    these never worked, and it seems unlikely anyone will ever use them

commit 4f92bc4d347a43604d4d39132080d4e929e5cbde
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 3 22:42:22 2003 +0000

    obsd-create-file-so-configure-shuts-up-20030403
    
    
    so configure won't whine

commit e1e6e7e95fd8a9ef0b97fb46a58ee422e2964ee4
Author: Jim Rees <rees@umich.edu>
Date:   Thu Apr 3 15:48:53 2003 +0000

    fix-window-size-20030403
    
    
    print actual limits if window too small

commit 5967b22698c8aeb51131a62c56a2f7fbf1f8e79e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 2 01:22:16 2003 +0000

    h-gethost-r-race-20030401
    
    FIXES 1308
    
    Thanks to Chaskiel Grundman for explaining what was happening:
    - the connection is old and pre-existing, but has no host structure.
    - 2 calls come in
    - the first one enters h_GetHost_r, and h_Lookup_r returns null (but identP is
    non-null, since rx keeps it around until it gc's the connection)
      The first thread calls WhoAreYou, which succeeds, it then calls
    InitCallBackState3 (after H_UNLOCK) note that the host has been inserted into
    the hashtable
    - the second thread enters h_GetHost_r, and calls rx_GetSpecific. it then
    calls h_Lookup_r. h_Lookup_r will block (new host is locked), but eventually
    returns the new host
    - InitCallBackState3 returns, and the frees the old identP, replaces it, and
    unlocks the host.
    - the first thread returns from h_Lookup_r. boom.
    
    the changes:
    -call rx_GetSpecific after h_Lookup_r returns (and potentially slept)
    -removes an if wrapping which always is true (since !interfValid is always
     true)
    -don't realloc identP if it exists
    -don't free an old one by calling rx_SetSpecific either

commit f14686ea2e4d10381554bd466d236dd9b9479e4a
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Mar 31 19:22:04 2003 +0000

    darwin-map-more-version-20030331
    
    
    Recognize MacOS X 10.2.3 and 10.2.4.

commit b9eb8cc6695a0dc903b10cd763041f5cfd6a1764
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 28 21:26:20 2003 +0000

    solaris-fs-rolled-20030328
    
    
    for solaris 9 u2

commit 20e15449ae0a816939f57f1e6dd9d75f1a9c76db
Author: Onime Ehimika Ohireime <onime@ictp.trieste.it>
Date:   Fri Mar 28 17:41:04 2003 +0000

    linux-execsorwrites-at-close-20030328
    
    FIXES 1215
    
    fixes bad interaction with openmosix
    
    comment from derrick: i'm still not sure what's going on here.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 1215
    
    fixes bad interaction with openmosix
    somehow diff screwed up the first time and applied one hunk wrong.
    
    comment from derrick: i'm still not sure what's going on here.

commit 73b42831167926d1743ad894d5c560d41c5f8a1a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Mar 28 09:35:53 2003 +0000

    revert-large-file-support-20030328
    
    FIXES 1341
    
    sadly there are problems. how long before this comes to the fore again
    i don't know.

commit dd85569dfeee6802e85ae93a08ae5c675b227b70
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Mar 28 09:30:53 2003 +0000

    rxstat-fix-objdir-builds-20030328
    
    FIXES 1340
    
    change where we include headers from

commit 2d3c470ff7517b90c03ff310100ed5122fb34974
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Mar 28 09:27:32 2003 +0000

    volser-cleanup-clone-trans-20030328
    
    FIXES 1339
    
    so we don't leave an idle transaction around

commit 665e86f6fc4fbca43fd0d827d25f3de5f074e082
Author: Daryl Clevenger <dlc@cs.cmu.edu>
Date:   Fri Mar 28 09:21:13 2003 +0000

    flushhostcps-init-held-20030328
    
    
    init held so flushhostcps is more useful.

commit bdf9ebb4b7ac05d2574b51701952cd1aa377f1e7
Author: Jim Rees <rees@umich.edu>
Date:   Thu Mar 27 20:29:51 2003 +0000

    fix-window-size-20030327
    
    
    Fix off-by-one error in window size calculation

commit cd159fddccbf19448e73a3a468268590f26ba59c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 26 17:23:16 2003 +0000

    shlibafsrpc-export-missing-des-symbols-20030326
    
    
    symbols libafsauthent wants but we don't have

commit 937ec63685f69f55eb0a6ce39ab94dc475eb5fe6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 26 09:10:59 2003 +0000

    linux-rxk-listener-shutdown-cleanup-20030323
    
    
    get rid of need for sys_kill

commit 45dd8988f28ff573200136edda16d5592a757bff
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Mar 25 21:10:40 2003 +0000

    rxkad2b-allow-no-kvno-20030325
    
    
    allow a missing kvno field to work usefully

commit 3fa5f389b2b7778cf0df5a506c91b427b147c4c2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 23 19:43:47 2003 +0000

    move-up-cell-initialization-in-cachemgr-20030323
    
    
    may be related to an oops at startup

commit d14d08e35b95b2482bb074fe174db1e2b55da49d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Mar 23 06:44:26 2003 +0000

    linux-kthreads-reparent-20030323
    
    
    so we don't get orphans on afs shutdown

commit 953c54df1e1a2c92bcd6f926b43c80dffc3dca1f
Author: Jim Rees <rees@umich.edu>
Date:   Fri Mar 21 20:06:16 2003 +0000

    openbsd-20030321
    
    
    Restore lost -O2 CFLAG

commit eede2119c35b4b134af8becb72de56b449b16617
Author: Dan Hyde <drh@umich.edu>
Date:   Fri Mar 21 19:26:36 2003 +0000

    xdr-mem-take-II-20030321
    
    
    Fix pasto in xdr_mem security patch.

commit 38cec12f2c45d4d2f544acedeeffafec70a89582
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 21 18:28:31 2003 +0000

    linux-hold-tasklist-lock-in-get-page-offset-20030321
    
    
    tasklist_lock must be held to traverse list

commit 7f4d43ac2f6d7b44a5f07be6e59d45bf9c6736dc
Author: Jim Rees <rees@umich.edu>
Date:   Fri Mar 21 17:59:28 2003 +0000

    xdrmem-getbytes-20030321
    
    
    See, for example:
    http://web.mit.edu/kerberos/www/advisories/MITKRB5-SA-2003-003-xdr.txt
    This source is unused but it seems like a good idea to patch it anyway.

commit 4731e86a441df09b893a8bf3973a51a404f69d9a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 21 14:00:31 2003 +0000

    linux-one-more-stupid-configure-test-20030321
    
    
    pointed out by zacheiss@mit.edu that i missed this. oops

commit 284d3edd2375f672057aef638c0e0afd41cc559d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Mar 19 22:20:56 2003 +0000

    redhat-81-support-again-20030319
    
    
    once more. maybe this time they'll release something that looks like this

commit 65b819d0afdc7c951d3033b598b01dcf73d2ca16
Author: Jim Rees <rees@umich.edu>
Date:   Wed Mar 19 22:20:31 2003 +0000

    openbsd-20030319
    
    
    Add -fno-stack-protector to kernel CFLAGS for OpenBSD post-3.2.

commit e069717085e80e893d095e02865995dbfa5ec1f8
Author: James Peterson <james@abrakus.com>
Date:   Wed Mar 19 03:01:17 2003 +0000

    volser-no-convertvol-on-windows-yet-20030318
    
    
    not ready for windows yet

commit 1312d1179d4a97e9c62eb26ef55f60007cd35872
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 18 23:47:51 2003 +0000

    kaserver-disable-krb4-crossrealm-20030317
    
    
    to deal with krb4 security advisory
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    to deal with krb4 security advisory
    type mismatch for krb4_cross pointed out by Jack Neely <slack@quackmaster.net>

commit 668e5d7ef502f6ffaf56c88f4446501e713ac6bb
Author: Jim Rees <rees@umich.edu>
Date:   Tue Mar 18 14:30:48 2003 +0000

    fix-my-screwup-20030318
    
    
    Back out my last unnecessary "fix."

commit 4f35fbb68005579f626d021632e899301f551c66
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Mar 18 03:54:51 2003 +0000

    viced-vbusy-when-getclient-fails-20030317
    
    
    more paranoia to not crash if GetClient fails, since there's apparently a
    race we haven't found yet

commit 6f7795fc9fed660596dcbca4859b7a4feb66bc72
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 17 17:26:22 2003 +0000

    fix-errnos-20030317
    
    
    Put non-unix errnos inside of #ifdef __linux__.
    This should be a temporary fix, waiting for real fix from Derrick.

commit c808793afdbb58aa66954bdb8b666624faca7bce
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 17 15:55:16 2003 +0000

    winnt-undo-backslashes-20030317
    
    
    get rid of weird includes

commit 4e2a1d6ce6434ac67ff7bbe8f800f27489902bc4
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sun Mar 16 14:30:15 2003 +0000

    macppc-netbsd-20030316
    
    
    Preliminary support for macppc-*-netbsd*.
    Untested?

commit a29f51c64797c5fe0f3b6408cff55a403592fca1
Author: James Peterson <james@abrakus.com>
Date:   Sat Mar 15 15:08:30 2003 +0000

    windows-more-updates-20030315
    
    
    updates for build system

commit 8af8241e94284522feb77d75aee8ea3deb73f3cc
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Fri Mar 14 20:46:51 2003 +0000

    vol-ro-to-rw-tool-20030314
    
    FIXES 1262
    
    allow converting an ro to an rw on namei servers

commit 5df76f7321420832c14f9d1862eee13b081b39af
Author: James Peterson <james@abrakus.com>
Date:   Fri Mar 14 20:11:44 2003 +0000

    windows-build-updates-20030314
    
    
    support for V6.0 and .Net complier, compile from either NT4.0 or XP
    Source and object are separated into different directories.  The directory
    tree would look as follows:
    
    Base from %AFSROOT% environment variable
    %AFSROOT%\src\... - all source and generated source
    %AFSROOT%\obj\checked\... objects from a checked build
    %AFSROOT%\obj\free\...    objects from a free build
    %AFSROOT%\obj\dest\checked\...  DEST folder from a checked build
    %AFSROOT%\obj\dest\free\....    DEST folder from a free build
    
    Before you start the build, you must build an object tree by issuing the
    following:
    
    nmake -f NTMAKEFILE mkdir
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    support for V6.0 and .Net complier, compile from either NT4.0 or XP
    Source and object are separated into different directories.  The directory
    tree would look as follows:

commit 69a511d5b8a051f4961c3a6503566537893cb96a
Author: James Peterson <james@abrakus.com>
Date:   Fri Mar 14 19:59:44 2003 +0000

    winnt-client-config-submount-fix-20030314
    
    
    "Atempts to add a new drive, to the root, with a sub mount name, will
    sometimes return error #35"

commit 48acf9c2d71ccd34ab7a95a8593a1689131fc032
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 14 19:47:35 2003 +0000

    winnt-include-sanity-20030314
    
    FIXES 1332
    
    include headers by their usual name instead of trying to be special

commit ff6394b2e40b4c7c58b32a6e901656a12eb1faf1
Author: Ryan Lantzer <lantzer@umr.edu>
Date:   Fri Mar 14 19:45:40 2003 +0000

    winnt-give-nosuchpath-if-thats-what-we-mean-20030314
    
    FIXES 1329
    
    "The Windows AFS client returns the error
    ERROR_NOSUCHFILE, where the same request on a local NTFS volume returns
    the error ERROR_NOSUCHPATH."

commit de4a11b01da1fbf9dd253d16134e200486b76ff3
Author: Ryan Lantzer <lantzer@umr.edu>
Date:   Fri Mar 14 19:38:47 2003 +0000

    winnt-stat-cache-ref-leak-fix-20030314
    
    FIXES 1327
    
    avoid leaking stat cache entries

commit 3c3971439731f691dc9faa55ace72596e808b4d9
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 14 19:24:37 2003 +0000

    rx-init-stats-mutex-20030314
    
    
    instead of what rx-init-mutex-before-calling-getudpsocket-20030313, just
    init the mutex earlier where others are done

commit 3c22e61e23aae56cf8e40776c4327f7d640efa10
Author: James Peterson <james@abrakus.com>
Date:   Thu Mar 13 20:36:28 2003 +0000

    winnt-client-config-submount-fix-20030313
    
    
    "Atempts to add a new drive, to the root, with a sub mount name, will
    sometimes return error #35"

commit 7187d07423c1f3b4db3abc57a44f28c394a9e8ee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 13 19:01:24 2003 +0000

    rx-init-mutex-before-calling-getudpsocket-20030313
    
    
    pointed out by cg2v@andrew.cmu.edu

commit f54bdeeb8501ae07d94d0e4205073518974bfbea
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 13 14:06:51 2003 +0000

    largefile-do-offsets-correctly-when-64bit-but-not-largefile-20030313
    
    
    a 64 bit aware platform may not support largefiles yet

commit 8443abeb38c8f28eacbe4fd69fe01cd6b738fc21
Author: Jim Rees <rees@umich.edu>
Date:   Tue Mar 11 16:25:45 2003 +0000

    ignore-unified-files-20030311
    
    
    cvsignore unified_afs.[ch]

commit 8e30890a9fbc8e21cdd340de81422f7b979322b9
Author: Jim Rees <rees@umich.edu>
Date:   Mon Mar 10 20:09:42 2003 +0000

    tovolume-is-char-star-20030310
    
    
    tovolume is a char *, not an int

commit 47df7e9f3ac680b2c672c34277bf34ffe6ef8737
Author: Douglas Engert <deengert@anl.gov>
Date:   Mon Mar 10 20:02:35 2003 +0000

    hpux11i-20030310
    
    
    Support for HPUX110

commit 4f33d5b42854623a38d73e2b32d4fc872db356f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 16:11:49 2003 +0000

    cbd-all-flag-in-usage-20030310
    
    
    cbd supports -all; put it in usage.

commit 980b1cf91546904600b890d0be8e2a053086d8e1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:38:37 2003 +0000

    afs-error-translation-update-20030308
    
    
    make it vaguely useful.
    now with client side(tm)

commit 644c4935f89ae1c5de6837ec2f8e2322c77612b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:08:33 2003 +0000

    vol-prototyping-20030309
    
    
    prototype much of the vol package

commit 9e4371373b3f743f28f90684da96e36cf4bb2fd5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:06:34 2003 +0000

    ptserver-typo-20030309
    
    
    "transarction" huh?

commit 5e96617632a703d76953ab8d5953ab15f983cbb3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:04:03 2003 +0000

    bnode-reorganize-source-20030309
    
    
    get rid of unneeded forward refs by reorganizing code

commit 7780a78a93acd23abd4f69d26a41690ce75dc0ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:03:09 2003 +0000

    util-symbol-renaming-and-cleanup-20030309
    
    
    rename more stuff into the util_ space
    use it
    some other cleanup in the util package

commit 08534f1345f9a4e0fbf7ecb8cfb96bbd6d20ba40
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 02:00:20 2003 +0000

    xstat-protoizing-20030309
    
    
    protoize one more directory

commit 863b113a4d77aab791cebe54c51cdabcfa3b4dfd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 01:59:12 2003 +0000

    cleanup-licensing-and-transarc-references-20030309
    
    
    tired? on a plane? need some mindless (maybe that's mind-numbing) stuff
    to work on? clean up licensing and references in code comments. it's big fun.

commit 3d15d2f5026c84f095a520f839b3d6dcd8f34502
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 01:33:57 2003 +0000

    unified-errors-define-away-missing-errors-20030310
    
    
    define missing errors

commit ed554fda9c96080d66b0f1d09a9b363fbb91ed50
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 10 01:25:36 2003 +0000

    unified-afs-remove-dup-20030309
    
    
    one of the errors was duplicated. oops.

commit 35f1dec615df221adaaf71f7807c1ffffc2997a3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 17:11:22 2003 +0000

    afs-error-translation-update-20030306
    
    
    make it vaguely useful. still need client side
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make it vaguely useful.
    now with client side(tm)
    
    ====================
    
    make it vaguely useful.
    now with client side(tm)
    
    ====================
    
    make it vaguely useful.
    now with client side(tm)

commit 9dd6683e347712b8d7f8e5d653f7dbf479a31553
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 16:12:46 2003 +0000

    unified-afs-errors-20030306
    
    
    error table for "unified afs errors"

commit c4a1aeaf8c09979d9ff845681cc4530df872e5a1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 15:43:56 2003 +0000

    initial-error-translation-implementation-20030306
    
    
    client still needs to "untranslate", and the error tables themselves need
    to be defined and the server-side array populated

commit 7ee56b700d73fd524bb92c628fe43d62e4365d6c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 6 08:21:02 2003 +0000

    windows-cm-getcellbynum-rpc-20030306
    
    
    missing stub

commit 8a641dbdf6a1d198ceb878c69c45495590e7296e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 16:27:17 2003 +0000

    cacheout-some-fixing-20030304
    
    
    not done, but it doesn't get compiled anyway so it doesn't matter that i
    left it broken

commit 50ee992c314f5b05a1c8d15fbf8cc9e8f169f81e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 16:26:29 2003 +0000

    protoize-callback-interfaces-20030304
    
    
    more random protoizing

commit 2712c1202ab17436ced8b466575c8bebdd9f68b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 16:19:46 2003 +0000

    capabilities-20030304
    
    
    need to remove dummy capability, but otherwise this is the rpc part.

commit 4484c4d97164bc708b3477e60f828f2e80187485
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 15:42:23 2003 +0000

    flushhostcps-byte-order-20030304
    
    
    at insistence of lha@stacken.kth.se

commit 8d27129f4d3a7f08912cfc36bd1f3cf3761ddb7e
Author: Harald Barth <haba@pdc.kth.se>
Date:   Tue Mar 4 14:49:09 2003 +0000

    viced-debug-log-which-thread-package-we-are-20030304
    
    
    log "pthreads" or "LWP" started

commit 025ec7bf79fe9f45680897ff2bec8a18d040ed76
Author: Harald Barth <haba@pdc.kth.se>
Date:   Tue Mar 4 14:46:04 2003 +0000

    viced-set-fssync-threadid-20030304
    
    
    set a thread id for the fssync callback thread

commit 94d83a994100b11eaaf2cff38a481fc6182d5e62
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 13:26:01 2003 +0000

    cmdebug-getce64-support-20030304
    
    
    make cmdebug support getce64

commit c240e56bc6bd41373a5e65fd46000b2abb90b3c9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 12:53:07 2003 +0000

    update-giveupallcallbacks-20030304
    
    
    fix logging.

commit 41918aaf5a93eab7f35bbd8330a976e9c67e7b78
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Mar 4 11:26:40 2003 +0000

    viced-abort-threshhold-20030303
    
    
    allow abort threshhold to be set by switch

commit 30f3ae458cb8ad84ceb1a8e2c6acc45af535d08e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 11:14:13 2003 +0000

    new-giveup-all-callbacks-rpc-20030303
    
    
    untested. will try it shortly. allow a client to give back all of its callbacks
    without enumerating them

commit 1075b3c7f141212eb7daecde057b2b2b3229930e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 4 10:40:01 2003 +0000

    viced-callback-remove-dead-functions-20030303
    
    
    remove ClearHostCallbacks; make ClearHostCallbacks_r static

commit 45a4d9cb08d92c10332bda071afb35461d5a4cc3
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Mar 3 15:53:28 2003 +0000

    rx-thread-id-startup-20030303
    
    FIXES 1304
    
    avoid using rxi_availProcs to allocate thread ids as it may decrement from under us

commit dd4ade14d515d6e0a6be9e15a870fe93173c1876
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 3 15:45:36 2003 +0000

    libafsrpc-make-dependancy-work-20030303
    
    
    don't try to compile the headers

commit db942233a5e07ed64c43f050b02763d631ed9d9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 3 15:37:03 2003 +0000

    viced-vol-ansification-20030303
    
    
    some more code ansified

commit 241c06281036aedbce4c4e8c6a5ce6c981eef27a
Author: James Peterson <james@abrakus.com>
Date:   Mon Mar 3 15:19:00 2003 +0000

    winnt-cleanup-memory-leak-20030303
    
    FIXES 1322
    
    due to a change in the smb protocol we leaked memory. fix it.

commit f17fe1ca6ab87af672e4ac1b42c5478c8e13cf1e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Mar 3 15:13:40 2003 +0000

    flock-sysid-20030303
    
    FIXES 1325
    
    featurize flock sysid

commit 081f1765839834e8e06e8d0b8294ab54ced5c238
Author: Jim Rees <rees@umich.edu>
Date:   Sat Mar 1 18:16:01 2003 +0000

    openbsd-20030301
    
    
    Use PVFS for tsleep. PZERO is obsolete.

commit 54f056cc7a4a496c82eb6fdb9ba943c079702527
Author: Harald Barth <haba@pdc.kth.se>
Date:   Sat Mar 1 01:22:08 2003 +0000

    nuke-create-windows-pathnames-only-on-windows-thanks-20030228
    
    
    don't construct a windows path on unix

commit 1e3319b04952746b03fd0dd7eb9e2494ae63cd5f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 28 23:56:25 2003 +0000

    viced-correct-probe-failure-message-20030228
    
    
    based on complaint from haba@pdc.kth.se

commit e18dd8bc0f4b566ee852a4c187f78e0c1e3382d3
Author: Douglas Engert <deengert@anl.gov>
Date:   Thu Feb 27 17:27:25 2003 +0000

    hpux-1122-updated-support-20030227
    
    
    updated support for hp-ux 11.22

commit 0385de10a1cde2e520dc38fdb9ce1707e36afe1d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 24 16:37:03 2003 +0000

    salvager-create-larger-buffer-for-inodes-tmpfile-and-avoid-overrun-20030224
    
    FIXES 1318
    
    pointed out by Hartmut Reuter

commit e6fe163706d6b072433fbac93ebdc3a4d2c251d7
Author: Jim Rees <rees@umich.edu>
Date:   Thu Feb 20 22:04:47 2003 +0000

    openbsd-20030220
    
    
    OpenBSD:
    Add some minimal build notes to README.
    Change client package name to openafs-client.

commit 57d8ce94243c4fb237484f27de5298f0ba4a62ae
Author: Jim Rees <rees@umich.edu>
Date:   Thu Feb 20 21:00:03 2003 +0000

    dot-i-suffix-20030220
    
    
    add .i suffix to Makefile.common.in for bsd make

commit a7fbdc7bcd4889fb6bb5a85a49db9705086dd3e4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 19 03:50:47 2003 +0000

    viced-rewrite-breaklatercallbacks-20030218
    
    FIXES 1309
    
    deal with only a single volume at a time

commit 45a43078f0580c11e24ba34ea82518e5d4445967
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Feb 19 02:21:35 2003 +0000

    viced-fix-port-logging-20030218
    
    FIXES 1307
    
    put port in correct byte order when logging

commit 6c308978e1195246625babee91b5c49d84e23ffd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 18 08:03:09 2003 +0000

    viced-host-logging-update-20030218
    
    FIXES 1308
    
    print info before letting host get gc'd

commit 6a1182d4bf186db3305d14f97f5561dfb822c104
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Feb 16 00:22:00 2003 +0000

    viced-log-refd-client-while-deleting-20030215
    
    
    if we gc a client with a positive refCount, log it. should probably log more
    data.

commit 214c2e7b19333380cb7f3aa5c997f35543bd3d15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 15 14:17:15 2003 +0000

    viced-allow-hinting-of-all-new-clients-for-vbusy-vrestarting-handling-20030215
    
    
    For sites with only new (>3.4) clients (or who decide to not care
    about older clients) and want to force VRESTARTING instead of VBUSY.

commit 825e7d57e7b818aea1904de0ab200de422b45f69
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 15 06:03:25 2003 +0000

    viced-client-set-refcount-before-chaining-into-host-20030215
    
    
    didn't find a race but it's safer this way if there's one i missed

commit 41351b5c2e556284d2eb99c6737f41922ca71fbf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 15 05:39:16 2003 +0000

    viced-gethostcps-simplify-holds-20030215
    
    
    all of our callers have a hold when we're called. get rid of the "get us a hold"
    logic. do we need a lock?

commit 701a7504158ca4b7b3803ec25c72772326ed71c3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 15 05:27:04 2003 +0000

    viced-consistent-val-and-len-cleanup-20030215
    
    
    just so we don't leave things inconsistent ever

commit d8f69c796c4b2e5f48e6bee0e83c9dda4382ca92
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sat Feb 15 04:53:31 2003 +0000

    freebsd-5-sys-name-id-20030214
    
    FIXES 1302
    
    allocate a sys name id

commit 0dc61205b6906426667f31b8b5c452d86e24ef95
Author: Jim Rees <rees@umich.edu>
Date:   Fri Feb 14 19:07:18 2003 +0000

    str-fixup-20030214
    
    
    Protect afs_str*() in afs_util.c with #ifndef
    Use builtin strcasecmp, strcat for OBSD
    Use afs_strcat in afs_dynroot.c

commit 3ef47cdfd2ab5aa4f6bf60b61e37f0da7d0d6487
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 14 01:14:10 2003 +0000

    avoid-client-connection-mismatches-20030213
    
    
    Avoid asymmetry between rx connections and clients, such that one
    points at the other but the other doesn't point at the first one.
    This can sometimes happen with hosts that change addresses/ports.

commit 6183df9e42df31915efd85f750593006f517e816
Author: Douglas Engert <deengert@anl.gov>
Date:   Fri Feb 14 00:02:16 2003 +0000

    hpux-1122-initial-support-20030213
    
    
    sys name may yet change and there's some relatively minor cleanup yet to be
    done

commit feafe37c0374cd3112016166b000af8e202752d8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 13 23:53:37 2003 +0000

    remove-sys-based-makefiles-20030213
    
    
    obsolete in the "new world"

commit 49e4a9d3b0da87dbd46aa35838a1962c60283216
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 13 22:28:38 2003 +0000

    callbacks-later-cdel-fix-20030213
    
    
    if something else ends up trying to e.g. break delayed callbacks over the same
    callback that we're playing with in break later callbacks, the manipulation in
    CDelPtr becomes important

commit 76c481e47bb5c9b5d98193c311bc4846fa052874
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 13 20:11:34 2003 +0000

    ptserver-foreign-dup-check-20030213
    
    
    otherwise foreign user creation can screw up your pt database (if it's large)

commit 8238260d1f6167675911ef58bda8cacf2921b1ea
Author: Kevin Coffman <kwc@umich.edu>
Date:   Thu Feb 13 18:14:40 2003 +0000

    fix-seclevel-20030213
    
    
    Use requested security level instead of "clear" in pr_Initialize

commit a25efcc2d349bc3aaec956c7132a058022880b83
Author: Jim Rees <rees@umich.edu>
Date:   Thu Feb 13 18:06:10 2003 +0000

    fix-DumpVnode-proto-20030213
    
    
    Fix prototype for DumpVnode()

commit d27df737c448f2598f6c81882f6b328012e8b88b
Author: Jim Rees <rees@umich.edu>
Date:   Thu Feb 13 17:41:36 2003 +0000

    openbsd-20030213
    
    
    Add OpenBSD to README.

commit 7c8bd23f40a18027b9229376bf9dacdbc9a2879b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 13 16:20:54 2003 +0000

    volser-dump-vnode-include-volid-in-error-20030213
    
    
    include a volume number in the error message

commit b6f04d5564e51fedfe1357227fb07a6caaaad8f0
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Feb 13 07:00:04 2003 +0000

    freebsd-5-update-20030213
    
    FIXES 1297
    
    fix issue with header needed for malloc(), and make us freebsd 5-ready

commit 8ad0977e0cca4cb526eecd019c8afe96b55bb2fe
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Feb 13 06:58:31 2003 +0000

    pam-header-ordering-cleanup-20030213
    
    FIXES 1298
    
    so pam module compiles on modern freebsd (system headers before pam)

commit 0bce6f6bd5d53d5f13bce3a6e0e9284f509c6de2
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Feb 13 06:54:38 2003 +0000

    libafsrpc-dependancy-cleanup-20030213
    
    FIXES 1295
    
    Make cc only take the first depency, so it wont compile header files that
    the target is depends on.
    
    Now that there isn't any VPATH, depend on the file with path, not by name.

commit d7c25633238c8130ad9e94895ef96d7f4d31004d
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Feb 13 06:51:14 2003 +0000

    get-full-path-for-top-srcdir-20030213
    
    FIXES 1296
    
    unrelativize TOP_SRCDIR

commit 8fb201a67af446ac6b586a5572c808b69431627a
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Thu Feb 13 06:46:07 2003 +0000

    rx-warning-cleanup-20030213
    
    FIXES 1299
    
    fix prototype

commit 0e3380edaeea6cdabe6d64c46c033ebee405cef3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 13 06:44:28 2003 +0000

    host-tossstuff-require-unlocked-20030211
    
    
    add warning and don't clean up if host is locked. shouldn't be able to happen
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FIXES 1294
    
    and make it useful

commit 4f1b300a98572f9fc8006f45aa76b014215763ac
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Feb 8 08:40:03 2003 +0000

    rx-misc-cleanup-20030208
    
    
    Stop passing around needless arguments to rxi_SendAck.
    Also send the proper reason value in ack packets for
    packets that were received out-of-sequence.

commit 454af39fbc6e1cc9457ad09c3d50771255dfa1ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 8 07:38:39 2003 +0000

    vol-check-malloc-return-20030208
    
    
    make sure malloc doesn't fail in vol package either

commit 5e2dc3d41cc23499f650a0bd7716381b2a435948
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 8 07:30:04 2003 +0000

    viced-check-all-malloc-returns-20030208
    
    
    log something and assert if malloc fails

commit 1e4b22a9f579cd53a4aa17caedf04d06fe965feb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 8 06:43:26 2003 +0000

    callback-interfaces-check-malloc-result-for-error-20030208
    
    
    if we run out of memory, maybe we should assert. we should probably log.
    this is just so i remember to deal better.

commit d4302ea35a14a4feeb04bdae168176a9cdd378b5
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 7 22:16:46 2003 +0000

    vos-handle-invalid-long-names-20030207
    
    FIXES 1289
    
    Avoid crashing when an unreasonably long volume name is passed to vos.

commit 922e0cce763f522c9fdf8df7d60d73f07056f45a
Author: Andrei Keis <Andrei.Keis@morganstanley.com>
Date:   Thu Feb 6 23:02:00 2003 +0000

    winnt-find-token-event-missing-braces-20030206
    
    FIXES 1288
    
    add missing {} braces

commit 365f32ff80c3b3afd7efa98ec3d8b09c585c833e
Author: Jim Rees <rees@umich.edu>
Date:   Tue Feb 4 19:05:44 2003 +0000

    openbsd-pkg-20030204
    
    
    First cut at making an OpenBSD package.

commit 8e447222d9699b18ba975f97a3610a5e687e9c15
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Feb 4 17:50:16 2003 +0000

    use-kernel-version-of-debug-var-when-building-kernel-modules-20030203
    
    FIXES 1272
    
    use KERN_DBG instead of DBG

commit 7a4e715d13f29935ff97dc990d929a070a3d5616
Author: Jim Rees <rees@umich.edu>
Date:   Tue Feb 4 16:39:55 2003 +0000

    openbsd-20030204
    
    
    Get rid of afsmodload() in favor of libafs_lkmentry()

commit 146ca01c9fb02d30231dac9a0e48b57b05ddb3e9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 3 23:51:30 2003 +0000

    libafsrpc-dependancies-20030203
    
    FIXES 1267
    
    needs further work, we need a lot more dependancies here

commit f15e1e3f8f6d50ca931f2853bf9a166cddaa4c81
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Feb 3 23:27:06 2003 +0000

    lwp-tests-20030203
    
    FIXES 1280
    
    make the tests work

commit d32c70edbc0ed4e4821deb5542ef11637e8c04e0
Author: Matt Bacchi <mbacchi@gmavt.net>
Date:   Mon Feb 3 23:15:58 2003 +0000

    cmd-print-help-in-cases-without-subcommands-20030203
    
    FIXES 1277
    
    so libcmd supports help for e.g. pt_util

commit 7ff00fb31ec5fea944871f32f2388ce482b37e92
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Mon Feb 3 23:10:38 2003 +0000

    netbsd-16m-support-20020203
    
    FIXES 1269
    
    support for netbsd 1.6m

commit 5121aa82b5471b1b2088da53e7471bd2dc1cd3c9
Author: Eduard Bloch <blade@debian.org>
Date:   Mon Feb 3 23:05:28 2003 +0000

    linux-include-thread-h-to-allow-variable-num-of-cpus-20030203
    
    FIXES 1275
    
    allow variable cpu numbers

commit cff48dcb5210e38e0048a04fc3151d045bdca4ce
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Mon Feb 3 20:45:51 2003 +0000

    rx-thread-id-assignment-fixes-20030203
    
    
    in rx_pthread.c the
    ++rxi_pthread_hinum;
    has to be protected by the rx_stats_mutex in all three cases. In the file I
    attached in the openafs-devel article the last one was accidentally
    unprotected.
    
    the FSYNC_sync thread (fssync.c) needs needs to be handled as well.

commit 9a07ae91c39ded5541302d91aae81e5d137e4d06
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 31 22:33:36 2003 +0000

    more-redhate-beta-fun-20030131
    
    
    apparently having recalc_sigpending stay the same was just as hard
    as continuing to export the same level of functionality, so we get neither.

commit fa0eff22613614f6945f18d311b057a822294c79
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 31 21:35:14 2003 +0000

    openbsd-rc-20030131
    
    
    Get rid of dkload subdir
    Get rid of "-chunksize 18 -stat 4800"
    Change "fs setcrypt crypt" to "fs setcrypt on" (old CMU syntax)

commit 77e7f9c57c58c2ed64a1bd11def89969dfea692e
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 31 21:20:45 2003 +0000

    fix-rx-mtu-params-20030131
    
    
    Return subnet mask from rxi_FindIfnet for AFSOP_GETMASK.
    Put rxi_FindIfnet() in rx/rx_prototypes.h to avoid similar screwups in the future.

commit 9dd6d3b2e878f4121928ce7275a41fd03cb16e1a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Jan 30 22:04:06 2003 +0000

    libuafs-cvsignore-20030130
    
    
    add JUAFS to .cvsignore

commit 4fa78ca16848ba10814cee55d0ab419e38770f38
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Jan 30 22:03:31 2003 +0000

    openbsd-32-glue-20030130
    
    
    Add glue to support OpenBSD 3.2.

commit 74737891ae205f95d84be185ff84aff844dc4edd
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 30 21:43:54 2003 +0000

    openbsd-20030130
    
    
    Don't lock against myself in reclaim vnodeop.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Various stability fixes:
    Call vgone() instead of afs_FlushVCache() when freeing vcache
    Acquire AFS_GLOCK in VOP_INACTIVE
    Don't bother calling cache_purge() or uvm_vnp_uncache() in reclaim();
      vclean() already does this
    Acquire xvcache lock in reclaim()

commit 530c491c673154c5c935bd339c6d00850d454190
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 30 14:59:00 2003 +0000

    fix-netreceive-memleak-20030130
    
    
    rx_knet fixes for Darwin and FreeBSD:
    netreceive: fix memory leak, check return code from soreceive
    netsend: remove unnecessary mbuf alloc, remove misleading comment
    all: general cleanup and minor bug fixes
    
    Thanks to emoy@apple.com for reporting this bug and testing the fix

commit 0ee73ecbff418d253076923681174560030ef753
Author: Jim Rees <rees@umich.edu>
Date:   Tue Jan 28 23:19:26 2003 +0000

    fix-rx-mtu-params-20030128
    
    
    rxi_FindIfnet: return NULL on no match, instead of first interface on list
    use ifa_ifwithnet on XBSD (was only used on Darwin)
    remove dead code and unused args

commit da3cb37d99fd984eca5ed3af780a89489b1ca118
Author: Jim Rees <rees@umich.edu>
Date:   Thu Jan 23 20:34:58 2003 +0000

    openbsd-20030123
    
    
    Mindless tweaking in search of a bug.

commit 66d83d54701eeaa3772aadacd11bb891eb73019e
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 22 21:25:14 2003 +0000

    openbsd-20030122
    
    
    Fix vcache/vnode confusion.

commit a6d9298d3d299cc2c776b22a2800b5c2044ea497
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 22 06:49:48 2003 +0000

    rx-avoid-deadlock-in-attaching-call-20030122
    
    
    Avoid a subtle cycle in the locking order hierarchy involving
    the rxi_ServerThreadSelectingCall flag, and instead rely on
    call->lock to make sure we don't attach the same call twice.
    Also some miscellaneous cleanup and code unification.

commit 9370d218fd4eb911e4932757cdf1097e164ad456
Author: Jim Rees <rees@umich.edu>
Date:   Fri Jan 17 22:24:16 2003 +0000

    fix-indentation-20030117
    
    
    Fix indentation in a few places so I can read the code
    so I can track down a bug I probably introduced

commit ea4f1a80d73f62d91f0375d75dec67d38bd86f24
Author: Rainer Toebbicke <Rainer.Toebbicke@cern.ch>
Date:   Fri Jan 17 18:13:19 2003 +0000

    rx-assign-thread-id-key-to-periodic-helpers-20030117
    
    
    so each gets own holdbits

commit 2e3678c8829761506b9179d3660448c9ae21942b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 17 07:39:28 2003 +0000

    viced-getclient-assert-logging-20030117
    
    
    log some more info before asserting

commit ec111ccc442439f68e9052721571ec8ef1754644
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 17 06:46:39 2003 +0000

    vol-clone-inc-failure-logging-20030117
    
    
    log info in event of assert
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    same change for IH_DEC

commit 12eb511d4516dc5c82dc565bf1ae634e479b09ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 17 06:21:37 2003 +0000

    viced-improved-host-logging-20030117
    
    
    to deal with condition reported by lha@stacken.kth.se

commit 587304c2ba6f092c963dda8866cd273cf7a68d0e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Jan 17 06:11:13 2003 +0000

    solaris-deal-with-gmake-stupidity-20030117
    
    
    make gmake not try to link libafs.o and libafs.nonfs.o into another object

commit 82d009d480c6b2a664264329f6940c1a519ea3df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 17 05:39:20 2003 +0000

    linux-ifdef-stupidity-cleanup-20030117
    
    
    as pointed out by zacheiss@mit.edu

commit 3fa43862aa17467795121eb21f191066ab399980
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Fri Jan 17 01:30:05 2003 +0000

    linux-lock64-fix-20030116
    
    
    fix 64bit lock functions

commit 3ddb9dd9b93942462511553e17679ec21919d195
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 16 16:34:39 2003 +0000

    aix51-param-update-20030116
    
    
    get missed pinning define, cleanup ukernel portion of header

commit 8ab7a909371f47ddb4f2adc8104b64dfc4c610bd
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Jan 15 17:36:07 2003 +0000

    pts-supergroups-20030114
    
    
    thanks to nneul@umr.edu
    add configure switch and support code for groups in groups

commit b5af9ebd62ae0ba1239720e2cd54d3e550cf4f0b
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Jan 15 04:29:47 2003 +0000

    volser-cache-more-ips-20030114
    
    thanks to nneul@umr.edu for splitting these out
    
    this increases the size of the ip address cache for talking to vlserver

commit 35e9be66e99fb5dcf603ded673f3fc191acaddc9
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Jan 15 04:28:24 2003 +0000

    ubik-rename-defines-20030114
    
    
    thanks to nneul@umr.edu for splitting these out
    
    this adds UBIK_ to defines instead of doing undef on
    potentially "global" defines

commit 06c9fc12db7f59ef86e564f563b6fc2431bcc568
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Jan 15 04:27:16 2003 +0000

    rxgen-enforce-grammar-20030114
    
    
    thanks to nneul@umr.edu for splitting these out.
    
    enforce procedure being in a package in xg files

commit 1e0696b5b3d93cb58bbd36f63849924cae6a9346
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Wed Jan 15 04:22:27 2003 +0000

    buserver-ubik-buffers-20030114
    
    
    thanks to nneul@umr.edu for cleaning these up

commit 14c5be99b682c3b7a81c36181ffb2bf3eb77e93a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 15 00:28:46 2003 +0000

    callbacks-later-linked-list-fix-20030114
    
    
    the linked list code was never updated for multiple passes when we
    started doing that.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    
    the linked list code was never updated for multiple passes when we
    started doing that.

commit cff9ae0f1036782018c818ba7176ad16e9ae202c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 15 00:21:08 2003 +0000

    viced-alloc-hosts-held-and-locked-20030114
    
    
    to avoid potential race as we chain in while allocating then try to lock
    after returning to h_GetHost_r

commit c52ddf77faf55fc090214b3f947aa06165c05a2f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 15 00:10:10 2003 +0000

    viced-junk-unused-functions-20030114
    
    
    more cleanup of fileserver

commit eff534794e7f49166094fa9279bc4d51520d62a8
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 14 01:20:03 2003 +0000

    Improved signal-thread support for the pthread fileserver,
    which avoids blocking signals in any thread, to appease Linux's
    thread signaling semantics.

commit d36004ee10481ef143469ede4295a447193c542b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 14 01:06:36 2003 +0000

    Fix the includes dependency, so that all of util/ isn't rebuilt
    every single time.

commit 3ba961ca00f5d8ec2edd32e0b1e5dac1c9864ef9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 14 01:05:11 2003 +0000

    Wrap our assert() macro in do{..}while(0) to make it look
    just like a real function.  Fix instances of use of this
    macro that lacked a trailing semicolon of their own.

commit cfef9796e87e2038100b09342a68b525d06834f3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jan 13 20:25:54 2003 +0000

    Make the Rx deadtime a tunable variable, either with a kernel debugger
    of some sort, or sysctl on Linux.  To follow later: Rx idle dead time,
    but this requires more in-depth changes to conn handling and such.

commit 22360fcf88dbe26614586341dc8394b233968ad2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jan 13 20:24:34 2003 +0000

    Generalize the rx idle dead time support to include client connections,
    in addition to server connections.  This will eventually be used by the
    AFS client to better time out non-replying servers.

commit 6e823f2737e84a59eaf5bf77a7b4fdf053ec39b8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jan 13 18:55:07 2003 +0000

    makefiles-cflag-cleanup-20030113
    
    
    Fix lib ordering for cmd/util, remove redundant libs

commit a8e42dca5c93a42df68cdb84279335143aeb8c82
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jan 13 18:31:13 2003 +0000

    makefile-dependancies-20030113
    
    
    add more dependancies

commit ab64672f2b2ea4bf2b7eccf1aab1b0fc1ad6fb5f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jan 12 02:02:48 2003 +0000

    salvager-fast-restart-log-to-syslog-also-20030111
    
    
    if -syslog, also log this to syslog

commit 3534cf2c61bb6ceb4f64c1ede9314e0ad4cd7496
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jan 12 02:00:26 2003 +0000

    gmake-j-support-20030111
    
    
    update top makefile so gmake -j works

commit 580af44321feb2df60aae0a9c79dc8f10a6139b3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jan 11 07:33:52 2003 +0000

    makefiles-cflag-cleanup-20030111
    
    
    move cflags back to makefile.config, more cleanup, dup removal

commit 2be60b7ee43cb3baa1709506d685c86ea643815e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sat Jan 11 07:31:08 2003 +0000

    rxkad-be-openssl-keyschedule-safe-20030111
    
    
    openssl has larger keyschedules than we do
    
    crypto api is all so unfortunate

commit bd72450f8051f2191c91ea79d1f8b6330b3b2734
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jan 11 07:26:35 2003 +0000

    vol-package-avoid-race-on-invalidating-hashed-vnode-20030111
    
    
    thanks to whichever of jhutz@cmu.edu or cg2v@andrew.cmu.edu (or both)
    noticed the race; also deal with wrap problem in VolumeCacheCheck that i
    noticed

commit 92e76f7eb20ea548dfc2d688d9d6eeb6a58e2c18
Author: Sam Hartman <hartmans@mit.edu>
Date:   Sat Jan 11 07:22:14 2003 +0000

    include-errno-dont-declare-it-20030111
    
    
    include errno.h instead of extern int errno ourselves

commit e1c86d76917ee5960de4a55f529f58e8c57dbcfb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 10 20:16:42 2003 +0000

    linux-placate-whiny-gcc-20020110
    
    
    debian unstable gcc gets bitter and cries to mom over newlines in strings.

commit 9624637cfe2c467023dc8e22aa0edc7633041d43
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 10 09:34:38 2003 +0000

    nfstrans-solaris-pre-7-support-20021210
    
    
    make it work for 2.6 and earlier
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    actually for earlier than 8

commit b6f124d4cb855ba0841bf02acb602ffdb16ccb6d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jan 10 09:33:30 2003 +0000

    remove-venus-lock-h-20020110
    
    
    nothing uses it. junk it.

commit 800b103f0aff041dd9d9bb5581f0f2188776582c
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Thu Jan 9 19:16:50 2003 +0000

    fileserver-largefile-support-20020109
    
    
    Fix compile problems for 64BIT_ENV with large files turned off

commit 52126ee90c48a6590bb729f6a044cf889bfeceb5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 8 23:53:36 2003 +0000

    solaris-nfstrans-compile-fix-20020108
    
    
    osi_vfsops_nfs.o is compiled from osi_vfsops.c

commit 29454d28d06594e97e53c5cf066ad0b0f472f58d
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 8 23:07:03 2003 +0000

    openbsd-20030109
    
    
    Add AFS_64BIT_ENV. Should have been there all along.

commit c9c23097063b1cad47fe59ec632bcddb137c3963
Author: Jim Rees <rees@umich.edu>
Date:   Wed Jan 8 21:04:59 2003 +0000

    openbsd-20030108
    
    
    Allocate a real SYS_NAME_ID for OpenBSD

commit 4624fd2206027a83ca3a27dd701f0ef4d3f01cef
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 8 05:52:11 2003 +0000

    linux-redhat-81-beta-support-20020107
    
    
    thanks to Sean McDermott for the errno.h fixes.
    the rest is my fault, the configure tests as well as the kernel changes

commit b72c14c4cfdae85c469bcc1b88659e5bd6fb620c
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Jan 8 05:35:25 2003 +0000

    linux-fast-netdown-20020107
    
    
    notice the NETUNREACH quickly and mark a host down

commit a038124edcd9def48a7ab82cb57b22ddd8fec123
Author: R. Lindsay Todd <toddr@rpi.edu>
Date:   Tue Jan 7 23:38:02 2003 +0000

    fileserver-largefile-support-20020107
    
    
    fileserver-side large file support

commit 7875999a4b2d5fba9976c90e3de2ddae5e67f0b4
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Jan 7 23:29:41 2003 +0000

    linux-largefile-appending-fix-20020107
    
    
    appending >2gb bug, pointed to hartmut by lindsay todd

commit e0a78652dad47fd82e670ff1d64541df6a1d793a
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Jan 7 23:24:58 2003 +0000

    aix51-64bit-exporter-20020107
    
    
    loads, but doesn't yet work

commit 436674ee07d3517afef59c2cb11bc97ef0294a2a
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Jan 7 23:14:08 2003 +0000

    aix51-32bit-ioctl-glue-20020107
    
    
    support both 64bit and 32bit ioctls on aix 5.1

commit 4b690db92f2098f332132996a11ff07322284802
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Jan 7 23:03:35 2003 +0000

    darwin-deal-with-unclean-pages-from-vm-20020107
    
    
    based on report from lha@stacken.kth.se

commit e461b558ba8c15ec9e40c1dd7cc799e933de23ed
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Jan 7 22:44:03 2003 +0000

    vsprocs-printf-cleanup-20020108
    
    
    change defines slightly, eliminate bogus quota-setting warning when it's not
    really an error.

commit d86a3e307ec8ef4d35d8a9b96f3a5db1fbc5cd86
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jan 4 05:20:55 2003 +0000

    Create a special thread to receive signals in the pthread fileserver, in
    order to avoid deadlock (we have signal handlers that unsafely grab locks).

commit d43d61cafbeacfd8e09e0db77eaaa5fdac59a350
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Dec 29 15:46:11 2002 +0000

    Make OpenAFS build on FreeBSD 4.7-RELEASE.

commit 8092249d0d224be166fb05e78daa4bf4801a2890
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Dec 28 05:17:08 2002 +0000

    Avoid using afs_int64's, because this leads to gcc generating calls to
    libgcc functions on Linux (which we don't have in the kernel).  Instead
    be slightly more clever to achieve the same result.

commit 755686d45a142bb97220e4bbd372dfe7c1630c4b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Dec 27 03:51:51 2002 +0000

    Support memcache sizes larger than 2GB.

commit b8dbb6e0c9aaa6091080be01ac5426c52356196b
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Dec 23 23:53:26 2002 +0000

    Do v5/v4 principal name translation.

commit d057f179506a94db0cc178e5df60977ee753f1f7
Author: James Peterson <james@abrakus.com>
Date:   Sun Dec 15 04:33:30 2002 +0000

    Fix symlink support on Windows XP.

commit 7c5798f3902f7329511f127d7f6c8922885da383
Author: Larry Greenfield <leg@andrew.cmu.edu>
Date:   Tue Dec 10 22:55:08 2002 +0000

    windows-wide-char-fix-20021210
    
    
    include afxpriv.h so we get macros
    call GetSize() and not GetCount()

commit ebc0ed79669c440e2b2ce6b231b716ee61fa65ed
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 10 19:53:38 2002 +0000

    revert-bg-fcrypt-cleanup-20021030
    
    
    unroll the rest of it

commit 889da5053cb1b89ce25caec1bf9fa5a7dbb7830b
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Tue Dec 10 19:09:53 2002 +0000

    use-afs-strchr-instead-of-strchr-20021210
    
    
    make dux happy

commit fd856437c88b3a4f3954db1bf06f20ad67e77b44
Author: Scott D. Williams <sdw@email.unc.edu>
Date:   Tue Dec 10 16:39:47 2002 +0000

    windows-loopback-adapter-support-20021126
    
    
    try to bind to loopback on windows

commit 69cb63ef545b4c8dc4e3b307b474ade4951d9691
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 10 15:57:25 2002 +0000

    bos-new-config-option-20021210
    
    
    based on patch from nneul@umr.edu but including the switch

commit ce013cabaddfedcb1e2921e3ad7e9889af13d158
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Dec 10 15:52:16 2002 +0000

    ukernel-no-afs-xosi-20021210
    
    
    no afs_xosi lock in ukernel. probably should be a dummy one, but oh well

commit 7e2fcac3c15811b1210d08f86b3d288c2d430a2c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Dec 10 15:49:52 2002 +0000

    pam-no-system-include-path-20021210
    
    
    breaks modern gcc. also, wrong.

commit 98e536b4cc6c7cb72e6caf48be58eec77e81d707
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 10 15:32:23 2002 +0000

    revert-rxkad-new-fcrypt-20021028
    
    
    until we know why it's brokenn

commit f7f1c50256b4073f3f8b762468bda450ad288267
Author: Joseph V Moss <jmoss@ichips.intel.com>
Date:   Tue Dec 10 04:22:14 2002 +0000

    linux-ia64-updates-20021209
    
    
    deal with *LK64 not defined
    deal with ia64 sys_call_table

commit 7a449be5fc0edc1ba4b86927856a44b865587c8b
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Dec 9 23:12:44 2002 +0000

    Update NEWS file with user visible changes and other noteworthy things
    about OpenAFS 1.2.8.

commit 79fba7ba3297f9b3121e8e83935048f70f7f040a
Author: Jim Rees <rees@umich.edu>
Date:   Thu Dec 5 16:17:26 2002 +0000

    openbsd-20021205
    
    
    Change syscall from 210 to 208, by popular demand

commit 1bd76f6fe56f231d5fbc271cc7768c519058890e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Dec 5 00:43:46 2002 +0000

    deal-with-non-modversioned-non-exported-sys-call-table-20021204
    
    
    test was incorrect

commit c9f2a72c911bbc44ad2d6c421282f8d7e4a5ab5e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Dec 4 16:52:53 2002 +0000

    fssync-interface-change-to-deal-with-callback-delays-20021204
    
    
    move callback breaking into a separate thread
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    the rest of it. somehow the original version of this was lost.
    
    ====================
    
    the rest of it. somehow the original version of this was lost.
    
    ====================
    
    the rest of it. somehow the original version of this was lost.

commit 208fab61f3f0ffd8311989227b8f7ed25e240e1c
Author: Jim Rees <rees@umich.edu>
Date:   Wed Dec 4 14:53:47 2002 +0000

    ignore-files-20021204
    
    
    Ignore src/libuafs/Makefile.common

commit 04f88387f9b72465e5778a324e94191583acbd06
Author: Jim Rees <rees@umich.edu>
Date:   Tue Dec 3 23:34:31 2002 +0000

    openbsd-20021203
    
    
    OpenBSD:
    Don't include systm.h
    #define iodone for 3.2
    add rc file

commit bb66c6098b0d20799a1ede5614b655f5f583af14
Author: Jim Rees <rees@umich.edu>
Date:   Tue Dec 3 17:44:14 2002 +0000

    remove-prototypes-20021203
    
    
    Remove prototypes from viced_prototypes.h.

commit 484d4b8588f99a849e717c4fabddefd145c55eb9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Dec 3 02:03:42 2002 +0000

    viced-prototypes-inclusion-20021202
    
    
    include prototypes header file

commit 48b41ef5bc799205b6fa524ab8517d8adeabf8a8
Author: Jim Rees <rees@umich.edu>
Date:   Mon Dec 2 21:22:20 2002 +0000

    openbsd-20021202
    
    
    Make a symlink for libafs/lib. Needed for libkern.h.

commit 63b85f21f53bffd760b7b0ff73b52f7025282592
Author: Jim Rees <rees@umich.edu>
Date:   Mon Dec 2 13:39:46 2002 +0000

    fix-includes-20021202
    
    
    Fix includes so the tree will build again

commit f5ff298ec5dcc3607621321e5785374bbed591fc
Author: James Peterson <james@abrakus.com>
Date:   Wed Nov 27 14:37:13 2002 +0000

    windows-rename-warning-20021126
    
    
    Currently AFS doesn't handle Explorer operations 'rename' and 'move'
    correctly.  Normal operation of 'rename' and 'move' is to warn the operator
    when the destination file name already exist.

commit ed4cd74d47fc2253539aef64c95c1cb9ebab97cc
Author: Scott D. Williams <sdw@email.unc.edu>
Date:   Wed Nov 27 03:36:42 2002 +0000

    windows-loopback-adapter-support-20021126
    
    
    try to bind to loopback on windows

commit fffba45737f37a0944491928352369e91547ff07
Author: James Peterson <james@abrakus.com>
Date:   Wed Nov 27 03:30:16 2002 +0000

    windows-rename-20021126
    
    
    fix rename on windows client

commit 12867ce0b64abb2095d8911b7bac1cf6e4460290
Author: Andrei Keis <Andrei.Keis@morganstanley.com>
Date:   Wed Nov 27 03:22:38 2002 +0000

    windows-updates-20021104
    
    
    windows timestamp update
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    build updates

commit 0dd158bb6f09089928cfa80dbc2e1e13f12fda98
Author: Scott D. Williams <sdw@email.unc.edu>
Date:   Wed Nov 27 03:18:31 2002 +0000

    windows-fake-cml-info-20021126
    
    
    fake up cml info for windows

commit 2ab5a578cf5ff61ef470fade98684e4f4cf6a9df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 27 00:00:07 2002 +0000

    disable-new-afs-thread-model-in-old-kernels-20021126
    
    
    don't use new kernel thread model for 2.4.7-10

commit e45d9bf430e00b2a1ca1789695fb23a459191f0e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 26 23:39:52 2002 +0000

    hpux-readme-and-comments-on-header-20021126
    
    
    Thanks to Carl Davidson for making it happen.

commit eb275d9b1f24794f709b36741c6857392d415900
Author: Jim Rees <rees@umich.edu>
Date:   Mon Nov 25 23:22:07 2002 +0000

    cvsignore-20021125
    
    
    add a few more files to .cvsignore

commit 3b95323f9f5b27857becf17b0684995294241627
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 23 01:51:43 2002 +0000

    viced-make-send-buffersize-tunable-20021122
    
    
    idea from chas williams. arguably should be made larger than 16k also.

commit 4e52d08bea672add860866986f200ce2f99fd9a9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 23 01:45:05 2002 +0000

    afs-xosi-prototype-20021122
    
    
    add missing lock prototype. create header as needed.

commit a82075db9eae971aa3685a280fcc9fd2ddb1076f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 23 01:44:28 2002 +0000

    cmdebug-export-more-locks-20021122
    
    
    we missed some locks, notably afs_xosi, afs_xsrvAddr. show them.

commit 96253fdd414fa2152e32dd9f95c8d141a57adfd5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 23 01:26:56 2002 +0000

    update-README-with-current-systems-20021122
    
    
    note that logging ufs on solaris can be bad

commit 8b141efe96d0080b90a1331b080e9250771aff17
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 22 20:07:27 2002 +0000

    cachemgr-warn-solaris-users-of-dangers-of-logging-20021122
    
    
    with feedback from others.

commit d871033be74049e92d0034505d52ab0b4ee99a84
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 20 23:00:33 2002 +0000

    openbsd-20021120
    
    
    OpenBSD:
    Hold volume info file vnode until shutdown
    Pass proc struct * to HandleFlock
    Get va_atime.tv_nsec right in getattr

commit 27005896103e250d045b005edc5a17cbec09131b
Author: Kris Van Hees <kvanhees@sinenomine.net>
Date:   Wed Nov 20 15:26:18 2002 +0000

    linux-flock-downmap-64-ops-20021120
    
    
    downmap F_*LK64 to F_*LK if they're different. we have no large files for now.

commit f8d781408717fbf65837fc69d4b4edda2349df4f
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed Nov 20 03:13:23 2002 +0000

    Make this work with Linux 2.2 kernels again.  In particular,
    
    - Use the DCOUNT() macro from afs.h instead of atomic_read, because
      the d_count member of a struct dentry is an int in the 2.2 series,
      not an atomic_t.
    
    - Use list_del() + INIT_LIST_HEAD() on 2.2, which doesn't have list_del_init().
    
    - BUG() only exists on 2.4 kernels.  Just don't use it on 2.2.

commit 6af0e344af39d15c8816b2acd86b785f991898b5
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Nov 20 01:58:52 2002 +0000

    Fix a memory leak in the dynroot directory creation process and
    factor out common code to compute directory size.

commit 38136f03cf9043ec98d83653f4fddf5a02e48a2a
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 19 18:28:01 2002 +0000

    openbsd-20021119
    
    
    Implement AFS_GLOCK()
    Other minor cleanups

commit 843f9f4aefa73aac587501b6ebc5a91dc0060530
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 16 03:12:30 2002 +0000

    acinclude-check-sizeof-long-20021115
    
    
    we do this the autoconf 2.13 way. it's deliberate.

commit be4f627b1c119194a20abea21e0abbe571c532ef
Author: Jim Rees <rees@umich.edu>
Date:   Fri Nov 15 17:19:40 2002 +0000

    openbsd-20021115
    
    
    Fix yesterday's damage:
      Put afs_vnop_fid.o back in the nonfs module
      Put back VN_HOLD for Darwin in VNOPS/afs_vnop_remove.c (from kolya)
    More prototypes
    Re-organize OBSD/osi_machdep.h

commit fb3ca247296a14eb6ae0497f7ac4efe5e26d204b
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Dec 3 02:00:24 2002 +0000

    REVERT-volserver-dont-deal-poorly-with-fssync-blockage-20021016
    
    
    not ready yet, needs work

commit 21e056922d695c3fb49b48afc6e68391c764b16b
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Fri Nov 15 05:02:33 2002 +0000

    rxkad5-dont-allow-dot-in-aname-20021114
    
    
    otherwise we need to deal with the fact that we're using . as a separator

commit 8bdfec7eb57b37995f3c1476c7ba7f1b6b261827
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Nov 15 03:59:59 2002 +0000

    linux-params-define-local-apic-to-one-20021114
    
    
    based on suggestion from seth vidal <skvidal@phy.duke.edu>

commit 4caeeb438887b94d70e23ed4bc7317d23b48edee
Author: Jim Rees <rees@umich.edu>
Date:   Thu Nov 14 23:53:36 2002 +0000

    openbsd-20021114
    
    
    OpenBSD:
    Fix more vnode refcount screwups
    Implement AFS_KALLOC, AFS_KFREE and eliminate #ifdefs in afs/afs_osi.c
    More prototypes
    Move a bunch of stuff from param.h to osi_machdep.h
    Don't bind afs_vnop_fid.o in with nonfs module

commit 1e3dd7ad0ec21bce6fa20c5cbce97f984fdd51ee
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 13 16:44:04 2002 +0000

    use-VTOAFS-in-HandlePioctl-20021113
    
    
    Use VTOAFS in afs_HandlePioctl() instead of passing in the wrong type.
    Needed for OpenBSD, which doesn't just cast vnode to vcache, and possibly
    others in the future.

commit 3a7b3ac5ef6b1f478b756c7cb141b2b383c67992
Author: Jim Rees <rees@umich.edu>
Date:   Wed Nov 13 16:25:55 2002 +0000

    DRead-check-file-size-20021113
    
    
    Restore the file size check in DRead(), but do it right this time.

commit 822d725f808d26b177464ef09de7d076e5c7fa36
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 12 23:57:37 2002 +0000

    openbsd-20021112
    
    
    Remove size test in afs_buffer.c:DRead().
    Cleanups and prototypes.
    OpenBSD client works now, at least readonly.

commit da4ee765f9a2b17169c7ebed474cf9e83e06907d
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Tue Nov 12 22:52:12 2002 +0000

    Recognize MacOS X 10.2.2 as ppc_darwin_60.  It's compatible.

commit 735afe1a6140bd99bb9040796175c4a4e8c1d5dd
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Nov 12 21:17:21 2002 +0000

    Handle Linux kernels that don't export sys_call_table.

commit 82523baf9f76eca38fc4856f52bc7cdabddf14b3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Nov 12 20:09:25 2002 +0000

    Clean up code in rxi_FindConnection.

commit d3c31d00619b968ec50d072499d6df08ba5de503
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 12 17:02:06 2002 +0000

    nfs-translator-nfsv2-fixup-20021112
    
    
    rewrite so we treat the ptr args as such

commit 37b4195d603630498664fa0975ea5d5c82f9aa4f
Author: Jim Rees <rees@umich.edu>
Date:   Mon Nov 11 21:23:15 2002 +0000

    dtest-20021111
    
    
    Fix dtest.
    Does anyone ever use this?

commit b67317fa07fa4c1df6818d623c6dec48418bb6ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 11 00:53:46 2002 +0000

    nfs-translator-fix-lookup-20021110
    
    
    add fstrace statement, remove bogus &

commit d2ec7c34b983d4eb246f30a51eb3e54353a99565
Author: Jim Rees <rees@umich.edu>
Date:   Fri Nov 8 21:59:23 2002 +0000

    openbsd-20021108
    
    
    More OpenBSD merge.
    Fix refcount screwups in afs_GetVCache and friends.
    "ls -ld /afs" works now.

commit 556273f88cab8fae78f6a6918edde99f11656f26
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 7 23:10:43 2002 +0000

    Miscellaneous cleanup.

commit 1b3f04c26e27fb59a22aaa995b49f58b834e773a
Author: Jim Rees <rees@umich.edu>
Date:   Thu Nov 7 22:55:27 2002 +0000

    openbsd-20021107
    
    
    fix afs_unmount
    make osi_NetReceive sleep at shutdown so it won't loop forever

commit 63c5438e4864c80d8809ddd326ce09ccb80ee55f
Author: Douglas Engert <deengert@anl.gov>
Date:   Wed Nov 6 20:32:33 2002 +0000

    hpux-20021106
    
    
    Minor fixes for HPUX110.

commit 6bb19413a9df73e08eeb2f20e433cbd3fdc95cf5
Author: Jim Rees <rees@umich.edu>
Date:   Tue Nov 5 22:37:53 2002 +0000

    openbsd-20021105
    
    
    don't panic in osi_NetReceive if soreceive fails
    don't release root vnode in afs_root
      (temporary until I track down the refcount screwup)

commit 54495a713bfea995556f9e1d6de5555fda458034
Author: Jim Rees <rees@umich.edu>
Date:   Mon Nov 4 23:35:37 2002 +0000

    openbsd-20021104
    
    
    implement afs_root()

commit 5c7482f2fcf174fe61589dedae1d1bf4ea0bff31
Author: Andrei Keis <Andrei.Keis@morganstanley.com>
Date:   Mon Nov 4 20:42:02 2002 +0000

    winnt-make-mountingother-than-as-afs-work-20021104
    
    
    make mounting other than as /afs work correctly with respect to absolute symlinks

commit 3a7d53e8bd1bb4ed2af221b823f25f58e4dffbf1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 4 20:15:38 2002 +0000

    vputvnode-print-error-number-on-write-failure-20021104
    
    
    make log message include error when taking volume offline

commit 038d4a0e8e0520bf8c29793d810f0c0a6e40e419
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Nov 4 08:31:47 2002 +0000

    Under Solaris, only clean up the open count in VOP_INACTIVE when
    the vcache is mvstat 0 (necessary because executables don't get
    VOP_CLOSE'd).  Volume roots (mvstat 2) need to keep their open
    counts, because under fakestat, the mountpoint above it is still
    considered open by the kernel.

commit 048e35c8290894387379a27616ef8fbae45568fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 2 17:25:20 2002 +0000

    shlibafsauthent-extra-functions-20021102
    
    
    export more on solaris

commit 9dbddd1d4c3455080b78848c0fe59e986501c60d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 31 20:12:59 2002 +0000

    linux-what-socketcall-20021031
    
    
    we're not using it, so let's not use

commit da3dad673043bdf35b58dc303f3ab324b0d0d828
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 31 00:19:55 2002 +0000

    bg-fcrypt-cleanup-20021030
    
    
    make the libafsrpc libraries work with new fcrypt
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    readd missing statistics
    make cm and ukernel compile with new stuff
    
    ====================
    
    readd missing statistics
    make cm and ukernel compile with new stuff
    
    ====================
    
    make it work with ukernel macros

commit 58c34e103c2772ff3791dcca93e0b75e66d4b189
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 30 22:56:58 2002 +0000

    openbsd-20021030
    
    
    More small OpenBSD fixes.
    Now the module loads, afsd starts, and /afs gets mounted.

commit 19f082ad8c88265386239544b2011a77d6873421
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 30 22:27:18 2002 +0000

    rx-junk-writevinit-20021030
    
    
    we don't use it, so it's gone

commit f349e5b3fa0206cd6269df256911a73f52ff4a0b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 30 09:10:16 2002 +0000

    Allocate memory for the interface addr arrays dynamically
    to avoid potential overruns.

commit dfaf556aeafcd25ef2374d835cd3925042107e95
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 30 08:40:38 2002 +0000

    viced-cleanup-20021030
    
    
    it all compiles nicely
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    a little more cleanup
    
    ====================
    
    a little more cleanup
    
    ====================
    
    a little more cleanup
    
    ====================
    
    a little more cleanup

commit fac07401327243c7c8ab4d99cbdcdb53b0520763
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 30 07:06:46 2002 +0000

    afsfileprocs-more-cleanup-20021030
    
    
    finish ansification
    take some functions internal
    reorganize to avoid need for some prototypes
    remove said prototypes
    strip out some unused code

commit 76b9b951749ae333d56a3b66dd09f01e23e42903
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 30 07:03:05 2002 +0000

    lhash-includes-cleanup-20021027
    
    
    make stddef be included when building ukernel so NULL is defined
    cleanup redundancy

commit e1f2501c4f6741300ae61b3ba8bf9645f38e446c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 30 00:12:15 2002 +0000

    viced-afsfileprocs-partial-protoizing-20021029
    
    
    need to finish protoizing and create useful header

commit 511e067fd2e1bb2f4f88fc4f13fbded44e8b92b2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 29 23:03:13 2002 +0000

    fileserver-host-interface-cleanup-20021029
    
    get rid of HPCS macros from person who was confused
    
    get rid of unused functions in host.c
    
    convert to ansi func decls

commit fac48b50c791364ab2da8a1fdbda0ef00853c11a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Oct 29 21:32:23 2002 +0000

    Mention the cross-cell fakestat feature in NEWS; I had meant to check this
    in with the original delta, but missed this file since it was above src/.

commit 190bc027de26e4193f5c6e424f9eaa7e66fab8ff
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 29 00:06:41 2002 +0000

    fileserver-readonly-support-20021028
    
    
    so a fileserver can deny writes

commit ea57d1062c8f48a4217b220a169a1072488ff953
Author: Love Hörnquist-Åstrand <lha@it.su.se>
Date:   Tue Oct 29 00:05:06 2002 +0000

    rxkad-new-fcrypt-20021028
    
    
    rxkad fcrypt from bg@pdc.kth.se. we should also add autoconf test for what
    to use for EFF_NTOHL

commit 7da7434842cdaab7efb482023774a378cedd42ae
Author: Love Hörnquist-Åstrand <lha@it.su.se>
Date:   Tue Oct 29 00:00:28 2002 +0000

    lwp-take-insque-internal-20021028
    
    
    make insque/remque internal

commit d67e1550e47c3366384f278b8cf2f7dd255fa685
Author: Simon Spero <ses@unc.edu>
Date:   Mon Oct 28 23:56:40 2002 +0000

    darwin-restore-terminal-after-read-password-20021028
    
    
    turn echo back on

commit 05a3224474c3cb7552a8ce4b2d7524c631520690
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 28 22:51:34 2002 +0000

    rxkad-krb5-windows-fix-20021028
    
    
    based on report from leg@andrew.cmu.edu

commit c9139f0c54e6e082ce4e54ed5359581dd08bab72
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 28 21:28:25 2002 +0000

    openbsd-20021028
    
    
    Add OBSD subdirs to afs and rx
    some other minor tweaks

commit fdeaffdd916226d3110c2461935553cbadf65c0e
Author: Love Hörnquist-Åstrand <lha@it.su.se>
Date:   Mon Oct 28 02:43:56 2002 +0000

    acinclude-updates-20021027
    
    
    so AC_DEFINE() specifies 3 arguments for everything defined

commit 1f8e892794c987ca2fc629d5f0f0b709cb3205d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 28 02:16:08 2002 +0000

    ukernel-fix-osi-settime-20021027
    
    
    make this match the prototype

commit ce34c263e683bc27ad64c4d26f5132afdba13dff
Author: Love Hörnquist-Åstrand <lha@it.su.se>
Date:   Mon Oct 28 01:18:38 2002 +0000

    rxkad-krb5-20021027
    
    
    Added support to rxkad for servers accepting Kerberos V5 tickets and
    truncated "proposal 2b" tickets.  When used with an appropriate aklog
    or krb524d (such as shipped with Heimdal and MIT Kerberos), this allows
    the use of Kerberos V5 tickets (with DES session keys) to authenticate
    connections to OpenAFS servers.

commit 08ed0bffcba0f62db9b79d5cc320d43572afe8cc
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Oct 27 23:21:41 2002 +0000

    As reported/suggested by Derek Atkins, use AFSTOI() instead of AFSTOV()
    in vcache2fakeinode(), since we really do want an inode.

commit 52381274cd3bce2719bb6267ace61359453802cc
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Oct 26 16:41:14 2002 +0000

    vos-dump-clone-and-vos-copy-support-20021026
    
    
    support for cloning before a dump, and for vos copy

commit c7f84a5867a5c1e6611dc8ea6e929031553a7818
Author: Sam Hartman <hartmans@mit.edu>
Date:   Sat Oct 26 16:40:07 2002 +0000

    uss-fix-bogus-grammar-20021026
    
    
    newer bison actually wants you to write correct grammars apparently.

commit 5f051a666b525abb2b3497a7966aa9ece8884aab
Author: Sam Hartman <hartmans@mit.edu>
Date:   Sat Oct 26 16:39:08 2002 +0000

    getchar-returns-int-20021026
    
    
    don't assume it returns char

commit eb66163ac0b7104d28fbc99ccc0116baf64f1629
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 22 09:00:00 2002 +0000

    solaris-nfs-translator-expand-macros-and-cleanup-20021011
    
    
    make the acl stuff work too

commit 70872e9d3cba906a28fa4cf78a080819c822f5f6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Oct 20 08:35:21 2002 +0000

    Slight change to the semantics of the serial number field in the
    ack packet, which results in more reliable RTT computation.

commit 12d6de6dd05637e97d419418a269267cc4cc6c2a
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 18 18:09:27 2002 +0000

    openbsd-20021018
    
    
    OpenBSD kernel module builds now.

commit ec5df8df8cfc0e69856031ffcb07ae6d58d4a203
Author: Satish Kumar <ksatish@in.ibm.com>
Date:   Fri Oct 18 16:59:00 2002 +0000

    fix-quota-calcs-with-unsigned-20021018
    
    
    Change some ints to unsigned for correct quota calculation.
    From Gregory via Satish Kumar.

commit 840b977dba0efceaf1937d24cb46ef75337c8faf
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 18 00:04:56 2002 +0000

    openbsd-fix-20021017
    
    
    Fix another merge screwup on my part. Sorry.

commit 141c26f78ece33d87c5b4da750c902dc7f759839
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Oct 17 02:50:40 2002 +0000

    volserver-dont-deal-poorly-with-fssync-blockage-20021016
    
    
    The attached patch attempts to deal with the issue that the volserver
    blocks if the fileserver's fssync interface isn't responsive by doing a
    select (IOMGR_Select) before trying to read the server's response.

commit f0b8a1c61d7e25f7f55f1f83485778c069a2fcdc
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 16 20:57:27 2002 +0000

    restore-osi-msg-20021016
    
    
    Put back osi_Msg.  It got lost in the merge.
    Hey, if I never made mistakes, I'd never get anything done.

commit 1a8c712ae1bd0a563bc63670f734ef981180ae29
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 16 20:42:38 2002 +0000

    rx_securityClass-20021016
    
    
    Back out my previous change, and instead declare struct rx_securityClass
    here.
    Thanks to Derek Atkins <warlord@MIT.EDU> for this excellent suggestion.

commit b68affbc6cfa906dd931be04d814c284b5110319
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 16 18:48:47 2002 +0000

    openbsd-20021016
    
    
    Fix includes for mbuf.h, if.h
    auth/cellconfig.p.h:
      Use (void *) for 2d arg to afsconf_ClientAuth(), since we have no def for
      struct rx_securityClass at this point
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    More OpenBSD merge
    prototypes
    cleanup

commit 782109a29bd751a7681e3a31aeaa077e880208c3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Oct 16 04:58:13 2002 +0000

    no-copy-libafs-builds-20021015
    
    
    make things so file copies from src/libafs don't happen; change how libafs_tree is done

commit 695bf4bd6f123a33e433c41d0f95db1e2c83e568
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 16 04:03:51 2002 +0000

    solaris-build-translator-kernel-module-20021015
    
    
    make libafs.o get built on solaris

commit 48c005a4670a8e9ea9079bfc9aeb189ccbf14a2a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 16 04:00:48 2002 +0000

    solaris-nfs-translator-expand-macros-and-cleanup-20021011
    
    
    trying to get this to work
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make it not go down in flames
    
    ====================
    
    fix nfsv2 also
    
    ====================
    
    looks like we need to do this when we create something new also
    
    ====================
    
    cast correctly.
    
    ====================
    
    and add in some fstrace crap which afs_trace.et already had

commit 69edd3e06b5606eecdb5ad08a88870e50376d6b3
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 14 23:13:45 2002 +0000

    fix-dir-voids-20021014
    
    
    Revert some voids back to char.  I was too ambitious.
    Thanks to kolya for pointing this out.

commit 393fc0d046334b85e638f6db88bc0469367eb928
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 14 16:48:40 2002 +0000

    openbsd-20021014
    
    
    More OpenBSD merge.
    Most of this is just cleanup, not OpenBSD specific.

commit a64d9d729db65d1d0f81fb6352399763c38580c8
Author: Jim Rees <rees@umich.edu>
Date:   Mon Oct 14 15:41:16 2002 +0000

    dir-char-to-void-20021014
    
    
    Change a bunch of (char *) to (void *)

commit 7aebf2b2ea68668482edaefedd4efa5cafa61edd
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Oct 13 10:01:02 2002 +0000

    If the user calls rx_EndCall and we still have an outstanding
    delayack, force-send it now, to be nice to the server (otherwise
    the server will keep retransmitting to us for a while).

commit 73579f285f5e3d5a4df5ec9e14e1aac6aecf8477
Author: Jim Rees <rees@umich.edu>
Date:   Fri Oct 11 22:43:14 2002 +0000

    openbsd-20021011
    
    
    More OpenBSD merge.

commit fa0d85ce03b05fba81f880abac4197fe8bc75776
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 11 01:50:40 2002 +0000

    Undo part of openbsd-20021010 which changes ReSortCells_cb, and
    have it return (void *) NULL instead, which is necessary to tell
    afs_TraverseCells to not stop the traversal.

commit 3ce7e41622175cf73ef129426880e77969efe7f3
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 10 23:45:14 2002 +0000

    openbsd-20021010
    
    
    More OpenBSD merge.

commit 9031c3b7d33ce5e413fcfc8dadd0d01c37c4c062
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 10 22:22:45 2002 +0000

    netsend-proto-and-obsd-includes-20021010
    
    
    Put in a prototype for osi_NetSend(), and try to fix all versions
     of rx_knet.c.  Sorry if I broke yours.
    Fix includes for OpenBSD.

commit 2d182a7fc1aa17bce1f63164944995663f567c12
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 9 23:36:54 2002 +0000

    A better way to do cross-cell-only fakestat, which should
    also avoid problems with Linux's attribute validation.

commit 0c4ee80a72d058265b291f82c819bc3631ed1813
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 9 19:25:54 2002 +0000

    openbsd-continues-20021009
    
    
    More OpenBSD merge.
    Please let me know if this breaks other architectures.

commit 41c2b9aa17ae5c19fb2acf4c200c57630fd08490
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 9 16:57:18 2002 +0000

    no-stddef-in-kernel-20021009
    
    
    Don't include stddef.h in the kernel.
    Untested except on OpenBSD, but I warned the mailing list.
    Let me know if this breaks your favorite sysname.

commit 5714e09b3416bedd3833357b356063eeafb83029
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 9 16:54:48 2002 +0000

    fileserver-cbs-raise-limit-by-killing-goofy-u-short-indexing-20021008
    
    
    i probably missed something here.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    i did miss something. also, change FileEntry padding and axe useless comment
    
    ====================
    
    try, try again
    
    ====================
    
    once more with feeling
    
    ====================
    
    make typing of the indexes into timeout[] match
    
    ====================
    
    make struct CallBack a multiple of 32 bit so the weird math works again

commit 56e095daea32028fa58a043370e9b7fd9120dd87
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Oct 9 02:02:47 2002 +0000

    aix51-support-20021008
    
    
    aix 5.1 support, not yet ready for prime-time

commit 32c2d6f846a8596273796893c8c16be36d564304
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 9 01:54:48 2002 +0000

    osi-wakeup-return-zero-on-doing-a-wakeup-20021008
    
    
    based on patch submitted by reuter@rzg.mpg.de, but i actually ported it
    to all platforms.

commit b0e51e2993d3775ac5ebf26c2b851b2e316aea11
Author: Jim Rees <rees@umich.edu>
Date:   Tue Oct 8 18:48:42 2002 +0000

    curcred-20021008
    
    
    Add osi_curcred().
    Re-format a bit for readability.

commit 3266003c5dd98c9698498322d33320c715953832
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Oct 8 05:15:48 2002 +0000

    aix51-support-20020926
    
    
    aix 5.1 support, not yet ready for prime-time

commit 4c9b36395b1ff4aea48c4f07ade6fdd3e5c59658
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 7 10:29:45 2002 +0000

    Make cmdebug -addrs work on platforms other than Solaris.

commit f0c7fe9ee1d07d50fe9f53598f36d42e365f0d89
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 7 00:00:14 2002 +0000

    Change the meaning of the -fakestat switch to only enable fakestat
    for cross-cell mountpoints.  The -fakestat-all switch can now be
    used to enable fakestat for all mountpoints (old behavior).

commit 6e3fd8294f46ba7072b47dfaf6a50fe1ce60ea61
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Oct 6 23:58:32 2002 +0000

    Add JUAFS to the list of things that make clean should remove.

commit cee427e1587ee09bbaf38e54f30c73931a4f2a77
Author: Jim Rees <rees@umich.edu>
Date:   Thu Oct 3 22:44:46 2002 +0000

    openbsd31-cm-20021003
    
    
    OpenBSD 3.1 changes for the cache manager
    eliminate some unused variables

commit c6da165252c61a2328837d13c4463026d47a45c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 3 22:24:08 2002 +0000

    fileserver-may-not-have-valid-diskDataHandle-if-volume-was-offlined-20021003
    
    
    also avoid potential null deref in ih_open but with the ReadVolumeHeader patch
    we should never get there.
    
    thanks to Kris Van Hees for discovering this

commit a93b71cb03c8c5aa9a7a11d5e02340baa2753443
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Oct 3 01:42:43 2002 +0000

    Clean up the #ifdefs around getuerror calls: change KERNEL_HAVE_SETUERROR
    to KERNEL_HAVE_UERROR, and use that for both setuerror and getuerror.

commit 2d2660f2764733fb3196342d19a19fd24009295b
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 2 22:48:49 2002 +0000

    unused-vars-20021002
    
    
    remove (some) unused variables
    fix a few compiler warnings
    this is part of OpenBSD merge

commit 1529f89e665a82d4a1d5256dd5a269d3a5bb0cb7
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 2 22:45:19 2002 +0000

    openbsd-mbuf-before-in-20021002
    
    
    include mbuf.h before in.h
    let me know if this breaks anything

commit 8bdd971cb7072541b144052ee767bd4e4b43b3c2
Author: Jim Rees <rees@umich.edu>
Date:   Wed Oct 2 16:58:18 2002 +0000

    openbsd31-cm-20021002
    
    
    OpenBSD 3.1 changes for the cache manager
    eliminate some unused variables

commit 74ad450bc202101b99923e18828073ee7208320c
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 2 01:48:51 2002 +0000

    Return EINVAL when the user tries to create a FIFO under afs,
    instead of silently creating a regular file.

commit f0affe7c25df43ae5469a3cc0f1bebdfb7f46856
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 1 19:09:40 2002 +0000

    linux-dcache-flushing-experimental-20020819
    
    
    fix missed ref

commit b057c86118ffd67149f76ceec36dc5e49dc79417
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Tue Oct 1 10:51:09 2002 +0000

    dux51-support-20021001
    
    
    this was missed. oops.

commit 06690bd19c648e407f045f583cdf217cd3c822c5
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Tue Oct 1 10:50:26 2002 +0000

    configure-check-for-timegm-20021001
    
    
    check for timegm. lha needs it for rxkad but it's "safe"

commit d04a30d76b7b55aef7ec7463a6b0ba3cbc06b08a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 1 04:32:22 2002 +0000

    solaris-dont-truncate-inode-number-20020930
    
    
    if ino_t is a larger type than afs_int32, we lose bits, then treat it as
    if nothing happened...

commit aab137dc718178a7648b2360a131861ccbba1121
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 30 20:36:44 2002 +0000

    hpux-rx-cleanup-20020930
    
    
    make the hpux client work

commit f2da23bb02ed285cf89e3e7be08318085ee7841c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 30 20:29:10 2002 +0000

    lock-header-cleanup-20020930
    
    
    make sure we include what we mean to

commit 0b8ff6366f0bb052afeb25b2bc5f7689c0dbc819
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 30 20:25:29 2002 +0000

    completion-deal-with-redhat-patch-20020930
    
    
    just include the header directly if we caN

commit a55923e8f3e21a0c810cc41ccca92d95ea11b15e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 30 20:23:36 2002 +0000

    hpux-bin-is-a-symlink-so-install-elsewhere-20020930
    
    
    update install

commit 729ec68bf6c2d51d8738524149dba613fce9094f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 30 20:21:40 2002 +0000

    handle-cow-differently-if-volume-wont-be-salvaged-20020930
    
    
    as edited by shadow@dementia.org

commit ab0716fb86698506f0cfaf9b7c1e751e5a68bc8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 30 19:38:11 2002 +0000

    wakeup-only-returns-int-on-aix-20020930
    
    
    reported by several people.

commit 41ea527e539e94654c184b1ad03a6ba95eb40b9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 27 01:51:47 2002 +0000

    hpux-updated-rx-kmutex-from-ibm-20020926
    
    
    as provided by Srikanth Vishwanathan

commit 30d558bfc576bcd9fa78451c0efc9f3c9678b710
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Sep 27 00:42:32 2002 +0000

    hpux-kmutex-cleanup-20020926
    
    
    clean up missed and won't-compile stuff

commit 7e631080a0ddba96859b6be54f4a70182b1c17e8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 26 20:48:30 2002 +0000

    hpux-rx-kmutex-h-20020926
    
    
    basically verbatim import from ibm afs, per laura stentz:
    Derrick,
    
    I have gotten approval to allow you to publish this header in OpenAFS.
    Enjoy!
    
    Laura

commit ad0d7bdbc65daa99ee586c9f8875bb59c2c4d0b6
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Thu Sep 26 08:13:06 2002 +0000

    tru64-51-gets-a-sysname-20020926
    
    
    the binaries from 5.0 don't work, so...

commit a6216b35ea93e41dac5082441b984a7e1a7b1800
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Sep 26 08:09:14 2002 +0000

    xdr-build-ours-entirely-20020926
    
    
    If we're doing our own xdr, we should be doing ALL of of own xdr, not piecemeal. This impacted on HP w/ duplicate symbols if
    -lnsl, and missing symbols if no -lnsl.

commit fa79ecc4040633eb6b1f5498e7d083b2f94917d5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Sep 26 08:07:07 2002 +0000

    shlib-linker-handle-objdir-builds-on-solaris-20020926
    
    
    at least he notices when i screw this up

commit 3cc1ea60a32f5008873450da36f1ead5bd8c07b5
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Sep 26 08:01:05 2002 +0000

    aix51-support-20020926
    
    
    aix 5.1 support, not yet ready for prime-time

commit fee78214f69ae4895e47e3c9b70e354646c154b6
Author: David Howells <dhowells@warthog.cambridge.redhat.com>
Date:   Thu Sep 26 07:39:46 2002 +0000

    linux-init-rwlocks-20020926
    
    
    init linux rwlocks we missed before

commit f5e96f747edc8674b6bf529b9c88d07799d9b10c
Author: Nick Ingolia <ingolia@mit.edu>
Date:   Thu Sep 26 07:33:16 2002 +0000

    linux-pag-deal-with-no-groups-20020926
    
    
    If ngroups in the parent is 0, but the first two elements of the groups
    array represent a valid PAG (perhaps because they weren't zeroed), then
    set_pag_in_parent won't add 2 to ngroups and the parent process won't
    join the PAG.

commit b8f10c45be99dbd3eb80005a804b123b8ba7ad21
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Sep 26 04:47:32 2002 +0000

    Recognize MacOS X 10.2.1 as ppc_darwin_60.  It's compatible.

commit 0f11456aa1b425c1418efff13fb821a26fbc117f
Author: Kris Van Hees <aedil@sinenomine.net>
Date:   Thu Sep 26 03:57:34 2002 +0000

    salvager-dont-mask-uniq-comparison-in-vnodes-only-in-inodes-20020920
    
    
    the masking operation is for inodes when using "inode spares" fields which
    overflow, not for vnode operations.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    
    remove an extraneous right paren

commit d18fd91f9d074759adba7ef7ea0c192e82205a04
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Sep 26 00:38:28 2002 +0000

    Update NEWS file with user visible changes and other noteworthy things
    about OpenAFS 1.2.7.

commit 7439ca3b79ecb4a1e518f38fd2ce4e6a57a6e15b
Author: Jim Rees <rees@umich.edu>
Date:   Fri Sep 20 17:32:11 2002 +0000

    update-openbsd-31-20020920
    
    
    update OpenBSD to 3.1

commit abe77a507ad6c7185b38b9948d58edcf58568db3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Sep 14 00:52:57 2002 +0000

    nfs-trans-comment-unused-variables-20020913
    
    
    make solaris xlator module load

commit 33ada3676c4be83dc22cd7765e3904fe7c9377c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 13 03:48:45 2002 +0000

    rxkad-client-offer-better-bad-token-warnings-20020912
    
    
    if it's too large to be a valid token, offer a useful error.

commit a0154cf196b54c411e2fa47cf36f5fe5af45746e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 11 17:15:31 2002 +0000

    linux-use-kernel-threads-and-completions-if-possible-20020911
    
    
    configure glue is all my fault
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    with minor rewriting by shadow@dementia.org
    
    ====================
    
    rest of the configure glue
    
    ====================
    
    fix ifdef to encapsulate correct code
    
    ====================
    
    fix ifdef
    
    ====================
    
    and deal with change to afsd ops
    
    ====================
    
    sys_exit not exported everywhere

commit 8790c0759c5c920fce035945a9d2fdd05fa9a75d
Author: Michael Niksch <nik@zurich.ibm.com>
Date:   Wed Sep 11 09:16:06 2002 +0000

    aix-namei-fileserver-fix-20020911
    
    
    make namei fileserver work on aix

commit bbca5d8b08cb02a7f7b15fd4ea6d757282e99460
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 11 08:19:57 2002 +0000

    ptserver-acl-dumpentry-to-disallow-access-based-on-record-20020911
    
    
    tighten up acl enforcement

commit 14ace2e2a94d6c4e6888e4794226adc65376c536
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Sep 10 22:41:18 2002 +0000

    parisc-linux-kernel-headers-20020909
    
    
    link in stuff from asm

commit 2656f417935a906a95bc07d401229405e8e5d9bd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 10 05:00:52 2002 +0000

    evalmountpoint-save-stack-20020909
    
    
    use "small" memory pool instead of 128 bytes off the stack

commit a0e5dcbe59f948725f54788e8e6fee51d49ea8d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 10 02:12:54 2002 +0000

    shlib-updates-20020909
    
    
    based on reports from nneul@umr.edu
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix dest for real
    
    ====================
    
    based on reports from nneul@umr.edu
    
    ====================
    
    based on reports from nneul@umr.edu
    
    ====================
    
    fix link lines for real
    
    ====================
    
    install everything in toplibdir

commit 3226a5dba2a8d257ea6c32173740b1c0b307d829
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Sep 10 00:43:24 2002 +0000

    parisc-linux-lwp-update-20020909
    
    
    gets all the test cases working

commit 63f25df3ef6cf6f851b8e184510eb49b06441653
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 9 18:00:40 2002 +0000

    uss-fix-typo-20020909
    
    
    reported anonymously

commit 5f934052df76327b2dd843744acfb0792a1a3183
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 6 03:44:03 2002 +0000

    revert-kaserver-set-realm-name-in-tgts-20020708
    
    
    based on feedback from Pavel Semerad
    
    fair warning; without this if you live in a world with multiple kdc vendors in
    the same realm serving the same data you will be sad. so don't.

commit ae19912bddf60da101c4e88a78e6a783077d0a59
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 28 07:05:43 2002 +0000

    shared-libafsrpc-and-libafsauthent-20020828
    
    
    shared library versions of libafsrpc and libafsauthent

commit efd9a7e32dc793c45f056be5c796f25db429a054
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 28 05:30:06 2002 +0000

    linux-tasklist-lock-export-detection-20020829
    
    
    if you don't have a versioned kernel, so sorry.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    add macro i forgot to commit

commit a5ab24af71efe6b80eb0f78d1979c5ab1d1e594d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 27 23:18:50 2002 +0000

    pin-function-definition-and-ifdef-cleanup-20020827
    
    
    define if kernel uses pin/unpin to pin memory; cleanup ifdef usage

commit d5aa87a7a54888d8c4c041f676accc199562ed28
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 27 22:42:25 2002 +0000

    cachemgr-setuerror-ifdef-cleanup-20020827
    
    
    feature-ifdef for setuerror, and clean up where it's called

commit b5677719dc204a2b8d039594b8c70bfee3914896
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 27 21:46:16 2002 +0000

    namei-close-directory-behind-us-always-20020827
    
    
    more or less verbatim as suggested by kolya@mit.edu
    
    avoid leaking directory fds if we get an error

commit 697feb05a07c280d10e6dd2525d12daa028b47b6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Aug 26 22:04:48 2002 +0000

    prototypes-empty-files-to-diff-against-20020826
    
    
    literally empty

commit dab797796ea7ea3b132b60766e95905cdacebdbf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 26 22:01:00 2002 +0000

    packaging-rationale-20020826
    
    
    why we bothered to put it here

commit 7ce0814d3098e43e7533acd9fcf7d0acad10f37e
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Aug 26 21:52:02 2002 +0000

    debian-packagings-20020826
    
    
    packagings for debian.

commit 200f93ca4ea86f499ab5e82dee11b03f5602631d
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Aug 26 21:46:51 2002 +0000

    redhat-packagings-20020826
    
    
    afsmodname actually from jhutz@cmu.edu but i don't feel like committing twice

commit 9d55bb0ee5fed23bb74703b3bad3d77a16294fdb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Aug 26 21:24:11 2002 +0000

    packaging-add-macos-bits-20020826
    
    
    the macos x packaging

commit 9f908c7287371750fd7a8adc92fec37de178c7a0
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Aug 26 16:48:50 2002 +0000

    linux-kdump-cleanup-build-process-20020826
    
    
    so we don't remake this on each make

commit 55e2f743a99c5ce69150bbd1a11090393efe7aef
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Aug 26 16:47:26 2002 +0000

    fs-prototyping-20020826
    
    
    prototype the fs command source

commit e4b7c9513e86e7c823847f828d49b62fc1ceecfb
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Aug 26 16:46:32 2002 +0000

    viced-prototypes-20020826
    
    
    prototyping for viced/callback.c

commit fd901a0154bf792a717c3a099475dd27435f2577
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Aug 26 16:45:28 2002 +0000

    vos-move-more-diagnostics-20020826
    
    
    in verbose mode, print better diagnostics

commit b7bd80cb28de681a89f8c936de989637b81cc41c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 26 16:33:03 2002 +0000

    rpc-authent-shlib-support-mostly-20020826
    
    
    necessary bits to build shlibs, except since we can't easily decide
    when to deal, we don't, yet

commit 3b1a964d95c0e47705d0384d95a65927fffaa034
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 26 15:09:35 2002 +0000

    osconf-cleanup-20020826
    
    
    don't set shlib stuff in makefile fragments. do include sun4_413 in
    osconf

commit 6ffcd27a1ecd0299cda2f45396c88ecd34959e7a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 26 15:01:19 2002 +0000

    libafsrpc-use-our-xdr-for-consistency-20020826
    
    
    suggested by Srikanth Vishwanathan

commit 4b178dacd60932f0b59c50837c514cbd5e30178a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 23 05:52:56 2002 +0000

    prototypes-fixes-20020821
    
    
    add externs removed and missed
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    ok, another try. don't include protosw.h here and let sysincludes.h pull it in
    
    ====================
    
    one more missed extern
    
    ====================
    
    keep trying...
    
    ====================
    
    fix weird redefintion problem with kmem_alloc
    
    ====================
    
    can't know this sort of thing (and it's wrong at least sometimes)

commit d3d299657a479043228913928c9dfef0d6d47b10
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Aug 23 05:38:53 2002 +0000

    dux-juafs-make-it-compile-20020823
    
    
    fix this so make will bother

commit 6f7e6bf1127d04c4e70ed13cffbc8d9324c41eab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Aug 23 05:29:38 2002 +0000

    dux-call-flushpages-with-cred-20020823
    
    
    we weren't passing in creds before. do so.

commit c5a2487ea8229713768b6b4ceff26e4ebcfcf767
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Aug 23 04:36:29 2002 +0000

    hpux-dont-build-login-20020822
    
    
    don't build login on hpux

commit 629d0806549d5b9cff9cd6f8eae50cf11c3e85ac
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Aug 23 04:31:38 2002 +0000

    This is mostly a rewrite of src/afs/afs_cell.c, and associated changes
    to other things.  Features of the new cell code:
    
     * Persistent name-to-cell-number mapping across reboots, to ensure the
       cell numbers in the dcache are meaningful.  Stored in the new cache
       file, /usr/vice/cache/CellInfo.
     * Allow cmdebug to query the cell number to cell name mapping.
     * Allow clients to have an empty CellServDB as long as AFSDB is enabled
       and ThisCell has AFSDB records.
     * The home cell retains the setuid bit even if looked up via AFSDB.
     * Dynroot gets its own cell, rather than piggybacking on cell 1.
     * Cell 1 is no longer special; cell numbers are now semi-opaque.
     * Convert cell traversal code to using GetCellByIndex rather than
       directly poking at CellLRU / afs_xcell.
     * Separate cells from aliases, which shouldn't have been the same
       in the first place.
     * Cleaner code (IMHO).
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make the arguments afs_CellNumValid takes match the prototype (since it
    really is a afs_int32 it looks like)
    
    ====================
    
    update irix to deal
    
    ====================
    
    update irix to deal
    
    ====================
    
    
    Fix some more references to the now-nonexistant cell->index

commit 641a84b67b4206e848297cc5d23bcb35bce09b30
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 23:37:11 2002 +0000

    prototypes-fixes-20020821
    
    
    hopefully last of the lwp fun
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make it build on the bsds
    
    ====================
    
    nope. this time for sure (more lwp createprocess casting)
    
    ====================
    
    clean up osi_UFSOpen prototyping
    
    ====================
    
    aix gets bitter at this
    
    ====================
    
    fix missed argument
    
    ====================
    
    again, aix doesn't like this. so, we don't do it
    
    ====================
    
    yup, aix still hates this
    
    ====================
    
    dux compiler doesn't like this (i think this one is actually my fault)
    
    ====================
    
    already prototyped in rxkad_prototypes.h
    
    ====================
    causes multiple inclusion of protosw.h which isn't safe on irix.
    
    ====================
    
    for some reason you just can't declare the same thing the same way twice
    
    ====================
    
    make dux compiler happy. oops.

commit c796a743c239aa47c51ff97e846460341bb15f60
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 22:59:12 2002 +0000

    dux-force-lex-compatible-lex-20020822
    
    
    hopefully to correct problem observed by garry zacheiss

commit 2a6c074d3c9fd9d8db3ebab89797ec2ecaed8528
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 22 20:43:30 2002 +0000

    Drop GLOCK over the entire loop iterating over the iovec, since
    it's not needed for any operations performed in the loop (rather
    than dropping it just for the memcpy inside the loop).

commit 8e66ec5e01c0746822dc13c7679bb0a8febd8579
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 19:45:11 2002 +0000

    prototypes-fixes-20020821
    
    
    screw it. if winnt can have generic pointers, so can we
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and cast all the pointers

commit 0e05e114a663acc138d1be7d87f2631c3460de40
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 18:53:43 2002 +0000

    vsprocs-checkvolume-bug-20020822
    
    
    if we're going to make a string we should make it where we expect it

commit 76aa5ff2186ee28717a25b8d6947046ac14d8770
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 18:02:03 2002 +0000

    sunos-support-cleanup-20020822
    
    
    some things want ucontext.h. leave it there

commit 5d36376c07c665b175440e51b03fd85fc58422b0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 22 18:01:51 2002 +0000

    Add two useful functions for string operations: afs_strdup() and
    afs_osi_FreeStr().  Will be used by an upcoming patch.

commit f840143cd6b672858e121a0fb3dea5e12cb60f84
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 22 18:00:15 2002 +0000

    Make "fs newcell" work even when there are no pre-existing cells in
    the kernel yet.  Previously, newcell tried to issue a GetCell pioctl
    to figure out what version of the pioctl interface the kernel is
    using.  Lacking such information (if the pioctl returns an error),
    we now assume the newer interface.

commit b1edf891d717ee8e08c0d93738a204cff09cf68f
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Aug 22 17:19:38 2002 +0000

    struct-buf-hack-cleanup-20020822
    
    
    get rid of bogus struct and just declare it

commit 0c15f693e39ca405d7c86f7f6df13e58889bf03a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 17:14:14 2002 +0000

    solaris-make-cleanup-20020822
    
    
    avoid make confusion about libafs target

commit ab09e39174ba271534398960a7ef494e3af52acb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Aug 22 01:15:09 2002 +0000

    darwin-head-build-fixes-20020821
    
    
    make the head build on darwin

commit da1203ea2026113901f568272f0e5d62856526f2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Aug 22 01:13:09 2002 +0000

    prototypes-fixes-20020821
    
    
    fix the following problems
    - including osi_vfs.h on almost all platforms, even though afsincludes.h
    already deals with it
    - universally declaring afs_globalVFS as a struct vfs *
    - declaring afs_stats_XferSumBytes in a header without a storage class
    - using afsincludes.h without sysincludes.h
    - make clean removes a source file in rxkad
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    irix needs this, put it back
    
    ====================
    
    cast parm argument to CreateProcess
    
    ====================
    
    more lwp createprocess fun
    
    ====================
    
    more lwp

commit d539fb41e523e0ea2f997f3c9747f1814b0375f5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 22 01:05:23 2002 +0000

    osi-vfs-h-only-on-linux-20020821
    
    
    based on report from Chaskiel Grundman
    
    no osi_vfs.h on anything but linux

commit 89f411e22c2d63c78cbd52410ca3e15b8aaf1c4a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Aug 21 23:07:52 2002 +0000

    darwin-updates-20020821
    
    
    should be correct support for 10.2. also updates for 10.1

commit c6fcaad9e8b7374d0fd5ca579b0559f599b9e0f7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 22:12:58 2002 +0000

    ptserver-catch-empty-idlist-20020831
    
    
    based on report from joda+openafs@pdc.kth.se
    consistent with what the opposite transform does

commit 6587d225213c9125cb8bfb227647fc5e5511b134
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Aug 21 21:57:35 2002 +0000

    int64-operator-updates-20020821
    
    
    Changing the length and offset fields from afs_int64 to afs_uint64 gave
    strange results for CompareInt64 and SubtractInt64. Therefore it's
    better to cast the values as signed in these macros.

commit f256e25bc830e53900ffce5344fdaac12100891c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 21:34:28 2002 +0000

    eliminate-nested-comments-20020821
    
    
    cleanup config fragments

commit 0ca7613ac4ce16f54931f3702e186a1097c25d87
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 21:32:19 2002 +0000

    viced-provide-way-to-not-retraverse-hostlist-20020821
    
    
    based on thomas muellers patch

commit c928f5e043a9b9f7c911a5c665bb78791659314c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 21:30:00 2002 +0000

    ukernel-updateosi-read-write-for-prototypes-20020821
    
    
    cleanup

commit 6ca8bd974194d3749f29f4f99e9582c6d6ce97bc
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 21:02:02 2002 +0000

    volser-prototypes-20020831
    
    
    vsprocs prototyping

commit d4d7befaebb5fb1e4d4cfa9ca6be44852235d1fd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 20:57:45 2002 +0000

    linux-22-kernel-support-for-current-state-20020821
    
    
    based on report from alfw@SLAC.Stanford.EDU

commit 9f2a661a98399966735a69ced4b60b68b821c1c9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 20:49:04 2002 +0000

    bosserver-dont-create-unused-directories-20020821
    
    
    in a build with alternate dirpaths we shouldn't create directories we
    don't use

commit a0938ecaf51febe8cd59327ca9ef993c829612f0
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Wed Aug 21 20:33:15 2002 +0000

    print-cause-of-bosserver-whining-20020821
    
    
    instead of a vague error be slightly more useful

commit 4b148570b3d975986221710574c99e49840e3f26
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 20:26:15 2002 +0000

    volser-vsprocs-call-enumerateentry-correctly-20020821
    
    
    prototyping caught this

commit 808369b9693bea613ba998e700ec764638b6d54f
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Aug 21 20:19:28 2002 +0000

    sunos4-port-20020821
    
    
    This patch adds support for building OpenAFS user-mode code on SunOS 4.
    It does not include libafs, ulibafs, or any code that needs to understand
    the filesystem layout (so, no vfsck, and while the salvager will be built,
    it won't work).

commit 641beba860a8f4f47e6ca54ee8c3415d01986337
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 20:04:05 2002 +0000

    uuid-update-copyright-info-20020821
    
    
    apply copyright info from arla.

commit 2a2e9b82681047239fd0fe84d0cef144411a1e9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 19:58:18 2002 +0000

    modernize-bozo-20020821
    
    
    convert to protoized declarations in the bosserver
    deal with InitBnode malloc failures

commit 8f2df21ffe59e9aa66219bf24656775b584c122d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 21 19:52:17 2002 +0000

    pull-prototypes-to-head-20020821
    
    
    pull up prototypes to head

commit ba5ed52c8740ac78dd062667b6de580b3907d409
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 16:43:29 2002 +0000

    bos-fix-restart-usage-message-20020821
    
    
    as suggested by Turbo Fredriksson
    
    restart does not default to all

commit ae3e679ab0163560a29ca51eec77a2c897a8f216
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 21 06:52:18 2002 +0000

    realcellindex-fix-allocation-20020821
    
    
    fix comparison and the double allocation it uncovers

commit 847a5af3beea35af5f80078a8b24f01582f53824
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Aug 20 22:39:31 2002 +0000

    Allow users with admin bits to store different user/group IDs
    along with a StoreData call; they can already do so anyway by
    using StoreStatus.  Fixes a spurious permission denied error
    with arla clients.

commit 3d0874aa14d8e4fc72be703593b27f2f003a7ebe
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Aug 19 23:06:02 2002 +0000

    linux-dcache-flushing-experimental-20020819
    
    
    shadow@dementia.org at least partly to blame.
    
    hold the dcache lock only briefly; instead put dcache entries to be junked
    onto a free list, by unhashing them, then grab the dcache lock, junk them,
    and release it.

commit e9ec286d9b2dbe7607cd79ff7cfe35cdeef521ae
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Aug 19 22:52:52 2002 +0000

    linux-dentry-revalidate-lock-kernel-20020813
    
    
    avoid potential race for shrink_dcache_parent/d_drop
    
    smbfs and nfs do equivalent.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    avoid potential race for shrink_dcache_parent/d_drop
    
    smbfs and nfs do equivalent.
    
    slight rework to avoid holding glock in a way which could deadlock us

commit f6462eac361ba2bddf5b84cdb7861f7ca482caba
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon Aug 19 19:53:34 2002 +0000

    Don't return ELOOP when crossing a mountpoint boundary from a BK volume to
    a BK volume.  find treats it as a fatal error, and it's annoying not to be
    able to naively use find to recurse through a volume with its backup volume
    mounted.  Never noticed this before because we used to ignore this return
    value.  Return ENODEV instead.

commit 9a871520c951db8f68b7b08acc26de5ffe8b5f57
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sat Aug 17 17:19:18 2002 +0000

    An unintentional change accidentally leaked out when the
    rx-avoid-using-newproc-on-solaris-20020812 delta was checked
    in.  Undo it, since it breaks things.

commit 1371bb1bec811b2671f5bd7652616e9180c52517
Author: Harald Barth <haba@stacken.kth.se>
Date:   Thu Aug 15 22:10:23 2002 +0000

    compiler-autoconf-tests-20020815
    
    
    attempt to find compilers we like

commit 5a7fa71c8613589c1c38d1d7723d72221818017f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 14 22:18:34 2002 +0000

    pioctl-write-null-before-copyout-20020814
    
    
    suggested by lha@stacken.kth.se

commit 8c2edd9de637404f0f3b940f81a248105376068f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 14 02:24:59 2002 +0000

    solaris8-param-cleanup-nested-comments-20020813
    
    
    get rid of nested comment

commit 1a8355845a2dbf97afb3df60d676cd5bd829fa72
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 14 02:22:09 2002 +0000

    kdump-sh-objdir-build-fix-20020813
    
    
    make objdir build that i keep breaking work again.

commit abc490d0fcdc35959bbe2b092e19beae9a22f492
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 14 02:21:23 2002 +0000

    venus-owntest-cleanup-20020813
    
    
    exit with errno on failures

commit b375c306aa065b203d02154b82b360554ba66845
Author: Harald Barth <haba@stacken.kth.se>
Date:   Tue Aug 13 20:07:44 2002 +0000

    solaris-find-valid-cc-for-compiling-kernel-20020813
    
    
    configure test to find solaris cc since we can't (yet) compile
    kernel module with gcc on solaris.

commit 7dc3c1a6eaea17ab38b86233c4438e1a6096c334
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Aug 12 22:32:39 2002 +0000

    Fix a vcache refcount leak in afs_root() on all platforms.

commit 5d3545610b83905e220d18c948d0fc621db851a5
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Aug 12 22:31:03 2002 +0000

    Second attempt at avoiding the use of newproc() on Solaris.
    This time, use thread_create to spawn a kernel thread, and
    use a dummy packet to wake up the listener during shutdown.

commit f16544d04aee46a1ac8995990c71f5bde37d8bc7
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Aug 12 22:29:28 2002 +0000

    Only put xdr_int64.o on the linker's argument list once.  It's already
    listed in Makefile.common.in, so no need to specify it again.

commit 85db3fa42563065d9f721be07f93eeffb789d22b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Aug 12 22:27:51 2002 +0000

    Don't print out-of-range index error messages when all it means
    is that we've reached the end of the server list.

commit 2bde78fdac01380a359b6e6a8c466757553f846f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Aug 10 07:32:21 2002 +0000

    linux-symbol-export-test-20020810
    
    
    test for tasklist_lock being exported
    
    discussion on openafs-devel to follow

commit 38025e06508a7a83247ca4f8957fb8e5f32dec78
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Aug 10 07:31:13 2002 +0000

    linux-gcpags-smp-safeness-20020810
    
    
    hold tasklist_lock in the right place. doesn't yet address versions which don't export it.

commit 3e6640e96dfee36cc302428d71f5de210f67be5f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Aug 9 22:15:12 2002 +0000

    Set the maxfilesize rlimit to infinity while writing to cache files
    to avoid potential truncation if the user's rlimit is too low.  This
    bug likely also exists in AIX, DARWIN, DUX, FBSD, HPUX and NBSD, but
    surprisingly IRIX got this right.

commit caeecc241e6b4133009e9997cba4e4f259c33e60
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 8 19:46:13 2002 +0000

    netinfo-support-fake-ips-for-nat-20020808
    
    
    basically verbatim from Todd DeSantis, cleared for release by IBM

commit 08c2c637ab0acda9b1319333d74850214dd5917d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 6 20:49:00 2002 +0000

    Clean up the prefetch code for Linux, by calling afs_PrefetchChunk
    directly rather than changing the ifdef's in afs_UFSRead.

commit f4d6cdd26c8b3a4db9ff2c13588c7c9c6ebd2f5b
Author: Charles Clancy <security@xauth.net>
Date:   Tue Aug 6 19:58:02 2002 +0000

    pam-afs-man-page-20020806
    
    
    our first real man page. now, we just need a few hundred others.

commit fa729e7694d8d2a7694621542ddce6e212050599
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Aug 6 19:21:54 2002 +0000

    Fix some of the things that break compilation on Windows.

commit 61442535baca5f81fee3dc3ed59227678b481277
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Aug 5 23:07:12 2002 +0000

    vos-listaddrs-avoid-holes-in-index-20020805
    
    
    index may have holes in it, so make sure we actually walk over the number
    of entries we expect

commit b8c94524a3f9df86306cf4f4d9d326979b6f9683
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Aug 5 22:03:34 2002 +0000

    dcache-fix-alen-miscalculation-bug-20020805
    
    
    *alen was being calculated wrong in GetDCache
    also fix fstrace items

commit e2253172104e23b9c80de5e69a6af2564e599dd1
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Aug 2 08:01:04 2002 +0000

    Update NEWS file with user visible changes in 1.2.6.

commit 61a3c91d476ea1f2803bc6a9a798146bcf3394c3
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Aug 2 03:41:22 2002 +0000

    Include xdr.o and xdr_array.o in librx, to pick up xdr fix.

commit 14dc5dfa08cfe64f9abd3e5d98a5e6dc08f69736
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 1 19:08:13 2002 +0000

    Clean up partial write support on Linux by calling afs_DoPartialWrite
    from afs_linux_writepage_sync.

commit 9e06544249bf6a536c3f3f26048f6809b36b0772
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 1 17:11:35 2002 +0000

    linux-alloc-dont-drop-what-you-dont-have-20020801
    
    
    avoid trying to drop a glock we don't have

commit fb6d2422f3b0b9ee756def4d91f11983fd767ad0
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Aug 1 04:33:12 2002 +0000

    Add a prototype of afs_GetRealCellByIndex to fix Irix build.

commit 49e0c6409a92e707901139789ca79d11a8aa8a67
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Aug 1 03:45:06 2002 +0000

    Include errno.h so this compiles again.

commit 2d6ebd0cda81cff70a22a4393aaf58c5b7ccbb2e
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Aug 1 00:13:09 2002 +0000

    xdr-updates-20020731
    
    
    update xdr so internal variables match what's being passed in

commit aea332588be791dd79c467e727621be382d18a21
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Jul 31 23:41:02 2002 +0000

    linux-start-if-dynroot-even-if-no-network-20020731
    
    
    if we start with dynroot, dont worry if we have net or not

commit 6c5439b80934cd6e3f0539a07874c3bda18d676d
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jul 31 23:35:09 2002 +0000

    deal-with-linux-EAGAIN-returns-when-receiving-20020731
    
    
    sometimes you get EAGAIN from recvfrom, apparently if a packet comes in with a
    bad checksum for instance. we should deal better.

commit 4d75219bedc12833c6265b6e018e6455aa88921c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jul 31 23:29:38 2002 +0000

    linux-alloc-drop-glock-if-we-can-20020731
    
    
    if we can drop the glock, do so. allocate up to PAGE_SIZE with kmalloc before
    switching to vmalloc

commit f2ab9fd440bcccb34e7875c06e00136fbefc10d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 31 23:15:16 2002 +0000

    afs-getcell-pioctl-should-be-able-to-provide-complete-list-20020731
    
    
    don't use the LRUq since it can make us miss cells. don't use the existant
    index because it includes cell aliases

commit f063c0db2109b3e089c54b4c6dd948bbd72a0ab1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 31 22:54:41 2002 +0000

    linux-note-we-use-interruptible-sleeps-in-non-compliant-manner-20020731
    
    
    based on discussion with David Howells of RedHat

commit 6c9fd25ae779bc092b9c1eb531d08483b4a96a53
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jul 31 19:43:31 2002 +0000

    fix-fakestat-support-for-hardlinks-20020731 made afs_vnop_link.c
    not compile under Sun's cc, since it tried to take the address of
    a register variable.  Don't declare the arguments as register.

commit 6122876cafab6ac3d6819ed03b8db491d7c2e6ff
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Jul 31 17:41:24 2002 +0000

    aix-make-ukernel-build-20020731
    
    
    make it compile under aix

commit 59741a821caec4ed83b87dcadbd4771e8d181c38
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jul 31 14:43:17 2002 +0000

    Support afs_link() in volume roots when using fakestat.

commit 4b2be9588b87feecd0124cec9014b4a9b3c6933a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jul 30 20:34:32 2002 +0000

    Enable afs_DoPartialWrite() and afs_PrefetchChunk() in afs_UFSRead
    and afs_UFSWrite for Linux; fixes deadlock condition for small
    cache sizes.

commit e9a6a539449ff3144169aa8ca5fc38bab613ab53
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 29 23:48:39 2002 +0000

    Remove two unnecessary casts that prevented compilation on Linux 2.2.

commit f9677cc5d0025b4cef84bb1e24004a1bf7b6cb9b
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jul 29 21:45:50 2002 +0000

    afs_PutVCache() takes a second argument, although it doesn't get used.

commit 4e13acfe3baa1bd6c7973e7c8b9f73a2dd57db04
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 29 21:03:36 2002 +0000

    Support empty CellServDB entries like arla; this is useful to
    tell dynroot about the existence of a cell without hard-coding
    the server list (it will be fetched from AFSDB).

commit b8ebb1a225c55f38aa2a59b1ffd77c2bdc06ff9f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jul 27 19:06:08 2002 +0000

    Re-encode struct fcntl back into Linux's struct file_lock so
    that fcntl(F_GETLK) returns proper values to the user.

commit 094adf6b12f3461a7f0ea4ec0a9f268c0c50336b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 26 21:55:13 2002 +0000

    solaris-nfs-module-updates-20020726
    
    
    make it compile again

commit 07a4570310f6bdddbe07ffccb3ece579ff4bdff8
Author: Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
Date:   Fri Jul 26 21:38:41 2002 +0000

    cleanup-pioctl-avoid-inadvertantly-setting-new-pags-due-to-gcc-20020726
    
    
    fix operator precedence bug

commit 9d8ad37ced11afac107a2b7d8d1bd95c7e1aa9f8
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Jul 26 21:27:55 2002 +0000

    Verify that afs_GetCellByIndex() returns a valid cell -- it might
    be NULL if afs_NewCell() aborted partway through, which could be
    the case of the CellServDB file has a typo.

commit 77efb238b1a1cfe347d822322b7cc5c7a8ff110a
Author: Charles Clancy <security@xauth.net>
Date:   Fri Jul 26 06:56:04 2002 +0000

    pam-multi-cell-support-20020725
    
    
    "will let you do
    something like:
    
    auth optional   /lib/security/pam_afs.so cell other-cell.domain.net
    auth sufficient /lib/security/pam_afs.so try_first_pass refresh_token \
            cell main-cell.domain.net
    auth required   /lib/security/pam_unix.so
    
    You need to specify "refresh_token" the second time you call it to prevent
    it from getting a second PAG and making your first token useless.
    
    Or, you can just use it once to authenticate to a cell other than what's
    in /usr/vice/etc/ThisCell.  Not specifying the "cell" argument causes the
    expected behavior of authenticating against the local cell."

commit 2ee7d7e0fbd4c082e7ee60db792976517a96523a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Jul 26 06:45:51 2002 +0000

    vos-examine-print-extra-stuff-if-so-compiled-20020725
    
    
    the --enable-full-vos-listvol-switch configure switch also compiles
    in this extended vos examine info

commit 6738516b5336475fbd69872d5d23c2ea44434a44
Author: Manuel Pereira <mpereira@us.ibm.com>
Date:   Fri Jul 26 06:33:59 2002 +0000

    jafs-library-20020725
    
    
    Java API work

commit 595f9ae4334f1dcf665944b8e6493a4f82855d13
Author: Ryan Lantzer <lantzer@umr.edu>
Date:   Fri Jul 26 06:09:56 2002 +0000

    windows-no-more-files-workaround-20020725
    
    
    work around erroneous "no more files" error in winnt client

commit fd2cb884e24b5bf48392db4222ee10125014a3ee
Author: Rainer Toebbicke <rtb@pclella.cern.ch>
Date:   Fri Jul 26 05:58:39 2002 +0000

    tbutc-uses-not-thread-safe-status-20020725
    
    
    "The multithreaded butc (src/tbutc/butc) includes bucoord/status.o, which is
    compiled together with the other bucoord stuff without MT_CFLAGS and hence
    without AFS_PTHREAD_ENV defined. Alas, it uses ObtainWriteLock and other
    macros out of lock.h which *are* sensitive to AFS_PTHREAD_ENV. Consequently,
    butc can hang trying to acquire the statusQueueLock when dumping volumes, in
    particular if 'backup status' commands are issued frequently.
    
    A proper fix would probably be to push some of those macros out of lock.h and
    make them subroutines in lock.c.
    
    A quick fix is ensuring status.c gets recompiled in tbutc/Makefile.in"

commit efbaa07c990df1bd190bbc4851535810a4eeb208
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jul 26 00:37:51 2002 +0000

    linux-try-to-reduce-invasiveness-of-flushdcachechildren-20020725
    
    
    try to become less invasive about dcache child flushing

commit fc71eb6e255b6d2bc1d24e9aae799329c675ec49
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jul 26 00:29:52 2002 +0000

    linux-cleanup-rx-cv-locking-20020725
    
    
    cleanup wait queue usage
    grab glock before mutex (like all other ports)

commit 0f4021128e1016ec9a6fea3a52f47e616fcb2022
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jul 26 00:11:30 2002 +0000

    linux-hold-glock-across-dentry-trace-entries-while-tracing-20020725
    
    
    this is actually rather scary

commit 0e53c862c31f5d122471b55699b0df0f8e4e7f94
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 25 21:45:10 2002 +0000

    revert-linux-use-d-prune-aliases-instead-of-try-dcache-children-20020725
    
    
    not currently safe on smp kernel uniprocessor systems for some reason. revert.
    also fix unlock/dget ordering to be consistent

commit 77b1a76e47948422c7797de2ac27f3a121aa8806
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jul 23 00:04:22 2002 +0000

    Work around MacOSX Finder's behavior by returning ENOENT when the user
    tries to look up Contents or .DS_Store in an uncached volume root.

commit fbb81cb4ed02a8b9a41657d7ebfdb26b73bdf935
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 22 22:23:43 2002 +0000

    Correctly check for 32-bit file size limitations on Solaris;
    the MAXOFF_T value changed from 32-bit to 64-bit in Solaris 7.

commit 9cd177c636c59a7369155d56582bffffb744aeb7
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 22 19:32:34 2002 +0000

    Translate faultcode_t return values from vm routines into errno codes.

commit 73cdd10a1b5bda70cb0a1f6299c3cc570ac97b69
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jul 22 04:47:24 2002 +0000

    linux-dentry-deletion-for-unlinked-files-22-version-20020721
    
    
    make it work for 2.2 kernels also
    also some debugging

commit 349c211789b531487d95f92fbb6860347e2d8103
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jul 20 09:12:23 2002 +0000

    Try to update attributes for volume roots when they become available,
    under Linux with fakestat.

commit e2fcfb88a234afe1bfe2b0b1046f0a0325580ea6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jul 20 08:57:17 2002 +0000

    Minor internal cleanup of fakestat's afs_EvalFakeStat and
    afs_TryEvalFakeStat; no functional change.

commit 4fac7a61d83d08bcc2236ed1825bcbbe5f51867a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jul 20 08:53:33 2002 +0000

    VN_RELE calls osi_iput on Linux which tries to get GLOCK.
    Don't call VN_RELE while holding GLOCK.

commit cabd0bbd4f4129efec2b87b6934c691bf91e883c
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jul 18 13:27:48 2002 +0000

    linux-dentry-delete-so-unlinked-files-die-nicely-20020718
    
    
    "d_delete: needs to call iput() to decrement i_count, which
    you get by returning 1 instead of 0.
    
    looking at the other fs schemes (actually its pretty clear in the
    nfs code too) i see that they return 1 for 'is_bad_inode()'."

commit d53f4f14e1ee757a57e5f6459baa61acc9b8c7b3
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Thu Jul 18 13:10:46 2002 +0000

    solaris-placate-gmake-builds-20020718
    
    
    so gmake will find the necessary source files

commit d84171dd30771401787450582bbd57aab7aafc4e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 16 23:24:54 2002 +0000

    hpux-updates-20020716
    
    
    get us closer to building

commit d0c8c165a30d1871d61dafce42f08ad4b324a00d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jul 16 18:39:50 2002 +0000

    provide an example CellAlias file.

commit 90deacca54570e978920d7b5342806558df4c74c
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jul 13 04:30:54 2002 +0000

    freebsd-isnt-darwin-20020713
    
    
    update rc script for freebsd

commit affdbe8db375bf2b9defe05ca4431f5b4e14221e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Jul 13 04:28:28 2002 +0000

    freebsd-chunk-corruption-fix-20020713
    
    
    This patch will fix the "freebsd can't read files > 1 chunk" problem. It
    will almost certainly not fix the "cache files get the bootloader written
    into them" problem, but there is a miniscule chance:

commit bfaa3bac05ad38cf4062c06b5913612728072542
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Sat Jul 13 04:25:23 2002 +0000

    libjaufs-build-fix-20020713
    
    
    make it install cleanly

commit 6ed4fae804ce197e71ed8baeff061ba66402e5ad
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jul 12 21:41:59 2002 +0000

    linux-use-d-prune-aliases-instead-of-try-dcache-children-20020712
    
    
    clean up dcache entries with function provided in the kernel instead
    of by making our own. experimental.

commit c927f48236dd489a33b0bc9fc3959baf1fae0e45
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 11 23:10:16 2002 +0000

    uuid-dont-require-snprintf-in-ukernel-20020711
    
    
    because obviously not everything has it

commit 7e0d50a1083e765d12a4978150002cfd7d806a91
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jul 11 03:32:52 2002 +0000

    darwin-vm-bugfix-for-running-apps-out-of-afs-20020710
    
    
    this "fixes a problem that causes the afs kernel code to spew
    into syslog if a long running application is run out of /afs"

commit 66bd2d780e0f02b905d6696b75cb3b1c422972d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 8 21:17:38 2002 +0000

    kaserver-set-realm-name-in-tgts-20020708
    
    
    based on comment from Chaskiel Grandman regarding observed poor
    interoperability of klog-generated tgts with other kdcs where key is
    otherwise same

commit 616f796024b5a546dd3f6e2ba1198671bd377b9d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 2 06:01:40 2002 +0000

    libadmin-vsprocs-use-volint-prototyping-20020702
    
    
    use the prototyping from volint.h

commit b745a28c47066ab2ddd9a4ad79186c996afcf382
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jul 2 05:53:25 2002 +0000

    libuafs-build-juafs-everywhere-20020702
    
    
    copy this crap to the other makefiles

commit 937149e3154746928a6535ef4b8ce52eee15dd4f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 1 17:26:29 2002 +0000

    afs-uuid-no-string-functions-in-kernel-20020701
    
    
    some kernels have no sscanf. don't do it.

commit 842925a2e83a2f0ce939402e94aedefe6981ce86
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Jun 30 18:13:36 2002 +0000

    netbsd-16-initial-support-20020630
    
    
    allow us to configure for nbsd 16

commit c746dbb3cb3fa97c4f8253eef39cd3f01d0b0e12
Author: Jeremy Stribling <strib@uclink4.berkeley.edu>
Date:   Sun Jun 30 08:43:11 2002 +0000

    openafs-tools-update-20020630
    
    
    updates for openafs-tools command suite

commit e68e9dbfa88724fd1463a2f9827f07ae7fe47fe4
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sun Jun 30 08:05:08 2002 +0000

    ignore-more-20020630
    
    
    ignore more stuff at the top-level

commit 30fb2c1484fdfd9e3469f82d70f37cd6bc4d253d
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Jun 30 07:48:47 2002 +0000

    freebsd-initial-46-support-20020630
    
    
    make it build for 4.6

commit fb8871ec2e37e193955c4688c3f08ecfeb202eea
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Jun 30 07:39:12 2002 +0000

    linux-fix-readdir-hinting-20020630
    
    
    an earlier patch erroneously removed this

commit b2788cf3abf20f404c16c57314e126a2b1b5800f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 25 16:25:43 2002 +0000

    linux-gcpags-support-20020625
    
    
    might even work

commit 19ffb82266bebfbcd529a85b43765b95355195f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jun 25 16:02:11 2002 +0000

    linux-kernel-detect-gfp-mask-in-struct-address-space-20020624
    
    
    based on report that new redhat kernels need this

commit 048543ade8eab56d47e5094fdb56bb7f49983dcf
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 24 23:18:18 2002 +0000

    linux-sleep-wakeup-cleanup-20020624
    
    
    "cleanup osi_sleep.c to remove some additional races.  this patches
    removes AFS_GLOBAL_SUNLOCK and just uses that case to handle both
    smp and non smp cases.  osi_TimedSleep always sleeps atleast 1 hz.
    (it also always sleeps interruptibly -- you might get some extra
    loops but this is better than the load average running away)
    sleep_on's are replaced with the more appropriate add_waitq/schedule
    sequence.  getevent is called after addevent since there is no
    danger of GLOCK dropping.  getevent/addevent isnt re-merged since
    osi_Wakeup doesnt create entries in the event table."

commit 78b1f7ec565ec32e114e80035581f95de50a9f04
Author: Kris Van Hees <aedil@sinenomine.net>
Date:   Mon Jun 24 20:09:59 2002 +0000

    vol-allocate-partition-names-dynamically-to-avoid-problems-with-vx-stuff-20020624
    
    
    otherwise long device paths can screw you

commit de06f45787658ff47d959d782a57e498598c1a4f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 24 18:34:02 2002 +0000

    linux-dont-install-osi-vfs-h-when-no-kernel-module-20020611
    
    
    do --disbale-kernel-mdoule build works
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    the rest of the patch

commit 2b4d2224bac4e656d7504ce2783450117b74dd47
Author: Marcus Watts <mdw@umich.edu>
Date:   Mon Jun 24 17:30:34 2002 +0000

    ubik-pause-collapsing-20020624
    
    
    I'm told that after we introduce ptserver nested groups we can expect to
    see periodic pauses in ubik operations, and this fixes the problem. if it
    happens, we can start with the UBIK_PAUSE code and go from there

commit fe1648ca02137cac306d5f5002d8f79b580694ba
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jun 24 16:40:41 2002 +0000

    linux-more-osi-sleep-wakeup-fun-20020624
    
    
    "the attached patch 'fixes', in my opinion, in osi_alloc.  objects <=
    AFS_SMALLOCSIZ are alloced with kmalloc, other vmalloc.  if kmalloc
    fails it doesnt fail over to vmalloc.  TASK_RUNNING is set after
    schedule.  it doesnt drop the GLOCK.  i moved the allocator init
    later so that it doesnt need to toggle the semaphore just before
    going to linux_alloc."

commit 60659d2c8fed0c90584bfffb33c2efa6e6270343
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jun 24 16:23:40 2002 +0000

    ufsread-save-the-oops-for-where-we-expect-it-20020624
    
    
    based on comment from matt@slackers.net

commit 68de4bbb02eb4b0cc746d48e636e7540bbda43f9
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Mon Jun 24 16:03:34 2002 +0000

    dcache-locking-cleanup-20020624
    
    
    don't oops if getDCache failed

commit 30433f36a953187f27b5db9fb432f3b7dce91e6b
Author: Richard Basch <probe@mit.edu>
Date:   Sat Jun 22 05:32:45 2002 +0000

    Update_TargetVnodeStatus() checks and strips setuid bits for non admin
    clients; it should do the same thing for setgid files.

commit 664e4f6f0ddbe30ebc78053a7b16634bac926e37
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 22 05:26:52 2002 +0000

    Add afsUUID_to_string() and afsUUID_from_string() utility functions, from
    arla.

commit 691edd4ea6c117b25aeb124ce7c4a7755694cb37
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Jun 22 05:24:49 2002 +0000

    Use:
    
    #define CONFIG_SMP 1
    
    instead of:
    
    #define CONFIG_SMP
    
    to fix recent Redhat kernel which used #if CONFIG_SMP instead of
    #ifdef CONFIG_SMP in some kernel headers.

commit 307543629ddeb4b4f34ff5947038fd6a224547b5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 15 18:11:18 2002 +0000

    linux-newvcache-make-sure-we-dont-try-to-iterate-null-pointer-20020615
    
    
    based on report from wilder@us.ibm.com
    not clear this is sufficient

commit d13f701812dd19e26317c602d9a09f0d53fe40b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 15 17:52:00 2002 +0000

    afsd-dont-print-garbage-on-bad-cacheinfo-file-20020615
    
    
    based on report from matt@slackers.net
    
    don't bother printing anything we parsed, since we're guaranteed at least
    one item is trash anyhow

commit da8653c30b7b850269ac20c3c94c37c7d36a59c9
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Fri Jun 14 18:45:33 2002 +0000

    dux-sysent-update-20020614
    
    cast this to deal with changes in sysent in later tru64

commit 391621fc5d0aea4d3d6100153d925e37a47ba781
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 14 18:22:37 2002 +0000

    junk-xdr-in-non-common-makefiles-20020614
    
    
    based on report from chas@cmf.nrl.navy.mil

commit a7500e87f5d3ef97daf158411af4b47fce91aa54
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 13 20:33:55 2002 +0000

    vos-listaddrs-cleanup-and-allow-printing-of-ip-or-uuid-or-both-20020613
    
    
    lha@stacken.kth.se complained that we sometimes printed garbage, so i took
    the opportunity to both fix it and update ours to support the options
    the arla vos listaddrs does

commit d7e3e249cbb4ebe0f1d3be3d02b5b593e576cfa0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 12 23:07:08 2002 +0000

    vol-fssync-ack-before-breaking-callbacks-20020612
    
    
    given that we don't bother to do anything to return value, we can ack
    the fssync op earlier and not tie up the volserver unnecessarily
    
    found due to comments from brent.johnson@jpl.nasa.gov

commit 6260cbecd0795c4795341bdcf98671de6b9a43fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 12 22:41:36 2002 +0000

    pioctl-always-null-terminate-after-copy-20020612
    
    
    based on report from lha@e.kth.se
    
    note that this works because PIGGYSIZE is always less than AFS_LRALLOCSIZ

commit 0f64b6b7528d61199c7c169d06325f5fde2e14f6
Author: Marc Dionne <dionne@cs.wisc.edu>
Date:   Wed Jun 12 19:22:24 2002 +0000

    windows-update-dirpath-header-20020612
    
    
    add missing definitions

commit a0d69dfa395d8c6cb2e3379000126d6ba77c1e21
Author: Richard Basch <probe@mit.edu>
Date:   Wed Jun 12 18:06:45 2002 +0000

    Don't give directory owners any implicit rights.  Volume owners still
    have their implicit rights.

commit 544fe2ef8ed929e805bac27faa3c2e62aaaadcba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 12 07:02:02 2002 +0000

    arla-pioctls-now-bogus-20020612
    
    
    as reported by lha@stacken.kth.se

commit a271a55041086f062ca888e5cdde02fe234f7281
Author: Joakim Fallsjö <fallsjo@sanchin.se>
Date:   Wed Jun 12 01:25:33 2002 +0000

    solaris-x86-20020611
    
    
    solaris 7 and 8 for x86

commit 9c29a6ead1730649ca501c85482288c73e99f693
Author: Quanah Gibson-Mount <quanah@stanford.edu>
Date:   Wed Jun 12 01:03:17 2002 +0000

    solaris-9-support-20020611
    
    
    update hrestime interface

commit eb8c33d2993ef279218e970a300d5bac2bb63f9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 12 00:33:40 2002 +0000

    windows-callback-interface-updates-20020611
    
    
    make callback interface like unix

commit 3a1c6221170c9385f5ed7b0ae40b403fb383fbfc
Author: Manuel Pereira <mpereira@us.ibm.com>
Date:   Wed Jun 12 00:29:18 2002 +0000

    libjuafs-target-20020611
    
    
    create a libjuafs library for the java api to use

commit fe1beb4f3e69f4ae2dbec60902b60cd601674d15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 13 20:35:28 2002 +0000

    revert-dont-spawn-kernel-thread-for-rxk-listener-20020426
    
    
    in some cases this causes shutdowns to hang forever. notably shutdown -i0 -g6 -y works while reboot does not

commit 08bb209eef379534268ec6433a131bc52711d111
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 8 12:01:59 2002 +0000

    getcellservdb-cleanup-20020608
    
    
    based on comments and suggestion from Srikanth Vishwanathan <vsrikanth@in.ibm.com>
    avoid deadlock. send back variable length list. allocate what we need to, and
    be care to clean up after ourselves if there's an error. whether this
    should be variable length is arguable but it's pretty clear no one was using
    this before.

commit b80ae7d78cd944420c54567030e57c4f68a3d482
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jun 8 08:44:09 2002 +0000

    use-private-xdr-in-kernel-to-avoid-conflicts-over-memory-ownership-20020608
    
    
    allocating memory from a pool and then having it be freed out from under you is unwise

commit 3651150489cc5e98dc88643d0a24d0f3941f86b8
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Jun 8 05:54:50 2002 +0000

    Update NEWS file with important changes in 1.2.5 release.

commit 3789698e0ab94c4ff0ebb875d336eb34ff2aa5aa
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Jun 8 02:29:50 2002 +0000

    Recognize MacOS X 10.1.5 as ppc_darwin_14.  It's compatible.

commit ddfc17dfd19dd4e5bf83f42b92c3a25ebd101c59
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Jun 8 00:55:01 2002 +0000

    des-fix-linux-64bit-problems-more-usefully-20020607
    
    
    with a minor fix from shadow@dementia.org
    
    long isn't 32bit on ia64 or alpha

commit 9ab8961c3106402de12f4d0dd80c65e249293fdb
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jun 5 16:56:09 2002 +0000

    Delay calling afs_ProcessFS() and upgrading the shared vcache lock
    until after the dcache locks have been released, to obey lock ordering
    and avoid deadlock.

commit 0c05bd2bccb5b586b9aedf939700f991a4adc73e
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed May 29 21:59:51 2002 +0000

    uuencode binary files used by the test suite (KeyFile and sample kaserver
    database).  Keeping binary files in CVS is annoying, and this way "cvs rdiff"
    will work again.

commit bbab90943637385742923c8bebebdd750a283e5c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 24 23:05:47 2002 +0000

    viced-malloc-dont-make-assumptions-about-the-compiler-20020524
    
    
    based on report from lha@stacken.kth.se
    "identP = (struct Identity *)malloc(1);
    
    This can't be right, there should not be an assumption how the
    c-compiler will lay out code. I find it acceptable to do something like this
    
               /* sizeof valid + offset of valid. */
               i.. = malloc(sizeof(identP->valid) + (int)&(((struct Identity *)0)->valid));
    
    But then, why not just allocate a whole identP and be happy. A afsUUID
    is not that bloted (16 bytes) so I can't see why way this is
    chosen. 20 bytes will probably be allocated on 32 bit platforms for
    the whole struct Identity.
    
    "

commit 155c13192339239dd1d794210b5bcedfb3feea15
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 23 06:21:13 2002 +0000

    afs-dont-allow-shutdown-before-umount-20020523
    
    
    fix afs to enforce that /afs must be unmounted, and afsd to report it

commit 9a1af108483532432b8a14c8e2b47a08ea97d310
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue May 21 07:37:53 2002 +0000

    Zero out some fields to avoid random crashes in "cmdebug host -cache".

commit c5222d45ecf0476091509c31318d1b4a50c35a4d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue May 21 07:35:57 2002 +0000

    Report correct cache size when -memcache is used.

commit 31f658f450f9bbcc0a59ff844f83a3c34745ea54
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue May 21 06:35:45 2002 +0000

    aix-fix-objdir-build-20020521
    
    
    make objdir builds work on aix

commit 101fbbf97b5c5ddf2d2b80badef962aba6f4daeb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue May 21 06:30:27 2002 +0000

    pts-sysviewer-should-be-able-to-listowned-20020521
    
    
    fix so the "any reader" can really read anythinmg

commit 63ea4ee399b9fc2a52d81ace70e9902424195c2e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 16 14:54:42 2002 +0000

    NT-dirpath-copy-in-useful-file-20020516
    
    
    basically until NT port has been properly set up to deal with dirpath, make
    it work as before

commit c28c22ceadfb1db8151ae74dacee2a49c42624db
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 16 14:47:28 2002 +0000

    afs-attrs-cast-date-to-int-to-avoid-negative-dates-20020516
    
    
    cheap hack to avoid negative date problem which occasionally plagues solaris

commit 10486b5652f0fb5a1d8c1fe5ddbbf5daa2477974
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu May 16 13:54:56 2002 +0000

    pioctl-avoid-inadvertantly-setting-new-pags-due-to-gcc-20020516
    
    
    some versions of gcc compile the if used to decide whether to allocate a pag
    badly. make life easier.

commit 8251fc6871a65326150be69b929917b37d83e215
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed May 15 21:04:15 2002 +0000

    osi_linux_unmask() needs to explicitly flush_signals() before calling
    recalc_sigpending(), otherwise recent kernels don't appear to deliver
    new instances of any signals already received.
    
    Revert back to using SIGKILL at shutdown time, but use SIGKILL instead of
    explicitly using signal 9, because abstraction is your friend.

commit 097df1049a6316f087e1c79b30a332358fa761c9
Author: Derek Atkins <warlord@mit.edu>
Date:   Tue May 14 23:56:40 2002 +0000

    Seems to fix a hang at shutdown time seen on Redhat 7.3 kernels; doesn't
    appear to affect older kernels.

commit fe6b4fd293f789c4d9f8f62401e31a78b466b09b
Author: Derek Atkins <warlord@mit.edu>
Date:   Tue May 14 23:48:35 2002 +0000

    Allows us to build modules for the bigmem kernels redhat started shipping.

commit 0eb68f307aac84472a13523a0ce8b7a865f01ac7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue May 14 21:21:09 2002 +0000

    dir-hold-afs-bufferlock-across-increment-of-buffer-lockers-to-prevent-newslot-from-walking-on-stuff-20020514
    
    
    liberal debugging code and hammering produced a failure where newslot was
    actually walking on another call to newslot because the bufferlock was
    being dropped before newslot incremented lockers on the buffer it
    was allocating, allowing someone else to come along and also think they
    could allocate it.
    
    by holding the bufferlock just a little longer we avoid this

commit 50473f885f07857d03b963bf43c5b24771b4913b
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Mon May 13 02:20:40 2002 +0000

    Update NEWS file with user visible changes in 1.2.4.

commit 81a3f0068f3488b7fb20fb9d6b7441f64f5b61e0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu May 9 21:37:29 2002 +0000

    Avoid kernel panic when dynroot and memcache are used simultaneously.

commit ee798e49f23d7894c92275fc3d69b8b5c3c516a2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu May 9 16:56:46 2002 +0000

    viced-cleanup-dirhandle-references-after-ourselves-20020509
    
    
    doesn't fix any problem that i can find, but results in ihandles not
    having thousands of bogus references (and may fix problems if refcnt were to wrap)

commit bac8c825478e309c225494f031ba9c6fd62817ee
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Tue May 7 21:01:27 2002 +0000

    Use vsu_ExtractName() to get the RW volume name before doing the vid lookup
    for addsite and remsite operations, since "vos addsite foo.bar.readonly" is
    such a common thinko.

commit 6aae6c02849dfed30fab3a407ff445353f1c5e31
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon May 6 08:13:10 2002 +0000

    Undo need-prototype-for-osi-dnlc-lookup-20020503, as it created
    double inclusion of afs_osidnlc.h.
    
    An equivalent patch was already present in the mainline as part of
    linux-dcache-inconsistency-fix-20020115, but its pullup to the stable
    branch, STABLE12-linux-dcache-inconsistency-fix-20020120, was oddly
    missing this particular part of the diff.

commit eea3bf3d4312b8986e1c58b92536a9dd359dd1cd
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri May 3 20:03:34 2002 +0000

    Include afs_osidnlc.h for osi_dnlc_lookup() prototype.  Apparently
    fixes a panic on ia64.

commit 1e90eb264895b5bbe974c7c8c32dbf89e48d6081
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu May 2 16:11:14 2002 +0000

    linux-ia64-build-pam-module-20020502
    
    
    keep small globals from being gprel

commit 25de65bc0bba9bc2df382dc34c1c5b0c1460aca5
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu May 2 15:38:16 2002 +0000

    linux-ia64-no-asm-syscall-stubs-20020502
    
    
    rewrite syscall stubs not in machine code

commit 7147cc946bead75eee909ea1134bc542c0b09c4f
Author: Kevin Coffman <kwc@citi.umich.edu>
Date:   Thu May 2 07:35:33 2002 +0000

    linux-revalidate-root-always-good-20020502
    
    
    avoid ESTALE in 2.4.19-pre7

commit ea0b193c19b4359bbe33516921b40a00de1e84ae
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Apr 30 01:24:11 2002 +0000

    README-NT-provide-file-locations-20020429
    
    
    give people a clue where to get things from

commit 5cbc233c648e968381a473a6bc1d6d599d1738d0
Author: Srikanth Vishwanathan <vsrikanth@in.ibm.com>
Date:   Tue Apr 30 00:40:22 2002 +0000

    vol-ihandle-cleanup-20020429
    
    
    this does fix some potential problems, even if none of them are the
    CopyOnWrite problem. basically, ih_reallyclose() could reinsert a now-unref'd
    fd handle into the wrong list when cleaning up, and this cleans up the code
    considerably.

commit c2e075fba4cec152e772ec5514d52e8ec5b29990
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 29 16:31:54 2002 +0000

    darwin-use-namei-fileserver-20020429
    
    
    build the right fileserver on darwin

commit 291e8352be1ee0c6e3da79328e752b82a7a13190
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 29 16:32:24 2002 +0000

    cvsignore-updates-20020429
    
    
    add missed fc_test

commit a31928815796bcbd1acf3005a0f628a21bbb0d8a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 26 22:33:55 2002 +0000

    If the inode is not allocated, don't bother updating timestamps.
    Pointed out by Frank.Batschulat@Sun.COM.

commit be1458b07817900d15f5c069ea66b72ef50b91e9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 26 22:27:29 2002 +0000

    Don't spawn a separate kernel thread for rx kernel listener under
    Solaris, but instead just use the afsd fork for the listener. Use
    of newproc() is deprecated, according to Frank.Batschulat@Sun.COM.

commit 1ccedea1a0d978f213a9051e15b5e5efb7ccffe8
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 25 22:44:53 2002 +0000

    darwin-map-more-versions-20020425
    
    
    5.3 and 5.4 are "Same" enough

commit 0c0eb03e9a806dc84b7c3251478de4766a8fd853
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Apr 25 22:18:23 2002 +0000

    rxkad-stats-initialize-to-placate-darwin-compiler-20020425
    
    
    because it deals badly with common symbols

commit 8268bf34acd715d28137a3d601252fd235d1a9fb
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Apr 23 14:45:51 2002 +0000

    linux-ia64-cleanup-casting-20020423
    
    
    so we don't need the SYSCALL2POINTER change

commit 5d57da192ea989d9ab4e83cb5f721a7975def9fb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Apr 23 04:26:36 2002 +0000

    sparc64-linux-and-setgroups32-cleanup-20020422
    
    
    update setgroups32 for 2.4 and make sparc64 linux2.4 work again

commit e12859bed90a0bd896150b7cfc137d0ef52e48c3
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Apr 23 04:03:29 2002 +0000

    linux-ia64-updates-20020422
    
    
    updates to make it work with later 2.4
    
    SYSCALL2POINTER change may be unnecessary (sparc64 way should work)
    but without any way to test...

commit 27595ffcd995dc31c565acdb630d5b60a275fe27
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 22 18:16:16 2002 +0000

    The heldp argument to h_Lookup should be an int* rather than int,
    as pointed out by amu@alum.mit.edu.

commit 6d43ab450a907bb1eccf9561c37c108202cd8e52
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 22 17:05:10 2002 +0000

    darwin-vnops-make-unlink-fix-fake-references-20020422
    
    
    so unlink doesn't panic us

commit df363edad10f0cbc7f1f34fd0f79a155525415e7
Author: Jeremy Stribling <strib@uclink4.berkeley.edu>
Date:   Mon Apr 22 16:42:21 2002 +0000

    libadmin-pts-allow-listing-all-users-and-groups-20020422
    
    
    so the java api can take advantage of this

commit 7158ef3ae57a97c4b7bb03527cb162ba968a2b35
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 17 23:29:04 2002 +0000

    ubik-allow-netinfo-netrestrict-to-mask-address-pointed-to-by-hostname-20020417
    
    
    if you really want to mask the IP address from gethostbyname(gethostname())
    there's not really any reason to stand in your way

commit d4493526a764f5d4d1ef6a437ab8cfa467077be6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 15 22:36:00 2002 +0000

    Make h_Lookup_r return the host held, and ensure that it's not
    deleted at that point; otherwise, the host may be deleted by
    another thread between a call to h_Lookup_r and the time when
    we actually get around to h_Hold'ing it.

commit 301d83202c8d969197ea9515e02eb93c1b2bd72f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Apr 11 08:18:11 2002 +0000

    Pass &treq to afsrename() when preserving a currently-open file.

commit a1925f8cafca91c59da076d6af8ee086765f5338
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Apr 9 20:21:59 2002 +0000

    Fix more places where afs_EvalFakeStat arguments were out of order

commit c2109aba5c3a281ffe7c6e9150324a2aa66b9aaf
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Tue Apr 9 19:08:10 2002 +0000

    fakestat-fix-eval-args-ordering-20020409
    
    
    fixed bad args ordering in call to afs_EvalFakeStat

commit 7747fce7e77e45ebb22728498052e96f527d2de0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 5 19:13:32 2002 +0000

    linux-newvcache-more-simplification-20020405
    
    
    based on suggestion from vsrikanth@in.ibm.com
    
    
    eliminate extra for loop, flatten function to drop dentries, fix
    locking error i introduced

commit 607c17c8a97bd10367c98397089554d316c52492
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 4 20:03:13 2002 +0000

    solaris-nfstrans-make-it-compile-20020404
    
    
    it compiles. it's not pretty, but it does compile

commit 7c20aa608273c5af8829183b325acbb2c356e038
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Apr 3 07:20:07 2002 +0000

    Clear the RX_CONN_ATTACHWAIT flag when an asymmetric client's calls
    time out; otherwise, the client could be locked out until the conn
    is recycled.

commit 999c7fb70dca5153c58e4f0c9bc6c1d86003865b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Apr 2 18:35:03 2002 +0000

    Don't make tvc a register, since we want to dereference it later on.
    Pointed out by nneul@umr.edu.

commit 6b33ed2b0544ca8b80a098af8db98e9714f41415
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Apr 2 06:09:48 2002 +0000

    Initial fakestat support (fake mountpoint directory attributes).
    Useful for quickly stat'ing everything under /afs, for instance.
    Reasonably tested on Solaris, and appears to work on Linux too.
    Enable with 'afsd -fakestat'.

commit fd318a1fc9551a156cdb43916143d3b959b6720f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 1 20:18:50 2002 +0000

    Fix build on Darwin (missing close paren).

commit b0e4e7bcbfb911563f68cd91c21d905738123d72
Author: David Bailey <D.Bailey@bristol.ac.uk>
Date:   Mon Apr 1 17:25:37 2002 +0000

    winnt-servermgr-use-existing-creds-option-20020401
    
    
    This adds /useexisting to use current AFS creds, bypassing the initial authentication
    dialog box. It's useful if you're not running kaserver (i.e. if you've moved
    over to kerberos 5) and can't authenticate again by the normal AFS means.

commit b08f021fc924f24fe82dae79fa9ff30ff0a17572
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Mar 30 18:02:40 2002 +0000

    Add osi_Assert()'s around pthread_{cond,mutex}_* calls to make sure
    we aren't getting errors anywhere.
    
    Update the documentation/comments about Rx lock ordering.
    
    Fix possible deadlock in asymmetric client detection code.

commit 8011b683bc72968afcf69d6c7220716281bcba55
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 28 22:00:55 2002 +0000

    afs-dont-mask-rights-granted-by-lookup-20020328
    
    
    lookup is sufficient for this, fix the client not to bogusly
    enforce extra restrictions

commit 4beb9adb661bade7caff8adf40ecb3882ae7deac
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 28 20:43:03 2002 +0000

    linux-dcache-create-negative-dentries-22-needs-while-still-avoiding-vlru-cycle-20020328
    
    
    based on patch by Srikanth Vishwanathan and modifications based on suggestions
    from Ted Anderson applicable to this part of the code.
    
    the original theory we operated under, namely that negative dentries
    could be banished entirely, causes file creation to stop working
    under linux 2.2 kernels. reverting that change means we have to deal with
    these negative dentries, and Srikanth's original suggested patch does so.

commit 1ad668aee2c995e44974f89728b1d5e13470aec1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Mar 25 18:35:07 2002 +0000

    fstrace-fix-memory-leak-20020325
    
    
    avoid leaking catalog reference on failure

commit 13f864f21e28893cf482dcc51b498698f9ecc006
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Mar 25 18:30:09 2002 +0000

    cvsignore-update-for-autoconf-25-20020325
    
    
    autoconf 2.5x turds to ignore

commit 39ee79e7c328d86738356aa5a736e24339f8b126
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 25 18:09:22 2002 +0000

    convert-linux-macros-for-inodes-appropriately-20020325
    
    
    even though right now a vnode and an inode are basically but not exactly
    the same, part of the usefulness of this change is the ability to convert
    to inodes linked from vcaches later. make the macros fit with this view of the
    fture

commit 3bf8818d956337fcf70a2734f200275f403e8814
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Mon Mar 25 17:39:55 2002 +0000

    convert-vcache-casts-to-macros-20020325
    
    
    convert vcache casting in cache manager to macros
    
    should ease further changes later

commit c4ac62f829f5642b72df9e01438fc4545cda98f9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Mar 24 23:39:01 2002 +0000

    Clean up some more ViceLog calls to consistently refer to hosts in a
    format like 18.239.2.102:7001, rather than memory address or hex IP.

commit 41f047edf69ad7c6c83cfa94f410f0daa9bb91fd
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Mar 24 19:21:35 2002 +0000

    Verify that name lengths are at most AFSNAMEMAX and symlink
    contents are at most AFSPATHMAX (notably, the Linux kernel
    doesn't check this for us); bug report by nneul@umr.edu.

commit 0329c5fbb42d14da20acb97ebda48b9974220b0e
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Mar 24 19:08:45 2002 +0000

    Initialize tvc in afs_remove so that we don't call afs_PutVCache
    on stack garbage in case of some failure.

commit d30a319f8d8c8a536bb8dfd9f3af7fa8fb235440
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Mar 22 21:56:44 2002 +0000

    rx-glock-order-headers-correctly-so-its-defined-or-not-consistently-20020322
    
    
    fix for earlier change to RX_AFS_GLOCK()

commit ef1ee322deb3a2e21c9d78a1b44375b8f7768de0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Mar 21 18:44:19 2002 +0000

    afs-memcachetruncate-takes-memcacheentry-not-inode-20020321
    
    
    prototyping caught this; the usage is inconsistent with other cases and
    i believe this is the correct fix. it's not clear to me why we weren't seeing
    problems from this, though

commit 4f1ca9bb2ebcad7e4e1c7ebea42eb361d506dcc8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 21 18:11:50 2002 +0000

    afs-checkservers-call-getuser-with-cell-index-20020321
    
    
    this means to be calling afs_GetUser with a cell index, not with the cell
    structure itself

commit f749ef6e024cf17911a52ade9be9b409fa25d29c
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Wed Mar 20 18:59:56 2002 +0000

    rxkad-regression-test-20020228
    
    
    regression test for rxkad

commit 7ffbc40b212a38de92da562d285e715150e9d771
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Wed Mar 20 18:38:28 2002 +0000

    tru64-avoid-leaking-vnodes-when-failure-20020320
    
    
    tru64 needs vrele when an error happens, rather than just returning. make
    sure we do so

commit a093138a6d8f91068bec2cff1adcfafbacf7b65f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Mar 19 22:03:30 2002 +0000

commit bd35700f8fdfaf2f8b19c7b032b2395aa458c19e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 19 22:01:30 2002 +0000

    sys-add-aix-syscall-exports-removed-incorrectly-earlier-20020319
    
    
    to export syscalls as functions you need the magic exp file
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and also reinstall them for the user cache manager library

commit 209f1c22577c2314a896de997bd7939fab2e3d52
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Mar 18 03:03:04 2002 +0000

    Allocate the exact string length needed for the string in symlink
    contents, rather than assuming that symlink data never contains
    nulls (or that it's of the length we expect).

commit 246f955432b4d00d8f1ffbe62aa9c2a048833c2f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Mar 18 02:51:13 2002 +0000

    Call afs_PutCell after afs_GetCellByIndex, even though right
    now it doesn't do anything.

commit efa250bd1c4bf2c8d6ac74d9f866a842a020d7cf
Author: Love Hörnquist-Åstrand <lha@stacken.kth.se>
Date:   Sun Mar 17 17:59:04 2002 +0000

    nbsd-fileserver-dont-leak-fds-20020317
    
    
    file server now works usefully on netbsd

commit fc09b92dce32025c8e1ac762b3f8f07bc731869a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 17 17:53:00 2002 +0000

    callback-function-fixes-20020317
    
    
    suggested by lha@stacken.kth.se
    
    drop locks when rxi_Alloc fails, and rework SRXAFSCB_GetCellServDB to use
    afs_GetCellByIndex. He suggested same for GetLocalCell, and as long as cell 1
    and not CPrimary is the local cell indicator that works, but I left that part
    of the code as is for now.

commit 5b1310f346f0f12ceac31d4d8684210cbcbc3198
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Mar 16 22:17:29 2002 +0000

    Add a -cache flag to cmdebug to remotely obtain cache manager configuration
    parameters.

commit 1fe41530c1c1a6b75a7716ed849ff37be4294317
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 14 19:57:12 2002 +0000

    Fix typo: OMIT_FRAME_POINTER not FOMIT_FRAME_POINTER

commit c360bb35ce506ad9ab425fea43b96a708e0ed1d9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 14 19:50:48 2002 +0000

    Zero out the "allocated" flag so that we don't accidentally
    free something that wasn't allocated.

commit 2dbc58bc4a00a7ba755327b22b3fbd5fb05889a6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 10 19:26:41 2002 +0000

    solaris-vfsck-allow-force-runs-when-old-inodes-exist-20020310
    
    
    if running with -y report old inodes and continue anyway

commit 372da2bebc1eb10aaacf4532d4cd5aea901a3c83
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Mar 10 19:23:38 2002 +0000

    revert-part-of-linux-dcache-inconsistency-fix-20020115
    
    
    may revisit this before release; however, open_namei on 2.2 wants a
    dentry returned to it and so without this change, creating files in
    afs breaks

commit a5cb7c256b8516dce3319cadf746539c50b09a8c
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Mar 10 19:07:56 2002 +0000

    rxgen-prototypes-fixes-20020310
    
    
    prototype fixes as fallout from rxgen header prototypes
    
    emit server stubs which include header as well

commit bfa8c6a78810862ba97cc3990f75b8d1afa701c5
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Mar 10 18:44:22 2002 +0000

    netbsd-allow-param-file-inclusion-20020310
    
    
    fix param files so ifdef error does not preclude inclusion at all

commit c06ff599ddc3c3d890ca2967a54217ed1a7a9a04
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Mar 10 18:41:52 2002 +0000

    afsmonitor-strcasestr-in-freebsd-not-netbsd-20020310
    
    
    1.5 and current have no strcasestr

commit edd10398afe756afb8b7d8abbb73324e3a1b2cfd
Author: Derek Atkins <warlord@mit.edu>
Date:   Sun Mar 10 18:39:45 2002 +0000

    configure-allow-kernel-debugging-support-20020310
    
    
    currently for linux only, but allow it for others in the future

commit 908e05adbedd1130279d82cfe4ee8e9c11c9a4cc
Author: Yee Jiun <yeejiun@yahoo.com>
Date:   Sun Mar 10 18:24:16 2002 +0000

    winnt-deal-with-compiler-packing-20020310
    
    
    use pragmas to hit compiler into packing smb_tran2QFSInfo usefully

commit 571f314329ad8213c604618fa323ce10bec636dc
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Mar 8 06:08:05 2002 +0000

    viced-call-safss-functions-with-acall-not-tcon-20020307
    
    
    based on report from mattiasa@e.kth.se who has the following feedback from
    lha@e.kth.se:
    Patch from Love to make filserver not loop on MUTEX_ENTER() in
      rx_SetSpecific()

commit de6a2911468669fcc94a4c869f0e36cd09566387
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Mar 8 06:03:34 2002 +0000

    freebsd-use-fake-refs-to-hold-inodes-20020307
    
    
    unlike macos x a fake ref works for freebsd

commit f0aea5e186d03c9eb05ef804dbcf93a5e03ac281
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Fri Mar 8 05:59:32 2002 +0000

    makefiles-dont-hardcode-optimization-flags-20020307
    
    
    allow setting optimization in CFLAGS in makefiles
    
    use -g3 on tru64

commit c1bb9648b2247473295783a2474afa34fd7327f2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Mar 8 05:48:54 2002 +0000

    fix-stats-structure-ordering-20020307
    
    report from jhutz@cmu.edu says client-64bit-file-size-support-20011031
     was broken in this way

commit f3bcfda51f5aa1185c3fab6b1c56d5c5165426f1
Author: Derek Atkins <warlord@mit.edu>
Date:   Fri Mar 8 04:57:56 2002 +0000

    linux24-fix-memcache-20020307
    
    
    The problem is that on 2.4 the 'code' variable is over-written during
    the path walk, such that by the time it's checking if the inode
    exists, code is already '0'.  But if the inode does not exist, code
    should be ENOENT to show that the file does not exist.

commit 459815329bc52d5d264ed5f1ffbfae490d88a552
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Mon Mar 4 16:47:22 2002 +0000

    dux-make-namei-fileserver-work-20020304
    
    
    namei should now work on tru64 (tested on 5.0a)

commit 7b4d6af73d92512950265443f6fe3cff6ada4650
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Mon Mar 4 16:44:00 2002 +0000

    dux-autoconf-tweaks-20020228
    
    
    make tru64 5.0a build work
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and make 4.0d work again as well

commit c642825ba83bc7ef98c2760fbbf209d82705cad6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Feb 28 20:00:40 2002 +0000

    butc-make-xg-match-code-20020228
    
    
    this may need to be revisited in the future but in the meantime the rpc stubs match the code

commit cfba7e00684a1f45f82285bcbadbc4571ab294d2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Feb 28 06:34:15 2002 +0000

    Use AFS_RXDEADTIME instead of hardcoding a value of 50

commit 7138b2734cebbf93af4dd69c04cba242c20241b5
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Thu Feb 28 06:10:47 2002 +0000

    afs-servers-use-rx-setnojumbo-interface-20020228
    
    
    use rx library interface instead of tweaking in each program

commit 48d411fa4e074f79f7f51e50358deb9cb2d322c1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Feb 28 06:08:10 2002 +0000

    afs-rx-enable-locks-cleanup-20020228
    
    
    use RX_AFS_GLOCK macros instead of ifdef wrappers

commit 12f595485ec9f4511a7f39c9723db43f775e98f7
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Feb 28 06:05:14 2002 +0000

    vnop-lookup-fix-putvcache-calls-to-match-prototype-20020228
    
    
    provide unused 2nd arg to putvcache

commit 676a493f5b97854bf20509841300355bab40cf0f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Feb 26 23:35:26 2002 +0000

    Really apply improve-type-safety-and-prototype-matching-20020226.
    Somehow only the first 128K of afsfileprocs.c got copied over before.

commit 864edcbc52d6721aaeea7a0a44f73e663ed4ef7c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Feb 26 23:26:36 2002 +0000

    Make the SRXAFS_* functions match prototypes by taking an
    rx_call instead of rx_connection, and make CallPreamble()
    type-safe by taking two arguments instead of magically
    turning an rx_call into rx_connection.

commit 18fdd2a2330f2a4e0a7152d17729f741439488bc
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Feb 26 22:53:59 2002 +0000

    Fix more build problems due to prototypes produced by rxgen.

commit 385037490f3b7fbdb0c364f1d03f30cb144dfb06
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Feb 26 16:47:33 2002 +0000

    comerr-fix-objdir-builds-after-sun-make-change-20020226
    
    
    use lex source from srcdir

commit 592d0fb0cd7a68ee5976fe3655e24b6ffb001e91
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Feb 26 16:44:54 2002 +0000

    ubik_tid and ubik_version now come from ubik-int.h

commit ebb45c54d9a53906c2dc1245199cb95a0260252b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Feb 25 09:31:08 2002 +0000

    Fix some of the fallout from having rxgen-fabricated prototypes.

commit ec04dd0090b69f3cd39c93498da6175b2eb1a842
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Feb 23 09:38:11 2002 +0000

    Make sure we have enough memory to allocate the return list.

commit 1e6bc5de521a319a8a247738f41065a1e11fec2b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 22 09:00:36 2002 +0000

    Fix minor build errors, and rename the dumpId argument of butc's
    DeleteDump to avoid collision with budb's #define dumpId.

commit feb689396ccc39f304db05cb69dc8db3506de921
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 22 08:58:20 2002 +0000

    Always verify that the client is fully reachable before talking
    to it, in the fileserver.  This prevents some additional lossage
    cases with poorly-connected clients.
    
    Disable same feature for other Rx services, since they don't
    need to incur extra RTT delay.

commit 0dfa0954ffdf25f93e44394fce9d0f1c0872576e
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 22 08:03:30 2002 +0000

    Fix build when INSTRUMENT_LOCKS isn't defined

commit 3cced4ee453f635703513013e7ae1ee76351f9ac
Author: David Howells <bartbanter@hotmail.com>
Date:   Wed Feb 13 04:09:14 2002 +0000

    rxgen-generate-function-prototypes-20020212
    
    
    actually from David Howells of Red Hat.
    generates function prototypes in rxgen-emitted headers

commit 87843056e53f7ff72d20bae0837f9be31a7a33b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 07:07:52 2002 +0000

    test-suite-run-script-make-setup-not-use-localcell-inadvertantly-20020221
    
    
    was a case where we could end up testing "localcell" by accident

commit bf1e47a218c0030f07faae600a70b4c4c24f4fab
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 06:31:13 2002 +0000

    test-suite-update-ka-database-20020221
    
    
    cached copy that works

commit d92d4ac69f55e89b9b32b8927d722e1b040bc783
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 06:25:34 2002 +0000

    bos-listkeys-fix-test-20020221
    
    
    cksum can be either number

commit 4f8f508e04ab8f4267b6950e36745c1f3f10ada9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 06:06:00 2002 +0000

    test-suite-run-tests-export-shell-20020221
    
    
    set $SHELL to override whatever your shell sets

commit acf19ae7e92aaf4f283a6bf1fca3b4e4f24f4042
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 05:18:35 2002 +0000

    test-suite-updates-20020221
    
    
    minor tweaks found making solaris work

commit aeeecc446b01258a443cb5705484ba90217407df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 05:15:28 2002 +0000

    test-suite-make-sure-test-script-is-executable-20020221
    
    
    since configure creates the script, just chmod it

commit 148b57dff5feed7c48b8ea83e1a570df722702b1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 21 04:29:22 2002 +0000

    back-out-bosserver-dont-enforce-world-readability-on-server-etcdir-20011126
    
    
    on a server where bosserver sets up /usr/vice/etc with symlinks, the links are
    /usr/vice/etc/* -> /usr/afs/etc/*
    
    oops

commit 3a6b630ce11cf0253543fa5ba56bd1eca5b9a4f6
Author: Jaroslaw Polok <Jaroslaw.Polok@cern.ch>
Date:   Tue Feb 19 19:23:46 2002 +0000

    pam-makefile-fix-dependancies-20020219
    
    
    the rest of the patch is already in CVS but missed being pulled up to 1.2.3

commit d116b27ebe67bb90b3a85557f9273f9473a27744
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 19 18:29:16 2002 +0000

    test-suite-solaris-fixes-plus-some-kaserver-glue-20020216
    
    
    make it all build on solaris. provide necessary files to set up a kaserver
    and authenticate against it (albeit with "known" keys)

commit 14f28d4fe5d8e6b93d87851b183e6531609357dc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 19 09:14:54 2002 +0000

    makefile-use-filename-instead-of-dollar-questionmark-20020219
    
    
    at least some versions of sun make try to run this as
    lex -t ex_lex.lex.l ex_lex.lex.l instead of lex -t ex_lex.lex.l

commit 1902efa41c15a60d4f1a9fed42036f7713e446c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 18 21:09:47 2002 +0000

    dir-create-initialize-null-to-avoid-drelease-on-garbage-20020218
    
    
    if FindItem returns without setting previtem this is never initialized

commit bd707fb7e6e037ba0ae6e9addedca907cdaf5af0
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Feb 16 18:23:44 2002 +0000

    freebsd-almost-working-client-20020216
    
    
    a) a freebsd client that compiles, and to a certain extent, works. Should
    not be used except by people doing freebsd client development
    b) configure glue for freebsd 4.3, 4.4, and 4.5
    c) freebsd tfileserver support. Note that, by default, this isn't very
    interesting, as the supported freebsd pthreads are just as cooperative as
    LWP. if you install the linuxthreads port and swap the MT_* variables in
    osconf.m4, you will get a more traditional tfileserver though. configure
    glue for that will be forthcoming at some point.
    d) a maybe-fix that sets sin_len in sockaddrs on platforms that have them.
    
    (and also a fix for the AC_PROG_CC issue which affects autoconf 2.13 and 2.5x
     on same conf files issue)

commit 0b2f7b748ebcc625a99dd78c4c9628219404e1df
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 16 18:09:26 2002 +0000

    test-suite-solaris-fixes-plus-some-kaserver-glue-20020216
    
    
    make it all build on solaris. provide necessary files to set up a kaserver
    and authenticate against it (albeit with "known" keys)

commit f6525247abd62427a05806608a6b58999cfe1a1a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 15 14:00:39 2002 +0000

    linux-osi-alloc-up-alloc-sem-while-alloc-to-avoid-deadlock-against-glock-20020215
    
    
    Based on report from David Howells of RedHat (via Guy Streeter)

commit d0ffec1b282518ab6d1395bfaad66f0ea8fe9feb
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 15 05:07:13 2002 +0000

    Use autoconf to check for p_corefile in struct proc, rather than
    assuming it exists in Solaris 7 and above; nneul@umr.edu reports
    that it doesn't for some kernel revision.

commit d7dca002beb55eefe49227db9e8e2ee4c4bb6170
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 15 04:38:59 2002 +0000

    rx-event-deal-with-gcc-296-this-time-for-sure-20020214
    
    
    somehow i suspect one of our platforms doesn't do volatile and i'll
    regret this, but this stops linux i386 when afs_int32 is an int from
    going off into la-la land when an Rx retransmit is needed

commit 0cc7a074866c95b7b29e5b508a70c937e88967a4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Feb 15 04:23:24 2002 +0000

    rx-clock-cast-comparison-macros-to-int-20020212
    
    
    gcc 2.96 appears to miscompile these
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    undo. the bug was a little more subtle and my debugging code masked it

commit aef9d3502309f441640419f70f2dd8949395b32f
Author: Ted Anderson <ota@transarc.com>
Date:   Wed Feb 13 20:00:18 2002 +0000

    vol-salvage-add-missing-parameter-to-logging-20020213
    
    
    bad trace statement due to missing parameter; added

commit 808946cad88f45d2862345cae935eecd7b551345
Author: Laura Stentz <stentz@us.ibm.com>
Date:   Wed Feb 13 09:37:59 2002 +0000

    afsweb-add-netscape-config-script-20020213
    
    
    this was omitted from the original release and now can be included

commit 9a6dbb4df705e063a6ab093b29e7619321aeb565
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Feb 13 04:00:57 2002 +0000

    viced-printinode-returns-string-not-number-20020212
    
    
    based on feedback from ota@transarc.com
    
    PrintInode returns a string, use it

commit c446c128e9be75fa8617a11403d867a8885ee80b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 8 19:50:00 2002 +0000

    Allow AFS to shutdown on Solaris (and subsequently be reloaded
    and restarted).  Still leaks memory, unlike the Linux module.

commit cbcef0bd40bb68f786d11a610394f4668f20e30b
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri Feb 8 17:28:44 2002 +0000

    Don't grab tdc->lock when tdc is null.

commit ebcef806960b3507d4de6edfd59a89c37b6ca2fd
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 8 07:05:34 2002 +0000

    Properly AFS_GUNLOCK() when returning an error after having previously
    AFS_GLOCK()'ed, in afs_mount() and afs_unmount().

commit 21455cdba29829fffbb9355495198a4c2a77bc24
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Feb 7 03:07:23 2002 +0000

    Include linux/sysctl.h after afsconfig.h, since we need the
    modversion stuff first.

commit 1f34ef48736934b444488960a91426b9ab317f7a
Author: Kris Van Hees <aedil@sinenomine.net>
Date:   Thu Feb 7 00:06:35 2002 +0000

    linux-provide-sysctl-interface-20020206
    
    
    provide sysctl interface for toggling module state. provide hooks for
    all currently known tweakable items

commit e7b3045d8ece68712d2bd07b8e92c90027dee870
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Feb 6 23:57:44 2002 +0000

    solaris-p-crlock-not-safe-to-hold-across-call-to-crset-20020206
    
    
    crset() expects p_crlock to not be held when it's called; deal accordingly

commit 918d96d66548ecff818ec438f26ae06abc3bd34e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 5 21:58:03 2002 +0000

    newvolumebyname-analyze-the-vrequest-actually-used-20020205
    
    
    it's ok to support a null request being passed in, but if a real one is
    passed in we shouldn't analyze it when it's not the one we used when
    making calls.

commit 9311437f3de8052027cd1b6b2ded63259856e50b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Feb 2 18:33:49 2002 +0000

    Add the necessary includes for AFS_ISGLOCK, AFS_GLOCK, AFS_GUNLOCK.

commit b7b178842458b274f9e5d45dbd1bb50826a3d58a
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Fri Feb 1 22:12:51 2002 +0000

    viced-callback-avoid-potential-looping-problem-20020201
    
    
    avoid case where we never come out of loop attempting to clear host cvallbacks

commit 7b8d569f42d9906ef0ed0b11f66962e00ad04cc6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Feb 1 20:29:59 2002 +0000

    First pass at better signal handling:
    
      -- Add afs_osi_SleepSig, which returns EINTR when interrupted by signal.
      -- Similar CV_WAIT_SIG for Rx code.
      -- Implement afs_osi_SleepSig and CV_WAIT_SIG for Linux, Solaris.
      -- Use afs_osi_SleepSig in afs_{UFS,Mem}Read, allowing user to interrupt
         an AFS read if it's being handled by background daemon.
      -- Balance the number of open & close braces in CV_TIMEDWAIT macros,
         even though noone uses them.
      -- Untangle parts of the macro forest by moving some of the Rx CV code
         into rx_kmutex.c.

commit 7573d5ed14df78d619a035ca50981f7ae3bfd5b6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 30 21:13:48 2002 +0000

    Block signals when sleeping in CV_WAIT() and CV_TIMEDWAIT(), similar
    to the linux-avoid-signal-wakeups-while-sleeping-20020129 change for
    afs_osi_Sleep().

commit cc8f0afbad688fde60468e5811ac18b75f24886a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 30 16:16:23 2002 +0000

    Avoid deadlocking with afs_ResetVolumeInfo in InstallVolumeInfo and
    InstallNVolumeInfo, like we already do in InstallUVolumeInfo.

commit 79afed93d2369e04478c18562c8f23d4713ed990
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 29 22:34:13 2002 +0000

    readd-t-uniq-bad-as-binary-20020129
    
    
    oops

commit 41fb11e6b23ba320f7fff442b2b6c3b01c339ad0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 29 17:36:20 2002 +0000

    Block all signals while sleeping; this prevents 100% cpu usage
    when a process waiting for an afs operation to complete receives
    a signal.

commit 905b71014b9166cc3ba7b921623a838ffbaa18b7
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 29 17:26:26 2002 +0000

    Properly release GLOCK when trying to mount AFS a second time.

commit 30c69dae289b0184d2d38e4d9781de5a2c81952c
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 29 16:07:27 2002 +0000

    Use filemap_fdata{sync,wait} directly (available in 2.4.5 and above)
    rather than write_inode_now(), which steals afs inodes and puts them
    on the global inode lists.

commit b01f9b767323363c40b78f26b32f077b9c23f3da
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 28 21:32:20 2002 +0000

    configure-add-darwin-52-support-as-14-since-no-change-otherwise-20020128
    
    
    it was previously agreed that we wouldn't add gratuitous new sysnames unless things
    (not just what the vendor calls the operating system) changed. precedent is
    sun4m_412 still being "current" for sun4m_413, etc.

commit 62bc57574aabfccf9e3684e7f0fe99dcbf9ad1e3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jan 26 03:40:30 2002 +0000

    rx-dont-include-arraysize-in-offsetof-20020125
    
    
    so this compiles on irix

commit 4ff68264b69e55cedd2f70ecc40482ab9ba0abe0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 24 20:13:22 2002 +0000

    linux-afsd-pids-block-signals-so-we-dont-need-to-flush-20020124
    
    
    no point in keeping this around

commit 367008ec652b2091ec145b6c3fffeba2b4620b7f
Author: David Howells <bartbanter@hotmail.com>
Date:   Thu Jan 24 18:09:28 2002 +0000

    linux-conf-fix-type-which-crept-in-20020124
    
    
    "oops"

commit f2d38d3683345a98f118b971b5a1940e14111928
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 24 10:46:42 2002 +0000

    solaris-rx-shutdown-sleep-only-if-listener-pid-not-freed-20020124
    
    
    replace if with while in case the listener is freed before we call sleep

commit 5c2a4168a6e67733d4ec545936e13742c72ff9f8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 24 10:42:34 2002 +0000

    linux-unmask-signals-in-rxk-listener-at-shutdown-20020124
    
    
    since the rxk listener gets "kill"d at shutdown we need to unmask to wake
    it up. this should probably be replaced but the logical way is evil,
    involves simulating a packet to the listener so it wakes up and notices it's
    time to die

commit a89079efffb1610a55c0fdff42f2feb82b394ff1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 24 10:09:13 2002 +0000

    linux-cant-daemonize-due-to-exit-mm-call-oh-well-20020124
    
    
    the call to daemonize() means we fail to shut down correctly on SMP machines;
    this is due to the call to exit_mm() in daemonize()

commit 1f3f7bc3efea3ffca469fbfe090953dcaa668799
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 19:27:39 2002 +0000

    linux-rework-signal-blocking-for-afsdb-handler-and-clean-up-osi-invisible-before-im-completely-blind-20020123
    
    
    based on suggestion from kolya@mit.edu
    
    and osi_Invisible cleanup so ifdef logic would be more clear

commit 271fdc46b1cb0b25896618b10e436d33dc04fbf2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 18:49:59 2002 +0000

    linux-use-while-loop-and-also-do-it-for-22-waiting-to-close-socket-20020123
    
    
    while loop idea from chas@cmf.nrl.navy.mil
    reminder that we should worry about 2.2 from somkar@in.ibm.com

commit 2742ca8a8ba2fe18b1991fc250f0376010303469
Author: Omkar Sathe <somkar@in.ibm.com>
Date:   Wed Jan 23 18:48:18 2002 +0000

    solaris-wait-for-listenerproc-to-exit-20020123
    
    
    like linux, actually wait for listenerproc to finish before freeing the socket

commit e91fca84fdbe1a6dcf6d4187df0dde5056687c08
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 09:21:54 2002 +0000

    rework-linux-newvcache-clean-up-dentries-20020123
    
    
    previous pass wasn't SMP-happy. rework closer to original code.

commit 0c239bbb3a1518e0f58891259f1f73fb170ffd99
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Jan 23 07:55:08 2002 +0000

    linux-afsd-ignore-signals-20020123
    
    
    ignore signals sent to afsd on linux instead of running out of control
    
    also daemonize ourselves

commit d19b5e9dff2a3cd6214e33d5f864a3e4d809778e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 05:09:11 2002 +0000

    linux24-add-configure-glue-for-new-inode-fields-20020108
    
    
    sure would be nice if it compiled

commit 8a906250f7220efd9210741f97d1b3fa568d74d4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 23 00:43:35 2002 +0000

    linux-use-results-of-all-inode-configure-tests-20020122
    
    
    we tested for and then failed to use things before

commit ac9352424c477a930b4224205331f4e0bd319e51
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jan 22 23:31:06 2002 +0000

    hpux11-wants-system-ar-20020122
    
    
    gnu ar hates empty .o files

commit 8871da3856f290ea067cf46687dd9a898acf5071
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 22 05:51:19 2002 +0000

    linux-fix-mmap-write-20020122
    
    
    a MAP_SHARED write wasn't being flushed back to the server

commit 2e98a0b1ca9efef191875bda476897d16fc9d9e6
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Mon Jan 21 19:34:18 2002 +0000

    rx-cvsignore-rxperf-20020121
    
    
    cvs shpuld ignore rxperf

commit 7806d0a7d5d3cc74ec692f3cd5dcc5d91c614d79
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jan 21 18:05:26 2002 +0000

    rx-cleanup-deadlock-and-refcnt-leak-20020121
    
    
    The first part of the patch fixes a likely deadlock in the
    case when we're destroying a client connection with active
    calls.
    
    The second part fixes a minor connection refcount leak in
    my recent modification to protect against half-reachable
    clients.

commit 5bf04219f55429610b0b51a6546bb7c20e722beb
Author: Matthew N. Andrews <mnandrews@lbl.gov>
Date:   Mon Jan 21 10:24:12 2002 +0000

    source-map-20020121
    
    
    with modifications by shadow@dementia.org
    
    a guide to what's where in the OpenAFS source
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    with modifications by shadow@dementia.org
    
    a guide to what's where in the OpenAFS source
    
    this time the right file. a sure sign that it's bedtime.

commit 8f4a0c1e27f163366d5577aeb44f7b7e59d740bb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 21 09:14:21 2002 +0000

    i-hate-autoconf-20020120
    
    
    AC_PROG_CC not safe to call this early

commit e44d1b4232a861030f1262bcbd2a41f5c0154283
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Jan 20 10:35:21 2002 +0000

    rx-cleanup-gettimeofday-use-20020120
    
    
    don't blindly make assumptions about gettimeofday
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc-
    using suites
    
    ====================
    
    redo in a way that doesn't screw up with respect to libafsrpc and libafsrpc-
    using suites

commit 599d747bb0478d8f743f6057d1ce1f09f1365c5e
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Jan 20 08:04:44 2002 +0000

    alpha-netbsd-param-fixes-20020120
    
    
    make alpha little endian and remove duplicate define

commit 698cb3037622b2bf294d64a3fc896a97af21138d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Jan 20 05:42:28 2002 +0000

    revert-rx-deal-with-missed-keepalives-by-accurately-tracking-call-number-20020120
    
    
    causes problems at minimum for linux

commit 121cc34ed810e2849952ed7c1927c971a14aebc6
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Jan 20 05:19:08 2002 +0000

    des-support-alpha-bsd-and-fix-test-programs-20020119
    
    
    All BSDs are not I386s.
    
    Also include a patch that make sure that data are alligned on alpha. All
    bsd's will fix it up in kernel when used, but you'll get a huge performace
    penalty
    
    Use afs_int32 in the des programs to make sure they work and make them
    build again.

commit 19835f0a125bccf982d6e9db0a0a6e6235c8a6db
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sun Jan 20 02:17:12 2002 +0000

    rxkad-make-stress-compile-again-20020119
    
    
    Make stress compile again.

commit b05cae13822beda473158c3bd7a8bc250c4acf71
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sat Jan 19 16:31:25 2002 +0000

    bosserver-nofork-20020119
    
    
    Make it easier to debug bosserver by adding a -nofork flag for the !nt40
    env's.

commit c8f461dcb0b4e8d63a99b9837f2dcc1d52d66cc4
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jan 19 16:28:33 2002 +0000

    rx-protect-servers-from-half-reachable-clients-20020119
    
    
    This patch should protect Rx-based servers from half-reachable clients,
    which issue requests but don't acknowledge the server's response, thereby
    eventually tying up all of the server threads, and denying service to all
    other clients.  Such clients can arise in case of uni-directional routing
    failures, whereby all packets from the server to client are lost but not
    the other way around.
    
    The idea it to ping clients (using Rx ack ping) before attaching them to
    a thread, if (a) we're running low on threads, and (b) the client hasn't
    responsed to a ping recently.

commit 7827ac9af178b5c4a0d42b2ff87ca7b012a513ef
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sat Jan 19 09:25:19 2002 +0000

    alpha-cleanup-20020119
    
    
    make alpha AFS_64BIT_ENV
    Avoid warning by not passing data inside a pointer in the test program rw.
    
    Provide compatibility symbols for those w/o preempt hack so its possible to
    link test program `rw'.
    
    When comparing to lwp_cpptr->statcheck, cast to int, since that is the type
    of lwp_cpptr->statcheck. It may be the case that sizeof(int) !=
    sizeof(afs_int32), but then other things will break too.
    
    clean tests with -f
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    and unbreak linux

commit 0a94f88f96770b261b184c565c6959da51d8b65b
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Sat Jan 19 09:21:12 2002 +0000

    des-fix-make-p-table-on-alpha-20020119
    
    
    if printing with a long (l) unsigned (X), make sure to pass such a value as
      an argument (p_prime is of int type on alpha).

commit a1aba97dbb9609ed52b90b780f1525e5cc1b7e6a
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Fri Jan 18 21:03:32 2002 +0000

    bozo-misc-cleanup-20020118
    
    
    - remove bos_util and install it
    - ignore it

commit b769219adf6a02b90dd395b58b7b2f7a83b0625d
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Fri Jan 18 20:59:26 2002 +0000

    netbsd-alpha-more-patches-20020118
    
    
    get closer to server working

commit e0319dc024e24e1198a863eca4a295f3449ef5d6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Jan 18 18:47:00 2002 +0000

    largefile-dump-support-20020118
    
    
    64bit file support for vos dump

commit 60612252e71c304e882fbab1a8d5edec2218c28e
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Fri Jan 18 18:45:27 2002 +0000

    netbsd-alpha-start-at-server-support-20020118
    
    
    not ready yet
    adds the concept of a common OS param file

commit a764c69cbb7f49135457042075b8375b81329b6a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 10:49:35 2002 +0000

    test-suite-update-README-20020117
    
    
    reflect new test, ordering

commit 57546d5cf340544730f96a83785effd494986260
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 10:47:20 2002 +0000

    testsuite-arrange-for-bad-volume-dump-to-be-in-useful-location-20020117
    
    
    since we run the script not from the script dir we need to know where it lives, or do this.

commit 7d21d2e9168f00617b7a4ccf00d9d6bc04bf632f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 10:43:28 2002 +0000

    top-makefile-build-runtests-20020117
    
    
    make top makefile/configure build run-tests

commit 8597c3e16c7398b49c8e7da21d65beb761af8e9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 10:10:37 2002 +0000

    test-suite-frontend-mkdir-afs-20020117
    
    
    mkdir /afs in case

commit d0473533e7ee8f12548ded48187d33f252a69add
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 09:33:06 2002 +0000

    test-suite-create-cachedir-20020117
    
    
    take care of case where no cache dir exists yet

commit 4d38e4526f7a640be9785d14316fecf8cdad64cd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 09:24:18 2002 +0000

    test-suite-check-for-salvager-correctly-getting-a-bad-uniquifier-20020117
    
    
    there are cases where a vnode has a uniq which is different than that in the parent. the salvager should clean it up.

commit 0d2670b92cfa246b5a52b398c23022a9f5bb6219
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 07:52:31 2002 +0000

    testsuite-frontend-restart-bosserver-20020117
    
    
    so bosserver rereads configs

commit 6ac7ac6bc6c739a3021940b3320ee746982be86a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 07:25:52 2002 +0000

    suite-be-less-verbose-20020117
    
    
    toss more output in the non-verbose case

commit 30807bbcfe616fd884b8a970030a9a7d19b76653
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 06:47:28 2002 +0000

    ka-util-differently-useless-20020117
    
    
    drop state here

commit 80ce7296a121726dc01aacd24a25e982ea85a12e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 05:08:45 2002 +0000

    test-script-substitute-fs-path-20020117
    
    
    don't assume /usr/local/bin

commit b46bb3881e3dbf49d8e57c736cdc4699f6519fcf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 05:01:57 2002 +0000

    update-suite-frontend-20020117
    
    
    fix to use the defined mechanisms to set up bos foo

commit 762ebfc77e6f4474c79669d9657b2b336ed8f5d3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jan 17 02:26:16 2002 +0000

    test-suite-pick-up-replica-of-root-afs-20020116
    
    
    run in replicated root

commit 960cf2c54ec349549123d483eb7ea3fab1ff63e0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 16 22:02:36 2002 +0000

    rx-dont-challenge-forever-20020116
    
    
    don't repeat challenges forever. give up after 50 tries

commit 4146f3c2f6af8975b1d5b04b2a9cb56c3acbee1b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 16 09:27:04 2002 +0000

    nfs-translator-call-lookup-with-correct-form-of-dir-20020116
    
    
    based on information from Kris Van Hees
    
    still untested

commit 91dd0c39af85868edcb81fcca053d97dfa54479a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jan 16 09:23:46 2002 +0000

    introduce-ka-util-20020116
    
    
    the start of a tool to write out a kaserver database. currently dumps but
    cannot create a kaserver.DB0

commit 53bbb7b3863770a178ec5e7ecd8b34257b423a8a
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Jan 16 02:16:26 2002 +0000

    vos-extra-info-but-disabled-20020115
    
    
    extra info in vos examine, but disabled until we figure out a way
    not to irritate things which parse vos examine output

commit 4860f8cb1584c85f02f88f8adfb7a71b2873bf3e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 16 02:08:43 2002 +0000

    linux-dcache-inconsistency-fix-20020115
    
    
    minor rework on a patch from Ted Anderson (ota@transarc.com) to
    fit OpenAFS

commit d581ab206ed03e93d60e61caa48fc0142211e0fa
Author: Ted Anderson <ota@transarc.com>
Date:   Wed Jan 16 02:03:49 2002 +0000

    linux-newvcache-clean-up-dentries-20020115
    
    
    With work and feedback from Omkar Sathe <somkar@in.ibm.com> and
    Srikanth Vishwanathan <vsrikanth@in.ibm.com>

commit 6fb7ad67970e8f6b7467002d3bfe7fd4930c8864
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 16 00:56:02 2002 +0000

    rxi-newcall-avoid-race-20020115
    
    
    avoid race when creating new calls

commit dcc13f040530f6c5a8b6f36365c665dc6e6e8e89
Author: Jeremy Stribling <jstribl@us.ibm.com>
Date:   Wed Jan 16 00:49:29 2002 +0000

    openafs-tools-cmd-20020115
    
    
    Tools for configuring a new cell and for building RPMs of said tools

commit 966becc84430e952b6e226b068acf455697f9a07
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 19:22:05 2002 +0000

    test-suite-updates-20020115
    
    
    cleanup all target, get missing headers
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    put perl modules in properly named subdir

commit 4bd7319e4a13f8aa558e58d8ec6643812afb5594
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 17:17:31 2002 +0000

    deal-with-linux-large-uids-20020115
    
    
    based on feedback from Hartmut Reuter <reuter@rzg.mpg.de>
    
    2.2 headers define the right things for this to work

commit d616a68c94f657a822d71269c3144ab493464ea3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 16:33:08 2002 +0000

    test-suite-cvsignore-20020115
    
    
    we need one

commit 78f2f8f4bd7eb07a8183a88f9ed7d184bd580967
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 16:30:55 2002 +0000

    test-suite-update-20020115
    
    
    front-end script to tie together the test suite
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove bogus makefile
    
    ====================
    
    stop bos bnodes before deleting

commit fcb32c07ed6d35fb1a4a97371dccd68a09312beb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 15 04:14:51 2002 +0000

    test-suite-pull-tools-directly-in-20020114
    
    
    move dump tools directly into test suite as that is their intended use
    
    canonical versions of these tools will be distributed otherwise
    and may be updated but these provide the minimum functionality

commit f1964d2cf8d4c8b0468ad59a01f68c329258b40d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 14 07:49:15 2002 +0000

    functionality-test-suite-20020114
    
    
    Based on Arla test suite and AFSTools with some other additions;
    intended to set up a standalone cell, perform operations

commit 78b512f1dacf4782d700160ecb83f3328ec66901
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Jan 13 23:47:17 2002 +0000

    dumptools-20020113
    
    
    tools for manipulating afs volume dumps

commit 2bd43007f4105e5a2f897378cb567fc334516388
Author: Steven N . Hirsch <shirsch@adelphia.net>
Date:   Sun Jan 13 17:06:42 2002 +0000

    alpha-linux-build-fixes-20020113
    
    
    so alpha linux builds work again

commit 907452f2d764b9e6c8e15136f05dd44844d011a3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jan 12 21:35:59 2002 +0000

    bos-key-utility-20020112
    
    
    modification of asetkey to allow manipulation of key files without
    a running bosserver (asetkey requires krb4; this does not)

commit 2972ad04f1d3978a0f761a40b5ea7112b12f3114
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 11 16:44:53 2002 +0000

    linux-remove-hazardous-trace-events-20020111
    
    
    use of osi_Sleep in tracing code makes this dangerous.

commit 259bf2a7d42f045420a422fd112e3bafd38b7f91
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Jan 10 06:42:21 2002 +0000

    solaris-obtain-locks-under-GLOCK-20020101
    
    
    Fix the two places in Solaris afs_GetOnePage where locks
      are obtained/released without GLOCK.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Fix the two places in Solaris afs_GetOnePage where locks
      are obtained/released without GLOCK.
    
    (Fix error in application of patch)

commit 7990f0d4b102b171483e3845a5e1b687dea87d56
Author: Jeremy Stribling <jstribl@us.ibm.com>
Date:   Wed Jan 9 03:08:16 2002 +0000

    README-NT-updates-20020108
    
    
    info on how to set up debugging environment and other updates

commit 54624ac81bd47438ae34d9bece4fafc80595302a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Jan 8 20:54:12 2002 +0000

    lock-tracing-20020108
    
    
    patches to allow tracing with fstrace of afs locks

commit 899a6eb679d5fff67d151e6aab568a7977ce8e4f
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Tue Jan 8 20:44:31 2002 +0000

    windows-updates-20010108
    
    
    "1. The default Open AFS is set to normal security (doesn't generate random
    user names).
    If you are installing over a previous version (before 1.2.2b) it's default
    is
    high security; therefore, if you want the normal security, you should
    uninstall the previous version (1.2.2a or earlier) and select to 'Not
    Preserve previous settings'.
    
    To manually change security you need to set the following registry keys:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemond\NetworkProvider
         LogonOptions = 1 - Integrated Logon
         LogonOptions = 2 - High Security options, Random User name generation
         LogonOptions = 3 - both
    
    3. Windows 2000/NT, Win9x - First time installations will create necessary
    directories when user decides to download CellServDB
    
    4. Windows 2000/NT, Global Drive working.
    
    5. Windows XP - Drive mapping via GUI working.
    
    6. Rename pthread.dll to afspthread.dll"

commit 11a5394620cf9d28152a1fdb8064a96f74d07640
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Jan 8 20:41:11 2002 +0000

    linux24-add-configure-glue-for-new-inode-fields-20020108
    
    
    based on report from cg@cdegroot.com

commit 55395ad69187dd8a0c858d09cde0263272cb4182
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jan 2 04:12:20 2002 +0000

    update-readme-devel-for-parallel-make-hints-20020101
    
    
    suggestions which make parallel make easier to support

commit b00162aa76260d9867899a3bfb3d702cbb64d070
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jan 2 04:08:37 2002 +0000

    vlserver-remove-duplicate-targets-20020101
    
    
    "duplicates seem to confuse /usr/bin/make on MacOSX"

commit d65e45f3d20bba23ecd783873c5a1cce8d0c9e7a
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Tue Jan 1 21:02:50 2002 +0000

    netbsd-initial-support-20020101
    
    
    update parameters so it will build

commit 590916001b064041ed0337dc79519f23b02d2aae
Author: Mark W. Eichin <eichin@thok.org>
Date:   Tue Jan 1 19:09:59 2002 +0000

    linux-sparc-24-kernel-support-20020101
    
    
    config for linux 2.4 kernels on sparc

commit 24f9306e651ce38909c121c9d3b7b035c6a2886c
Author: Ted McCabe <ted@mit.edu>
Date:   Tue Jan 1 19:01:54 2002 +0000

    acinclude-update-for-new-darwin-version-strings-20020101
    
    
    so we can build for new darwin versions

commit 3e843e3dabbbe0fcfd0dbc55216ae1c5a3d94fe9
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Tue Jan 1 18:57:18 2002 +0000

    netbsd-server-support-20020101
    
    
    support for fileserver (namei) on netbsd
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    like openbsd, stripping on netbsd strips libraries

commit 161c73a807128dc40ad20a26b01cade534f6d1dc
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jan 1 18:49:18 2002 +0000

    linux-osi-sleep-avoid-forgetting-events-20020101
    
    
    based on suggestion from Ted Anderson
    "the changes make more sense
    than the code as it currently exists.  the only think i am nervous
    about is the dontSleep delete.  while it makes more sense to just
    not wakeup sleepers if none exist, i suppose its possible that
    some bit of afs code wants acausal (wake before sleep) events.
    that does seem quite unlikely.  just looking at the sleep on
    solaris, it checks the seq number to get the next event not
    a previous event.
    
    i imported the changes and make the fixup in osi_stoplistener().
    i dropped some of the silly syntax changes that junked up the
    diff -- this makes it a bit easier to see what was changed.
    i just added an assert in afs_addevent for quality assurance
    purposes."
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix for osi_StopListener so it does the rigth thing

commit 0d9cabad65c46a8f3a04bf9ea2e2ce133c2f50ac
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sun Dec 30 00:07:02 2001 +0000

    linux22-also-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmalloc-fails-20011229
    
    
    linux 2.2 lacks set_current_state. currently in 2.4 it's a definition and not a real function, so this will work

commit c1d2386e44573722f2cb16ee148b14960cd39670
Author: David Howells <bartbanter@hotmail.com>
Date:   Tue Dec 25 18:19:20 2001 +0000

    linux-alloc-avoid-potential-recursion-freeing-memory-and-schedule-when-vmalloc-fails-20011225
    
    
    "The first is to change the gfp_mask passed to kmalloc(). Using GFP_KERNEL,
      it is possible that the VM will call back to the filesystem to free up
      memory to satisfy the kmalloc request. GFP_NOFS will prevent this possible
      recursion. I believe GFP_NOFS first appeared in the 2.4.6 kernel.
    
      The second change involves the call to schedule() when vmalloc() fails. This
      can also cause a hang. The schedule() call could be replaced with:
    
      set_current_state(TASK_INTERRUPTIBLE);
      schedule_timeout(HZ);"

commit 3ea10ea3539f48ec30ba59399ec484cf4b0b74d3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Dec 25 18:13:20 2001 +0000

    rx-avoid-unnecessary-wakeups-20011225
    
    
    "This fixes a livelock condition introduced in my earlier
      resource starvation patch; apparently I had erred too far
      on the side of "wake up just in case".  The livelock bug
      is exhibited when running 10 fsstress processes at once;
      if many processes are waiting for a new Rx call, they get
      stuck in an uninterruptible kernel loop waking each other
      up."

commit 28eefd7613c2de85f63233d82c3b53cff54e1074
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Dec 25 18:10:39 2001 +0000

    fix-dcache-deadlock-20011225
    
    
    "This patch fixes a deadlock in the new dcache locking scheme.
      The underlying bug apparently existed before, but due to the
      absence of locking, it probably resulted in spuriously high
      refcounts rather than deadlock.
    
      The problem happens when there are zero-length dcache entries
      associated with a file; this is demonstrated by fsx, which
      hangs after running on AFS for a while.  The writeback loop
      never releases dcache entries unless they're stored back to
      the server as part of a sequential byte range."

commit fcda63bda075ab706a38fa39563164d8d1832e42
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Dec 25 18:09:44 2001 +0000

    fix-formatting-in-afs-h-20011225
    
    
    minor formatting cleanup

commit 96f340c532211577f5411aad2037ac728e6362e6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Dec 25 18:04:52 2001 +0000

    dcache-dont-erroneously-fail-to-fill-in-tsmall-20011225
    
    
    "The particular problem seems to be, when size
      is computed to be zero, tsmall is not filled in with valid data,
      and ProcessFS is called with a zeroed out OutStatus.  This causes
      the file to magically turn into a directory (VDIR), among other
      things"
    
    "The second part of the patch doesn't fix any bug that I've ran into
      thus far, but seemed like a good idea while I was reading the code
      to find the former bug."

commit 4e02670a22ca38356f34a53ac641b5c008908534
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Dec 24 21:19:07 2001 +0000

    doc-heimdal-conversion-howto-20011224
    
    
    short explanation of how to convert from a kaserver to a heimdal kdc
    including setting up iprop

commit ddaf08d4b8f8a216e1df1891a531b36b37e23351
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Dec 8 02:29:24 2001 +0000

    make-storedata-use-unsigned-values-so-quota-cant-get-corrupted-20011203
    
    
    Currently it's possible to give StoreData negative Pos/Length/FileLength
      arguments and thereby set the volume quota usage to arbitrary values.
      This patch makes these values unsigned, since negative file positions
      and lengths don't make sense anyway.

commit 18f5f636dd6c1121a50614cf4860086db9f7842e
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Thu Dec 6 23:39:08 2001 +0000

    rx-add-performance-testing-client-20011206
    
    
    add rxperf with modified license which allows us to distribute it now
    pending more useful OpenAFS documentation existing at some point in the
    future.

commit c5cd8752227cf9c0f67def7c681d85a49443a59f
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Nov 26 21:29:16 2001 +0000

    bosserver-dont-enforce-world-readability-on-server-etcdir-20011126
    
    
    no reason server etcdir needs to be forced world readable; nothing need
    default to those cellconfig files except in the localauth case and then
    you need to be able to read the KeyFile anyway

commit 83873a8474906c67b2d2c0e135db59eb23c356ff
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Wed Nov 21 18:29:16 2001 +0000

    windows-afsdb-freelance-notes-20011120
    
    
    notes from Jeff about AFSDB and Freelance clients

commit d99c35279d04b8759b01b499057f1107bab9de4d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Nov 21 16:01:19 2001 +0000

    dcache-finegrained-locks-20011121
    
    
    This patch implements more fine-grained locking for dcache entries.
    The main advantage is that multiple chunks of the same file can be
    fetched at once.  This means that an incorrectly-guessed prefetch
    won't block other fetches, prefetches of multiple chunks can occur
    in parallel, and multiple processes sharing the same file can read
    from different parts of the file at once.

commit 392ae5ce36f888023504ff16772c80310b39362a
Author: Yves Schutz <schutz@in2p3.fr>
Date:   Wed Nov 21 15:54:35 2001 +0000

    quote-modloaddir-when-looking-for-kernel-module-20011120
    
    
    quote variable evaluation

commit 16b809cef228bd5b80920a9f34e3c02d4e4db4a3
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Wed Nov 21 15:41:26 2001 +0000

    linux-rc-make-ifconfig-speak-english-for-parsing-20011120
    
    
    sadly the script is fluent only in english and can't even pretend it knows
    anything else

commit 74432508a7ab28b0f4e66a88bcf4fe7cc323278d
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed Nov 21 15:36:43 2001 +0000

    bozo-make-logging-more-readable-20011120
    
    
    add missing newlines

commit 8b5438790d4e4d6fddcb19957e603a14fefb6da3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Nov 21 15:31:24 2001 +0000

    afs-trace-missing-dependancy-20011120
    
    
    so when afs_trace.et updates the header gets rebuilt

commit a26794a25cacd3378d9967d5cb645f2429dc97a8
Author: Sam Hartman <hartmans@mit.edu>
Date:   Wed Nov 21 15:29:52 2001 +0000

    ktc-dont-prototype-lseek-20011120
    
    
    breaks sparc linux 2.2

commit 6a0443bdcce0bde8af06af0da929cff6a693ead3
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Wed Nov 21 06:44:28 2001 +0000

    windows-updates-20011121
    
    
    missed updates needed for next release

commit 7d38c7fe5849201673c5f3ddb9f87f4186328722
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 20 20:04:55 2001 +0000

    afs-resetvolumes-zero-serverhost-to-avoid-deadlock-20011120
    
    
    the equivalent of what's done in InstallUVolumeEntry to avoid a deadlock
    but just for this server since it's all we're dealing with

commit c53a034e36ec538c3a0b010a292b810a62c8f2b8
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 19 16:59:53 2001 +0000

    viced-getstatus-clear-lengthhi-since-not-now-using-it-20011119
    
    
    so we don't end up with bogus value here

commit b460d2950287840ac1c10f3300b467e10771c14f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 19 16:58:02 2001 +0000

    startrxafs-fetchdata64-always-show-result-and-EFBIG-at-7fffffff-20011119
    
    
    show fetch64 errors
    also mask high bit for reporting EFBIG

commit cae92b082cb1551fd0c93ec1275640f7ea957bbf
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 19 16:53:46 2001 +0000

    viced-fetchdata64-should-call-common-code-in-64-mode-20011119
    
    
    both of the stubs shouldn't be using the 32 bit case in common

commit 0a6069850afe7babcd796781b8ce9e3d31c3ae5f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 19 16:52:02 2001 +0000

    rx-sys-fix-broken-install-dependancies-20011119
    
    
    this got broken in one of the sets of changes

commit 05c2a3e13addcfb05a5aa65baeccf8f5e00a6180
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Nov 14 23:59:57 2001 +0000

    viced-add-missing-comma-in-64bit-detailed-stats-case-20011114
    
    
    and due to no prototypes this slipped right on by

commit 3f7e32771871ab615e5227cd037a13d41c5969ab
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed Nov 14 17:39:30 2001 +0000

    bosserver-log-improve-readability-20011114
    
    
    include newlines in boslog output

commit 54f065005264764f30ea44541d0b7eb5c3965d6a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Nov 14 04:02:27 2001 +0000

    rx-fix-resource-starvation-problem-20011113
    
    
    This patch fixes a resource starvation condition in Rx.  The
      problem arises, for instance, when more than 4 daemons try to
      prefetch chunks of the same file at once.  The fifth daemon is
      stuck in MAKECALL_WAITING state, never getting a chance to run,
      because the other 4 daemons never yield to the scheduler after
      releasing the call, and just grab the call back again.

commit 94bc1753e9bbde8b63a42953263650b1db1666e7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 13 20:31:31 2001 +0000

    afs-cell-avoid-need-for-new-prototype-20011113
    
    
    reogranize so we don't need to add a prototype
    
    based on report from kolya@mit.edu

commit cb99519f776c33703e571aa2976250b203f15f06
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Nov 13 17:24:05 2001 +0000

    hold-afs-xcell-lock-during-setserverprefs-20011113
    
    
    afs_RemoveCellEntry holds afs_xcell; setserverprefs modified the same
    structure but did not which was problematic if something changed out from under
    it

commit b2821b103c5f4b2a3eb125bc36096580ce244e9e
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Nov 13 14:47:11 2001 +0000

    64bit-client-mods-build-cleanly-20011113
    
    
    necessary fixes for aix and solaris, plus fix for linux for when wake_up
    doesn't wake the sleeper

commit b4e3729aae756725dfa04a607b126197004e6416
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Nov 13 14:40:54 2001 +0000

    pam-include-limits-h-for-NGROUPS-MAX-20011113
    
    
    pam module needs limits.h to build

commit 85ccf89c5a6ec9b6ca8988a2cb839a7b6c70c667
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Nov 13 13:14:06 2001 +0000

    nbobtainwritelock-fix-precedence-problem-20011113
    
    
    NBObtainWriteLock always returned 0 due to precedence problem. Also
    add NBObtainSharedLock

commit 4916d4b4221213bb6950e76dbe464a09d7a51cc3
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Nov 13 04:59:22 2001 +0000

    rx-compute-ackdatasize-correctly-20011113
    
    
    This patch clarifies the implicit 3 reserved bytes in rx_AckDataSize,
      and hopefully makes the code more portable for future platforms.

commit 5edece8304d848a4c9354c591374b02e1f3ba747
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Nov 13 04:52:26 2001 +0000

    irix-build-cleanup-20011113
    
    
    make IP35 port select correctly. make pagsh build again

commit da3a557c29c4c6ff6a9a0d2f2f8b5163a747c798
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Nov 11 17:11:06 2001 +0000

    irix-PFLUSHINVAL-should-be-VOP-FLUSHINVAL-PAGES-20011111
    
    
    Based on suggestions from gwehrman@sgi.com

commit 0304373130e923d4aee55b32e3a80f65c77da2eb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Nov 11 01:57:36 2001 +0000

    make-darwin-14-build-with-new-makefile-frag-system-20011110
    
    
    
    head now builds on darwin 1.4; may not build in objdir env yet

commit bedb78b0b0c38880b2d2852a08e1748845057479
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sat Nov 10 23:20:04 2001 +0000

    darwin-14-support-20011110
    
    
    base support for darwin 1.4

commit c9d01b536d105ece7e1e149c3aed24b3d83a4d15
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Nov 10 23:00:55 2001 +0000

    more-64bit-client-fixes-20011110
    
    
    some afs_offs_t still missing
    so obsolete code fixed
    and new trace for m.Length change

commit 4c9808b25be9f775519d1110946d44d6105dbb02
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Sat Nov 10 22:36:45 2001 +0000

    use-NGROUPS-MAX-instead-of-constant-for-curpag-getgroups-call-20011110
    
    
    NGROUPS_MAX instead of 30 used so we get all groups from getgroups

commit de99fc23d41b57902b36b10179a8129da9b8b0ff
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Sat Nov 10 22:31:04 2001 +0000

    windows-updates-including-dont-lose-tokens-20011110
    
    
    Win2k tokens association problems are fixed. details are in doc/txt/winnotes
    in the 1.2.2a updates file

commit 9d8b844b3ece9cbf1c2c8a263d5219be06841590
Author: David Thompson <thomas@cs.wisc.edu>
Date:   Sat Nov 10 18:21:59 2001 +0000

    linux-afsd-allow-ext3-journals-without-error-20011110
    
    
    an ext3 journal in the vice cache (root of the partition) is allowable
    
    we have no useful way to discern ext2 from ext3 without groveling in fstab
    so just allow it

commit db2ddfaf1b322710e1bd4edce6d7519157c3c9eb
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Nov 10 18:14:30 2001 +0000

    rx-dont-ackall-a-connection-were-waiting-for-retransmits-on-20011110
    
    
    "My theory of what happened is roughly as follows:
    
        Process tries to read data from AFS (as part of a page fault);
        issues a new Rx call on an Rx connection to the fileserver.
    
        The server transmits some data back to the client, but some packet
        is lost.
    
        Something tries to garbage-collect/destroy the connection; since
        there is an active call, it can't do so, but issues an rx_AckAll
        anyway, which acknowledges all packets transmitted by the server
        as having been received.  Server flushes its retransmit queue.
    
        Client waits forever for the lost packet to arrive, but since the
        server has already flushed the transmit queue, it cannot possibly
        retransmit it.
    
    All this is happening while the client has read-locked its address
    space (since the read is part of a page fault).  /proc accesses that
    try to poke into that processes address space hang waiting for said
    lock, causing the lossage we actually observed."

commit 7a012ce879fdb6193b77e71821b1f9cce89c0fd6
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Nov 10 18:08:40 2001 +0000

    rx-deal-with-missed-keepalives-by-accurately-tracking-call-number-20011110
    
    
    (as originally discovered by ted@mit.edu)
    
    "This fix deals with the following lose case:
      Client starts a call that, for some reason, takes a long time on the
      server.  While the client waits for the server to finish, client and
      server usually send each other keep alive packets.  If something
      causes those packets to be delayed or dropped, then the client will
      conclude that the call has failed or finished (usually failed), while
      the server is still *busy* doing the call.
    
      In this circumstance, the client will initiate another call and the
      server will correctly respond that it is busy.  Unfortunately, if the
      callNumber of a received packet doesn't match the callNumber of the
      outstanding call, then the client never sees that the server says it's
      busy.  Instead the server appears as a black hole to the client.
    
      This fix ensures that the client sees the busy packets when its
      callNumber is reasonably out of sync with the server."

commit b9d15d1b49aff5360f0c327ed703433565b00d57
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Nov 10 17:53:04 2001 +0000

    irix-memcache-dont-call-osi-vm-storeallsegments-20011110
    
    
    this caused a call to pdflush to happen at the wrong time, which should fix
    the zero filled files problem, the osi_assert(cred) problem and the
    execsorwriters == 0 warnings to go away

commit a781c8a5bf8bbc81394706e150ca597b51bcf5e1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 8 08:12:59 2001 +0000

    linux-kdump-also-work-with-early-24-kernels-20011108
    
    
    yup, it had to come from somewhere. now it would compile with early and late 2.4 kernels

commit c32ee0e39df202830046293d071f6ab50101760d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 8 03:02:08 2001 +0000

    config-makefile-include-xcflags64-20011107
    
    
    this was missed during the conversion

commit c602093e51aa46f66ab5fb7cff3b7271876396d7
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed Nov 7 00:15:27 2001 +0000

    solaris-vfsck-do-a-better-job-of-putting-on-the-ufs-fsck-face-for-the-world-20011106
    
    
    if you're not using ufs logging it's ok to replace solaris fsck with vfsck,
    except sometimes it exits with 40 and that's not a failure to the solaris
    scripts.
    
    make it so for us also

commit 3e9aa01a1cc9d3ae0bbcfcea86fcc0d157f47d6f
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed Nov 7 00:11:20 2001 +0000

    butc-allow-comments-in-tapeconfig-20011106
    
    
    continue to allow extra column for comments as was previously (afs 3.4a) the case

commit 0d4fd9fd6679bf30469c21db02f88e7d0d466a92
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Nov 7 00:01:52 2001 +0000

    afsdb-avoid-dns-case-issues-for-cell-aliases-20011106
    
    
    This patch makes sure that in-kernel aliases to non-existant names aren't
      accidentally created due to case mismatch (e.g. "athena" being created as
      a symlink to "athena.MIT.EDU", while "athena.mit.edu" is the real cell
      that already exists).  It also lowercases cell names in AFSDB lookups,
      otherwise the same problem appears in userspace (eg "aklog athena" tries
      to obtain tokens for cell "athena.MIT.EDU").

commit 547ce133274ad4fcac6b418d6de27f2e75bcf2e3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 5 19:43:47 2001 +0000

    linux-kdump-kernel-also-has-timer-t-sigh-20011105
    
    
    not the cleanest way of dealing, either

commit 13d279883a5779b29ceeb4065c6222339c5e2618
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Nov 5 19:39:06 2001 +0000

    linux-kdump-timeval-probably-not-needed-20011105
    
    
    not sure what needs this. if something does we need to figure out what
    and only do this for them

commit 4b156c380053e17dd861a329cba0902cec6c754a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Nov 5 19:34:25 2001 +0000

    bkg-daemon-dont-break-64bit-pointers-and-handle-requests-in-order-20011102
    
    
    This patch fixes a problem with 64-bit pointers being munged by the
    background daemons (by separating sizes and pointers into separate
    variables -- this bug was apparently introduced by the 64-bit file
    support patch), and makes the background daemons handle requests in
    order they came in.  The latter will be mostly just useful for some
    prefetching and fine grained dcache-locking patches

commit 68196d85dbd09220f91421101f651d8e8d7322c3
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Mon Nov 5 18:40:02 2001 +0000

    pam-update-for-correct-krb-aware-module-20011102
    
    
    the krb version of the module should be built completely in AFS_KERBEROS_ENV
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    clean up spacing

commit 3f8a159257c4fea0a6fc79dff9a8974f83a98df2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Nov 2 21:00:41 2001 +0000

    dynamic-root-allocate-space-for-dot-and-dotdot-20011102
    
    
    no space was being allocated for . and ..; do so

commit ea77b04c29460cbef445f39e9ad4646ee9d5be26
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Nov 2 08:07:58 2001 +0000

    afs-checkservers-improve-lock-granularity-20011102
    
    
    work harder to release afs_xserver and afs_xsrvAddr locks in afs_CheckServers
    when not needed

commit 9cbe95a1af131158e9f94499cfe4e2ed4f9f6cac
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Nov 2 08:03:08 2001 +0000

    solaris9-and-makefile-updates-20011102
    
    
    updates for solaris 9; also don't have ${XLIBS} in target dependancies
    if it's going to include things like -lnsl

commit 3aaaa28ba8360100ce94c784d7e23ff99dc69e27
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Nov 2 07:57:12 2001 +0000

    viced-clear-clientdeleted-when-deleted-clients-are-cleaned-up-20011102
    
    
    Currently nothing clears the CLIENTDELETED flag in hosts, so once
      a client has been deleted, h_TossStuff_r() will keep getting called
      with every host release.  This patch clears the CLIENTDELETED flag
      every time we take care of deleted clients.

commit 7f89a22213d212c4e6f841dc5d266b9ea81fbde5
Author: Carsten Jacobi <carsten@ccac.rwth-aachen.de>
Date:   Thu Nov 1 05:45:12 2001 +0000

    pam-setcred-dont-ask-for-passwords-20011101
    
    
    don't prompt for passwords during setcred step

commit b28927c75261d45872d80f32bf4e39d76eb9ac73
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 1 05:24:30 2001 +0000

    dynroot-allow-cell-aliases-20011101
    
    
    allow cell aliases. includes support for non-'V' pioctls

commit 78d943385127c3931f504055e47f62154bf9ac53
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 1 05:18:30 2001 +0000

    kdump-display-timeout-for-cell-info-20011101
    
    
    added field in kdump output to display afsdb timeout info

commit b20525634aa5b8cfbba33d59527a337e060278ff
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 1 05:16:27 2001 +0000

    solaris-rx-kernel-set-listener-pid-from-curproc-20011101
    
    
    set kernel listener pid from curproc rather than curthread (and clean
    up unnecessary break case in code)

commit 42fddc7b46f75968b94a6532b1183f1b0e6214a6
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 1 05:11:25 2001 +0000

    pts-error-message-cleanup-20011031
    
    
    print error in such a way that it makes more sense

commit dd9a7b025a651d00250e1977dc44c0167f1c748f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Nov 1 05:10:38 2001 +0000

    afsdb-default-in-rc-files-20011031
    
    
    enable afsdb using rc files

commit b1c72363e013d9dc7921ea5f9ddf5038fa09a43e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Nov 1 05:05:26 2001 +0000

    irix-build-ip35-module-only-if-headers-exist-20011031
    
    
    IP35 support requires 6.5.9 or later; only build if we have headers

commit 838e1eae1a62cae05df8239a82f20be47b2183b2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Nov 1 04:59:26 2001 +0000

    build-system-specific-makefile-configuration-from-configure-20011031
    
    
    junk all of Makefile.${SYS_NAME} in favor of a common makefile built by
    configure, and use it

commit c5b1a3775fb0dc33156716e5deed381e81f83e67
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 1 04:39:08 2001 +0000

    more-64bit-file-size-support-20011031
    
    
    further 64bit file size support for client

commit 971b18bc424ac969f12166dd83d7b327b9257636
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 1 04:01:22 2001 +0000

    client-64bit-file-size-support-20011031
    
    
    new RPCs and client-side support for large files

commit 05186dbe192d54b5da38885eaee0eec4af164e14
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 1 03:58:36 2001 +0000

    aix-namei-fileserver-support-20011031
    
    
    necessary for namei support on aix

commit dcc63e13efe02161e688a9bbbe6d97aea7e5f636
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Nov 1 03:54:40 2001 +0000

    fast-restart-exit-if-no-args-20011031
    
    
    when using fast restart, if salvager took no args, assume it's the fs bnode
    and exit

commit c1d1a27ba99284b8877f4449f2871eb81a9b31ce
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Thu Nov 1 03:40:21 2001 +0000

    freelance-updates-20011031
    
    
    updates to make freelance patches work, create mountpoints from afsdb on the fly

commit 638d0e7c56237722c707883dfaaa9055e5d146de
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 26 04:50:06 2001 +0000

    parisc-linux-lwp-updates-20011025
    
    
    update parisc lwp foo

commit 2f4ec2cfaa646f4e56a3d79a538ed51d9044a5f9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 26 04:49:11 2001 +0000

    rx-test-srcdir-support-20011025
    
    
    continuing srcdir support for objdir builds`

commit fbb1d7edf8edd68cc491c1812599517a3253b360
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Oct 24 16:56:00 2001 +0000

    export-dont-include-afsconfig-to-avoid-conflicts-20011024
    
    
    ncluding afsconfig results in conflicts on some systems due to _KERNEL

commit 77523f9506e60e5f22e5cc790eb34d2aa96a0524
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Oct 24 16:25:22 2001 +0000

    afsd-make-debug-switch-print-afsops-20011024
    
    
    just print one more argument for afs system calls

commit a221929afdd53b0c25aa337e046979b2baaa76ca
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Oct 24 16:14:18 2001 +0000

    bozo-fix-bos-addhost--clone-20011024
    
    
    addhost -clone didn't previously work right. this fixes it

commit 8d9ff8a0da43ab9b11a7c9a5a7ee06fb6f2185c1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Oct 24 16:03:48 2001 +0000

    undo-makefiles-rewrite-for-objdir-support-20011023
    
    
    fails certain cases

commit 6b0d58257d64404e6723b9dcef27f320b5ba9b31
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 23:06:41 2001 +0000

    linux-autoconf-reuse-i-truncate-sem-name-for-new-test-20011023
    
    
    since we need to initialize a semaphore

commit e62e3c9b661d6dcdebe7f29ee0906f788be893b8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 23 21:57:19 2001 +0000

    makefiles-attempt-to-support-gmake-j-20011023
    
    
    move toward being able to gmake -j openafs

commit b3240071642cc6731ad231453b39dc173aaab2f5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 23 21:39:56 2001 +0000

    venus-kdump-build-from-srcdir-20011023
    
    
    kdump should be built from src in srcdir

commit b3164a2f90b04a9a6bd969b2744043913f86a9c3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 23 21:36:05 2001 +0000

    parisc-linux-lwp-sp-20011023
    
    
    provide stack pointer for parisc linux lwp

commit e824f085aaf3118a91f9e546a38036f8561f6346
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 23 19:56:56 2001 +0000

    makefiles-rewrite-for-objdir-support-20011023
    
    
    rewrite makefiles to support objdir; simplify in the process

commit 28df3030790336ac5dfd338cbe6acec5ff964e3f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 16:27:25 2001 +0000

    linux-configure-support-mandrake-kernel-patches-20011023
    
    
    init_once in mandrake calls init_rwsem(&inode->i_truncate_sem);
    
    so do we

commit 3c11ae3aa1d2bc9ad37dae17d970f3e1c822a855
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 23 16:26:00 2001 +0000

    doc-html-index-correct-spelling-20011023
    
    
    documentation should be spelled that way

commit 4f852f5e708b4ebc0e79dfea7701c70c3949edbd
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Oct 22 17:55:05 2001 +0000

    venus-install-kdump-scripts-from-srcdir-20011022
    
    
    non-generated scripts come from srcdir

commit 19019b12d0a5bc29b63d13dde2257c47c71211c4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 20 17:27:47 2001 +0000

    vos-rename-crypt-to-encrypt-20011020
    
    
    so -c is again unique

commit c3eee5410b6465c0e132364b9827934ea2b7b334
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 19 19:52:28 2001 +0000

    cache-server-inlinebulk-support-and-enable-inlinebulk-20011019
    
    
    expand struct server's "flags" to unsigned int from char
    assume inlinebulk and turn off on first failure
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix precedence error

commit dd5689605a5250d6d38acf004fe350e4947143d0
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Oct 19 17:22:30 2001 +0000

    added button GIF's to the HTML docs

commit 653b47a5524d72d1c819f9dea9300066a69f6690
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 19 16:56:55 2001 +0000

    des-use-ar-macro-instead-of-direct-call-like-everyone-else-20011019
    
    
    so we can use ar like every other directory

commit df6815aa72b1d123d1b9abc40139801f98e2b0f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 19 16:48:57 2001 +0000

    irix-ip35-tweak-kernel-cflags-20011019
    
    
    based on doc provided by gwehrman@sgi.com

commit 70ef828ef731398fb26b62dedaff4f748b668e56
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 19 16:31:04 2001 +0000

    cmd-errors64-is-generated-so-not-from-srcdir-20011019
    
    
    fix problem with objdir builds

commit 066d15c83235a3639a22108095755f2e4e217f43
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 18 16:40:08 2001 +0000

    irix-first-pass-at-ip35-support-20011017
    
    
    i missed this and chas caught it

commit 367c2856e8ec8ddedcb422aad1a367581813a121
Author: Eric Lauriault <elauri@lacitec.on.ca>
Date:   Thu Oct 18 00:36:02 2001 +0000

    sunx86-support-20011017
    
    
    base sunx86 support for newer than solaris 2.4

commit b9948dd9655d8eed505039a50b1aaa83a8213f18
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Oct 18 00:06:58 2001 +0000

    initial-objdir-support-20011017
    
    
    first cut at objdir support

commit 9e0300cd9735d578d084df60616ec7ec6efba8db
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Oct 17 23:24:33 2001 +0000

    development-readme-20011017
    
    
    hints for developers

commit a8f440e991d7ff139d60b972f42bfc7b3b8f4a43
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 23:17:53 2001 +0000

    linux-dont-require-osi-vfs-to-be-installed-20011017
    
    
    based on reports from hartmans@mit.edu and jhutz@cmu.edu

commit f5d36b1c7094a8a2c74ceb292e8ef84a894236fc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 22:53:48 2001 +0000

    irix-first-pass-at-ip35-support-20011017
    
    
    based on extensive feedback from Forest Godfrey and Michael Raymond
    of SGI

commit 013d5abbc4cc5a98ab1a66eb9fab01e35acf6d27
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Oct 17 22:07:49 2001 +0000

    sgi-ip20-work-around-cvt-bug-20011017
    
    
    "apparently the rev 1 r5000 chips implement 'cvt' incorrectly.  the irix
    kernel works around this problem by checking each text page mapped into
    memory and doing a fixup on the cvt instructions.  it tries to maintain
    a hash of these pages using fid2() or fid() if fid2() returns ENOSYS.
    afs, in an effort to prevent people from doing checkpoints on an afs
    filesystem, makes fid2() return EINVAL.  this also keeps the kernel from
    mapping executables that are in afs space on the broken r5000's.
    
    this is the patch i have been using for the past couple years while
    waiting for an official fix.  it makes fid2() return ENOSYS, so you
    now need to have to have v_ckpt.  however i disabled the rest of the
    CKPT code since i have no idea how well that code actually works.
    additionally, this behavior is only functional on machines with the
    'broken' r5000 h/w.  i cant think of a better way to fix this problem
    since i cant change the irix kernel."

commit 56933c552af2f5e01f6ea74d9c8bb50acd17c5db
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Oct 17 22:03:45 2001 +0000

    top-makefile-make-installs-not-depend-on-extra-building-20011017
    
    
    kernel module should not make usermode stuff and vice versa

commit d785c93b29595704a5544120f5cdb62c42b43064
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 17 21:46:18 2001 +0000

    bozo-getcellhost-takes-uint32-not-int32-20011017
    
    
    pass in a uint32 rather than an int32

commit ded5127fc0ccfd6845c24eec41ed3bd52858606a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 17 17:43:17 2001 +0000

    cmdebug-addrs-option-20011017
    
    
    This patch adds an "-addrs" option to cmdebug, which lists
    the interfaces of a remote cache manager, via the WhoAreYou
    AFSCB RPC.

commit ffc10442a137a69087533acc12d0617bf7469f8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 17:36:07 2001 +0000

    cvsignore-updates-20011017
    
    
    based on comment from nneul@umr.edu

commit a5cf91a8e27a360e63ebc3826802ff7d518fe693
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 16:12:00 2001 +0000

    junk-redhat-sh-since-configure-tests-cover-us-20011017
    
    
    we don't need this anymore

commit 50b3a0fb22403b250585cbc3d7c4cd17440840d5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 17 04:06:22 2001 +0000

    dux-kernel-lacks-mem-functions-20011016
    
    
    from report from jimmy@e.kth.se
    
    you can tell how many people are using openafs on digital unix/tru64. sigh.

commit d4c039ce1a5747dc4b8acfacba766d2b2671bb26
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 13 06:28:07 2001 +0000

    disable-client-inlinebulk-20011013
    
    
    until we can remember which servers support it

commit a158978f851a97c93a350fa3bce127f9e0db052a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Oct 13 06:27:19 2001 +0000

    update-news-file-20011013
    
    
    update news file for new advances

commit 47685b40daded38999df92d9c1d2d8efa9a15509
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 12 18:55:33 2001 +0000

    linux-no-umount-begin-20011012
    
    
    to fix problem reported by rtm@cert.org
    
    this code needs to be reworked before it can be reactivated

commit 8ac78a72951ca5d0f21f1005a71c9e0a454f6a43
Author: Ed Symanzik <zik@msu.edu>
Date:   Fri Oct 12 14:55:03 2001 +0000

    fbsd-makefile-typo-20011012
    
    
    add missing =

commit b4ad986ac0ed10c82b9a4020802236676d9a0eba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Oct 12 01:24:22 2001 +0000

    make-logging-enhancements-aix-friendly-20011011
    
    
    AIX lacks WCOREDUMP so we work around it

commit a69752132ba1299b829c14942141711c0fcb6733
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 11 22:51:13 2001 +0000

    fix-attach-directories-code-to-properly-use-vgetpartition-20011011
    
    
    irix hates us when we misuse functions

commit 8cd212c6915bac92ddd2f830aebb351c7ebe953d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Oct 11 22:41:45 2001 +0000

    irix-adapt-mtu-correctly-in-multi-interface-case-20011011
    
    
    let hash_enum iterate so we get the right interface
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    undo chas's earlier patch
    fix another flub

commit 95116cea15c8a4926cc408e44db7ecdc0990d3c8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 11 22:33:05 2001 +0000

    logging-enhancements-need-ctime-decl-20011011
    
    
    make irix happy

commit 3626c9a3502d581b97752e35696f0ec838aacf40
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Oct 11 21:34:50 2001 +0000

    support-nested-variables-20011009
    
    
    bash 1.14.7 can't deal with backslash-quoting for this

commit 083748a6a42c4e3e85657c45b621320179be4ec2
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 11 19:39:32 2001 +0000

    irix-adapt-mtu-correctly-20011011
    
    
    rxi_MatchIfnet() always returns 0 (i.e. not a match).  so rxi_FindIfnet()
    will always return 0 and the ADAPT_MTU code can never determine the
    interface (and its mtu)
    
    fix by returning 1 if we have a match_value

commit 99ba2ae4b6774d33cf26d132c0cdcedc8ea5bffd
Author: Ken Raeburn <raeburn@raeburn.org>
Date:   Thu Oct 11 18:39:36 2001 +0000

    check-for-makefile-fragments-for-systype-at-configure-time-20011011
    
    
    don't succeed configuring if we can't build for them
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    don't look at the generated files

commit 80541f175795043a533d64d2d9fb6cca02950e77
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Oct 11 17:41:51 2001 +0000

    irix-lacks-mem-functions-in-kernel-so-revert-to-b-functions-20011011
    
    
    same as how we fix solaris

commit 652bdc777bc3638c913f917b7c9c7708be69f19a
Author: Ken Raeburn <raeburn@raeburn.org>
Date:   Thu Oct 11 08:50:48 2001 +0000

    alpha-linux-24-base-support-20011011
    
    
    openafs works on alpha linux 2.4

commit 3ccf53b878e994e4c84f742a1bcbe36699f7c4e9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Oct 11 08:43:17 2001 +0000

    merged-configure-support-solaris9-20011011
    
    
    this slipped through the cracks when configure and configure-libafs were merged

commit 5cf450acf373bb05b5a0164d469714a655f465b9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Oct 11 08:41:22 2001 +0000

    bulkstat-correctly-return-fetchstatus-error-20011011
    
    
    actually fall back to fetchstatus's error

commit 1748be7dddec8f69a1a83273fcf22e3ab7b91109
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 11 08:36:43 2001 +0000

    solaris-afs-nfs-translator-not-a-prayer-20011011
    
    
    first pass at afs-nfs translator for solaris. it has not a prayer of
    working. i don't really have time to work on it, hopefully someone will
    see it and care.

commit 26996e0cb8c1ff90748b8edf32b8d6293e28aa67
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Oct 11 04:15:28 2001 +0000

    linux-umount-begin-dont-preclude-afs-put-super-from-usefully-calling-afs-shutdown-20011010
    
    
    afs_put_super calls afs_shutdown, which expects to be called with
    afs_shuttingdown equal to 0, not 1

commit 1774eaacce6baee4332dccb74a6a091f01439942
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 10 20:32:21 2001 +0000

    cell-alias-support-fix-memory-leak-20011010
    
    
    be careful to clean up after ourselves

commit 72d9dc774197b2cc0397fd8ee7dfd4b84d54d843
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Oct 10 15:00:54 2001 +0000

    h-release-r-should-try-harder-to-reap-deleted-hosts-20011008
    
    
    based on complaint from and work with jimmy@e.kth.se
    
    h_OtherHolds_r will never return 0 if we mask our own hold
    bit before calling it. however we must be careful to mask before h_TossStuff_r
    so we aren't still "holding" then
    
    otherwise just release our hold
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    mask holdbit in case i missed

commit acdadc1bdedd6df7c9d8331bae1d375135d8f06d
Author: Derek Atkins <warlord@mit.edu>
Date:   Wed Oct 10 04:16:54 2001 +0000

    linux-rc-file-cleanup-20011008
    
    
    Modularize the Linux RC file(s) a bit.  In particular, add more
    options for larger caches, allow autogeneration of the cacheinfo file,
    make sure AFS only starts if the network is running, add SuSE header
    information, and cope with the Red Hat initscripts better (on Red Hat
    only, but should work on all systems).
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix silly typo

commit 077c0a4d76a77117465a458f3be67560dbc299d5
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 10 01:10:29 2001 +0000

    unix-dynroot-support-20011009
    
    
      The result is that if afsd is started with "-dynroot", /afs
      will be a locally-generated directory, with mountpoints for every
      cell in CellServDB (and /afs/.cellname as the rw mountpoint).  If
      AFSDB support is also enabled, attempting to access /afs/foo will
      cause the cache manager to do an AFSDB lookup on foo, similar to
      an automounter.  Cell aliases become symlinks to the real cell
      names under /afs.

commit 56fa8cca37516dcc23e5b16e61670d27d0ee9dad
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 10 01:05:27 2001 +0000

    support-cell-aliases-20011009
    
    This patch adds support for "cell aliases": a cell alias allows a
      single cell to be known by multiple names (one of them the primary).
      This is useful in conjunction with AFSDB support, where you want all
      the possible names for the same cell to share the same tokens, etc.
    
      For instance, if the local resolver has "mit.edu" in its search
      domain, an AFSDB lookup on cell "athena" will cause the primary
      cell "athena.mit.edu" to be created, and "athena" made an alias
      for it.

commit 1b979e5a83fe37ccaca0b423ffc2eaaeadcc2eee
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 10 00:59:46 2001 +0000

    rx-trace-check-correctly-for-file-descriptor-validity-20011009
    
    
    file descriptor numbered 0 is valid

commit a60bb0c5510d5272458bc1cc368a4c4cd77114a2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Oct 10 00:58:44 2001 +0000

    release-buffer-cache-lock-before-opening-file-20011009
    
      make the buffer cache release
      the buffer hash lock before trying to open the corresponding file.
      Since we're already holding a buffer cache entry, we can lock it
      instead and let other threads obtain the big hash lock.

commit f10372acf2bc21579674c06b50a1ee967fa89302
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Oct 10 00:57:05 2001 +0000

    tbutc-make-tsm-a-configure-option-20011009
    
    
    not tsm support can be configure'd on
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    gmake wasn't part of the deal

commit 11171303cdc4e05bd80c9069496e881d4e872743
Author: Jeremy Katz <katzj@redhat.com>
Date:   Wed Oct 10 00:45:54 2001 +0000

    support-nested-variables-20011009
    
    
    necessary changes to nest variables so build directories can be changed when
    installing by overriding fewer variables

commit 309122e86415b8ee17796a9612bcb8567291d242
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Oct 9 15:48:25 2001 +0000

    configure-and-configure-libafs-use-acinclude-as-common-ground-20011008
    
    
    use a single file for most of both configure scripts
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    except don't require autoconf 2.50

commit 2185f91d88f0666ffa3b1b000b8a078692e5a65c
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Oct 9 07:32:58 2001 +0000

    add-live-sys-cmd-20011008
    
    
    The attached patch adds a program named 'livesys' to the venus directory.
      This program has exactly the same interface as 'sys', but actually does a
      pioctl to find out the current sysname instead of printing a value
      compiled into it.  It is intended for sites who want 'sys' to report the
      active, locally-assigned sysname of the machine on which it is run.

commit b5ea10611c1f474095017b20d119e87b61933b48
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Oct 9 06:56:43 2001 +0000

    avoid-losing-when-sorting-server-prefs-if-a-server-has-left-out-from-under-us-while-we-were-playing-20011009
    
    
    but it would be better to figure out how we're losing a server out from
    under us.

commit 66d086da413b922097a16ce894fd105c63cd9e70
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Oct 9 06:29:16 2001 +0000

    volser-update-backup-times-20011009
    
    
    update backup time when the backup is recloned

commit 342ae52c816aeb087bd4d32424baa6cc60ee1166
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Tue Oct 9 06:27:31 2001 +0000

    logging-enhancements-20011009
    
    
    The bosserver now logs the exit status of processes under its control.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Messages generated as the result of assertion failures now include
    timestamps.

commit 3c72f0ab259c2e7bb7872d39ff0dc161611fadc6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Oct 9 06:14:16 2001 +0000

    parisc-linux-initial-support-20011008
    
    
    initial support for the pa risc linux port

commit e4afa03500a494ef1a142076b02eb4c11944e68b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Oct 9 05:57:31 2001 +0000

    freelance-compute-dirsize-correctly-20011009
    
    
    compute directory size properly

commit bdc894b9458817a1d5a9870d517e239c69d90f8e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Oct 9 01:07:41 2001 +0000

    linux-dcache-cleanup-aggressively-to-avoid-having-too-many-vcache-entries-locked-down-20011008
    
    
    less aggressive, though, than the "don't use the dcache at all" d_drop
    solution i proposed.

commit 0c03f8607e15e5ebb49eb6dd38a72dc320df9a20
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Oct 8 23:55:41 2001 +0000

    vos-command-enhancements-20011008
    
    
    - Adds the -crypt option, which causes rx connections to be encrypted
    
      - Adds the 'vos setfields' command, which allows volume info fields to
        be set.  Currently, this command allows a volume's quota to be set,
        and allows its dayuse counter to be manually cleared.  At present,
        no other changes are supported by the volserver RPC interface.
    
      - Adds the 'vos changeloc' command, which allows the VLDB's idea of the
        location of an RW volume to be explicitly changed without actually
        moving the volume.  This can be used in cases where the VLDB has the
        wrong idea of the location of a volume for some reason.  It is
        somewhat more predictable and easy to understand than the syncserv
        and syncvldb commands.
    
      - Adds the -offline option to 'vos restore'.  This option causes the
        restored volume to be left offline.  This functionality was already
        present in the code but previously had no user interface.
    
      - Adds the -readonly option to 'vos restore'.  This option causes the
        restored volume to be an RO volume.  It is not permitted to restore
        an RO volume when the associated RW volume already exists.  While
        it is possible to restore an RW volume where an RO volume exists,
        caution should be used to avoid doing this with VLDB entries created
        by 'vos restore -readonly', since such entries have their ROVOL and
        RWVOL ID's set to the same thing.

commit 0c15cc977e130596bb834de3bc24e10227528c15
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 8 23:47:01 2001 +0000

    fix-uafs-build-20011008
    
    
    apply until intent of change is clear

commit d20760c30601274ed0b072877e9975e3db21609a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Oct 8 23:34:53 2001 +0000

    more-cvsignore-updates-20011008
    
    
    fix some cases where versions were hardcoded

commit f4b688d9ed75ab429848e2a4cdb7b0f38eae712a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 8 23:19:07 2001 +0000

    solaris-9-support-20011008
    
    
    support solaris 9

commit 6583586e4033824cfe9e7bdd424dd1a6cea6e149
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 8 23:15:24 2001 +0000

    fix-linux-atomic-t-lossage-by-macroizing-vnode-refcounts-20011008
    
    
    convert to macros for dealing with vnode refcounts
    deal with linux 2.4 atomic_t in the process

commit 2d1ee8cf3d0519e584d5f0bf1979b5ec397898ce
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Fri Oct 5 22:40:44 2001 +0000

    windows-afsdb-and-freelance-afs-root-support-20011005
    
    
    afsdb record support for windows
    freelance /afs (make up an afs root instead of using root.afs from some cell)
    support for windows

commit d53aea964ca8b74b5206f94708078ec960edb9b1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:31:47 2001 +0000

    vol-warnings-cleanup-20011005
    
    
    make stream_open take const arguments

commit d924d9e4a70f243b7ff33288a1d7d9af11067c8d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:30:56 2001 +0000

    sys-warnings-cleanup-20011005
    
    
    add headers

commit 9845b85764a8542b4399873953fa47040caf6ec2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:30:12 2001 +0000

    rx-warnings-cleanup-20011005
    
    
    add header, pull ++ out of ntohl

commit 72977b7f013a7ca7a02bec2ba34189c3b711e284
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:28:49 2001 +0000

    util-makefile-suppress-multiple-install-target-20011005
    
    
    extra install target unneeded

commit c5d97c62c819b5e36c6145deb77a5ee003ef8cd9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:25:24 2001 +0000

    viced-server-shutdown-diagnostics-20011005
    
    
    print some debugging if we shutdown due to failure

commit 45376df63f7f4beda2bac863c73d478746c821ed
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:24:41 2001 +0000

    util-warning-cleanup-20011005
    
    
    add headers, parens, and braces
    ifdef notdef unused routines

commit 60cccb1237496b724e0ce98f47392cd1898c59c2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:23:58 2001 +0000

    auth-warning-cleanup-20011005
    
    
    add headers, parens, and braces

commit 0f0671aa55b2e658c37257a14aef9368e58b358b
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:22:57 2001 +0000

    pinstall-warning-cleanup-20011005
    
    
    add header to suppress warning

commit 039e8b9279cbe106f22674ee32c3bd5d920264b3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:19:20 2001 +0000

    des-warning-cleanup-20011005
    
    
    cleanup warnings from des (add headers)

commit e841874510530dd17521febb4a1d5d03ffdd84c8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:18:36 2001 +0000

    rxkad-warning-cleanup-20011005
    
    
    cleanup warnings from rxkad (add headers, move a ++ outside a htonl)

commit 5498512cece260d62e58988eec4982d77437a089
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:17:18 2001 +0000

    kauth-warning-cleanup-20011005
    
    
    cleanup warnings from kauth (add headers)

commit 8fed71c6ac8801145d1d5cdc857a30286af3d5e1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:13:33 2001 +0000

    make-upclient-clean-up-after-itself-20011005
    
    to preclude lots of turds being left in /tmp from failures

commit 5f002d755ff25f976f50c8e4d976f28caa245751
Author: Love Hörnquist-Åstrand <lha@e.kth.se>
Date:   Fri Oct 5 22:10:54 2001 +0000

    viced-hosts-dump-make-output-more-useful-for-holds-20011005
    
    
    don't just print pointer to holds array

commit 97da033493034d200f51075a4532ee1e27098567
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:07:17 2001 +0000

    ptserver-warning-cleanup-20011005
    
    
    clean up warnings in ptserver dir

commit 366a772a80357ab09a9dd02cb34ef87cdfab25ec
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:05:16 2001 +0000

    ubik-warning-cleanup-20011005
    
    
    clean up warnings (mostly new headers or added parens) in ubik

commit 2c0184532bedf259aad338c2d18eeca2c9e3e196
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Oct 5 22:03:16 2001 +0000

    afsd-warning-cleanup-20011005
    
    
    clean up warnings in afsd directory

commit f6ff74b46b789b5ae94654f0481b892417311a49
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Fri Oct 5 21:58:00 2001 +0000

    ptclient-add-lh-command-20011005
    
    
    The attached patch adds a new 'lh' command to the ptclient utility.
      Analogous to 'l', this command lists the hostCPS for a specified host.

commit c15452d18389556110dab66e62fa86922590040a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:45:52 2001 +0000

    rxdebug-add-verbosity-20011005
    
    
    This patch adds a "-long" option to rxdebug, to print out more verbose
    output, and makes rxdebug print out more information about the Rx peers
    when ran with "-long".

commit 5bcf626ddaf92e199c4b46c11ad276013a47db52
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:44:35 2001 +0000

    solaris-mtu-cleanup-20011005
    
    
    This patch provides better MTU selection on Solaris, by
      actually going through the list of interfaces and picking
      the correct MTU, rather than assuming 1500.
    
      It also fixes a small bug in the server preference code,
      which wasn't checking for IPv6 interfaces, and if there
      were any IPv6 interface, it would believe all servers
      were on the local subnet.

commit 4b00d313a06d85e274bf96a459b063d6285a49e2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:41:52 2001 +0000

    cvsignore-updates-kolya-20011005
    
    ignore more things since we missed them before

commit 4d5be5c6aa6ad84a826392665656f04e5d7c3438
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:41:09 2001 +0000

    fix-prototype-warnings-and-eliminate-unused-variables-20011005
    
    
    minor cleanup in mkvers and kauth/admin_tools

commit 34a3a269ec44a5c62b8d6241613bf9fde8404577
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:38:57 2001 +0000

    linux-compute-mtu-correctly-20011005
    
    
    This patch fixes two bugs:
    
      (1) pass more than 4 parameters to AFSCALL syscalls on Linux,
          allowing the ADVISEADDR op to pass the MTU array pointer.
    
      (2) properly convert MTU's to network byte order, since that's
          what the rest of the code expects them to be.

commit d2e9d29b77c9eabb73ab859ccb0635e8c45a30a0
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Oct 5 21:36:59 2001 +0000

    afsd-afsdb-shutdown-cleanly-20011005
    
    
    make userspace afsdb handler shut down cleanly

commit c9176d7f38994b39464e08ffbb6b8967069a437f
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Oct 1 23:58:59 2001 +0000

    linux-generate-struct-vnode-dyanmically-from-kernel-headers-instead-of-by-perverting-configure-to-test-for-every-one-of-alan-coxs-additions-some-of-which-will-doubtless-never-make-it-into-mainline-kernels-20011001
    
    
    hopefully this will be the end
    (at least for a while) of problems where every linux version requires a new
    openafs release. the struct vnode is now dynamically generated by parsing the
    linux/fs.h file and pulling out the struct inode, then rewriting osi_vfs.h

commit a878b9e6899e87ac31f211f3d48ef29f9fbc59d7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 1 20:20:04 2001 +0000

    allow-configure-time-override-of-DEST-20011001
    
    
    so DEST=foo ./configure will work

commit 8a3eb1f06d1aabe8b44889e73a534ca37bcb61ba
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Oct 1 18:51:41 2001 +0000

    be-more-careful-about-references-when-adding-and-deleting-callbacks-20011001
    
    
    perhaps too careful. to fix potential crash in TDel and TAdd
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove extra ) which snuck in

commit 7afd82623d0108942800b5fc5d30419602d60e65
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Oct 1 18:35:50 2001 +0000

    require-administer-permission-for-mount-point-creation-harder-20010926
    
    
    make sure a mount point isn't being created if the user isn't allowed to
    do that

commit 12136567fc41d77d9863fe590b95ea59e8d0cf2c
Author: Mark W. Eichin <eichin-oa@boxedpenguin.com>
Date:   Mon Oct 1 18:31:49 2001 +0000

    linux24-another-new-inode-field-sigh-20011001
    
    
    with configure glue by shadow@dementia.org
    
    one of these days we really need to implement a better solution

commit 308ab83316a1b9f8431a2c99d31833c5d3f183f8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Oct 1 18:20:49 2001 +0000

    login-makefile-needs-new-build-system-update-20011001
    
    
    fixed missed case of afs/ in libdir

commit f64e648afb35480de74bfc88860a961731062ae4
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Oct 1 18:19:22 2001 +0000

    pam-build-on-hpux11-20011001
    
    
    so pam now builds on hpux 11

commit 7d2a0bd49f46a7c3a7785dfdc20ba1c62729ba85
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Oct 1 18:17:20 2001 +0000

    linux-kdump-wrapper-20011001
    
    
    install a kdump wrapper for linux. (with mod to use $0 instead of kdump)

commit a134e52982e1471276f76973c0659953229cfed4
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Oct 1 18:11:03 2001 +0000

    fix-destdir-support-for-fsconv-and-xfs-binaries-20011001
    
    
    properly support DESTDIR case in vol makefile for certain files which were
    broken before

commit c14d7766f615908412ce9d44bd78495b8a00b0bd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 28 14:09:21 2001 +0000

    rx-ignore-vab-harder-20010928
    
    
    if the other side suggests we use the vab security class, ignore them
    harder than we did before

commit 0c0cc07c7671a6e409dda1c547e631ab89110187
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 27 18:37:49 2001 +0000

    afs-lookup-put-back-vcache-entry-on-failed-evalmountpoint-20010927
    
    
    based on observations of effects related to
    afs-lookup-check-evalmountpoint-return-20010221 and affirmed based on
    mail from Todd_DeSantis@transarc.com
    
    this should reduce but perhaps not eliminate the VLRU cycle: increase
    -stat parameter problem on Linux as it's not yet clear that this is the
    only problem and circumstantially it is probably not.

commit 0cbe03ec4b3de6560bebbfe65a1e6e6a8846f8c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 27 03:16:36 2001 +0000

    afs-client-inline-bulkstatus-rpc-support-20010926
    
    
    this cuts rpc traffic in half for directories on which you have
    no permissions and is capable of doing more if a useful way can
    be conceived of caching errors.
    
    currently bulkstat works thus:
    say a directory has 100 files. bulkstat will on the first hit stat
    the first 30 files, integrating the information if successful,
    and when you hit file 31, repeat. meaning if you can read that 100 files
    is 4 bulkstatus rpcs (3*30+10). if you can't, you do bulkstatus, get an abort,
    then do fetchstatus on the file and find out why you lost. you go on and
    try bulkstatus again this time for files 2-31 instead of 1-30. same failure,
    meaning you do 2N rpcs for the N files. inlinebulk doesn't abort but instead
    fills in stat info for any of the up to 30 files it can, and errors for
    any it can't.
    
    currently the client will pull out any stat info filled in,
    and then return the error from the first file, meaning if you can't
    read the directory we do N inlinebulk rpcs instead of N bulkstatus +
    N fetchstatus rpcs. if the errors for the other 29 could be meaningfully
    cached (and you have to be careful not to pollute information
    such that it's not useful for someone in a different auth context) then
    we could get down to the same 4 rpcs we have for success, but that's an
    exercise for later give how the cache manager works.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    create audit event for inlinebulk
    
    ====================
    
    rename spare2

commit eaef8cb34c2463d6a00e69b022b35b7042b5806f
Author: Jim Rees <rees@umich.edu>
Date:   Wed Sep 26 22:49:33 2001 +0000

    fix-locks-for-openbsd-20010926
    
    
    don't confuse direct with dirent
    use curproc instead of cur_proc()

commit 98c1c1df9e952bcf8482b84e656ef5a6d8d31fd8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 26 16:28:22 2001 +0000

    bos-avoid-false-errors-when-salvaging-20010926
    
    
    there were some cases where we falsely reported the BZNOENT from salvage-tmp
    being cleanup up as "bos: failed to start 'salvager' (no such entity)"..
    despite having just reported:
    bos: salvage completed
    
    this should no longer happen.

commit f8a3fb704e88b1810a7d5b710ca59e5eea69a3b4
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Sep 26 01:02:46 2001 +0000

    allow-namei-fileservers-to-use-directories-instead-of-partitions-for-vicep-20010924
    
    
     -- /vicepX/AFSIDat/README is created the first time the fileserver
        is started, rather than the second time.
    
     -- For the namei fileserver, /vicepa/Lock/vicepa is created as
        the lockfile.  Previously, on Solaris, the raw device was
        was being used for LockPartition(), and that breaks when
        there isn't a corresponding device.
    
     -- The VolPartitions and XVolPartitions volserver calls now return
        the list of attached (rather than mounted) partitions.  This is
        consistent with the NT fileserver and removes duplicate code.
    
    The actual magic for allowing the fileserver to attach non-mounted
    partitions is to create /vicepX/AlwaysAttach.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    carefully avoid non vicep directories and/or partitions as it may get upset at
    automounters or running cachemanagers!
    
    ====================
    
    more carefully avoid non-vicepX partitions

commit 362d26c733b086d26f013bd229af979a112098f5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 25 16:44:39 2001 +0000

    create-inline-bulkstatus-rpc-and-server-stub-20010925
    
    
    this way it's possible to do a bulkstatus where some items succeed and
    fill in that stat info, instead of just getting an error.

commit fb88a009805c1c918d1790046682620388b7a31b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 24 23:19:46 2001 +0000

    fileserver-remove-delay-on-stat-errors-20010925
    
    
    previously and since 3.5 rx enhancements fileserver would delay 3 seconds
    on sending an rx abort when the abort was the 11th or more occurance of
    the same error on the same call. the problem was fetchstatus/bulkstatus
    on a directory on which you have "l" but not "r" would take forever after the
    first 5 files (bulkstatus and then fetchstatus on each file, 2*5=10)
    
    so in FetchStatus and BulkStatus stubs we suppress repeated errors from
    Check_PermissionRights *only*, which has the effect of suppressing the
    problem without removing the theoretical benefit of avoiding letting any
    one client throw requests at as as fast as we can abort them unless those
    requests happen to be fetch/bulkstat requests which fail a permission check,
    but in order to avoid that we'd also need to cache what they last tried
    to stat, and then things would get ugly.

commit 02254085a962931edd59d8b089ce521173ba2c86
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 24 17:11:07 2001 +0000

    comerr-include-proper-old-compat-glue-20010924
    
    
    so old initialize function works correctly

commit 80afed9bf9e46cf599e1f71e448ddf7e2db3b40c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 24 13:17:16 2001 +0000

    export-vlops-in-vldbint-xg-file-20010924
    
    
    based on report from lha@stacken.kth.se
    
    include vlops in the "published" interface
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    based on report from lha@stacken.kth.se
    
    remove from vlserver.p.h

commit 667a9d149e00910c1454807d292a2b15a95ae134
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 24 11:51:05 2001 +0000

    NEWS-updates-20010924
    
    
    update NEWS for stuff in 1.2.1 and stuff to go into 1.2.2

commit c1cee109ad926fdf81cfd7134b8af8ed8f176231
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Sep 24 11:48:14 2001 +0000

    viced-deal-gracefully-with-afsconf-failure-20010924
    
    
    -- Fileserver will complain if afsconf_Open() fails, rather than
        mysteriously segfault'ing later on.

commit 7a214c2bc13d4d18e534fcc933cae5ba1c34f83c
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Sep 24 11:44:32 2001 +0000

    rx-cleanup-20010924
    
    
    The rxi_ReceiveAckPacket() change makes sure we have two extra fields
    (the max and recommended packet sizes) hanging off the packet, rather
    than just one.
    
    The PKTFLAG_FREE stuff in rx_packet.c just initialized flags in case
    PKTFLAG_ACKED somehow didn't get cleared there.
    
    The wirevec changes are off-by-1 errors: there's p->niovecs iovecs
    in a packet, from 0 (header) to p->niovecs-1, so p->niovecs doesn't
    refer to a meaningful iovec.

commit 7d317a0e27dc64a2f4629577a6420273f69be047
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Sat Sep 22 00:48:56 2001 +0000

    dux-vfsck-check-for-mounted-filesystem-20010919
    
    
    modified by shadow@dementia.org for dux 4.0a (ifndef UID_NO_CHANGE case)

commit 9175ce36fbd575bf6a9f146a45930c6f8e580584
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Sep 20 21:10:06 2001 +0000

    darwin-optimize-and-fix-dirpath-20010920
    
    
    change optimization, add alternate dirpath for dealing with darwin and macos
    in same binaries

commit 9d50b935e36ef7831f5172f1ac8c8dee52d61710
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 20 06:08:14 2001 +0000

    undo-linux-call-afs-dopartialwrite-20010920
    
    
    scrap this approach

commit e667ec654b7d14fd0ef228dd9acbda974ba6825a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Sep 20 04:58:23 2001 +0000

    ubik-fix-typo-20010919
    
    
    somehow this crept in

commit 67081b64c9794550315bcd24bb8ecf8431cd260e
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Thu Sep 20 00:18:54 2001 +0000

    winnt-dont-do-unneeded-version-check-20010918
    
    
    make afs config wizard not complain about version < 3.5

commit 62ea64e63aa97efdd2b231e91ed00565bad93891
Author: Shyh-Wei Luan <luan@almaden.ibm.com>
Date:   Thu Sep 20 00:16:19 2001 +0000

    news-include-windows-updates-20010918
    
    
    list windows client user-visible changes

commit bdfa7364be16746448d9149579de6b635ff1390e
Author: Jim Rees <rees@umich.edu>
Date:   Wed Sep 19 18:59:08 2001 +0000

    openbsd-nits-20010919
    
    
    With these small changes, "make" on OpenBSD actually completes!

commit 9d1bdf1f14218d384b9b5711452e3ed66e824b05
Author: Jim Rees <rees@umich.edu>
Date:   Tue Sep 18 21:44:02 2001 +0000

    document automake dependency

commit ddb518c786d81c1dc9535101824f1d9bf14ffcfd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 18 05:26:47 2001 +0000

    comerr-behave-like-the-rest-of-the-world-20010918
    
    
    no other comerr changes the case of the error table name you specify in the
    .et file. now neither does ours.

commit 7944ae223ada964b0a8c617dfef2f9fb52fadbf1
Author: Walter Wong <wcw@cmu.edu>
Date:   Mon Sep 17 22:37:21 2001 +0000

    misc-build-cleanup-20010917
    
    
    1) Removal of unused variables
    2) some NT ifdef cleanup
    3) use of size_t rather than int to store the result of strlen()
    4) some bugs that really only occured when errors occured.
    5) some functions were implicitly declared as 'int' but doing a
       "return;" Some I declared as 'void' and prototyped them; some I
       just returned a value.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    put symbol in an ifndef for winnt
    
    ====================
    
    
    change erroneous void to int
    
    ====================
    
    technically the cmdprocs return int
    
    ====================
    
    
    update function to be void

commit 8068237ad08e1b3e00c09ae5e21c8e772ca67c9a
Author: Walter Wong <wcw@cmu.edu>
Date:   Mon Sep 17 20:35:09 2001 +0000

    nt-makefile-clean-targets-20010917
    
    more work on providing a clean target for nt

commit eb2727a6a74d634b054c5a757e65e14ec7f94931
Author: Walter Wong <wcw@cmu.edu>
Date:   Mon Sep 17 20:26:24 2001 +0000

    readme-cvs-update-with-instructions-20010917
    
    
    providedetails about openafs cvs

commit 82e061df412c781435f30ee0474f3484ff585cb7
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Sep 17 19:33:50 2001 +0000

    ppc-linux-needs-install-path-20010917
    
    
    set path to install in pcc linux22 makefile fragment

commit e53c63cc1c26397ca8fb4a3bca523c3c5d5b7248
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 17 19:12:20 2001 +0000

    linux-call-afs-dopartialwrite-from-afs-memwrite-and-afs-ufswrite-not-afs-linux-write-20010828
    
    
    don't erroneously call fakeopen

commit b80f8ab2cbbb3c28328964879f0bb25c05c0a61b
Author: Jim Rees <rees@umich.edu>
Date:   Fri Sep 14 00:19:17 2001 +0000

    Initial OpenBSD support. Most of user space builds. No kernel module yet.

commit 0c412784f1ea6db4a19804421c959e28b31d74af
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Sep 12 06:00:46 2001 +0000

    darwin-update-plist-building-20010912
    
    
    update how plist files are constructed so subsconfigure for libafs can work

commit 15cf58cd8e7eb61ac268589157283436bc95716e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Sep 12 16:55:58 2001 +0000

    linux-makefileproto-redhat-enterprise-support-20010912
    
    
    based on work by thomas.mueller@hrz.tu-chemnitz.de

commit 20b20753c85fea9268c13232a9dcdd9ba56d006a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 21:30:21 2001 +0000

    darwin-plist-renaming-20010911
    
    
    allow configure processing of files

commit 88cfb6ba69d0f15c7996c91d6fb6960b3efc11c6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 20:28:56 2001 +0000

    afs-callback-kill-bcopy-again-20010911
    
    
    this slipped in with the memory leak fix

commit 1c02f6300b71f7d2016f90cb963d53ceda76c29f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 07:56:23 2001 +0000

    update-top-level-docs-for-new-install-targets-20010911
    
    
    make top level files indicate current build instructions

commit 5aa2c39f86289df5746a176f5322f45a483f27c9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 07:25:54 2001 +0000

    aix-makefileproto-cleanup-dest-building-20010911
    
    
    readd missing /es

commit 91b3cb338c3f1023e017e4d9405a30f09a9fdf4a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 05:46:37 2001 +0000

    makefileproto-solaris-install-modules-in-modlad-dir-20010911
    
    
    
    get rid of another bogosity

commit 3d83c88fc5c875d4211e25b82aa8aee87319f7aa
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 05:00:29 2001 +0000

    configure-libafs-fix-paths-20010910
    
    
    update paths for building submodule

commit 331b7594f560d0873e73307c1b43a197d6705f13
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Sep 11 04:30:49 2001 +0000

    irix-makefileproto-fix-dest-target-20010910
    
    
    rely on DEST not DESTDIR
    also install instead of cp to implicitly create needed directory

commit 6b113587ca4d66ce213391f9676974d60df3fee8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 10 21:52:30 2001 +0000

    linux-configure-check-for-more-inode-struct-members-20010910
    
    
    for redhat enterprise kernel

commit ad8f6909ee0e378e7f949cdad445542e97099a64
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 10 21:50:43 2001 +0000

    update-libafs-configure-20010910
    
    
    so the kernel module subconfigure will work usefully

commit 4a31f02b1f271caa63b3274fb3d0f413d4757002
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 10 21:21:01 2001 +0000

    makefile-cleanup-remove-extraneous-semicolons-and-other-unused-bits-20010910
    
    
    rationalize away some more crap

commit 2a12550e7c7b062aec35f2597babe022bbb23d6a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Sep 10 21:14:01 2001 +0000

    add-cvsignores-to-project-20010910
    
    
    start at cvsignores

commit af3fa773a451fa891df8534b5a3f0f0346d03d5e
Author: Walter Wong <wcw@cmu.edu>
Date:   Mon Sep 10 21:08:14 2001 +0000

    winnt-readme-update-20010910
    
    
    update winnt build instructions

commit 7303f3148e23ce9904de833c86953bd0b284a4f4
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Sep 10 21:07:32 2001 +0000

    darwin-build-updates-20010910
    
    
    separate plist on per-version basis
    
    1.4 is not yet supported

commit 80c42d4a875456c2de8f11087a8f5855c55dd0df
Author: Walter Wong <wcw@cmu.edu>
Date:   Mon Sep 10 20:54:20 2001 +0000

    winnt-create-missing-clean-target-20010910
    
    
    get winnt make clean closer to working

commit 80e2c2f8cee29c4e89ab0363e276836d1d95d1d9
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Mon Sep 10 20:15:57 2001 +0000

    make-install-support-for-transarc-and-prefix-style-universes-20010907
    
    
    according to jeff:
    - Renames the top-level 'install' target to 'build'.  This should be
        transparent, since no one should be using that.
    
      - Improves on Sam's dirpath patches, by splitting out server binaries
        into separate bin, sbin, and libexec directories in GCS mode (these
        are all /usr/afs/bin in Transarc mode).
    
      - Updates the top-level 'all' target so that it builds the software
        but does not generate a dest tree.  Top-level 'lib' and 'include'
        directories are generated to hold the intermediate libraries and headers
        used during the build.
    
      - Adds a new top-level 'install' target, which installs things in the
        appropriate directories under ${DESTDIR}, based on configure's install
        directories plus the extras added by Sam's patch.
    
      - Adds a new top-level 'dest' target, which creates an old-style dest
        directory under ${DEST}.  The ${DEST} variable defaults to the
        traditional value of ${SRCDIR_PARENT}/${SYS_NAME}/dest.  Note that
        this variable used to be called ${DESTDIR}; it was renamed to avoid
        conflicts with the de facto standard usage of ${DESTDIR}.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix missed makefile
    
    ====================
    
    update another missed file
    
    ====================
    
    eliminate bogus escaping
    
    ====================
    
    get rid of another bogus escape
    
    ====================
    
    remove unused include directory
    
    ====================
    
    get rid of no longer used libdir
    
    ====================
    
    remove unused incdir
    
    ====================
    
    fix up some problems for make compatibility and missing trailing /
    
    ====================
    
    put afs.exp in the right place
    
    ====================
    
    remove bogus afssrvdir reference
    
    ====================
    
    update dest version of output
    
    ====================
    
    update ref to libexecdir
    
    ====================
    
    kill refs to afssrvdir
    
    ====================
    
    
    convert missed LIBDIR to TOP_LIBDIR
    
    ====================
    
    remove explicit INSTALL and use makefile.@sys value instead
    
    ====================
    
    except it's helpful to actually include makefile.@sys
    
    ====================
    
    convert LIBDIR to TOP_LIBDIR

commit ba4498fa9c514b8916360c0ff8684f7bab609b33
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Sep 10 17:37:32 2001 +0000

    bucoord-cvs-bogosity-20010910
    
    
    correct bogosity which crept into CVS (rtruct instead of struct)

commit b29021b83d51018d81f8b8f3cd521f7c56475c50
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Mon Sep 10 16:39:47 2001 +0000

    windows-install-updates-20010910
    
    
    more corrections for windows packaging

commit 31094ffc5acc68ad8e38b22a070554ef6e456f59
Author: Walter Wong <wcw@cmu.edu>
Date:   Sat Sep 8 05:31:22 2001 +0000

    winnt-makefile-fixes-20010908
    
    
    clean up makefile problems which got introduced by other changes

commit 593e5a8c405685cf116a4d207bf6358343054fa9
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Sep 7 21:47:57 2001 +0000

    rx-do-housekeeping-on-packets-with-new-flags-20010907
    
    
    keep better track of packet state using flags in packet header indicating
    which packets are in acked state and which are free

commit 186338140064116660b6f80a62379100ea38688b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Sep 7 21:12:13 2001 +0000

    afs-callback-plug-small-memory-leaks-20010907
    
    
    2 RPC stubs have small memory leaks since the actual string length is being
    freed and not the whole allocated chunk

commit 3ed7207c17a8034f012f8134310bd2465d8ca4b2
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 7 19:59:03 2001 +0000

    darwin-make-afsd-script-exit-for-failure-20010907
    
    
    script failed to exit for one of the failure cases before

commit cb6e75cfaac7a57ce2f5f149105b44e493c3d204
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Fri Sep 7 05:36:41 2001 +0000

    pam-afs-new-features-20010907
    
    
    add ignore_uid (like ignore_root) plus set_token (set token in auth step instead of setcred), refresh_token (no new pag), use_klog (fork a klog child), no_unlog, remainlifetime (sleep before deleting creds at logout)

commit 2124d625637097aa2e4d9cfee5e15c9a444a351b
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Sep 7 05:00:05 2001 +0000

    macosx-dont-interfere-with-cd-audio-20010906
    
    
    don't use constant VT_AFS for our vfs type

commit 3143375715434a104633241aa1959df15b9e51e8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 7 04:49:16 2001 +0000

    param-remove-nested-commenting-20010906
    
    
    based on comment from rjs3@andrew.cmu.edu

commit 7abae22b939796acdde6f8e83c0e1ed9f5c9b799
Author: Walter Wong <wcw@cmu.edu>
Date:   Fri Sep 7 04:38:19 2001 +0000

    winnt-more-makefile-fixes-for-cvs-head-20010906
    
    
    take care of some places where we got out of sync between unix and windows,
    add media target in afs_setup_utils

commit 653b0016120c15daca7d8d6bd011421f4c4adaa0
Author: Walter Wong <wcw@cmu.edu>
Date:   Fri Sep 7 04:32:56 2001 +0000

    winnt-initialize-variables-and-memory-before-use-20010906
    
    
    initialize a variable false when assumed; also some memset(...,0

commit 11b021e1b1480230d64def8217288a49958d20e9
Author: Sam Hartman <hartmans@mit.edu>
Date:   Fri Sep 7 04:18:59 2001 +0000

    dirpath-support-configure-path-options-and-decanonicalization-20010906
    
    
    Sam's notes:
    "Here is a patch that supports directory paths, documentation for the
      above and decanonicalization of of supplied paths.  Here are tests I
      have run:
    
      * Build with  both transarc and non-transarc paths and examined
        dirpath.o
      * Build with roughly FHS-style paths and tested on Debian
      * confirmed that bos salvage  works even when salvager not in
        /usr/afs/bin
      (it gets the log correctly too)
      * confirms that bos getlog can get logs from /usr/afs/logs even when
        /ur/afs/logs
      is /var/lib/openafs/logs
      * confirmed that bos getlog can get /etc/motd
    "

commit 5caf0b44b34027a9ce76fc7744ad108060e326b7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 7 04:05:43 2001 +0000

    afs-sysnames-add-sunx86-57-and-58-20010906
    
    
    allocate ids for sunx86 57 and 58

commit fcd12ad905e74fc7a6a19ba01a0d26b78a4ae003
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Fri Sep 7 03:54:54 2001 +0000

    windows-build-environment-cleanup-20010906
    
    
    clean up previous problems in the win2k build env

commit 954a6215de050d145d8554b383a619e840ce5137
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Sep 7 02:12:29 2001 +0000

    linux22-redhat-enterprise-kernels-add-inode-fields-20010906
    
    
    struct vm_area_struct   *i_mmap_shared;
    added in a patch to the redhat enterprise kernel

commit 94024517370ee12c532fa946f6e9ac23091cfe89
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Sep 6 20:07:12 2001 +0000

    linux24-fix-path-leak-20010906
    
    
    based on suggestion from Srikanth and Chas Williams

commit b422dfb6a6ef4ba5e71ccc6c00aaec1323930196
Author: Sam Hartman <hartmans@mit.edu>
Date:   Tue Sep 4 23:28:20 2001 +0000

    update-top-readme-20010904
    
    
    add ppc linux stuff and update alpha linux

commit 23a794974a373cdbf9ecc5fb4b2c5c00d8c22c1e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 30 07:14:37 2001 +0000

    libafs-linux-makefileproto-shouldnt-default-to-kgcc-20010830
    
    
    nuke kgcc crock *again*

commit 5799a68ba61d06f14aca0a1fdb0a9544c19c5837
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 30 07:07:16 2001 +0000

    config-makefile-further-cleanup-20010830
    
    
    ordering of dependancies caused ${DESTDIR}/include/afs to not exist in
    time, masked if you built into an existing destdir. so let's make
    the makefile simpler and more logically paraallel.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    get missing backquote

commit 635df30c0f8113daeaeceb856bcaaf0b8ea3d9b5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Aug 30 00:22:17 2001 +0000

    more-makefiles-cleanup-20010829
    
    
    get rid of cases where we'd end up with two / because of DESTDIR pasting
    
    macroize calls to rm
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    get rid of another case of bogus trailing quoting

commit b1aa5e5209fed4ac0378eacfbedfc575ca81b3a2
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Wed Aug 29 23:10:45 2001 +0000

    libafs-make-subtree-during-build-for-later-use-20010829
    
    
    get rid of bogus ..'s
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make the subdir buildable

commit 3076602831a267cac8bcb7868c64aaed94b1ae00
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 22:31:38 2001 +0000

    libafs-irix-makefile-cleanup-20010829
    
    
    clean up typo so we build correct module

commit 1c70ed1f9ce3a58147d38cb0ce5ac2c24456b9fa
Author: Jeffrey Hutzelman <jhutz@cs.cmu.edu>
Date:   Wed Aug 29 20:17:19 2001 +0000

    libafs-make-subtree-during-build-for-later-use-20010829
    
    
    at build time, create a subtree for use later which can be used to
    build *only* kernel modules, but only for the afs sysname you were building
    for in the first place currently.

commit 3b75d2d05dcb8bab58be6ebb84af03364818ec46
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 20:04:00 2001 +0000

    linux-support-kernel-patches-used-by-suse-20010829
    
    
    check for added fields in struct inode

commit af5ca3c6084896a634ce9199fed868d1a4b5b0b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 19:45:37 2001 +0000

    cvs-needs-readme-20010829
    
    
    warn of the dangers of cvs snapshots
    explain how to use one

commit 65bbcedf9add37c4527aadd0065ce1f2700aafe6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 29 18:40:51 2001 +0000

    venus-makefile-cleanup-20010829
    
    
    cleanup and remove now unused for/do constructs

commit 08ab25471c1a83f6a82f1c7430dc2bd80b8d77e9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 29 18:37:32 2001 +0000

    afsd-makefile-cleanup-20010829
    
    
    cleanup for afsd makefile

commit 4f0cfb2ee902687aefd5130dcf3fc2c620e27664
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 29 18:36:27 2001 +0000

    linux24-make-kdump-build-20010829
    
    
    make kdump at least buildable, not particularly pretty

commit dd1798a7bac7b53370c4a90a82949ad7aa3abbe8
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 18:12:35 2001 +0000

    dux-documentation-update-20010829
    
    
    based on information from joda@pdc.kth.se

commit dc885e54f28a5d50382c92d58910a358c365eb57
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Wed Aug 29 17:55:56 2001 +0000

    dux-create-loadable-kernel-module-20010829
    
    
    with minor correction by shadow@dementia.org to install the module, but
    we now create a loadable kernel module for dux
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    actually build afs.mod
    
    ====================
    
    fix typo

commit b730159315cc7f9dafbf83aedf8c716fccf377f4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 17:14:49 2001 +0000

    xdr-int64-dont-build-on-dux-ever-20010829
    
    
    some form of xdr_int64 is always available on dux, so don't build it.

commit 3a6527e02681ff6f8792dd44b0ddf197a0e2c078
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 04:59:38 2001 +0000

    mpp-needs-unistd-for-protos-on-irix-20010828
    
    
    so we don't get the implicit int return type and upset the irix compiler

commit b0c5f0cac6b8b5cda2f3d56d8d637e36c4d90d13
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Aug 29 02:19:55 2001 +0000

    makefile-updates-20010828
    
    
    clean up all the makefiles to remove bogus targets, eliminate trailing /
    requirement from DESTDIR, avoid needing to pass things like DESTDIR around
    between makefiles
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove bogus quoting

commit 0eb68cde324d26b145e648075524f5e2207c9101
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 29 01:46:57 2001 +0000

    linux-call-afs-dopartialwrite-from-afs-memwrite-and-afs-ufswrite-not-afs-linux-write-20010828
    
    
    attempt to deal with case where data not being flushed from cache

commit ff2f7b801d622553db60eb656a388628107b1a31
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 28 19:03:49 2001 +0000

    linux-attempt-to-support-forcible-umount-20010828
    
    
    not well tested, likely neither complete nor 100% correct.

commit 1cea08ddb0604f6cd9e2dd2e2e7b3823b4337b75
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 28 15:05:34 2001 +0000

    solaris-kernel-lacks-mem-functions-20010828
    
    
    this is a band-aid, since it maps all memsets to bzero; a replacement
    memset is actually needed for the non zero case

commit f0e5973f8b81d2acf7ba7505a46e69f7608b8612
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Aug 27 04:35:06 2001 +0000

    afs-evalmountpoint-return-code-resync-20010826
    
    
    resync error codes so they work like they did before afs-lookup-check-evalmountpoint-return-20010221

commit c3951ddb34df85fff841f460d7bdd2f0a3829061
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 23 18:46:32 2001 +0000

    windows-authentication-recognize-time-out-of-bounds-error-20010823
    
    
    so people don't get "unknown" error 37

commit 25d696ebcada79e1569cb364dd3a6548ed19e695
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Aug 23 18:26:43 2001 +0000

    linux-kernel-headers-have-conflicting-min-max-defs-20010823
    
    
    so we cheat and call our macros something else.
    based on report by Owen LeBlanc <LeBlanc@mcc.ac.uk>

commit 3a268c2416600985cd8a3e5fd05dc303bf4e668e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 23 18:17:40 2001 +0000

    windows-installer-updates-20010823
    
    
    change references to be to openafs and not afs

commit aadec38e0609ae3da4c973b6bffa5a204897c93e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Aug 23 18:07:24 2001 +0000

    hpux10-may-be-hppa-2-20010823
    
    
    deal with more uname output

commit ae0d5a0407b8c816741a9c7d90dafae747c05627
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Sun Aug 19 15:44:41 2001 +0000

    windows-updates-20010819
    
    
    1. Version control (Win9x & Windows NT/2000)
     NTMakefile.i386_win95 and NTMakefile.i386_nt40 added AFSPRODUCT_VERSION
     variable, setting this will propagate through the software by setting
     the product version for the installation and client dialog boxes.  In
     particular it will provide correct notification if Win2K installation is
     being upgraded, reinstall or downgraded.
    
     Version information shows up in the following ways:
       Welcome dialog during installation
       Properities page for Install.exe (Windows Installation routine)
       Windows Add/Remove Dialogs application list
       AFS Control Center and Client dialog boxes
    
     See README-WIN9X.TXT or README-NT.TXT for further information on how to set thi
    s
     variable.
    
    
    2. CellServDB  (Win9x & Windows NT/2000)
     The installer can choose between various sources for CellServDB:
     a) Previous installed file, afsdcell.ini(WinNT/2000) or CellServDB(Win9x).
     b) File that comes with the installation package (recent copy from grand.centra
    l.org)
     c) Download a the file from the Web (default http://grand.central.org/dl/cellse
    rvdb/CellServDB).
     d) Browse for a file
    
    3. Drive Mapping (Win9x & Windows NT/2000)
     The installer can choose up to two drive mappings during the installation
     process.  Default is map Z: to AFS root and U: to user home directory
    
    4. Silent Running (Win9x & Windows NT/2000)
     Setup.exe is capable of running silently (-s option); that is, it will use a pr
    e-made
     response script to drive its responses.  You can also do a normal installation
    with
     the record option (-r) to build a sample response file.
    
     The installation routine has been improved to accept a modified response file s
    o the
     administrator can setup up additional drive mappings including substituting the
     user's
     loggin name into the path.  By using a text editor an administrator can setup a
     variable
     path name that includes %LOGINNAME% in a path statement.  This variable will be
    
     substituted for the current user's login name.  (Only at installation time.)
    
     For example: if an administrator wanted to install AFS client on a machine that
     had the
     following mappings:
     Z:=/
     U:=/afs/afscell.org/u/username
     Q:=/afs/afscell.org/general
    
     Then follow these steps:
     a) run setup with -r option and specify install to record responses into file s
    etup.iss
      setup.exe -r -f1setup.iss
     b) Follow normal installation responses
     c) Edit the setup.iss response file by modifying the "DRIVEPATH section".
    
     This response file could start off looking like this:
    
    
     [DLG_DRIVEPATH-1]
     Result=1
     Drive_0=Z:
     Path_0=/
     Share_0=all
     Drive_1=U:
     Path_1=/afs/afscell.org/u/administrator
     Share_1=home
     Count=2
    
     This section map would be changed to look like this:
    
     [DLG_DRIVEPATH-1]
     Result=1
     Drive_0=Z:
     Path_0=/
     Share_0=all
     Drive_1=U:
     Path_1=/afs/afscell.org/u/%LOGINNAME%
     Share_1=home
     Drive_2=Q:
     Path_2=/afs/afscell.org/general
     Share_2=genrl
     Count=3
    
     d) Use the silent mode to install AFS (must log to windows as your user name e.
    g. Frank)
      setup.exe -s -f1setup.iss
    
    HINT: Share name should be limited to 12 characters.
        The response file terminate if the installation is in any way different; for
     example,
        the response is recorded on a clean machine and it is run on a system where
    AFS
        is already installed.
        The execution is truly silent, except for a log file.
        The last response is BootOption and if set to 1 it will reboot your machine!
    
    
     Refer to additional documentation on silent/record in you Install Shield User's
     Guide.
    
    
    5. Fixed the Un-Installation bug that damaged the NetBT parameter registration. (Win2k/NT only)
    
    6. Change Default selection for Win2000 to Client and Documentation only.  (Win2
    K/NT only)
     The default installation is with Server and Control Center NOT selected.
    
    7. Win9x Client Operation (Win9x only)
    
     Win9x client has been changed to allow "connection" with out forcing
     authentication.  Previous implementation of the Win9x client had three steps to
     the
     connection process: 1) start client 2) obtain tokens 3) Map drives
    
     The updated Win9x client can leave the username blank and select to Connect.  T
    herefore, only
     the client will be started (without obtaining tokens).  The user can still map
    drives
     (those that don't require authentication).  This is particularity useful if you
     want to
     use a different routine to obtain authentication tokens or additional drive map
    pings.
    
     A command line option has also been added (-noid).  This option Prevent selecti
    on of
     (Gray out) username/password. This will cause the client to start up without au
    thentication.
     By using both -noid and -connect allows the user to run the AFS client in login
     script
     that could provide Kerbos 5 authentication and addition drive mapping.
    
    8. Installation (Win9x only)
     Fix installation into paths that have space, e.g. \Program Files\Afscli
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    
    complete list in first message

commit 6a1c9c896cf67c4538c429702f1f7fe3268fa1eb
Author: Jeremy Stribling <jstribl@us.ibm.com>
Date:   Thu Aug 16 08:56:51 2001 +0000

    bosadmin-setrestarttime-should-take-a-structure-20010816
    
    bos_ExecutableRestartTimeSet called BOZO_SetRestartTime incorrectly

commit 120e1ef57038167d27dc7dfb348fcf05ccd620eb
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Aug 16 08:54:48 2001 +0000

    configure-simplify-hp-detection-for-sysname-20010816
    
    
    cut from 2 rules to one

commit e8591334602e5e8dad78dc6426d3c44d564572c1
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Aug 16 02:01:05 2001 +0000

    linux-osi-clear-inode-locking-fix-20010816
    
    
    "i think this was missed from a patch i sent a while back to cleanup
      the iput() of afs inodes.  i think the lock(vc->lock) needs to be in
      osi_clear_inode() since osi_clear_inode is called a bit more often
      than afs_delete_inode().  however, this like just might be uneeded
      since no one has seen any problems apparently."

commit 1bd89f0dc30e32be0899d1e931c4e39ae3f28d41
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Thu Aug 16 01:50:55 2001 +0000

    clear-xfreemallocs-in-shutdown-rxevent-20010816
    
    
    only likely to matter to mr-afs

commit cb9ccb203df780a705191b034937ef5268c2b62e
Author: Derek Atkins <warlord@mit.edu>
Date:   Thu Aug 16 01:48:48 2001 +0000

    fix-afsconfig-ordering-for-rx-20010816
    
    
    to fix symbol versioning problems
    
    change to rxgen ok on the basis that nothing other than AFS is in any danger
    of using rx kernel code

commit 1c6df2368cf2f2e322972ff856414c69d7019af1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 8 03:38:45 2001 +0000

    aix-needs-string-h-in-aclproc-20010807
    
    
    and we get back to the crux of the issue

commit cb3985fcd9a96d1faa64641077ce43927af80c41
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 8 03:37:54 2001 +0000

    linux-ext3-adds-items-to-struct-inode-and-so-do-we-20010807
    
    
    Thanks to shirsch@adelphia.net for mentioning something was added.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    this leaked in, separate delta
    
    ====================
    
    fix maxcro defn

commit c5c521af0ed944a71f74a316bd51a81636ce2818
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 8 03:05:55 2001 +0000

    convert-from-bsd-to-posix-string-and-memory-functions-20010807
    
    
    bcopy, bcmp, bzero, index, rindex, you're all cut.
    memcpy, memcmp, memset, strchr, strrchr, show us how it's done
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    fix reference to memset the right thing
    
    ====================
    
    make change to arguments globally and not just for e.g. linux/darwin/fbsd
    
    ====================
    
    fix a minor flub in how this was done
    
    ====================
    
    correct another bad memcpy coversion
    
    ====================
    
    fix up more inadvertant turds
    
    ====================
    
    fix two errors found by chas williams

commit 81c57416335b9d65a467ffb12565ad90d890b815
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Aug 8 01:34:58 2001 +0000

    linux-fs-h-struct-inode-test-for-i-cdev-20010807
    
    
    doesn't look like it should matter but we might as well try to stay consistent
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove extra tests

commit cf5e1a4260d03031fb210b488707101b2eb76b90
Author: James Flemer <jflemer@zoo.uvm.edu>
Date:   Tue Aug 7 17:14:08 2001 +0000

    solaris8-build-64bit-kdump-20010807
    
    
    some solaris 8 machines are 64 bit so build kdump64

commit a1b425f76746f9e56605eafd7c495ef21b84ad45
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 7 01:11:25 2001 +0000

    introduce-linux-ia64-port-20010806
    
    
    "no special instructions this time other than you need a rather recent
    glibc (turbolinux beta5 or redhat 7.1) since the afs userland utilities
    use ucontext() instead of setjmp()/longjmp().  this is probably the weakest
    part of the port since lwp is somewhat difficult to test rigorously.
    
    you can insmod the afs module now (and rmmod if you like)  why so difficult?
    function pointers are really pointers to a function descriptor that contains
    the function pointer and global pointer.  the syscall table (being written
    in assembler) only contains function pointers.  it doesnt setup the gp.
    modules and kernels do not share the same gp.  so if you want the syscall
    to go to a module, you need to setup the gp and then call your module's
    routine.  be sure to restore the gp after returning from your routine :)
    i also converted to the 'new style' module_init() -- only used on kernel
    versions 2.4.0 and up.  this does the right thing if you happen to be
    linked directly with the kernel.
    
    klog has been fixed (afs's crypt() function is sensitive to sizeof(long) --
    des/crypt.c should probably use 'afs_int32', not 'long' or 'int')
    
    in case it matters, my platform is a b3-stepping running beta5 of turbolinux."
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    don't leak into not ia64 port

commit 77d10b6d69fae4343d0c96ded4350eb4d0f0d7fd
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Aug 7 00:50:05 2001 +0000

    invert-sense-of-strings-string-header-inclusion-20010806
    
    
    this will be obsolete in current form once b* and *index are dead but apply
    for now

commit c0250743d1f6cf87dc430d6c8688ae408a12667e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Aug 7 00:43:50 2001 +0000

    junk-src-config-makefile-version-as-its-generated-20010806
    
    
    currently being generated on every build; might as well junk it

commit d86c2fc293213e3dd7c8b49ad7ee28c60c13a1b8
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Aug 7 00:41:26 2001 +0000

    afs-vcache-state-flag-fix-and-cleanup-20010806
    
    
    "There appears to be a conflict between two vcache state flags:
    CWritingUFS and CDCLock are both 0x200000.  This patch moves
    CDCLock to 0x2000000 (which I'm guessing was the intended value
    from the position of that #define).  It also reformats the block
    of #define's to be consistent in number format and indentation,
    to make it somewhat more readable, and to make such conflicts
    less likely to reappear."

commit 37edca7a4030d9c2f5153130b62f893f88fa2541
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Aug 7 00:39:29 2001 +0000

    solaris-locking-cleanup-20010806
    
    
    reduce afs vnode lock contention, also implements async page requests
    
    "(In afs_GetDCache, the hints in the vnode are only updated if we
    can grab the write lock without blocking.  In afs_GetOnePage, we
    only grab the read lock, rather than the shared lock -- as far as
    I can tell, there's nothing that needs the write lock.)
    
    FWIW, the particular case where I was being bitten by this lock
    contention was playing an mp3 from AFS space and at the same time
    copying it to local disk.  The copy kept fetching chunks while
    holding the read lock, so the mp3 player couldn't grab a write
    lock in the page fault, even though the data was already in cache.
    
    While I'm not fully familiar with the semantics of afs vnode locks
    [do they even exist? :-)], I believe changing from shared to read
    locks in afs_GetOnePage should be safe."

commit 52fb58076962d52bd54aa88bce58ba9f2ff203e4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 7 00:24:14 2001 +0000

    configure-sysname-updates-20010806
    
    
    add omitted s390 linux port
    add alternate hpux11 port info from nneul@umr.edu

commit 56493b597ef5d4b93a71fe5120afd2363f78dd08
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Aug 7 00:21:22 2001 +0000

    hpux11-force-system-ranlib-20010806
    
    
    so binutils ranlib isn't found first

commit 4d18662599ed741e3ba2fd5c03ebda5fd176d990
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 7 00:09:26 2001 +0000

    kaserver-log-krb-udp-authentications-also-20010806
    
    
    currently krb udp auth requests don't get logged while ka requests do
    
    fix it.

commit d85830ca810d89a2ed1ca12bcad327ecabc17734
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Aug 7 00:08:01 2001 +0000

    kaserver-krb-udp-construct-well-formed-tickets-20010806
    
    
    certain things really want the realm to be set correctly and not just left
    blank in tickets; existing krb4 kdcs get this correct. now so do we.

commit de681193ee418d3856a3af44afb1c282aca4cfc1
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Fri Aug 3 18:47:50 2001 +0000

    allow-winnt-client-to-be-upgraded-20010803
    
    
    to allow for change in version numbering

commit cfa2e59dc1a1cdae4e6a111f347ee4f35f658e3b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Aug 2 17:20:02 2001 +0000

    solaris8-namei-cleanup-20010802
    
    
    note gi is useless for namei case
    
    The AFS_64BIT_ENV define is needed for afsutil.h which makes use
    of some 64-bit types (and if AFS_64BIT_ENV isn't set, defaults to
    the non-existant u_int64_t).

commit d11b1bf9247a819843ac42ba1dd66e2fc188892b
Author: Derek Atkins <warlord@mit.edu>
Date:   Thu Aug 2 17:17:41 2001 +0000

    use-multiple-cache-directories-for-large-caches-20010802
    
    
    - support for large caches in afsd.  Cachefiles are stored in
      subdirectories.  The default is 2048 files per subdirectory, which
      should work fine in most situations.  You can use the new afsd
      option -files_per_subdir to change this number.  Note that the first
      time you run afsd with this patch, your cachefiles will get moved
      into subdirectories.  If you subsequently run an older version of
      afsd, you will lose all your cached files.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    news entry for large cache patch

commit 9692094ec3beed7f526ee65fb27e852be3b485ea
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Thu Aug 2 17:12:09 2001 +0000

    winnt-port-updates-20010802
    
    
    These patches solve the following problem:
    
       During Un-Install of AFS for Windows, it removed the following key:
       HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\NetBT\\Parameters
       Instead it should have removed only the SMBDeviceEnable=0 item within
       the above key.
       This damaged the NetBT (NetBios over TCP/IP) interface, and required
       re-installing of TCP/IP.  The users found their ability to share files
       and printers damaged.

commit 0207991adcc2aa2b417abc73469ced3586465640
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Aug 2 16:45:35 2001 +0000

    convert-all-makefiles-to-makefile-ins-20010802
    
    
    all relevant variables become subst'd and not passed in the environment

commit c6d388fe1461851dd164f09be7339cfb43c7111d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 23 21:50:17 2001 +0000

    fs-sysname-output-syntax-compatibility-20010723
    
    
    per comment by Chaskiel Grundman, fs sysname didn't include a : before, nuke it

commit de296c6546c2a3ce8bf562716b97abf295644412
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jul 21 17:39:58 2001 +0000

    configure-allow-enabling-vos-full-listvol-switch-20010721
    
    
    enable switch for new feature

commit 03c26a2b3c23719f01c7e8010f1443704c08df27
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jul 21 17:35:20 2001 +0000

    vos-full-listvol-switch-for-parseable-output-20010721
    
    
    originally from Dan Lovinger. Provides easily parseable vos output and so
    hopefully should be useful

commit b23084cd8b770b8bf0e85cb145ec9e0a76ba74b3
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Sat Jul 21 08:07:51 2001 +0000

    rx-packet-version-not-all-kernels-have-snprintf-20010721
    
    
    linux kernel for instance has no snprintf

commit b8b4b6c03ce51e36e523da16f21c76f3b1063a22
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 20 23:12:02 2001 +0000

    vos-syncvldb-zero-volname-before-starting-20010720
    
    
    so vos syncvldb will not core dump because of uninitialized pointer

commit 82b24c814da1506a866046b6b56fc67552a6b570
Author: Michael Allman <msa@dinosauricon.com>
Date:   Fri Jul 20 21:41:13 2001 +0000

    pam-make-module-useful-for-freebsd-20010720
    
    
    make module actually work for freebsd

commit fabec30f1783167b41e125f2755959e75f986e66
Author: Sam Hartman <hartmans@mekinok.com>
Date:   Fri Jul 20 21:38:06 2001 +0000

    viced-copyonwrite-give-useful-error-messages-when-taking-volumes-offline-20010720
    
    
    don't just report "needs salvage", tell why it was taken offline

commit 4e9a25c04fd386167997ecd60b27d8c77dee3773
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 20 19:09:11 2001 +0000

    fs-sysname-format-should-include-quotes-as-before-20010720
    
    
    based on report from Alf Wachsmann <alfw@SLAC.Stanford.EDU>

commit 902055cc97a8dd26a26af55778c0b3843de3cc70
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Jul 20 16:59:43 2001 +0000

    rx-honor-only-client-initiated-debug-and-version-packets-to-prevent-loop-20010719
    
    
    "This patch makes Rx only honor client-initiated Version and Debug
    packets, and respond to them without the "client-initiated" flag.
    All existing code sends Version and Debug queries from the client
    with the appropriate flag set.  With the current code, one could
    easily create a UDP packet loop between two Rx services."

commit ad8388547d0b6d0c8cea7403723b1eaca58e18b6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 22:51:46 2001 +0000

    lwp-waitkey-lacks-return-for-eof-and-hence-backup-is-unhappy-20010719
    
    
    just tell the caller if we got an eof and move on with life

commit 3416930f75db8f7268f354ce00531e14f53f5393
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 19 22:25:26 2001 +0000

    configure-fail-if-cant-guess-linux-version-for-sysname-20010719
    
    
    if we disabled kernel module because there were no headers, guessing the sysname is harder

commit 1c46493032e77e5b8d59557f0f4984e0bec01570
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Jul 19 18:41:23 2001 +0000

    resolve-symlinks-from-stat-cache-with-just-lookup-permission-20010719
    
    
    To fix bug reported by Nathan Rawling.

commit 66df924fbafb1134ee81d34f32d86eb3fed042c7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 19:48:32 2001 +0000

    add-afs-man-pages-20010716
    
    
    documentation from afs command reference

commit 453029705ed92463895dbeae87b2ff0fe757b8d1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 19:46:35 2001 +0000

    more-make-clean-cleanup-20010716
    
    
    try harder to make clean target clean up nicely

commit 49ae847e1ba9dec69756f3e323c00532ebb57f9e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 05:58:22 2001 +0000

    aix-export-needs-afsconfig-include-path-20010716
    
    
    minor cleanup for export build on aix

commit 354fb1739295cdb10bc08a537db158a70cd18379
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 23:06:26 2001 +0000

    linux22-param-file-needs-modversions-reordering-20010716
    
    
    to make it possible to build modversion'd kernel on linux 2.2

commit 9e09de0b96b3a6a97e6d22c99e3730d1f771a360
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 06:32:48 2001 +0000

    add-bogus-install-dependancy-for-lame-systems-which-think-INSTALL-is-install-and-so-do-the-wrong-thing-20010716
    
    
    darwin has a case-insensitive but case-preserving filesystem. yay.

commit d15d69c2d7e4cd4e788d511866a5d0fc6638b194
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jul 16 05:33:53 2001 +0000

    move-readmes-one-level-up-20010716
    
    
    move readmes/install into new top level

commit 5c38f46fc8bc87bd3666c9508263585afb87d60c
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Jul 16 01:59:01 2001 +0000

    configure-redhat-kernel-bug-workaround-20010715
    
    
    to allow hooking in to deal with bug in redhat kernel headers

commit 73e458a9c8be007381ab0d8c6fa10edc81ed040f
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Jul 16 01:22:48 2001 +0000

    linux-under-under-smp-under-under-never-needs-to-be-defined-in-rhconfig-20010715
    
    
    never need to define __SMP__ (or undefine __SMP__) in module compilation

commit c817e39aa3a024b14cb9b576e2fc12f32437057a
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 16 01:20:38 2001 +0000

    afsdb-support-use-afs-not-dce-records-only-20010715
    
    
    so we don't use DCE AFSDB records

commit 9e3578a67878b2fb1e4750c0fe4dcc1879c0f031
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Jul 16 01:13:19 2001 +0000

    configure-fail-unknown-sysnames-20010715
    
    
    fail on unknown systems to default system name

commit 1fd4f11faf40914ed794eff09986c29784571cf6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jul 12 20:58:15 2001 +0000

    include-afsconfig-before-param-h-20010712
    
    
    so stuff can be defined in afsconfig.h and included first

commit 36a5eaa81c4c1c9fc0ee7f9872e730c026590819
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Jul 12 20:04:07 2001 +0000

    solaris-detect-kernel-dqrwlock-20010712
    
    
    based on feedback from Frank Batschulat <Frank.Batschulat@Sun.COM>
    
    vfs_dqrwlock not present in all solaris versions

commit efe58972cc28d3aa258d2d1a5d9e54a544130f26
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Thu Jul 12 20:00:33 2001 +0000

    darwin-generate-module-version-from-version-string-20010712
    
    
    generate darwin version string from the autoconf version for the module

commit 63d75a498e841220c4916881978e72fba6078047
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 19:57:25 2001 +0000

    pam-needs-afsdb-libs-20010712
    
    
    since libauth can include afsdb support we need the support libs

commit fbea776a8cbf221e8aa9a1f50cfdf33f2dfc8686
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 19:37:48 2001 +0000

    install-vlib-as-libvlib-also-20010712
    
    
    these weird archives which aren't installed as libwhatever are really annoying
    
    vlib is now no longer one of these

commit e49e5ef7f3a78885136284129c4fbff0bb558faf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 18:52:06 2001 +0000

    dauth-makefile-dont-reuse-VERSION-macro-20010712
    
    
    version macro belongs to autoconf build system now

commit b1068468fdc61ebb4813024b4c5ab3116c05cfa9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 18:43:28 2001 +0000

    generate-version-strings-from-configure-20010712
    
    
    have perfectly good version string. use it.

commit 34edf837f01275cab99d81250b8f553382c777f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 18:26:06 2001 +0000

    make-clean-cleanup-20010712
    
    
    make distclean not do clean's job (src/kauth/Kkauth.cs.c)
    make clean do clean's job (as above)
    make pristine make it out of the box clean

commit 61aa7f4aafc2f4f980b95b5adf868e3f7d20421b
Author: Derek Atkins <warlord@mit.edu>
Date:   Thu Jul 12 18:18:53 2001 +0000

    add-redhat-buildsys-enabler-in-configure-20010712
    
    
    to make things easier when building in a spec file environment

commit bfdd29c0d88d37bb52ca97e74524fb509715677a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 18:11:32 2001 +0000

    configure-compute-darwin-sysnames-20010712
    
    
    powerpc not ppc is the cpu type; specify version also
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    include _

commit 8e762d66a87377309178208004d2d4941fa629a2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 17:09:17 2001 +0000

    make-clean-should-clean-package-and-rsh-20010712
    
    
    clean up if we enable obsolete and insecure

commit 602cbfc75c787d284888c58dcde149b7b1690f44
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 16:55:47 2001 +0000

    kill-afs-warning-message-20010712
    
    
    we aren't ibm and hence government licensing issue doesn't matter

commit cb4d93d30b4a545e5464b35a8d0a1a86da303d9b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 16:54:10 2001 +0000

    itc-h-is-dead-use-potpourri-h-20010712
    
    
    in reality potpourri should also die but one thing at a time

commit 33ae575a6aa831d9eb5536554486bce97e7ad5a6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 16:37:31 2001 +0000

    linux24-handle-inode-address-space-page-lock-spinlock-20010712
    
    
    One line patch to initialize spin lock added in a RedHat kernel patch.
    This should fix the RedHat 7.1 SMP problem. Also includes configure
    glue to turn it on. Thanks to Chaskiel Grundman for suggesting the fix,
    Garry Zacheiss for suggesting it affected the SMP kernel generally and not
    just SMP hardware, and Andrei Maslennikov for noting the problem did not
    affect vanilla 2.4.3 with only the Alan Cox (AC14 in this case) patch.

commit b77acd6010f9ad302e0d26e730cb5e1b56b3c6fd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 05:02:29 2001 +0000

    dont-install-crypt-and-itc-headers-20010711
    
    
    a header named crypt.h with one prototype isn't very useful
    
    the itc.h header is also pretty much useless
    
    so, they are gone

commit e95c6797115c31b53a89daf9194b0eac8d7ffca0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 12 03:17:40 2001 +0000

    kdump-include-afsconfig-path-20010711
    
    
    so kdump has a prayer of building

commit 6523d5e0c8389375ab3358fac1d55052a8e6b6bf
Author: Sam Hartman <hartmans@mit.edu>
Date:   Thu Jul 12 03:14:13 2001 +0000

    top-makefile-needs-lwp-before-rx-in-kfsint-20010711
    
    
    since rx needs lwp, do lwp dep first

commit 9ddcab10497df870a31b2f24ad6906eaf9e3b8cd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 22:00:50 2001 +0000

    configure-guess-afs-sysnames-20010711
    
    
    make configure attempt to guess the correct afs sysname for your platform
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    use precomputed kernel we're building for not uname output
    
    ====================
    
    stick in missing systems

commit 677b7a4ae6a980cbcdb3df502f061ee710688d4a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 21:49:55 2001 +0000

    update-INSTALL-to-reflect-state-of-openafs-20010711
    
    
    the stock INSTALL is wrong for us now.

commit 30dce214fd3c1e31be86531079496c151eeb6bab
Author: Sam Hartman <hartmans@mit.edu>
Date:   Wed Jul 11 19:06:20 2001 +0000

    add-openafs-news-20010711
    
    
    edited by shadow@dementia.org based on content and also on suggestions from
    nneul@umr.edu

commit 2f1590321a41099115521b98a33a44a872674892
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 19:04:39 2001 +0000

    kauth-retire-SPECIAL-macro-20010711
    
    
    SPECIAL macro was presumably for conversion to special key cache environment
    and is no longer needed

commit 623bc5bd27d6c1414fea9d894b5f488ee188a3e0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 18:45:04 2001 +0000

    auth-ktc-no-kernel-has-ktc-h-20010711
    
    
    retire MAYBE_NO_KTC since no kernels have afs integrated that way these days

commit b4193780f9105379794380842380c0831837fd42
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 18:27:01 2001 +0000

    kaauxdb-fix-silly-comment-substitution-20010711
    
    
    how afs_int32 can you be?

commit 2cd573ce0a532d2db209225e183c6f4c926ae997
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 18:25:56 2001 +0000

    libadmin-kas-bugfixes-20010711
    
    
    fixes for the following report from "Jeremy Stribling" <jstribl@us.ibm.com>
       - In the GetPrincipalLockStatus function, an attempt is made to set the
      lockedUntil variable to the minimum locked value for that principal among
      all servers.  However, lockedUntil is set to 0 immediately before this, and
      so all attempts to find a locked value less than it fails, and so
      lockedUntil always comes out of that function as 0.
    
         - Also in the GetPrincipalLockStatus function, if the principal is
      locked out according to all servers, then the main loop will exit when
      ubik_CallIter returns the UNOSERVERS error code.  But, since the return
      code for GetPrincipalLockStatus is set to 1 if and only if ubik_CallIter
      returns an error code of 0, this results in an return code of 0 being
      returned for GetPrincipalLockStatus when in reality no error occured.
    
         - A similar problem occurs in the kas_PrincipalUnlock function.  If the
      principal is not currently locked out of any server, ubik_CallIter will
      iterate through all servers and return a UNOSERVERS error code.  Again, in
      this case the return code of kas_PrincipalUnlock will not be set to 1 and
      an error will be indicated even though no error occured.
    
         - In kas_PrincipalKeySet, the return code is never set to 1, even when
      it completes successfully, so it seems that an error always occurs when
      calling this function.

commit bba4ffa025ce906f577678fe8ee1f8b857d80bd4
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 11 18:00:55 2001 +0000

    util-netutils-include-files-and-warnings-cleanup-20010711
    
    
    cleanup warnings and change inclusion of string/strings

commit 5053c3dc575a329c0a40779f025a97967ed74f43
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 11 17:58:33 2001 +0000

    util-serverlog-inclusion-and-warnings-cleanup-20010711
    
    
    change how string/strings include files happen, remove unused vars

commit 3d35839a13378d7c22aa5e22a5b8267b2a5e46cf
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 11 17:32:51 2001 +0000

    vlserver-header-updates-20010711
    
    
    autoconf-style header inclusion

commit 79077af6e01053fdeb38294794ea631150083fbf
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 11 17:13:24 2001 +0000

    uuid-paren-cleanup-20010711
    
    
    add return type decls and missing parens to stop compiler whining

commit 00a34c793672d9fec02b751953fe66c4ec594918
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Wed Jul 11 17:09:34 2001 +0000

    solaris-inode-lock-cleanup-20010711
    
    
    fixes based on feedback from
    Frank Batschulat <Frank.Batschulat@Sun.COM>

commit d3e7a805192d2c47c43a17b710eef257c664ebfb
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jul 11 16:58:01 2001 +0000

    win32-ktc-set-tokens-proto-fix-20010711
    
    
    declare correctly as afs_int32

commit 77c76eb54561259addc4cdc1b1fe1802b982c44f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jul 11 16:40:40 2001 +0000

    configure-linux-kernel-detection-should-set-afsconfig-items-20010711
    
    
    we test for linux kernel features; might even be useful to use the results

commit 97e441dce905938e8feffedf5d4b1d479a300888
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Wed Jul 11 00:40:15 2001 +0000

    configurable-dux-kernel-header-path-20010710
    
    
    modified slightly to allow selection if more than one directory exists

commit 405cd3e8e0b8f72244fda6cbdb1a9ba9b9ad150c
Author: Jimmy Engelbrecht <jimmy@e.kth.se>
Date:   Tue Jul 10 18:31:07 2001 +0000

    add-new-arla-pioctl-20010710
    
    
    reserve next pioctl for arla statistics gathering interface

commit f5eaadfeb971377e82d54b375f421be48feb33a6
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Jul 6 23:44:05 2001 +0000

    configure-linux-redhat-support-on-redhat-only-20010706
    
    
    a) if the kernel headers use redhat's header-file selection thing, and
       doesn't define their __BOOT_KERNEL* symbols if not.
    b) which AFS kernel modules (single-processor, multi-processor, or both)
       it makes sense to compile against these kernel headers. e.g. in a
       CONFIG_MODVERSIONS environment, it only makes sense to compile for the
       same SMP-ness as the headers.

commit cf35c1842f72cd6370c0fc6bcecf7c1095d997ee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 06:08:29 2001 +0000

    html-doc-add-index-20010706
    
    
    top page for html docs

commit fbcfd7a4ceeab9a0b4ac5316efb8fb82eaedce32
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Jul 6 05:45:14 2001 +0000

    add-distclean-target-20010705
    
    
    clean up turds from build process

commit b9142278d025369c9fd111888dd43673db1de69b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 05:19:54 2001 +0000

    export-param-inclusion-conflicts-with-system-headers-20010706
    
    
    sys/user.h errors when param.h included first

commit b6ab5aac2f457adca06b6ab41ec3179082948dbe
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 05:09:46 2001 +0000

    export-needs-include-paths-20010705
    
    
    export needs places to get afsconfig and afs/param.h

commit e19667d9f6881ad0d4f6a19d3ed2e5dc34a91130
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 05:04:23 2001 +0000

    login-needs-afsconfig-20010705
    
    
    login needs include path for afsconfig

commit c2e1c9ed53eb84da4637086b4761e50317289d34
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 05:02:46 2001 +0000

    aix-auth-needs-afconfig-20010705
    
    
    include path for afsconfig

commit bc2898318c8de9ce4bb91fd8df69b740d5381495
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 03:01:42 2001 +0000

    aix-lwp-needs-afsconfig-20010705
    
    
    include path for afsconfig.h was missing for aix

commit b1c10226c4f4d2b178a8d7b5a55f432c2cda8193
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 02:15:46 2001 +0000

    bozo-bnode-call-iomgr-softsys-with-proper-casted-args-20010705
    
    
    iomgr_SoftSys is prototyped to take a char* as second arg

commit 003f4cd993c14f6235317fd17be26de04374e987
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 02:12:02 2001 +0000

    dux-curses-already-using-IN-20010705
    
    
    don't define IN as it conflicts with curses.h on dux

commit b8e186a998bed6be8b230febb77e5abbab03ab8d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jul 6 01:48:47 2001 +0000

    sia-add-include-path-for-afsconfig-20010705
    
    
    sia needs to include afsconfig.h

commit b6efc81d6141e5621edb82bcae5d99015a4fe3a4
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 21:24:50 2001 +0000

    acconfig-needs-version-and-package-macros-for-some-versions-of-autoheader-20010705
    
    
    PACKAGE and VERSION aren't always in autoconf/acconfig.h

commit 5f9afd4147aa4862cf078207e90fa500a2e3f231
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 17:55:29 2001 +0000

    allow-disabling-kernel-module-compilation-20010705
    
    
    add missing fi

commit ffb5299adddccf915aaf167eff3b227c4ef6967c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 17:48:34 2001 +0000

    remove-generated-files-from-cvs-20010705
    
    
    will need to deal with snapshot and release generators to include these yet
    but junk them for now

commit 27238dd64c07497f7e857384d925dcc5b3de540b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 17:40:05 2001 +0000

    configure-no-error-on-failure-to-find-pthreads-20010705
    
    failure to find pthreads should be non-fatal

commit 62994d919dda6e678ed2b72e64553b5f70e03185
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 17:38:19 2001 +0000

    allow-disabling-kernel-module-compilation-20010705
    
    
    in response to reports from hartmans@mekinok.com and zacheiss@mit.edu
    
    will also autodisable for linux if no --with-linux-kernel-headers specified
    and none found

commit 290ee432953f448390981a07f63ec40c1bc7ede0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 16:56:54 2001 +0000

    upserver-remove-redundant-prototypes-20010705
    
    
    again remove redundancy so prototypes match the code

commit e6e84590d81d8678286b69703ec2aa7b4f915a92
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 16:44:33 2001 +0000

    vlserver-remove-redundant-prototypes-20010705
    
    
    so we get the prototypes whose types match

commit b23a1875f2e365ecd43585ccf0523e98feeee8dd
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 16:42:55 2001 +0000

    budb-remove-redundant-prototypes-20010705
    
    
    remove more redundant incorrect prototypes

commit b245c4a42987ed506d115d775371653f04386024
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 16:40:49 2001 +0000

    kaserver-remove-redundant-prototype-20010705
    
    
    remove this this doesn't even match the code

commit d9403fd97c447c2bc5b064464f147b0dcb2b4482
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jul 5 16:39:03 2001 +0000

    cellconfig-add-missing-prototypes-20010705
    
    
    add prototypes for externally used functions

commit 151b8b5e60e08817eab29d5444f8ab204960d989
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Thu Jul 5 16:30:12 2001 +0000

    configure-updates-for-linux-kernel-detection-20010705
    
    
    report useful error if no kernel headers found. use last version string found
    in version.h

commit e7ec0d4213853117dc463a3629651e280c6cf0fa
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jul 5 16:20:00 2001 +0000

    afsconfig-and-rcsid-all-around-20010705
    
    convert rest of source to afsconfig; include rcsid macros
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove bogus if/define/endif triple
    
    ====================
    
    revert non-rcsid and afsconfig portion of patch

commit 671a9314ecdbd7683d00f6edaa70713553c9a4b6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jul 5 16:13:08 2001 +0000

    util-warnings-cleanup-20010705
    
    
    get rid of more warnings

commit 54d0413ff896f3240d5e4c2c9aaf67cb2360c528
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jul 5 16:09:58 2001 +0000

    auth-setkey-warnings-cleanup-20010705
    
    
    get rid of more warnings, add missing args to printf strings

commit 64cde212577618fbd270b9952921d4bafb58a23e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jul 5 16:07:58 2001 +0000

    provide-fast-start-configure-options-20010705
    
    
    add more configure options so fast restart and bitmap later options can be configured on

commit bff2d87c9821daa35e7d1608938c33efd993caf4
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:51:37 2001 +0000

    autoconf-updates-for-ac-check-lib-quoting-20010629
    
    
    quote refs to $lib

commit a250c7807f325c964c7315ad3fb441bc5e8ae39f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:48:25 2001 +0000

    fix-linux-headers-updating-in-configure-20010629
    
    
    make defaulting work correctly

commit 8c08034a39dce0a0186a42200bcaf045752877ff
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Jun 29 05:43:53 2001 +0000

    sparc64-linux24-support-20010629
    
    
    support for sparc64 linux2.4 tested with 2.4.5

commit 469eb74229f1b8856c66c6218f6ac9660a42886a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:40:00 2001 +0000

    include-cellconfig-in-ptutils-prototype-20010629
    
    
    more warning elimination

commit 0f0be81c0ad6077edfabd559c56ee3e28bbf9152
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:34:55 2001 +0000

    allow-all-target-for-rxstat-20010629
    
    
    rxstat makefile lacked all target

commit b92587cbc81e1f55873bd31061374facc75a2bfa
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:25:55 2001 +0000

    ptserver-remove-redundant-prototypes-20010629
    
    
    get rid of redundant prototypes

commit 789bdb1c3a4ab32af3a0fed2374cf74426b13e3c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 05:15:52 2001 +0000

    kasadmin-unused-variables-20010629
    
    
    eliminate warnings from unused variables

commit 57a931c220b01750ca7e7111e2e7a20b6ea3e7fe
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 04:58:51 2001 +0000

    kauth-rebuild-remove-bogus-argument-20010628
    
    
    remove unneeded, unused argument

commit c0a0c21363d7026500cfa3a73dfa0eb5bcc8b50f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 29 04:50:48 2001 +0000

    fix-vsutils-bogus-format-string-20010628
    
    
    remove needless %

commit a7014d420832a11d8eb73c774336dd49ce9494b1
Author: Tom Maher <tardis@watson.org>
Date:   Fri Jun 29 04:20:01 2001 +0000

    update-freebsd-support-20010628
    
    
    fileserver now set up for namei interface. still no client

commit b5b8b317f6076c665a1ffd6ad3b26c846f06d4a9
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Fri Jun 29 04:18:12 2001 +0000

    update-make-clean-support-20010628
    
    
    some stuff the make clean patch missed

commit fcc1a29b4e5f71ac90fb022414af5ae6554b23c1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 17:05:56 2001 +0000

    aix-strings-h-preferred-over-string-h-20010628
    
    
    otherwise we get weird errors like:
    "/usr/include/strings.h", line 52.20: 1506-010 (W) Macro index invoked with a null argument for parameter __s1.
    "/usr/include/strings.h", line 52.20: 1506-041 (E) The invocation of macro index contains fewer arguments than required by the macro definition.
    "/usr/include/strings.h", line 52.14: 1506-275 (S) Unexpected text ',' encountered.
    
    
    from the conflict
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    to prevent more of same errors
    
    ====================
    
    ====================
    
    continue to placate aix hatred
    
    ====================
    
    aix needs more help
    
    ====================
    
    aix needs more help

commit cc4f5ee37893f72de1a264ec481bc93939828bd7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 08:06:59 2001 +0000

    userok-needs-prototype-for-aix-20010628
    
    
    default of int for lacking forwarding decl pisses off aix

commit 7c6170b1bbdc18cd89bec065cf6e38bef2298800
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 08:03:25 2001 +0000

    update-ac-substd-variables-so-aix-make-is-happy-with-obsolete-and-insecure-disabled-20010628
    
    
    AIX gets upset qwhen these variables are unset

commit dc45e9b995b6215d2cd28966a9879983a47b3c5b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 07:54:41 2001 +0000

    dont-include-endian-h-when-defining-kernel-for-dux-20010628
    
    
    otherwise ntohl etc are macros for in-kernel functions we don't have

commit 7c2cb16764d8d549979f8b65915a76f4cd0dcbb8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Jun 28 07:00:24 2001 +0000

    mountpoint-copying-switch-to-up-needs-netinet-in-h-20010628
    
    
    some platforms need netinet/in.h for mountpoint copying to work

commit aaca2cacd986ec546095a9b4e29e284070e2491e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Jun 28 06:44:19 2001 +0000

    introduce-autoconf-for-openafs-20010628
    
    
    replace existing build system with autoconf faceplate
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    so we can fix the file modes
    
    ====================
    commit withj correct file modes
    
    ====================
    
    stuff which got left behind
    
    ====================
    
    more stuff which was missed
    
    ====================
    
    get this right so build completes
    
    ====================
    
    also make these correct (no obj reference)
    
    ====================
    
    so autoconf dependancy chain need not change
    
    ====================
    
    set correct variable for obsolete buildng
    
    ====================
    
    so we can more easily use autoconf'd CC var

commit 114eb0c82773f9943ecd58316333319cf7a2dc3b
Author: Sam Hartman <hartmans@mekinok.com>
Date:   Sat Jun 23 18:54:50 2001 +0000

    apply-modversions-so-nothing-has-first-been-included-20010623
    
    
    include afs/afs_sysnames.h after modversions so no unversioned symbols sneak in

commit aab5fc6ecd53449a01a686b8d77fea9499cc55d4
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Sat Jun 23 18:29:56 2001 +0000

    winnt-win2000-win98-afs-client-updates-20010623
    
    
    updates for nt/2000 and 95/98 afs clients
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    binary file  updates

commit 843a9584b044b4f19c93aa281abb6d3ee3638788
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Sat Jun 23 18:23:34 2001 +0000

    make-fsck-claim-openafs-not-transarc-afs-20010623
    
    
    just update what gets printed to be correct

commit 9e31595353e35678792819f0f758d497679fb284
Author: Russ Allbery <allbery@ece.cmu.edu>
Date:   Sat Jun 23 18:17:09 2001 +0000

    linux-changes-needed-to-compile-with-suse-included-patches-20010623
    
    
    ifdef may need to be changed but should work until autoconf

commit 6d6f2c265fca3ec917f26ccc5c736aa13134dcfb
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Jun 23 18:13:16 2001 +0000

    fix-fs-error-string-printing-20010623
    
    
    return useful error codes so correct errors can be printed

commit 24ba7b873a6c37aca9e2842339f56dc81ae47ed5
Author: Todd M. Lewis <utoddl@email.unc.edu>
Date:   Sat Jun 23 18:09:54 2001 +0000

    add-mountpoint-copying-switch-to-up-20010623
    
    Add a "-m" option to up which makes it recognize and
    copy mount points rather than traversing them during its recursive copy
    operation. Without the -m option, up's default (questionable) behavior
    remains unchanged.

commit 70802b37037b2bae7c696a1282d4d3fd623475ef
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Sat Jun 23 18:01:03 2001 +0000

    afs-web-interface-enhancements-20010623
    
    
    Changes include:
    
    1) Token caching: Functions to set the current "PAG" (not really a process
       authentication group, but a generic identifier for a user session)
       to a specific value, allowing us to switch tokens between different
       threads of the Web server without reauthenticating.
    
    2) Performance enhancements: The main improvement is that we can check
       whether a directory is a mount point in advance and avoid doing a stat
       or contacting the destination cell.  We've also enabled bulk statting
       with kolya's patch from 11/2000.
    
    3) New UAFS API's to call various pioctl functions, etc.
    
    enclosed in  AFS_WEB_ENHANCEMENTS ifdef

commit 727d52ee047101ada6a1a37d961fd1fdf5ea77d5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 17:43:20 2001 +0000

    libadmin-printf-argument-cast-20010623
    
    
    kill warning by casting argument to printf

commit 9e821222edbfaf0e7dfb7bede5921126bbe15d5c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 17:36:18 2001 +0000

    linux-rx-add-missing-return-types-20010623
    
    
    return type missing, now added

commit 7e00ffc70a57bc926c45056b350933d3ab2f9d83
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 17:31:36 2001 +0000

    convert-update-to-afsconfig-and-kill-warnings-20010623
    
    
    convert upserver and upclient to use afsconfig and kill warnings

commit 152be1a113bd0e4e4b3b9e0a441e7bf14f7224c2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 16:20:43 2001 +0000

    eliminate-warnings-in-rxgen-generated-code-20010623
    
    
    provide prototypes in non-kernel case and add missing function return type

commit 16e270ac2cb843ebe305a687344ad09a37545234
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 16:14:37 2001 +0000

    convert-rxgen-to-afsconfig-20010623
    
    
    switch to afsconfig for some configuration; add RCSID

commit 3c271afa245381ce582bf4c97cd2a24a6aedb840
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 16:00:06 2001 +0000

    afsconfig-add-rcsid-20010623
    
    
    add an RCSID macro

commit 5349a4495d617be1bca96a80ee9b73382729b5c1
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 15:50:12 2001 +0000

    deal-with-printf-as-macros-20010623
    
    
    gcc 3.x macroizes printf; deal appropriately

commit 1d93f2da22eb02cd81776cabc28012c1b40dd4ec
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 15:40:01 2001 +0000

    rx-warnings-and-prototyping-20010623
    
    
    suppress more warnings in rx; also creat missing prototypes

commit 7dec009bd56d2668b9c2ed090eee8787f551e02c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Jun 23 15:12:40 2001 +0000

    afsmon-warning-cleanup-20010623
    
    
    get rid of remaining warnings in afsmonitor code

commit c8e0124c8e5f0a97591cd75165156a362fa9ca8f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jun 13 17:53:00 2001 +0000

    remove-potentially-bogus-warning-20010613
    
    
    remove added warning which caused warnings during routine operation

commit 650c86d47dde3d5193b38d2cd3f87b29ac250757
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 13 04:56:22 2001 +0000

    avoid-string-h-conflict-in-kernel-rx-20010612
    
    
    avoid conflicting with kernel's string.h

commit b1268f4005e6a47fceb9b8b72e99a9c2c7f0bd8f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:46:41 2001 +0000

    lwp-warning-cleanup-and-afsconfig-20010612
    
    
    get rid of warnings and afsconfigize lwp

commit c569e9535821cac3c12df45fef72dd3bbd3c03cd
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:46:21 2001 +0000

    rx-warning-cleanup-and-afsconfig-20010612
    
    
    get rid of warnings and afsconfigize more of rx

commit 97327378612b3374d97efe38070b309405607eef
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:44:46 2001 +0000

    eliminate-silly-error-in-text-from-vsprocs-20010612
    
    
    get rid of an extra space

commit 9a158cddc1b6394f74d5ad6e26eb7bd1f5c46769
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:43:47 2001 +0000

    translate-et-eliminate-warnings-20010612
    
    
    get rid of warnings in translate_et

commit 79606d4e5f09e9b558189e1b56115c4c3aa178d5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:42:32 2001 +0000

    protect-SMP-with-conditionals-against-multiple-definitions-20010612
    
    
    don't redefine __SMP__ if it's defined.

commit e4aad02615fa586ba377faf854313795581557f0
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 12 20:36:31 2001 +0000

    remove-afsconfigization-from-des-conf-h-20010612
    
    
    undo earlier change

commit fec35c6142da688bb9f7d1652ec471fa72ce05f6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 8 23:23:07 2001 +0000

    try-harder-to-notice-down-server-20010608
    
    
    try harder to notice something is down otherwise we can end up looping forever

commit 56c9c9ddba3646c270a9201818f49ff4ef134339
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jun 6 23:01:17 2001 +0000

    util-warnings-cleanup-20010606
    
    
    clean up in flipbase64

commit 3848ad0d09e4482efed2a89114ea3ce7147b7345
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jun 6 23:00:47 2001 +0000

    sys-warnings-and-unused-variables-cleanup-20010606
    
    
    clean up sys subtree

commit ed0cb4eb6df1a87cc015b2bc1e419bab7bcd32ee
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jun 6 23:00:09 2001 +0000

    lwp-warnings-and-unused-variables-cleanup-20010606
    
    
    make lwp warnings and unused variables go away

commit d7da1acc31189a023d9ed1060a882448f61ffb47
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 6 19:09:07 2001 +0000

    initial-html-documentation-20010606
    
    
    pull in all documentation from IBM

commit 6f30fcecdae34de8eacf86b544258aac20a24f46
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 6 18:58:13 2001 +0000

    initial-pdf-with-embedded-cmr-fonts-20010606
    
    
    with thanks to Mattias Amnefelt <mattiasa@e.kth.se> for converting to the
    BlueSky Computer Modern Roman fonts from tex.

commit 3107b75e94e5d731207530146b07c3fb163af20d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Jun 6 18:56:26 2001 +0000

    scrap-initial-pdf-files-20010606
    
    
    relocating

commit 0e52339b66f5937de8eaca473f0935d873509eab
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Tue Jun 5 21:17:46 2001 +0000

    automake-work-in-progress-20010605
    
    
    work-in-progress automake work. will not work as-is as it relies on
    headers being moved about and that isn't included yet.

commit 115708fd8265efe6943f32569e1b2b44c8e7f899
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 19:26:42 2001 +0000

    ubik-warnings-cleanup-20010605
    
    
    more warning cleanup

commit 3653b0c0cf524bf6a787a81207cb64eb2986b2a9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 19:22:01 2001 +0000

    comerr-cleanup-warnings-20010605
    
    
    compiler placation

commit 083170a430bbb415e70fab724415610b57488461
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 16:06:56 2001 +0000

    config-includes-warning-cleanup-20010605
    
    
    clean up comment warnings

commit 972191fc2436c1fe12fcd0a234288bd29e9df499
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 16:05:30 2001 +0000

    libafs-libuafs-makefile-updates-for-afsconfig-20010605
    
    
    so afsconfig.h inclusion can be done

commit d487720ea8109a676955d8ff9d1f007d52bfa54f
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Jun 5 15:59:54 2001 +0000

    linux-dentry-cache-another-try-20010605
    
    
    to fix a problem where invalid negative data is cached as well as some efficiency

commit 5c644523b7aca5324c26ab21013a368586e18ed5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 15:47:53 2001 +0000

    afsmon-warning-cleanup-20010605
    
    
    remove unused variable

commit 6a5d19930a7f8a9e232db8207dcb14cdf0f1b45b
Author: Ted McCabe <ted@mit.edu>
Date:   Tue Jun 5 15:46:24 2001 +0000

    sysname-list-instead-of-simple-name-20010605
    
    
    allow a sysname list which is interated in lookup instead of a simple
    namespace
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    remove bit which leaked in

commit e63a93f371729d565b37aaacb29734faafc938a2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 15:32:46 2001 +0000

    rx-warning-cleanup-and-afsconfig-20010605
    
    
    clean up previous rxtrace patch and clean up other warnings

commit 7705453b05ddb140a0e26f9e43a7e640c4cb62ab
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Jun 5 15:30:16 2001 +0000

    convert-volparse-to-afsconfig-and-cleanup-20010605
    
    
    clean up warnings in volparse.c and make it use afsconfig.h for building

commit 11b84698222f6f4a511be157d85fa7039a7e9d33
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Tue Jun 5 15:21:45 2001 +0000

    rx-race-condition-cleanup-by-adding-busy-status-20010605
    
    
    set a busy status on a connection to prevent it from being deleted while in use

commit dde2a200a3f0f01bfaae678d3c2fd117489401b4
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Tue Jun 5 15:18:53 2001 +0000

    userland-cachemgr-zero-token-times-on-unlog-to-trigger-gc-20010605
    
    
    on unlog when using userland cache manager zero token fields so they will
    be garbage-collected

commit cddec1584fa1019e89311aae3f293b372937bfa0
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Tue Jun 5 15:16:10 2001 +0000

    cachemgr-dont-leak-stat-info-to-clients-not-entitled-to-it-20010605
    
    
    if you only have lookup don't leak stat information from cache, which normally requires read

commit 62078136d1eac45fe412a9a3da03960c0f9860e8
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Tue Jun 5 15:11:01 2001 +0000

    usermode-cachemgr-open-mode-checking-fix-20010605
    
    
    default to read mode when opening

commit 2b82ddea166bf558664d9737b4739e99303d33a6
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Mon Jun 4 23:29:00 2001 +0000

    linux24-use-flock64-instead-of-flock-20010604
    
    
    "locking on linux 2.4.x does not work. 2.4.x uses internally 64bit offsets
    (start and end of lock) and end is set to 64 bit int max. When it converts
    to struct flock, len is set to 0xffffffff (cut off high 32 bits) and afs_lockctl
    decides it is byte-range locking. So on 2.4.x kernel there should be used flock64
    instead of flock (flock64 is typedef to flock on 64bit systems such as sparc64
    and ia64)"
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    use flock64 for linux24

commit 033aecd1e883e84ca5d38037e7fcefa11b6e6c61
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jun 4 22:08:19 2001 +0000

    viced-dotted-quad-logging-without-malloc-20010601
    
    
    based on suggestion from rees@umich.edu
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    update for solaris cc joy

commit 0e29705b4632bb2e1ba647344f296e269cd29e9d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Jun 4 22:07:27 2001 +0000

    libadmin-cleanup-and-afsconfigization-20010604
    
    
    clean up warnings, get rid of unused variables, and set up for use of
    afsconfig.h

commit f8e11f7e1e5fc5d8f152d2affe33732e647d30c5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 18:20:15 2001 +0000

    lwp-iomgr-warning-suppression-20010602
    
    
    remove unused variable, add missing parens

commit a09cdb27b8e998a58534978d044bf7b6a6eb9538
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:52:05 2001 +0000

    fix-afsmonitor-patch-for-string-h-existance-check-20010602
    
    
    as not all platforms may have string.h

commit 142dcf54c108b0901aabbf30b87fd6343d1a9ef5
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:34:34 2001 +0000

    vol-volser-more-liberal-information-in-log-messages-20010602
    
    
    hopefully no one is processing these logs in a way this breaks. make error
    and volname information available as part of error message

commit b8f911768bef9370aa5e68a8be1f5da5374f0d2e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:32:18 2001 +0000

    sgiefs-support-is-gone-but-great-rock-lives-on-20010602
    
    
    remove inclusion of missing sgiefs directory since we didn't get the binary
    library needed for it to work anyhow

commit 94fec7da0672856484bc69a06ffe642b4942396c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:31:07 2001 +0000

    rxtrace-warning-cleanup-20010602
    
    
    more compiler warning squishing

commit d9b441897c54a28bd1113056069db3ec0e245847
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:29:52 2001 +0000

    split-deprecated-into-insecure-and-obsolete-in-top-makefile-20010602
    
    
    so it's obvious to people which mistakes are silly and which are dangerous

commit d09be7368f153e0d3d8059fbf85665e544eabf43
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:28:33 2001 +0000

    libadmin-warning-cleanup-20010602
    
    
    add missing parens, remove unused decls

commit 52e7350706d3e6cdc9346ef7b1290c35d662d572
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:27:03 2001 +0000

    kauth-const-warning-cleanup-20010602
    
    
    dir is not modified so this is safe

commit 9fbbc17b7c3bf5357bea5a5668d4edf1a7b34266
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:26:15 2001 +0000

    comerr-get-rid-of-compile-warnings-20010602
    
    
    placate compiler

commit 210247b304f199dc9f8512fc524d6dc3065c99b3
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:23:18 2001 +0000

    audit-make-int-functions-return-zero-20010602
    
    
    rather than just having no code block, return 0

commit 22799a3134761d10ba89aa0618bb2248975e5ba9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:22:10 2001 +0000

    afsmonitor-formatting-strings-update-20010602
    
    
    so error messages are properly formatted strings

commit ebbea977f937de3b9be1d6cae27d1bb73dd54042
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Jun 3 17:19:15 2001 +0000

    namei-ops-cleanup-20010601
    
    
    get rid of unused/warnings from vol/namei_ops.c

commit 429c2eb913b225a8a4e3fd2bc597005770e080bd
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri Jun 1 20:14:58 2001 +0000

    log-host-addrs-as-dotted-quad-not-hex-in-viced-20010601
    
    
    so you get a dotted quad and byte-correct port instead of a hex ip and a potentially
    byteswapped port number from viced log messages

commit 6fdfe323313bd6cf767488dc6bf1952dc50589bf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jun 1 20:09:22 2001 +0000

    initial-configure-work-take-two-20010601
    
    
    this isn't useful yet but is a step in the right direction.

commit 0a47389634730a2e32b00bec3c4a8dd94b169305
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 30 20:45:01 2001 +0000

    top-level-makefile-changes-to-allow-partial-afs-compile-20010530
    
    
    "The afs toplevel makefile theoretically allows you to build bits and
    pieces of AFS without too much other stuff you don't need. Building the
    kernel code this way is hard, since it imports stuff from so many modules,
    and the dependencies aren't necessarily done right. This patch fixes many
    of the special "for kernel use only" targets to be "for kernel use
    only" and adds a few new ones, so that the only userlevel stuff built by
    make TARGET=libafs is util, pinstall, rxgen, comerr (needed for
    afs/Makefile), and cmd"

commit 8b87e45a9b85aa8cf032c109093b03cfc3cab167
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 30 20:39:27 2001 +0000

    make-xdr-int64-support-consistent-now-that-its-everywhere-20010530
    
    
    "an mr-afs related patch introduced xdr_afs_int64 into the code. This is a
    good thing I suppose. The same patch also re-introduced the use of
    xdr_long on some platforms, which isn't needed, and isn't really
    appropriate. Said patch also only included the #defines for xdr_afs_int64
    into rpc_main.c and not xdr.h. (it is my opinion that
    rpc_main.c:write_int32_macros should only be used if kflag is set, but
    transarc didn't do it that way, so I'm not going to change it)"

commit 05b43ef0bc3183520b0c03a70db92233741e1e87
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed May 30 20:34:17 2001 +0000

    make-rxgen-split-rpcs-not-declare-start-parameters-for-functions-for-data-which-is-copied-out-only-20010530
    
    
    "fix for rxgen so that split rpc's don't erroneously declare parameters in
    the "start" function that should only be declared in the "end":
    
    example:
    
    for the following declaration:
    Store(IN struct _index_t *descr,
              IN string group<STAGE_STRINGSIZE>,
              OUT string spool<STAGE_STRINGSIZE>, OUT afs_uint32 *slot) split;
    
    before patch:
    int StartDMV_Store(z_call, descr, group)
            register struct rx_call *z_call;
            struct _index_t * descr;
            char * group, **spool;
    {
    [...]
    after patch:
    int StartDMV_Store(z_call, descr, group)
            register struct rx_call *z_call;
            struct _index_t * descr;
            char * group;
    {
    [...]
    "

commit 72dcb4b1e15da9d415ad5cb0aa3d146fd32486fd
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Wed May 30 20:31:21 2001 +0000

    catch-bad-afsconf-cehck-result-to-fix-fileserver-segv-20010530
    
    
    "afsconf_GetKey() in auth/cellconfig.c doesn't check the return
    value of afsconf_Check(), which can lead to the fileserver SEGV'ing if
    afsconf_Check() returns an error."

commit 42f52c89d63061b41640665436dbca2610a9a4a2
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Wed May 30 20:26:09 2001 +0000

    make-backup-dumpi-print-volumes-over-2caret31-bytes-correctly-20010530
    
    
    makes backup dumpi print volumes > 2^31 bytes correctly

commit 13dcb2b316438140a6f01963ede980952e38f85a
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Wed May 30 20:22:56 2001 +0000

    update-pdf-documentation-to-include-fonts-20010530
    
    
    "I noticed that the pdf documentation bundled with openafs doesn't include
    the correct fonts to display properly (atleast with my acrobat). I've
    generated afs-pdf:s with type1 fonts"

commit 36e60e31c781817f458c020990fd0dde05bac5d7
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu May 24 22:11:45 2001 +0000

    fix-msf-cat-warnings-in-compile-et-20010524
    
    
    so we don't get warning for msf stuff

commit 5fb461913ee58e814406ab3b3b5d978120db5af1
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu May 24 22:09:50 2001 +0000

    solaris-make-df-in-cwd-return-useful-output-20010524
    
    
    "This patch makes "df ." work in AFS directories under Solaris 8.
    (df looks in /etc/mnttab, which is obtained from the kernel, for
    the device number and then does a pwd-style walk up the tree..
    Currently the device number gets set to 0x100000 by default which
    doesn't match the 0x1234 device number of AFS vnodes.)"

commit 5e8ee41b3f392cf2084d2d762719a62a8b6ecaba
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Mon May 21 21:24:04 2001 +0000

    linux-s390-kas-setpass-fix-20010515
    
    
    fix for s390, per Carsten:
    (this behaviour occurs only
    on 31-bit
    S/390-Systems, the "s390x"-machines should change the AFS-password also
    without this patch as far as I can imagine)

commit 08690c41a2b4a85888f89ddd1049c4478eeaad80
Author: Laura Stentz <stentz@us.ibm.com>
Date:   Sat May 19 18:45:43 2001 +0000

    afs-overview-documentation-20010519
    
    
    Contributed overview docs from IBM, this time binary mode.

commit 80c8c1e2d8c25113e1c717636554f65d7f1b80b3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat May 19 18:44:43 2001 +0000

    remove-bad-non-binary-commit-of-afs-docs-20010519
    
    
    so i can readd with -kb

commit b402ffcd52087f943e3aeaf7e74bb668b57092c1
Author: Laura Stentz <stentz@us.ibm.com>
Date:   Sat May 19 18:43:10 2001 +0000

    add-afs-overview-manuals-20010519
    
    
    Documentation contributed by IBM

commit 0d26876afac50ee45b76e6f837c1b265603a7e7f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri May 18 18:15:20 2001 +0000

    hpux11-kernel-support-20010517
    
    
    put together from 1994(!) rx open source release available
    at ftp://ftp.dementia.org/pub/rx, other architectures, rx_kcommon.c,
    and some net research on hpux
    
    has no chance of working, slim chance of compiling, and seriously needs
    spinlock work to be useful
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    shell of this file. won't work
    
    ====================
    
    shell of osi_vfs.h
    
    not useful yet
    
    ====================
    
    use macros in osi_machdep.h for doing spinlocks
    
    ====================
    
    include streams tli header
    
    ====================
    
    do a little cleanup after looking at other architectures
    
    still won't work until we know more about sleep/wakeup and kernel
    semaphore interface crap
    
    ====================
    
    try again. probably still not useful
    
    ====================
    
    get this stuff compiling

commit 2a8a12e94bc350457acb632722c3540e22e84776
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Fri May 18 02:22:10 2001 +0000

    update-makefiles-for-afsconfig-h-20010517
    
    
    more updates so afsconfig.h can be included

commit b9c11bc28108c3815a639314b72697016a9c4d87
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed May 16 05:16:27 2001 +0000

    linux24-param-cleanup-20010516
    
    
    make usr version of file not define 64 bit env
    make kernel version include modversions before afs_sysnames.h (which includes
    stds.h)

commit 27dbb4d0a209eef5f7afa770cbfd7c0b4ccf53e8
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 16 00:28:09 2001 +0000

    afsconfig-updates-20010515
    
    
    updates to and to use afsconfig.h

commit 3c314b7f285baade2d7bc3520a3b71590b5ab7b0
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 16 00:16:58 2001 +0000

    sgi-fix-prototypes-20010515
    
    
    use strings.h on irix to get needed prototypes

commit 94dd48c9ddce14d78bbcf4e2cfab9d46a673707a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed May 16 00:15:54 2001 +0000

    fix-bad-logic-in-afsconfig-h-in-20010515
    
    
    fix some iverted logic

commit e69d27e8f0169f1e792887305b130e5fd2a7a4af
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon May 14 23:56:33 2001 +0000

    afs-superuser-foreign-realm-checks-20010514
    
    
    This rewrite cleans up the code a bit, removes any athena specific
    references (not needed anymore in this version), and adds support for
    multi realm management of afs servers (you can now specify
    "admin@OTHERREALM" in your userlist).
    
    Code now checks as follows:
    
    tname
    tinst  - remote user info from conn
    tcell
    lcell - local cell
    lrealm - local realm (defaults to lcell if not avail)
    
    if no remote cell or instance
            allow localauth
    if the cell of the remote connection matches local cell or local realm
            if not tinst
                    allow if tname in UserList
            if tinst
                    allow if tname.tinst in UserList
    if cell doesn't match local cell or realm
            if not tinst
                    allow if tname@cell in UserList
                    allow if tname@CELL in UserList
            if tinst
                    allow if tname.tinst@cell in UserList
                    allow if tname.tinst@CELL in UserList
    
    modified per openafs-devel discussion such that krb5 versions (/tinst
    rather than .tinst) code path disabled for now

commit e85c2defa41ece194c9afdbe5aefae58b372d8bb
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon May 14 23:54:01 2001 +0000

    restore-writelogbuffer-for-mrafs-20010514
    
    
    MR-AFs is making use of this to hook into logging to write multiline messages
    into the log
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    move forward to current version of function

commit 79f34e549a24b763955e22267eaf01b893ba65d5
Author: Mark Dapoz <md@dementia.org>
Date:   Mon May 14 23:26:34 2001 +0000

    aix42-pthread-self-return-needs-cast-20010514
    
    
    To compile on AIX 4.2 on PowerPC

commit 466eb22ad4be6bf074a93e918e3f3b4465e3d745
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon May 14 23:23:12 2001 +0000

    initial-afsconfig-h-file-20010514
    
    
    start of config file work for autoconf
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    make Makefile use top-level location rather than config as Nathan intended

commit 92165dc105d8195dc90c8ce777eb060df0ea34b4
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon May 14 22:41:12 2001 +0000

    change-effect-of-afs-quietfs-env-20010514
    
    
    so ViceLog happens when file server starts

commit f6759c48886e96966a3180c3c656bf291833057c
Author: Ted McCabe <ted@mit.edu>
Date:   Mon May 14 22:30:35 2001 +0000

    darwin-clear-va-flags-in-copyoutattrs-20010514
    
    
    "I noticed that when I tried copying files out of AFS, I would often
    not be able to modify the destination files/dirs due to the user flags
    being non-zero (see man chflags).  Turns out that not all of the
    fields of Darwin's struct vattr were being set in afs_CopyOutAttrs
    
    This patch clears the va_flags entry. I wasn't sure how the
    va_filerev and va_gen fields are precisely used, but since I wasn't
    noticing any trouble I could attribute to them, I left them
    unspecified.  I suspect someone with more knowledge can say for sure.
    "

commit a2da7c0d5f26340a0b03d83aa628e13670ebc55e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon May 14 22:27:10 2001 +0000

    make-vos-accept-force-switch-20010514
    
    
    and let libcmd handling deal with -f

commit 3822336ad0cba7a429575330f5f0a193744ed9d2
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon May 14 22:19:47 2001 +0000

    des-warnings-cleanup-20010514
    
    
    clean up some more warnings from des

commit d3c69d1c77d2c462756d10746852b757cdd71659
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Thu May 3 15:19:00 2001 +0000

    linux24-s390-initial-support-20010503
    
    
    base support for s390 linux 2.4

commit 17c2d284cb1cfc3d787a8a69b02691ae0c6098eb
Author: Mark Dapoz <md@dementia.org>
Date:   Mon Apr 30 23:15:50 2001 +0000

    compile-snprintf-for-solaris25-20010430
    
    
    so this will still build for solaris 2.5.1, build our snprintf

commit f9a46bee19dd8eb1b91b83d5e18febc962f66588
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Apr 30 23:13:05 2001 +0000

    make-des-test-buildable-20010430
    
    
    remove bogus rcsid string lines with no strings

commit f816a53b265ce8172fa25bc4e84fc4331ac3880d
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Mon Apr 30 23:08:39 2001 +0000

    afsdb-callout-and-userspace-implementation-20010430
    
    
    "This patch implements AFSDB support for both user-space programs
    and for the kernel.. I've tested these on sun4x_57 (64-bit) and
    on i386_linux22."
    
    not currently enabled in any configuration

commit b742b1eda90cd5e842407e8bd2f040e9f6e0054e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 30 23:03:33 2001 +0000

    remove-incomplete-dns-patch-20010430
    
    
    this shouldn't have leaked in yet

commit cb5ab03928f8383394d6f64eb6e5365f39be634b
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Apr 30 16:18:39 2001 +0000

    fix-comment-for-linux-conf-20010430
    
    
    fix comment to reflect variable change

commit d37f3d5ac94868726f83a1a5f3f3bf58e91f6a7d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Apr 30 16:09:41 2001 +0000

    remove-text-after-endif-20010430
    
    
    remove typo which crept in

commit 7f4414ae3983fe7260de19cf3ccb7659d76a33f3
Author: Jeff Riegel <riegel@almaden.ibm.com>
Date:   Mon Apr 30 08:03:55 2001 +0000

    win95-initial-port-20010430
    
    
    Windows 95/98 port from IBM Almaden
    
    documentation and build support
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    changes to cache manager
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    makefile changes
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    osi changes to support 95/98
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    installer for 95/98 client
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    win95/98 panel app
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    win95/98 panel app help
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    makefile changes plus dns implementation
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    makefile changes plus changes for compat with dos line conventions
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    config for 95/98
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    makefile changes plus support for 95/98 env
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    ms compiler changes
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    makefile changes
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    lwp changes
    to support 95/98 port
    
    ====================
    
    Windows 95/98 port from IBM Almaden
    
    rx changes to support 95/98 port

commit dae4e16dbee451ecfa977eb3621863f035ea097b
Author: Sam Hartman <hartmans@mit.edu>
Date:   Mon Apr 30 00:42:33 2001 +0000

    linux-ppc-linux22-base-config-20010429
    
    
    base ppc linux 2.2 config

commit 8ee4e0cec9f70f4c1cf44fad0a210f1014680a0d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Apr 30 00:40:12 2001 +0000

    winnt-redefine-snprintf-instead-of-building-one-20010429
    
    
    WINNT has _snprintf, just use that

commit 13f30691ead130e199e929fa273a0de1e2585f99
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Apr 30 00:36:36 2001 +0000

    linux-conf-use-options-not-afsd-options-20010429
    
    
    make distributed config consistent with rc file

commit 1e5270c7d63e561e1d8f1ba46cc8b3651d50ee75
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Wed Apr 25 06:44:34 2001 +0000

    fix-sense-of-ifdef-for-darwin-20010425
    
    
    reverse change from freebsd patch

commit c1f5a932d1cb274ac0ca6ca29f2175e0547a2bcf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 24 03:48:32 2001 +0000

    linux-make-bridge-script-more-respectful-of-build-environment-20010423
    
    
    make it actually use the known path to the kernel source, and check for existance before doing anything

commit dc4e0286f6548b855eb62b5141c3225f4e080aca
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Apr 22 20:37:33 2001 +0000

    linux-bridge-to-deal-with-redhat71-in-pre-autoconf-days-20010422
    
    
    Kinda crappy but it will suffice for now

commit 1e3882bbec8a250560090ee2f16b7527cfd069b5
Author: Jeremy Katz <katzj@linuxpower.org>
Date:   Sun Apr 22 20:02:58 2001 +0000

    linux-kernel-extra-definitions-for-sp-versus-mp-20010422
    
    
    __SMP__, and __BOOT_KERNEL_SMP __BOOT_KERNEL_UP definitions as appropriate

commit b1ede0ae41565c8d27e9bf0fbeb744bb778cae91
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 20:04:08 2001 +0000

    linux-revert-truncate-inode-pages-for-smush-20010420
    
    
    osi_VM_TryToSmush needs to be careful not to walk on in-use pages

commit eda1b2dc39c2cafc9d9f3ae8555eb794cbfd50fb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 19:38:39 2001 +0000

    cleanup-from-readdir-type-hint-guessing-20010420
    
    
    Based on report by Chas Williams; FindVCache get getting a ref which we
    need to release

commit c2805ce8af4e3232a478ee697564b97da0184ef2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 05:23:25 2001 +0000

    conditionals-for-linux-ac-kernels-20010420
    
    
    Adapted from katzj@linuxpower.org's work. Still needs makefile hackery and
    glue scripts to do the defining

commit 7d51f70937da5f57f06339514edcbf36e4f56e4c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 04:14:56 2001 +0000

    be-tolerant-of-unbuilding-kdumps-20010420
    
    
    so people who can't get kdump to build aren't so confused

commit cb169b7b125167def267d0199e85b0b0af91f597
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 02:35:29 2001 +0000

    truncate-inode-pages-for-linux22-20010420
    
    
    backport support for 2.2 kernerls

commit 06a3d080b4b74d114dba028f5a3637f1c6aa5cbe
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Apr 21 02:23:04 2001 +0000

    linux-call-truncate-inode-pages-in-preference-to-invalidate-inode-pages-20010420
    
    
    To cure "Failed to invalidate all pages on inode 0xc9208720"
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================

commit 39d23fc838e0e4d2f3202c731d6cdefc7e77b7ea
Author: Jeremy Katz <katzj@linuxpower.org>
Date:   Sat Apr 21 02:06:52 2001 +0000

    linux-vfsops-updates-20010420
    
    
    set s_maxbytes if MAX_NON_LFS is defined
    
    use &tvp->v nsttead of tvp

commit 4bafb7a05e1369f6799b96df0d50f31af616bb20
Author: Jeremy Katz <katzj@linuxpower.org>
Date:   Sat Apr 21 01:31:39 2001 +0000

    afs-gunlock-when-umount-as-not-suser-20010420
    
    
    bad to AFS_GLOCK then exit without AFS_GUNLOCK

commit 61ab04a06c74b7d1503af3ed3dc396a807cf8f5e
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Apr 21 01:14:16 2001 +0000

    linux24-add-missing-truncate-inode-pages-call-20010420
    
    
    actually do the inode page truncation for linux 2.4

commit 3d4fa5b444ccab6730d3792d442aa5d1eb1ec24c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 21 00:58:24 2001 +0000

    undo-i386-linux-64bit-env-20010420
    
    
    It turns out defining AFS_64BIT_ENV ends up causing accesses to hang
    if a server goes down; Should not be the case but other work will be needed
    to figure out why or even if we need to be AFS_64BIT_ENV; in the meantime,
    revert this part of patches done for xdr_int64; it's not ncessary now anyhow

commit a86c6b835ad8569444a464f9617a93d196803aed
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Apr 21 00:34:59 2001 +0000

    vfs-dqrwlock-doesnt-exist-before-solaris7-20010420
    
    
    in order that the modified solaris code works on pre-solaris7 it's necessary
    to not use the locks we didn't have then

commit 0ec5d7fa117fa9f32f96ec35c915ce0c1e0f8ca4
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Apr 20 23:42:11 2001 +0000

    linux24-ppc-has-no-setgroups32-20010420
    
    
    use generic ifdef to deal with ppc 2.4 not having setgroups32 yet

commit 6bfdf43e9f963abd1e6801edf254b3dc159cc100
Author: Tom Maher <tardis@watson.org>
Date:   Fri Apr 20 23:38:51 2001 +0000

    install-updates-for-freebsd-20010420
    
    
    make install build for freebsd

commit 8d91087287cb0e4e15ca1b2eb64bca8dbc9077c0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Apr 20 23:34:03 2001 +0000

    linux-dentry-revalidation-always-revalidate-20010420
    
    
    Based on collaboration with Chas Williams and Chaskiel Grundman
    
    Always force revalidation so if call which caused caching was in another
    authentication "context" we don't inadvertantly leak information.
    
    Cases where things matter involve bad caching for negative dentries
    (something fails because you don't have permission, then you authenticate
    and the negative dentry is not flushed) or when you have l only and
    someone with rl caused the dentry to get cached, in which case stat()
    information and nothing else is leaked

commit bb46079477b664c1eabfb423966f71220821d099
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Apr 16 22:09:15 2001 +0000

    linux-cleanup-after-check-bad-parent-20010416
    
    
    check_bad_parent doing lookups is incrementing i_count and
    nothing is cleaning up after it; this should make it happier

commit 315191f6d48c2d35896264a9d5efb3da8495af14
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 16 19:11:04 2001 +0000

    linux-dont-d-drop-in-revalidate-20010416
    
    
    calling d_drop ends up precluding shrink_dcache_parent; don't call it

commit beda84b831015d293e48300b164ae9fc739006f6
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Apr 16 05:01:39 2001 +0000

    linux-dentry-revalidation-rework-20010416
    
    
    invalidate based on dataversion so negative dentries will actually go away

commit 08aaf5c45deb3f18d277709d63e91aea5d0dd2f2
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Apr 14 19:25:41 2001 +0000

    rmdir(2) claims
           ENOTDIR
                  pathname,  or  a  component  used as a directory in
                  pathname, is not, in fact, a directory.
    
           ENOTEMPTY
                  pathname contains entries other than . and .. .
    
    meaning what we really want to return here is ENOTEMPTY
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================

commit 1e9fc5888fba84db985ca4263a668653c8496a7e
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Apr 14 18:49:51 2001 +0000

    warning-cleanup-20010414
    
    
    cleanup based on complaints for gcc -Wall

commit 2ca31969c61733c128ba5d0282d78682dd1aa51c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Apr 14 18:45:16 2001 +0000

    allow-disabling-compile-of-obsolete-and-insecure-bits-20010414
    
    
    so that ntp, rcmds, inetd, mpp and package can be disabled easily

commit b38f3590c893514aad7eab9eb0f0274c5d2eaf7a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Apr 14 18:38:06 2001 +0000

    update-linux-gcc-processor-optimization-flag-20010414
    
    
    gcc now wants -march not -m(processor)

commit d50326c7c15fb1e2e90d3c1524a4fd2d9c7cbd7e
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Apr 14 18:34:32 2001 +0000

    solaris-ufs-call-updates-20010414
    
    
    updates per message from Frank Batschulat <Frank.Batschulat@Sun.COM>
    regarding problems with how afs hooked the solaris ufs code

commit 9e4c9975adef4c405d4f95414f71eaa71742e7f6
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Sat Apr 14 18:31:49 2001 +0000

    update-volumesets-for-deletevolentry-20010414
    
    
    analog of patch for addvolentry

commit 0c1eb3a380a7ec7042167d76faf9193f2e9cd43a
Author: Tom Maher <tardis@ece.cmu.edu>
Date:   Sat Apr 14 18:27:12 2001 +0000

    initial-freebsd-port-work-20010414
    
    
    start of work on freebsd port

commit c402670db9c69f31bf7a5bcf522035b3f9a1a217
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Apr 13 22:56:00 2001 +0000

    linux-inode-and-dentry-validation-rework-20010413
    
    
    gets us closer to the ideal in inode and dentry revalidation

commit 3133a5772992aa677475af086054e45949b10d30
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Apr 12 21:39:33 2001 +0000

    make-use-of-int-preblock-specific-to-s390-linux-20010412
    
    
    based on report Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>, but fixing the
    root cause.

commit 4fafb35ccf4e1db52ad92c0f1fea8b4e43ec37bb
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Wed Apr 11 20:17:51 2001 +0000

    better-type-guessing-for-readdir-hint-20010411
    
    
    instead of just saying unknown, if we know for sure, provide the info

commit d065b7fc5184fe5d12332a399c4314ba2f653957
Author: Volker Holfeld <volker.holfeld@e-technik.tu-chemnitz.de>
Date:   Wed Apr 11 19:57:23 2001 +0000

    windows-compile-fixes-20010411
    
    
    ignore serverLog on nt
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    correct typo for nt
    
    ====================
    
    update volinfo -filenames feature for nt

commit 020669f21a59f285eaa165dcbb7724bf7d4578c2
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 6 19:22:01 2001 +0000

    rx-keep-track-of-resent-packets-20010406
    
    
    previously the resent packet counter was never incremented

commit 0b1598cf4be800eae47ee30c08ad8d60ede568ef
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 6 19:13:19 2001 +0000

    dont-fflush-fds-20010406
    
    
    bogus call to fflush in server log code, trying to fflush a file descriptor

commit a574d1e742a4efd4a7d6a641238d04803d6818bf
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Apr 6 19:11:44 2001 +0000

    partition-include-headers-to-get-opendir-etc-20010406
    
    
    so namei code comes closer to being useful in more cases

commit e0cac680593fb85a34bb8d9d15c173446dc2511a
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Apr 6 19:08:09 2001 +0000

    linux24-new-afs-xsetgroups32-implementation-20010406
    
    
    afs_xsetgroups32 is now a copy of afs_xsetgroups, with the call to
    sys_setgroupsp changed to sys_setgroups32p
    
    no change to sparc64 port stuff

commit cc05bd342538339bc244e86682696d6bdedc6674
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Fri Apr 6 19:03:46 2001 +0000

    darwin-pagincred-will-notice-pags-20010406
    
    
    make PagInCred notice pags on darwin

commit c0742b1f50ffc0d9342b34989ea502d98f23820c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Apr 5 20:32:41 2001 +0000

    remove-endif-warning-20010405
    
    endif comment should be commentized

commit 3daff6958946d7ce7d3074b55e15eb6f13ace01a
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 21:36:19 2001 +0000

    use-consistent-data-typing-for-hosts-20010404
    
    
    use afs_uint32 everywhere

commit 0b88affca4d304ff28a15c5e195ea23a50a3ed99
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 21:29:31 2001 +0000

    placate-gmake-on-solaris-when-building-libafs-20010404
    
    
    gmake tries to build something named libafs, make it not

commit 3c1176d868311412c3e99018ee3276ec4bd4731c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 21:27:43 2001 +0000

    vfsck-doesnt-build-on-hpux11-20010404
    
    
    previous revisions caused it to be attempted to be built

commit d06043cc1036622746e3a082a6e7096600d98bd0
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Apr 4 18:28:05 2001 +0000

    make-getfreetag-find-correct-free-tags-20010404
    
    "I have found a "nice" bug in namei_ops.c:
    
    In GetFreeTag() the following code was used to find a free place in the
    link table entry:
    
        /* Now find a free column in this row and claim it. */
        coldata = 0x7;
        for (col = 0; col<NAMEI_MAXVOLS; col++) {
            coldata <<= col * 3;
            if ((row & coldata) == 0)
                break;
        }
    
    What happens?
    With col == 0 we look for the bits 0x7. This is ok.
    With col == 1 we look for the bits 0x38. This is also ok.
    With col == 2 we look for the bits 0xe00 instead of 0x1c0 !!!
    But later the allocation is done correctly with 0x40.
    Thus the next time he will find again a free place for col == 2 !
    For higher values of col the test is also incorrect, of course."

commit a5ba459b08275845e42a4d244e699e1399bbc23f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 18:24:02 2001 +0000

    remove-redundant-makefile-rules-20010404
    
    
    another set of redundant makefile rules removed

commit 98b06ddaf2cc89dfce31809140dfc2e19b6a0b48
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Apr 4 18:21:53 2001 +0000

    changes-to-allow-identifying-threads-in-log-file-output-20010404
    
    
    "This is an addition for MR-AFS log files where the thread
    name is shown. rx switches the general server threads to listeners and
    vice versa. To have reasonable names the listener must get back his old
    name when converting himself to a server thread. To not bother other
    programs with unresolved references I do this with two function pointers
    which are initialized in the main() programs for MR-AFS."
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    use function pointers here instead of threadname

commit d8313d4404add128b23be24987e9055e0f3d49da
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Apr 4 18:14:23 2001 +0000

    make-vol-package-deal-with-namei-correctly-on-systems-which-can-be-compiled-with-or-without-namei-fileserver-20010404
    
    
    If compiled without AFS_NAMEI_ENV existence
    of AFSIDat must stop us. If compiled with AFS_NAMEI_ENV volume headers
    in a partition, but no AFSIDat must stop us.

commit 3c597bf21878fa5a2ea776e81a01d72844b26909
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 18:12:18 2001 +0000

    salvager-syslog-support-20010404
    
    
    support for salvager to syslog instead of logging to file

commit 7fd13204a3bfa037bf83389195f2d90906f458ad
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 18:08:51 2001 +0000

    partial-hpux-10-support-20010404
    
    
    similar to HPUX 11, just make what can be compiled now compile

commit 16238e1dd2c70d5fe29a256c6148ad38e091cf35
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Apr 4 18:00:44 2001 +0000

    simplify-salvager-target-20010404
    
    
    it's the same for linux as for everyone else now

commit 4b2213d0cfd5e1a4516639c9ab1740891581aede
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Apr 4 13:48:23 2001 +0000

    enable-getcrypt-command-20010404
    
    
    provide cmd hook for getcrypt command (support was already present)

commit 814ac0fc1d98b09667bcd5738b3607f9b8595359
Author: Volker Holfeld <volker.holfeld@e-technik.tu-chemnitz.de>
Date:   Wed Apr 4 13:46:19 2001 +0000

    winnt-enable-cryptall-support-20010404
    
    
    introduce fs setcrypt/fs getcrypt features to nt client
    add registry parameter SecurityLevel to allow persistent setting

commit bf58cfd11f28c1b32501d5f79a03dcd7c8d35517
Author: Volker Holfeld <volker.holfeld@e-technik.tu-chemnitz.de>
Date:   Wed Apr 4 13:43:45 2001 +0000

    winnt-create-globalautomapper-registry-key-20010404
    
    
    if GlobalAutoMapper key is missing when a global drive is defined with the
    gui it will be created

commit ef95c122570b8459b98ff7bbcf6501c00d382942
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Apr 3 21:26:31 2001 +0000

    correct-udebug-flag-name-20010403
    
    
    -server takes one server arg, so fix its name to be -server and not -servers

commit 7b5ef774b870f3299376da44ef9c4090eccd7cb9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Apr 3 21:22:05 2001 +0000

    fix-ubik-lowest-host-comparison-algorithm-20010403
    
    
    be more particular about how we do comparison, and fix printing of the host
    address for byte order problem

commit 2cdf6103d6c6957c791da3d87fbd48b9eca0ec6b
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Apr 3 21:19:34 2001 +0000

    prefer-ubik-print-to-printf-20010403
    
    
    changes to prefer ubik_print &c to printf to make syslogging easier

commit 12df8ce78eaea65d92094eeab9dfae729dfc5f74
Author: Volker Holfeld <volker.holfeld@e-technik.tu-chemnitz.de>
Date:   Tue Apr 3 20:06:24 2001 +0000

    link-libs-into-windows-butc-in-useful-order-20010403
    
    
    reorder libs so threaded afsrpc.lib is before afsrx.lib

commit ff118da207882f246179612aa63473ce92de82b0
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 3 07:55:34 2001 +0000

    i386-linux24-includes-long-long-types-20010403
    
    
    define AFS_64BIT_ENV for linux24 i386
    basically denotes existance of long long

commit 55bb14eb8d1f6d353eb9943b83c672acc35e7a07
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Apr 3 07:52:56 2001 +0000

    attempt-more-portable-64bit-type-support-for-namei-fileserver-20010403
    
    be at least as portable as existing code

commit afaa1854723a06fb1f4218b154afd7408346ce64
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Tue Apr 3 00:13:04 2001 +0000

    add-volinfo-filenames-arg-in-namei-environment-20010402
    
    
    show filenames used by volumes in namei fileserver

commit e08803e46088eb66585c90cee5ae2016244f2d02
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Apr 3 00:09:51 2001 +0000

    linux24-use-kmap-instead-of-afs-linux-page-address-20010402
    
    
    kmap is the preferred interface for 2.4 now

commit 2fb73345baf5e6b3cf93ce35ff8910612850d767
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Apr 2 23:48:22 2001 +0000

    linux-dentry-validation-changes-20010402
    
    change afs_linux_dentry_revalidate to call afs_linux_revalidate

commit df9e479968824380b4a4c1d47c011785f71868e9
Author: Adam Thornton <adam@fsf.net>
Date:   Sat Mar 31 00:20:23 2001 +0000

    s390-updates-20010330
    
    
    fix PRE_Block and lwp problems

commit 47b588f42fb15805e95c975180d455d096a550f1
Author: Volker Holfeld <volker.holfeld@e-technik.tu-chemnitz.de>
Date:   Fri Mar 30 05:10:59 2001 +0000

    add-missing-exports-for-64bit-types-for-windows-20010329

commit 7ddc83dcdf1ee002a9dbef31b01cfc783c147256
Author: Silvia Gross <silvia.gross@rzg.mpg.de>
Date:   Fri Mar 30 00:18:55 2001 +0000

    drivemap-box-error-for-3-character-cellnames-20010329
    
    
    "In the original version the path name in the box showing the network
    drives were wrong if a part of the name after afs had only 3 characters:
    afs\ipp\u became afs\u. Also the small hooks in front of the names
    disappeared immediately."

commit 57815fd837f5e55612ef781991ec0a5f1c91f4a3
Author: Sam Hartman <hartmans@mit.edu>
Date:   Fri Mar 30 00:12:38 2001 +0000

    fix-readdir-hint-20010329
    
    
    "Under 2.4.x kernels, there is a file type in the result of readdir to
    help applications optimize directory traversal.  With usfficiently new
    libc compiled against sufficiently new kernel headers, this is exported to
    applications.
    
    Several applications, including fileutils use this information.  AFS
    asserts that all files are directories.  This sucks, because among
    other things it causes rm -rf not to work."

commit 56a53a2016fad623bf2925d97208680861e9c0a6
Author: Michael Durket <durket@100acrewood.stanford.edu>
Date:   Thu Mar 29 23:56:18 2001 +0000

    s390-libafs-makefile-changes-20010329
    
    
    use -O and not -O2 to deal with some bad versions of gcc for now
    
    link in appropriate asm directory

commit 62afbc5792581e701bf81a833c17a1a90116712e
Author: Thomas Mueller <thomas.mueller@hrz.tu-chemnitz.de>
Date:   Thu Mar 29 18:07:41 2001 +0000

    linux24-setgroups32-support-20010329
    
    
    setgroups32 support for linux2.4 machines (required for modern glibc)

commit 965dd94785048c7bf3e49e38977400317add02f1
Author: David Bailey <D.Bailey@bristol.ac.uk>
Date:   Wed Mar 28 17:54:21 2001 +0000

    winnt-bufio-mods-20010328
    
    
    fix warnings in fileutil.c

commit 30632102cd8b3780281ac58217db4625c5e0c134
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Wed Mar 28 17:50:19 2001 +0000

    linux-s390-page-offset-fix-20010328
    
    
    use PAGE_OFFSET for s390

commit f9a817bcdf593e4a5fbb54ac2f62c448b7cb1631
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Mar 28 07:51:25 2001 +0000

    ubik-clone-support-20010212
    
    ubik library support for readonly clones

commit 42ec4cb1a516f37f075b4286fbcdb4b38064c6a2
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Wed Mar 28 00:01:45 2001 +0000

    first-cut-autoconf-support-20010327
    
    
    Makefile.am and configure.in first cuts. not yet useful
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    
    oops; this belongs on the branch created for autoconf development

commit c57654e7dc2eb785fbcca30783b364ae2cfb45a1
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 27 23:22:05 2001 +0000

    darwin-cacheops-initialization-check-20010327
    
    
    make sure nothing happens before cacheops init

commit 7b64d0d2f9e1a0f4074159ed663683517b3a9235
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 27 23:18:09 2001 +0000

    darwin port was unhappy because of this

commit 92914a52655521fcee9ef8b5c52a95f4a6f64103
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 23:10:13 2001 +0000

    remove-libadmin-real-dependancies-20010327

commit 14e482ad26912a089ff0c365335081f2071f1299
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 23:02:13 2001 +0000

    death-to-permit-xprt-h-20010327
    
    
    permit_xprt.h, we hardly knew ye

commit 09cfd4a43ede7a050d905edf0610813156cbd0d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 22:31:02 2001 +0000

    begone-with-xprt-CoerceLevel-20010327
    
    
    coersion is a crime. last step in the death of permit_xprt.h

commit 4f17e9ed3d19c2b0feab96ac01a2e77b7be2be68
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 22:28:17 2001 +0000

    begone-with-xprt-cryptok-20010327
    
    
    de-cripple rxkad-crypt for all cases

commit 8aa4bf9b54a8dbd78dcaa1296dd13902f00d554e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 22:18:26 2001 +0000

    begone-with-AFS-HIDE-20010327
    
    
    start of the death of permit_xprt.h

commit b93a385178396915b3a2f70d6f629c9d0270ad39
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 27 21:33:17 2001 +0000

    allow-building-subset-of-afs-20010327
    
    
    allow overriding finale with e.g. blibafs to build a subset of afs

commit 44fa060ece6b0c5c584402a54ff5706feaf4ceb7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 21:05:20 2001 +0000

    winnt-lacks-snprintf-so-build-ours-20010327
    
    
    apparently windows lacks snprintf

commit c3244fb9d400db5036c39c033d2ab3ad577447e0
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 27 20:37:56 2001 +0000

    dont-install-uklibs-unless-linktest-works-20010327
    
    
    follow the intent of this target

commit 72e06ec1ca2286e998b87c866eaf1ea6860ba9d6
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Mar 27 20:33:52 2001 +0000

    dont-build-clients-for-hpux11-20010327
    
    
    build tools and servers but no kernel support for hpux since it doesn't work
    currently

commit 127d4d2a6bf1ca73620f10a04d08ddf2a2de6dbc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 20:29:04 2001 +0000

    install-util-archive-also-as-libafsutil-20010327
    
    It's about time you can link to this with -lsomething

commit ba4157f839bcb961d83726f44a20f3aa8c07d8d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 09:57:15 2001 +0000

    update-libuafs-install-procedure-20010327
    
    to deal with tweaks make so pinstall can be left uninstalled on darwin port

commit 57ee8d64e4142f4cac1c848ae451adc90a51eae9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 09:49:41 2001 +0000

    add-pts-global-reader-support-20010327
    
    
    in the same way members of system:administrators have all pts powers,
    members of system:ptsviewers have all pts read powers by virtue of
    said membership

commit e31f1895da5cc54500484329f3c447f0e2fd705b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 09:36:15 2001 +0000

    rudimentary-support-in-kpasswd-and-kas-for-mit-v4-string-to-keyed-passwords-20010327
    
    klog supports such passwords but without this such users can't run kas or kpasswd

commit 3c6509369da4e2ca08096d6ffcdda8beb1b56dd1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 27 09:16:43 2001 +0000

    use-afs-int64-types-in-util-package-20010327
    
    we already defined "portable" types for this; use them

commit 150cbf3db8c4c2c5bd95297f60da0eac84ba14c4
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Mar 27 08:58:49 2001 +0000

    make-namei-fileserver-compile-on-solaris8-20010327
    
    
    use uint64_t in preference to u_int64_t as solaris has only the latter and
    linux appears to have both. also, use lockf where flock was used in the
    solaris case

commit a41175cfbbf4d06ccfe14ae54bef8b7464ecd80b
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Tue Mar 27 08:43:13 2001 +0000

    initial-darwin-support-20010327
    
    setup for darwin port
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    changes for darwin port
    
    ====================
    
    added files for the darwin port
    
    ====================
    changes for darwin port

commit 9602e1a3fde7b04d398245b10adcf4f316f1c43b
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Mar 27 01:53:27 2001 +0000

    rxdebug-changes-for-peers-and-to-show-rtt-values-20010326
    
    "   rxdebug: allow the use of -onlyhost and -onlyport options with
        -peers, and also list the rtt, rttdev and retransmit timeout
        values."

commit 6cd845bdb528938c2b6a559c2f0d577436676f94
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Tue Mar 27 01:51:35 2001 +0000

    fix-rx-rtt-computation-when-delay-is-involved-20010326
    
    "   rx: attempt to fix incorrect rtt computation, possibly winning
        on performance for links with some packet loss.
    
        Currently, the rtt is computed as the time from the transmission
        of a packet until the receipt of the corresponding ack packet.
        But this includes a potential delay (rx_{soft,hard,last}AckDelay)
        on the client which results in an abnormally high rtt, and even
        more erroneous rtt_dev and retransmit timeout values.
    
        The proposed solution is to ignore RX_ACK_DELAY type ack packets
        for the purposes of rtt computations, and introduce another ack
        packet type for RX_ACK_DELAY-type acks which are sent immediately
        by the client.
    
        This should of course be backwards-compatible with existing clients.
    "

commit bccc6a809dc15479e5831ab8ad111029fcdba258
Author: Michael Stroucken <stroucki@master.debian.org>
Date:   Tue Mar 27 00:53:26 2001 +0000

    first-pass-at-alpha-linux-support-20010312
    
    Changes for Alpha to previous 64 bit changes for sparc (sparc64 isn't
    necessarily analogous to alpha or any other 64 bit linux platform)
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    use mkstemp
    
    ====================
    Include necessary file for alpha config
    
    ====================
    Deal with 64 bit time_t
    
    ====================
    Don't do increments in a way that can be miscompiled
    
    ====================
    configure for alpha linux
    
    ====================
    deal with time and initialize a variable
    
    ====================
    don't use ViceIoctl32 for alpha linux
    
    ====================
    deal with compiling kdump for alpha linux
    
    ====================
    mods in callback.c analogous to dux port; mods in viced to deal with
    thread creation function return convention
    
    ====================
    config for linux alpha
    
    ====================
    ids for alpha linux consistent with new-style sysname grouping
    
    ====================
    makefile and config files for new-style sysnames
    
    ====================
    MakefileProto changes for alpha linux with new-style sysnames. A change
    in config/mc.c will be needed for this to configure correctly, and it will
    be added soon
    
    ====================
    note alpha port and the state it's in to hopefully avoid questions

commit 0d466f2f1022579171376983923630fcd44c450b
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Mon Mar 26 20:26:17 2001 +0000

    add-server-syslog-logging-capabilities-20010326
    
    Add support for syslogging server log messages
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Add syslogging capability to ptserver
    
    ====================
    add syslog capability to fileserver
    
    ====================
    Add syslog capability to the volserver
    
    ====================
    Add syslog capability to the vlserver
    
    ====================
    fix my own error when hand-applying nathan's patch
    
    ====================
    remove unused function

commit 2165ef3af8d503557c174ca004f242e8aa418cdf
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Mar 26 17:51:34 2001 +0000

    make-fileserver-deal-correctly-with-client-which-changed-addresses-but-was-offline-when-a-callback-to-it-was-revoked-20010326
    
    "First, some background: The AFS Fileserver tries really hard to keep
    track of all the "interfaces" of a client.  Generally this is for a
    multi-homed client, so that the server realizes that you are the same
    client when you come from multiple addresses.  However, this also
    winds up applying to a mobile host whose IP address changes over time.
    
    When the Fileserver sees a "new" address, it asks the client for its
    Uuid and, if that Uuid already exists, it adds this new address to the
    list of interfaces for the existing host.  However, it keeps a
    callback connection open to the original address.
    
    Here's the problem: Assume the client has callbacks registered with
    the server and then disappears from the network.  While the client is
    off the net, someone else makes a change that causes that callback to
    be broken.  The fileserver can't reach the client, so the break gets
    added to the delayed callback list.  The logic is such that no client
    requests will be processed by a host while there are outstanding
    delayed callbacks to that client.
    
    
    Now, if the client comes back on the same IP Address, everything works
    fine.  The fileserver uses the cached callback connection and the
    callbacks are cleared successfully.  However, if the client returns to
    the network under a different address, this new address is added to
    the existing host structure and then the delayed callbacks are
    attempted.  Unfortunately it is using the (invalid) cached connection
    to the old IP Address, so the delayed break fails.  Therefore, this
    client is locked out of the fileserver until:
    
            1) the fileserver reboots,
            2) the client returns to the original IP Address, or
            3) All the callbacks timeout on their own.
    
    This patch will fix this problem.  When the client makes a request and
    the fileserver tries to break the delayed callbacks, if the breaking
    fails then the fileserver will attempt to find a 'working' interface
    by probing all the host interfaces for one that responds with the
    correct Uuid.  If that succeeds then it resets the cached callback
    connection and then breaks the delayed callbacks, thereby regaining
    the connection to the client and proceeding with the proper cleanup
    before the original request is completed."

commit 146fca9060d18cdfc8c5a5bba54770b96484e5cf
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 26 17:26:29 2001 +0000

    build-vfsck-for-solaris8-20010326
    
    Before it was being explicitly skipped; Build it

commit 9feea404fd44455bc1645aac87e7a4bb8306cca3
Author: Harald Barth <haba@pdc.kth.se>
Date:   Mon Mar 26 17:18:42 2001 +0000

    null-terminate-cell-when-copying-from-lrealm-20010326
    
    Avoid condition where we could read past the end of lrealm (unlikely
    to occur in practice and not remotely exploitable; cell and lrealm are
    both MAXKTCREALMLEN and lrealm is configured locally and not read from the
    network)

commit 54b7292a4499106f956a4449c620466f64303498
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Mar 16 03:35:07 2001 +0000

    do-bounds-checking-in-psetvolumestatus-20010315
    
    
    Previously it was possible to overflow the variables used to construct a
    SetVolumeStatus call

commit 4b85432743e002eae3e636febadb326c2081732d
Author: Erik J. Burckart <ejburcka@us.ibm.com>
Date:   Fri Mar 16 03:27:05 2001 +0000

    fix-for-cache-consistency-on-linux-24-smp-systems-20010315
    
    "Here are the symptoms.  I have 2 OpenAFS  Linux 2.4 machines, one SMP and
    one not.
    --With both of them I access a series of directories and files within
    (/afs/w/x/y/z/).
    --I then move to the root directory.
    --From a third machine, I remove the directories x, y, and z. Then re-add
    them (same names) with some other files.
    --From the SMP box, I do an ls in /afs/w and see x.  But x is inaccessible.
    --From the UP box I can see and access x.
    "
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Missed earlier: not part of the IBM delta.
    
    ====================
    Part of the alpha patch slipped into the delta; Revert to previous
    revision

commit 70cbd6f689988237075d01258d9469daa16de060
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Thu Mar 15 18:55:20 2001 +0000

    dux-advfs-client-support-20010315
    
    
    necessary changes to allow a cache in an advfs

commit 5994633186da9856b21592b8b3c8f4fd27fccbef
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Mar 15 18:47:50 2001 +0000

    bosserver-syslog-option-including-selectable-facility-20010315
    
    "Simple patch to add "-syslog" option to bosserver. Causes it to direct all
    logging activity to syslogd instead of to logs/BosLog"
    
    currently unimplemented for NT
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Don't use a static outside its scope

commit 27d7f4fd60d5506865ac55fd7d6e809ef56c2808
Author: Michael Stroucken <stroucki@master.debian.org>
Date:   Thu Mar 15 18:15:46 2001 +0000

    initial-alpha-linux-support-20010315
    
    
    top-level makefile mods for 64 bit system

commit a1fac47017ee0448ed7d87d2005f6fd54ae32de7
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Thu Mar 15 17:50:34 2001 +0000

    pts-args-checking-when-calling-com-err-20010314
    
    "This prevents pts from crashing like this:
    
      pepsi-one~> pts createg a:b -id -1234
      /bin/athena/pts: Permission denied ; unable to create group a:b with id -1234
    owned by 'Segmentation fault
    "

commit 4d3b445cc3e20feeb65c2915a80640a980b97608
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Thu Mar 15 17:47:45 2001 +0000

    fix-locking-on-linux-sparc64-20010312
    
    " I have found problem with file locking and 64bit linux (tested on
    ultrasparc). When issued fcntl(fd, f_SETLK, ..) with l_start = 0 and l_len
    = 0, it sets l_len to LONG_MAX, so it is needed to test this value"

commit 3fd459ac396cef49a89be43176b218b573ae8f93
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Thu Mar 15 17:43:11 2001 +0000

    simplification-of-code-in-cache-manager-to-make-dux-advfs-support-simpler-20010315
    
    with advfs you can't VTOI inodes so provide a wrapper function for dux to ease
    this problem

commit 00c69d3f076c2c329b3a6e223bd95b97c6497433
Author: Eric Lorenzo <elorenzo@arsdigita.com>
Date:   Tue Mar 6 17:57:00 2001 +0000

    make-comerr-tolerate-different-eol-convention-20010306

commit b90dd040090f014cfce61de8481c750ef02cce63
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 6 16:02:00 2001 +0000

    make-afsd-be-less-annoying-20010306

commit 17abe56f755710b0a76714fefcfe6f9b2f0d06c3
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Mar 6 06:16:17 2001 +0000

    xlc-r-on-path-not-usr-bin-20010306
    
    By default it ends up in /usr/vac/bin

commit 858edd205652cf6f93a02bbcefafeebc6f6e2048
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 5 22:57:57 2001 +0000

    use-dollar-cc-not-cc-for-aix-exporter-20010305
    
    necessary to build aix afs with gcc

commit 5a9eb81c9431438b6d52f20539e331a1a46a8077
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 5 22:47:54 2001 +0000

    make-snprintf-compile-on-aix-433-20010305
    
    AF_INET is in sys/socket.h on AIX 4.3.3

commit 5da931163b4b3bd0e22c8e4c6102bf77d76c27fc
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 5 19:13:24 2001 +0000

    make-bosserver-be-less-annoying-20010305

commit 3531babbd25ac18deacd7bf1cc170327411c2a4a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 5 18:55:13 2001 +0000

    restore-rxdebug-to-the-living-20010305
    
    Give us back rxdebug

commit f310da48b4ccc2e63379d194364057a5ed1fedec
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Mar 5 16:39:05 2001 +0000

    support-namei-fileserver-on-solaris8-20010305
    
    So the namei fileserver can be used on Solaris 8

commit c12594fb08fc9f169a3d83cc1dac3a0a8ddcee85
Author: Adam Thornton <adam@sinenomine.net>
Date:   Mon Mar 5 16:34:32 2001 +0000

    afs-linux-s390-updates-20010305
    
    Updates for Linux s/390 AFS port

commit 5837ab64635d34521a39d37d08fab69a7d629a2c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Mar 5 16:26:04 2001 +0000

    return-truncated-reason-from-krb-udp-interface-20010305
    
    The remainder of the patch the snprintf support was intended to be used for

commit 92dcbd617bd978259521755ddf5c847ccc5388b8
Author: Ulrich Hahn <zrsha01@zdv.uni-tuebingen.de>
Date:   Mon Mar 5 16:22:53 2001 +0000

    pam-afs-password-changing-support-20010305
    
    support for changing passwords when user has kaserver password only

commit c8bfbcc55d83ff0156fcb02e07baf98fd17fcea0
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Mar 5 15:37:46 2001 +0000

    allow-shadowed-src-trees-20010305
    
    So "make links" will work if src was a symlink.

commit 4470f1d03fab800fd2b2acd14b6229aaa42525ac
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Mar 5 15:34:14 2001 +0000

    ntp-for-solaris-58-20010305
    
    Let ntp build on Solaris 8

commit bc5204d4e79198501608be68434106c7be119d67
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Mon Mar 5 15:12:42 2001 +0000

    support-dux-51-20010305
    
    Changes needed for OpenAFS Tru64 5.1 support

commit 3f43961f538884b76092012627172dcb1afffa7d
Author: Michael Welsh Duggan <md5i@cs.cmu.edu>
Date:   Wed Feb 28 19:22:44 2001 +0000

    linux-libafs-with-modversions-20010228
    
    Use symbol versioning when compiling against a kernel with symbol versioning
    enabled.

commit f2fbb398a439423e210d41f46a9433838b0a8fce
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Feb 24 15:35:05 2001 +0000

    afs-lookup-check-evalmountpoint-return-20010221
    
    Make check the return code from EvalMountPoint()
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    maintain old behavior consistent with checking eval return

commit fd4fe77ecd3c4118decf370194e2db3a72270717
Author: Mattias Amnefelt <mattiasa@e.kth.se>
Date:   Thu Feb 22 03:06:04 2001 +0000

    backup-addvolentry-fix-20010221

commit 98e79522fb704a3cb1ffc58dc88575104b82b283
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 22 00:34:45 2001 +0000

    bos-mrafs-support-20010221
    
    Make it work as intended

commit 73634549ab94017c137442dcceedd4f121433a8d
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Feb 13 16:53:48 2001 +0000

    update-README-20010213
    
    Irix compile completes

commit 4dca94ffe66092da8401652dba651e0ff8ac5f1c
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 13 03:54:04 2001 +0000

    snprintf-for-aix-not-irix-20010212
    
    Irix 6.5 has snprintf

commit 61eb7d88387b3870ae2a8dd924b1ced4516b7846
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Tue Feb 13 03:46:15 2001 +0000

    provide-snprintf-for-irix-dux-20010212
    
    So we can use snprintf, provide it for platforms that don't have it

commit 54b2c2307a538da521808541cfaa100609f362df
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Feb 13 00:28:22 2001 +0000

    bos-mrafs-support-20010212
    
    Necessary additions to bos for MR-AFS support

commit 2156a32e7d503374f3f7e5f5511805474dde39c1
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Tue Feb 13 00:15:25 2001 +0000

    revert-xdr-int64-in-favor-of-common-makefile-20010212
    
    the new version of the patch put these in Makefile.common

commit d26273e0f18ecff16319d9c708bc184c0e6d9db5
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 23:56:16 2001 +0000

    include-xdr-int64-in-libafs-20010212
    
    for new pioctl calls for mrafs
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    for new pioctl calls for mrafs; convert spaces to tab

commit f896be7dd587eb82e0d4a61c8048e17f3e34b7f2
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 23:50:21 2001 +0000

    dirpath-mrafs-additions-20010212
    
    Dirpath additions for MR-AFS files
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Dirpath additions for MR-AFS files; remove extra newline

commit c4a127d0578e521b97131c5dedf9da58f71b0242
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 21:57:57 2001 +0000

    ubik-clone-support-20010212
    
    Changes needed to support ubik (non-voting) clones.
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Needed kaserver support for ubik clones
    
    ====================
    Needed support for ubik clones for the ptserver
    
    ====================
    Support for ubik clones in vlserver
    
    ====================
    auth layer support for ubik readonly clones
    
    ====================
    ubik library support for readonly clones

commit 8881f8778cbd7325e294b32a18e3d6493b4a1b42
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 21:09:17 2001 +0000

    rework-ktc-to-allow-dummy-libkrb-20010212
    
    export some previously internal routines, and rename to not conflict
    with libkrb;
    with NO_AFS_CLIENT you can use the ktc routines also for architectures
    which not yet have kernel support for AFS tokens (Cray T3E, NEC SX5).

commit d80d0eeaabbd139471ee4c9520eb7c77973870bc
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 20:30:50 2001 +0000

    bos-mrafs-support-20010212
    
    Necessary additions to bos for MR-AFS support
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    FS bnode changes for MR-AFS
    
    ====================
    allow hex numbers for residencies, used by bos

commit 86f1dc2117e6b6c8abb55ccbc8621743969b8996
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 20:29:20 2001 +0000

    mrafs-server-log-handling-20010212
    
    Rotate old logs by date for MR-AFS; Could be adapted to rest of AFS

commit c6e03e4a4551d6c6c2d287bd99c4d6cc90fa97f4
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 20:28:27 2001 +0000

    mrafs-util-update-20010212
    
    Error additions for MR-AFS

commit f415363f45aeedaff5604348d6e0d31eb5651221
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:44:08 2001 +0000

    export-threadnames-totviced-20010212

commit 9f57c28605f948fa0e0a924cf2ccd6d382a177c7
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:33:40 2001 +0000

    rx-writevinit-for-mrafs-20010212

commit 261716adb158ca8cff92791922d446332fe2a1e2
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:30:33 2001 +0000

commit 20d654d59d28b7bd23ce9149089ce479c324b432
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:25:53 2001 +0000

    nicer-dummy-rxi-startserverprocs-20010212

commit 44485fed5e427e85e5b0c28070f79a2299963e5a
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:24:48 2001 +0000

    allow-rx-shutdown-for-userlevel-20010212
    
    Allow rx shutdown (state reset) for userlevel rx code, for MR-AFS salvager

commit 8f157e9ea42963cfe4af100efc5de9a7907b6c5d
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 19:06:11 2001 +0000

    rx-nt-xdr-int64-support-20010212
    
    compile xdr_int64 for nt

commit 9c82b2024e2ebaf5dfb0a7f1ffe9f4c201763f4e
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:35:16 2001 +0000

    thread-identification-routines-20010212
    
    Needed to identify thread in serverlog for mrafs

commit ae77f046c5a5f737a3540ea0699472db4fffc018
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:28:39 2001 +0000

    libafsrpc-xdr-int64-support-20010212
    
    int64 support for libafsrpc for mrafs

commit efe1fef24c7775b3aac1ab5dbe4b37729e4dce17
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:22:46 2001 +0000

    export-kauth-GetTickets-for-dummy-libkrb-20010212
    
    For dummy libkrb  which is a wrapper around libkauth

commit d85f42ad0ad12ca9e4e991fe041ad5f26afc4170
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:19:20 2001 +0000

    ftpd-placate-aix-20010212
    
    Required to placate AIX compiler
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================

commit 218377fec283c17db5bebb3464557e4bb69d7e02
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Feb 12 17:17:09 2001 +0000

    clean-up-64bit-mod-spacing-20010212
    
    Missed earlier; needed to be compiler-friendly on some platforms

commit e9cf43f198a2ec9cdcf9464b37ccc13a1f9f27c4
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:15:37 2001 +0000

    update-rs-aix42-afs-syscall-20010212
    
    AFS_SYSCALL again 31 per Hartmut

commit 36d02757fd6863a845163daf0d730bdcc0a28343
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 17:13:29 2001 +0000

    cmd-suite-option-for-hiding-admin-commands-20010212
    
    Hide help for admin commands unless asked for

commit 3a0880476e7e52ddff4f4e7118a854d35bd28ede
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 16:56:52 2001 +0000

    bosserver-rx-initialization-failed-warning-20010212
    
    Provide notice if rx initialization fails

commit 7dd378687b9f639a3e808c2e3179e78bd85a48a3
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 16:25:17 2001 +0000

    bozo-save-old-cores-by-date-option-20010212
    
    compile-time option to save old cores by date instead of rotating

commit 714058f3875b569523add7aca7e904198c9390ab
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 16:21:00 2001 +0000

    mrafs-port-definitions-20010212
    
    Ports used by additional MRAFS services
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    mrafs port definitions

commit caf9ae4077b4aa4caea7ae82bde2a94ee5d72fb0
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 16:16:44 2001 +0000

    mrafs-audit-types-20010212
    
    Audit types for MR-AFS

commit defda2dc962c9773ad3aae0f022dd41d02e79f76
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Mon Feb 12 16:12:25 2001 +0000

    svc-create-servicetype-to-afsservicetype-20010212
    
    missed in previous passes

commit f918914d50a051446390e70eda732768e1151cff
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Sun Feb 11 15:05:08 2001 +0000

    include-snprintf-in-util-20010211
    
    For platforms which need snprintf, this should be suitable for
    AC_REPLACE_FUNCS when we get that far

commit ba461fc17059946155f2413e3f7accc6964d9921
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Feb 11 02:57:17 2001 +0000

    use-snprintf-for-krb-udp-error-packets-20010210
    
    Avoid potential for overrunning buffer

commit acf6dfa37d7c9837e8d077f25449429fd6835925
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Sat Feb 10 23:27:38 2001 +0000

    dux50-osi-inode-fix-20010210
    
    incorrect in first cut

commit 8315656f318769611f932c57f1fd467f68bb9020
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 10 21:49:43 2001 +0000

    fix-64bit-stds-h-patch-20010210
    
    dux and irix compilers don't like # in other than first column

commit f8e20a32007e7d631c9428c3233826e109d3efcb
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Feb 10 21:47:47 2001 +0000

    update-systypes-in-README-20010210
    
    Update list of systems expected to work

commit 0b70e190560c2bfb004273e442f1113a815ebdd8
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Feb 10 21:26:14 2001 +0000

    mrafs-client-extensions-including-afs-int64-20010210
    
    "       Extensions used by MR-AFS in the client. I have added only two
            pioctl-calls which are used by the "fs"-command for a large number
            of MR-AFS specific subcommands. With this modification also the
            data type afs_int64 is introduced because MR-AFS supports large files.
            afs_int64 is either "long long" or a structure consisting of two
            32-bit numbers. We are already running on rs_aix42 a fully large-file
            capable AFS-client, but these changes are still in a beta test and
            not yet added here."

commit 4fb818dbf6f35d91a4828d6f672798d342349358
Author: Carsten Jacobi <jacobi@de.ibm.com>
Date:   Sat Feb 10 21:05:33 2001 +0000

    pam-afs-trust-root-login-20010210
    
    add trust_root option which basically provides a bypass mechanism for root

commit d089415117684aea0f975e036615433b6c94f1b0
Author: Johan Danielsson <joda@pdc.kth.se>
Date:   Sat Feb 10 20:57:28 2001 +0000

    tru64-50-initial-support-20010210
    
    makes client work under 5.0A, untested with 5.0 or 5.1

commit 83074e0491fb5a215ffdb223280a3c3428edd29e
Author: James Peterson <jimpeter@us.ibm.com>
Date:   Sat Feb 10 20:46:15 2001 +0000

    winnt-directory-scan-memory-leak-20010210
    
    "Problem:
    During a directory scan W2K does not send the FindClose the way NT does.
    When smb_ReceiveTran2SearchDir() processes FindFirst or FindNext, the
    termination Flags is never set either (close search if end of search).
    Since these operations don't occur smb_DeleteDirSearch() is never called;
    therefore the dsp (smb_dirSearch_t) is never freed.
    
    This problem was reproducible while trying to scan a directory (e.g. dir
    *.c/s) with symbolic links.
    
    When smb_ReceiveTran2SearchDir() processes FindFirst or FindNext the last
    SMB call in a session can be indicated by checking for no more files
    (filesnames==0).
    
    Running a directory scan (DOS window) and file cache size of 5 MB:
       With the memory leak patch, the program grew upto the limit of +5.3MB.
       Without the patch, the program will grew +27MB before the operation was
       finished, then became unstable."

commit 27d66d2928ffd2f1bbe533d7437ac533394f4113
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Thu Feb 8 02:58:59 2001 +0000

    make-icreate-exist-always-for-irix65-20010207
    
    Since Afs_init installs a syscall, make sure this exists

commit cd912ea3691c20436a92e264eb519eb93959a4e4
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Thu Feb 8 02:51:20 2001 +0000

    remove-libefs-Makefile-reference-20010207

commit 2eb056dfd39a41194bb7ffb80e0a623be4a27808
Author: ssen@mit.edu <ssen@mit.edu>
Date:   Wed Feb 7 16:28:02 2001 +0000

    minor-README-reorg-20010207

commit b36c44618e1056c7a09523260401299430f83d51
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Wed Feb 7 15:21:17 2001 +0000

    add-ssi-master-file-20010207
    
    First guess at this file based on master(4); I haven't
    tried this yet but since it seems to be for the build-into-
    kernel module I assume we don't need:
    d   dynamically loadable kernel module
    R   auto-registrable dynamically loadable kernel module
    N   don't allow auto-unload of dynamically loadable kernel module
    
    and I don't know if we'd need or be able to use R, either.
    
    Afs_ to match what previous systems seem to be doing; For
    symmetry it looks like it should be e.g. afs_

commit 3dd6590174b9c827e151dc64a9c2fcdcb5403d29
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Feb 7 15:04:53 2001 +0000

    more-irix65-fixes-for-no-libefs-20010207
    
    Some minor stuff missed on the first pass.

commit 4d6f5e1b83ef46e4df8e0523dc6b996518bc0996
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Feb 7 14:51:08 2001 +0000

    fix-missattributed-loff-t-ifdef-20010207
    
    More correct way to decide when to use loff_t unstead of off_t

commit ab4ec4ad33ee4501d7d3bde3cfb9c0ea62379b28
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Feb 1 03:11:42 2001 +0000

    fix-solaris-afs-readdir-move-20010131
    
    Code which had been previously disabled caused problems
    when enabled, hence removed.

commit 1ce1e6ed4900575fc341ace6c48e69d8fb98130b
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Wed Jan 31 21:27:44 2001 +0000

    sgi_65-compilation-patches-20010131
    
    Remove references to missing EFS support library so sgi_65 support compiles

commit 9081ff711bb5818cfa4e704f04e6a9e004f03eb9
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Jan 31 20:07:33 2001 +0000

    fix-solaris7-afsd-rc-copyright-message-20010131
    
    wrong type of comment

commit 5293aa35617a6ad35980ce16fdf492ea960cc18a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Jan 31 02:28:11 2001 +0000

    linux-iput-and-glock-changes-20010130
    
    ". afs_dentry_iput is essentially osi_iput, so it now calls osi_iput
      it wasnt locking before checking i_count (and osi_iput didnt either)
      osi_iput now AFS_GLOCK's.  to do this afs_delete_inode was split
      into afs_delete_inode (which does the locking) and osi_clear_inode
      before osi_iput called afs_delete_inode, which since it wanted
      to hold AFS_GLOCK, osi_iput couldnt call AFS_GLOCK.  this seems
      to have cured the problem i saw (running multiple 'ls -R &' would
      cause a bad iput w/o fail) and i hope it fixes it otherwise.
      its possible vc->lock should be held inside osi_clear_inode.
    
    . removed osi_notify_change (i added during 2.4.0 development) and
      now i just call inode_change_ok/inode_setattr.  the 2.4.0
      notify_change checks the dentry parent (which doenst exist for
      the cache inodes)
    
    . moved the locks around inside writepage, writepage_sync, commit_write.
      the guy next door complained about pauses while running afs.  i think
      this addresses those issues.  apparently you only need to lock_kernel()
      during commit_write().  in order to get lock_kernel() inside AFS_GLOCK()
      the AFS_GLOCK() was moved out of writepage_sync and into writepage
      and commit_write"

commit 1b428f375e5366d8ef4179a1a47cd9aad98e2833
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 29 17:47:38 2001 +0000

    support-reiserfs-20010129
    
    Minor patch needed to work correctly on suse, where reiserfs is included by default.

commit 3734711b9ef7ba3be0885caaadbc33b130f3bb94
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 29 17:40:14 2001 +0000

    allow-new-bosconfig-file-and-rename-into-place-20010129
    
    This patch causes the bosserver to use a "BosConfig.new" file if one is
    found on startup, which will allow admins to prepare a new BosConfig
    file to be picked up at rebozo time. (This is not possible now because
    the bosserver likes overwriting the BosConfig file while it's running)

commit ca7935d1c6bfa76ff99e1999c34b0329360aaa2e
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Mon Jan 29 17:38:30 2001 +0000

    implement-bos-restricted-mode-20010129
    
    This patch enables the bosserver to be placed in a restricted mode in
    which AFS superusers are only granted limited access to the server host.
    The following functionality is disabled when restricted mode is in use:
    
    bos exec
    bos getlog (except for files with no '/'s in their name)*
    bos create *
    bos delete
    bos install
    bos uninstall
    
    * specific exceptions are made for functionality that "bos salvage" uses:
    
    a cron bnode who's name is "salvage-tmp", time is now, and command begins with
    "/usr/afs/bin/salvager" may be created. This bnode deletes itself when
    complete, so no special "delete" support is needed. This functionality
    may be removed in the future if a "Salvage" RPC is implimented.
    
    The file with the exact path /usr/afs/logs/SalvageLog may be fetched,
    since that is how bos salvage [...] -showlog is implimented.
    
    Restricted mode is enabled using a new bos command (bos setrestricted)
    or bossever command line switch (bosserver -restricted). Restricted mode
    can be disabled by a) sending the bosserver process a SIGFPE (which will
    then allow restricted operations until the next restart or setrestricted
    command) or b) editing /usr/afs/local/BosConfig (or BosConfig.new), and
    restarting the bosserver.

commit 000c69679226ded5843cfcbab6cb477eecfd8498
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Jan 20 23:18:01 2001 +0000

    dummy-linux-vers-to-placate-make-on-non-linux-20010119
    
    The empty variable upsets make, so we provide a dummy value which gets
    overriden when it matters

commit b05deccb9f57df04cc933a94dec2be96dcbadb87
Author: Dave Koziol <dkoziol@dragonflymobile.com>
Date:   Fri Jan 19 23:44:04 2001 +0000

    drive-letter-tabs-for-submounts-containing-string-afs-20010119
    
    "The following patch is to addresses problems with the Drive Letters tabs in
    the AFS Client and AFS Control Panel when using submounts which start with
    the letters afs.  We had a test cell up and running with a name that started
    with afs01 and this caused the afs client to misbehave."

commit d88ed238288fc1914f5bf8968bb68b2d97ef9eea
Author: Michael Pronath <michael.pronath@gmx.de>
Date:   Fri Jan 19 22:22:35 2001 +0000

    linux24-shutdown-listener-cleanly-20010119
    
    Don't garbage-collection listener pid too early.

commit 7f6f446ad0f007d85b25280947301c36fa0e862f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 19 22:11:24 2001 +0000

    linux-install-kdump-with-make-rules-that-work-20010119
    
    gmake doesn't like $?-$$lv; It's easier to just do it this way.

commit 988d4cf0f8b0edfac0256b30a940c03e9740bf16
Author: Derek Atkins <warlord@mit.edu>
Date:   Fri Jan 19 21:51:05 2001 +0000

    linux-build-kdump-for-each-kernel-20010119
    
    Make a kdump for each kernel we're building for

commit 340194f29b7c9aae32edfa4f6cd519305715b03f
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Fri Jan 19 10:22:50 2001 +0000

    add-missing-solaris8-call-20010119
    
    The Solaris 8 analog of vfs_devsearch is vfs_dev2vfsp

commit 57ee0438440040560c5b3517cd95b3d85a984b96
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 19 06:44:55 2001 +0000

    linux-kdump-build-against-kernel-headers-20010119
    
    This is a kernel-aware program, it really does want to build against the
    kernel headers instead of the versions libc was built against.

commit 9e8ffd556717e4e409883ff786ad5b0de034203d
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 19 06:30:37 2001 +0000

    add-cryptall-pioctl-macros-20010119
    
    Required for cryptall fs command support.

commit 084d1b109f8d1cc526dd3e07ac89ceb1422fbab6
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 19 06:26:34 2001 +0000

    krb-udp-cleanup-20010119
    
    Make krb_udp try kerberos-iv as a fallback (from the original default of
    kerberos4) before going to "kerberos". "kerberos" incidentally is 88 on all
    modern platforms, so lord forbid you want to run this and something which
    can actually answer krb5 requests, if you're using the default services.
    
    Also minor fix for the size of an answer packet.

commit acceff25eb133d218809121fef0e31f38c052f59
Author: Sam Hartman <hartmans@mit.edu>
Date:   Fri Jan 19 05:57:12 2001 +0000

    linux-ppc-minor-cleanup-20010119
    
    Minor fixes to make the PPC port happy.

commit e19270efa90eaa75b7bee74e80ef3ab6579da930
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Jan 19 05:38:42 2001 +0000

    cleanup-pioctl-cryptall-interface-20010119
    
    Finish port of cryptall patch to current AFS codebase

commit 527b64b950a79bdf5f071f6bde6c52b6240cbb05
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Jan 15 20:06:07 2001 +0000

    solaris8-fixes-20010115
    
    Fixes for variable sizes

commit e51aacb61474150303cd0f97c4854af702204eee
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 15 19:44:16 2001 +0000

    add-fs-crypt-commands-20010115
    
    A simple way to get/set encryption support.

commit 4a8f7153d2e60cb997c185de7dd1659a9e5a98c3
Author: Greg Hudson <ghudson@mit.edu>
Date:   Mon Jan 15 19:29:40 2001 +0000

    export-pioctl-cryptall-interface-20010115
    
    Export interface to cryptall

commit 5e534226f308a3c4e301e9bdbe036d38a10ed8d9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Mon Jan 15 19:22:56 2001 +0000

    merge-afs-and-arla-pioctl-space-20010115
    
    The net effect being that since all pioctls will have the same values across
    platforms, so AFS userland binaries can be used on an Arla system and vice-versa

commit 59fe3f3cc4a391a46bd342e76e90ad75bc8676a1
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Fri Jan 12 17:05:15 2001 +0000

    missing-minus-for-solaris-8-20010112

commit 22293eeada64329250864b4f46dfce3ca857f674
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Fri Jan 12 06:31:43 2001 +0000

    honor-solaris-attr-hint-20010112
    
    "The problem that it fixes is as follows: suppose user A's process maps
    something into its address space out of AFS. Now if user B runs "ps",
    or otherwise reads /proc/NNN/status, the kernel code will lock the
    associated entry in /proc and then proceed to find the size of the
    address space for that process; in doing so, it calls getattr(). If B
    does not have tokens to access the file, the fileserver will eventually
    start delaying responses to FetchStatus requests, and the kernel will
    block with /proc locked.
    
    The user-visible effect is that "ps", "w" and so on start blocking
    uninterruptibly for long periods of time."

commit 10892a7bde1c9eb8beac2ecb1d618a67cdea3fdb
Author: Greg Hudson <ghudson@mit.edu>
Date:   Thu Jan 11 06:50:43 2001 +0000

    repair-afs-cryptall-20010111
    
    This makes it possible to have encryption enabled, but does not
    expose an interface to do so. That will follow tomorrow, when
    hopefully OpenAFS and Arla will have synchronized pioctls allowing
    userspace compatibility

commit 4e81c489ee99612fbafa62e8a4a8a07d45fb6ade
Author: Michael Nelson <mikenel@iapetus.com>
Date:   Thu Jan 11 06:41:23 2001 +0000

    winnt-port-cleanup-20010111
    
    Add needed headers, convert from SERVICETYPE to AFSSERVICETYPE

commit 6153f6b654e8353c166d4ab09c2f643a0e6a3d44
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jan 11 06:28:27 2001 +0000

    winnt-eventlog-copyright-fixes-20010111
    
    The perl script used to update copyrights failed to properly handle these
    files

commit 1b0a7f95e9451da9c7d55fa8204fdc1c2949cd34
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Thu Jan 11 06:15:52 2001 +0000

    update-for-linux-240-final-20010111
    
    Update Linux 2.4 support for the 2.4.0 release kernel.

commit c12b66c1bec412d928bbcb62c7eb3b3caad3511c
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jan 11 05:59:34 2001 +0000

    allow-rx-newservice-with-zero-port-after-rx-init-zero-20010111
    
    The intent is to allow services to be set up on random rather than
    fixed ports

commit a727f0417ab4c568eb84b8ddd657299cf6461047
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Thu Jan 11 05:48:31 2001 +0000

    sparc64-linux-missing-header-define-20010111
    
    sparc64 linux uses 32bit userland and so needs the 32bit header

commit c915747a227f7826e9150ac72f77f8606d32bb7b
Author: Jeffrey Hutzelman <jhutz@cmu.edu>
Date:   Thu Jan 11 05:40:06 2001 +0000

    krb-udp-use-transaction-for-special-keys-20010111
    
    use the ubik transaction we got to lookup the kvno otherwise this
    fails for uncached keys, like foreign realm krbtgts

commit 9a7b4da986b0e2d5610fbdff1246353e2ba8d219
Author: Neale Ferguson <Neale.Ferguson@softwareAG-usa.com>
Date:   Sun Dec 24 01:15:06 2000 +0000

    s390-linux-20001223
    
    Port for Linux on the IBM S/390

commit 928c5e686bf508b60820e015c405f7d155ba4d90
Author: Pavel Semerad <semerad@ss1000.ms.mff.cuni.cz>
Date:   Sun Dec 24 00:51:17 2000 +0000

    sparc-linux-20001223
    
    Sparc/Sparc64 linux support

commit 9499904817a43fe9f48eb372d0fa901cba886d8c
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Dec 24 00:19:42 2000 +0000

    solaris26-needs-ccs-libcurses-20001223
    
    use the libcurses capable of fulfilling our needs for symbols in gtx

commit 6103bb18255134ae2ae3a13a8f00cba48ddfa083
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Dec 24 00:11:41 2000 +0000

    make-make-dollar-make-20001223
    
    Make Makefiles be gmake-friendly

commit f2811db37d313c79c1858657463880f4122684a7
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sun Dec 24 00:02:00 2000 +0000

    sgi-65-gnu-cc-ld-harmful-20001220
    
    gcc and Gnu LD cause problems with build on Irix 6.5; Avoid them.

commit 7a6fdfd5122a3e9720718d7c8f120699dc12b75f
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Sat Dec 23 23:59:34 2000 +0000

    ptser-Makefile-missing-slash-20001220
    
    DESTDIR is assumed to have a trailing /, so we don't need another here

commit 43f97ca58c720ccb22264b97775edc93eddb6ad5
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Dec 23 23:52:38 2000 +0000

    fast-start-20001220
    
    FAST_RESTART ifdef'd code omits salvage at restart. -DontSalvage must be
    added to salvager args in the bos configuration
    
    BITMAPS_LATER ifdef'd code lets the fileserver create the bitmaps for
    free vnodes only on demand, so the fileserver may start faster.

commit bfff302520e528effba7247984c5ebd1357b2ccf
Author: Hartmut Reuter <reuter@rzg.mpg.de>
Date:   Sat Dec 23 23:39:34 2000 +0000

    cml-version-string-maker-20001220
    
    CML version string maker for OpenAFS (modified for devel)

commit 016cf269e44f6721fe6307e86d983b0b966ee09a
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Dec 19 18:32:45 2000 +0000

    missing-sol8-Makefile-20001219
    
    Not in initial commit

commit 53986479ee1eba7c91e8d7b859ceccac7bc08ecc
Author: Garry Zacheiss <zacheiss@mit.edu>
Date:   Tue Dec 19 07:45:10 2000 +0000

    ptutil-initial-20001219
    
    Add pt_util for offline pts database manipulation

commit 36f72fa1144e818642d3fc9d65f9e1021b83aaac
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Dec 19 07:34:34 2000 +0000

    solaris-make-cleanup-20001219
    
    Remove redundancy in Solaris Makefile Protos

commit 0de9b367b9dbb5dcb357f6af6cf3bf1086a67466
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Tue Dec 19 07:27:08 2000 +0000

    warning-fixes-20001219
    
    Warning fix missed in last round.

commit a35279d3146688498bfabec9957a5fd47d6246de
Author: Nathan Neulinger <nneul@umr.edu>
Date:   Wed Dec 13 21:36:06 2000 +0000

    warning-fixes-20001213
    
    Various fixes to eliminate warnings

commit 052d68b92d0b057eee922cc537963cf0fcadadb0
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Dec 13 19:33:47 2000 +0000

    linux-ppc-des-20001213
    
    Add missing file for DES

commit be4b55e1554cfd4cf345c46d5020f85a3d094741
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 2 18:17:50 2000 +0000

    add-buildnotes-20001202
    
    notes for building openafs

commit ade7e22286120f5cde1b79afed656acbac0dc73b
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Dec 2 18:06:26 2000 +0000

    README-update-20001202
    
    refer people to openafs.org site for help

commit bd931f3d053a62733e9c269fc7e2c545f8a0962f
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Dec 2 17:52:58 2000 +0000

    check-flushvol-args-20001202
    
    check args for flushvol

commit 8f0ac00554f7b78dd5b71d576a41a2967081910e
Author: Nickolai Zeldovich <kolya@mit.edu>
Date:   Sat Dec 2 17:46:52 2000 +0000

    bulkstat-changes-20001202
    
    change in bulkstatus code

commit f975937b69831376a920dd19c8ca7a4f180c7e4d
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sat Dec 2 17:41:43 2000 +0000

    linux-xfs-support-20001202
    
    support for linux xfs kernels

commit 6fdc2bbdfa4099a649232c7cee4e47cc2c436ec5
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 23:59:27 2000 +0000

    kdump-linux-header-fixes-20001201
    
    Deal with kdump not building on modern glibc linux systems. On RedHat 7,
    we also need kgcc.

commit 92d163d6b0cd130503b91b4aaa9e9262623ce9f9
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 23:26:44 2000 +0000

    linux-needs-larger-lwp-stacksize-20001201
    
    The 48k stack is insufficient and can lead to servers that refuse to start
    or that crash unexpectedly.

commit fd0e5208b7471174d1cb30e80f166d65c866bcb1
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 23:11:06 2000 +0000

    linux-glibc22-has-pthread-attr-setstacksize-20001201
    
    Newer glibc includes this function, and this conflicts with a header

commit 0f9376f2eaedaf24bb8bcf4f834d81e7dff1692e
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 22:52:01 2000 +0000

    redhat-linux-version-h-is-mangled-20001201
    
    the kernel-source rpm on redhat 7.0 provides a modified linux/version.h
    which chokes the linux-version script. attempt to deal.

commit f4281b12792c120df2410dd295314dfbba827c75
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Fri Dec 1 22:36:53 2000 +0000

    build-vfsck-for-solarises-20001201
    
    build vfsck for solaris 2.5, 2.6 and 7
    not known to work correctly in all cases

commit 5a16f075f5471e1f4bc41872f299c390dd46f727
Author: Michael Pronath <Michael.Pronath@ei.tum.de>
Date:   Fri Dec 1 17:30:42 2000 +0000

    linux-module-initialization-allocate-20001201
    
    Loading and unloading a module without starting AFS would oops without this
    because nothing checked for allocation.

commit e17bbb16d9064f9f11feccf76cfb0783cb560a06
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Wed Nov 15 00:38:24 2000 +0000

    solaris8-fixes-20001114
    
    updates to solaris 8

commit 36b6f3aea6c2a81eb0a866f97913b0ed3c84df88
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Tue Nov 14 03:28:15 2000 +0000

    linux24-writepage-20001113
    
    Linux 2.4 kernel writepage support

commit 90077f84f20f1f5fd0d84ff88e89a409816481bb
Author: Derek Atkins <warlord@mit.edu>
Date:   Tue Nov 7 15:51:03 2000 +0000

    copy-permit-export-h-20001107
    
    copy another include file to make a separate kernel module build easier

commit b33a70498eefe52dfce724b1d888ceba7ef099ae
Author: Michael Nelson <mikenel@iapetus.com>
Date:   Tue Nov 7 15:44:17 2000 +0000

    winnt-letter-mappings-20001107
    
    Single user drive letter mapping support

commit 79a00a452a6764e31b953b6ceadd03d5954d2ed0
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 6 18:55:50 2000 +0000

    linux24-config-params-20001106
    
    Add param file for linux24

commit 7e3aaf5d87fb88e42d0cdefb4f298cbdad34e395
Author: Michael Nelson <mikenel@iapetus.com>
Date:   Mon Nov 6 15:48:48 2000 +0000

    winnt-fixes-20001106
    
    WinNT build fixes

commit 38e7c5f727af4ac1905e505c5e8225503ca2e030
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Mon Nov 6 15:30:18 2000 +0000

    linux24-cleanup-20001106
    
    remainder of fixes. temporary test hardware confirms it builds again

commit d5291b6eeea6e46bde68039f828e4be2f8888e94
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Mon Nov 6 15:09:13 2000 +0000

    linux24-missing-endif-20001106
    
    missing endif. these problems won't happen when I have the testing hardware, obviously;-)

commit f139286eb493a4c442dc18513bbb3e98e2dd00da
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Mon Nov 6 15:01:54 2000 +0000

    linux24-missing-ifdef-20001106
    
    Add missing ifdef/endif for linux 24 support code

commit 3e363ca7a6255a57cd5ee07249feb611f55effb6
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Mon Nov 6 04:22:21 2000 +0000

    initial-solaris8-support-20001105
    
    Iniktial Solaris 8 support
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    Initial Solaris 8 support
    
    ====================
    Initial Solaris 8 support

commit 640176d60ff336563596ea299ee6c37b5913fa8a
Author: Derek Atkins <warlord@mit.edu>
Date:   Mon Nov 6 03:36:43 2000 +0000

    copy-rx-header-for-libafs-20001105
    
    Make sure that rx_misc.h is copied to the libafs tree from rx source

commit b860b359d584aa1cf84653d771a347ac3b951bfe
Author: Chas Williams <chas@cmf.nrl.navy.mil>
Date:   Sun Nov 5 20:13:38 2000 +0000

    initial-linux24-support-20001105
    
    preliminary linux 2.4 kernel support
    
    ====================
    This delta was composed from multiple commits as part of the CVS->Git migration.
    The checkin message with each commit was inconsistent.
    The following are the additional commit messages.
    ====================
    missed file

commit 6024581217557c12a4d28f710fc7c2cffe0d1b42
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Sun Nov 5 03:25:14 2000 +0000

    eliminate-libaudit-requirement-20001104
    
    move afsconf_CheckAuth which requires afsconf_SuperUser into userok.c
    where afsconf_SuperUser is, eliminating the need for libaudit when using
    archive libraries (doesn't help with shlibs)

commit 17fdc9038acf9db178cd6d03a15ab0ae909e2954
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Sun Nov 5 02:21:42 2000 +0000

    replace-gets-with-fgets-20001104
    
    replace gets with fgets
    based as patch from nneul@umr.edu

commit 0977f32648d744fc15d63b49c1bd0420e99b4bec
Author: Daria Phoebe Brashear <shadow@andrew.cmu.edu>
Date:   Sun Nov 5 01:50:30 2000 +0000

    replace-getwd-with-getcwd-20001104
    
    getcwd replaces getwd

commit a2daff69ddd3b5ffe3bfb34ba4edc0f8deae48dd
Author: Chaskiel M Grundman <cg2v@andrew.cmu.edu>
Date:   Sun Nov 5 01:16:17 2000 +0000

    prefetch-pioctls-overflow-20001104
    
    1024 was being used of a buffer which wasn't that large.

commit 1f7dd889361544e1b3118aef65c1520f7debff74
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sun Nov 5 00:55:11 2000 +0000

    For people who don't know any better

commit 6a0f3dc94a49eba1e3fa6a4cd2c21bff4984c6af
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 22:20:51 2000 +0000

    For people who don't know any better

commit fb5bcd00fc6f1560d7d02115a0b5beaa3014a0e7
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 10:01:08 2000 +0000

    Standardize License information

commit d87d34e18dbd5bd75faa405d6af703267e4d3e06
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 08:38:12 2000 +0000

    where the per file license text refers to it

commit c829afea5d0c45c805ad34562d31e8a1b6603e7a
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 08:37:38 2000 +0000

    foo

commit aa1ed00e008a0eff601b1cdf9852aa836b322a07
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 08:36:53 2000 +0000

    where the license refers to it

commit ba3d4666cbd19b56bcec1e80aa9bb001e193cc9f
Author: Daria Phoebe Brashear <shadow@dementia.org>
Date:   Sat Nov 4 03:34:07 2000 +0000

    add a license

commit 87c10e8d7f05dbbdf12ee9e8651dcec07e08af3f
Author: IBM <IBM>
Date:   Sat Nov 4 02:13:13 2000 +0000

    Initial IBM OpenAFS 1.0 tree
